• Процессор
  • Классические архитектуры
    • Архитектура Фон-Неймана
    • Гарвардская архитектура
  • Компоненты процессора
    • АЛУ
    • АЛУ
  • Память
    • Память
  • Архитектуры CISC и RISC
    • CISC
    • RISC
    • Принципы RISC
    • Гибридная архитектура.
  • Алгоритм работы процессора
    • Алгоритм работы процессора
    • Параллелизм
    • Конвейерная архитектура
    • Суперскалярная архитектура
    • 2 конвейера
    • VLIW
    • Таксономия Флинна
    • Таксономия Флинна
    • Мультипроцессоры
    • Мультикомпьютеры (кластеры)
    • Многопоточность
    • Многопоточность
    • Временная многопоточность
    • Временная многопоточность
    • Одновременная многопоточность

Процессор

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

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

Принципы:

  • Однородность памяти: команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы.
  • Адресность: структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка.
  • Программное управление: все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд.
  • Двоичное кодирование: вся информация, как данные, так и команды, кодируются цифрами 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):

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

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

// reveal.js plugins