Типы и характеристики оперативной памяти
Память: ОЗУ, 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 - двойной канал, это позволяет обращаться одновременно к двум
модулям. Dual channel - это не тип модулей, а функция интегрированная в
материнскую плату. Может быть задействована с двумя (желательно)
идентичными модулями. Включается он автоматически при наличие 2-х
модулей. Примечание: чтобы активировать эту функцию, надо
установить модули в слоты разных цветов.
Parity и ECC Memory with Parity это
память с проверкой чётности, способна детектировать некоторые типы
ошибок. Memory with ECC это память с коррекцией ошибок,
позволяет найти, а также исправить ошибку одного бита в байте. Применяется
в основном на серверах. Примечание: она медленнее обычной, не
годится для людей любящих скорость.
Надеюсь, после прочтения статьи вы разобрались с более
популярными "непонятными понятиями".
Автор: Hydrogen
|