Рассмотрим основные аппаратные средства суперскалярных процессоров — средства обработки команд и данных, а также средства исполнения команд.
Кэш-память
Для ускорения доступа процессора к основной памяти между ними размещается быстродействующая буферная память, которая называется кэш-памятью (просто кэшем). В современных универсальных процессорах используется до трех уровней внутренней кэш-памяти команд и данных, которая существенно повышает производительность процессора благодаря доступу к командам и данным с тактовой частотой процессора (единицы гигагерц); в связи со значительным сокращением числа обращений к внешней памяти, которые выполняются с более низкой частотой системной шины (десятки мегагерц).
Модуль кэша содержит устройство управления памятью и буфер трансляции адреса (Translation Lookaside Buffer — TLB), который преобразует адрес ячейки внешней памяти в соответствующий адрес обращения к кэш-памяти. В буфер TLB записываются базовые адреса страниц памяти команд и данных, к которым выполнялись последние обращения. При обращении к ним их базовые адреса считываются из буфера, что ускоряет формирование физического адреса.
Интерфейсные средства
Связь процессора с основной памятью и внешними устройствами осуществляется по системной шине (магистрали), состоящей из отдельных шин адреса, данных и управляющих сигналов. Шина данных является двунаправленной. По ней в процессор передаются команды (инструкции) и осуществляется обмен данными с основной памятью и внешними устройствами. Ширина шины для 32-разрядных процессоров составляет 64 бита, что способствует повышению интенсивности обмена данными. Для реализации протоколов обмена с системной шиной в процессорах имеется устройство (блок) шинного интерфейса (Bus Interface Unit — BIU). Блок BIU обеспечивает выдачу и прием:
- • необходимых сигналов для управления обменом, выполнения прерываний, захвата шин, снупинга (обращения внешнего устройства к внутреннему кэшу данных) и установки начального состояния (сигнал RESET);
- • битов четности, с помощью которых для каждого байта адреса и данных осуществляется контроль ошибок обращения к шине.
При некоторых технических решениях процессоров используется внешняя кэш-память второго уровня, выполненная на отдельной микросхеме, но размещенная в одном с процессором корпусе. Для обмена данными между процессором и внешним кэшем предусмотрена отдельная шина кэш-памяти (архитектура двойной независимой шины DIB). Интерфейсные средства таких процессоров содержат дополнительные контроллеры, поддерживающие требуемые протоколы обмена данными.
Для упорядочивания обращений к системной шине и кэш-памяти второго уровня могут быть использованы такие дополнительные интерфейсные средства как, например, буфер изменения порядка обращения (Memory Order Buffer — MOB).