Файл: Процессор персонального компьютера. Назначение, функции, классификация процессора (НАЗНАЧЕНИЯ И ФУНКЦИИ ПРОЦЕССОРА).pdf
Добавлен: 28.06.2023
Просмотров: 89
Скачиваний: 3
ВВЕДЕНИЕ
Центральный процессор (CPU - Central Processing Unit ) - это транзисторная микросхема, являющаяся главным вычислительным и управляющим элементом компьютера. Иногда называют микропроцессором или просто процессором.
Внешне процессор представляет собой полупроводниковый кристалл, на котором располагаются транзисторы, соединенные алюминиевыми проводниками. Сам кристалл помещен в керамический корпус с контактами.
В 1971 году корпорация INTEL произвела первый микропроцессор, это был четырехразрядный процессор с индексом 4004, у которого было всего две тысячи транзисторов. Он не пользовался успехом из-за сильно ограниченного набора команд. Затем в 1974 году появился i8080, который выпускается до сих пор в различных устройствах, например в аппаратуре автоматического определения номера в домашнем телефоне. В 1978 году появился первый 16-разрядный процессор от Intel - i8086, который включал в себя уже 29 тыс. транзисторов и работал на частоте 4,77 МГц. Через год Intel разработал 8-разрядный процессор i8088, на основе которого был выпущен первый персональный компьютер от IBM.
В современных микропроцессорах находится свыше 100 млн. транзисторов при тактовой частоте свыше 1 ГГц.
В нашей курсовой работе постараемся подробно рассмотреть назначения, функции и классификации процессоров. Для этого рассмотрим из чего состоит большинство современных микропроцессоров, какие основные параметры характеризуют производительность процессора, а так же рассмотрим основные классификации процессоров.
1. НАЗНАЧЕНИЯ И ФУНКЦИИ ПРОЦЕССОРА.
Процессор (центральный процессор, центральное процессорное устройство) - это очень сложная микросхема, обрабатывающая машинный код, отвечающая за выполнение различных операций и управление компьютерной периферии. Для краткого обозначения центрально процессора принята аббревиатура — ЦП, а также очень распространено CPU - Central Processing Unit, что переводится как центральное обрабатывающее устройство. Именно в процессоре происходят основные вычисления, ради которых, собственно и придумывался компьютер.
Физически центральный процессор выполняется в виде большой интегральной схемы (БИС), которая устанавливается в соответствующий разъем на материнской плате. Сверху на процессор обязательно крепится радиатор и куллер (вентилятор), которые охлаждают процессор, так как тот в процессе работы выделяет достаточно тепла.
Изначально термин «Центральное процессорное устройство» описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 1960-е годы.
Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако, их основные исполняемые функции остались теми же, что и прежде.
Большинство современных процессоров состоит из:
- одного или нескольких ядер, осуществляющих выполнение всех инструкций;
- нескольких уровней КЭШ - памяти (обычно два или три уровня), ускоряющих взаимодействие процессора с ОЗУ;
- контроллера ОЗУ;
- контроллера системной шины;
Центральный процессор характеризуется следующими параметрами:
- типом микроархитектуры;
- тактовой частотой;
- набором выполняемых команд;
- количеством уровней КЭШ-памяти и их объемом;
- типом и скоростью системной шины;
-размером обрабатываемых слов;
- наличием или отсутствием встроенного контроллера памяти;
- типом поддерживаемой оперативной памяти;
- объемом адресуемой памяти;
- наличием или отсутствием встроенного графического ядра;
- энергопотреблением;
1.1 Ядро процессора назначение и функции.
Ядро процессора - это основная его часть, содержащая все функциональные блоки и осуществляющая выполнение всех логических и арифметических операций. Ядро процессора состоит из нескольких функциональных блоков:
- блока выборки инструкций;
- блоков декодирования инструкций;
- блоков выборки данных;
- управляющего блока;
- блоков выполнения инструкций;
- блоков сохранения результатов;
- блока работы с прерываниями;
- ПЗУ, содержащего микрокод;
- набора регистров;
- счетчика команд;
Блок выборки инструкций осуществляет считывание инструкций по адресу, указанному в счетчике команд. Обычно, за такт считывает несколько инструкций. Количество считываемых инструкций обусловлено количеством блоков декодирования, так как необходимо в каждом такте работы максимально загрузить блоки декодирования. Для того чтобы блок выборки инструкций работал оптимально, в ядре процессора имеется предсказатель переходов.
Предсказатель переходов пытается определить, какая последовательность команд будет выполняться после совершения перехода. Это необходимо, чтобы после условного перехода максимально нагрузить конвейер ядра процессора.
Блоки декодирования, это блоки, которые занимаются декодированием инструкций, то есть определяют, что надо сделать процессору, и какие дополнительные данные нужны для выполнения инструкции. Задача эта для большинства современных коммерческих процессоров, построенных на базе концепции CISC, - очень сложная. Дело в том, что блина инструкций и количество операндов - не фиксированные, и это сильно усложняет жизнь разработчикам процессоров и делает процесс декодирования нетривиальной задачей. Часто отдельны сложные команды приходится заменять микрокодом-серией простых инструкций, в совокупности выполняющих то же действие, что и одна сложная инструкция. Набор микрокода прошит в ПЗУ, встроенном в процессоре. К тому же микрокод упрощает разработку процессора, так как отпадает надобность в создании сложноустроенных блоков ядра и выполнения отдельных команд, да и исправить микрокод гораздо проще, чем устранить ошибку в функционировании блока. В современных процессорах, обычно, бывает 2-4 блока декодирования инструкций, например, в процессорах Intel Core 2 каждое ядро содержит по два таких блока.
Блоки выборки данных, осуществляют выборку данных из КЭШ-памяти или ОЗУ, необходимых для выполнения текущих инструкций. Обычно, каждое процессорное ядро содержит несколько блоков выборки данных. Например, в процессорах Intel Core используется по два блока выборки данных для каждого ядра.
Управляющий блок на основании декодированных инструкций управляет работой блоков выполнения инструкций, распределяет нагрузку между ними, обеспечивает своевременное и верное выполнение инструкций. Это один из наиболее важных блоков ядра процессора.
Блоки выполнения инструкций включают в себя несколько разнотипных блоков:
ALU - арифметическое логическое устройство;
FPU - устройство по выполнению операций с плавающей точкой;
Блоки для обработки расширения наборов инструкций. Дополнительные инструкции используются для ускорения обработки потоков данных, шифрования и дешифрования, кодирования видео и так далее. Для этого в ядро процессора вводят дополнительные регистры и наборы логики. На данный момент наиболее популярными расширениями наборов инструкций являются:
- MMX (Multumedia Extensions) - набор инструкций, разработанный компанией Intel, для ускорения кодирования и декодирования потоковых аудио и видео -данных.
- SSE (Streaming SIMD Extensions) - набор инструкций, разработанный компанией Intel, для выполнения одной и той же последовательности операций над множеством данных с распараллеливанием вычислительного процесса. Наборы команд постоянно совершенствуются, и на данный момент имеются ревизии: SSE, SSE2, SSE3, SSSE3, SSE4.
- ATA (Application Targeted Accelerator) - набор инструкций, разработанный компанией Intel, для ускорения работы специализированного программного обеспечения и снижения энергопотребления при работе с такими программами. Эти инструкции могут использоваться, например, при расчете контрольных сумм или поиска данных.
- 3DNow - набор инструкций, разработанный компанией AMD, для расширения возможностей набора инструкций MMX.
- AES (Advanced Encryption Standard) - набор инструкций, разработанный компанией Intel, для ускорения работы приложений, использующих шифрование данных по одноименному алгоритму.
Блок сохранения результатов обеспечивает запись результата выполнения инструкции в ОЗУ по адресу, указанному в обрабатываемой инструкции.
Блок работы с прерываниями. Работа с прерываниями - одна из важнейших задач процессора, позволяющая ему своевременно реагировать на события, прерывать ход работы программы и выполнять требуемые от него действия. Благодаря наличию прерываний, процессор способен к псевдопараллельной работе, то есть к так называемой многозадачности.
Обработка прерываний происходит следующим образом. Процессор перед началом каждого цикла работы проверяет наличие запроса на прерывание. Если есть прерывание для обработки, процессор сохраняет в стек адрес инструкции, которую должен был выполнить, и данные, полученные после выполнения последней инструкции, и переходит к выполнению функции обработки прерывания.
После окончания выполнения функции обработки прерывания, из стека считываются сохраненные в него данные, и процессор возобновляет выполнение восстановленной задачи.
Регистры - сверхбыстрая оперативная память (доступ к регистрам в несколько раз быстрее доступа к КЭШ-памяти) небольшого объема (несколько сотен байт), входящая в состав процессора, для временного хранения промежуточных результатов выполнения инструкций. Регистры процессора делятся на два типа: регистры быстрого назначения и специальные регистры.
Регистры общего назначения используются при выполнении арифметических и логических операций, или специфических операций дополнительных наборов инструкций (MMX, SSE и т.д.).
Регистры специального назначения содержат системные данные, необходимые для работы процессора. К таким регистрам относятся, например, регистры управления, регистры системных адресов, регистры отладки и т.д. Доступ к этим регистрам жестко регламентирован.
Счетчик команд - регистр - содержащий адрес команды, которую процессор начнет выполнять на следующем такте работы.
Принцип работы процессора основан на цикле, описанном еще Джоном фон Нейманом в 1946 году. В упрощенном виде этапы цикла работы ядра процессора можно представить следующим образом :
1. Блок выборки инструкций проверяет наличие прерываний. Если прерывание есть, то данные регистров и счетчика команд заносятся в стек, а в счетчик команд заносится адрес команды обработчика прерываний. По окончанию работы функций обработки прерываний, данные из стека будут восстановлены.
2. Блок выборки инструкций из счетчика команд считывает адрес команды, предназначенной для выполнения. По этому адресу из КЭШ-памяти лили ОЗУ считывается команда. Полученные данные передаются в блок декодирования.
3. Блок декодировки команд расшифровывает команду, при необходимости используя для интерпретации команды записанный в ПЗУ микрокод. Если это команда перехода, то в счетчик команд записывается адрес перехода и управление передается в блок выборки инструкций (пункт 1). иначе счетчик команд увеличивается на размер команды (для процессора с длинной команды 32 бита - на 4) и передает управление в блок выборки данных.
4. Блок выборки данных считывает из КЭШ - памяти или ОЗУ требуемые для выполнения команды данные и передает управление планировщику.
5. Управляющий блок определяет, какому блоку выполнения инструкций обработать текущую задачу, и передает управление этому блоку.
6. Блоки выполнения инструкций выполняют требуемые командой действия и передают управление блоку сохранения результатов.
7. При необходимости сохранения результатов в ОЗУ, блок сохранения результатов выполняет требуемые для этого действия и передает управление блоку выборки инструкций (пункт 1).
Описанный выше цикл называется процессом (именно поэтому процессор называется процессором). Последовательность выполняемых команд называется программой. Скорость перехода от одного этапа цикла к другому определяется тактовой частотой процессора, а время работы каждого этапа цикла и время, затрачиваемое на полное выполнение одной инструкции, определяется устройством ядра процессора.
1.2 КЭШ память.
Несмотря на все технологии и уловки разработчиков, производительность процессора все - таки напрямую зависит от скорости выборки команд и данных из памяти. И, даже если процессор имеет сбалансированный и продуманный конвейер, использует технологию Hyper - Threading и так далее, но не обеспечивает должную скорость выборки данных и команд из памяти, то в результате общая производительность ЭВМ не оправдывает ваших ожиданий.