Files
APS/Lectures/13. Processor architecture classification.md
2023-12-11 21:11:00 +03:00

144 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лекция 13. Виды и классификация архитектур
## Содержание
- [Лекция 13. Виды и классификация архитектур](#лекция-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](../.pic/Lectures/13.%20Processor%20architecture%20classification/fig_01.png)
---
**VLIW** (very long instruction word)
![../.pic/Lectures/13.%20Processor%20architecture%20classification/fig_02.png](../.pic/Lectures/13.%20Processor%20architecture%20classification/fig_02.png)
Архитектура с длинным командным словом (грубо говоря, объединение нескольких RISC процессоров работающих параллельно).
**Особенности**:
- Сложный регистровый файл, усложненные связи с вычислительными устройствами
- Большой объем программного кода
- Невозможность миграции программ, написанных под другие архитектуры
- Сложность отладки
---
### Классификация архитектур по способу реализации условных переходов
- Переход происходит или не происходит исходя из значений _флагов_, формируемых операционными устройствами
- Специальные операции меняют содержимое _регистра состояний_ (state register). Команда условного перехода происходит, если содержимое регистра состояний соответствует выполняемой инструкции
## Классификация инструкций
### Классификация инструкций по функциональному назначению
- **Инструкции работы с данными**
- Перемещение данных
- Модификация данных
- Арифметические
- Логические
- Сдвига
- Сравнения
- **Инструкции управления**
- Управление программой
- Условный переход
- Безусловный переход
- Управления процессором
### Классификация инструкций по способу адресации операндов
- Непосредственная (операнд содержится внутри инструкции)
- Прямая (указывается адрес операнда в основной памяти)
- Регистровая (указывается адрес регистра в регистровом файле)
- Косвенно-регистровая (указывается адрес регистра, в кортом лежит адрес операнда в основной памяти)
- Косвенно-регистровая со смещением (указывается адрес регистра, в котором лежит базовый адрес, к которому прибавляется константа из инструкции, полученное число является адресом операнда в основной памяти)
- Относительная (является суммой регистра специального назначения и константы)
### Классификация инструкций по количеству операндов в инструкции
- 0 - Нет операндов
- 0 - Подразумеваемый операнд
- 1 - один операнд
- 2 - два операнда
### Основные материалы лекции
1. [Ссылка](https://www.youtube.com/watch?v=w4KbkQSDJLU) на видеозапись лекции