Итак, мы с Вами начинаем изучать ядро современного
компьютера - оперативную память, процессор, чипсет. С какого компонента следует
начать? Можно начать с процессора, так как именно процессор является мозгом
компьютера и от его быстродействия зависит быстродействие всей системы в первую
очередь. Но изучение процессоров не может происходить в отрыве от изучения
чипсетов, так как именно чипсет является тем связующим компонентом, который
объединяет все элементы системы воедино. Именно от чипсета зависит, может ли в
данной системной плате работать данный процессор, от чипсета зависит, какие
технологии поддерживаются в данной системе и т.д. Фактически процессор без
чипсета - никому не нужное устройство. Мы изберем такую последовательность
изложения - сначала процессоры, затем чипсеты. Очевидно, что и тип
поддерживаемой в данной системе оперативной памяти зависит от чипсета. Казалось
бы, разобравшись с чипсетами, затем можно изучать и память. Но! Мы поступим с
Вами совершенно наоборот, мы начнем изучать ядро системы именно с изучения
оперативной памяти, потому, что сегодня на рынке оперативной памяти происходит
такая война технологий, что практически эффективность того или иного чипсета
нередко определяется только тем, какой тип оперативной памяти он поддерживает!
Можно привести примеры "мертвых" чипсетов, чипсетов, которые были
хороши в рамках своего времени, но не поучили никакого распространения только
потому, что поддерживали (в силу неких причин, о которых мы с Вами поговорим)
не тот тип оперативной памяти, который требует рынок. Фактически, не зная
особенностей рынка оперативной памяти, понять перипетии борьбы производителей
на рынке чипсетов невозможно, как и понять чем один чипсет принципиально лучше
другого, и, как следствие, изучать чипсеты, не представляя себе современных
технологий оперативной памяти - во многом тратить время зря. Именно поэтому
первым компонентом компьютера, который мы с Вами начнем изучать подробно будет
оперативная память.
В современный компьютер оперативная память
устанавливается с помощью специальных модулей в соответствующие разъемы на
материнской плате. И, естественно, мы с Вами изучим, как эти модули называются,
чем отличаются. Но модуль памяти - это всего лишь договоренность о форме и
размерах маленькой платки с припаянными чипами и о разъеме, куда она
устанавливается. Ведь в первую очередь модуль состоит из микросхем памяти, и
именно параметры микросхем (их архитектура и быстродействие) определяют
эффективность того или иного модуля. Поэтому давайте сразу договоримся, что мы,
с одной стороны, будем изучать типы памяти, т.е. логику организации тех или
иных типов чипов памяти, их быстродействие и эффективность; с другой стороны -
в компьютер устанавливаются именно модули, и мы изучим внешний вид и параметры
модулей, состоящих из чипов памяти конкретного типа (архитектуры).
Итак, начнем с изучения архитектур оперативной памяти.
Давайте в первую очередь определим, какими факторами определяется
производительность оперативной памяти.
Естественно было бы основным фактором
производительности системы оперативной памяти назвать ее пропускную
способность, т.е. количество мегабайт в секунду, которое способна считать
(записать) оперативная память. Разумеется, пропускная способность оперативной
памяти напрямую зависит от частоты работы чипов памяти и от ширины шины,
связывающей память и процессор, и обычно определяется как произведение ширины шины
на частоту ее работы. Например, ширина шины 64 бита, частота работы памяти 100
МГц, пропускная способность - 8 байт (64 бита) * 100 МГц = 800 Мбайт/с.
Но пропускная способность - не единственный фактор,
определяющий производительность подсистемы памяти. Важнейшим параметром также
является время доступа, т.е. временная задержка между запросом на выдачу
какой-либо информации из памяти и ее реальной выдачей. Какая память лучше: с
малой задержкой и малой пропускной способностью или с большой задержкой и большой
пропускной способностью? Однозначного ответа на этот вопрос, конечно, быть не
может. Если конкретная программа работает с большими массивами непрерывных
данных, т.е. лишь однажды получает доступ, а затем много линейно считывает, то
для такой программы оптимальна память с большой пропускной способностью, а если
программа оперирует малыми блоками данных, т.е. постоянно получает доступ к
разным областям памяти и понемногу читает из каждой области, то оптимальна
память с малым временем доступа, а пропускная способность имеет меньшее
значение. Так как обычно на компьютере исполняются разные приложения, то очень
трудно найти компромисс. В общем случае, естественно, необходимо стремиться к
тому, чтобы и время доступа и пропускная способность памяти были хорошими.
Разобравшись с параметрами скорости, которыми мы будем описывать архитектуру
памяти, теперь можно рассмотреть какие конкретно типы памяти применялись и
применяются в персональном компьютере.
В самых первых PC в качестве оперативной памяти
использовалась так называемая DRAM (Dynamic RAM). Ячейки памяти в микросхеме
DRAM - это крошечные конденсаторы, которые удерживают заряды. Именно наличием
или отсутствием заряда кодируются биты. Основная проблема такой организации
памяти в том, что она динамическая, т.е. должна регенерироваться, так как в
противном случае заряды с конденсаторов "стекают" и данные будет
потеряны. Регенерация происходит, когда контроллер памяти системы (встроенный
обычно в чипсет) берет перерыв и обращается ко всем строкам данных в микросхеме
памяти. Регенерация, естественно, занимает время работы системы, во время,
когда происходит регенерация памяти, процессор фактически ждет, ничего
полезного не делая. Чем быстрее происходит регенерация, тем меньше
процессорного времени теряется и тем производительнее работает система.
В DRAM для хранения одного бита данных используется
только один транзистор и один конденсатор, поэтому технология DRAM позволяет
делать достаточно компактные чипы с немалой емкостью. Например, сегодня
существуют чипы, базирующиеся на технологии DRAM емкостью 512 Мбит, т.е. они
содержат 1/2 миллиарда транзисторов. Для сравнения в современных процессорах
количество транзисторов измеряется десятками миллионов. Но структура чипа DRAM
весьма проста, представляя собой двумерную матрицу, в отличие от сложной
архитектуры современного процессора. Итого: основное достоинство динамической
памяти - немалая емкость при малых физических размерах чипа и небольшая цена.
Применяемые в первых компьютерах и применяемые сегодня архитектуры памяти
базируются в основном на динамической памяти. Давайте рассмотрим разновидности
DRAM, нашедшие применение в PC и их достоинства.
Первой, нашедшей применение в PC модификацией DRAM,
была память, которая работала в так называемом быстром страничном режиме и ее
принято называть FPM DRAM (Fast Page Mode DRAM) или просто FPM. Чтобы сократить
время ожидания на выборку данных (на доступ) стандартная DRAM разбивается на
страницы. Обычно для доступа к данным в памяти требуется указать строку и
столбец адреса, что занимает некоторое время. Разбиение на страницы
обеспечивает более быстрый доступ ко всем данным в пределах данной строки
памяти, т.е. если изменяется лишь номер столбца, но не номер строки.
Страничная организация памяти - простая схема
повышения эффективности, в соответствии с которой память разбивается на
страницы от 512 байт до нескольких килобайт. Соответствующая схема обращения
позволяет в пределах страницы уменьшить количество состояний ожидания.
Чтобы увеличить скорость доступа к памяти был разработан
так называемы пакетный (burst) режим доступа. Преимущества пакетного режима
доступа проявляются тогда, когда доступ к памяти является последовательным
(т.е. считывание происходит последовательно одно за другим из соседних ячеек).
После задания строки и столбца и считывания информации, к следующим трем
соседним адресам можно обращаться без дополнительных циклов ожидания. Однако
доступ в таком пакетном режиме ограничивается лишь четырьмя операциями
чтения-записи, затем необходимо снова полностью адресоваться к строке и
столбцу.
Принято говорить о схеме синхронизации доступа в
пакетном режиме в виде x-y-y-y, где х - количество тактов ожидания для
произведения чтения первого адреса, а затем y - количество тактов ожидания для
чтения каждого следующего адреса в пакетном режиме. (Такт - один период
электромагнитного колебания той частоты, на которой работает память. Например:
частота памяти 100МГц, один период равен 1/100млн, т.е. равен 10нс).
Архитектура DRAM такова, что для получения доступа
первый раз необходимо 5 тактов ожидания. Если не разбивать память на страницы и
не пользоваться пакетным режимом доступа, то каждая следующая операция
получения доступа к следующей ячейке памяти тоже будет занимать 5 тактов
ожидания. Однако если пользоваться разбиением на страницы и режимом burst, то,
получив доступ первый раз, потратив на это 5 тактов ожидания, содержимое
следующих ячеек можно считать, потратив на это лишь три такта ожидания, т.е. в
режиме FPM схема доступа имеет вид не 5-5-5-5, как у обычной DRAM, а 5-3-3-3. В
этом и преимущество памяти типа FPM перед обычной DRAM. Т.е. использование
памяти типа FPM позволяет при той же частоте работы чипов памяти увеличить
производительность обмена за счет сокращения времени на получение доступа к
памяти.
Начиная с 1995 года, в PC используется новый тип
оперативной памяти - EDO (Extended Data Out). Это усовершенствованный тип
памяти FPM, у него было еще одно название, которое сейчас не используется Hyper
Page Mode. Микросхемы памяти EDO учитывают перекрытие синхронизации между
очередными операциями доступа. За счет этого удается частично совместить по
времени следующий цикл чтения с предыдущим, т.е. чипсет при работе с EDO
памятью может начать выполнение новой команды выборки столбца, пока данные
считываются по текущему адресу, за счет чего еще уменьшаются задержки на
получение доступа.
Для оперативной памяти EDO схема синхронизации в
пакетном режиме имеет вид 5-2-2-2, т.е. на четырех операциях считывания
тратится не 14, а 11 тактов. Т.е. налицо явный прирост производительности, в то
время как стоимость чипов типа EDO лишь немного отличалась от чипов FPM.
Пока что все рассмотренные нами архитектуры были лишь
вариантами оригинальной DRAM, отличаясь схемой доступа в пакетном режиме, что,
конечно, давало соответствующий прирост производительности. Частоты, на которых
функционировала память перечисленных типов примерно таковы: DRAM
функционировала с частотой 4,77 МГц (в первых PC) до 10-12 МГц. Затем
применялась память типа FPM, ее частота функционирования составляла 10-40 МГц в
386 системах, 25-50 МГц в 486 системах и 50-66 МГц в Pentium системах. Память
типа EDO применялась наряду с FPM в 486 и Pentium системах на аналогичных
частотах. Те технологии, которые мы рассмотрели на данный момент, можно назвать
вчерашним днем. Что мы видим в период развития архитектуры памяти в период с
первых PC, до середины доминирования на рынке процессоров Pentium?
Улучшение идеологии построения чипов памяти, приведшее
к разработке новых типов архитектур (в рамках DRAM), в каждой новой архитектуре
применяется новая схема работы с памятью, приводящая к уменьшению задержек при
получении доступа и планомерное увеличение тактовой частоты работы памяти. При
этом нужно отметить, что увеличение тактовой частоты памяти увеличивает не
только пропускную способность (естественно, линейно), но и уменьшает время
доступа. Почему?
Мы описывали время доступа как количество тактов
ожидания, соответствующих задержке перед получением доступа. Но ведь реальная
задержка измеряется в единицах времени, а не в каких-то абстрактных тактах. А
величина одного такта как раз и определяется тактовой частотой, на которой
работает память. Ведь чем больше тактовая частота, тем меньше время одного
такта, и, следовательно, тем меньше время доступа. Если, к примеру, память работает
на частоте 100 МГц, то время одного такта 1/100млн = 10нс, и 5 тактов ожидания
соответствуют задержке в 50нс, то при частоте работы памяти 133 МГц время
одного такта 7,5 нс, а задержка в 5 тактов равна 37,5 нс.
Давайте теперь поговорим об оперативной памяти дня
сегодняшнего, а затем и памяти завтрашнего дня.
Уже начиная с 1997 года на смену памяти типа FPM и EDO
приходит новый тип оперативной памяти: SDRAM (Synchronous DRAM) - синхронная
DRAM. Эффективность SDRAM намного выше, чем у ее предшественников. Во-первых,
дело в том, что схема пакетного чтения у SDRAM намного эффективнее, чем у EDO
или FPM и описывается формулой 5-1-1-1. Т.е. для считывания четырех значений
подряд задержка для памяти типа FPM составит 5+3+3+3=14 тактов, у EDO
5+2+2+2=11 тактов, а у SDRAM 5+1+1+1=8 тактов.
Но это еще не все. Дело в том, что SDRAM более
технологична, чем ее предшественники, и ее проще изготовить для работы на более
высоких частотах. И если впервые SDRAM применяли в PC на частоте 66 МГц (как и
EDO и FPM в то время), то затем были разработаны чипы SDRAM, работающие на
частоте 100 МГц, а после и 133 МГц. Сегодня SDRAM - не только самый
распространенный тип оперативной памяти современного компьютера, но и
практически единственный используемый. Но время SDRAM скоро завершится. Сегодня
компьютерная индустрия стоит на пороге смены типа памяти в PC. И на роль
современной оперативной памяти компьютера претендуют две новых технологии, о
которых мы поговорим позже, а сейчас, разобравшись с технологиями чипов
оперативной памяти, мы с Вами разберемся с тем, какие модули, непосредственно
устанавливаемые в компьютер, изготавливают с использованием рассмотренных нами
архитектур памяти.
В самые первые персональные компьютеры память
устанавливали непосредственно чипами. Разумеется, такой подход имеет ряд
недостатков. Во-первых, установка множества чипов памяти на материнскую плату
неэффективна с точки зрения использования свободного места; во-вторых, каждый
устанавливаемый чип содержит много гибких контактов, таким образом уменьшается
надежность, так как неконтакт хотя бы одного чипа приводит к
неработоспособности всей системы.
Чипы памяти стали размещать на так называемых модулях
памяти: маленьких платках с контактными площадками, которые устанавливались в
материнскую плату в специальные разъемы. Модули помогают решить обе описанные
выше проблемы: обычно они устанавливаются в материнскую плату вертикально, что
позволяет решить проблему свободного места, во вторых, между модулем памяти и
разъемом обычно надежный электрический контакт.
Самым первым модулем, который использовался в PC, был так называемы модуль SIMM 30pin (Single Inline Memory Module, Модуль Памяти с Односторонним Расположением контактов, имевший 30 контактных площадок). Рассмотрев такой модуль, можно заметить, что контактные площадки расположены у модуля в обеих сторон, но с обратной стороны модуля за счет внутренней металлизации контактных площадок происходит их дублирование, т.е. все же у модуля одностороннее расположение контактов.
Каковы характеристики модуля? А чем вообще можно характеризовать модуль, если все его параметры, такие как тип и объем памяти, быстродействие, зависят в первую очередь от припаянных на модуль чипов? Но есть по крайней мере один параметр, который характеризует именно модуль. Этот параметр - разрядность модуля, т.е. ширина той шины, по которой происходит доступ к конкретному модулю, или количество контактов, по которым передаются биты данных. (Например, модуль с 30 ножками, естественно, не может обеспечить 32-битный обмен данными - для этого нужно только 32 ножки для передачи данных, а ведь еще питание, адресация и т.д.). Т.е., модули друг от друга в первую очередь отличаются разрядностью. Разрядность модуля SIMM 30 pin составляет 8 бит (на самом деле 9 бит, но последний, девятый бит используется для передачи так называемых данных четности, об этом мы поговорим позднее). Модуль SIMM 30 pin (иногда еще называют: короткий SIMM) использовался в 286, 386 и 486 системах. Рассмотрим применение короткого модуля SIMM на примере 386 системы. Ширина шины, связывающая 386 процессор с памятью, составляет 32 бита. Можно ли в такой системе в качестве оперативной памяти использовать 1 SIMM 30 pin? Представьте себе: процессор использует для связи с памятью шину, в которой данные передаются по 32 проводам. Будет ли система работать, если из этих проводов задействовать только 8? Разумеется, нет! Естественно, что в системе должна использоваться 32-битная память, а иначе процессор не сможет работать с памятью. Но как реализовать 32-битную память, если в Вашем распоряжении только 8-битные модули? Нужно использовать несколько модулей одновременно! Фактически, минимальной единицей оперативной памяти системы можно считать совокупность модулей памяти, полностью "закрывающих" шину память - процессор. В 386 системе при использовании SIMM 30 pin (шириной 8 бит каждый модуль), нужно одновременно использовать кратное четырем количество модулей для того, чтобы обеспечить работоспособность системы. Поэтому на материнских платах тех времен количество разъемов под короткие SIMMы было всегда кратно четырем: 4 или 8 штук. Совокупность разъемов, полностью закрывающих шину память - процессор называется банк памяти. То, о чем мы говорили только что, можно сказать следующим образом: в системе память всегда должна устанавливаться только банками, и хотя бы один банк должен быть установлен.
Неудобства использования 30 pin SIMM в системах
386 и 486 вполне очевидны: банк памяти состоит из четырех модулей. Поэтому был
разработан новый тип модуля: SIMM 72 pin. Такой модуль, как ясно из названия,
так же имел контакты, расположенные с одной стороны модуля (Single Inline) и
при этом увеличившееся количество контактных площадок позволило сделать ширину
шины модуля 32 бит (на самом деле 36 бит, остальные снова для данных четности).
Стало быть, в 486 системах, у которых ширина шины обмена процессор - память
составляла 32 бита, банком памяти являлся единственный модуль памяти SIMM 72
pin. Таким образом, в 486 системы можно было устанавливать либо по 4 30pin
SIMMa, либо по одному 72 pin SIMM (который иногда называли длинный SIMM).
С выходом процессора Pentium, у которого ширина шины
память - процессор увеличивается до 64 бит, снова возникает ситуация, когда
банк не равен модулю. В Pentium-системы память при использовании 72pin SIMM
снова необходимо устанавливать парами. Для решения этой проблемы, а точнее для
применения уже упоминавшейся нами SDRAM, был разработан новый тип модуля: DIMM
168 pin (Dual Inline Memory Module). Как ясно из названия, у этого модуля 168
контактных площадок, расположенных по обеим сторонам модуля, по 84 с каждой
стороны. Модуль DIMM 168 pin является 64-битным, и использование единственного
модуля DIMM позволяет закрыть шину память - процессор для процессора Pentium,
как, впрочем, и для любого современного процессора. Таким образом, в
современную систему можно вставлять модули DIMM 168 pin по одному или 72pin
SIMM парами. 30 pin SIMM уже весьма давно полностью вышли из употребления,
длинные же SIMM сегодня применяются крайне редко. Наиболее часто используемый
тип модуля сегодня - модуль DIMM.
Обращаю Ваше внимание на то, что нужно очень четко
различать и не смешивать типы памяти (DRAM, FPM, EDO, SDRAM etc) и модули
памяти (SIMM30, SIMM72, DIMM168).
Теперь давайте поговорим о новых технологиях памяти.
Сегодня на роль памяти ближайшего времени претендуют две технологии. Первая -
технология, базирующаяся на SDRAM и называется она DDR SRDAM. На прошлом уроке
мы упоминали аббревиатуру DDR. Напомню, что DDR расшифровывается как Double
Data Rate, т.е. удвоенный поток данных. Удвоение скорости передачи данных
достигается за счет того, что биты данных дважды передаются за один период
периодического сигнала: на подъеме и на спаде. Таким образом, при этом удается
немного модифицировав SDRAM, добиться увеличения пропускной способности вдвое.
Например: SDRAM на частоте 100 МГц имеет пропускную способность 100 МГц * 64
бит (ширина шины) = 800 Мбайт/с. Применение технологии DDR SDRAM позволяет
передавать при той же частоте работы шины (100 МГц) и при той же ширине шины
(64 бит) передавать вдвое больше информации, т.е. пропускная способность DDR
SDRAM на частоте 100 МГц составит 1600 Мбайт/с. При этом стоимость DDR SDRAM
лишь непринципиально выше, чем у стандартной SDRAM (в перспективе примерно на
20%). Естественно, что DDR SDRAM - прекрасный кандидат на роль памяти
ближайшего будущего, так как удвоенная производительность достигается при
увеличении стоимости продукта на 20% . Но на пути DDR SDRAM на рынок PC
фактически оказались весьма большие препятствия.
Дело в том, что Intel, о котором мы говорили, что эта
фирма - основоположник стандартов для PC сегодня, решила, что памятью
ближайшего будущего станет совсем другая технология. К сожалению (для рынка
:)), за этим решением стояли не технические, а маркетинговые и идеологически
причины. Intel выбрал в качестве памяти ближайшего будущего технологию,
разработанную фирмой Rambus, и называемую Direct Rambus DRAM (DR DRAM). Чем же привлекательна эта память?
Естественно, что на пути разработки высокоскоростных
интерфейсов есть два решения: увеличивать частоту работы шины и увеличивать
ширину шины. Разумеется, если можно было бы увеличивать эти два параметра так,
как хочется производителю, то мы сегодня имели бы память, работающую на огромных
частотах и имеющую очень широкую шину, что давало бы огромную пропускную
способность. Но, увы, все не так просто. Чем шире шина, тем больше взаимных
наводок создают друг для друга провода, по которым передаются данные, чем выше
частота передачи данных, тем большие требования предъявляются к технологии
изготовления, и тем выше потребляемая мощность.
Rambus пошел по пути изготовления очень
высокоскоростной шины (800 МГц, сравните с 133 МГц SDRAM и DDR SDRAM), но при
этом очень узкой. Ширина канала DR DRAM - всего 16 бит (сравните с 64 бит у
SDRAM и DDR SDRAM). Итого, пропускная способность такого канала обмена
составляет 800 МГц * 2 байта = 1600 Мбайт/с. Т.е. пропускная способность канала
Rambus выше, чем у SDRAM (800 Мбайт/с при частоте 100 МГц и 1064 Мбайт/с при
частоте 133 МГц), равна DDR SDRAM при частоте 100 МГц, и проигрывает DDR SDRAM
на частоте 133 МГц (133 МГц*64 бит * 2 из-за DDR = 2100 Мбайт/с).
Но при этом есть еще два немаловажных фактора. Первое:
у DR DRAM очень высокие задержки на доступ к памяти, примерно вдвое выше, чем у
SDRAM и DDR SDRAM, что при равенстве пропускной способности уже ставит под
сомнение эффективность применения DR DRAM. Но второй фактор еще более важен.
Дело в том, что цена на DR DRAM в 7-8 раз выше, чем цена на SDRAM и DDR
SDRAM!!!. Если 128 Мбайт SDRAM сегодня стоит около $25, то столько же DR DRAM
стоит около $400 - $500. Возникает резонный вопрос: кому вообще может при таких
условиях понадобиться DR DRAM? Ответ на него: фирме Intel. Но зачем???
Дело в том, что около года назад Intel заключил c
Rambus договор о партнерстве, обязавшись во всех своих чипсетах поддерживать
только DR DRAM в случае, если пропускная способность памяти в системе выше, чем
1000 Мбайт/с, и этот договор действует в течение 2-х лет! В обмен на это Rambus
должен был обеспечить Intel высокоскоростной шиной памяти. Intel эта сделка
стоила огромных денег (около $5млрд.), и сегодня Intel понимает, как неверно
было заключить такой договор. Дело в том, что у Intel было около 90% рынка
чипсетов летом 1999, летом 2000 - 40%, потому, что Intel не имел права
предлагать решения с доступным и дешевым 133 МГц SDRAM (133 МГц х 8 байт ширина
шины = 1066 Мбайт/с > 1000), а предлагал решения на совсем не более быстром
(из-за более высоких задержек при обращении) DR DRAM, притом, что цена на
память типа DR DRAM была в 7-8 раз выше. Фактически Intel сам связал себя по
рукам и ногам в выпуске чипсетов, по сути частично утратив контроль над этим
рынком. Отчасти, именно из-за противоборства DDR SDRAM и DR DRAM мы и начали
изучение оперативной памяти ранее, чем чипсетов. Иначе было бы неясно, почему
присутствующие на рынке решения от Intel никуда не годятся с потребительской
точки зрения, в то время, как решения конкурентов завоевывают популярность так
стремительно, как никогда еще с конкурентами Intel не случалось.
На сегодняшний день DR DRAM присутствует на рынке уже
около года, притом, что никакой массовой популярности не приобрел и, вероятно,
не приобретет в дальнейшем, в то время как DDR SDRAM только появляется на
рынке.
Также несколько слов нужно сказать и о самой фирме
Rambus. Дело в том, что все типы памяти, которые мы описывали ранее, являются
открытыми, т.е. они разрабатываются не какой либо одно фирмой, а консорциумом
разработчиков, и производить эти типы памяти может любая фирма, если не
нарушает при этом ничьих технологических патентов. С DR DRAM все обстоит
несколько иначе. Эта технология разработана от начала до конца самой фирмой
Rambus и, при этом, Rambus не производит памяти, а только разрабатывает ее,
предлагая другим производителям эту память изготавливать, выплачивая за каждый
произведенный чип фирме Rambus комиссионные. Так вот, недавно Rambus подал в
суд практически на всех крупнейших производителей памяти, заявляя, что они
(производители) нарушают патенты Rambus ... при изготовлении SDRAM и DDR SDRAM.
Что самое интересное: уже семь крупнейших производителей памяти согласились
уплачивать Rambus комиссионные с каждого проданного чипа SDRAM и DDR SDRAM,
которые являются открытыми стандартами!!! Но ряд фирм, во главе с крупнейшим
производителем чипов памяти Micron, не согласны платить Rambus комиссионные и
подали ряд ответных исков против Rambus, обвиняя ее в МОНОПОЛИЗАЦИИ рынка! С
требованием отобрать у Rambus ряд незаконно используемых ею патентов. Причем по
имеющейся информации адвокаты Intel работали вместе с адвокатами Micron! По отчетам
Rambus за последний финансовый период, расходы Rambus на оплату услуг адвокатов
составили заметную часть дохода фирмы. В общем, ситуация вокруг Rambus
накаляется. Исходом может стать и прекращение существования этой достаточно
мало удачливой технически и очень наглой в юридическом плане фирмы. А может, и
наоборот. Возможно, Rambus удастся замять все судебные дела и заняться,
наконец, тем, чем давно пора вновь заняться, а именно технической
деятельностью: направить свои усилия на удешевление технологии изготовления
чипов и модулей DR DRAM, а также уменьшение задержек на доступ. Там, глядишь,
может быть действительно разработки Rambus и станут памятью будущего, только
вот и верится в это мало, и будущее уж слишком отдаленное.
При изучении чипсетов, основное, на что мы будем
обращать внимание (учитывая описанную ситуацию)- тип поддерживаемой чипсетом
оперативной памяти. И мы увидим, каким образом Rambus появлялась на рынке и
какой "успех" она имела.
Что же касается DDR SDRAM, то чипсеты, поддерживающие
эту память только появились на рынке и самое ближайшее будущее, очевидно, будет
временем безраздельного доминирования DDR SDRAM. Однако все решает рынок...
Осталось добавить, что память типа DR DRAM
устанавливается на специальные модули, называемые RIMM (Rambus Inline Memory
Module), а в пустые разъемы для RIMM необходимо устанавливать специальные
заглушки. Память DDR SDRAM устанавливается на модули DIMM, но не на 168 pin,
как обычный SDRAM, а специальные 184 pin модули.
Нам следует разобрать еще несколько вопросов,
связанных с организацией памяти, точнее с методами выявления и даже устранения
ошибок в оперативной памяти. В качестве метода выявления сбоев в оперативной
памяти применялась так называемая память с контролем четности.
Контроль четности - довольно старый метод проверки
сохраняемых в памяти данных на отсутствие ошибок. Вкратце метод заключается в
том, что при записи данных в память для некоторого количества (как правило, 8)
бит данных вычисляется контрольная сумма (т.е. двоичная сумма значений всех
бит, от которой потом отбрасываются старшие разряды), которая сохраняется
вместе с данными в виде бита четности. При считывании данных контрольная сумма
вычисляется еще раз и сравнивается с битом четности. Если они совпадают, то
данные считаются истинными, в противном случае генерируется сообщение об ошибке
четности, которое приводит к остановке компьютера.
Данный метод имел определенный смысл на сравнительно
ранней стадии развития PC, когда подсистема памяти была одним из самых
ненадежных мест во всей системе, а компьютеры выполняли в основном
ответственные задачи. Собственно достоинством метода являлось то, что если
память компьютера была ненадежна, то его владелец мог определить это по частым
остановкам системы ввиду ошибки четности и принять меры по замене памяти.
Со временем надежность памяти ощутимо выросла,
операционные системы стали многозадачными, пользовательский интерфейс -
графическим; наконец, операционные системы стали выполнять тесты памяти при
загрузке. В этой ситуации стали особенно заметны недостатки памяти с четностью,
а именно:
1. По оценкам специалистов, среднее время между сбоями
доброкачественной памяти (статистически от сбоев не застрахован никто)
сопоставимо со временем жизни компьютера. В этой ситуации платить за
дополнительные чипы четности (стоимость которых составляет десятки процентов
стоимости основной памяти) кажется расточительством.
2. Малозначительный сбой ведет за собой полную
остановку системы и возможную потерю ценной информации (что особенно обидно в
многозадачной среде).
3. Как ни грустно, к потере информации может привести
ошибка в бите четности.
4. Метод никак не застрахован от двойных ошибок
(одновременное изменение значений двух бит не влияет на контрольную сумму).
Логические операции над данными могут, вообще говоря,
потребовать лишних тактов ожидания.
В результате, примерно в 1994 году стал происходить
постепенный отход от использования "простой" схемы контроля четности.
Подавляющее большинство настольных систем отказалось от контроля четности
вообще, а в серверах стали применять более прогрессивный, с точки зрения
сохранности данных, метод ECC. Для апгрейда старых систем, требовавших память с
контролем четности, на рынке появилась "логическая четность". В
настоящее время схема обычного контроля четности практически не применяется.
Как раз для работы с битами четности и использовался
9-ый бит в SIMM 30pin и 33-36 биты в SIMM 72pin.
Логическая четность (logic parity, известна также под
названием bridge parity, parity emulation, наиболее правдивое название fake
parity - "ложная четность") - техническое решение, впервые
примененное в 1994-1995 году. В это время происходил массовый переход индустрии
PC на более дешевую память без четности. Обделенными при этом чувствовали себя
владельцы еще относительно новых на тот момент 486-х компьютеров, подсистема
памяти которых не позволяла использовать такое решение, в результате чего они
без особой на то необходимости были вынуждены использовать дорогостоящую
четность. Для них и была предназначена четность логическая.
Идея, в сущности, была довольно простая. Как мы уже
упомянули, в рамках контроля четности для группы бит, записываемых в память,
контроллер вычисляет контрольную сумму и записывает ее в виде специального бита
четности. При считывании данных контрольная сумма вычисляется снова и
сравнивается с хранящейся в бите четности, при совпадении двух сумм данные
считаются верными. Необходимость хранения битов четности и удорожала всю
систему. Модули с логической четностью вообще не имеют чипов четности, зато
имеют логический чип, который при считывании данных сам вычисляет
"контрольную" сумму и предъявляет ее контроллеру, как если бы эта
сумма сохранялась в модуле. Понятно, что эта сумма всегда совпадает с той,
которую вычислит сам контроллер, таким образом, фактически контроль четности
отсутствует. Цена логической микросхемы по сравнению с чипами четности
исчезающе мала, так что главную задачу - экономию - можно считать выполненной.
Таким образом, вообще говоря, можно признать правомерным использование модулей
с логической четностью там, куда они первоначально были предназначены - в
устаревших настольных системах, в которых невозможно отключить контроль
четности, однако отсутствует реальная необходимость его осуществлять. При
условии, конечно, что эти модули там заработают - во многих системах такая
память неработоспособна. Тому есть естественное объяснение - никакая логика не
срабатывает мгновенно, соответственно, логическая четность вносит изменения во
временные диаграммы модуля памяти, и эти изменения одобрит не всякий
контроллер. Кроме того, бессмысленно было бы возражать против использования
таких модулей в системах без контроля (или с отключенным контролем) четности,
при условии, конечно, что вы не проиграете в деньгах по сравнению с обычной памятью
без четности - никакого вреда в такой ситуации ложная четность не принесет. К
сожалению, у ряда пользователей сложилось впечатление, что логическая четность
просто является более современным (и в силу этого дешевым) вариантом четности
истинной. К еще большему сожалению, многие торговцы памятью не устояли перед
соблазном заработать легкие деньги. Грешки за ними водились разные, начиная от
вполне невинных (например, продажа "логики" чуть дешевле истинной
четности, когда стоить она должна всего лишь чуть дороже памяти "без
четности"; или объявление в прайс-листах очень низкой цены на память с
четностью, которая после прямого вопроса оказывается "логикой") до
довольно несимпатичных (сокрытие от покупателя того факта, что он приобретает
"логику", вплоть до камуфляжа логики под истинную четность; агитация
за "логику" как за лучшее, чем истинная четность, решение). Поэтому
хотелось бы обратить внимание на отрицательные стороны "логической
четности":
1. Логическая четность, как минимум, не повышает
совместимость модулей с вашим компьютером - не исключено, что работать она не
будет или будет вызывать сбои.
2. Сумматор в лучшем случае не ухудшит временные
характеристики подсистемы памяти, но вполне может это сделать.
3. Установка ложной четности в сервер не рекомендуется
ни под каким предлогом - даже если сервер и будет с ней работать, в конце
концов, большие деньги за него платили именно во имя надежности, которой вы
поступаетесь.
4. Наконец - имейте в виду, что уважающие себя
производители НИКОГДА не выпускали SIMM с логической четностью - таким образом,
вы покупаете продукт низшей, чем это возможно, категории качества.
Таким образом, вывод - за исключением двух описанных
выше применение логической четности рекомендовать нельзя никак, в этих же двух
случаях - можно с определенной натяжкой.
Помимо памяти с контролем четности применялась, а
главное, и сейчас применяется, так называемая ECC память. ECC обычно
расшифровывается как Error Checking and Correction, существуют и другие версии
перевода, но смысл заключается в том, что речь идет о схеме обнаружения И
ИСПРАВЛЕНИЯ ошибок в памяти. За счет чего удается добиться таких потрясающих
результатов? Идея, лежащая в основе метода, довольно проста - пусть каждый бит
основной памяти входит БОЛЕЕ ЧЕМ В ОДНУ контрольную сумму. Это потребует
увеличения числа контрольных бит (напомним - стандартный метод контроля
четности реально не требует более 1 контрольного бита на всю шину), но даст
возможность восстанавливать позицию (а, следовательно, и значение) сбойного
бита по позициям не сошедшихся контрольных сумм. Предполагается, что контроллер
памяти самостоятельно восстанавливает это значение, не прерывая работу всей
системы (хотя разумно при этом генерировать системное сообщение об исправленной
ошибке, чтобы владелец системы, если такие сообщения повторяются, мог принять
меры по замене памяти, не дожидаясь более значительных сбоев).
Разумеется, что память с ECC стоит заметно дороже
обычной памяти и находит применение в первую очередь в серверах.
Теперь мы подробнее рассмотрим устройство и маркировку
чипов памяти. Эта часть материала вовсе не является обязательной, и если Вам
совсем не интересны такие тонкости, Вы можете практически без ущерба для
дальнейшего понимания пропустить эту главу, однако все же желательно ее хотя бы
просто просмотреть, не вдаваясь в тонкости маркировки.
Итак, какие контакты имеет микросхема DRAM и каково их
функциональное назначение?
* Линии ввода/вывода - служат непосредственно для передачи данных. Их количество, как правило, 1, 4, 8 или 16. Каждому адресу соответствует количество бит, равное числу линий ввода/вывода;
* Адресные линии - служат для передачи адреса, по которому в чипе находятся считываемые/записываемые данные;
* RAS - регистр строки, сигнал на этой линии означает, что на адресные линии подается адрес строки, в которой содержатся данные;
* CAS - регистр столбца, сигнал на этой линии означает, что на адресные линии подается адрес столбца, в котором содержатся данные;
* Write Enable - сигнал на этой линии означает, что возможна запись данных;
* Output Enable - сигнал на этой линии означает, что возможно считывание данных;
Еще 2 контакта служат для подачи питания (земля и
рабочее напряжение).
Линия Ввода/Вывода (I/O line, Input/Output Line)- каждая из линий, в совокупности составляющих шину, и способных пропустить один бит "за раз".
адресная линия (address line) - одна из линий, используемых для указания адреса запрашиваемой или сохраняемой информации. Поскольку информация организована в виде матрицы, адресные линии за полный цикл доступа используются дважды - для указания номера строки (RAS) и столбца (CAS). Поэтому число необходимых адресных линий равно 1/2log2A, где A - размер адресного пространства (например, 10 для 1 мегабит), при условии, что матрица квадратная, что не всегда верно
RAS (Row Access Strobe) - регистр обращения к строке. Сигнал, поданный на линию RAS чипа, означает, что через адресные линии вводится адрес строки.
CAS (Column Access Strobe) - регистр обращения к столбцу. Сигнал, поданный на линию CAS чипа, означает, что через адресные линии вводится адрес столбца.
Чипы памяти принято обозначать в виде AxB (например
4х4). Такое обозначение значит, что чип имеет А Мбит адресного пространства
(или попросту адресов), по каждому из которых можно сохранить B бит информации
(при чтении/записи каждый из этих битов требует отдельной линии ввода/вывода).
Емкость чипа соответственно - произведение АВ. Например: обозначение 1х4
означает, что данный чип имеет 1 мегабит (более корректно обозначение 1Мх4, но
в тысячу и более раз ошибиться, как правило, довольно трудно) адресного
пространства, по каждому из которых можно сохранить 4 бита информации. Емкость
чипа, таким образом, составляет 4 мегабит, то есть результат умножения в
формуле 1х4. (Обратите внимание, емкость чипов принято называть в мегабитах,
емкость модулей - в мегабайтах). Точно так же чип 256х16 (256 в данном случае
килобит) имеет емкость те же 4 мегабит. Наконец, шестнадцатимегабитными
являются, например, чипы 4х4 и 1х16.
Упаковка применительно к чипам - не более чем способ,
которым полупроводниковая "начинка" запаяна в пластмассу, а также то,
в какую сторону загнуты ножки у получившегося продукта. DRAM можно встретить в
упаковках типа DIP, ZIP и некоторых других, однако для производства модулей
памяти используются преимущественно SOJ и TSOP. Первые встречаются чаще всего и
отличаются "загнутыми в форме буквы J" ножками, что позволяет с
успехом использовать их как для пайки, так и для вставления в гнезда без риска
повредить контакты. TSOP имеют плоские корпуса с горизонтально выходящими из
них контактами и пригодны только для пайки.
DIP (Dual In-line Package) - микросхемы с двумя рядами контактов, расположенными вдоль длинных сторон чипа и загнутых "вниз". Чрезвычайно распространенная упаковка во времена "до" модулей памяти.
ZIP (Zig-Zag
In-Line Package) - разновидность упаковки микросхем, в частности, применявшаяся
для видеопамяти. Контакты расположены вдоль одной из длинных сторон чипа в
зигзагообразном порядке.
SOJ (Small Outline J-shaped) - разновидность микросхем, одна из наиболее широко применяемых для упаковки DRAM. Контакты микросхемы изогнуты в форме буквы J коротким концом под микросхему.
TSOP (Thin Small Outline Package) - разновидность микросхем плоской формы. В настоящее время в области DRAM применяется довольно широко, особенно для упаковки низковольтных микросхем.
Крайне важным представляется вопрос о чтении
маркировки чипа. Разумеется, что при необходимости разобраться с тем, какой чип
памяти у Вас в руках, самое верное из того, что Вы можете сделать - это
обратиться к документации производителя. Но обычно у пользователя нет под рукой
соответствующей документации и, несмотря на это, есть способы, позволяющие с
той или иной степенью точности попытаться определить, какой же чип памяти у Вас
в руках (или припаян на имеющийся у Вас модуль).
Как правило, маркировка чипа несет на себе такую
информацию, как производитель чипа, страна происхождения и дата его
изготовления. Кроме того, чаще всего присутствует некая "служебная"
информация (например, это может быть код технологической линии, выпустившей
данный чип). Однако важнее всего, безусловно, информация о том, что именно за
чип мы видим перед собой (то есть тип памяти, организация и, как следствие, -
емкость, время доступа, упаковка и некоторые другие архитектурные и
технологические подробности). Такая информация на чипе обязательно присутствует
в виде строки, как правило, это наиболее длинная строка из всех имеющихся. Это,
если можно так выразиться, артикул продукта; зная его, всегда можно получить
подробнейшую информацию о нем из соответствующего databook. Информация о чипах,
выпускаемых в данный момент, обычно доступна и на сайтах производителей. Тем не
менее, остается вопрос - что делать, если databook под рукой нет (что обычно и
имеет место), а сайт недоступен/не отвечает/не содержит нужной информации?
К счастью, подавляющее большинство производителей
придерживается (по крайней мере, для передачи организации чипа) более или менее
стандартной маркировки (исключение составляют Micron и Samsung). Имея некоторое
представление об этой маркировке, почти всегда можно с высокой долей
достоверности определить, что за чип перед вами, не прибегая к справочникам.
Тем не менее, некоторая справочная информация совершенно необходима. В этой таблице приведены методы
маркировки, применяемые основными производителями чипов памяти.
Описываемый ниже метод чтения маркировки чипа хотя в
общем и понятен, но достаточно трудно поддается формальному описанию, так как
далеко не последнюю роль в чтении маркировки играет интуиция и догадка, поэтому
мы разберем чтение маркировки чипов на конкретных примерах.
Пример 1
Перед нами чип с надписью: HM514400CS7
Заглянув в таблицу, обнаруживаем, что HM - маркировка,
которую использует Hitachi. Убедившись, что картинка (лого) также принадлежит
Hitachi, из той же таблицы видим, что 51 - это используемый Hitachi код для
асинхронного DRAM. Т.е. перед нами чип FPM или EDO, но не SDRAM, так как SDRAM
- синхронная память (вспомните, как расшифровывается аббревиатура SDRAM).
Перейдем к концу надписи. Последняя группа букв (здесь CS) практически всегда
несет информацию о типе упаковки (буква S, как в данном случае, или нередко J
означает, как правило, SOJ). Первая же буква в этой группе чаще всего относится
к начальным буквам алфавита, ибо призвана обозначать ревизию (то есть
порядковый номер по мере изменения) спецификации на данный продукт. В данном
случае это ревизия C. Общего принципа для чтения информации в этой группе не
существует, но она и не слишком важна (ревизия информативна только для очень
продвинутых специалистов, а тип упаковки вы и так видите).
Последняя цифра 7. У других производителей на ее месте
могла бы стоять одна из следующих групп символов: -7, 70, -70. Уже понятно, что
речь идет о времени доступа, просто кое-то из производителей пишет его
полностью, а другие отбрасывают один нуль. Как правило, это не вызывает проблем
с определением времени доступа, поскольку характерные времена для асинхронного
DRAM 50-150 нс. Казалось бы, есть риск перепутать старенький 100 нс чип, у
которого отбросили один нуль, с современным 10 нс SDRAM, но есть еще огромное
количество признаков (код продукта, упаковка, рабочее напряжение, время
изготовления и т.д.), позволяющее отличить их друг от друга.
Наконец, осталась группа из 4 цифр в середине - 4400.
Переводится она следующим образом:
а) Последний нуль с подавляющей вероятностью означает,
что данный чип принадлежит к типу fast page. Для EDO практически все
производители ставят на его месте другую цифру (обычно 5, см. таблицу). Если
цифра, которую вы видите на этом месте, не является нулем и не совпадает с
цифрой, декларированной производителем для EDO - вопрос требует дополнительного
изучения. Это может быть как резервная цифра для того же fast page или EDO, так
и указание на специальную архитектуру чипа .
б) Все нули, стоящие перед последней цифрой, можно игнорировать
- они лишь заполняют свободное место, которое могло бы быть востребовано, если
у чипов была бы другая организация.
в) Оставшиеся цифры в начале рассматриваемой группы -
44. В них закодирована сначала емкость чипа, а потом число линий ввода-вывода.
В данном случае разделить эти два числа не составляет труда - емкость 4
мегабита, ширина шины 4. Путем несложного деления выясняем, что перед нами чип
1х4. Итак, изучение артикула показало, что перед нами чип Hitachi fast page
DRAM 1x4 SOJ 70 нс.
Два резюме по этому поводу:
Общее - для того, чтобы выделить группу цифр,
ответственную за организацию и тип чипа, нужно отбросить спереди
буквенно/цифровой код производителя и класса продукции, а сзади - буквы,
отвечающие за ревизию и упаковку, а также информацию о времени доступа.
Частное - для 4-мегабитных чипов эта группа цифр имеет
длину 4.
Пример 2
Чип с лого в виде буквы F маркировка: MB8117405B-60
MB (как и логотип) дает нам Fujitsu. B-60 - ревизия и
60 нс. Такое время доступа (а также то, что перед нами SOJ) заставляют
усомниться, что перед нами SDRAM. Следовательно, код продукта - 81. Нам
остались цифры 17405.
Последняя пятерка, как согласно таблице, так и просто
как правило, означает EDO, 0 перед ней отбрасываем. Емкость и ширина шины лежат
в цифрах 174. Предположение, что емкость равна 1, дает нам весьма странную
шину. Разделив эти цифры в другом месте, получаем 17 мегабит и 4 линии
ввода-вывода. С линиями получше, но почему 17???
Ответ заключается в том, что шестнадцатимегабитные
чипы имеют еще один параметр, который отличает один чип от другого и называется
"глубина refresh". Вернее, этот параметр имеет любой чип, но только
для шестнадцатимегабитных чипов чипы одной организации стали выпускаться с
разными значениями этого параметра. Не вдаваясь в подробности, просто укажем,
что у 16-мегабитных чипов число 16 в маркировке стали использовать для передачи
этого параметра, так что бывшее 16 стало равняться:
16 для 4k refresh
17 для 2k refresh
18 для 1k refresh
(аналогично для 64-мегабитных чипов 64 может равняться
и 65...)
Итак, 174 - это 16 мегабит на 4 линиях ввода вывода,
т.е. чип 4х4 (причем 2k refresh). Чип Fujitsu, 60 нс EDO.
Отметим еще, что 16-мегабитные чипы имеют уже 5 цифр
для передачи той информации, которая у 4-мегабитных умещалась в 4 цифрах.
Пример 3
Чип, маркированный Toshiba TC5118165BJ-60 .
TC - Toshiba, 51 - асинхронный DRAM, BJ - SOJ ревизия
B (или что-то в этом роде - это наименее важно для нас), 60 нс. Остаток -
18165. Видим, что 5 - EDO, а 1816 - это 16 мегабит на шине 16, 1k refresh, то
есть чип 1х16.
Пример 4
Чип SEC KM416C1204AJ-7.
Смотрим в таблицу, видим Samsung, минус KM4, минус
AJ-7, и осталось 16C1204. Что-то не так?
Если внимательно посмотреть в таблицу, то видно, что
Samsung использует нестандартную маркировку. К счастью, она (относительно)
легко читается. 4 в конце - это EDO, нуль можно все так же отбросить. Что
означает двойка - мне неизвестно, похоже, придется отбросить и ее (что делать -
нестандартный Samsung...). Оставшиеся 16C1 - это есть 1х16, где вместо х
поставили C и поменяли местами множители. Так читается большинство маркировок
Samsung.
У другого отщепенца - Micron - маркировка намного
менее логична (вроде бы внутри одного класса чипов все примерно понятно, но разные
классы маркируются по разному принципу, даже для EDO нет единой цифры), так что
время доступа определяется без труда, а что касается остального - надо взять
маркировки с сайта и учить наизусть
Еще несколько примеров: OKI M5116405B-60
16405 дает нам 4х4 4k refresh EDO (отметим кстати, что
OKI, как иногда и некоторые другие производители, опускает в данном случае две
первые буквы маркировки)
LGS GM71C4403CJ60
Goldstar 60 нс. Первое C
необходимо отбросить, ибо означает оно 5-вольтовость (3-вольтовый чип имел бы
на этом месте букву V, другие производители, как правило, никак не маркируют
5-вольтовые чипы. 4403 - это 1х4 EDO.
TI TMS417809DZ-50
17809 - 2х8 2k refresh EDO
"Стилизованное H" HY51V65404 TC-60
Hyundai, низковольтный (V) TSOP (TC) с комбинацией
65404, что соответствует 64 мегабит на 4 линиях ввода-вывода (т.е. 16х4) EDO.
Здесь 65 означает 4k refresh, 64 означало бы 8k.
До этого мы рассматривали с Вами только асинхронную
память. Давайте разберемся немного с маркировкой SDRAM.
Пусть это будет NEC D4516821G5-A10-7JF
TSOP у NEC имеют трудночитаемый "конец"
маркировки. Не всматриваясь в этот самый конец, отметим только, что время такта
у этого чипа 10 нс (A10). Интересующая нас комбинация 16821 состоит из 16
(мегабит), 8 (шина) остальные же цифры нам придется проигнорировать, так как их
значение не вполне ясно. Итак, это чип SDRAM 2х8.
Надо сразу заметить, что в маркировке SDRAM у всех
производителей наблюдается наибольший разнобой, поэтому весьма рекомендуется
справляться в databook. Наконец - невзирая на относительную стройность
описанной системы, она абсолютно не является помехоустойчивой, а каждый
производитель так и норовит внести побольше своих помех. Выше уже упоминалось
некоторое отклонение Goldstar, отметим еще, что у TI для 16-мегабитных чипов 4k
refresh 16 почему-то равняется 26. А, скажем, видео-SOJ 256х16 практически
всеми маркируется как 426х (х - fast page или EDO), т.е. опять же 16 равняется
26. Особенно много разнообразия демонстрируется при маркировке SDRAM
Фирма |
Страна |
Логотип |
Код |
Async |
Sync |
EDO |
Стандарт |
Alliance |
США |
|
AS |
4C |
- |
5 |
да |
Fujitsu |
Япония |
F в "скобках" cверху и
снизу |
MB |
81 |
811 |
5 |
да |
Goldstar (теперь LG) |
Корея |
LGS |
GM |
71 |
72 |
3 |
да |
Hitachi |
Япония, Корея, Малайзия, США |
|
HM |
51 |
52 |
5 |
да |
Hyundai |
Корея |
|
HY |
51 |
57 |
4 |
да |
IBM |
США |
IBM |
- |
- |
03 |
- |
да |
Micron |
США |
- |
mT |
4C |
48 |
разные |
нет |
Mitsubishi |
Япония |
|
M5M |
4 |
4...S |
5 |
да |
Motorola |
США |
|
MСM |
- |
- |
- |
- |
NEC |
Япония, Сингапур, Китай |
NEC |
mPD |
42 |
45 |
5 |
да |
NPNX |
Япония |
NPNX |
NN |
51 |
- |
5 |
да |
OKI |
Япония |
OKI |
MSM |
51 |
- |
5 |
да |
Panasonic |
Япония |
Panasonic |
MN |
41 |
- |
5 |
да |
Samsung |
Корея, Португалия |
SEC |
KM |
4 |
4...S |
4 |
нет |
Siemens |
Германия, Корея, Франция,
Тайвань, Великобритания |
Siemens |
HYB |
5 или 3 |
39S |
5 |
да |
Texas Instruments |
США, Япония |
TI |
TMS |
4 |
6 |
9 |
да |
Toshiba |
Япония, Малайзия |
TOSHIBA |
TC |
51 |
59S |
5 |
да |
Vanguard |
Тайвань |
|
VG |
26 |
36 |
5 |
да |
Vitelic |
Тайвань |
|
V |
53C |
54C3 |
5 |
да |
Теперь мы подробнее остановимся на особенностях
рассмотренных нами модулей памяти. И в первую очередь следует обратить внимание
на так называемые ключи.
Под ключом на модуле памяти обычно понимают выступ или
вырез в модуле, который в сочетании с соответствующим вырезом (выступом) в
разъеме, в который модуль устанавливается, выполняет одну из двух (или обе)
функций:
* не позволяет установить симметричный модуль памяти
"наоборот";
* предотвращает использование в системе модуля, не
подходящего по параметрам (скажем, по рабочему напряжению).
Рассмотрим поподробнее типы ключей, применяющихся в
SIMM и DIMM:
* SIMM 30-пин - вырез сбоку со стороны 1-го пина, служит
для правильной ориентации модуля.
* SIMM 72-пин - аналогичный вырез со стороны 1-го
пина, а также вырез посередине между 36-м и 37-м пинами.
* DIMM 168-пин - 2 выреза "внутри гребенки"
- между 10 и 11 и между 40 и 41 пинами (поскольку всего на одной стороне 84
пина, положение явно асимметрично и, соответственно, определяет 1-й пин. Эти
вырезы могут быть слегка смещены по горизонтали, и это смещение задает
буферизованность и напряжение питания соответственно.
Надо отметить, что контроль каких-либо параметров с
помощью высоты выреза является "односторонним" - модуль с низким
вырезом нельзя установить в разъем с высоким выступом, но не наоборот. Смещение
ключа вдоль модуля - метод более надежный, так как гарантирует невозможность установки
неправильного модуля, но создает серьезную проблему для производителей модулей
(и материнских плат), вынужденных иметь дело с множеством разных дизайнов
печатных плат и разъемов.
Наиболее интересным представляется рассмотреть модуль
DIMM, так как именно для него возможны разные положения ключей. Как уже
отмечалось, модуль имеет 2 ключа. Один из них находится почти посередине
модуля, другой - ближе к 1-му контакту. Предположим, что вы держите DIMM перед
собой контактами вниз и 1-й пин находится слева, тогда левый ключ (ближе к
краю) отвечает за буферизованность, а средний - за напряжение. Если
присмотреться к промежуткам в контактной линейке, в которых расположены ключи,
то видно, что их ширина примерно втрое больше ширины ключа. Каждый ключ, таким
образом, имеет 3 позиции (реально используются 2) - среднюю, а также правую и
левую.
* Левый ключ в средней позиции соответствует
буферизованному модулю, в правой - небуферизованному.
* Средний ключ в левой позиции соответствует 5В
модулю, в средней - 3.3В.
Что такое буферизованный модуль? Для чего нужна
буферизация?
Как нам уже известно, в микросхемах DRAM ячейкой, в
которой хранится информация, является конденсатор. Как следствие, одновременно
с информационной емкостью модулей памяти растет и емкость электрическая. Тем,
кто знаком с теорией электрических цепей, известно также, что постоянная
времени (грубо говоря, время зарядки) конденсатора прямо пропорциональна
емкости. В результате, по мере роста емкости (уже неважно какой) модулей памяти
им требуется все больше времени, чтобы воспринять сигнал от контроллера.
Соответственно, если банально наращивать емкость модулей памяти при
существующем контроллере, рано или поздно "запаздывание" модуля
достигнет такого значения, что нормальная совместная работа двух устройств
станет невозможной.
Проблема была осознана примерно к моменту появления
168-контактных DIMM, и при разработке контроллеров для систем с этими модулями
было предложено следующее решение - контроллер общается с DRAM не напрямую, а
через микросхему, именуемую буфером, которая сама по себе имеет низкую емкость,
и, соответственно, способна мгновенно принимать сигнал от контроллера,
освобождая системную шину. Дальнейшая зарядка ячеек DRAM идет уже без участия
контроллера. Сам по себе буфер представляет собой дополнительную микросхему,
размеры которой, в принципе, могут быть разными, но обычно меньше, чем чипы
собственно памяти.
Однако прежде, чем 168-контактные DIMM прочно вошли в
обиход, произошло еще одно событие - появились и стали легкодоступны микросхемы
с рабочим напряжением 3.3В. Все та же теория гласит, что время зарядки
конденсатора пропорционально также и напряжению, таким образом, снижение
напряжения несколько сняло остроту проблемы.
К моменту массовой разработки контроллеров
памяти для DIMM-ориентированных систем индустрия оказалась полностью
дезориентированной, в результате, в компьютерах разных производителей могут
применяться DIMM практически любой комбинации буферизованность/напряжение.
Насколько можно судить, небуферизованные модули не работоспособны в системах,
предназначенных для модулей буферизованных, и наоборот (в действительности
установить DIMM с "неверной буферизацией" не позволяет наличие ключа).
SDRAM DIMM в буферизованном исполнении не встречаются, однако была разработана
аналогичная буферу конструкция и для них. Она носит название register, а
соответствующие модули - registered.
Теперь давайте поговорим о маркировке модулей памяти.
До этого мы с Вами говорили только о маркировке чипов, и упоминали даже, что
эту тему, если совсем неинтересно можно пропустить. Действительно, ведь Вы
устанавливаете в компьютер не чипы, а модули, и умение читать маркировку чипа
совсем не необходимо для сборки (или подбор комплектующих).
Как маркируются современные модули памяти? Здесь все
очень просто. Модули DIMM SDRAM маркируются следующим образом: PCxxx, где ххх -
частота, на которой сертифицирован работать модуль (возможно что чипы, модуль
составляющие, могут работать и на более высоких частотах). Соответственно,
существует всего 3 спецификации DIMM SDRAM:
PC66 - DIMM SDRAM, предназначенный для работы на
частоте, не превышающей 66 МГц;
PC100 - DIMM SDRAM, предназначенный для работы на
частоте, не превышающей 100 МГц;
PC133 - DIMM SDRAM, предназначенный для работы на
частоте, не превышающей 133 МГц.
Естественно модули, предназначенные для более высоких
частот, могут без проблем применяться и на низших частотах.
Модули DIMM DDR SDRAM маркируются следующим образом:
PCxxxx, где хxхх - пропускная способность памяти, которая может быть
обеспечена, при применении данного модуля (вспомните, как рассчитывается
пропускная способность). Соответственно на сегодняшний день есть только 2 типа
модулей DDR SDRAM:
PC1600 - DIMM DDR SDRAM, предназначенный для работы на
частоте, не превышающей 100 МГц (именно при такой частоте модуль DDR SDRAM
обеспечивает пропускную способность 1600 Мбайт/с);
PC2100 - - DIMM DDR SDRAM, предназначенный для работы
на частоте, не превышающей 133 МГц (именно при такой частоте модуль DDR SDRAM
обеспечивает пропускную способность 2100 Мбайт/с)
И, наконец, модули RIMM, несущие на себе память типа
DR DRAM, маркируются рабочей счастой:
PC600, PC700, PC800 - модули RIMM DR DRAM, работающие
на частотах соответственно 600, 700 и 800 МГц, и имеющие пропускную способность
соответственно: 1200 Мбайт/с, 1400 Мбайт/с, 1600 Мбайт/с.
Итак, мы разобрались с основными принципами функционирования оперативной памяти современного компьютера, с различными архитектурами, которые были представлены на рынке, используются сейчас и будут использоваться в будущем. Разобрались с основными технологиями, применяемыми на рынке памяти, с маркировкой модулей и чипов памяти. Нам придется применить все эти знания в полном объеме уже через 2 занятия, когда мы с Вами начнем изучать чипсеты, применяемые в современных системах.