Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Железо Память Оперативная память DDR2 - грядущая замена DDR. Теоретические основы и первые результаты низкоуровневого тестирования RSS

DDR2 - грядущая замена DDR. Теоретические основы и первые результаты низкоуровневого тестирования

Текущий рейтинг: 3.14 (проголосовало 7)
 Посетителей: 3491 | Просмотров: 5682 (сегодня 0)  Шрифт: - +
DDR2 — новый стандарт памяти, утвержденный JEDEC (Joint Electronic Device Engineering Council), в состав которого входят многие производители модулей памяти и чипсетов. Ранние версии стандарта были опубликованы уже в марте 2003 года, окончательно он был утвержден лишь в январе 2004 года и получил наименование DDR2 SDRAM SPECIFICATION, JESD79-2, ревизия A (JESD79-2A). DDR2 основывается на хорошо известной и зарекомендовавшей себя технологии DDR (Double Data Rate). Можно даже сказать так: «DDR2 начинается там, где заканчивается DDR». Другими словами, первые DDR2 будут работать на частотах, являющихся пределом для текущего поколения памяти DDR-400 (стандарт PC3200, тактовая частота 200 МГц), а ее дальнейшие варианты существенно его превзойдут. Первым поколением памяти DDR2, уже производимым в настоящее время такими вендорами, как Samsung, Infineon, Micron, Crucial, Kingston и Corsair, являются ее разновидности DDR2-400 и DDR2-533, работающие на частотах 200 МГц и 266 МГц, соответственно. Далее ожидается появление нового поколения модулей DDR2-667 и DDR2-800, хотя отмечается, что они вообще вряд ли появятся и, тем более, получат широкое распространение даже к концу этого года.

Справедливости ради стоит заметить, что память типа DDR2, как таковая, появилась уже довольно давно — конечно же, имеется в виду память на видеокартах. Тем не менее, эта разновидность DDR2 (называемая GDDR2) , на самом деле, является особым типом памяти, разработанным специально для рынка видеокарт и слегка отличающимся от «десктопного» варианта DDR2, которому и посвящен настоящий обзор.

Общая информация

Итак, «десктопная» DDR2-SDRAM рассматривается как эволюционная замена текущего поколения памяти — DDR. Принцип ее функционирования абсолютно тот же — передача данных (на уровне модуля памяти) осуществляется по 64-разрядной шине по обеим частям синхросигнала (восходящему — «фронту», и нисходящему — «срезу»), что обеспечивает удвоенную эффективную скорость передачи данных по отношению к ее частоте. Разумеется, при этом в DDR2 реализован ряд нововведений, которые позволяют осуществить скачок к гораздо более высоким частотам (а, следовательно, большей пропускной способности) и большим емкостям массивов микросхем, с одной стороны, и уменьшенному энергопотреблению модулей, - с другой. За счет чего это достигается, мы увидим позже, а пока обратимся к «макроскопическим» фактам. Модули памяти типа DDR2 производятся в новом форм-факторе, в виде 240-контактных модулей DIMM, электрически не совместимых со слотами для модулей памяти типа DDR (по количеству выводов, расстоянию между выводами и цоколевке модулей). Таким образом, стандарт DDR2 не предусматривает обратной совместимости с DDR.

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

Скорость компонента

Скорость модуля

Частота FSB

Скорость передачи данных

Пропускная способность модуля

Пропускная способность в двухканальном режиме

DDR2-400

PC2-3200

200 МГц

400 МТ/с

3.2 ГБ/с

6.4 ГБ/с

DDR2-533

PC2-4300

266 МГц

533 МТ/с

4.3 ГБ/с

8.6 ГБ/с

DDR2-667

PC2-5300

333 МГц

667 МТ/с

5.3 ГБ/с

10.6 ГБ/с

Первые модули памяти DDR2 будут поставляться в вариантах 256 МБ, 512 МБ и 1 ГБ. Тем не менее, стандарт предусматривает возможность построения модулей существенно большей емкости — вплоть до 4 ГБ, которые, однако, являются специализированными модулями (не совместимыми с десктопными вариантами, по крайней мере, на данный момент). В дальнейшем ожидается появление модулей, обладающих еще большей емкостью.

Чипы DDR2 будут изготавливаться с использованием упаковки типа FBGA (Fine Ball Grid Array), более компактной, чем традиционный вариант TSOP-II, позволяющей достичь больших емкостей микросхем при меньшем размере и улучшенных электрических и термических характеристиках. Такой метод упаковки уже используется некоторыми производителями DDR в качестве варианта, но является рекомендованным к использованию с точки зрения стандарта JEDEC.

Потребляемое модулями DDR2 напряжение, согласно стандарту — 1.8 V, что значительно меньше по сравнению с напряжением питания устройств DDR (2.5 V). Вполне ожидаемым (хотя и не столь очевидным) следствием этого факта является уменьшение энергопотребления, что важно для производителей, как ноутбуков, так и крупных рабочих станций и серверов, где проблема рассеиваемой модулями памяти мощности занимает далеко не последнее место.

DDR2 изнутри

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

Выборка данных

Главным изменением в DDR2 является возможность выборки сразу 4 бит данных за такт (4n-prefetch), в противоположность 2-битной выборке (2n-prefetch), реализованной в DDR. По существу, это означает, что на каждом такте шины памяти DDR2 осуществляет пересылку 4 бит информации из логических (внутренних) банков микросхемы памяти в буферы ввода-вывода по одной линии интерфейса данных, тогда как обычная DDR способна переслать лишь 2 бита за такт на линию. Довольно закономерно возникает вопрос — если это так, то почему же тогда эффективная пропускная способность DDR2-400 оказывается такой же, как и у обычной DDR-400 (3.2 ГБ/с), а не удвоенной?

Для ответа на этот вопрос сначала рассмотрим, как работает обычная память типа DDR-400. В этом случае, как ядро памяти, так и буферы ввода-вывода функционируют на частоте 200 МГц, а «эффективная» частота внешней шины данных, благодаря технологии DDR, равна 400 МГц. По правилу 2n-prefetch, на каждом такте памяти (200 МГц) по каждой линии интерфейса данных в буфер ввода-вывода поступает 2 бита информации. Задачей этого буфера является мультиплексирование/демультиплексирование (MUX/DEMUX) потока данных — по-простому, «перегонка» узкого высокоскоростного потока в широкий низкоскоростной, и наоборот. Поскольку в микросхеме памяти типа DDR SDRAM логические банки имеют ширину шины данных, соединяющую их и усилитель уровня, в два раза шире, чем от защелок на чтение до внешнего интерфейса, буфер данных включает в себя мультиплексор типа 2-1. В общем случае, поскольку микросхемы памяти, в отличие от модулей, могут иметь разную ширину шины данных — обычно это x4/x8/x16/x32, применение такой схемы MUX/DEMUX (2-1), реализованной в DDR, означает, что внутренний поток данных шириной X и частотой передачи Y от массива преобразуется во внешний поток шириной X/2 и частотой 2Y. Это называется балансом по пиковой пропускной способности.

Рассмотрим теперь схему функционирования устройства микросхемы памяти типа DDR2 SDRAM, равночастотной и «равноширокой» (т.е. одинаковой ширины шины данных) относительно микросхемы DDR модуля памяти DDR2-400. Прежде всего, отметим, что ширина внешней шины данных осталась абсолютно такой же — 1 бит/линию, как и ее эффективная частота (в рассматриваемом примере — 400 МГц). Собственно, этого уже достаточно для ответа на поставленный выше вопрос — почему теоретическая ПСП равночастотных модулей памяти типа DDR2 и DDR равны между собой. Далее, очевидно, что использование мультиплексора типа 2-1, применяемого в DDR SDRAM, в случае DDR2 SDRAM, осуществляющей выборку данных по правилу 4n-prefetch, уже не подходит. Вместо этого требуется введение более сложной схемы с дополнительной ступенью преобразования — мультиплексора типа 4-1. Это означает, что выход ядра стал шире в четыре раза внешнего интерфейса микросхемы и во столько же раз ниже по частоте функционирования. То есть, по аналогии с рассмотренным выше примером, в общем случае схема MUX/DEMUX 4-1 осуществляет преобразование внутреннего потока данных шириной X и частотой передачи Y от массива во внешний поток шириной X/4 и частотой 4Y.

Поскольку в этом случае ядро микросхем памяти синхронизируется на частоте, вдвое меньшей по отношению к внешней (100 МГц), тогда как в DDR синхронизация внутреннего и внешнего потока данных происходят на одной частоте (200 МГц), среди преимуществ такого подхода отмечается увеличение процента выхода годных чипов и снижение энергопотребления модулей. Кстати, это также позволяет объяснить, почему стандарт DDR2 предполагает существование модулей памяти с «эффективной» частотой 800 МГц — что вдвое выше, чем у текущего поколения памяти типа DDR. Ведь именно такой «эффективной» частоты DDR2 можно достичь уже сейчас, имея чипы памяти DDR-400, работающие на собственной частоте 200 МГц, если осуществлять выборку данных по правилу 4n-prefetch по схеме, рассмотренной выше.

Таким образом, DDR2 означает отказ от экстенсивного пути развития чипов памяти — в смысле, простого дальнейшего увеличения их частоты, которое существенно затрудняет производство стабильно работающих модулей памяти в большом количестве. На смену ему выдвигается интенсивный путь развития, связанный с расширением внутренней шины данных (что является обязательным и неизбежным решением при использовании более сложного мультиплексирования) . Рискнем предположить, что в будущем вполне можно ожидать появление памяти типа «DDR4», осуществляющей выборку уже не 4-х, а сразу 8 бит данных из чипов памяти (по правилу 8n-prefetch, с использованием мультиплексора типа 8-1), и работающих на частоте уже не в 2, а в 4 раза меньшей по отношению к частоте буфера ввода-вывода :). Собственно, ничего нового в таком подходе нет — подобное уже встречалось в микросхемах памяти типа Rambus DRAM. Тем не менее, нетрудно догадаться, что оборотной стороной такого пути развития является усложнение устройства MUX/DEMUX буфера ввода-вывода, который в случае DDR2 должен осуществлять сериализацию четырех бит данных, считываемых параллельно. Прежде всего, это должно сказаться на такой немаловажной характеристике памяти, как ее латентность, что мы и рассмотрим ниже.

Внутричиповое терминирование

Стандарт DDR2 включает в себя и ряд других усовершенствований, улучшающих различные характеристики нового типа памяти, в том числе — электрические. Одним из таких новшеств является внутричиповое терминирование сигнала. Суть его заключается в том, что для устранения излишнего электрического шума (вследствие возможного отражения сигнала от конца линии) на шине памяти для нагрузки линии используются резисторы не на материнской плате (как это было с предыдущими поколениями памяти), а внутри самих чипов. Эти резисторы деактивируются, когда чип находится в работе и, наоборот, активируются, как только микросхема входит в состояние ожидания. Поскольку гашение сигнала теперь осуществляется намного ближе к его источнику, это позволяет устранить электрические помехи внутри чипа памяти при передаче данных.

Кстати, в связи с технологией внутричипового терминирования нельзя не остановиться на таком моменте, как... тепловыделение модуля, на активное снижение которого, в общем-то, в первую очередь и рассчитан новый стандарт DDR2. Действительно, такая схема терминирования сигналов приводит к возникновению значительных статических токов внутри чипов памяти, что ведет к их разогреву. Что ж, это действительно так, хотя заметим, что мощность, потребляемая подсистемой памяти в целом, от этого вовсе не должна расти (просто тепло теперь рассеивается в другом месте). Проблема здесь немного в другом — а именно, в возможности повышения частоты функционирования таких устройств. Весьма вероятно, что именно поэтому первым поколением памяти DDR2 являются модули вовсе не DDR2-800, а лишь DDR2-400 и DDR2-533, для которых тепловыделение внутри чипов пока что остается на приемлемом уровне.

Добавочная задержка

Добавочная задержка (также известная как «отложенная выдача CAS») — еще одно усовершенствование, введенное в стандарт DDR2, которое призвано минимизировать простои планировщика команд при передаче данных из памяти/в память. Чтобы проиллюстрировать это, рассмотрим для начала чтение данных в режиме чередования банков (Bank Interleave) из устройства типа DDR2 с добавочной задержкой, равной нулю, что эквивалентно чтению из обычной памяти типа DDR.

На первом этапе происходит открывание банка с помощью команды ACTIVATE вместе с подачей первой составляющей адреса (адреса строки), которая выбирает и активирует необходимый банк и строку в его массиве. В течение следующего цикла информация передается на внутреннюю шину данных и направляется на усилитель уровня. Когда усиленный уровень сигнала достигает необходимого значения (по истечении времени, именуемого задержкой между определением адреса строки и столбца, tRCD (RAS-to-CAS Delay) на исполнение может подаваться команда чтения (READ with Auto-Precharge, RD_AP) совместно с адресом столбца, чтобы выбрать точный адрес данных, которые надо считать с усилителя уровня. После выставления команды чтения выполняется задержка строба выбора столбца — tCL (задержка сигнала CAS, CAS Latency), в течение которой данные, выбранные из усилителя уровня, синхронизируются и передаются на внешние выводы микросхемы. При этом, в случае попадания в страницу (Page Hit), т.е., когда адресован нужный банк, вполне может возникнуть ситуация, когда следующая команда (ACTIVATE) не может быть отправлена на исполнение, поскольку в данный момент времени еще не закончилось исполнение других команд. Так, в рассматриваемом примере, активация 2-го банка должна быть отложена на один такт, поскольку в этот момент уже исполняется команда чтения (RD_AP) из банка 0. В конечном счете, это приводит к разрыву в последовательности выдачи данных по внешней шине, что снижает реальную пропускную способность памяти.

Для устранения подобной ситуации и увеличения эффективности работы планировщика команд в DDR2 вводится понятие добавочной (дополнительной) задержки, tAL. При ненулевом значении tAL устройство памяти отслеживает команды READ и WRITE, но откладывает их исполнение на время, равное величине добавочной задержки. Различия в поведении модуля памяти типа DDR2 с двумя различными величинами tAL приведены на рисунке.

Верхний рисунок описывает режим функционирования модуля DDR2 при tAL = 0, что эквивалентно обычному устройству типа DDR; нижний соответствует случаю tAL = tRCD - 1, стандартному для DDR2. При такой конфигурации, как видно из рисунка, команды ACTIVATE и READ могут поступать на исполнение одна за другой. Фактическая реализация команды READ будет отложена на величину добавочной задержки, т.е. реально она будет исполнена в тот же момент, как и на диаграмме сверху.

На следующем рисунке приведен пример считывания данных из DDR2 в предположении tRCD = 4 такта, что соответствует tAL = 3 тактам. В этом случае, благодаря введению дополнительной задержки, команды ACTIVATE/RD_AP могут исполняться подряд, в свою очередь, позволяя выдавать данные непрерывным образом и максимизировать реальную пропускную способность модуля памяти.

Задержка выдачи CAS

Как мы видели выше, DDR2, с точки зрения частоты внешней шины, работает на более высоких скоростях, чем DDR SDRAM. В то же время, поскольку новый стандарт не предполагает каких-либо существенных изменений в технологии производства самих чипов, статические задержки на уровне устройства DRAM должны оставаться более-менее постоянными. Типичная величина собственной задержки устройств DRAM типа DDR — 15 нс. Для DDR-266 (со временем цикла 7.5 нс.) это эквивалентно двум тактам, а для DDR2-533 (время цикла — 3.75 нс.) — четырем.

По мере дальнейшего увеличения частот памяти необходимо множить количество поддерживаемых значений задержки выдачи сигнала CAS (в сторону больших значений). Определенные стандартом DDR2 величины задержек CAS представлены в таблице. Они находятся в интервале целых чисел от 3 до 5 тактов; использование дробных задержек (кратных 0.5) в новом стандарте не допускается.

Задержки устройства DRAM выражаются размерностью цикла (tCK), т.е. равны произведению времени цикла на выбранное значение задержки CAS (tCL). Типичные значения задержек для устройств типа DDR2 попадают в интервал 12-20 нс., на основании которого и выбирается используемое значение задержки CAS. Использование больших величин задержки нецелесообразно из соображений производительности подсистемы памяти, а меньших — ввиду необходимости стабильной работы устройства памяти.

Задержка записи

Стандарт DDR2 также вносит изменения в спецификацию задержки записи (команды WRITE). Различия в поведении команды записи в устройствах DDR и DDR2 представлены на рисунке.

DDR SDRAM имеет задержку записи, равную 1 такту. Это означает, что устройство DRAM приступает к «захвату» информации по шине данных в среднем через один такт после поступления команды WRITE. Тем не менее, учитывая возросшую скорость устройств DDR2, этот промежуток времени оказывается слишком малым для того, чтобы устройство DRAM (а именно, его буфер ввода-вывода) могло успешно подготовиться к «захвату» данных. В связи с этим, стандарт DDR2 определяет задержку записи как задержку выдачи CAS за вычетом 1 такта (tWL = tCL - 1). Отмечается, что привязка задержки WRITE к задержке CAS не только позволяет достичь более высоких частот модулей, но и упрощает синхронизацию команд чтения и записи (настройку таймингов Read-to-Write).

Восстановление после записи

Процедура записи в память типа SDRAM аналогична операции чтения с разницей в дополнительном интервале tWR, характеризующем период восстановления интерфейса после проведения операции (обычно это двухтактная задержка между окончанием выдачи данных на шину и инициированием нового цикла). Этот временной интервал, измеряемый от момента окончания операции записи до момента вхождения в стадию регенерации (Auto Precharge), обеспечивает восстановление интерфейса после проведения операции записи и гарантирует корректность ее выполнения. Отметим, что стандарт DDR2 не вносит изменений в спецификацию периода восстановления после записи.

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

Результаты тестирования в RightMark Memory Analyzer

Что ж, самое время теперь перейти к результатам тестирования, полученным в тестовом пакете RightMark Memory Analyzer версии 3.1. Напомним, что главными преимуществами этого теста по отношению к другим доступным тестам памяти является широкая функциональность, открытость методики (тест доступен всем желающим для ознакомления в виде исходного кода) и тщательно проработанная документация.

Конфигурации тестовых стендов и ПО

Тестовый стенд №1

  • Процессор: Intel Pentium 4 3.4 ГГц (ядро Prescott, Socket 478, FSB 800/HT, 1 МБ L2) на частоте 2.8 ГГц
  • Материнская плата: ASUS P4C800 Deluxe на чипсете Intel 875P
  • Память: 2x512 МБ PC3200 DDR SDRAM DIMM TwinMOS (тайминги 2.5-3-3-6)

Тестовый стенд №2

  • Процессор: Intel Pentium 4 3.4 ГГц (ядро Prescott, Socket 775, FSB 800/HT, 1 МБ L2) на частоте 2.8 ГГц
  • Материнская плата: Intel D915PCY на чипсете Intel 915
  • Память: 2x512 МБ PC2-4300 DDR2 SDRAM DIMM Samsung (тайминги 4-4-4-8)

Программное обеспечение

Максимальная реальная пропускная способность памяти

Измерение максимальной реальной пропускной способности памяти проводилось с помощью подтеста Memory Bandwidth, пресеты Maximal RAM Bandwidth, Software Prefetch, MMX/SSE/SSE2. Как говорит само название выбранных пресетов, в этой серии измерений используется стандартный метод оптимизации операций чтения из памяти — Software Prefetch, суть которого заключается в предварительной выборке данных, которые будут востребованы позже из оперативной памяти в L2 кэш процессора. Для оптимизации записи в память используется метод прямого сохранения данных (Non-Temporal Store), позволяющий избежать «засорения» кэша. Результаты с использованием регистров MMX, SSE и SSE2 оказались практически идентичными — для примера, ниже приведена картина, полученная на платформе Prescott/DDR2 с использованием SSE2.


Prescott/DDR2, максимальная реальная ПСП

Отметим, что существенных качественных отличий между DDR и DDR2 на равночастотных Prescott в этом тесте не наблюдается. Но более интересно то, что и количественные характеристики ПСП DDR-400 и DDR2-533 оказываются весьма близки! (см. таблицу). И это — несмотря на то, что память типа DDR2-533 имеет максимальную теоретическую ПСП 8.6 ГБ/с (в двухканальном режиме). Собственно, ничего удивительного в полученном результате мы не видим — ведь шина процессора — это по-прежнему 800 МГц Quad-Pumped Bus, а ее пропускная способность — 6.4 ГБ/с, поэтому именно она и является лимитирующим фактором.

Тип памяти

Максимальная реальная пропускная способность, МБ/с

Чтение (Software Prefetch)

Запись (Non-Temporal)

DDR-400

6277.9

4276.0

DDR2-533

6327.4

4266.0

Что касается эффективности операций записи, по отношению к чтению — легко увидеть, что она осталась такой же. Впрочем, это вновь выглядит вполне естественно, поскольку в данном случае предел ПСП на запись (2/3 от ПСП на чтение) явно задается микроархитектурными особенностями процессора Prescott.

Латентность памяти

Прежде всего, остановимся несколько подробнее на том, как и почему мы измеряли «истинную» латентность памяти, поскольку ее измерение на платформах Pentium 4 — на самом деле, далеко нетривиальная задача. А связано это с тем, что процессоры этого семейства, в частности, новое ядро Prescott, характеризуются наличием довольно «продвинутого» асинхронного аппаратного префетчера данных, весьма затрудняющего объективные измерения указанной характеристики подсистемы памяти. Очевидно, что использование методов последовательного обхода памяти (прямого либо обратного) для измерения ее латентности в данном случае совершенно не годятся — алгоритм Hardware Prefetch в этом случае работает с максимальной эффективностью, «маскируя» латентности. Использование случайных режимов обхода гораздо более оправдано, однако, истинно случайный обход памяти имеет другой существенный недостаток. Дело в том, что такое измерение выполняется в условиях практически 100% промаха D-TLB, а это вносит существенные дополнительные задержки, о чем мы уже писали. Поэтому единственным возможным вариантом (среди реализованных в RMMA методов) является псевдослучайный режим обхода памяти, при котором загрузка каждой последующей страницы осуществляется линейно (сводя на нет промахи D-TLB), тогда как обход в пределах самой страницы памяти является истинно случайным.

Тем не менее, результаты наших прошлых измерений показали, что даже такая методика измерений довольно сильно занижает значения латентности. Мы считаем, что это связано с еще одной особенностью процессоров Pentium 4, а именно, возможностью «захвата» сразу двух 64-байтных строк из памяти в L2-кэш при каждом обращении к ней. Для демонстрации этого явления на представленном ниже рисунке приведены кривые зависимости латентности двух последовательных обращений к одной и той же строке памяти от смещения второго элемента строки относительно первого, полученные на платформе Prescott/DDR2 с помощью теста D-Cache Arrival, пресет L2 D-Cache Line Size Determination.


Prescott/DDR2, прибытие данных по шине L2-RAM

Из них видно (кривая случайного обхода является наиболее показательной), что доступ ко второму элементу строки не сопровождается какими-либо дополнительными задержками до 60 байт включительно (что отвечает истинному размеру строки L2-кэша, 64 байта). Область 64-124 байт соответствует чтению данных из следующей строки памяти. Поскольку величины латентности в этой области увеличиваются лишь незначительно, это означает, что последующая строка памяти действительно «подкачивается» в L2-кэш процессора сразу вслед за запрашиваемой. Какой же можно сделать из всего этого практический вывод? Самый прямой: для того, чтобы «обмануть» эту особенность алгоритма Hardware Prefetch, работающую во всех случаях обхода памяти, достаточно просто обходить цепочку с шагом, равным так называемой «эффективной» длине строки L2-кэша, которая в нашем случае составляет 128 байт.

Итак, перейдем непосредственно к результатам измерений латентности. Для наглядности, приведем здесь графики разгрузки шины L2-RAM, полученные на платформе Prescott/DDR2.


Prescott/DDR2, латентность памяти, длина строки 64 байта


Prescott/DDR2, латентность памяти, длина строки 128 байт

Как и в случае тестов реальной ПСП, кривые латентности на другой платформе — Prescott/DDR — на качественном уровне выглядят абсолютно так же. Несколько отличаются лишь количественные характеристики. Самое время обратиться к ним.

Длина строки

Тип памяти

Латентность псевдослучайного доступа, нс

Минимальная

Средняя*

Максимальная

64 байта

DDR-400

28.2

32.3

34.2

DDR2-533

31.4

33.0

38.7

128 байт

DDR-400

47.7

55.0

55.0

DDR2-533

55.0

56.1

64.0

*латентность в условиях отсутствия разгрузки шины L2-RAM

Нетрудно заметить, что латентность DDR2-533 оказалась выше, чем у DDR-400. Впрочем, ничего сверхъестественного здесь нет — согласно представленным выше теоретическим основам нового стандарта памяти DDR2, именно так оно и должно быть.

Различие в латентности между DDR и DDR2 почти незаметно при стандартном 64-байтном обходе памяти (3 нс. в пользу DDR), когда активно работает аппаратный префетчер, однако, при «двухстрочном» (128-байтном) обходе цепочки оно становится гораздо более заметным. А именно, минимум латентности DDR2 (55.0 нс) равен максимуму латентности DDR; если же сравнивать минимальные и максимальные латентности между собой, различие составляет примерно 7-9 нс (15-16%) в пользу DDR. В то же время, надо сказать, несколько удивляют практически равные значения «средней» латентности, полученные в условиях отсутствия разгрузки шины L2-RAM — причем как в случае 64-байтного обхода (с префетчем данных), так и 128-байтного (без такового).

Заключение

Главный вывод, который напрашивается на основании полученных нами результатов первого сравнительного тестирования памяти DDR и DDR2, в общем виде можно сформулировать так: «время DDR2 еще не настало». Основная причина заключается в том, что пока бессмысленно бороться за увеличение теоретической ПСП путем наращивания частоты внешней шины памяти. Ведь шина текущего поколения процессоров по-прежнему функционирует на частоте 800 МГц, что ограничивает реальную пропускную способность подсистемы памяти на уровне 6.4 ГБ/с. А это значит, что в настоящее время нет смысла устанавливать модули памяти, обладающие большей теоретической ПСП, поскольку ныне существующая и широко применяемая память типа DDR-400 в двухканальном режиме полностью себя оправдывает, да и вдобавок имеет меньшую латентность. Кстати, о последней — увеличение частоты внешней шины памяти неизбежно связано с необходимостью введения дополнительных задержек, что, собственно, и подтверждают результаты наших тестов. Таким образом, можно считать, что использование DDR2 оправдает себя, как минимум, не ранее того момента, когда появятся первые процессоры с частотой шины 1066 МГц и выше, что позволит преодолеть ограничение, накладываемое скоростью шины процессора на реальную пропускную способность подсистемы памяти в целом.

Иcточник: http://www.ixbt.com  •  Опубликована: 31.01.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.