- •Режимы адресации ассемблера.
- •Арифметические команды Ассемблера.
- •Периферийные шины.
- •Последовательные универсальные шины.
- •Последовательная шина usb.
- •Семейство последовательных интерфейсов pci-Express.
- •Команды передачи управления
- •Системные платы.
- •Разновидности системных плат.
- •Чипсеты системных плат.
- •Доклад Игоря.
- •Классификация по Флинну.
- •Системы с конвейерной обработкой данных.
Системы с конвейерной обработкой данных.
Термин “совмещение операций” означает, что аппаратура компьютера в каждый момент времени выполняет больше одной базовой операции. Добиться этого можно двумя способами: параллелизмом или конвейеризацией.
Параллелизм.
Совмещение операций достигается путём воспроизведения в нескольких копиях аппаратуры. Высокая производительность обеспечивается за счёт одновременной работы всех элементов структуры.
Конвейеризация.
Основана на разделении функции на более мелкие части, которые называются ступенями, для каждой из которых выделяется отдельный блок аппаратуры.
Выполнение типичной команды при конвейерной обработке данных происходит в несколько пунктов:
IF – выборка команды по адресу из счётчика команд.
ID – декодирование команды, выборка операндов.
EX – выполнение операций вычисления эффективного (настоящего) адреса памяти.
MEM – обращение к памяти.
WB – запоминание результата.
Таблица задействования блоков при конвейеризации:
Команда |
Номера тактов |
||||||||
КОМА |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
I |
IF |
ID |
EX |
MEM |
WB |
|
|
|
|
i+1 |
|
IF |
ID |
EX |
MEM |
WB |
|
|
|
i+2 |
|
|
IF |
ID |
EX |
MEM |
WB |
|
|
i+3 |
|
|
|
IF |
ID |
EX |
MEM |
WB |
|
i+4 |
|
|
|
|
IF |
ID |
EX |
MEM |
WB |
КОМА – это номер блока.
Конвейеризация увеличивает пропускную способность процессора, но не сокращает время выполнения каждой отдельной команды. На самом деле это время даже увеличивается, потому что выполняется несколько команд одновременно.
Конвейеризация эффективна тогда и только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых команд и операндов близка к максимальной скорости конвейера. Если происходит задержка, то суммарная производительность уменьшается, и может произойти конфликт.
Например, не сумел блок i обратиться к памяти в четвёртом такте, и работа продолжилась только в пятом такте, к которому уже обращается блок i+1. Происходит конфликт.
Существует три класса конфликтов:
Структурные конфликты: аппаратные средства не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения совмещением.
Конфликт по данным, когда результат выполнения одной команды зависит от результата выполнения другой команды.
Конфликты по управлению, возникающие при использовании команд переходов и некоторых других команд, изменяющих IP.
Принципы векторной обработки:
перед каждой скалярной операцией нужно вызвать и декодировать скалярную команду.
для каждой команды нужно вычислить адреса данных.
данные берутся из памяти, результат помещается в память.
Примеры использования конвейеризации: матричные вычислительные системы, ассоциативные вычислительные системы (оба этих примера относится SIMD-классу).