CISC процессоры. RISC процессоры. MISC процессоры

CISC (англ. Complex instruction set computing, или англ, complex instruction set computer — компьютер с полным набором команд) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

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

Типичными представителями являются процессоры на основе команд х86 (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, которые являются гибридными) и процессоры Motorola МС680х0.

Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel х86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC- процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров х86 в более простой набор внутренних инструкций RISC.

В микропроцессор встраивается аппаратный транслятор, превращающий команды х86 в команды внутреннего RISC-процессора. При этом одна команда х86 может порождать несколько RISC-команд (в случае процессоров типа Р6 — до четырёх RISC-команд в большинстве случаев). Исполнение команд происходит на суперскалярном конвейере одновременно по несколько штук.

Это потребовалось для увеличения скорости обработки CISC- команд, так как известно, что любой CISC-процессор уступает RISC- процессорам по количеству выполняемых операций в секунду. В итоге, такой подход и позволил поднять производительность CPU.

Недостатки CISC архитектуры: высокая стоимость аппаратной части; сложности с распараллеливанием вычислений.

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

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

RISC (англ, restricted (reduced) instruction set computer — компьютер с сокращённым набором команд) — архитектура процессора, в которой быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливание инструкций между несколькими исполнительными блоками).

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

Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.

Количество инструкций

Нередко слова «сокращённый набор команд» понимаются как минимизация количества инструкций в системе команд. В действительности, инструкций у многих RISC-процессоров больше, чем у CISC-процессоров. Некоторые RISC-процессоры вроде транспьютеров фирмы INMOS (англ.) имеют наборы команд не меньше, чем, например, у CISC-процессоров IBM System/370; и наоборот — CISC-процессор DEC PDP-8 имеет только 8 основных и несколько расширенных инструкций.

На самом деле, термин «сокращённый» в названии описывает тот факт, что сокращён объём (и время) работы, выполняемый каждой отдельной инструкцией — как максимум один цикл доступа к памяти, — тогда как сложные инструкции CISC-процессоров могут требовать сотен циклов доступа к памяти для своего выполнения.

Некоторые архитектуры, специально разработанные для минимизации количества инструкций, сильно отличаются от классических RISC-архитектур и получили другие названия: Minimal instruction set computer (MISC), Zero instruction set computer

(Компьютер с нулевым набором команд), Ultimate RISC (также называемый OISC), Transport triggered architecture (ТТА) и т. п.

Характерные особенности RISC-процессоров:

  • - Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
  • - Специализированные команды для операций с памятью — чтения или записи. Операции вида Read-Modify-Write («прочитать- изменить-записать») отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
  • - Большое количество регистров общего назначения (32 и более).
  • - Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.
  • - Отсутствие микропрограмм внутри самого процессора. То, что в CISC-процессоре исполняется микропрограммами, в RISC- процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALcode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.

MISC (англ, minimal instruction set computer — «компьютер с минимальным набором команд») — вид процессорной архитектуры.

Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно большое слово (связку, bound). Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных. Кроме этого MISC использует стековую модель вычислительного устройства и основные команды работы со стеком языка Forth.

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

5.5. Теговая архитектура. Разрядно-модульная архитектура

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

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

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

Заключается в задании не только типа хранимых данных, но и длины операнда, занятости ячейки и т.д. Используются дополнительные флаги:

  • - Бит занятости. Определяет, свободна ячейка или занята.
  • - Бит захвата. Необходимость выполнения прерывания при доступе к ячейке.
  • - Биты защиты — определяет, какие обращения допустимы к этой «порции» данных (только чтение, только запись, чтение/запись).
  • - Длина данных.

Преимущества механизма тегирования:

  • - Компактная система команд.
  • - Строгий контроль типов.
  • - Более простые компиляторы. Меньший объем кода.
  • - Уменьшение интенсивности пересылки основная память — процессор, т.к. уменьшается код программы, загружающий интерфейс на 50%, а увеличивается объем читаемых данных, загружающий интерфейс на 30%.

Недостатки теговой организации:

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

Разрядно-модульная архитектура.

Большинство известных процессоров имеют фиксированную разрядность выполнения операций: 8,16,32 или 64 разряда. При необходимости изменение разрядности обработки данных осуществляется программным путем, то есть за счет усложнения программы. В то же время выпускаются процессоры, состоящие из отдельных разрядных секций, и допускающие аппаратное наращивание разрядности обрабатываемых данных путем параллельного включения нужного количества таких секций. Аналогичным образом решается задача расширения адресного пространства микропрограммируемого процессора — применением требуемого числа секций устройства управления адресацией микрокоманд.

Вопросы и задания для самоконтроля

Список вопросов:

  • 1. Что такое процессор? Опишите классификацию процессоров.
  • 2. Перечислите основные характеристики процессоров.
  • 3. Перечислите основные компоненты ЦП компьютера.
  • 4. Опишите алгоритм работы ЦП.
  • 5. Опишите принципы параллелизма на уровне команд и процессов.
  • 6. Как реализована выборка и исполнение команд?
  • 7. Матричные компьютеры и принцип их работы.
  • 8. Что такое мультипроцессоры и мультикомпьютеры?
  • 9. Что такое система команд? Что такое архитектура системы команд?
  • 10. Опишите CISC процессоры. Назовите их достоинства и недостатки.
  • 11. Опишите RISC процессоры. Перечислите их особенности и отличия от CISC процессоров?
  • 12. Опишите MISC процессоры. В чём их отличие от RISC процессоров?
  • 13. Опишите понятие «матричный процессор».
  • 14. Что такое «процессор с конвейерной обработкой»? Пример типового конвейера команд.
  • 15. Какие виды процессоров с конвейерной обработкой существуют?
  • 16. Что такое теговая архитектура? Расширенная теговая архитектура? Недостатки теговой архитектуры.
  • 17. Что входит в понятие «сигнальные процессоры»? Перечислите особенности этих процессоров.
  • 18. Опишите свойства систолической структуры. Где она применяется?
  • 19. Что такое суперскалярный процессор?
  • 20. В чём отличия VLIW-машин от суперскалярных процессоров?
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >