Смекни!
smekni.com

Новые технологии в организации PC (стр. 5 из 9)

Итог: производители DRAM не могут позволить себе не выпускать DDR SDRAM. Рынок для этого типа памяти существует, он весьма велик. Затрат для перехода на DDR SDRAM почти не требуется. Себестоимость изготовления чипов не слишком отличается от себестоимости изготовления чипов SDRAM той же тактовой частоты. Стоимость RDRAM столь высока, что пользователи, даже при неудовлетворенном спросе на память, зачастую просто не могут позволить себе увеличить объем памяти в своих PC. Получился парадокс: если отбросить PC133 SDRAM, как технологию, принадлежащую к предыдущему поколению, то на рынке общедоступной памяти просто нет предложения. Ну не считать же таковым безбожно дорогой RDRAM? При данных обстоятельствах воздержаться от выпуска DDR SDRAM было бы непростительной глупостью.

Складывается, наконец, и вторая половина мозаики: чипсеты и материнские платы. Во второй половине 2000 г. на рынке будет вполне достаточно решений, полностью закрывающих поддержкой DDR SDRAM весь спектр рынка: чипсеты VIA и AMD - High-End PC на базе Pentium III и Athlon, чипсеты AMD и Samsung - серверы и рабочие станции на базе Athlon, чипсеты ServerWorks - серверы и рабочие станции на базе Pentium III.

5. Технология памяти Direct Rambus

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

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

В общем, сегодняшняя подсистема RAM не удовлетворяет потребностей компьютера ни с какой позиции. И главное - не меняя архитектуры, ее, конечно, можно ускорить. Процентов на 20-30. А нужно бы - раз в 5-10.

Что тут делать? И какие проблемы мешают ускорению памяти?

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

Во-вторых, увеличение разрядности памяти (включение ячеек параллельно, чтобы получить за одно считывание больше байт) создает свои проблемы - как электрические (придется делать дикого размера микросхемы управления - по 200-300 ножек на корпус), так и бытового характера. Чем больше разрядность, тем большими шагами можно наращивать память, что неудобно с точки зрения потребителя. Представляете, как тяжко пришлось бы покупателям, если бы модули SIMM выпускались только шагами по 32 мегабайта? Или если бы их пришлось ставить в машину не парами, а минимум - четверками?

В общем компания Rambus поглядела, и решила, что пора перепроектировать систему памяти в принципе. Отказаться от сегодняшней методики управления чипами, и сделать все с нуля.

Сразу скажем - ей удалось. Хотя риск был велик - в основном, риск того, что за Rambus-ом не пойдут, и новый стандарт не приживется. Ан, пошли. Правда, еще не прижился, но производить новую память (модуль такой памяти, сделанный по технологии Direct Rambus, называется RIMM) принялись несколько крупнейших фирм, включая известнейшего памятестроителя Kingston и толстяка айбиэма.

Новая технология отличается от старой решительно всем - только вот на вид почти точно такая же, как всем известные DIMM-ы. Direct Rambus вобрал в себя почти все новшества памятестроения, совместив их в аккуратно и вдумчиво спроектированной схеме.

Новая схема

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

· Использует полностью параллельное соединение разъемов под модули SIMM, что гарантирует временное согласование сигналов, сколько бы модулей не было вставлено. Отсюда - возможность работы на 800 Мгц.

· Адресует модули независимо, что резко увеличивает число независимых банков памяти, а значит, позволяет выполнять частично перекрывающиеся во времени обращения чаще.

· Позволяет делать конвейерные выборки из памяти, причем передача адреса может выполняться одновременно с передачей данных. Отсюда - возможность сильного перекрытия запросов к памяти во времени. Контроллер может передать в память до 4-х запросов (причем возможно перемежать считывание и запись), которые будут выполнены последовательно.

Итого, на практике контроллер может выжать из шины памяти 95% ее максимальной теоретической производительности, которая равна 1.6 гигабайта в секунду (800мгц, два байта за такт). Правда, на сегодня пиковая производительность реальных схем - 600 мегабайт в секунду, но это уже очень хорошо. А запас в гигабайт в секунду карман не тянет. Не успеешь глазом моргнуть, как новые процессоры, интеллектуальные дисковые и графические контроллеры используют его до корки, и попросят добавки.

Определенной проблемой новой технологии является притормаживание перехода на нее компании Intel. Гигант не торопится переключаться на RIMM-ы, объясняя это необходимостью плавного перехода. Как именно задержка обеспечивает плавность - мне не совсем ясно, но, безусловно, эволюционные подходы - неизбежны. Если завтра все начнут делать материнские платы под RIMM-s, куда производители денут выпускающиеся мощным потоком DIMM-s и SIMM-s? Тем не менее, переход на RIMM-ы можно считать предопределенным.

В других областях - от видеоконтроллеров до спец-компьютеров и встроенных систем RIMM-ы тоже делают первые шаги. К примеру, TI и S3 уже лицензировали технологию Direct Rambus, а значит, без работы ей не умереть.

Предполагается, что в персональных компьютерах Direct Rambus RIMMs будут применяться в следующем году, к 2000-му году займут порядка 30, а в 2001-м и все 50% рынка.

6. Transmeta Crusoe.

Ну вот и наступил тот день, когда оказались сняты покровы секретности, окружающие одну из самых таинственных компаний последних пяти лет, Transmeta, а также и их детище - процессор под кодовым названием Crusoe. Одно из ранних и общепринятых предположений полностью подтвердилось: Crusoe действительно не является конкурентом процессоров для настольных компьютеров от AMD и Intel - он самую малость опоздал с этим, но зато его возможности по энергосбережению возможно делают его идеальным выбором для производителей портативных продуктов - от ноутбуков до HPC. Но к этому моменту мы вернемся чуть позже, когда речь пойдет о конкретных деталях чипов. А сейчас посмотрим на более фундаментальные вещи, и первое, на что стоит обратить внимание в данном случае - это технология Code Morphing, позволяющая "на лету" преобразовывать x86 код во внутреннюю систему команд процессора.

Crusoe относится к разряду VLIW процессоров. То есть, в отличие от привычных каждому пользователю PC чипов, работающих с CISC инструкциями, он в своей работе опирается на VLIW (very long instruction word), будучи в этом более близок к таким продуктам, как Merced или Elbrus 2000. (Последнее, пожалуй, особенно справедливо, если учесть, что глава Transmeta, Dave Dietzel, в свое время немало времени провел в Москве, контактируя с будущими создателями E2K).

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

Плюсы и минусы такого подхода, по сравнению с традиционным, очевидны. Это:

1. Возможность достаточно радикально менять структуру процессора, подгоняя его к тем или иным требованиям - все равно все изменения его архитектуры для программ можно замаскировать на уровне Code Morphing.

2. Возможность вносить те или иные изменения в уже выпущенные процессоры, опять же на уровне преобразования кода.

3. Очень удобная вещь для работы с различными новыми наборами инструкций - SSE, 3DNow!, и т.д. Была бы лицензия.

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

Как это все работает?

Для начала надо сказать пару слов о логической структуре процессора. Ядро Crusoe состоит из пяти модулей четырех различных типов: два блока для операций с целыми числами, один для операций числами с плавающей запятой, один - для операций с памятью, и один - модуль переходов. Соответственно, и каждая VLIW инструкция ("молекула", по терминологии Transmeta, длиной 64 или 128 бит) может состоять из четырех RISC-подобных операций этих типов ("атомов"). Все атомы выполняются параллельно, каждый соответствующим модулем, молекулы идут друг за другом, в строгом соответствии с очередью, в отличие от большинства сегодняшних суперскалярных x86 процессоров, где используется механизм внеочередного выполнения команд (out-of-order), это заметно упрощает внутреннюю структуру процессора, позволяя отказаться от некоторых громоздких функциональных модулей (например, декодера инструкций, коих в x86 наборе не так уж и мало). Для иллюстрации можно сравнить площадь мобильного 0.18 мкм Coppermine с суммарным объемом кэша 288 Кбайт с площадью TM5400 с суммарным кэшем 384 Кбайт - 106 квадратных милиметров против 73. Что, естественно, напрямую сказывается и на разнице в тепловыделении и энергопотреблении процессоров.