Средства разработки приложений


             

чтобы темп выдачи команд составлял


чтобы темп выдачи команд составлял одну команду на такт.

Пусть исполнение команды состоит из 3-х этапов

по 1 процессорному такту на каждый:

1) чтение команды из памяти (Ч);

2) декодирование (Д);

3) исполнение (И).

Последовательное исполнение команд
Этапы Ч1 Д1 И1 Ч2 Д2 И2 Ч3 Д3 И3
Такты ® 1 2 3 4 5 6 7 8 9
Конвейерное исполнение команд
Устройство чтения: Ч1 Ч2 Ч3 Ч4 Ч5 Ч6 Ч7    
Устройство декодирования:   Д1 Д2 Д3 Д4 Д5 Д6 Д7  
Устройство исполнения:     И1 И2 И3 И4 И5 И6 И7
Такты ® 1 2 3 4 5 6 7 8 9
Конвейерное суперскалярное исполнение команд
Устройство чтения 1: Ч1 Ч2 Ч3 Ч4 Ч5 Ч6 Ч7    
Устройство декодирования 1:   Д1 Д2 Д3 Д4 Д5 Д6 Д7  
Устройство исполнения 1:     И1 И2 И3 И4 И5 И6 И7
Устройство чтения 2: Ч1 Ч2 Ч3 Ч4 Ч5 Ч6 Ч7    
Устройство декодирования 2:   Д1 Д2 Д3 Д4 Д5 Д6 Д7  
Устройство исполнения 2:     И1 И2 И3 И4 И5 И6 И7
Такты ® 1 2 3 4 5 6 7 8 9
Рис. 1. Последовательное и параллельное исполнение команд

Естественным развитием средств конвейерной обработки явились процессоры с множественной выдачей команд на исполнение (multiple issue processors) - суперскалярные и VLIW-процессоры. Суперскалярный процессор исполняет обычный последовательный код, но может выбирать в нем и выдавать на выполнение одновременно несколько команд - не более n, где n - темп выдачи команд данного процессора. Различаются суперскалярные процессоры с упорядоченной и неупорядоченной выдачей команд на исполнение. Процессор первого типа выдает команды на исполнение в точности в том порядке, в котором они закодированы в программе. На каждом такте на исполнение выдается от 1 до n очередных команд с учетом возможности их параллельного исполнения.

Содержание  Назад  Вперед