Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Виды архитектуры кэшей (ассоциативная, частично ассоциативная, прямог отображения)

Поиск

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

Частично-ассоциативный кэш является наиболее распространенным в данный момент среди процессорных архитектур. Характеризуется тем или иным количеством n «каналов» (степенью ассоциативности, «п-way») и может отображать содержимое данной строки памяти на каждую из n своих строк. Этот вариант является разумным компромиссом между полностью ассоциативным и кэшем «прямого отображения».

В современных процессорах, как правило, используется либо кэш-память с прямым отображением, либо двух- (четырех-) канальная множественно ассоциативная кэш-память. Например, в архитектурах К7 и К8 применяется 16-канальный частично-ассоциативный кэш L2.

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

В кэш-памяти прямого отображения адрес памяти, по которому происходит обращение, однозначно определяет строку кэша, в которой может находиться требуемый блок. Принцип работы такого кэша поясним на примере несекторированного кэша объемом 256 Кбайт с размером строки 32 байта и объемом кэшируемой основной памяти 64 Мбайт — типичный кэш системной платы для Pentium. Кэшируемая основная память условно разбивается на страницы (в данном случае 256), размер которых совпадает с размером кэш-памяти (256 Кбайт). Кэш-память (и условно страницы основной памяти) делится на строки (256К / 32 = 8К строк). Архитектура прямого отображения подразумевает, что каждая строка кэша может отображать из любой страницы кэшируемой памяти только соответствующую ей строку (на рисунке они находятся на одном горизонтальном уровне). Поскольку объем основной памяти много больше объема кэша, на каждую строку кэша может претендовать множество блоков памяти с одинаковой младшей частью адреса (смещением внутри страницы). Одна строка в определенный момент может, естественно, содержать копию только одного из этих блоков. Номер (адрес) строки в кэш-памяти называется индексом (index). Тег несет информацию о том, какой именно блок занимает данную строку (то есть старшая часть адреса или номер страницы). Память тегов должна иметь количество ячеек, равное количеству строк кэша, а ее разрядность должна быть достаточной, чтобы вместить старшие биты адреса кэшируемой памяти, не попавшие на шину адреса кэш-памяти. Кроме адресной части тега с каждой строкой кэша связаны биты признаков действительности и модифицированности данных. Такой кэш имеет самую простую аппаратную реализацию и применяется во вторичном кэше большинства системных плат.

Пакетный режим

Режим пакетной передачи (burst mode) предназначен для ускорения операций пересылки строк кэша. Этот режим появился в процессорах 486. Строка кэша процессора 486 имеет длину 16 байт, следовательно, для ее пересылки требуется четыре 32-разрядных шинных цикла. Для пересылки 32-байтной строки
кэша Pentium* требуется тоже четыре такта, поскольку разрядность передач составляет 64 бита. Использование кэша предполагает, что строка должна в нем присутствовать целиком. Пакетный цикл (burst cycle) оптимизирован именно для операций обмена внутреннего кэша с оперативной памятью. В этом цикле адрес и сигналы идентификации типа шинного цикла выдаются только в первом такте пакета, а в каждом из последующих тактов могут передаваться данные, адрес которых уже не пересылается по шине, а вычисляется из первого адреса по правилам, известным процессору и контроллеру памяти. Пакетные циклы связаны только с кэшируемой памятью, при этом кэшируемость памяти подразумевает и поддержку пакетного режима. Один пакетный цикл не может пересекать границу строки кэша. Специфический порядок следования адресов в пакетном цикле определяется начальным адресом пакета. Порядок чередования (interleaving) адресов, который иллюстрирует табл. 8.1, в пакетном цикле характерен для всех процессоров Intel и совместимых с ними, начиная с 486. Он оптимизирован для двухбанковой организации памяти, подразумевающей чередование банков, используемых в соседних передачах пакетного цикла. С точки зрения памяти, у каждой микросхемы во время пакетного цикла могут изменяться только два младших бита адреса (независимо от разрядности шины данных процессора). Данный порядок чередования поддерживает любая память с пакетным режимом: динамическая память BEDO DRAM, SDRAM, RDRAM и статическая память Sync Burst SRAM, РВ SRAM. Процессоры других семейств (например, Power PC) используют линейный (linear) порядок адресов в пакете. Микросхемы пакетной памяти обычно имеют входной сигнал или бит в регистре режима, задающий порядок следования адресов (линейный или с чередованием) для конкретного применения. Длина пакетного цикла может быть фиксированной или программируемой и составлять 2, 4 или 8 передач.

Чередование адресов



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 359; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.148.105.127 (0.006 с.)