4. Аппаратные средства


Следующие за Pentium процессоры содержат большое число ступеней в конвейере. Это уменьшает время выполнения каждой операции в отдельной ступени, а значит, позволяет поднять тактовую частоту процессора.
В процессоре Pentium Pro (P6) применен новый подход к порядку выполнения команд, последовательно расположенных в ОЗУ.
Новый подход (он называется опережающим) заключается в использовании так называемого пула команд. При этом команды могут выполняться в произвольном порядке по мере их готовности (независимо от расположения в ОЗУ). Однако конечный результат формируется всегда в соответствии с исходным порядком команд в программе.
Рассмотрим в качестве примера следующий фрагмент учебной программы, записанной на некотором машинно-ориентированном языке.
Символами r1...r7 обозначены регистры общего назначения (РОН), символом mem[r4] – ячейка памяти ОЗУ.
Прокомментируем записанную программу.
Команда 1: записать в РОН r1 содержимое ячейки памяти ОЗУ, адрес которой указан в РОН r4.
Команда 2: записать в РОН r3 результат сложения содержимого регистров r1 и r2.
Команда 3: прибавить к содержимому регистра r5 единицу.
Команда 4: уменьшить содержимое РОН r6 на содержимое регистра r7.
Предположим, что при выполнении первой команды (загрузка операнда из памяти в регистр общего назначения r1) оказалось, что содержимое ячейки памяти mem [r4] отсутствует в кэш-памяти процессора (произошел промах, нужный операнд не был заранее доставлен в буфер из ОЗУ).
При традиционном подходе процессор перейдет к выполнению команд 2, 3, 4 только после того, как данные из ячейки mem[r4] основной памяти поступят в процессор (точнее, в регистр r1). Так как считывание будет происходить из медленно работающей основной памяти, этот процесс займет достаточно много времени (по меркам процессора). Все время ожидания этого события процессор будет простаивать, не выполняя полезной работы.
В приведенном примере процессор не может выполнить команду 2 до завершения команды 1, так как команда 2 использует результаты выполнения команды 1.



Сайт управляется системой uCoz