Идеальная оперативная память
PC Magazine/RE logo
©СК Пресс 10/96
PC Magazine, July, 1996, p.141

Идеальные компоненты


Идеальная оперативная память
Маргарет Пьемонт

Память - мы знаем, что она есть у нас и что нам она нужна. Мы слышали, что чем больше оперативной памяти в ПК, тем выше его производительность. В этом разделе описаны различные типы основной памяти (так называемой DRAM, или динамической памяти с произвольной выборкой) и кэш-памяти процессора (кэш-памяти второго уровня, L2), находящие применение в современных ПК. Комбиниру в своей системе основную и кэш-память разной емкости и типов, вы можете добиться различных значений производительности.

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

Память с быстрым страничным обменом уходит в прошлое

Память, работающая в режиме быстрого страничного обмена (Fast-page-mode, или FPM DRAM), какое-то врем использовалась в ПК массового спроса в качестве стандартной. Но недавно на рынок хлынула волна новых типов памяти с более высоким быстродействием, которым почти удалось вытеснить FPM DRAM как предпочтительный тип оперативной памяти. Действительно, в нашем последнем обзоре 101 ПК класса Pentium ("Pentium Classic: Still the One", June 25, 1996,p. 100) только в трех компьютерах использована FPM DRAM.

Цикл обращения для чтения памяти FPM начинается с активизации строки в матрице DRAM, затем выполняетс активизация первого столбца адресуемой ячейки памяти, содержащей нужные данные. Каждый элемент данных требует подтверждения правильности, после чего необходимо передать и принять в системе. Когда найден нужный элемент данных, столбец деактивизируется и подготавливается к следующему циклу. Это вызывает состояние ожидания, поскольку во время деактивизации столбца ничего не происходит. (ЦП должен ждать завершения цикла памяти.) Выходной буфер данных блокируется или до начала следующего цикла, или до запроса нового элемента данных. В случае быстрого страничного режима следующий столбец в строке активизируется в предположении, что следующий квант запрашиваемых данных находится в соседней ячейке памяти. Такая активизация следующего столбца приводит к хорошим результатам только при последовательном чтении ячеек памяти в конкретной строке.

В идеальном случае для 50-нс памяти типа FPM может выполняться цикл чтения в пакетном режиме 6-3-3-3 (6 тактов на чтение первого элемента данных и по 3 такта на получение следующих трех элементов). Первая фаза содержит накладные расходы на активизацию строки и столбца. После их активизации память может передавать данные, затрачивая всего по три такта на элемент данных.

EDO DRAM

В основе двух новых технологий EDO DRAM (динамическая память с увеличенным временем доступности данных, иногда называемая памятью со сверхбыстрым страничным режимом) и BEDO (Burst EDO DRAM - "пакетная" память с увеличенным временем доступности данных) лежит память, работающая в быстром страничном режиме. EDO появилась в ПК массового выпуска около года назад, и с тех пор многие поставщики систем отдают ей предпочтение. BEDO представляет собой относительно новый тип памяти и не завоевала еще такого большого внимания рынка, как EDO.

Работа EDO во многом напоминает работу FPM DRAM - активизируется строка памяти, а затем активизируется ее столбец. Но после нахождения элемента данных вместо деактивизации столбца и блокирования выходного буфера (что происходит в FPM FRAM) память типа EDO сохраняет выходной информационный буфер включенным до обращения к следующему столбцу или до начала следующего цикла чтения. Сохраняя буфер включенным, память EDO устраняет состояние ожидания, и пакетные передачи производятс быстрее.

Память EDO реализует также более быстрый по сравнению с FMP DRAM идеальный цикл чтения в пакетном режиме 6-2-2-2 (а не 6-3-3-3, как для памяти FPM). Это приводит к безусловной экономии трех тактов при передаче пакета, содержащего четыре кванта информации из DRAM по 66-МГц шине. Память EDO проста в реализации, и при практическом отсутствии различий в цене памяти типа FPM DRAM и типа EDO нет смысла отказываться от использования памяти EDO.

BURST EDO DRAM

BEDO DRAM ("пакетная" память с увеличенным временем доступности данных) значительно в большей степени, чем EDO, улучшает времена цикла по сравнению с памятью FPM. Поскольку большинство приложений ПК обращаются к памяти пакетами из четырех циклов для заполнения кэш-памяти (системная память будет загружать свои данные в кэш L2 или при его отсутствии в ЦП), после нахождения первого адреса остальные три могут быть быстро предоставлены памятью DRAM. Существенное усовершенствование состоит в том, что в BEDO на кристалле добавлен счетчик адреса для слежения за следующими адресами.

В BEDO добавлена также ступень конвейера, позволяющая цикл страничного доступа разделить на две части. При операции чтения из памяти в первой части цикла выполняется передача данных из матрицы памяти на выходную ступень (вторичный регистр), а во второй части устанавливаются на шине данных соответствующие логические уровни в зависимости от содержимого этого регистра. Поскольку данные уже находятся в выходном буфере, достигается более быстрый доступ. BEDO позволяет добиться наилучшего цикла в пакетном режиме 5-1-1-1 (при 52-нс BEDO и 66-МГц шине), что дополнительно экономит три такта по сравнению с оптимально спроектированной памятью типа EDO.

Синхронная DRAM

Набор микросхем Intel 430VX обеспечивает возможность работы нового типа памяти, называемой синхронным динамическим ОЗУ (SDRAM). Основная особенность SDRAM состоит в ее способности синхронизировать все свои операции с тактовыми сигналами процессора. Это упрощает реализацию интерфейсов управления и уменьшает врем обращения к столбцу (но не к строке). SDRAM содержит внутрикристальный пакетный счетчик, который может использоваться для инкрементного увеличения адреса столбца при очень быстром пакетном обращении подобно BEDO. Это означает, что SDRAM позволяет инициировать новое обращение к памяти до завершения предыдущего.

Память SDRAM позволяет получить цикл в пакетном режиме 5-1-1-1 при наличии 66-МГц шины в хорошо спроектированном и настроенном ПК. Длина пакета и запаздывание SDRAM полностью программируютс посредством внутрикристального регистра режима.

Кэш процессора

Когда нам приходится читать о кэш-памяти, то обычно речь идет о кэше L2, или внешнем кэше. Кэш L2 представляет собой ту область, где используется очень быстрая и дорогая память типа SRAM (статическое ОЗУ), хранящая часто используемую процессором информацию, чтобы ЦП не зависел полностью от более медленной динамической памяти. Поскольку существует быстродействующая динамическая память, некоторые поставщики, чтобы попасть в диапазон более низких цен, предлагают ПК без кэш-памяти. Однако наше тестирование показало, что уровни производительности, достигаемые ПК без кэш-памяти, не могут сравниться с уровнями производительности компьютеров, использующих кэш L2.

В SRAM простейшего типа используется асинхронна схема, при которой ЦП посылает адрес в кэш-память, кэш производит поиск адреса и передает требуемые данные. В начале каждого обращения необходим дополнительный цикл для просмотра тегов. Таким образом можно реализовать цикл асинхронного кэша 3-2-2-2 при работе с 66-МГц шиной, хотя значительно чаще встречается 4-2-2-2.

Синхронный кэш буферизует поступающие адреса, чтобы ограничивать просмотр и анализ адресов за два или несколько тактов. В течение первого такт SRAM запоминает запрашиваемый адрес в регистре. Во врем второго память извлекает и осуществляет доставку данных. Поскольку адрес хранится в регистре, синхронна статическая память SRAM может получать следующий адрес данных, пока ЦП читает данные от предыдущего запроса. Синхронная SRAM может объединять в "пакеты" последовательные элементы данных, не принимая и не дешифрируя дополнительные адреса от набора микросхем. Время ответа может быть сокращено и в оптимальном случае составит 2-1-1-1 при использовании 66-МГц шины.

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

Результаты оценки производительности

Для получения сопоставимых результатов тестировани самым важным было стандартизовать нашу испытательную установку. Мы воспользовались ПК с процессором Pentium/166 фирмы Dell Computer Corp. с набором микросхем 430FX фирмы Intel, 2-Гбайт жестким диском с интерфейсом Fast ATA-2 фирмы Seagate и графической платой Number Nine Imagine 128. Кроме того, все микросхемы памяти, использованные нами при тестировании, были предоставлены нам одной фирмой Kingston Technology Corp. (800-337-8410; http://www.kingston.com).

Наиболее значительное изменение производительности при всех сценариях тестирования отмечалось в виде увеличения показателей Winstone 32 при увеличении емкости памяти EDO DRAM машины с 8 до 16 Мбайт. Наоборот, показатели CPUmark32 при том же сценарии тестирования практически не менялись, поскольку этот тест проверяет быстродействие ЦП, кэша L2 и оперативной памяти.

Полученные числовые значения выявляют незначительное улучшение показателей производительности на тесте Winstone 32 после перехода от памяти FPM DRAM к памяти EDO при наличии кэш-памяти любого типа и любой емкости. Однако при отсутствии внешнего кэша EDO дает наибольший выигрыш в производительности по сравнению с FPM - 15% при емкости памяти 8 Мбайт и 18% - при 16 Мбайт.

Значительное увеличение производительности (47%) было достигнуто при установке пакетно-конвейерного кэша L2 емкостью 256 Кбайт в машину, имеющую EDO DRAM емкостью 16 Мбайт и не содержащую кэша, при выполнении теста CPUmark32 и 36% при выполнении теста Winstone 96. В общем случае добавление кэш-памяти или переход от использования асинхронного кэша к синхронному пакетно-конвейерному кэшу приводит к значительно большему увеличению производительности процессора/ памяти (измеряется тестом CPUmark32), чем общей системной производительности (измеряемой с помощью теста Winstone 96).

Системная производительность. Память и кэш L2

Чем выше показатель, тем лучше При отсутствии кэша L2256-Кбайт асинхронный кэш256-Кбайт конвейерный пакетный кэш512-Кбайт конвейерный пакетный кэш
ZD WINSTONE 32
8-Мбайт FPM DRAM30353738
8-Мбайт EDO DRAM35353939
16-Мбайт FPM DRAM57708891
16-Мбайт EDO DRAM67739194
ZD CPUmark32
8-Мбайт FPM DRAM167220271303
8-Мбайт EDO DRAM212232303326
16-Мбайт FPM DRAM168224288323
16-Мбайт EDO DRAM212236312331
Тестирование производилось на машине Dell OptiPlex 5166 (Pentium/166), оснащенной 2-Гбайт жестким диском и графической платой Number Nine Imagine 128.