Глава 2 Основы построения буферной памяти (кэш-памяти)

2.1 ВВЕДЕНИЕ

2.2 ОСНОВНЫЕ ЭЛЕМЕНТЫ КЭШ-ПАМЯТИ

2.3 ЭКОНОМИЧЕСКАЯ И ЭКСПЛУАТАЦИОННАЯ ЭФФЕКТИВНОСТЬ

2.1 ВВЕДЕНИЕ

Несмотря на быстрое развитие технологии запоминающих устройств, во многих современных системах стоимость памяти является одной из основных характеристик аппаратной части ЭВМ. Как отмечено в гл. 1, буферная (или кэш) организация памяти является экономически эффективной даже в устройствах с относительно небольшой емкостью для достижения высокого быстродействия при незначительном возрастании стоимости хранения одного бита информации по сравнению с медленной памятью. Концепция кэш-памяти нашла практическое применение благодаря двум аспектам: программному и экономическому. Программный аспект заключается в том, что большинство стандартных пользовательских программ создается в соответствии с “принципом районирования”, который означает, что в любой момент времени адресуемая часть программы размещается в некоторой ограниченной части своего адресного пространства. Экономический аспект обусловлен отсутствием более дешевой по сравнению с кэшем технологии, позволяющей достичь аналогичных эксплуатационных характеристик. Кэш обеспечивает обмен памяти с процессором небольшим количеством информации с большой скоростью и тем самым создает впечатление, что большая основная память работает со скоростью кэша. До тех пор пока элементная база медленной памяти будет значительно дешевле, чем быстрой, кэш-память будет оставаться экономически эффективной. В настоящей главе будут описаны основные элементы кэш-памяти и приведены рекомендации по проектированию и анализу конкретного варианта кэша, иллюстрирующие, как, используя небольшую кэш-память, можно существенно улучшить эксплуатационные характеристики запоминающих устройств при небольшом возрастании их стоимости. Сначала будет рассмотрен простой метод проектирования и оценены различные параметры для иллюстрации этого метода. Более сложному методу проектирования и анализу различных аспектов буферных запоминающих устройств посвящены последующие главы.

2.2 ОСНОВНЫЕ ЭЛЕМЕНТЫ КЭШ-ПАМЯТИ

Идея, лежащая в основе создания буфера (кэша), заключается в использовании быстрого и относительно небольшого запоминающего устройства между процессором и основной памятью. Кэш служит звеном, согласующим скорости процессора и памяти, при этом все данные в процессор поступают из кэша. 1. Буферная память (или кэш-память) по существу состоит из небольшого быстродействующего запоминающего устройства, содержащего часть информации основной памяти. Такой информацией могут быть адреса, команды или данные. В соответствии с этим кэш может быть адресным, программным или кэшем данных. Быстродействие этого небольшого запоминающего устройства обычно на порядок выше, а емкость на один-два порядка меньше, чем у основной памяти. 2. В системе с кэш-памятью требуется идентификатор, или “признаковая память”, для того, чтобы определить, какие части информации основной памяти были скопированы в кэшпамять. В зависимости от организации обмена эти части могут быть словами, блоками или страницами. Специальная память, содержащая имена частей или адреса, обычно называется признаковой памятью, или справочником, и является ассоциативной. 3. В буферной памяти должна быть логическая схема, определяющая порядок удаления слов или блоков из кэша при необходимости записи в него новой информации из основной памяти. Такая логическая схема называется приоритетным списком обновления данных. 4. Для синхронизации различных действий, например обращения в признаковую память, выборки и перемещения данных, в систему кэш-памяти вводится устройство управления. Перечисленные требования в зависимости от конкретных условий проектирования и стоимости могут быть реализованы различными способами. Для наглядности рассмотрим структуру буферной памяти, представленную на рис. 2.1. Факторы, влияющие на размеры буфера, конкретные варианты его построения, схемные соображения, а также списки обновления данных будут рассмотрены в последующих главах.

2.3 ЭКОНОМИЧЕСКАЯ И ЭКСПЛУАТАЦИОННАЯ ЭФФЕКТИВНОСТЬ

На примере рис. 2.1 можно показать, почему буферная память является экономически выгодной. Для оценок мы будем использовать представленные фирмами-изготовителями

Рис. 2.1. Пример буферной памяти. данные на 1981—1983 гг. о стоимости и размерах оперативных и буферных запоминающих устройств, которые могут быть использованы в подобной системе. Следует иметь в виду, что стоимость запоминающих устройств со временем уменьшается, но соотношение стоимостей различных типов памяти почти не меняется. В данном примере рассматривается кэшпамять. Информация между кэшем и основной памятью передается блоками по 16 байт, а кэш и основная память организованы так, что в них имеются сверхдлинные слова в 16 байт. В этом случае обмен сверхдлинным машинным словом с основной памятью можно произвести за один цикл. В рассматриваемом примере емкость основной памяти равна 1 млн. байт (1 Мбайт) и адресация осуществляется 20-разрядным адресом. Способ адресации основной памяти иллюстрируется рис. 2.2. В данном случае мы имеем пример машины с адресуемыми байтами. .Четыре младших разряда адреса используются для адресации байта внутри каждого из 64 тыс. блоков, состоящих из 16 байт. В данном примере буфер содержит 256 блоков, каждый из которых включает 16 байт. Буфер организован как единое, полностью ассоциативное запоминающее устройство. Так как буфер имеет пространство для 256 блоков, признаковая память также имеет пространство для 256 элементов, каждый из которых соответствует блоку в 16 байт. Приоритетный список обновления данных организован как простой 256-разрядный регистр сдвига, один бит которого соответствует блоку информации в буфере.

Рис. 2.2. Адресный формат. Для сравнения стоимости буферной системы памяти с системой, не содержащей буфер, рассчитаем оптимальные эксплуатационные характеристики буферной системы памяти, а затем определим ее стоимость. Далее сравним полученные стоимость и эксплуатационные характеристики с параметрами системы памяти, состоящей из быстродействующих запоминающих элементов одного типа. Для того чтобы оценить эффективные характеристики системы памяти и максимально упростить анализ при расчете быстродействия буферной памяти, допустим, что для передачи информации в буфер из основной памяти, когда необходимо загрузить новый блок и удалить старый, используется простой алгоритм обмена. Таким образом, когда новое слово (или блок) должно быть передано из основной памяти в кэш, необходимое для него в кэше пространство освобождается за счет передачи старого слова (или блока) в основную память. Далее предполагается, что система памяти будет занята до тех пор, пока не завершится операция пересылки информации из одного запоминающего устройства в другое. Эффективное время цикла буферной системы памяти может быть рассчитано с помощью параметров системы и вероятности нахождения требуемого слова в буфере. Вероятность нахождения требуемых данных в буфере (вероятность удачного обращения) определяется как отношение числа запросов, при которых требуемые данные находились в буфере, к общему числу запросов. Характеристики системы могут быть вычислены с помощью следующих параметров: времени поиска указателя, вероятности удачного обращения, времени цикла кэш-памяти, или буферной памяти, времени цикла медленной памяти. Эти параметры определены в табл. 2.1. Таблица 2.1
TEFP эффективное время цикла для системы
TPRC время цикла чтения из буфера
TFWC время цикла записи в буфер
TSRH время поиска указателя
TSRC время цикла чтения из основной памяти
TSWC время цикла записи в основную память
HR вероятность нахождения требуемых данных в буфере
MR(1 - HR) вероятность отсутствия требуемых данных в буфере
TEFF = TSRH + HR TFC + (1-HR) (TSRH + TFC + TSRC + TSWC) TSRH + HR TFC Выборка из буфера (TSRH + TFC + TSRC + TSWC) Обращение к дополнительной памяти Значения параметров HR=0,95 TFC =TFRC= TFWC == 100нс TSRH =50 нс TSRC = TSWC =1200 нс TEFF = 50 + 0,95 X 100 + 0,05 (50 + 100 + 1200 + 1200) = 275 нс Используя значения быстродействия, приведенные в табл. 2.1, и положив вероятность удачного обращения равной 0,95, по данному в табл. 2.1 соотношению рассчитаем эффективное время цикла буферной системы памяти. Одним из наиболее критичных параметров системы является вероятность удачного обращения. В данном случае используется наиболее типичное значение этого параметра, а более детальное экспериментальное обоснование будет приведено позже. Подставив соответствующие величины, получим для данной системы памяти эффективное время цикла, равное 275 не. В табл. 2.2 приведен расчет стоимости системы на основе указанных на рис. 2.1 цен на один бит, включающей стоимости устройств, реализующих функции управления. Как видно из табл. 2.2, стоимость буферной системы лишь на 9,3 % больше стоимости одной медленной памяти. Быстродействие же возрастает более чем в 4 раза (275 не/1200 не). Для приблизительных вычислений можно принять, что стоимость большой памяти пропорциональна квадратному корню скорости. Таким образом, если бы запоминающее устройство с эффективным временем цикла 275 не было построено без буфера, а с помощью быстродействующих элементов памяти, его стоимость возросла бы в два раза по сравнению со стоимостью основной памяти. В части Б табл. 2.2 показан расчет стоимости такого быстродействующего запоминающего устройства. Таблица 2.2
А. Буферная система
Устройство управления 100,00
Переключатели 100,00
Буфер: 32 768 X 0,01 327,70
Указатель: 4096 X 0,05 204,80
Таблица обновления данных: 256 X 0,5 128,00
Основная память: 8 388 608 X 0,001 8388,60
Итого: 9249,10 долл
Увеличение стоимости 860,50 (9,3 %)
Повышение быстродействия 1200/275=4.36
Б. Система без буфера с быстрой основной памятью
8 388 608 X sqrt(4,36) X 0,001 == 17 516 долл.
Отметим, что используя небольшой быстродействующий буфер (приблизительно в 250 раз меньший по емкости и с быстродействием в 12 раз выше по сравнению с основной памятью) и учитывая, что вероятность нахождения требуемых данных в буфере большая, можно создать буферную систему памяти с высокими эксплуатационными характеристиками и меньшей стоимости по сравнению со стоимостью отдельного большого быстродействующего запоминающего устройства. В последующих главах будут подробно исследованы различные параметры проектирования, а также методики и алгоритмы, применяемые в системах с кэш-памятью.
Электронная библиотека  |