|
Память: ОЗУ, 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 это память с коррекцией ошибок, позволяет найти, а также исправить ошибку одного бита в байте. Применяется в основном на серверах.
Примечание: она медленнее обычной, не годится для людей любящих скорость.
Надеюсь, после прочтения статьи вы разобрались с более популярными "непонятными понятиями".
|
|