Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Буферная кэш-память ОЗУ




При высокой скорости работы системы, DRAM сильно ограничивает производительность ПЭВМ.

Для выравнивания времени доступа к СОЗУ (регистровая память), находящемуся в структуре самого CPU, и DRAM, между ними располагают буфер – кэш (Cache Memory), организованный на статической памяти (SRAM) сравнительно небольшого объема со временем доступа 20-25 нсек. Для эффективного использования кэш-памяти, программный модуль должен целиком помещаться в кэш, включая циклы переходов, как для команд, так и для данных.

Часто устанавливаются два отдельных кэша – кэш команд и – кэш данных.

При работе программы, отдельные модули программы копируются контроллером КЭШа из ОЗУ в кэш. При запросе от CPU команды или данных, сначала проверяется наличие нужных адресов в кэш (используя указатель адресов – кэш-ТЭГ). При наличии, отмечается кэш-попадание (cache-hit), иначе – кэш-промах (cache-miss) и, в последнем случае, информация целым модулем копируется из RAM в кэш.

Даже времена доступа к SRAM в 20-25 нсек оказываются недостаточными для современных высокоскоростных CPU типа Pentium-3, Pentium-4, поэтому непосредственно в CPU устанавливают еще один кэш, кэш первого уровня, со временами доступа 2 – 5 нсек.

Кэш-память требует управления от специального контроллера кэш-памяти, который размещается вместе с кэш соответствующего уровня.

Кэш-память также может стать источником ошибок, поэтому в современных программах настройки BIOS (SetUp-программы или NSetUp) предусмотрено отключение кэш-памяти первого и/или второго уровней. Это позволяет локализовать неисправность, возникающую либо в основной DRAM, либо в кэш-памяти первого или второго уровней. Ошибки кэш-памяти второго уровня устраняются заменой ИМС кэш-памяти (для этого они часто устанавливаются в chip-sockets), но ошибки кэш-памяти первого уровня не могут быть устранены без замены самого CPU. Сохранить работоспособность РС при неисправности кэш-памяти можно, хотя и с некоторым снижением производительности АПС, если отключить кэш соответствующего уровня.

Архитектура кэш-памяти может быть: с прямым отображением, частично ассоциативная и полностью ассоциативная.

При прямом отображении (direct mapped cache) каждая ячейка DRAM отображается непосредственно в одну ячейку SRAM. Перепись информации из RAM в кэш и обратно осуществляется целым блоком в объеме кэша.

При частично ассоциативной архитектуре каждая ячейка DRAM может отображаться в кэше по двум или более входам (каналам).

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

Для поиска информации, в кэше организуется специальное поле указателей – тэгов (TAG RAM). Эти тэги ассоциируются с искомым адресом и, для их хранения, в контроллерах КЭШ организована специальная память признаков, также выполненная на SRAM.

Частично ассоциативная память, чаще всего используемая на практике, разбивается на несколько областей. Внутри каждой области располагаются многобайтовые строки, содержащие как информацию, так и ключи поиска. В случае промаха, кэш-память заполняется построчно, причем обновляется строка из давно не использовавшихся данных. Этот принцип реализуется контроллером кэш-памяти и называется LRU (Least Recently Used – редко используемый).

Обращение к кэш-памяти происходит по физическим адресам, включающим несколько полей:

- младшее поле адреса (индекс-разряды) задает два или более входов в кэш, при этом в каждом наборе может быть несколько многобайтовых строк,

- среднее поле адреса указывает на конкретную ячейку в наборе,

- старшее поле – содержит информацию о том, имеется ли в кэше затребованный информационный массив, или нет.

Существуют следующие способы записи информации DRAM в КЭШ:

1) метод сквозной записи (Write Through), при котором по шине памяти производятся две записи: одна – в RAM, другая – в кэш. При этом одновременно имеются две копии данных, одна в кэш, другая в RAM;

2) метод буферизованной сквозной записи (Buffered Write Through). При этом методе запись из CPU в кэш происходит сначала в буферные стеки дисциплины FIFO, а затем уже сам контроллер кэш переписывает стеки в DRAM. При этом дополнительного цикла записи не требуется, но некоторое время в DRAM и кэше находится разная информация: в кэш – новая, а в DRAM – старая.

3) метод обратной записи (Write Back) – самый эффективный метод. Он использует наименьшее число циклов записи, но требует для своей реализации дополнительной аппаратной поддержки и поэтому применяется только в мультипроцессорных системах. При этом методе в DRAM и SRAM содержится различная информация. При записи в кэш, устанавливается статусный бит (Dirty Bit – "грязный"), при обновлении кэш-памяти этот бит проверяется и, если он установлен, то из кэш в DRAM переписывается полная строка данных (Cache Line). Опасность такого способа заключена в том, что при случайном сбое в работе РС, обновленная информация, уже имеющаяся в кэш и еще не переписанная в ОЗУ, может потеряться.

Контрольные вопросы.

1. Как выравниваются скорости работы CPU и DRAM?

2. Сколько уровней кэш-памяти могут иметь РС на базе CPU Pentium?

3. Как можно локализовать ошибки кэш-памяти?

4. Как сохранить работоспособность РС при неисправной кэш-памяти?

5. Какой архитектуры может быть организована кэш-память?

6. Какие существуют способы записи информации DRAM в кэш?




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 617; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.