- •1 Определения
- •2 Параметры мп
- •2.1 Mips (gips- giga- миллиард операций в секунду)
- •2.2 Flops
- •2.2.1 Флопс как мера производительности
- •2.2.2 Границы применимости
- •2.2.3 Причины широкого распространения
- •2.2.4 Обзор производительности реальных систем
- •2.2.4.1 Суперкомпьютеры
- •2.2.4.2 Персональные компьютеры
- •2.2.4.3 Процессоры
- •2.2.4.4 Карманные компьютеры
- •3 Классификация Архитектур процессоров
- •3.1 Архитектура фон Неймана
- •3.1.1 Принципы фон Неймана
- •3.1.2 Компьютеры, построенные на принципах фон Неймана
- •3.2 Гарвардская Архитектура
- •3.2.1 История
- •3.2.2 Классическая гарвардская архитектура
- •3.2.3 Модифицированная гарвардская архитектура
- •3.2.4 Расширенная гарвардская архитектура
- •3.2.5 Гибридные модификации с архитектурой фон-Неймана
- •3.2.6 Использование
- •4. Конвейеры
3.2.6 Использование
Первым компьютером, в котором была использована идея гарвардской архитектуры, был Марк I.
Гарвардская архитектура используется в ПЛК и микроконтроллерах, таких, как Atmel AVR, Intel 4004,
Intel 8051.
В Intel(фон-Неймановская)-архитектуре:
"+", "-" - 3 такта
знаковые "+", "-" - 4 такта
"*", ":" - 5 тактов
знаковые "*",":" - 6 тактов
В Гарвардской архитек-ре:
"+", "-" - 2 такта
знаковые "+", "-" - 3 такта
"*", ":" - 3 такта
знаковые "*",":" - 4 такта
Для примера: вот такая операция z=a+b*c в микропроцессоре фон-неймановской архитектуры выполниться за
8-10 тактов, а в микропроцессоре гарвардской архитектуры - за 4-5 тактов.__
4. Конвейеры
Первоначальный 8086 процессор имеет 14 регистров, которые используются до сих пор. Четыре регистра общего назначения – AX, BX, CX и DX. Четыре сегментных регистра, которые используют для облегчения работы с указателями – CS (Code Segment), DS (Data Segment), ES (Extra Segment) и SS (Stack Segment). Четыре индексных регистра, которые указывают на различные адреса в памяти – SI (Source Index), DI (Destination Index), BP (Base Pointer) и SP (Stack Pointer). Один регистр содержит битовые флаги. И, наконец, регистр IP (Instruction Pointer).
IP регистр – это указатель с особой функцией, его задача указывать на следующую инструкцию, которая подлежит исполнению.
Все процессоры в x86 семействе следуют одному и тому же принципу. Сначала они следуют указателю на инструкцию и декодируют следующую команду по этому адресу. После декодирования следует этап выполнения этой инструкции. Некоторые инструкции читают из памяти или пишут в нее, другие производят вычисления, сравнения или другую работу. Когда работа окончена, команда проходит через этап отставки (retire stage) и IP начинает указывать на следующую инструкцию.
Конвейер-способ организации вычислений, используемый в современных процессорах и контроллерах с целью повышения их производительности (увеличения числа инструкций, выполняемых в единицу времени), технология, используемая при разработке компьютеров и других цифровых электронных устройств.
Простой пятиуровневый конвейер в RISC-процессорах.
I
F
(англ. Instruction
Fetch) —
получение инструкции,ID (англ. Instruction Decode) — раскодирование (получение) инструкции,
EX (англ. Execute) — выполнение,
MEM (англ. Memory access) — доступ к памяти,
WB (англ. Register write back) — запись в регистр.
Вертикальная ось — последовательные независимые инструкции, горизонтальная — время. Зелёная колонка описывает состояние процессора в один момент времени, в ней самая ранняя, верхняя инструкция уже находится в состоянии записи в регистр, а самая последняя, нижняя инструкция — только в процессе чтения.
Пример: Сумма А+B=C.
Эта инструкция суммирует значения, находящиеся в ячейках памяти A и B, а затем кладет результат в ячейку памяти C.
Загрузка в А из регистра1
Загрузка в В из регистра2
Сложение А и В в С
Результат С в регистр3
Преимущества:
Время цикла процессора уменьшается, таким образом увеличивая скорость обработки инструкций в большинстве случаев.
Некоторые комбинационные логические элементы, такие, как сумматоры или умножители, могут быть ускорены путем увеличения количества логических элементов. Использование конвейера может предотвратить ненужное наращивание количества элементов.
Недостатки:
Бесконвейерный процессор исполняет только одну инструкцию за раз. Это предотвращает задержки веток инструкций (фактически каждая ветка задерживается), и проблемы, связанные с последовательными инструкциями, которые исполняются параллельно. Следовательно, схема такого процессора проще, и он дешевле для изготовления.
Задержка инструкций в бесконвейерном процессоре слегка ниже, чем в конвейерном эквиваленте. Это происходит из-за того, что в конвейерный процессор должны быть добавлены дополнительные триггеры.
У бесконвейерного процессора скорость обработки инструкций стабильна. Производительность конвейерного процессора предсказать намного сложнее, и она может значительно различаться в разных программах.
Конвеерный пузырь (ступор конвейера)- ситуация, которая следующие за первой команды ждут, пока первая не пройдет этапы исполнения и записи результата. И только после этого вторая команда могла продолжить путь по конвейеру.
Процессор
i486 имел 5-уровневый конвейер – загрузка
(Fetch), основное декодирование (D1), вторичное
декодирование или трансляция (D2),
выполнение (EX), запись результата в
регистры и память (WB). Каждый этап
конвейера мог содержать по инструкции.
Суперскалярный конвейер i486.
В процессорах 486 использовался конвейер с ядром с внеочередным исполнением.
Далее в Pentium появилось использование параллельных суперскалярных конвееров.
