Спецификация памяти PC100


"Только модули DIMM, аккуратно изготовленные в соответствии со спецификациями, будут правильно работать на частоте 100 MHz" (Цитата из заявления компании CORSAIR).

Краткая история взаимоотношений процессора с памятью

"Ранние" PC

В начале эры персональных компьютеров частота работы процессора составляла от 1 до 10 Mhz, при этом на выполнение даже простейших операций процессор затрачивал несколько тактов. В таких условиях для обеспечения бесперебойной работы процессора было достаточно всего 4 миллиона обращений к памяти в секунду, что соответствует циклу работы памяти в 250 ns. Стандартные модули асинхронной DRAM со временем доступа 80-100 ns вполне удовлетворяли этим требованиям.

Начало 90-х: 486 с частотой 33 MHz

486 процессор начал производиться с тактовой частотой шины 25 MHz. Последующие версии работали уже с частотой системной шины 33 MHz, причём некоторые из них умели даже повышать внутреннюю частоту в 2 или в 3 раза, так что частота процессора составляла до 100 MHz. При частоте системной шины 33 MHz продолжительность цикла работы памяти составляет 30 ns, поэтому стандартная память DRAM со временем доступа 70 ns уже не могла обеспечить подачу данных за один такт шины. Для использования возросшего потенциала процессора пришлось вводить небольшую кэш-память на чипах SRAM с временем доступа 15 ns. Таким образом, обращение в память происходило лишь в случае промаха мимо кэша (a cache miss). В этом случае память DRAM с быстрым страничным доступом (Fast Page Mode DRAM) использовалась для одновременной подачи данных процессору и записи их в кэш (cache line fill). Несмотря на то, что промахи случались достаточно редко (3-4% случаев), быстродействие памяти было настолько мало, что эффективное быстродействие процессора существенно снижалось.

1995: Тактовая частота системной шины — 66 MHz

С появлением процессоров Pentium внутренняя частота стала стремительно расти, а частота системной шины увеличилась до 66 MHz (продолжительность цикла всего 15 ns). Память Fast Page Mode DRAM, хотя ей и удалось уменьшить время доступа до 60 ns, не могла угнаться за процессором (для записи линии кэша требовалось 10-12 тактов) и была постепенно вытеснена EDO (Extended data out), что, правда, дало лишь незначительный рост производительности. Хуже того, асинхронная 15 ns SRAM-память стала слишком медленной для использования в качестве кэш-памяти. Пришлось разрабатывать новый тип синхронной памяти SRAM, известный под именем пакетно-конвейерный (pipelined burst). Ключевым параметром для этого типа памяти является не время доступа, а время задержки при выводе данных, то есть промежуток времени между запросом и появлением данных в шине. Для чипов SRAM, используемых в кэш-памяти, это время обычно составляет 6-8 ns, то есть меньше, чем продолжительность такта.

Начало 1997: SDRAM для шины 66 MHz

После того, как внутренняя частота процессоров Pentium перевалила за 133 MHz, в чипсетах TX и VX фирмы Intel был реализован интерфейс с системной памятью SDRAM. Память SDRAM выпускается в модулях типа DIMM (Double In Line Memory Module), что позволяет извлекать из неё 64 бита за раз. Чипы SDRAM, используемые в таких модулях, используют большинство технологий, ранее применявшихся в пакетно-конвейерной кэш-памяти. В результате модули SDRAM DIMM позволяют достичь такой же скорости пакетной передачи данных, как у кэша, несмотря на большее время доступа.

1997: Процессор в коробочке

В 1997 году компания Intel представила процессор Pentium II с внутренней частотой 233-300 MHz. Новая конструкция — картридж — включает в себя кэш L2. Интерфейс процессор/кэш, работающий на частоте 100 MHz, настолько привередлив, что его пришлось физически реализовывать в виде специальной шины внутри картриджа. Сигналы передаются по шине так быстро, что каждый лишний сантиметр пути становится критичен (электрический сигнал проходит за 1 ns всего около 20 сантиметров). Частота системной шины осталось равной 66 MHz. Модули SDRAM PC100

В 1 квартале 98 года Intel планирует представить чипсет i440BX с тактовой частотой системной шины 100 MHz и семейство материнских плат на этом чипсете со 100-мегагерцовой шиной памяти. Это позволит памяти SDRAM "соответствовать" новому поколению процессоров Pentium II с внутренними частотами от 333 MHz. В связи с выходом нового чипсета была разработана спецификация модулей памяти РС100, которая описывает все тонкости дизайна, без которых, по мнению Intel, невозможна корректная работа модулей памяти на частоте 100 MHz. Спецификация РС100 является самой полной из всех существующих на сегодняшний день спецификаций модулей памяти. Вместе с дополнением, детально описывающим программирование EEPROM для модулей SDRAM, она занимает больше 70 страниц. Тут есть чем гордиться, поскольку, например, спецификация модулей кэш-памяти, работающих на частоте 66 MHz, занимала меньше 10 страниц.

Вот некоторые ключевые моменты спецификации РС100:

1. Определение минимальной и максимальной длины пути для каждого сигнала в модуле

Позволяет определить временную задержку для каждого из 7 типов сигнала (данные, адрес и 5 различных групп контрольных сигналов) относительно тактового импульса. Для предыдущих поколений SDRAM DIMM ограничивалась лишь максимальная длина пути, да и это ограничение игнорировалось многими производителями модулей, построенных на 4-слойных платах.

2. Определение ширины дорожек и расстояния между ними

Точно определяет ширину дорожек на печатной плате и разрешённое расстояние между ними. Это позволяет контролировать сопротивление платы и уменьшить интерференцию между дорожками. Для предыдущих поколений SDRAM DIMM таких ограничений не было.

3. 6-слойные платы с отдельными сплошными слоями "масса" и "питание"

Сплошные слои улучшают распределение питания и уменьшают шум. Предыдущие спецификации SDRAM DIMM также рекомендовали 6-слойные платы, однако многие производители делали платы с 4 слоями без сплошных слоёв массы и питания.

4. Детальная спецификация расстояний между слоями

Позволяет контролировать сопротивление цепей на плате с целью минимизации отражений сигнала. Такие отражения существенно увеличивают время прохождения сигнала, в результате чего сигнал может быть неправильно воспринят после окончания такта. Для предыдущих поколений SDRAM DIMM таких ограничений не было.

5. Строгое определение длины пути тактового импульса, его маршрутизации, момента начала и окончания

Уменьшает отражение тактового импульса и позволяет точно синхронизировать моменты получения тактового импульса каждым модулем памяти и чипсетом BX. Предыдущие спецификации SDRAM DIMM содержали менее жёсткие ограничения, которые игнорировались многими производителями 4-слойных плат.

6. Подавляющие резисторы в цепях передачи данных

Уменьшают отражение в цепи. Предыдущие спецификации SDRAM DIMM содержали такие же требования, но многие производители их игнорировали.

7. Детальная спецификация компонент SDRAM

Модули памяти, совместимые со спецификацией РС100, должны строиться на РС100-совместимых чипах SDRAM. Большинство ныне существующих чипов являются 10-наносекундными и часто называются 100-мегагерцовыми. По мнению Intel, эти чипы не позволяют модулю работать на частоте 100 MHz и не являются РС100-совместимыми. Сейчас производители разрабатывают действительно РС100-совместимые 8-наносекундные чипы. По заявлению компании CORSAIR, только избранный круг производителей, обладающих возможностью проводить изощрённейшие тесты (себя они, естественно, в этот круг включают), способен выполнить эти условия. Фраза мне настолько понравилась, что привожу её полностью на языке оригинала: "Only a select group of chip vendors with very sophisticated test capabilities will be able to meet these requirements." На память сразу приходит дедушка Ленин: "Узок круг бойцов…" Правда, там ещё было: "Страшно далеки они от народа". Ну что ж, посмотрим, но звучит круто.

8. Детальная спецификация программирования EEPROM

Модули РС100 должны иметь последовательную (serial) EEPROM-память, содержащую важнейшие временные параметры и данные о чипе и производителе. Это гарантирует, что чипсет BX правильно определит модуль путём чтения параметров с использованием Serial Presence Detect Interface. Кстати, EEPROM является обязательным и в нынешней спецификации, но большинство производителей спокойно обходятся без возможностей Serial Presence Detect. BIOS ряда материнских плат написан таким образом, что может угадывать необходимую информацию. Intel убеждает поставщиков проникнуться необходимостью интерфейса Serial Presence Detect и заявляет, что отсутствие EEPROM может привести к сбоям при работе с памятью. По этой причине материнские платы (не чипсеты) компании Intel отказываются работать с модулями памяти, у которых отсутствует правильно запрограммированная EEPROM-память.

9. Особые требования к маркировке

Intel предвидит возможность возникновения проблем при установке на плату модулей памяти разных производителей, поэтому разработана детальная система маркировки. Метки имеют вид РС100-abc-def, где подчёркнутые буквы представляют собой 4 ключевых временных параметра и номер версии (revision number) последней (latest) спецификации Serial Presence Detect. Кроме того, версия (design revision) спецификации SDRAM DIMM должна быть указана на покрытии печатной платы модуля. Возникает резонный вопрос: а зачем нужны все эти хитрые интерфейсы и EEPROM, если вся нужная информация написана на модуле человеческим языком? Тут BIOSу и угадывать ничего не надо. Впрочем, спецификация 66MHz SDRAM DIMM таких требований не предъявляла.

10. Подавление электромагнитной интерференции

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

11. Местами позолоченные печатные платы

Как и предыдущие стандарты, РС100 утверждает, что высококачественные модули должны кроме всего прочего иметь контакты, покрытые слоем золота в 30 микродюймов. Однако многие производители используют более простую технологию: покрывают тончайшей позолотой (3-10 микродюймов) всю поверхность платы. Так вот, это может привести к нестабильному контакту и даже отпайке припаянных чипов. Заключение

Итак, модули SDRAM DIMM, совместимые со спецификацией РС100 должны

  • содержать чипы памяти SDRAM, совместимые с Intel SDRAM Component SPEC (Version 1.5)
  • включать интерфейс SPD (Serial Presence Detect, кто не знает), совместимый с Intel SPD Component SPEC (Version 1.2)
  • использовать 6-слойную печатную плату с отдельными слоями "масса" и "питание"
  • исключать прохождение сигналов по слоям "масса" и "питание"
  • строго следовать спецификациям Intel относительно маршрутизации и длины пути тактового импульса
  • строго следовать спецификациям Intel относительно количества, расположения, длины и топологии дорожек

По заявлениям компании Intel, малейшее отступление от спецификации РС100 приведёт к существенному снижению надёжности системы. Иными словами, шаг влево, шаг вправо — попытка побега. Прыжок на месте — провокация. Ну что ж, поживём — увидим, относятся эти грозные заявления ко всем системам или только к системам на базе материнских плат компании Intel.

При подготовке материала использованы материалы компании Corsair




27 февраля 1998 Г.

Спецификация памяти PC100

Спецификация памяти PC100

"Только модули DIMM, аккуратно изготовленные в соответствии со спецификациями, будут правильно работать на частоте 100 MHz" (Цитата из заявления компании CORSAIR).

Краткая история взаимоотношений процессора с памятью

"Ранние" PC

В начале эры персональных компьютеров частота работы процессора составляла от 1 до 10 Mhz, при этом на выполнение даже простейших операций процессор затрачивал несколько тактов. В таких условиях для обеспечения бесперебойной работы процессора было достаточно всего 4 миллиона обращений к памяти в секунду, что соответствует циклу работы памяти в 250 ns. Стандартные модули асинхронной DRAM со временем доступа 80-100 ns вполне удовлетворяли этим требованиям.

Начало 90-х: 486 с частотой 33 MHz

486 процессор начал производиться с тактовой частотой шины 25 MHz. Последующие версии работали уже с частотой системной шины 33 MHz, причём некоторые из них умели даже повышать внутреннюю частоту в 2 или в 3 раза, так что частота процессора составляла до 100 MHz. При частоте системной шины 33 MHz продолжительность цикла работы памяти составляет 30 ns, поэтому стандартная память DRAM со временем доступа 70 ns уже не могла обеспечить подачу данных за один такт шины. Для использования возросшего потенциала процессора пришлось вводить небольшую кэш-память на чипах SRAM с временем доступа 15 ns. Таким образом, обращение в память происходило лишь в случае промаха мимо кэша (a cache miss). В этом случае память DRAM с быстрым страничным доступом (Fast Page Mode DRAM) использовалась для одновременной подачи данных процессору и записи их в кэш (cache line fill). Несмотря на то, что промахи случались достаточно редко (3-4% случаев), быстродействие памяти было настолько мало, что эффективное быстродействие процессора существенно снижалось.

1995: Тактовая частота системной шины — 66 MHz

С появлением процессоров Pentium внутренняя частота стала стремительно расти, а частота системной шины увеличилась до 66 MHz (продолжительность цикла всего 15 ns). Память Fast Page Mode DRAM, хотя ей и удалось уменьшить время доступа до 60 ns, не могла угнаться за процессором (для записи линии кэша требовалось 10-12 тактов) и была постепенно вытеснена EDO (Extended data out), что, правда, дало лишь незначительный рост производительности. Хуже того, асинхронная 15 ns SRAM-память стала слишком медленной для использования в качестве кэш-памяти. Пришлось разрабатывать новый тип синхронной памяти SRAM, известный под именем пакетно-конвейерный (pipelined burst). Ключевым параметром для этого типа памяти является не время доступа, а время задержки при выводе данных, то есть промежуток времени между запросом и появлением данных в шине. Для чипов SRAM, используемых в кэш-памяти, это время обычно составляет 6-8 ns, то есть меньше, чем продолжительность такта.

Начало 1997: SDRAM для шины 66 MHz

После того, как внутренняя частота процессоров Pentium перевалила за 133 MHz, в чипсетах TX и VX фирмы Intel был реализован интерфейс с системной памятью SDRAM. Память SDRAM выпускается в модулях типа DIMM (Double In Line Memory Module), что позволяет извлекать из неё 64 бита за раз. Чипы SDRAM, используемые в таких модулях, используют большинство технологий, ранее применявшихся в пакетно-конвейерной кэш-памяти. В результате модули SDRAM DIMM позволяют достичь такой же скорости пакетной передачи данных, как у кэша, несмотря на большее время доступа.

1997: Процессор в коробочке

В 1997 году компания Intel представила процессор Pentium II с внутренней частотой 233-300 MHz. Новая конструкция — картридж — включает в себя кэш L2. Интерфейс процессор/кэш, работающий на частоте 100 MHz, настолько привередлив, что его пришлось физически реализовывать в виде специальной шины внутри картриджа. Сигналы передаются по шине так быстро, что каждый лишний сантиметр пути становится критичен (электрический сигнал проходит за 1 ns всего около 20 сантиметров). Частота системной шины осталось равной 66 MHz.

Модули SDRAM PC100

В 1 квартале 98 года Intel планирует представить чипсет i440BX с тактовой частотой системной шины 100 MHz и семейство материнских плат на этом чипсете со 100-мегагерцовой шиной памяти. Это позволит памяти SDRAM "соответствовать" новому поколению процессоров Pentium II с внутренними частотами от 333 MHz. В связи с выходом нового чипсета была разработана спецификация модулей памяти РС100, которая описывает все тонкости дизайна, без которых, по мнению Intel, невозможна корректная работа модулей памяти на частоте 100 MHz. Спецификация РС100 является самой полной из всех существующих на сегодняшний день спецификаций модулей памяти. Вместе с дополнением, детально описывающим программирование EEPROM для модулей SDRAM, она занимает больше 70 страниц. Тут есть чем гордиться, поскольку, например, спецификация модулей кэш-памяти, работающих на частоте 66 MHz, занимала меньше 10 страниц.

Вот некоторые ключевые моменты спецификации РС100:

1. Определение минимальной и максимальной длины пути для каждого сигнала в модуле

Позволяет определить временную задержку для каждого из 7 типов сигнала (данные, адрес и 5 различных групп контрольных сигналов) относительно тактового импульса. Для предыдущих поколений SDRAM DIMM ограничивалась лишь максимальная длина пути, да и это ограничение игнорировалось многими производителями модулей, построенных на 4-слойных платах.

2. Определение ширины дорожек и расстояния между ними

Точно определяет ширину дорожек на печатной плате и разрешённое расстояние между ними. Это позволяет контролировать сопротивление платы и уменьшить интерференцию между дорожками. Для предыдущих поколений SDRAM DIMM таких ограничений не было.

3. 6-слойные платы с отдельными сплошными слоями "масса" и "питание"

Сплошные слои улучшают распределение питания и уменьшают шум. Предыдущие спецификации SDRAM DIMM также рекомендовали 6-слойные платы, однако многие производители делали платы с 4 слоями без сплошных слоёв массы и питания.

4. Детальная спецификация расстояний между слоями

Позволяет контролировать сопротивление цепей на плате с целью минимизации отражений сигнала. Такие отражения существенно увеличивают время прохождения сигнала, в результате чего сигнал может быть неправильно воспринят после окончания такта. Для предыдущих поколений SDRAM DIMM таких ограничений не было.

5. Строгое определение длины пути тактового импульса, его маршрутизации, момента начала и окончания

Уменьшает отражение тактового импульса и позволяет точно синхронизировать моменты получения тактового импульса каждым модулем памяти и чипсетом BX. Предыдущие спецификации SDRAM DIMM содержали менее жёсткие ограничения, которые игнорировались многими производителями 4-слойных плат.

6. Подавляющие резисторы в цепях передачи данных

Уменьшают отражение в цепи. Предыдущие спецификации SDRAM DIMM содержали такие же требования, но многие производители их игнорировали.

7. Детальная спецификация компонент SDRAM

Модули памяти, совместимые со спецификацией РС100, должны строиться на РС100-совместимых чипах SDRAM. Большинство ныне существующих чипов являются 10-наносекундными и часто называются 100-мегагерцовыми. По мнению Intel, эти чипы не позволяют модулю работать на частоте 100 MHz и не являются РС100-совместимыми. Сейчас производители разрабатывают действительно РС100-совместимые 8-наносекундные чипы. По заявлению компании CORSAIR, только избранный круг производителей, обладающих возможностью проводить изощрённейшие тесты (себя они, естественно, в этот круг включают), способен выполнить эти условия. Фраза мне настолько понравилась, что привожу её полностью на языке оригинала: "Only a select group of chip vendors with very sophisticated test capabilities will be able to meet these requirements." На память сразу приходит дедушка Ленин: "Узок круг бойцов…" Правда, там ещё было: "Страшно далеки они от народа". Ну что ж, посмотрим, но звучит круто.

8. Детальная спецификация программирования EEPROM

Модули РС100 должны иметь последовательную (serial) EEPROM-память, содержащую важнейшие временные параметры и данные о чипе и производителе. Это гарантирует, что чипсет BX правильно определит модуль путём чтения параметров с использованием Serial Presence Detect Interface. Кстати, EEPROM является обязательным и в нынешней спецификации, но большинство производителей спокойно обходятся без возможностей Serial Presence Detect. BIOS ряда материнских плат написан таким образом, что может угадывать необходимую информацию. Intel убеждает поставщиков проникнуться необходимостью интерфейса Serial Presence Detect и заявляет, что отсутствие EEPROM может привести к сбоям при работе с памятью. По этой причине материнские платы (не чипсеты) компании Intel отказываются работать с модулями памяти, у которых отсутствует правильно запрограммированная EEPROM-память.

9. Особые требования к маркировке

Intel предвидит возможность возникновения проблем при установке на плату модулей памяти разных производителей, поэтому разработана детальная система маркировки. Метки имеют вид РС100-abc-def, где подчёркнутые буквы представляют собой 4 ключевых временных параметра и номер версии (revision number) последней (latest) спецификации Serial Presence Detect. Кроме того, версия (design revision) спецификации SDRAM DIMM должна быть указана на покрытии печатной платы модуля. Возникает резонный вопрос: а зачем нужны все эти хитрые интерфейсы и EEPROM, если вся нужная информация написана на модуле человеческим языком? Тут BIOSу и угадывать ничего не надо. Впрочем, спецификация 66MHz SDRAM DIMM таких требований не предъявляла.

10. Подавление электромагнитной интерференции

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

11. Местами позолоченные печатные платы

Как и предыдущие стандарты, РС100 утверждает, что высококачественные модули должны кроме всего прочего иметь контакты, покрытые слоем золота в 30 микродюймов. Однако многие производители используют более простую технологию: покрывают тончайшей позолотой (3-10 микродюймов) всю поверхность платы. Так вот, это может привести к нестабильному контакту и даже отпайке припаянных чипов.

Заключение

Итак, модули SDRAM DIMM, совместимые со спецификацией РС100 должны

  • содержать чипы памяти SDRAM, совместимые с Intel SDRAM Component SPEC (Version 1.5)
  • включать интерфейс SPD (Serial Presence Detect, кто не знает), совместимый с Intel SPD Component SPEC (Version 1.2)
  • использовать 6-слойную печатную плату с отдельными слоями "масса" и "питание"
  • исключать прохождение сигналов по слоям "масса" и "питание"
  • строго следовать спецификациям Intel относительно маршрутизации и длины пути тактового импульса
  • строго следовать спецификациям Intel относительно количества, расположения, длины и топологии дорожек

По заявлениям компании Intel, малейшее отступление от спецификации РС100 приведёт к существенному снижению надёжности системы. Иными словами, шаг влево, шаг вправо — попытка побега. Прыжок на месте — провокация. Ну что ж, поживём — увидим, относятся эти грозные заявления ко всем системам или только к системам на базе материнских плат компании Intel.

При подготовке материала использованы материалы компании Corsair