1. Узел извлечения\декодирования – извлекает по порядку команды из КЭШ – команд декодирует, формирует последовательность микроопераций и запоминает их в буфере микрокоманд
2. Буфер микрокоманд – хранит последовательность микрокоманд готовых к выполнению.
3. Распределение\выполнение – планирует выполнение микрокоманд, операций, учитывая их зависимость от данных и доступности необходимых ресурсов. Микрокоманды могут быть отправлены на выполнение совсем в другом порядке чем в том, в котором они были сформированы в буфере микрокоманд. Если позволяет время, то данный узел организует прогнозируемое выполнение микрооперации после команд условного перехода. При выполнении микроопераций узел извлекает из КЭШ данных необходимые данные и временно сохраняет их в регистрах.
4. Узел завершения – определяет когда можно будет считать окончательным результат микрооперации и зафиксировать его в КЭШ L1. Этот же узел извлекает из буфера микрокоманд те результаты, выполнение которых уже были зафиксированы и запоминает в КЭШ L1.
Структура КЭШ-данных
КЭШ-данных разделён на 128 секций по две строки в каждой, таким образом в КЭШ имеется два раздела ёмкостью по 4К. Один раздел объединяет все 0 строки секций, а другой все 1. Каждой строке ставится в соответствие поле тега и два вида состояний. Эти теги и биты объединяются в два массива, так что, в одном массиве имеется один элемент для каждой строки из нулевого раздела, в другом – один элемент из первого раздела. Тег включает в себя 25 старших разрядов адреса блока данных, который хранится в соответствующей строке. В контролере КЭШ для обновления информации используется алгоритм LRU, поэтому с каждой секцией связан один бит LRU.
Для поддержания информационной целостности данных используется метод обратной записи (т.е. данные обновляются в ОП только тогда, когда они удаляются из КЭШ). Но в процессоре Pentium II имеется возможность поменять метод обратной записи на метод сквозной записи. Информационная целостность данных обеспечивает протокол MESI. В соответствии с этим протоколом в КЭШ на каждый ТЭГ имеется два бита, которые несут информацию о текущем состоянии строки: M – изменена (данная строка в КЭШ была изменена, причём эти изменения не отображены в ОП). E – эта строка содержит те же данные, что и соответствующий блок ОП, причем они присутствуют только в данном КЭШ. S – эта строка содержит те же данные, что и блок ОП, причём эти данные присутствуют во всех КЭШ. I – эта строка содержит не обновлённые данные.
Управление КЭШ
Внутренний КЭШ процессора управляет двумя битами одного из управляемых регистров. CD – блокировка КЭШ. NW – запрет сквозной записи