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

Скорость команд остается прежней, но зато на единицу времени приходится большее их количество. При этом, как толь­ко на одной из ступеней конвейера возникает затор и работа не завершается за один такт, весь конвейер останавливается в ожидании завершения процесса. Если описанные ситуации возникают достаточно часто, производительность компью­тера снижается.

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

Очередь команд и упреждающая выборка

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


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