Смекни!
smekni.com

Работа «Оперативка» (стр. 6 из 11)

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

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

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

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

Контроллер кэша оперирует строками (cache line) фиксированной длины. Строка может хранить копию блока основной памяти, размер которого, естествен­но, совпадает с длиной строки. С каждой строкой кэша связана информация об адресе скопированного в нее блока основной памяти и ее состоянии. Строка мо­жет быть действительной (valid) — это означает, что в текущий момент времени она достоверно отражает соответствующий блок основной памяти, или недей­ствительной. Информация о том, какой именно блок занимает данную строку (то есть старшая часть адреса или номер страницы) и о ее состоянии, называется тегом (tag) и хранится в связанной с данной строкой ячейке специальной памя­ти тегов (tag RAM). В операциях обмена с основной памятью обычно строка участвует целиком (несекторированный кэш), для процессоров 486 и выше дли­на строки совпадает с объемом данных, передаваемых за один пакетный цикл (для 486 — это 4x4 = 16 байт, для Pentium — 4 х 8 = 32 байт). Возможен и ва­риант секторированного (sectored) кэша, при котором одна строка содержит не­сколько смежных ячеек — секторов, размер которых соответствует минималь­ной порции обмена данных кэша с основной памятью. При этом в записи ката­лога, соответствующей каждой строке, должны храниться биты действительности для каждого сектора данной строки. Секторирование позволяет экономить память, необходимую для хранения каталога при увеличении объема кэша, поскольку большее количество бит каталога отводится под тег и выгоднее исполь­зовать дополнительные биты действительности, чем увеличивать глубину индекса (количество элементов) каталога.

SRAM различается по принципу работы. Существует три типа:

1. Async SRAM (Asynchronous Static Random Access Memory) - асинхронная статическая память с произвольным порядком выборки;

2. SyncBurst SRAM (Synchronous Burst Random Access Memory) – синхронная пакетная статическая память с произвольным порядком выборки;

3. PipBurst SRAM (Pipelined Burst Random Access Memory) – конвейерная пакетная статическая память с произвольным порядком выборки;

Async SRAM – это устаревший тип памяти, асинхронный интерфейс которой схож с интерфейсом DRAM и включает в себя шины адреса, данных и управления. SyncBurst SRAM – этот тип памяти синхронизирован с системной шиной и лучше всего подходит для выполнения пакетных операций. Ну а интерфейс PipBurst SRAM схож с интерфейсом SyncBurst SRAM, но позволяет получать данные без тактов ожидания.

Глава 3. Разъёмы

3.1 DIP.

DIP-корпус —это исторически сама древняя реализация DRAM. DIP-корпус соответствует стандарту IC. Обычно это маленький черный корпус из пластмассы, по обеим сторонам которого располагаются металлические контакты (см. рисунок B.3.1.).

Рис.3.1.1 Стандартный DIP-корпус

Микросхемы динамического ОЗУ устанавливаются так называемыми банками. Банки бывают на 64, 256 Кбайт, 1 и 4 Мбайт. Каждый банк состоит из девяти отдельных одинаковых чипов. Из них восемь чипов предназначены для хранени информации, а девятый чип служит для проверки четности остальных восьми микросхем этого банка.

Чипы памяти бывают одно и четырехразрядными, и иметь емкость 64 Кбит, 256 Кбит, 1 и 4 Мбит. Обозначение разновидностей микросхем памяти в DIP-корпусах показано в таблице.

Следует отметить, что памятью с DIP-корпусами комплектовались персональные компьютеры с микропроцессорами i8086/88, i80286 и, частично, i80386SX/DX. Установка и замена этого вида памяти была нетривиальной задачей. Мало того, что приходилось подбирать чипы для банков памяти одинаковой разрядности и емкости. Приходилось прилагать усилия и смекалку, чтобы чипы правильно устанавливались в разъемы. К тому же необходимо было не разрушить контакты механически, не повредить их инструментом, статическим электричеством, грязью и т.п. Поэтому уже в компьютерах с процессором i80386DX эти микросхемы стали заменять памяти SIPP и SIMM.

3.2 SIPP

Одной из незаслуженно забытых конструкций модулей памяти являются SIPP-модули. Эти модули представляют собой маленькие платы с несколькими напаянными микросхемами DRAM.

Рис.3.2.1 Стандартный SIPP-корпус

SIPP является сокращением слов Single Inline Package. SIPP-модули соединяются с системной платой с помощью контактных штырьков. Под контактной колодкой находятся 30 маленьких штырьков (смотри рисунок B.3.3.), которые вставляются в соответствующую панель системной платы.

Модули SIPP имели определенные вырезы, которые не позволяли вставить их в разъемы неправильным образом. По мнению автора, этот вид модулей лидировал по простоте их установки на системную плату.

3.3 SIMM, DIMM и RIMM

В большинстве современных компьютеров вместо отдельных микросхем памяти используются модули SIMM или DIMM, представляющие собой небольшие платы, которые устанавливаются в специальные разъемы на системной плате или плате памяти. Отдельные микросхемы так припаены к плате модуля SIMM или DIMM, что выпаить и заменить их практически невозможно. При появлении неисправности приходится заменять весь модуль. По существу, модуль SIMM или DIMM можно считать одной большой микросхемой.

В РС совместимых компьютерах применяются в основном два типа модулей SIMM: 30-контактные (9разрядов) и 72-контактные (36 разрядов). Первые из них меньше по размерам. Микросхемы в модулях SIMM могут устанавливаться как на одной, так и на обеих сторонах платы. Использование 30-контактных модулей неэффективно, поскольку для заполнения одного банка памяти новых 64-разрядных систем требуется восемь таких модулей.

72-пиновые разъемы SIMM ожидает та же участь, которая несколькими годами раньше постигла их 30-пиновых предшественников: те уже давно не производятся. Им на смену в 1996 г. пришел новый разъем DIMM со 168 контактами, а после и разъем RIMM. Если на SIMM реализовывались FPM и EDO RAM, то на DIMM более современная технология SDRAM. В системную плату модули SIMM необходимо было вставлять только попарно, а DIMM можно выбрать по одному, что связано с разрядностью внешней шины данных процессоров Pentium. Такой способ установки предоставляет больше возможностей для варьирования объема оперативной памяти.

Первоначально материнские платы поддерживали оба разъема, но уже довольно продолжительное время они комплектуются исключительно разъемами DIMM. Это связано с упомянутой возможностью устанавливать их по одному модулю и тем, что SDRAM обладает большим быстродействием по сравнению с FPM и EDORAM.

Если для FPM и EDO памяти указывается время чтения первой ячейки в цепочке (время доступа), то для SDRAM указывается время считывания последующих ячеек. Цепочка - несколько последовательных ячеек. На считывание первой ячейки уходит довольно много времени (60-70 нс) независимо от типа памяти, а вот время чтения последующих сильно зависит от типа.

В качестве оперативной памяти также используются модули RIMM, SO-DIMM и SO-RIMM. Все они имеют разное количество контактов. Модули SIMM сейчас встречаются только в старых моделях материнских плат, а им на смену пришли 168-контактные DIMM. Модули SO-DIMM и SO-RIMM, имеющие меньшее количество контактов, чем стандартные DIMM и RIMM, широко используются в портативных устройствах.

Рис.3.3.1 Модуль памяти SO-DIMM

При установке совпадение форм-факторов модуля и разъема не всегда стопроцентно гарантирует работоспособность модуля. Для сведения к минимуму риска использования неподходящего устройства применяются так называемые ключи. В модулях памяти такими ключами являются один или несколько вырезов. Этим вырезам на разъеме соответствуют специальные выступы. Так в модулях DIMM используется два ключа. Один из них (вырез между 10 и 11 контактами) отвечает за буферизованность модуля (модуль может быть буферизованным или небуферизованным), а второй (вырез между 40 и 41 контактами) - за рабочее напряжение (может быть 5 В или 3,3 В).

Рис.3.3.2 Модуль памяти DDR DIMM

Использование модулей памяти с покрытием контактов, отличным от покрытия контактов разъема также допускается. Хотя утверждают, что материал, используемый для покрытия модулей и разъемов, должен совпадать. Мотивируется это тем, что при различных материалах возможно появление гальванической коррозии, и, как следствие, разрушение модуля. Хотя такое мнение не лишено оснований, но, как показывает опыт, использование модулей и разъемов с разным покрытием никак не сказывается на работе компьютера.