Skip to content

Latest commit

 

History

History
148 lines (103 loc) · 12.2 KB

13. Processor architecture classification.md

File metadata and controls

148 lines (103 loc) · 12.2 KB

Лекция 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)
  • Все команды, кроме чтения и записи, используют внутрипроцессорные межрегистровые пересылки
  • Устройство управления с аппаратной (жесткой) логикой

../.pic/Lectures/13.%20Processor%20architecture%20classification/fig_01.png


VLIW (very long instruction word)

../.pic/Lectures/13.%20Processor%20architecture%20classification/fig_02.png

Архитектура с длинным командным словом (грубо говоря, объединение нескольких RISC процессоров работающих параллельно).

Особенности:

  • Сложный регистровый файл, усложненные связи с вычислительными устройствами
  • Большой объем программного кода
  • Невозможность миграции программ, написанных под другие архитектуры
  • Сложность отладки

Классификация архитектур по способу реализации условных переходов

  • Переход происходит или не происходит исходя из значений флагов, формируемых операционными устройствами

  • Специальные операции меняют содержимое регистра состояний (state register). Команда условного перехода происходит, если содержимое регистра состояний соответствует выполняемой инструкции

Классификация инструкций

Классификация инструкций по функциональному назначению

  • Инструкции работы с данными

    • Перемещение данных
    • Модификация данных
      • Арифметические
      • Логические
      • Сдвига
      • Сравнения
  • Инструкции управления

    • Управление программой
      • Условный переход
      • Безусловный переход
    • Управления процессором

Классификация инструкций по способу адресации операндов

  • Непосредственная (операнд содержится внутри инструкции)
  • Прямая (указывается адрес операнда в основной памяти)
  • Регистровая (указывается адрес регистра в регистровом файле)
  • Косвенно-регистровая (указывается адрес регистра, в кортом лежит адрес операнда в основной памяти)
  • Косвенно-регистровая со смещением (указывается адрес регистра, в котором лежит базовый адрес, к которому прибавляется константа из инструкции, полученное число является адресом операнда в основной памяти)
  • Относительная (является суммой регистра специального назначения и константы)

Классификация инструкций по количеству операндов в инструкции

  • 0 - Нет операндов
  • 0 - Подразумеваемый операнд
  • 1 - один операнд
  • 2 - два операнда

Основные материалы лекции

  1. Ссылка на видеозапись лекции