Типы и характеристики оперативной памяти

Типы и характеристики оперативной памяти

Память: ОЗУ, DDR SDRAM, SDR SDRAM, PC100, DDR333, PC3200 … как во всём этом разобраться?
Итак, первое что мы должны сделать это «разгладить» все сомнения и вопросы по поводу номиналов на памяти …

Самые распространённые типы памяти это:

• SDR SDRAM (обозначения PC66, PC100, PC133)
• DDR SDRAM (обозначения PC266, PC333 и т.д. или PC2100, PC2700)
• RDRAM (PC800)

Теперь для последующих объяснений, расскажу про тайминги и частоты.

Тайминг — это задержка между отдельными операциями, производимыми контроллером при обращении к памяти.

Если рассмотреть состав памяти, получим: всё её пространство представлено в виде ячеек (прямоугольники), которые состоят из определённого количества строк и столбцов.
Один такой «прямоугольник» называется страницей, а совокупность страниц называется банком.

Для обращения к ячейке, контроллер задаёт номер банка, номер страницы в нём, номер строки и номер столбца, на все запросы тратится время, помимо этого довольно большая затрата уходит на открытие и закрытие банка после самой операции чтения/записи.
На каждое действие требуется время, оно и называется таймингом.

Теперь рассмотрим поподробнее каждый из таймингов.
Некоторые из них не доступны для настройки - время доступа «CS#» (crystal select) этот сигнал определяет кристалл (чип) на модуле для проведения операции.

Кроме этого, остальные можно менять:

• RCD (RAS-to-CAS Delay) — это задержка между сигналами RAS (Row Address Strobe) и CAS (Column Address Strobe), данный параметр характеризует интервал между доступами на шину контроллером памяти сигналов «RAS#» и «CAS#».
• CAS Latency (CL) — это задержка между командой чтения и доступностью к чтению первого слова.
Введена для набора адресными регистрами гарантированно устойчивого уровня сигнала.
• RAS Precharge (RP) — это время повторной выдачи (период накопления заряда) сигнала «RAS#» - через какое время контроллер памяти будет способен снова выдать сигнал инициализации адреса строки.
Примечание: порядок операций именно таков (RCD-CL-RP), но зачастую тайминги записывают не по порядку, а по «важности» — CL-RCD-RP.
• Precharge Delay (или Active Precharge Delay; чаще обозначается как Tras) — это время активности строки.
Т.е. период, в течение которого закрывается строка, если следующая требуемая ячейка находится в другой строке.
• SDRAM Idle Timer (или SDRAM Idle Cycle Limit) — количество тактов, в течение которых страница остаётся открытой, после этого страница принудительно закрывается, либо для доступа к другой странице, либо для обновления (refresh).
• Burst Length — это параметр, который устанавливает размер предвыборки памяти относительно начального адреса обращения.
Чем больше его размер, тем выше производительность памяти.

Ну вот, вроде разобрались с основными понятиями о таймингах, теперь рассмотрим подробнее номиналы памяти (PC100, PC2100, DDR333 и т.д.).

Существует два типа обозначений для одной и той же памяти: одно — по «эффективной частоте» DDRxxx, а второе — по теоретической пропускной способности PCxxxx.

Обозначение «DDRxxx» исторически развилось из последовательности названий стандартов «PC66-PC100-PC133» — когда было принято скорость памяти ассоциировать с частотой (разве что ввели новое сокращение «DDR» для того, чтобы отличать SDR SDRAM от DDR SDRAM).

Одновременно с памятью DDR SDRAM появилась память RDRAM (Rambus), на которой хитрые маркетологи решили ставить не частоту, а пропускную способность — PC800.
При этом ширина шины данных как была 64 бита (8 байт) — так и осталась, то есть те самые PC800 (800 МБ/с) получались умножением 100 МГц на 8.

Естественно от названия ничего не поменялось, и PC800 RDRAM — суть та же самая PC100 SDRAM, только в другом корпусе …
Это ничего больше, чем стратегия для продаж, грубо говоря «наколоть людей».
В ответ компании, которые выпускают модули, стали писать теоретическую пропускную способность — PCxxxx.
Так появились PC1600, PC2100 и следующие …
При этом у DDR SDRAM эффективная частота выше в два раза, а значит и больше числа на обозначениях.

Вот пример соответствий обозначений:

• 100 МГц = PC1600 DDR SDRAM = DDR200 SDRAM = PC100 SDRAM = PC800 RDRAM
• 133 МГц = PC2100 DDR SDRAM = DDR266 SDRAM = PC133 SDRAM = PC1066 RDRAM
• 166 МГц = PC2700 DDR SDRAM = DDR333 SDRAM = PC166 SDRAM = PC1333 RDRAM
• 200 МГц = PC3200 DDR SDRAM = DDR400 SDRAM = PC200 SDRAM = PC1600 RDRAM
• 250 МГц = PC4000 DDR SDRAM = DDR500 SDRAM

Что же касается RAMBUS (RDRAM) писать много не буду, но всё же постараюсь ее вам представить.

Существует три разновидности RDRAM — «Base», «Concurrent» и «Direct».
Base и Concurrent это практически одно и тоже, но Direct имеет приличные отличия, поэтому расскажу про первые две обобщённо, а про последнюю — поподробней.

Base RDRAM и Concurrent RDRAM в основном отличаются только рабочими частотами: для первой частота составляет 250-300 MHz, а для второй этот параметр, соответственно, равен 300-350 MHz.
Данные передаются по два пакета данных за такт, так что эффективная частота передачи получается в два раза больше.
Память использует восьми битную шину данных, что, следовательно, дает пропускную способность 500-600 Mb/s (BRDRAM) и 600-700 Mb/s (CRDRAM).

Direct RDRAM (DRDRAM) в отличие от Base и Concurrent, имеет 16-битную шину и работает на частоте 400 MHz.
Пропускная способность Direct RDRAM составляет 1.6 Gb/s (учитывая двунаправленную передачу данных), что уже по сравнению с SDRAM (1 Gb/s для РС133) выглядит довольно неплохо.
Обычно, говоря о RDRAM, подразумевают DRDRAM, поэтому буква «D» в названии часто опускается.
При появлении этого типа памяти Intel создала чипсет для Pentium 4 — i850.

Самый большой плюс Rambus памяти это то, что чем больше модулей — тем больше пропускная способность, например до 1.6 Gb/s на один канал и до 6.4 Gb/s при четырех каналах.

Имеется также два недостатка, довольно значительных:

1. Лапки золотые и приходят в негодность, если плату памяти вытащить и вставить в слот больше 10 раз (примерно).
2. Завышенная цена, но многие находят очень хорошее применение этой памяти и готовы заплатить за них большие деньги.

Вот, пожалуй, и всё, мы разобрались с таймингами, названиями и номиналами, теперь я расскажу немного о различных немаловажных мелочах.

Вы наверняка видели в BIOS'e при настройках частоты памяти опцию By SPD что это значит?
SPD - Serial Presence Detect, это микросхема на модуле, в которую зашиты все параметры для работы модуля, это так сказать «значения по умолчанию».
Сейчас из-за появления «noname» компаний, стали записывать в этот чип имя производителя и дату.

Registered Memory это память с регистрами, которые служат буфером между контроллером памяти и чипами модуля.
Регистры уменьшают нагрузку на систему синхронизации и позволяют набирать очень большое количество памяти (16 или 24 гигабайт) не перегружая цепи контроллера.
Но данная схема имеет недостаток — регистры вносят задержку в 1 такт на каждую операцию, а значит — регистровая память медленнее обычной при прочих равных условиях.
То есть — оверклокеру неинтересна (да и сто́ит она очень дорого).

Dual channel — двойной канал, это позволяет обращаться одновременно к двум модулям.
Dual channel — это не тип модулей, а функция интегрированная в материнскую плату.
Может быть задействована с двумя (желательно) идентичными модулями.
Включается он автоматически при наличие 2-х модулей.
Примечание: чтобы активировать эту функцию, надо установить модули в слоты разных цветов.

Memory with Parity — это память с проверкой чётности, способна детектировать некоторые типы ошибок.

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

Автор: Hydrogen

^Наверх