- Лекция 13. Виды и классификация архитектур
Архитектура - абстрактная модель функциональных возможностей процессора (средства, которыми может пользоваться программист)
Строгое определение:
Архитектура набора команд (Instruction set architecture) включает в себя два понятия:
- Система команд (инструкции аппаратно реализуемые в процессоре)
- Средства для выполнения команд:
- форматы данных
- системы регистров
- способы адресации
- модели памяти
-
Аккумуляторная архитектура
Архитектура на базе аккумулятора исторически возникла одной из первых. В ней для хранения одного из операндов арифметической или логической операции в процессоре имеется выделенный регистр — аккумулятор. В этот же регистр заносится и результат операции. Поскольку адрес одного из операндов предопределен, в командах обработки достаточно явно указать местоположение только второго операнда. Изначально оба операнда хранятся в основной памяти, и до выполнения операции один из них нужно загрузить в аккумулятор. После выполнения команды обработки результат находится в аккумуляторе и, если он не является операндом для последующей команды, его требуется сохранить в ячейке памяти. -
Регистровая архитектура
В машинах данного типа процессор включает в себя массив регистров (регистровый файл), известных как регистры общего назначения. Эти регистры можно рассматривать как явно управляемый кэш для хранения недавно использовавшихся данных. Регистровая архитектура допускает расположение операндов в одной из двух запоминающих сред: основной памяти или регистрах.Регистровая архитектура делится на два типа:
-
Load/store архитектура
Load/store архитектура представляет собой архитектуру набора команд, которая делит инструкции на две категории: доступ к памяти (загрузка и сохранение между памятью и регистрами) и операции ALU (которые происходят только между регистрами). -
Мостовая архитектура В мостовой архитектуре существует "мост" в основную память, благодаря чему в качестве операндов могут использоваться как значения из регистрового файла так и значения из основной памяти.
-
-
Стековая архитектура
В вычислительных машинах, где реализована архитектура на базе стека, операнды выбираются из двух верхних ячеек стековой памяти. Результат операции заносится в вершину стека.
CISC (complex instruction set computer) Архитектура с полным набором команд (относится к регистровой архитектуре набора команд)
Особенности:
- Имеет большое количество различных команд, каждая из которых выполняется несколько тактов
- Устройство управления с программируемой логикой
- Небольшое количество регистров общего назначения
- Различные форматы команд с разной длиной
- Преобладание двухадресной адресации
- Развитый механизм адресации операндов, включающий различный методы косвенной адресации
RISC (reduced instruction set computer) Архитектура с сокращенным набором команд (относится к load/store архитектуре набора команд).
Особенности:
- Большая часть команд выполняется за один такт
- Стандартная однословная длина всех команд, равная естественной длине слова и ширине шины данных и допускающая унифицированную конвейерную обработку всех команд
- Малое число стандартных команд (не более 128)
- Малое количество форматов команд (не около 4)
- Малое число способов адресации (не более 4)
- Доступ к памяти только посредством команд чтения и записи (load/store)
- Все команды, кроме чтения и записи, используют внутрипроцессорные межрегистровые пересылки
- Устройство управления с аппаратной (жесткой) логикой
VLIW (very long instruction word)
Архитектура с длинным командным словом (грубо говоря, объединение нескольких RISC процессоров работающих параллельно).
Особенности:
- Сложный регистровый файл, усложненные связи с вычислительными устройствами
- Большой объем программного кода
- Невозможность миграции программ, написанных под другие архитектуры
- Сложность отладки
-
Переход происходит или не происходит исходя из значений флагов, формируемых операционными устройствами
-
Специальные операции меняют содержимое регистра состояний (state register). Команда условного перехода происходит, если содержимое регистра состояний соответствует выполняемой инструкции
-
Инструкции работы с данными
- Перемещение данных
- Модификация данных
- Арифметические
- Логические
- Сдвига
- Сравнения
-
Инструкции управления
- Управление программой
- Условный переход
- Безусловный переход
- Управления процессором
- Управление программой
- Непосредственная (операнд содержится внутри инструкции)
- Прямая (указывается адрес операнда в основной памяти)
- Регистровая (указывается адрес регистра в регистровом файле)
- Косвенно-регистровая (указывается адрес регистра, в кортом лежит адрес операнда в основной памяти)
- Косвенно-регистровая со смещением (указывается адрес регистра, в котором лежит базовый адрес, к которому прибавляется константа из инструкции, полученное число является адресом операнда в основной памяти)
- Относительная (является суммой регистра специального назначения и константы)
- 0 - Нет операндов
- 0 - Подразумеваемый операнд
- 1 - один операнд
- 2 - два операнда
- Ссылка на видеозапись лекции