Процессор

Классические архитектуры

Архитектура Фон-Неймана

Принципы:

  • Однородность памяти: команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы.
  • Адресность: структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка.
  • Программное управление: все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд.
  • Двоичное кодирование: вся информация, как данные, так и команды, кодируются цифрами 1 и 0.

Гарвардская архитектура

Принципы:

  • Неоднородность памяти: команды и данные хранятся раздельно, с асинхронным доступом к ним.
  • Адресность.
  • Программное управление.
  • Двоичное кодирование.

Компоненты процессора

  • Устройства ввода-вывода (УВВ) — передают данные с/на шину.
  • Устройство управления (УУ) — выбирает команды для выполнения с УВВ, передает арифметику и работу с данными на остальные компоненты.
  • Арифметико-логическое устройство (АЛУ).
  • Запоминающее устройство (ЗУ) — регистры и кэш-память.

АЛУ

Арифметико-логическое устройство (arithmetic and logic unit, ALU) — блок процессора для выполнения простых арифметических и логических преобразований над данными.

Входные данные — операнды.

АЛУ

  • FPU (floating point unit) — блок выполнения операций с плавающей запятой.
  • AGU (address generation unit) — блок вычисления адресов в памяти.

Память

Память

Регистр процессора — сверхбыстрая оперативная память внутри процессора.

Кэш-память — очень быстрая память небольшого размера, используется для уменьшения среднего времени доступа к оперативной памяти.

Архитектуры CISC и RISC

CISC

Complex Instruction Set Computer

  • Много команд на все случаи жизни.
  • Команды для сложных операций на несколько тактов.

Минусы:

  • Большое количество сложных команд отрицательно влияет на производительность.

RISC

Reduced Instruction Set Computer

  • Минимальный набор простых команд.
  • Высокая скорость выполнения.

Минусы:

  • Большое количество запускаемых команд (1 команда CISC ~= 4-5 команд RISC).

Принципы RISC

  • Все команды выполняются непосредственно аппаратным обеспечением.
  • Запуск как можно большего количества команд в секунду.
  • Команды должны легко декодироваться.
  • К памяти должны обращаться только команды загрузки и сохранения.
  • Регистров должно быть много.

Гибридная архитектура.

“Поздние” x86 процессоры (Intel Pentium 4, D, AMD Athlon, Phenom) — CISC-совместимы, но являются процессорами с RISC-ядром.

CISC-инструкции преобразуются в набор внутренних RISC-команд.

Алгоритм работы процессора

Алгоритм работы процессора

Параллелизм

Конвейерная архитектура

Суперскалярная архитектура

2 конвейера

VLIW

VLIW (very long instruction word) — архитектура процессоров с несколькими АЛУ.

Одна команда содержит несколько операций, которые должны выполняться параллельно.

Таксономия Флинна

Таксономия Флинна

  • SISD — обычная Фон-Неймановская машина без параллелизма.
  • SIMD — одни команды на всех процессорах, разные данные.
  • MISD — одни данные, разные команды для каждого процессора.
  • MIMD — команды и данные для всех процессоров разные.

Мультипроцессоры

Система из нескольких параллельных процессоров, имеющих общую память. Такие процессоры называются сильно связанными

Мультикомпьютеры (кластеры)

Системы из большого числа взаимосвязанных компьютеров, у каждого из которых есть собственная память.

Многопоточность

Способность процессора выполнять одновременно несколько потоков выполнения.

Поток выполнения — наименьший набор команд, который может выполняться (планироваться) независимо от других.

Многопоточность

  • Временная
  • Одновременная
  • Кластерная

Временная многопоточность

Крупнозернистая (Coarse-grained):

Временная многопоточность

Мелкозернистая (Fine-grained):

Одновременная многопоточность

Используется в процессорах с суперскалярной архитектурой. На этапе выполнения команд могут выполняться команды относящиеся к разным потокам.