Какую роль в работе процессора выполняют алу и уу
Перейти к содержимому

Какую роль в работе процессора выполняют алу и уу

  • автор:

PersCom — Компьютерная ЭнциклопедияКомпьютерная Энциклопедия

Вы здесь: Главная Процессор

Архитектура ЭВМ

  • Базовая организация ЭВМ
  • Процессор
  • Память. Нижний уровень
  • Память. Верхний уровень
  • Ввод-вывод
  • Кодирование символов

Компоненты ПК

  • Устройства вывода информации
  • Процессоры
  • Системные платы
  • BIOS: базовая система ввода-вывода
  • Оперативная память
  • Накопители на жёстких дисках
  • Видеоадаптеры
  • Устройства оптического хранения данных
  • Аудиоустройства

Интерфейсы

Мини блог

  • Операционные системы
  • IT
  • Сетевые технологии

Самое читаемое

  • Арифметико логическое устройство (АЛУ)
  • Страничный механизм в процессорах 386+. Механизм трансляции страниц
  • Организация разделов на диске
  • Диск Picture CD
  • White Book/Super Video CD
  • Прямой доступ к памяти, эмуляция ISA DMA (PC/PCI, DDMA)
  • Карты PCMCIA: интерфейсы PC Card, CardBus
  • Таблица дескрипторов прерываний
  • Разъемы процессоров
  • Интерфейс Slot A

Бесплатный торрент скачать без смс.

Процессор

Процессор

Процессор — аппаратный уровень. Операционные устройства

Подробности Родительская категория: Процессор Категория: Процессор — аппаратный уровень.

Процессор — это ядро и мотор компьютера, обеспечивает как выполнение операций, так и функционирование всех узлов. Обычно простой процессор включает в себя декодер команд, арифметико-логическое устройство (АЛУ), регистры, транслятор адресов операндов и устройство управления. Отдельные элементы связаны внутренней шиной. Связь с внешними устройствами осуществляется через внешнюю шину.

Структура процессора

Все перечисленные элементы могут помещаться в одной микросхеме — микропроцессоре. Они доступны через выводы микросхемы при выполнении команд, загружаемых из ОЗУ. На следующем рисунке показаны выводы типичного микропроцессора. Рассмотрим как работает процессор изнутри, на аппаратном и микропрограммном уровне. Далее будет представлено рассмотрение конкретного процессора i8086.

Типичный процессор

Аппаратный уровень процессора в настоящее время не является ни программно доступным, ни даже наблюдаемым, однако представление о нем помогает пониманию таких вопросов, как скорость выполнения команд, возможность конвейеризации и т.д.

Для того чтобы понять как выполняются команды в процессоре рассмотрим работу операционных устройств. В машине фон Неймана в качестве операционного устройства применяется АЛУ. Учитывая разнообразие выполняемых операций и обрабатываемых данных, можно говорить не об одном устройстве, а о целом комплексе специализированных операционных устройств, каждое из которых выполняет свое подмножество операций (команд). Следует выделить операционные устройства:

  • целочисленной арифметики;
  • логических операций;
  • десятичной арифметики;
  • чисел с плавающей запятой.

Кроме указанных устройств процессоры в зависимости от их назначения могут иметь и другие операционные устройства: управления потреблением, графических операций, упаковки/распаковки изображений и др. В минимальном варианте операционное устройство целочисленной арифметики (АЛУ) должно содержать аппаратуру для реализации лишь основных логических операций, сдвигов, инвертирования, а также сложения чисел в формате с фиксированной запятой. Опираясь на этот набор, можно программным способом обеспечить выполнение остальных арифметических и логических операций как для чисел с фиксированной запятой, так и для других форм представления информации. Следует отметить, что подобный вариант не позволяет добиться высокой скорости вычислений, поэтому по мере расширения технологических возможностей доля аппаратных средств в составе АЛУ постоянно возрастает. Набор элементов, на основе которых строятся структуры различных операционных устройств, называется структурным базисом. Структурный базис операционных устройств включает в себя:

  • регистры, обеспечивающие хранение слов данных;
  • шины, связывающие регистры и предназначенные для передачи слов данных;
  • комбинационные схемы, реализующие вычисления по управляющим сигналам от устройства управления.

Выполнение команды может быть сведено к нескольким (одновременно или последовательно во времени) операциям пересылки из регистра в регистр(на рисунке). Возможно с промежуточным преобразованием пересылаемых двоичных слов на комбинационных логических схемах. В следующей теме подробно рассмотрим регистры.

Регистры операционного устройства

Устройство управления. Микропрограммный автомат

Устройство управления (УУ) ЭВМ реализует функции управления ходом вычислительного процесса, обеспечивая автоматическое выполнение команд программы (см. рисунок). Входной информацией для УУ служат:

  • тактовые импульсы — с каждым импульсом УУ выполняет одну или несколько микроопераций;
  • код операции — поступает из регистра команды и используется, чтобы определить, какие микроопераций должны выполняться;
  • флаги — требуются для оценки состояния процессора, что необходимо для выполнения команд условного перехода;
  • сигналы из системной шины — обслуживание прерывания, прямого доступа в память. В свою очередь УУ, а точнее микропрограммный автомат, формирует следующую выходную информацию:
  1. внутренние сигналы управления — перемещают операнды из регистра в регистр и инициируют работу операционных устройств;
  2. сигналы в системную шину — управляющие сигналы в память или в устройства ввода-вывода.

Модель устройства управления

Как отмечалось, процесс функционирования ЭВМ состоит из последовательности элементарных действий в ее узлах. Такие элементарные действия, выполняемые в течение одного такта сигналовсинхронизации, называются микрооперациями. Совокупность одновременно выполняемых микроопераций образует микрокоманду.

Последовательность микрокоманд, определяющая порядок реализации машинного цикла, составляет микропрограмму. Микропрограммный автомат определяет микропрограмму как последовательность выполнения микроопераций. В общей структуре УУ можно выделить две части: управляющую и адресную. Управляющая часть предназначена для координирования работы операционного блока, адресной части, основной памяти и др. Адресная часть обеспечивает формирование адресов команд и адресов операндов в основной памяти. Состав управляющей части: регистр команды, микропрограммный автомат, узел прерываний и приоритетов. Микропрограммный автомат на основе декодирования команды вырабатывает определенную последовательность микрокоманд. В зависимости от способа формирования микрокоманд различают микропрограммные автоматы с жесткой и программируемой логикой. Адресная часть УУ включает в себя: операционный узел устройства управления (ОПУУ), регистр адреса, счетчик команд. Регистр адреса используется для хранения исполнительных адресов операндов, а счетчик команд — для выработки и хранения адресов команд. Их содержимое посылаются в регистр адреса основной памяти. ОПУУ обрабатывает адресные части команд, формируя исполнительные адреса операндов, а также подготавливает адрес следующей команды при выполнении команд перехода. Иногда ОПУУ совмещают с основным операционным устройством. Ниже будет рассмотрена схема ОПУУ процессора i8086.

Конвейер команд. Конвейеризация — способ обеспечения параллельности выполнения команд

Подробности Родительская категория: Процессор Категория: Конвейер команд

Первым шагом на пути обеспечения параллельности уровня команд явилось создание конвейера команд. Идея конвейера команд была предложена в 1956 году С.А. Лебедевым. Команда подразделяется на несколько этапов, каждый из которых выполняется своей частью аппаратуры, причем, эти части могут работать параллельно. Если на выполнение каждого этапа расходуется одинаковое время (один такт), то на выходе процессора в каждый такт появляется результат очередной команды. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняется несколько команд. Конвейерная обработка такого рода широко применяется во всех современных быстродействующих процессорах. Количество этапов, на которые конструкторы разбивают выполнение процессорной команды, может быть различным (в разных моделях процессоров х86 колеблется от 2 i8088 до 20 Pentium IV).

Конвейеризация — способ обеспечения параллельности выполнения команд

Выполнение типичной команды можно разделить на следующие этапы:

  • выборка команды — IF (по адресу, заданному счетчиком команд, из памяти извлекается команда);
  • декодирование команды / выборка операндов из регистров — ID;
  • выполнение операции / вычисление эффективного адреса памяти — EX;
  • обращение к памяти — MEM;
  • запоминание результата — WB.

В зависимости от типа команды и способа адресации, время выполнения команды сильно варьируется. Дольше всего выполняются этапы, связанные с обращением к памяти. На рисунках показаны блоки и конвейер команд гипотетического процессора, имеющего пять блоков исполнения команд и соответственно пять этапов (ступеней). Изображены выполняемые команды, номера тактов и этапы выполнения команд. На первом такте считывается первая команда. На втором, пока декодируется первая команда, считывается вторая. На пятом такте в процессоре одновременно находятся пять команд, каждая в своем узле.

Блоки прохождения команды в процессоре

Пятиступенчатая схема конвейера

Конвейеризация увеличивает пропускную способность процессора (количество команд, завершающихся в единицу времени), но она не сокращает время выполнения отдельной команды. Имеются некоторые накладные расходы на конвейеризацию, возникающие в результате несбалансированности задержки на каждой его ступени. Частота синхронизации (такт синхронизации) не может быть выше, чем время, необходимое для работы наиболее медленной ступени конвейера. Конвейер не всегда представляет собой линейную цепочку этапов. В ряде ситуаций оказывается выгодным, когда функциональные блоки соединены между собой не последовательно, а в соответствии с логикой обработки. Отдельные блоки в цепочке могут пропускаться, а другие — образовывать циклические процедуры. Это позволяет с помощью одного конвейера вычислять более одной функции.

Поток команд — естественная последовательность команд, проходящая по конвейеру процессора. Процессор может поддерживать несколько потоков команд (суперпроцессоры 5 и 6 поколения), если для каждого потока и каждого этапа есть исполнительные элементы.

Суперконвейер команд — разбиение каждой ступени на подступени при одновременном увеличении тактовой частоты внутри конвейера; включение в состав процессора многих конвейеров, работающих с перекрытием. Дробление ступеней позволяет поднять тактовые частоты процессора. К суперконвейерным относятся процессоры, в которых число ступеней больше шести (см. таблицу).

Суперконвейер

Cуперконвейер ведет не только к увеличению скорости вычислений, но и к возникновению дополнительных сложностей. Возрастает вероятность конфликтов. Дороже встает ошибка предсказания перехода — приходится сбрасывать весь длинный конвейер, на что требуется дополнительное время. Усложняется логика взаимодействия ступеней. Однако за счет использования новых архитектур удается справиться с большинством проблем. При рассмотрении современных процессоров будут описаны новые идеи: исполнения команд с изменением последовательности, переименования регистров, спекулятивного исполнения и другие.

Способы адресации. Функции способов адресации (и механизма трансляции адреса)

Подробности Родительская категория: Процессор Категория: Способы адресации

Способы адресации

Простейшая структура адресной части команды:

Адресные поля содержат физические адреса.
1) Для ЭВМ 1 — .2 поколений были характерны небольшой обьем ОЗУ (4. 32 Кслов) и значительная длина машинного слова (40. 64 и более бит). Длина слова выбиралась обычно достаточной для представления числа с инженерной точностью в плавающем формате. При этом в поле адреса мог поместиться полный физический адрес (для маленького объема ОЗУ он был коротким).
2) В ходе развития ЭВМ
•увеличивался обьем ОЗУ, а, следовательно, и длина требуемого физического адреса;
•желательно было вычислять / модифицировать адреса. Это давало возможность одному участку программы обрабатывать данные, расположенные в разных адресах.
Перешли к следующей структуре (см. рисунок ниже):

Двухуровневая схема трансляции адреса

Простейший вариант: физический адрес содержится в адресном регистре, а адресное поле содержит имя (код, номер) адресного регистра плюс код, обозначающий способ адресации (в данном случае косвенно-регистровую адресацию — см. далее). Длина такого поля адреса, могла быть гораздо меньше длины адреса. Например, если процессор содержит восемь регистров общего назначения и использует не более 8 разных способов адресации, длина номера регистра = 3 бита, длина кода способа адресации — также 3 бита. Адресное поле в команде будет содержать всего 6 бит.
3) При дальнейшем развитии ЭВМ — увеличивается размер адресного пространства.
При 32-разрядном адресе размер адресного пространства = 4 ГБайт. В то же время реальный обьем ОЗУ составляет 16. 128 МБайт (длина физического адреса: 24. 27 разрядов). Таким образом, имеет место несовпадение диапазона логических адресов (в частности, тех чисел, которые могут храниться в адресных регистрах процессора) и диапазона физических адресов, нумерующих реально существующие ячейки ОЗУ. Поэтому все более широко используется следующая схема преобразования адресов (см. следующий рисунок):

Трехуровневая схема трансляции адреса

В результате вычисления в соответствии со способом адресации формируется объект, называемый исполнительным (executive) или эффективным (так переводят английский термин effective, хотя более правильным является перевод “исполнительный” или “действующий” адрес). Это понятие уровня языка ассемблера почти эквивалентно используемому в языках высокого уровня понятию указатель(pointer). Все перечисленные в данном абзаце понятия — прежде всего суть понятия логические (логические адреса).
Логические адреса требуется отображать на физические адреса фактически имеющейся памяти. В простейшем случае можно это делать «один в один», начиная (размещая, загружая) всю программу целиком в определенное место памяти. В то же время, как увидим далее, такое взаимно-однозначное отображение адресов не всегда удобно, а иногда даже и невозможно.
Понятие «Способ адресации» включает:
•1)Способ кодирования адреса в адресном поле команды;
•2)Условное обозначение (синтаксис) способа адресации при записи команды на языке ассемблера;
•3)Алгоритм вычисления исполнительного адреса по информации, содержащейся в адресном поле, а также в других элементах процессора, имеющих отношение к вычислению адреса (хранящих адресную информацию, компоненты адреса).

Функции способов адресации (и механизма трансляции адреса)

1. Обеспечить удобство вычисления логических адресов при отображении на память компонентов сложных структур данных (массив, структура и поля ее записей, список и т.п.) Это одно из свойств, которые обычно имеют в виду, когда говорят, что «микропроцессор оснащен средствами для программирования на языках высокого уровня».

2. Обеспечить переход от содержимого адресного поля команды к логическому адресу и отображение пространства логических адресов на пространство физических адресов.

3. Обеспечить перемещаемость программных модулей (для легкости компоновки из этих модулей большой программы) или обеспечения позиционной независимости программы.
Под термином «перемещаемость» могут иметь в виду одно из двух различных свойств программы. Статическая перемещаемостьсостоит в том, что оттранслированную программу можно, без модификации адресных частей команд, загружать, начиная с различных адресов, при этом программа сохраняет работоспособность. Динамическая перемещаемость — более сильное свойство, состоящее в том, что загруженную и выполняющуюся программу можно в любой точке остановить, переместить, как единое целое, в другое место памяти и затем успешно продолжить выполнение с точки останова.

4. Для настройки на реально существующую в системе физическую память.

5. Обеспечить возможность многозадачного режима работы, когда в памяти одновременно находятся и выполняются несколько программ: надо разрешить этим программам обмениваться информацией, но защитить их друг от друга (чтобы одна программа не имела возможности испортить другую).
Что такое «многозадачность»?
В простейшем случае есть две задачи: программа пользователя ПрП и операционная система ОС. ПрП не должна иметь возможности испортить ОС.

Другой пример: кроме ОС, две ПрП, из которых одна работает в фоновом режиме. Например, основная задача — текстовый процессор, с которым работает человек, редактируя текст. В паузах, когда человек думает, какую клавишу нажать, работает фоновая задача, например, распечатывается на принтере другой текст. Еще более сложный случай — многопользовательская система, когда на одном процессоре работает несколько пользователей одновременно, они разделяют процессорное время, пространства памяти и другие ресурсы. Механизм трансляции адреса позволяет отображать логические адреса программ, выполняемых на вычислительной системе именно в тот диапазон физических адресов, который соответствует реально установленной памяти.

Архитектуры системы команд

Подробности Родительская категория: Процессор Категория: Архитектуры системы команд

С развитием вычислительной техники появлялись различные архитектуры системы команд (АСК), некоторые из них становились основными на каком-то этапе. Сложившуюся на настоящий момент ситуацию в области архитектуры команд иллюстрирует рисунок.

При анализе/выборе архитектуры команд существенны два момента. Первый — это состав операций, выполняемых вычислительной машиной, и их сложность. Второй — место хранения операндов, что влияет на количество и длину адресов в адресной части команды.

Современная технология программирования ориентирована на языки высокого уровня (ЯВУ), главная цель которых — облегчить процесс программирования. Переход к ЯВУ, однако, породил серьезную проблему: сложные операторы, характерные для ЯВУ, существенно отличаются от простых машинных операций, реализуемых в большинстве вычислительных машин. Проблема получила название семантическою разрыва, а ее следствием становится недостаточно эффективное выполнение программ на ЭВМ. Пытаясь преодолеть семантический разрыв, разработчики вычислительных машин в настоящее время выбирают один из трех подходов и, соответственно, один из трех типов АСК:

  • архитектуру с полным набором команд: CISC (Complex Instruction Set Соmputer);
  • архитектуру с сокращенным набором команд: RISC (Reduced Instruction Set Compllter);
  • архитектуру с командными словами сверхбольшой длины: VLIW (Vегу Long Instruction Word)

В вычислительных машинах типа CISC проблема семантического разрыва решается за счет расширения системы команд, дополнения ее сложными командами, семантически аналогичными операторам ЯВУ.

Основоположником СISС-архитектуры считается компания IBM, которая начала применять данный подход с семейства машин IBM 360 и продолжает его в своих мощных современных универсальных ЭВМ, таких, как IBM ES/9000. Аналогичный подход характерен и для компании Intel в ее микропроцессорах серии 8086 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров.

Для СISС-архитектуры типичны:

  • наличие в процессоре сравнительно небольшого числа регистров общего назначения;
  • большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы ЯВУ;
  • широкое использование микропрограммирования;
  • разнообразие способов адресации операндов;
  • разная временная структура выполнения команд;
  • множество форматов команд различной разрядности (Pentium — длина команды 1-10 байт);
  • преобладание двухадресного формата команд;
  • наличие команд, где обработка совмещается с обращением к памяти.

Рассмотренный способ решения проблемы семантического разрыва вместе с тем ведет к усложнению аппаратуры ЭВМ, главным образом, устройства управления, что, в свою очередь, негативно сказывается на производительности ЭВМ в целом. Это заставило более внимательно проанализировать программы, получаемые после компиляции с ЯВУ. Был предпринят комплекс исследований, в результате которых обнаружилось, что доля дополнительных команд, эквивалентных операторам ЯВУ, в общем объеме программ не превышает 10-20%, а для некоторых наиболее сложных команд даже 0,2%. В то же время объем аппаратных средств, требуемых для реализации дополнительных команд, возрастает весьма существенно. Так, емкость микропрограммной памяти при поддержании сложных команд может увеличиваться на 60%.

Детальный анализ результатов упомянутых исследований привел к появлению RISC-архитектуры. Термин RISC впервые был использован Д. Паттерсоном и Д. Дитцелем в 1980 году. Идея заключается в ограничении списка команд ЭВМ наиболее часто используемыми простейшими командами, оперирующими данными, размещенными только в регистрах процессорах. Сложные команды ЯВУ выполняются набором простых, число которых больше чем в СISC, но время их выполнения меньше.

Основные особенности RISC-архитектуры :

  • небольшое число команд с простым декодированием;
  • резко уменьшено количество форматов команд;
  • почти все команды выполняются за один такт;
  • ограничено количество способов адресации;
  • длинный регистровый файл, что позволяет большему объему данных храниться в регистрах на процессорном кристалле большее время и упрощает работу компилятора по распределению регистров под переменные;
  • обращение к памяти допускается лишь с помощью специальных команд чтения и записи;
  • используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки
  • эффективно загружен конвейер команд.

Элементы RISС-архитектуры впервые появились в вычислительных машинах CDC 6600 и супер-ЭВМ компании Сгау Research. Однако окончательно понятие RISC в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора 801 компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета.

Разработка экспериментального проекта компании IBM началась еще в конце 70-х годов, но его результаты никогда не публиковались и компьютер на его основе в промышленных масштабах не изготавливался. В 1980 году Д.Паттерсон со своими коллегами из Беркли начали свой проект и изготовили две машины, которые получили названия RISC-I и RISC-II. Главными идеями этих машин было отделение медленной памяти от высокоскоростных регистров и использование регистровых окон. В 1981году Дж.Хеннесси со своими коллегами опубликовал описание стенфордской машины MIPS, основным аспектом разработки которой была эффективная реализация конвейерной обработки посредством тщательного планирования компилятором его загрузки.

Достаточно успешно реализуется RISС-архитектура и в современных ВМ, например в процессорах Alpha серии РА фирмы Hewlett-Packard, семействе PowerPC и т. п. Отметим, что в последних микропроцессорах фирмы Intel и AMD широко используются идеи, свойственные RISС- архитектуре, так что многие различия между CISC и RISC постепенно стираются.

Концепция архитектуры команд cо словами сверхбольшой длины (VLIW) базируется на RISС-архитектуре, где несколько простых RISC- команд объединяются в одну сверхдлинную команду и выполняются параллельно. См. процессоры Itanium, Transmeta.

Важную роль в выборе АСК играет ответ на вопрос о том, где могут храниться операнды и каким образом к ним осуществляется доступ. С этих позиций различают следующие виды архитектур системы команд:

  • стековую;
  • аккумуляторную;
  • регистровую;
  • с выделенным доступом к памяти.

Еще статьи.

  1. Система команд процессора
  2. Управление вычислительным процессом
  3. Кодирование команд в процессоре х86
  4. Регистры. Шины. Вентили (Gates)

Что такое процессор (CPU)

В этой статье мы рассмотрим, что такое процессор CPU, какие у него функции и из чего он состоит.

В каждом вычислительном устройстве (ПК, смартфон, фотоаппарат) есть центр, который отвечает за правильную работу машины ― процессор.

В широком смысле процессор ― это устройство, которое выполняет вычислительные и логические операции с данными. Чаще всего этот термин используется для обозначения центрального процессора устройства. Расшифровка CPU ― Central Processing Unit (центральное обрабатывающее устройство). Это самая важная часть компьютера. Его мозг. Он выглядит как квадрат размером приблизительно 5×5 см:

Что значит CPU на процессоре

С обратной стороны CPU находятся ножки, с помощью которых он крепится к материнской плате:

Назначение и характеристика процессора

От мощности центрального процессора зависит скорость обработки команд и продуктивность работы других составляющих компьютера. Например, можно купить современную видеокарту, но она не сможет показать свои возможности, если управляется слабым CPU.

Функции CPU

Какие функции выполняет центральный процессор CPU? Главная функция ― управление всеми операциями компьютера: от простейших сложений чисел на калькуляторе до запуска компьютерных игр. Если рассматривать основные функции центрального процессора подробнее, CPU:

  • получает данные из оперативной памяти, выполняет с ними арифметические и логические операции, передаёт их на внешние устройства,
  • формирует сигналы, необходимые для работы внутренних узлов и внешних устройств,
  • временно хранит результаты выполненных операций, переданных сигналов и других данных,
  • принимает запросы от внешних устройств и обрабатывает их.

Из чего состоит CPU

Центральный процессор состоит из 3-х частей:

  1. Ядро процессора, которое выполняет основную работу. Оно позволяет читать, расшифровывать, выполнять и отправлять инструкции. Ядро состоит из следующих частей:
  • Арифметико-логическое устройство (АЛУ). Выполняет основные математические и логические операции. Все вычисления производятся в двоичной системе.
  • Устройство управления (УУ). Управляет работой CPU с помощью электрических сигналов. От него зависит согласованность работы всех частей процессора и его связь с внешними устройствами.

Каждое ядро может выполнять только одну задачу, хоть и за долю секунды. Одноядерный процессор выполняет каждую задачу последовательно. Для современного объёма операций этого мало, поэтому ценятся CPU с более чем одним ядром, чтобы выполнять несколько задач одновременно. Например, двухъядерный выполняет две задачи одновременно, трехъядерный ― три и т. д.

  1. Запоминающее устройство. Это небольшая внутренняя память центрального процессора. Она состоит из регистров и кеш-памяти. В регистрах хранятся текущие команды, данные, промежуточные результаты операции. В кеш-память загружаются часто используемые команды и данные из оперативной памяти. Обратиться в кеш быстрее, чем в оперативную память, поэтому объём кеш-памяти влияет на скорость выполнения запросов.
  2. Шины ― это каналы, по которым передаётся информация. Они как рельсы для перевозки данных.

Главной характеристикой процессора является производительность. Она зависит от двух параметров: тактовая частота и разрядность.

Тактовая частота ― число выполненных операций в секунду. Измеряется в мегагерцах (МГц — миллион тактов в секунду ) и гигагерцах (ГГц — миллиард тактов в секунду). Чем больше тактовая частота, тем быстрее работает машина.

Разрядность ― количество информации (байт), которое можно передать за такт. Разрядность процессора бывает 8, 16, 32, 64 бита. Современные процессоры 32-х и 64-битные.

Производители CPU

На рынке есть два основных производителя центральных процессоров ― Intel и AMD.

Продукты Intel — дорогие, но имеют высокую производительность. Потребляют меньше энергии, следовательно меньше перегреваются. Имеют хорошую связь с оперативной памятью.

Продукты AMD значительно отстают от Intel, однако стоят дешевле. Они требуют много энергии и хуже взаимодействуют с оперативной памятью по сравнению с процессорами от Intel.

Подписывайтесь на рассылку нашего блога — впереди много полезных статей!

Как работает процессор?

Кратко и доступно о том, как работает центральный процессор, регистры, память, инструкции и кэш, а также что такое УУ и АЛУ и зачем они нужны.

Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.

Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.

Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.

Два основных компонента процессора

Устройство управления

Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.

Существует два типа реализации УУ:

  • УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
  • УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.

УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.

Арифметико-логическое устройство

Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.

Курс «Профессия Джуниор Frontend-разработчик»

Программа построена от простого к сложному и под силу каждому, у кого есть желание учиться.

Большинство логических элементов имеют два входа и один выход.

Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).

На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Хранение информации — регистры и память

Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.

Регистры

Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.

Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.

По функциональному назначению триггеры делятся на несколько групп:

  • RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
  • JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
  • T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
  • D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.

Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.

На данный момент этот блок не поддерживается, но мы не забыли о нём! Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

Память (ОЗУ)

ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.

Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.

Команды (инструкции)

Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:

  • Арифметические: сложение, вычитание, умножение и т. д.
  • Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
  • Информационные: move , input , outptut , load и store .
  • Команды перехода: goto , if . goto , call и return .
  • Команда останова: halt .

Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.

Курс «Автоматизация тестирования на Java»

Курс «Автоматизация тестирования на Java»

Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.

В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.

Группу инструкций принято называть набором команд (англ. instruction set).

Тактирование процессора

Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.

Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.

Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.

Выполнение инструкций

Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.

Ниже рассмотрен пример набора команд, который суммирует два числа:

  1. LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
  2. LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
  3. ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
  4. STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .

Вот такие операции нужны, чтобы сложить два числа.

Шина

Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.

Решаем популярные задачи с асинхронным кодом на JavaScript: часть вторая

Кэш

У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.

Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).

Поток инструкций

Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.

Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.

Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.

Следите за новыми постами по любимым темам

Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.

Что такое процессор (CPU)

В статье расскажем о том, что такое ЦП (центральный процессор), рассмотрим функции процессора и разберем как он работает.

Процессор – это устройство, отвечающее за обработку информации. Его называют по-разному: центральный процессор (ЦП) или центральное процессорное устройство (ЦПУ) или central processing unit (CPU), но все эти термины обозначают элемент, который является “мозгом” вычислительного устройства (смартфона, телевизора, компьютера, планшета, фотоаппарата, сервера).

Процессор представляет собой квадратную пластину со стороной около 5 сантиметров, с одной стороны которой находятся, похожие на ножки, коннекторы. С их помощью он прикрепляется к материнской плате – специальному элементу для установки дополнительных расширений.

Мощность процессора отвечает за скорость обработки команд и сказывается на продуктивности работы.

Что делает процессор

Зачем нужен процессор в устройствах? Он осуществляет управление всеми вычислительными операциями и элементами. Функции, которые выполняет ЦП:

  • выполняет операции с данными оперативной памяти.
  • создает команды и обрабатывает запросы от внутренних компонентов или внешних устройств.
  • временное хранит данные о проделанных операциях или отданных командах.
  • выполняет логические и арифметические операции с полученной информацией.
  • передает итоги обработки информации внешним устройствам.

Из чего состоит процессор

Центральный процессор это не конечная деталь. Он состоит из трех составных частей:

Ядро отвечает за большую часть всех функций CPU. Оно выполняет расшифровку, чтение, отправку инструкций другим элементам или принимает инструкции от них. Одномоментно ядро способно выполнять только одну команду, происходит это за сотые доли секунд. Таким образом, наличие одного ядра говорит о том, что ПК или сервер будет выполнять все инструкции поочередно. Современное оборудование редко использует одноядерные процессоры, так как в этом случае оно работает очень медленно.

Ядро в свою очередь состоит еще из двух частей:

  • Арифметико-логическое устройство (АЛУ). Оно осуществляет выполнение арифметических и логических операций.
  • Устройство управления (УУ). Оно координирует работу всех частей процессора, его взаимодействие с внешним оборудованием. Происходит это с помощью электрических сигналов.
  1. Запоминающее устройство.

Это небольшая память процессора, в которой хранится информация о текущих командах и промежуточных результатах. Она состоит из кеша и регистров. Регистры отвечают за “запоминание” информации, а кеш хранит часто выполняемые инструкции. Обращение в кеш происходит быстрее, чем к оперативной памяти, поэтому объем кеш-память процессора влияет на скорость работы ЦПУ.

Это каналы для передачи команд внутри процессора.

Основные характеристики процессоров

  1. Сокет (Socket)

Это разъем для установки процессора на материнскую плату. Существует множество видов сокетов, поэтому при выборе ЦП нужно обратить внимание, чтобы его сокет подходил к материнской плате. Например, если на материнской плате разъем LGA 1151, то нужно выбирать процессор с таким же сокетом, иначе его нельзя будет установить.

  1. Тактовая частота

Этот параметр показывает количество обрабатываемых операций (тактов) в секунду. Измеряется в в мегагерцах (МГц) или гигагерцах (ГГц) Чем выше показатель тактовой частоты, тем выше производительность процессора.

Например, процессор с частотой 1 МГц обрабатывает 1 миллион операций в секунду, а процессор с частотой 1 ГГц – 1 миллиард операций.

Как было сказано выше, ядро – самая главная часть процессора и чем больше ядер, тем больше команд одновременно сможет обрабатывать ЦПУ. Чем больше ядер в процессоре, тем выше его производительность и скорость выполнения операций.

Показывает сколько потоков информации может обрабатывать одно ядро. Поток это технология, которая позволяет разделить производительность ядра, то есть физически ядро одно, а фактически оно может одновременно обрабатывать два процесса. На текущий момент не все процессоры обладают дополнительными потоками.

Кэш состоит из трех уровней памяти: L1, L2, L3. Чем больше памяти, тем лучше работает процессор.

Кэш первого уровня L1 — содержит те данные, которые могут потребоваться программе для выполнения инструкции,

Кэш второго уровня L2 — медленнее, в сравнении с кэшем первого уровня, но больше по размеру. Кэш L2 содержит информацию, которая может потребоваться в будущем.

Кэш третьего уровня L3 — самый большой и при этом самый медленный кэш. Его объем варьируется от 4 до 50 мегабайт.

  1. Разрядность процессора

Это количество бит информации, которые процессор может обрабатывать за один такт (операцию). Например, размер данных за такт равен 1 байту, процессор считает восьмиразрядным (8 bit), если размер данных 2 байта, то ЦПУ шестнадцатиразрядный (16 bit), при размере 4 байта – процессор тридцатидвухразрядный (32 bit), в случае с 8-байтовым размером данных процессор считается шестидесятичетырехразрядный (64 bit).

Чем больше размер обрабатываемых данных, тем выше производительность процессора.

Как работает процессор

ЦУ обрабатывает команды на языке двоичного кода, говоря простым языком: 0 – это “нет”, 1 – это “да”. Каждый запрос, приходящий процессору состоит из комбинаций двух чисел 0 и 1.

Все операции внутри процессора это повторяющийся цикл, который не останавливается, пока работает компьютер или сервер: взять инструкцию из памяти, прочитать и расшифровать команду, осуществить действия.

Рассмотрим как работает процессор компьютера более подробно:

  • Блок управления процессора забирает из оперативной памяти, где находится программа, определенные данные и команды, которые требуется выполнить. Вся эта информация загружаются в кэш-память.
  • Получив данные из кэша, процессор записывает их в регистры. При этом инструкции отправляются в регистры команд, а значения помещаются в регистры данных.
  • После считывания инструкций и данных, арифметико-логическое устройство выполняет эти команды.
  • Результаты выполнения команд записываются в регистры. Если вычисления завершены, то они записываются также в буферную память процессора. Так как число регистров небольшое, промежуточные результаты хранятся в кэш-памяти.
  • Если цикл вычислений завершен, результат сохраняется в оперативной памяти компьютера, чтобы освободить место в буферной памяти ЦП для новых вычислений. Если кэш-память переполнена, то неиспользуемая информация отправляется в кэш нижнего уровня или в оперативную память.

Виды процессоров

Существуют процессоры для мелкой техники, такой как ноутбуки компьютеры, телефоны,их можно назвать настольные ЦП. Второй вид процессоров – серверные, предназначены для оборудования, работающего с огромными массивами данных.

Основные функции настольных процессоров – это выполнения функций домашних компьютеров: запуск нескольких программ, перемещение информации, работа с браузерами, запись данных на различные накопители, запуск игр, обработка фото- и видеоматериалов. Им не требуется большое число ядер, но необходима высокая тактовая частота.

Серверные процессоры могут работать с несколькими подключенными клиентами, поэтому им требуется большее число ядер, высокий объем кэш-памяти и поддержка больших объемов оперативной памяти.

Также различают типы процессоров по принципу выполнения команд:

  • CISC (Complete Instruction Set Computing) – этот тип процессора с полным набором команд. Они характеризуется:

– большим количеством различных машинных команд, каждая команда выполняется за несколько тактов ЦП

– небольшим количеством регистров общего назначения

– различными форматами команд с разными длинами

– преобладанием множественной адресацией

  • RICS (Restricted Instruction Set Computer) – процессор, повышение работоспособности которого происходит за счет упрощения инструкций. В ЦП с RISC-архитектурой применяется ограниченный набор быстрых команд.

Каждая команда выполняется за за один такт. В таких процессорах требуется меньшее число транзисторов, что снижает их энергопотребление и стоимость. Архитектура RISC использует наиболее простейшие команды, что упрощает процесс их выполнения. Более сложные команды обрабатываются как составные из “простых” команд.

  • VLIW (Very Long Instruction Word) – процессоров, работающие через объединение простых команд в “связку”. Эти команды должны быть независимы друг от друга и осуществляться параллельно.

Архитектура VLIW известна с начала 80-х годов. Она основана на том, что задача эффективного параллельного выполнения команд возлагается на «разумный» компилятор (программу, переводящую команды в машинный код). Компилятор первоначально делает анализ всей инструкции, выбирает команды, которые могут быть выполнены одновременно. Затем объединяет такие команды в связки, которые рассматриваются как сверхдлинные команды. В результате получается несколько сверхдлинных команд, которые исполняются одновременно.

Как выбрать процессор

На рынке процессоров известны две крупные компании-производителя: AMD и Intel. Они находятся в тесной конкуренции друг с другом, хотя AMD стремится создать нишевый продукт с низкой ценой, а Intel нацелена на топовые, производительные процессоры с высокой эффективностью и низкой энергопотребляемостью.

Основные характеристики по которым необходимо выбирать процессор это: скорость работы (ГГЦ), количество ядер, объем кэш-памяти, тактовая частота (МГЦ или ГГЦ).

Прежде чем приступить к выбору CPU, необходимо определить для чего нужен процессор, какие задачи стоят перед оборудованием, на котором будет стоять ЦП.

Если вам требуется выполнения обычных задач (работа в поисковых системах, в Word и Excel, чтение почты) на ноутбуке или ПК, то вам достаточно встроенных процессоров, со стандартными параметрами.

Предположим, что вы хотите купить ноутбук для сетевых игр или для монтирования видеоматериалов. В этом случае вам потребуется более мощные характеристики оборудования. ПК для игр, обработки фото или видео лучше выбирать с процессорами у которых не менее четырех ядер.

Восьмиядерный ЦПУ потребуется для мощного персонального компьютера, например, под использование профессиональных программ (3ds Max, Adobe Lightroom Classic, SiSoftware Sandra 2020, Adobe Premiere Pro, AutoCAD) или для профессиональных геймеров.

Еще один важный показатель при выборе CPU – тактовая частота. У простых двухъядерных процессоров она 3,5 ГГц – это средний класс компьютеров. Чем выше уровень тактовой, тем быстрее работает процессор. Например, для игрового ноутбука желательно выбирать ЦП с частотой не менее 4 ГГц.

Выбор процессора для сервера это отдельная задача, которую лучше всего доверить специалисту. Кратко отметим, что стоит учитывать ряд параметров: характеристики CPU, структура и состав сервера, на какое количество пользователей он будет рассчитан, какой тип задач будет на нем выполняться (объемные вычисления, хранение данных, размещение программ с постоянным доступом к ним и т.д.). Также стоит учитывать бюджет, в рамках которого требуется приобрести оборудование.

Так как нагрузки на вычислительные системы быстро растут (появляются новые приложения и программы, которые обрабатывают больше информации), то при выборе процессора лучше сделать запас производительности примерно на 20-30% с перспективой на будущее.

Заключение

Назначение процессора – это обработка информации и выполнение различных команд. Без ЦПУ компьютер не будет работать, он выполняет абсолютно все задачи, даже самые простые. Процессор в оборудовании – как мозг внутри человека.

Мощность ПК и серверного оборудования зависит от процессора. При выборе устройств всегда отталкивайтесь от задач, которые вы планируете выполнять, также делайте запас производительности на случай увеличения нагрузки на оборудование.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *