Оперативка

Недостатком можно посчитать придуманные производителем режимы управления питанием модулей. Если напряжение питания 2,5 В стало практически стандартом для всех новых технологий памяти DRAM, то режимы работы Асtive (активный), Standby (ожидания), NAP ("спящий") и PowerDown (отключение питания) - собственное изобретение Rambus. Самое интересное, что микросхема, не обменивающаяся в текущий момент данными с контроллером, автоматически переводится в режим ожидания, иначе возможен перегрев системы, так как тактовые частоты весьма высоки. На переключение же из режима Standby в активное состояние требуется 100 нс.

Хочется отметить, что реальная пропускная способность RDRAM существенно ниже заявленных Rambus значений. После появления системного набора Intel 820 с поддержкой DR DRAM были проведены сравнительные тесты с другими типами памяти. Оказалось, что на большинстве реальных задач RDRAM уступает даже SDRАМ, работающим на частоте 133 МГц. В значительной мере это объясняют более узкой шиной данных канала Rambus (16 бит) по сравнению с 64-битной шиной SDРАМ. С появлением чипсета VIА Ароllo Рго2бб, поддерживающего DDR DRАМ, картина для Rambus и Intel становится вовсе безрадостной.

2.2 Память типа SRAM

Существует тип памяти, совершенно отличный от других - статическая оперативная память (Static RAM – SRAM). Она названа так потому, что, в отличии от динамической оперативной памяти, для сохранения ее содержимого не требуется периодической регенерации. Но это не единственное ее преимущество. SRAM имеет более высокое быстродействие, чем динамическая оперативная память, и может работать на той же частоте, что и современные процессоры.

Время доступа SRAM не более 2 нс, это означает, что такая память может работать синхронно с процессорами на частоте 500 МГц или выше. Однако для хранения каждого бита в конструкции SRAM используется кластер из 6 транзисторов. Использование транзисторов, без каких либо конденсаторов означает, что нет необходимости в регенерации. Пока подается питание, SRAM будет помнить то, что сохранено.

SRAM

Рис.2.2.1 Ячейка SRAM

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

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

В переводе слово «cache» (кэш) означает «тайный склад», «тайник» («занач­ка»). Тайна этого склада заключается в его «прозрачности» — адресуемой облас­ти памяти для программы он не добавляет. Кэш является дополнительным быс­тродействующим хранилищем копий блоков информации из основной памяти, вероятность обращения к которым в ближайшее время велика. Кэш не может хранить копию всей основной памяти, поскольку его объем во много раз меньше объема основной памяти. Он хранит лишь ограниченное количество блоков дан­ных и каталог (cache directory) — список их текущего соответствия областям основной памяти. Кроме того, кэшироваться может и не вся оперативная па­мять, доступная процессору: во-первых, из-за технических ограничений может быть ограничен максимальный объем кэшируемой памяти; во-вторых, некото­рые области памяти могут быть объявлены некэшируемыми (настройкой регис­тров чипсета или процессора). Если установлено оперативной памяти больше, чем возможно кэшировать, обращение к некэшируемой области ОЗУ будет мед­ленным. Таким образом, увеличение объема ОЗУ, теоретически всегда благотвор­но влияющее на производительность, может снизить скорость работы опреде­ленных компонентов, попавших в некэшируемую память. В ОС Windows память распределяется, начиная с верхних адресов физической памяти, в результате чего в некэшируемую область может попасть ядро ОС.

При каждом обращении к памяти контроллер кэш-памяти по каталогу про­веряет, есть ли действительная копия затребованных данных в кэше. Если она там есть, то это случай кэш-попадания (cache hit) и данные берутся из кэш­памяти. Если действительной копии там нет, это случай кэш-промаха (cache miss), и данные берутся из основной памяти. В соответствии с алгоритмом кэ­ширования блок данных, считанный из основной памяти, при определенных условиях заместит один из блоков кэша. От интеллектуальности алгоритма за­мещения зависит процент попаданий и, следовательно, эффективность кэши­рования. Поиск блока в списке должен производиться достаточно быстро, что­бы «задумчивостью» в принятии решения не свести на нет выигрыш от приме­нения быстродействующей памяти. Обращение к основной памяти может на­чинаться одновременно с поиском в каталоге, а в случае попадания — преры­ваться (архитектура Look aside). Это экономит время, но лишние обращения к основной памяти ведут к увеличению энергопотребления. Другой вариант: об­ращение к основной памяти начинается только после фиксации промаха (ар­хитектура Look Through), при этом теряется, по крайней мере, один такт про­цессора, зато экономится энергия.

Кэш в современных компьютерах строится по двухуровневой, а иногда и трех­уровневой схеме.

Первичный кэш, или L1 Cache (Level 1 Cache), — кэш 1 уровня, внутрен­ний (Internal, Integrated) кэш процессоров класса 486 и выше, а также не­которых моделей 386.

Вторичный кэш, или L2 Cache (Level 2 Cache), — кэш 2 уровня. Для про­цессоров вплоть до Pentium (и аналогичных) это внешний (External) кэш, установленный на системной плате. В Р6 и более мощных процессорах вторичный кэш расположен в одном корпусе с процессором, и для таких процессоров дополнительный кэш на системную плату уже не устанавли­вается.

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

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

Кэш-контроллер должен обеспечивать когерентность (coherency) — согласо­ванность данных кэш-памяти обоих уровней с данными в основной памяти при том условии, что обращение к этим данным может производиться не только про­цессором, но и другими активными (bus-master) адаптерами, подключенными к шинам (PCI, VLB, ISA и т. д.). Следует также учесть, что процессоров может быть несколько, и у каждого может быть свой внутренний кэш.


Страница: