|
|
Микропроцессорные архитектуры:
По характеру исполняемого кода и организации устройства управления выделяется несколько типов архитектур:
Процессор со сложным набором инструкций, англ. CISC — Complex Instruction Set Computer. Эту архитектуру характеризует большое количество сложных инструкций, и как следствие сложное устройство управления. В ранних вариантах CISC-процессоров и процессоров для встроенных приложений характерны большие времена исполнения инструкций (от нескольких тактов до сотни), определяемые микрокодом устройства управления. Для высокопроизводительных суперскалярных процессоров свойственны глубокий анализ программы, внеочередное исполнение операций.
Процессор с упрощённым набором инструкций, англ. RISC — Reduced Instruction Set Computer. В этой архитектуре значительно более простое устройство управления. Большинство инструкций RISC-процессора сожержат одинаковое малое число операций (1, иногда 2-3), а сами командные слова в подавляющем числе случаев имеют одинаковую ширину (PowerPC, ARM), хотя бывают исключения (Coldfire). У суперскалярных процессоров — простейшая группировка инструкций без изменения порядка исполнения.
Процессор с явным параллелизмом, англ. EPIC — Explicitly Parallel Instruction Computer (-ing, термин ® Intel, HP). Отличается от прочих прежде всего тем, что последовательность и параллельность исполнения операций и их распределение по функциональным устройствам явно определены программой. Такие процессоры могут обладать большим количеством функциональных устройств без особого усложнения устройства управления и потерь эффективности. Обычно такие процессоры используют широкое командное слово, состоящее из нескольких слогов, определяющих поведение каждого функционального устройства в течение такта.
Процессор с минимальным набором инструкций, англ. MISC — Minimal Instruction Set Computer. Эта архитектура определяется прежде всего свехмалым количеством инструкций (несколько десятков), и почти все они нуль-операндные. Такой подход даёт возможность очень плотно упаковать код, выделив под одну инструкцию от 5 до 8 бит. Промежуточные данные в таком процессоре обычно хранятся на внутреннем стеке, и операции производятся над значениям на вершине стека. Эта архитектура тесно связана с идеологией программирования на языке Forth и обычно используется для исполнения программ, написанных на этом языке.
Процессор с изменяемым набором инструкций, англ. WISC — Writable Instruction Set Computer. Архитектура, позволяющая перепрограммировать себя, изменяя набор инструкций, подстраивая его под решаемую задачу.
Транспорт-управляемый процессор, англ. TTA — Transort Triggered Architecture. Архитектура изначально ответвилась от EPIC, но принципиально отличающаяся от остальных тем, что инструкции такого процессора кодируют функциональные операции, а так называемые транспорты — пересылки данных между функциональными устройствами и памятью в произволном порядке.
По способу хранения программ выделяется две архитектуры:
Архитектура фон Неймана. В процессорах этой архитектуры используется одна шина и одно устройство ввода-вывода для обращения к программе и данным.
Гарвардская архитектура. В процессорах этой архитектуры для выборки программ и обмена данным существуют отдельные шины и устройства ввода-вывода. Во встроенных микропроцессорах, микроконтроллерах и ПЦОС это также определяет существование двух независимых запоминающих устройств для хранения программ и данных. В центральных процессорах это определяет существование отдельного кэша инструкций и данных. За кэшем шины могут быть объединены в одну посредством мультиплексирования.
По организации регистрового файла ФУ можно выделить следующие типы процессоров:
Регистровая архитектура — характеризуется свободным доступом к регистрам для выборки всех аргументов и записи результата. Элементарны арифметико-логические операции в таких процессорах кодируются в двух-, или трёхоперандные инструкции (регистр+регистр→регистр, иногда регистр результата совпадает с источником одного из агрументов).
Аккумуляторная архитектура — из регистров выделяется один из несколько регистров-аккумуляторов. Регистр-аккумулятор является источником одного из аргументов и приёмником результата вычислений. Операции кодируются как правило в однооперандные инструкции (аккумулятор+операнд→аккумулятор). Такая архитектура характерная для многих CISC-процессоров (напр. Z80).
Стековая архитектура — определяется организацией регистрового файла в виде стека, и косвенной адресацией регистров через указатель стека, который определяет положение вершины стека, операции производятся над значениями на вершине стека и результат кладётся также на вершину. Арифметические операци кодируются в нуль-операндные инструкции. Стековая архитектура является неотъемлемой частью MISC-процессоров.
Ivan Filippov 2009 ©
|
|