Ребус Rambus
 
13.05.2003
Павел Данилов


 
<< стр. 1
стр. 2
стр. 3 >>

Хотя узкая высокочастотная шина («фирменная» особенность DRDRAM) может упростить разводку системных плат за счет уменьшения числа линий, тем не менее она приводит к значительному усложнению и удорожанию микросхем памяти по сравнению с альтернативными технологиями (DDR SDRAM, DDRII SDRAM) при той же пропускной способности.

Модули и банки

Первоначально (1998 год) были разработаны спецификации на «одноканальные» модули памяти PC800 с шириной шины данных 16 бит (18 бит ECC) и частотой синхронизации интерфейса 400 МГц. Их пиковая скорость передачи данных равна, таким образом, 1,6 Гбайт/с, а «результирующая частота» обмена данными — 800 МГц. Некоторое время выпускались также PC600 и PC700 RIMM, но скорость оставляла желать лучшего, а само их появление сильно смахивало на попытку утилизации отбракованных экземпляров PC800 — поначалу у большинства производителей выход высокочастотных чипов был весьма низок.

В этих ранних модулях применялись микросхемы с 16 или 32 зависимыми банками памяти (16d, 2х16d) емкостью 128/144 и 256/288 Мбит. Слово «зависимый» в данном случае означает, что последовательный доступ к соседним банкам происходит с задержкой — они разделяют общие усилители уровня (Sense Amps); для извлечения максимума скорости из этой архитектуры был создан довольно хитроумный механизм избежания обращения к смежным банкам. Дело в том, что после чтения пакета данных ячейки памяти банка должны перезарядиться, а на это уходит время (RAS Precharge). Направляя запросы большому числу банков, хорошо спроектированный чипсет способен минимизировать эту латентность и повысить пропускную способность — пока одни банки будут перезаряжаться, из других будут считываться данные. Огромное число банков DRDRAM с самого начала считалось ее «джокером» в игре против SDRAM. Великолепно, но каждый банк требует дополнительных усилителей, декодеров и логики управления; площадь кристалла DRDRAM оказывалась примерно на 15% больше площади кристалла DDR SDRAM той же емкости, а это означает автоматическое увеличение стоимости. Очень скоро стало ясно, что цена и без того недешевой памяти  превышает все разумные пределы, и с целью снижения себестоимости число банков было уменьшено до четырех (как в SDR/DDR SDRAM). Так на свет появились чипы 4i (четыре независимых банка). На все модули, сертифицированные для работы с частотой 533(1066) МГц — PC1066 и RIMM 4200, устанавливаются именно эти чипы. Насколько снижение числа банков ухудшило производительность? Весьма незначительно, и вот почему. Микросхемы SDR/DDR SDRAM имеют разрядность шины данных в несколько раз меньше, чем разрядность модуля, — скажем, 8 или 16 бит; при запросе контроллера каждый чип занят обработкой части запроса. Поэтому общее число независимых банков невелико, и, хотя в типичном одностороннем модуле с восемью микросхемами присутствует 8х4=32 банка, общее число банков, которые может использовать контроллер, равно четырем. А как же обстоят дела у DRDRAM? Каждый чип, подключенный к каналу Rambus, работает независимо — и число банков, доступных RMC, равно числу банков во всех чипах памяти, подключенных к RMC. Например, при установке двух модулей 4i по восемь чипов в каждом мы получим 32 независимых банка. Между тем практика показывает, что дальнейшее увеличение числа банков приводит к мизерному росту пропускной способности — меньше 2%. Поэтому производительность реальных систем с модулями памяти из «старых» чипов 16d (2х16d) и «новых» 4i практически одинакова — конечно, при условии равной частоты синхронизации и настроек таймингов.

Архитектура DRDRAM поддерживает во много раз большее число банков, чем DDR SDRAM, что при условии адекватной поддержки чипсетом может дать значительные преимущества в скорости. Ранние микросхемы DRDRAM обладали большим числом банков, но оказались слишком дороги в производстве и были вытеснены современными более дешевыми чипами с четырехбанковой архитектурой. Благодаря независимой работе чипов памяти на канале Rambus общее число банков, доступных чипсету, суммируется по всем каналам и микросхемам, достигая нескольких десятков даже для четырехбанковых микросхем, поэтому сколь-либо существенного падения производительности не происходит. Плохо то, что сделано это было слишком поздно — высокая цена DRDRAM успела отпугнуть производителей чипсетов и материнских плат, большинство производителей чипов памяти сделали выбор в пользу DDR SDRAM. Intel в это время уже «поставила крест» на DRDRAM.

Расширение шины

Расширение шины модуля — следующий шаг эволюции DRDRAM. Идея такова: оставив неизменной архитектуру и ширину канала, «спарить» и «счетверить» каналы памяти на одном модуле. На 32-битном RIMM, таким образом, «проложено» два канала Rambus, на 64-битном — четыре. На схеме 2 первый канал обозначен оранжевым цветом, второй — черным. Можно видеть, как канал, «начинаясь» от контроллера, пронизывает оба RIMM.

Хотя топология шин, разумеется, полностью изменена, интерфейс остается тем же, и контроллер, разработанный для 16-битных RIMM, может успешно работать с новыми модулями. Поэтому, кстати, в платах на i850E, предназначенных для 16- и 32-битных RIMM (скажем, ASUS P4T533C и P4T533), используются одинаковые микросхемы «хаба контроллера памяти» MCH. Апогей технологии DRDRAM — четырехканальные 64-битные RIMM — полностью используют весь потенциал Direct Rambus. При частоте синхронизации 533 (1066) МГц пропускная способность этих устройств составляет 8,5 Гбайт/с — больше, чем полоса пропускания 800-МГц QP-шины Pentium 4 (6,4 Гбайт/с) и прототипов модулей DDRII 667 (5,2 Гбайт/с). Неплохо для разработки пятилетней давности! Но на этом история не заканчивается: недавно Rambus опубликовала спецификации на чипы и модули памяти с частотой синхронизации 600 (1200) МГц, и Samsung в ближайшее время начнет их поставки. В четырехканальной конфигурации это даст 10 Гбайт/с — двухканальная DDRII 533 (8,5 Гбайт/с) растоптана в пыль, см. рис. 3.

Становится понятным решение SiS использовать в своем будущем чипсете четырехканальную PC1200 DRDRAM — ничего подобного по пропускной способности в чипсетах Intel для рынка PC не будет еще долго. Инженеры Rambus сделали свою работу на совесть — и пять лет спустя DRDRAM обеспечивает более чем достаточную пропускную способность.

Но, как мы знаем, пропускная способность — это еще далеко не все. Латентность, зависящая главным образом от скорости ядра, может свести на нет весь эффект от гигантской пропускной способности.

Ядро DRAM

Для любой DRAM, включая FPM, EDO, DDR, RDRAM и т. д., скорость ядра — важнейший параметр, влияющий на быстродействие. Хотя с помощью высокопроизводительного интерфейса можно достичь высокой пропускной способности, латентность почти полностью зависит от скорости ядра. Ядро (core) — это сами однобитовые ячейки памяти, организованные в виде матрицы или решетки. В этой структуре адрес каждой ячейки задается двумя числами — номером строки и номером столбца. Для чего понадобилась такая организация? Очень просто — емкость микросхем DRAM составляет многие мегабайты, а поскольку к каждой ячейке понадобилось бы провести шину, чип вместо ячеек памяти в основном состоял бы из миллионов проводников, а разводка шины адреса стала бы почти невозможной задачей. К счастью, фирма Intel избавила нас от схемотехнического ада, подключив каждую ячейку в своем первом чипе DRAM к паре проводов — для адресации по строкам и столбцам. Кстати, это был вообще самый первый чип DRAM в индустрии, и с тех пор никто не смог создать приемлемую альтернативу этой схеме. Теперь посмотрим, как происходит чтение данных из памяти. В процессе считывания данных сначала указывается адрес строки (Row), что отмечается сигналом /RAS. После этого специальные усилители уровня считывают адрес строки, активизируя нужные ячейки памяти. На это уходит время — его обозначают RAS-to-CAS Delay, tRCD. Это первый важнейший «тайминговый» параметр, характеризующий скорость ядра памяти. Иногда активизацию ячеек на определенной строке называют «открытием страницы». Страница — это просто все ячейки памяти, подключенные к одной строке. Дальше указывается адрес столбца, что отмечается сигналом /CAS. Опять приходится ждать — теперь усилители должны выбрать данные из ячеек столбца; эту задержку обозначают tCAC, а для синхронной DRAM она называется CAS Latency, СL. После задержки CL на шине данных появляются данные по нужному адресу, и чипсет может приступить к их считыванию. Понятно, что чем меньше эти задержки (латентность), тем меньше процессор простаивает в ожидании данных, и тем выше общая производительность системы.



 
<< стр. 1
стр. 2
стр. 3 >>

<<Японский бог…
Все материалы номера
Революция № 9 >>