Архивы: по дате | по разделам | по авторам

Внутри Rambus

Архив
автор : Андрей Фаткуллин   16.03.1998

Фирма Rambus Inc. из калифорнийского города Маунтин-Вью (Mountain View) представляется неординарным явлением в электронной промышленности. Компания делает деньги на рынке микросхем и подсистем, но не имеет своих производственных мощностей. Капитал фирмы - это опыт в разработке, наступательный маркетинг, доверие акционеров и удача. Напрашиваются аналогии с начальным этапом развития Microsoft. Когда появилась нужда в операционной системе для IBM PC, фирма Microsoft сделала ее, сколотив затем капитал для будущих подвигов на продажах лицензий. Тактика зарабатывания денег у Rambus почти такая же. Чтобы быть потребителям продукта Rambus надо: во-первых, купить лицензию, во-вторых, отчислять процент прибыли от продажи производимого по лицензии продукта.

Любая аналогия ущербна, сравнение с Microsoft не исключение. Задача перед Rambus стояла серьезней, а заказчика сначала вообще не было. Через восемь лет наличие большого числа солидных покупателей говорит о перспективах фирмы. Это производители микросхем DRAM, чипсетов, заказных микросхем, разъемов, тестового оборудования, средств проектирования, а также семь ведущих изготовителей PC. Согласно материалам журнала "Forbes" (Forbes 12/97, www.forbes.com), в прошлом году Rambus имела рыночную стоимость, в расчете на одного работника равную 9 млн. долларов, что больше чем в Microsoft.

Так все начиналось

Цитата из журнала "Forbes" (перевод автора):

Rambus родилась в 1989 году в разговоре за обеденным столом между Марком Хоровицем (Mark Horowitz), которому сейчас 40 лет, и Майклом Фармволдом (Michael Farmwald, ему в этом году будет 44). Фармволд постоянно носился с какими-то новыми идеями, он был предпринимателем с опытом основания и продажи одной маленькой чиповой компании. Хоровиц преподавал электронную технологию в Стэнфорде и часто помогал Фармволду проверять его задумки.

Фармволд то и дело обращался к мысли по поводу сигнальных проводников на материнской плате PC. Он говорил что, чипы становятся все быстрее, но проводники между ними не могут поддерживать такие частоты. А, собственно, почему? Да очень просто - имеется три типа сигналов для передачи от контроллера до чипа памяти (которые расположены в нескольких дюймах друг от друга): адрес ячейки, куда надо обратиться, биты данных и команды, описывающие, что надо делать с информацией. Эти сигналы традиционно пересылаются отличным друг от друга образом (с разной частотой, хитро перестраиваясь в чипе памяти). Такое положение дел приводит к тому, что скорость передачи информации определяется самым медленным процессом, и при этом требуется тщательная отладка на уровне чипов, чтобы все работало правильно.

Хоровиц и Фармволд взялись за дело по-другому: запаковали три вида сигналов одинаковым образом в одну шину. Этот методологический сдвиг требовал значительных переработок конструкций микросхем памяти и их контроллеров, но скорость работы компьютера теоретически вырастала во много раз.

Следующие полгода Хоровиц и Фармволд собирали 2 миллиона долларов, чтобы основать компанию с 50-процентным венчурным капиталом. Хоровиц уволился из Стэнфорда и сманил к себе в команду пару опытных инженеров и одного студента-выпускника, все трое раньше работали в PARC (исследовательский центр фирмы Xerox - Palo Alto Research Center).

Спроектировать модификации в топологии микросхем и получить несколько патентов оказалось проще всего. Гораздо труднее было соблазнить производителей чипов опробовать новую концепцию. В 1991 году они наняли исполнительным директором Джоффа Тейта (Geoff Tate), чипового ветерана из Advanced Micro Devices.

Успех пришел к Rambus в 1995 году на рынке игровых видеоприставок. В то время приставки Nintendo находились в тени популярности PlayStation - конкурирующего продукта фирмы Sony. И компания Nintendo сделала ставку на новую технологию памяти. Телеприставка Nintendo64 была разработана с применением Rambus и заказных чипов от NEC. Она стоила всего 150 долларов, но она управлялась с графикой, как суперкомпьютер, обеспечивая пропускную способность памяти на уровне 500 Мбайт/с. Продукт Nintendo был и меньше, и быстрее, чем Sony PlayStation, поэтому стал хитом в рождественскую пору 1996 года.

Первая прибыль от Ninendo64 вдохновила фирму на новые разработки, инженеры создали стандарт Direct Rambus с расчетом на максимальную производительность. От базового (Base Rambus) он отличался двухбайтовой шиной данных и более совершенным конвейером. Видимо, как промежуточный вариант был предложен стандарт Concurrent Rambus, который имел однобайтовую шину данных, как у Base, но использовал четырехступенчатый конвейер для возможности перекрывания операций во времени.

Bandwidth

Слово "bandwidth", в изобилии разбросанное по документам Rambus, переводится в контексте статьи как пропускная способность или производительность. "Англо-русский словарь по программированию и информатике" Борковского, выпущенный в 1990 году, такого слова не содержит, что отражает спокойное в то время отношение специалистов-россиян к проблемам производительности ЭВМ. В словаре производительность более связывалась с процессорной мощью (computer power, performance, throughput), и о сбалансированной платформе не мечталось. В это время в Калифорнии Марк Хоровиц уже прикидывал архитектуру памяти для увеличения bandwidth. Старшей и наиболее совершенной в семействе стандартов памяти стала Direct Rambus.

Подсистема памяти Direct Rambus имеет максимальную пропускную способность 1,6 Гбайт/с. Компания Rambus Inc. разработала специальную шину межкристальной коммуникации - Direct Rambus Channel, которая работает на порядок быстрее, чем шина современных подсистем памяти.

Каким образом получают столь высокую производительность? Внешне все выглядит прозрачно. Основная память содержит тактовый генератор с частотой 400 МГц, чтение/запись происходит по переднему и заднему фронту сигналов (см. блок "Direct Rambus: некоторые подробности"). Этот прием (стандартное удвоение частоты) дает частоту работы Direct Rambus Channel, равную 800 МГц. Зная, что шина данных - двухбайтовая, перемножением получаем пропускную способность в 1,6 Гбайт/с (2 байт х 800000000/с). Читатель спросит: "И что, эти ребята научились читать и писать без задержек, необходимых для DRAM?" Действительно, кроме bandwidth существует еще один важнейший показатель для основной памяти - latency, определяющий время, необходимое для проведения записи/считывания. Но в Rambus нашли оригинальное инженерное решение: чтение и запись идут практически непрерывно, так как выполняются с разными банками памяти. Шина Direct Rambus Channel использует конвейерный способ работы, который применялся еще в процессоре 80286.

Конвейер подразумевает наличие большого числа банков. Подсистема памяти (объединенные 1-32 чипа с обслуживающим их контроллером) работает в таком режиме с самого начала. Для минимизации конфликтов установлено большее число банков подсистемы памяти, чем у SDRAM. Их на чипе может быть до 32. Каждая RDRAM добавляет дополнительные банки к каналу. Таким образом, канал из 32 RDRAM может иметь до 1024 (32x32) независимых банков. В одном чипе RDRAM операции со строками могут проводиться для четырех банков одновременно. Причем строчные операции полностью независимы от любых столбцовых.

Четыре режима питания

Чтобы обеспечить малое потребление энергии, RDRAM имеет несколько режимов: Active, Standby, Nap, и PowerDown. Режимы различаются уровнем потребляемой мощности и временем, необходимым RDRAM для перехода в режим Active, в котором RDRAM готова к немедленному выполнению транзакции. Потребляемая мощность в режиме Active выше, чем в остальных режимах.

В стандартных DRAM-системах памяти рассчитано, что каждый прибор в банке должен потреблять одинаковую мощность в течение записи/чтения. В системе памяти Rambus, чтобы выполнить запись/чтение, используется только один прибор RDRAM, в то время как все другие возвращаются в режим низкого энергопотребления. Каждый кристалл RDRAM в конце транзакции автоматически переходит в режим Standby. Как только адрес микросхемы декодировался из пакета, все остальные чипы RDRAM возвращаются к режиму Standby, за исключением того, который отвечает на запрос. Этот чип возвращается к режиму Standby после выполнения чтения или записи.

Потребляемая мощность может быть еще уменьшена, если одна или несколько микросхем RDRAM перейдут в более экономичный режим Nap. Переход к режиму Active из режима Nap осуществляется быстрее, чем из режима PowerDown. Системы памяти могут экономить мощность, переводя RDRAM в режим Nap всякий раз, когда они не выполняют чтения или записи.

Эти режимы могут эффективно использоваться в переносных компьютерах. Например, в системном режиме Sleep надо большинство чипов RDRAM переключить в PowerDown, а RDRAM, который содержит буфер изображения, перевести в режим Nap. Это позволит регенерировать изображение без включения всей системы памяти.

RIMM заменит SIMM и DIMM.

Система памяти Direct Rambus использует стандартные технологии PCB (Printed Circuit Board - печатные платы) для реализации модулей памяти RIMM (Rambus Inline Memory Module), которые имеют те же размеры, что и существующие DIMM. Компоненты Direct RDRAM используются в SMD исполнении (Surface Mounting Device - приборы для поверхностного монтажа), что дает низкую емкость выводов и неплохие тепловые характеристики. Корпус микросхемы лишь чуть больше размера RDRAM-кристалла.

Один RIMM содержит до восьми чипов Direct RDRAM на каждую сторону. Модули дополнительной памяти Direct Rambus могут содержать чипы RDRAM емкостью 32 Мбайт, 64 Мбайт, 128 Мбайт, 256 Мбайт, 512 Мбайт или 1 Гбайт. RIMM может иметь емкость до 128 мегабайт при использовании 64-мегабитных RDRAM-микросхем. Системная плата может содержать до трех RIMM.

Rambus сегодня

Круг приверженцев Rambus расширяется. Вот список некоторых компаний (упомянуты также продукты, которые разрабатываются или уже выпускаются с использованием RDRAM):

Chromatic Research, Inc. (мультимедийный процессор Mpact Media Engine);

Cirrus Logic, Inc. (Laguna - 2D/3D-видеоконтроллеры);

Creative Labs (Graphics Blaster 3D - графическая карта для PC);

Intel Corporation (чипсеты для PC);

Silicon Graphics, Inc. (Indigo2 Impact - рабочие станции).

Информация взята c сервера www.rambus.com, информация на котором, кстати, обновляется еженедельно. Среди последних новостей - соглашение с Berkeley Networks о совместных разработках в области пакетной памяти для высокоскоростных сетевых переключателей Fast Ethernet и Gigabit Ethernet. Пакетная память - это многослойные бутерброды из чипов DRAM, электрически соединяющиеся по краям с помощью хитрой технологии с использованием золотых шариков. Чем они хороши? Пока памяти объемом 256 Мбит и 1 Гбит еще нет на рынке, складывая в пакет доступные 64-мегабитные чипы, можно в малом объеме создавать более емкие DRAM. Конечно, возникают трудности с теплоотводом, но для RDRAM эта проблема стоит менее остро благодаря продуманной организации режимов энергопотребления (см. главу "Четыре режима питания").

Дела Rambus идут в гору. Вышеупомянутые (в цитате из журнала "Forbes") руководители компании вошли в сотню самых высокооплачиваемых людей Америки. Марк Хоровиц взялся за прерванные исследования в области суперкомпьютерных технологий у себя в Стэнфорде и консультирует Rambus по новым разработкам. Его персональная Web-страничка кроме маленькой фотографии (на фоне плоттерных распечаток топологии чипов) и описания профессиональных интересов хозяина в две строки ничего не содержит. Профессор Хоровиц не занимался долго организацией своей территории в Сети: ему некогда. Он готовит что-то новое для наших с вами компьютеров.

С автором можно связаться по адресу: poyakond@dialup.ptt.ru

 

Direct Rambus: некоторые подробности

Шина Rambus использует собственные низковольтные сигнальные уровни RSL (Rambus Signaling Levels). Малый размах напряжения между логическими уровнями RSL минимизирует dv/dt и, следовательно, di/dt. Этим объясняется невысокое энергопотребление, малые электромагнитные помехи и совместимость с низковольтными микросхемами системы. Все сигналы на Rambus имеют размах напряжения 800 мВ. Рисунок показывает номинальные напряжения: Vterm, Vref (опорный уровень), напряжение логического нуля VOL.

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

Синхронизация и сигналы

Шина Direct Rambus Channel содержит тридцать проводников, каждый из которых представляет собой согласованную линию передачи.

Проводники для высокочастотных сигналов заканчиваются согласующими резисторами на конце шины со стороны RDRAM. Резисторы "подтягивают" сигналы до напряжения Vterm, которое соответствует логическому нулю. Контроллер памяти или RDRAM может установить логическую единицу, пропуская ток по проводнику через N-канальный транзистор (в контроллере памяти и RDRAM) с открытым стоком. Мощность рассеивается в шине Rambus только тогда, когда прибор выдает логическую единицу (низковольтный уровень сигнала).

Шина Rambus - синхронная. Это означает, что все команды и данные "привязаны" к фронтам синхроимпульсов. На таких частотах, на которых работает Rambus, необходима специальная забота о минимизации расхождения фронтов тактового генератора и данных. Данные перемещаются по шинам DQA и DQB, адреса идут по шинам ROW и COL.

Тактовый генератор может представлять собой отдельный прибор, как показано на рисунке, или быть интегрирован в контроллер памяти. Цепь для тактовых импульсов начинается в конце шины и проходит к контроллеру как сигнальный проводник ClockToMaster, где он поворачивает обратно и уже как ClockFromMaster идет к микросхемам RDRAM. Так, чип RDRAM посылает данные к контроллеру памяти с импульсами ClockToMaster, а контроллер посылает данные в RDRAM синхронно с тактами уже ClockFromMaster. Тактовые импульсы и данные проходят по строго параллельным проводникам, чтобы минимизировать расхождение по фронтам сигналов.

Данные и управляющие сигналы перемещаются по шине Rambus Channel пакетами. Каждый такой пакет имеет длину, равную четырем тактам, или 10 нс для шины, работающей с частотой 800 МГц. Протокол Direct Rambus стал проще, чем в предыдущих версиях Rambus DRAM. Сигналы управления, больше не передаются мультиплексированными по шине данных. По двухбайтовой шине данных перемещаются только данные. Шины управления и адреса разделяются на две группы проводников, одна - для команд строки, другая - для команд столбца.

Чтобы гарантировать соответствующую синхронизацию всех приборов, привязанных к Rambus, все пакеты начинаются в течение четных интервалов (спадающий фронт синхроимпульса). Однако пакеты, начинающиеся на любом спадающем фронте синхроимпульса, могут быть произвольной длины (с дискретностью периода тактового сигнала). Каждая из шин функционирует независимо друг от друга, позволяя командам строки, командам столбца и данным перемещаться в одно и то же время, если они относятся к различным банкам RDRAM или к различным чипам RDRAM.

Информация в Сети

Качественную популярную статью "Direct Rambus Technology: The New Main Memory Standard" из журнала "IEEE Micro" можно найти в PDF-формате на сервере www.rambus.com


 

Словарик к статье

Банк - часть кристалла DRAM, которая имеет собственные усилители считывания и буфер хранения строки.

Байт - набор битов. Обычно состоит из 8 битов. Иногда - 9 битов для кода с исправлением ошибок.

Гигабайт (ГБ; Гбайт) - 230 байт.

Гигабит (Гб; Гбит) - 230 бит.

Контроллер - микросхема, которая управляет DRAM. На каждой шине Rambus установлено по одному контроллеру.

Матрица накопителя - массив ячеек памяти DRAM

Мегабит (Мб; Мбит) - 220 бит.

Мегабайт (МБ; Мбайт) - 220 байт.

Пакет - блок связанной информации, которая передается в виде последовательности байтов.

Период регенерации - максимальное время между командами регенерации, которое достаточно для сохранения информации в накопителе.

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

Регенерация - периодическое (с периодом регенерации) обновление информации во всех ячейках хранения информации в DRAM.

Столбец - подмножество строк, обычно равен ширине шины ввода/вывода микросхемы. Данные в одном столбце перемещаются одновременно.

Строка - биты, выбранные вместе и параллельно из массива памяти в микросхеме DRAM. Они "защелкиваются" в регистре, связанном с усилителями считывания матрицы накопителя, и записываются назад в матрицу для записи или регенерации содержимого DRAM. Если строка была выбрана и защелкнулась (что требует времени; так называемое время обращения к строке), то считается, что она открыта. Данные из открытой строки передаются на выводы микросхемы очень быстро (за так называемое время доступа к столбцу, которое намного меньше, чем время обращения к строке). Таким образом, открытые строки часто используются для ускорения доступа к данным, содержащимся в этой же самой строке.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.