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

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

Операция диспетчеризации

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

Можно ли диспетчеризировать команды не по порядку? Чтобы ответить на этот вопрос, обратимся к рис


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