Файл: Курсовая работаПроцессор персонального компьютера. Назначение, функции, классификация процессора.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 148

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рис. 4. Соединение контактов кристалла с контактами подложки

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

Структура расположения контактов и их форма зависят от материнской платы компьютера и сокета процессора. У определенных моделей, чаще производимых корпорацией Intel, штырьки соединения находятся прямо в сокете материнской платы, а у AMD штырьки контактов торчат прямо из контактной подложки[16].

В современных моделях процессоров Intel умещается сразу 2 кристалла. Второй кристалл является графическим ядром процессора, по сути играющим роль встроенной в процессор видеокарты. Это значит, что даже в том случае, когда в системе отсутствует видеокарта, графическое ядро может взять на себя роль видеокарты, причем довольно мощной[17] [2, 4].

По итогам данной главы можно сделать вывод, то центральный процессор является основным устройством персонального компьютера. Именно процессор является вычислительным центром ЭВМ и осуществляется все интеллектуальные процедуры. Первые отдельным процессоры появились в 1940-х годах и развиваются до си пор. На сегодняшний день эволюция процессоров достигла такого этапа, что ЦП может вычислять графическую составляющую.

2. Архитектура центрального процессора

Архитектура процессора является количественной составляющей компонентов микроархитектуры процессора компьютера, рассматриваемой специалистами информационных технологий в аспекте прикладной деятельности[18].

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

С точки зрения программиста архитектура процессора представляет собой совместимость с определенным набором команд, их структуры и способа исполнения[19] [11, 12].


2.1. Аппаратная архитектура

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

  • командная шина;
  • адресная шина;
  • шина данных[20].

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

Работу процессора синхронизирует внешний генератор тактов. В соответствии с этими сигналами происходит исполнение и считывание команд. Частота процессора определяет быстродействие процессора, но она не является единственным параметром для оценки производительности процессора. В первых 8-битных процессорах значение тактовой частоты было равно приблизительно 4 мегагерцам, в современных же процессорах частота измеряется гигагерцами[21].

Центральный процессор состоит из таких частей, как (рисунок 5):

  1. Управляющий блок, декодирующий команды в микрооперации, дающий другим частям процессора соответствующие указания для исполнения команды и отвечающий затем за передачу результатов в память. Управляющий блок использует специальные регистры: регистр команд и счетчик команд.
  2. Операционный блок, содержащий арифметико-логическое устройство, способное выполнять вычислительные действия с указанными данными или логические операции. Операционный блок может комбинировать данные действия и выполнять сложные операции, например, умножение с плавающей точкой в соответствующем устройстве, что невозможно выполнить в АЛУ. Операционный блок использует специальные регистры: аккумуляторный регистр и регистр состояния.
  3. Регистры, являющиеся внутренней памятью процессора. Регистры подразделяются следующим образом:
  • специальные регистры, на которые возлагается выполнение специальных функций при работе процессора;
  • регистры общего пользования, предназначенные для запоминания операндов и данных при исполнении команд[22].

Специальными являются следующие регистры:

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

Схема архитектуры центрального процессора представлена на рисунке 5.

Рис. 5. Схема архитектуры центрального процессора

Стековую память используют для запоминания состояний регистров. Стек организован по принципу «последним зашел, первым вышел», при котором приоритетом обладает последняя введенная задача[24] [8, 12].

2.2. Архитектура системы команд процессора

Архитектура системы команд процессора охватывает систему команд процессора и регистры, через которые процессор становится доступным для программирования[25].

Машинные команды, которые выполняются процессором, обычно подразделяются следующим образом:

  • арифметико-логические операции;
  • передача данных;
  • доступ к строкам;
  • доступ к отдельным битам;
  • управление работой процессора;
  • ввод-вывод;
  • команды управления[26].

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

Выполнение программы в процессоре состоит следующих этапов.

  1. Считывание команды из памяти.
  2. Декодирование команды в микрооперации.
  3. Исполнение команды.
  4. Запись результатов[27].

При выполнении программ могут возникать особые случаи, при которых процессор должен реагировать на внешние события, возникновение которых заранее не известно. Типовыми примерами являются взаимодействие с операционной системой, сбой, обмен данными с периферийными устройствами, командная ошибка и подобные. Такие особые случаи называют прерываниями. Для обработки прерывания нужно использовать специальные команды, вызывающие прерывание процессора, запускающие реализующую алгоритм прерывания подпрограмму, а затем восстанавливающие то состояние процессора, которое было до остановки работы программы, из которой вышли на прерывание[28] [6, 9, 12].

2.2.1. CISC

Complex Instruction Set Computing является концепцией проектирования процессоров, характеризующаяся следующим набором свойств:


  • сложная кодировка инструкции;
  • введение большого числа различных режимов адресации;
  • большое число различных по длине и формату команд[29].

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, но параллельная обработка таких инструкций является более сложной[30].

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

В качестве недостатка CISC-архитектуры можно отметить нерегулярность потока команд[31] [10, 11, 12].

2.2.2. RISC

Reduced Instruction Set Computing представляет собой процессор с сокращенным набором команд, характеризующийся упрощенным видом системы команд, одинаковым форматом всех команд с простой кодировкой и обращением к памяти посредством команд загрузки и записи. Поступающая в процессор команда уже разделена по полям, не требуя дополнительной дешифрации[32].

Часть кристалла процессора освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в CISC-архитектуре, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает оперативную память, центральное процессорное устройство дешевле. Отсутствует программная совместимость между CISC и RISC, отладка программ на RISC более сложна, но данная технология может быть реализована программно-совместимым с технологией CISC[33].

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

В качестве достоинств RISC-архитектуры выделяют снижение нерегулярности потока команд и обогащение пространственным параллелизмом[34] [7, 10, 12].

2.2.3. MISC

Multipurpose lnstruction Set Computer сочетает преимущества архитектур CISC и RISC. Элементная база MISC состоит из двух частей, которые либо объединены, либо выполнены в отдельных корпусах. Основная часть – процессор RISC, расширяемый подключением второй части – процессорным устройством микропрограммного управления. Система приобретает свойства CISC. Основные команды работают на процессоре RISC, а команды расширения преобразуются в адрес микропрограммы. Процессор RISC выполняет все команды за один такт, а вторая часть эквивалентна процессору со сложным набором команд. Наличие постоянного запоминающего устройства устраняет недостаток RISC, который выражен в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, которая занимает много места в оперативной памяти. Поскольку микропрограмма уже открыта для программиста и дешифрована, то времени выборки из оперативной памяти на дешифрацию не требуется[35] [4].


2.2.4. VLIW

Very long instruction word переводится как сверхдлинное командное слово. VLIW является архитектурой процессоров с явно выраженным параллелизмом вычислений, который заложен в систему команд процессора. VLIW являются основой для архитектуры EPIC. Ключевым отличием от суперскалярных CISC-процессоров является тот факт, что для них загрузкой исполнительных устройств занимается часть процессора, на что отводится достаточно малое время тогда, когда загрузкой вычислительных устройств для VLIW-процессора занимается компилятор, на что отводится существенно больше времени[36].

VLIW характеризуется тем, что одна инструкция процессора содержит несколько операций, выполняемых параллельно. Фактически это микропрограммное управление, видимое программисту, при котором машинный код представляет собой лишь немного свернутый микрокод для непосредственного управления аппаратурой[37].

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

VLIW можно считать логическим продолжением идеологии RISC, которое расширяет ее на архитектуры с несколькими вычислительными модулями. Так же, как в RISC, в инструкции явно указывается, что именно должен делать каждый модуль процессора. Из-за этого длина инструкции может достигать 128 или даже 256 бит[38].

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

В то же время код для VLIW обладает невысокой плотностью. Из-за большого количества пустых инструкций для простаивающих устройств программы для VLIW-процессоров могут быть гораздо длиннее, чем аналогичные программы для традиционных архитектур[39].

Архитектура VLIW выглядит довольно непривычной и экзотической для программиста. Из-за сложных внутренних зависимостей кода является достаточно сложным программирование вручную, на уровне машинных кодов для VLIW-архитектур, поэтому приходится полагаться на оптимизацию компилятора[40] [1, 7, 9, 12].