PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Память. Нижний уровень

Память. Нижний уровень

Многоуровневая КЭШ-память

Современные технологии позволяют разместить КЭШ-память и ЦП на общем кристалле. Такая внутренняя КЭШ-память строится по технологии статического ОЗУ и является наиболее быстродействующей.

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

Общую емкость КЭШ-памяти ЭВМ увеличивают за счет второй (внешней) КЭШ-памяти, расположенной между внутренней КЭШ- памятью и ОЗУ. Такая система известна под названием двухуровневой, где внутренней КЭШ-памяти отводится роль первого уровня (L1), а внешней — второго уровня (L2). Емкость L2 может быть значительной (до 1 МБ).

При доступе к памяти ЦП сначала обращается к КЭШ-памяти первого уровня. В случае промаха производится обращение к КЭШ-памяти второго уровня. Если информация отсутствует и в L2, выполняется обращение к ОЗУ и соответствующий блок заносится сначала в L2, а затем и в L1. Благодаря такой процедуре часто запрашиваемая информация может быть быстро восстановлена из КЭШ-памяти второго уровня. Для ускорения обмена информацией между ЦП и L2 между ними часто вводят специальную шину, так называемую шину заднего плана, в отличие от шины переднего плана, связывающую ЦП с основной памятью.

Количество уровней КЭШ-памяти не ограничивается двумя. В некоторых ЭВМ можно встретить КЭШ-память третьего уровня (L3). Ведутся активные дискуссии о введении также и КЭШ-памяти четвертого уровня (L4). Характер взаимодействия очередного уровня с предшествующим аналогичен описанному для L1 и L2. Таким образом, можно говорить об иерархии КЭШ-памяти. Каждый последующий уровень характеризуется большей емкостью, меньшей стоимостью, но и меньшим быстродействием, хотя оно все же выше, чем у ЗУ основной памяти.

Пакетная передача данных

Пакетная передача данных(Burst Mode) предназначена для быстрых операций со строками КЭШа. Строка КЭШа процессора, например, имеет длину 16 байт, следовательно, для ее пересылки требуется четыре 32-разрядных шинных цикла. В этом режиме адрес и сигналы идентификации типа шинного цикла выдаются только в первом такте пакета. В каждом из последующих тактов могут передаваться данные, адрес для которых уже не передается по шине, а вычисляется из первого такта, по правилам, известным и процессору, и внешнему устройству. В пакетный цикл процессор может преобразовать любой внутренний запрос на множественную передачу.

Пакетный цикл (см. рисунок ниже) начинается процессором так же, как и обычный: на внешней шине устанавливается адрес, сигналы идентификации типа цикла и формируется строб ADS#. В следующем такте передается первая порция данных, и, если она не единственная, сигнал BLAST# имеет пассивное значение. Если адресованное устройство поддерживает пакетный режим, оно должно ответить сигналом BRDY# вместо сигнала RDY# по готовности данных в первой же передаче данных цикла. В этом случае процессор продолжит цикл как пакетный, не вводя такта адресации-идентификации (с сигналом ADS#), а сразу перейдет к передаче следующей порции данных.

Нормально о завершении пакетного цикла процессор сообщает устройству сигналом BLAST#, который выдается в такте последней передачи пакета. Если у процессора есть намерения собрать пакет, а устройство отвечает сигналом RDY#, данные будут передаваться обычными циклами. Введением сигнала RDY# вместо BRDY# внешнее устройство может в любой момент прервать пакетную передачу, и процессор ее продолжит обычными циклами. В идеальном варианте (без тактов ожидания) для передачи 16 байт в пакетном режиме требуется всего 5 тактов шины вместо восьми, которые потребовались бы при обычном режиме обмена

пакетная передача данных

Временная диаграмма пакетного режима загрузки КЭШ- памяти

Пакетная передача данных предполагает соблюдение одних и тех же правил формирования последующих адресов как процессором, так и внешним устройством (памятью). Во время пакетного цикла процессора старшие биты адреса А[Зl:4] остаются неизменными (как и сигналы идентификации M/IO#, D/C#, W/R#. Изменяться могут только биты А[З:2] и сигналы ВЕ[З:О] (у процессоров с 64-битной шиной данных неизменны А[Зl:5], меняются только А[4:З] и ВЕ[7:0]). Таким образом, один пакетный цикл не может пересекать границу строки КЭШа. Кроме того, имеется специфический порядок следования адресов в пакетном цикле, который определяется начальным адресом пакета (задается процессором) и разрядностью передачи (задается устройством сигналами ВS1б# и ВS8#).

 

Подкатегории