Программирование на JAVA

2, а. В каждый момент процессор обрабатывает четы­ре команды. Это означает, что он содержит четыре отдельных функциональных блока (рис. 9.2, б).

Блоки должны решать свои задачи параллельно, не мешая друг другу. Инфор­мация передается от одного блока к другому через промежуточный буфер. По ме­ре обработки команды конвейером в промежуточные буферы должна поступать вся необходимая для очередной ступени информация. Вот какую информацию должен содержать буфер для четвертого такта.

Буфер Bl:   команда I3, выбранная на такте 3 и обработанная блоком деко­дирования команды.

Буфер В2: исходные операнды команды I2 и спецификация выполняемой операции. Эта информация сформирована схемами дешифратора на так­те 3. Буфер В2 включает также информацию, необходимую для шага W2, на котором осуществляется запись команды I2. Хотя она не нужна на сту­пени выполнения, на следующем такте она передается на ступень записи для осуществления соответствующей операции.

Буфер ВЗ: результаты, которые сгенерированы блоком выполнения ко­манды, и информация о месте назначения данных команды I1.


а


б

Рис. 9.2. Структура 4-ступенчатого конвейера: выполнение команды за 4 шага (а);


<< назад вперед >>