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

Схема обработки команд таким процессором приведена на рис. 9.10. Помимо выборки команд из очереди блок диспетчеризации выполняет их декодирование.

Чтобы конвейер функционировал эффективно, блок выборки должен обла­дать мощными средствами декодирования и обработки команд, позволяющими распознавать и выполнять команды перехода. Его задача — постоянное формиро­вание очереди команд, что уменьшит влияние на работу конвейера случайных за­держек при выборке очередных команд. Если останов конвейера вызван кон­фликтом по данным, блок диспетчеризации не может передавать следующим ступеням команды из очереди. Это, однако, не мешает блоку выборки продолжать извлекать команды и помещать их в очередь. Когда задержка при выборке коман­ды возникает из-за перехода или промаха во время обращения к кэшу, блок дис­петчеризации может продолжать извлекать команды из очереди и передавать их следующим блокам для выполнения.

Конвейерная обработка и система команд

Не все команды одинаково хорошо подходят для конвейерного выполнения. На­пример, использование команд с побочными эффектами сопряжено с нежелатель­ными зависимостями между данными


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