По характеру исполняемого кода и организации устройства управления выделяется несколько типов архитектур:
ñ Процессор со сложным набором инструкций.Эту архитектуру характеризует большое количество сложных инструкций, и как следствие сложное устройство управления. В ранних вариантах CISC-процессоров и процессоров для встроенных приложений характерны большие времена исполнения инструкций (от нескольких тактов до сотни), определяемые микрокодом устройства управления. Для высокопроизводительных суперскалярных процессоров свойственны глубокий анализ программы, внеочередное исполнение операций.
ñ Процессор с упрощённым набором инструкций. В этой архитектуре значительно более простое устройство управления. Большинство инструкций RISC-процессора сожержат одинаковое малое число операций (1, иногда 2-3), а сами командные слова в подавляющем числе случаев имеют одинаковую ширину (PowerPC, ARM), хотя бывают исключения (Coldfire). У суперскалярных процессоров — простейшая группировка инструкций без изменения порядка исполнения.
ñ Процессор с явным параллелизмом. Отличается от прочих прежде всего тем, что последовательность и параллельность исполнения операций и их распределение по функциональным устройствам явно определены программой. Такие процессоры могут обладать большим количеством функциональных устройств без особого усложнения устройства управления и потерь эффективности. Обычно такие процессоры используют широкое командное слово, состоящее из нескольких слогов, определяющих поведение каждого функционального устройства в течение такта.
ñ Процессор с минимальным набором инструкций. Эта архитектура определяется прежде всего свехмалым количеством инструкций (несколько десятков), и почти все они нуль-операндные. Такой подход даёт возможность очень плотно упаковать код, выделив под одну инструкцию от 5 до 8 бит. Промежуточные данные в таком процессоре обычно хранятся на внутреннем стеке, и операции производятся над значениям на вершине стека. Эта архитектура тесно связана с идеологией программирования на языке Forth и обычно используется для исполнения программ, написанных на этом языке.
ñ Процессор с изменяемым набором инструкций. Архитектура, позволяющая перепрограммировать себя, изменяя набор инструкций, подстраивая его под решаемую задачу.
ñ Транспорт-управляемый процессор. Архитектура изначально ответвилась от EPIC, но принципиально отличающаяся от остальных тем, что инструкции такого процессора кодируют функциональные операции, а так называемые транспорты — пересылки данных между функциональными устройствами и памятью в произвольном порядке.
По способу хранения программ выделяется две архитектуры:
ñ Архитектура фон Неймана. В процессорах этой архитектуры используется одна шина и одно устройство ввода-вывода для обращения к программе и данным.
ñ Гарвардская архитектура. В процессорах этой архитектуры для выборки программ и обмена данным существуют отдельные шины и устройства ввода-вывода. Во встроенных микропроцессорах, микроконтроллерах и ПЦОС это также определяет существование двух независимых запоминающих устройств для хранения программ и данных. В центральных процессорах это определяет существование отдельного кэша инструкций и данных. За кэшем шины могут быть объединены в одну посредством мультиплексирования.
Литература
1. Микропроцессоры: В 3-х кн. / Под ред. Преснухина. М.: Высшая шко-ла, 1986.