Почему переход к синхронной памяти был неизбежным?

В кинотеатр лучше идти, когда точно знаешь рас­пи­са­ние сеансов: с по­прав­кой на очередь в кассу ожи­да­ние просмотра мож­но за­мет­но со­кра­тить. Но все равно сеансы демонстрируются без учета желаний и воз­мож­но­стей зри­те­лей — в компьютерной технике события, про­ис­хо­дя­щие независимо друг от друга, называют асин­хрон­ны­ми.

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

72-контактный модуль FPM SIMM c временем доступа 60 нсек и 168-контактный модуль SDRAM DIMM с доступом 10 нсек, соответствующий спецификации PC100
Рис 1. 72-контактный модуль FPM SIMM c временем доступа 60 нсек и 168-контактный модуль SDRAM DIMM с доступом 10 нсек, соответствующий спецификации PC100

Нечто похожее произошло в конце 90-х годов, когда на смену асинхронной оперативной памяти, в которой сиг­на­лы RAS и CAS не только задают тип выполняемой операции, но и определяют (стробируют) момент ее запуска, при­шло новое по­ко­ле­ние запоминающих устройств — Synchronous Dynamic Random Access Memory. В SDRAM со­хра­нил­ся прежний на­бор управляющих сигналов, но прием адреса и команд от контроллера памяти, а также пе­ре­да­ча данных про­ис­хо­дит синхронно, в такт с появившимся сигналом синхронизации (CLK, Clock).

Технология SDRAM положила начало эволюции целого семейства памяти, для которого стала возможной син­хро­ни­за­ция шины данных ОЗУ с тактами центрального процессора. Благодаря наличию сигнала CLK ее син­хрон­ная работа (в отличие от прежней асинхронной архитектуры DRAM) привязана к потребностям CPU, что избавляет его от необходимости тратить время на ожидание циклов доступа к памяти или, точнее, существенно сокращает это время.

Счет идет на миллиардные доли секунды

Наилучшее представление о причинах появления SDRAM дают скоростные характеристики асинхронных модулей памяти. С какой производительностью SIMM-модули встретили появление конкурирующей технологии? Это не­слож­но подсчитать самому, зная, что на микросхемах асинхронной памяти, как правило, наносилось время до­сту­па. На Рис 1. мы видим — для чипов AS4C14400JC оно равно 60 наносекунд, что вполне соответствует за­вод­ской до­ку­мен­та­ции (параметр Maximum RAS# access time).

Взяв во внимание, что частота работы памяти обратно пропорциональна времени доступа к ней, легко вычислить это зна­че­ние — 16 МГц. Очевидно, что четырехкратное отставание скорости обмена с памятью по отношению к сис­тем­ной ши­не, тактируемой, как минимум, частотой 66 МГц, совершенно неприемлемо. Однако повышение про­из­во­ди­тель­но­сти невозможно было выполнить за счет увеличения физического быстродействия ячейки DRAM. По­тре­бо­вал­ся принципиально новый подход к обработке и хранению оперативной информации. И, конечно, пе­ре­ход на 64-битную шину данных.

Решить поставленную задачу смогла синхронная архитектура динамической памяти. Основным фактором по­вы­ше­ния производительности ОЗУ, вступившим в действие с появлением SDRAM, стала реализация конвейерного принципа выполнения операций. Разбивая ось времени на равные интервалы (такты) и разделяя процесс доступа к памяти на базовые операции (каждая из которых может быть выполнена за один такт), разработчики сделали воз­мож­ным выполнение цикла чтения/записи с одновременной подготовкой к следующему циклу. При этом фун­да­мен­таль­ные физические основы построения и функционирования DRAM-ячейки, а также ее быстродействие, радикально не изменились. Возвращаясь к аналогии в начале статьи, вспомним наш кинотеатр, в котором од­но­вре­мен­но присутствуют три группы зрителей: в кинозале, в буфете и в кассе, каждая из которых не теряет вре­ме­ни напрасно.

Эволюция SDRAM

Модули SDRAM коренным образом отличались от всех асинхронных решений. Главное их отличие — в ис­поль­зо­ва­нии питания +3,3V, что нашло свое отражение в схемотехнике блоков питания ATX, хотя и не получило должного раз­вития. Все SIMM-модули питались от пятивольтовых линий, что было традиционно для TTL и CMOS логики, ис­поль­зу­е­мой в первых персональных компьютерах.

Микросхемы синхронной памяти для первых DIMM-модулей выпускались как в планарных корпусах, так и в BGA-компоновке. Их использование предполагало только одноканальный режим работы — двухканальных кон­трол­ле­ров памяти тогда просто не существовало. Зачастую модуль DIMM, который всегда оснащался двумя спе­ци­аль­ны­ми вы­ре­за­ми, разрабатывался в унифицированном варианте, с возможностью монтажа (на Рис.1  — это место с шел­ко­тра­фа­ретной меткой U17) дополнительной микросхемы ECC. Установка еще одного чипа превращала ор­ди­нар­ную память в память с коррекцией ошибок (error-correcting code memory). Выпускали также регистровые версии ECC-модулей, предназначенные для работы на серверных платформах. Планки памяти SDRAM содержали 168 позолоченных ламелей (контактных площадок) для установки в DIMM-сокет.

Для установки в системную плату DIMM-модули синхронной динамической памяти снабжены позолоченными ламелями (контактными площадками)
Рис 2. Для установки в системную плату DIMM-модули синхронной динамической памяти снабжены позолоченными ламелями (контактными площадками)

Существовало три поколения SDRAM, отличающиеся параметрами быстродействия. Модули DIMM с ми­кро­схе­ма­ми синхронной памяти, время цикла которых составляло около 12-15 наносекунд, относились к PC66-сов­мес­ти­мым уст­рой­ст­вам. Их маркировка по значению, близкому к тактовому периоду в наносекундах, была мар­ке­тин­го­вым трюком — время доступа оставалось прежним, на уровне асин­хрон­ной DRAM: что-то около 60 ns.

Начиная со спецификации PC100, предложенной компанией Intel, планки памяти стали оснащаться постоянным за­по­ми­на­ющим устройством, хранящим временны́е характеристики модуля. Эта микросхема получила название SPD — Serial Presence Detect, с ее помощью настройка компьютера превращалась в формальность, не требующую особых знаний.

Наибольшей популярностью поль­зо­ва­лась память с маркировкой CL=2, что расшифровывается как CAS La­ten­cy — один из самых значимых параметров производительности. С появлением модулей SDRAM, способных ра­бо­тать на частоте 133 МГц (PC133), длительность цикла которых составляла 7,5 ns, задержки увеличились на один такт. Ми­ни­маль­но приемлемое значение CAS Latency для них стало равно 3. Забегая вперед заметим, что данная тен­ден­ция со­хра­ня­ет­ся по сей день, и продиктована она самой архитектурой ячейки динамической памяти, где но­си­­те­­лем ин­фор­ма­ции является паразитная емкость в цепи ключевого транзистора.

Double Data Rate — значит ли вдвое быстрее?

Следующий шаг в развитии синхронной динамической памяти был сделан в жесткой конкуренции с RDRAM, ис­по­ве­ду­ю­щей идеи сериализации. Модули RIMM, не выдержав конкуренции, быстро проиграли по цене, а затем и по про­из­во­ди­тель­но­сти новой архитектуре синхронной памяти — DDR SDRAM.

Принцип тактирования синхронной динамической памяти по технологии Double Data Rate
Рис 3. Принцип тактирования Double Data Rate

Для того, чтобы понять принцип работы Double Data Rate SDRAM, воспользуемся привычной уже аналогией с ки­но­те­ат­ром.

Как правило, основное время зритель проводит в кинозале. Оно зависит от длительности кинофильма и является самым консервативным параметром, поэтому его можно сравнить с физическим быстродействием DRAM-ячейки. Сократить этот интервал никак нельзя, зато можно, не прибегая к перепланировке здания кинотеатра, вдвое уве­ли­чить количество мест в кинозале (предположим, что изначально ряды стояли неплотно), а для обеспечения тре­бу­е­мой пропускной способности, посадить в каждую кассу по два кассира (больше просто не помещается).

Это напоминает реализацию DDR-памяти, а на физическом уровне означает так­ти­ро­ва­ние доступа к ОЗУ не по спаду синхроимпульса, как было в классической SDRAM, а по обеим фронтам. И сно­ва заглянем в будущее — все следующие поколения DRAM привержены именно этой технологии, и в бли­жай­шем бу­ду­щем не намечается от­хода от нее.

Теги: 

Почему переход к синхронной памяти был неизбежным?