SDRAM

Опубликовано в Компоненты ПК, Оперативная память

И так, синхронная память SDRAM!  Все рассмотренные в предыдущих статьях типы памяти (FPM, EDO, BEDO) являются асинхрон­ными. При асинхронной передаче данных гарантируется, что определенная опера­ция будет закончена за фиксированный промежуток времени, например за 60 нс. Работа асинхронной памяти не синхронизирована с тактовой частотой системной шины, то есть данные появляются на этой шине в произвольные моменты времени.

SDRAM

С системной шины данные считываются контроллером, который синхронизирован с тактовой частотой. Следовательно, если данные появляются в ближайший момент за фронтом тактового импульса, то они будут считаны только с началом следу­ющего тактового импульса. Так происходит потому, что сигналом к считыванию данных является не уровень тактового импульса (высокий или низкий), а его фронт. Поэтому при использовании асинхронной памяти часто возникает задержка с об­работкой данных, что, в свою очередь, приводит к жестким ограничениям на частоту системной шины FSB. Так, память страничного доступа FPM DRAM обеспечива­ла работу при тактовой частоте не более 40 МГц. Вследствие улучшения организа­ции доступа к памяти (EDO и BEDO) удалось повысить тактовую частоту до 66 МГц.

66 МГц — предельное значение частоты для асинхронной памяти. При более высоких частотах системной шины потребовалось найти способ преодоления су­щественных задержек. Поэтому на смену асинхронной памяти пришла синхронная динамическая память SDRAM (Synchronous DRAM).

Синхронная память SDRAM

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

Помимо организации синхронного доступа к данным, память SDRAM имеет еще ряд принципиальных отличий от асинхронной памяти.

Весь массив памяти SDRAM модуля разделен на два независимых банка. Такое решение позволяет совмещать выборку данных из одного банка с установкой ад­реса в другом банке, то есть иметь одновременно две открытые страницы. Доступ к этим страницам чередуется (bank interleaving), и соответственно устраняются задержки, что обеспечивает создание непрерывного потока данных.

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

Существовало два типа синхронной динамической SDRAM-памяти: РС100 и РС133. Числа 100 и 133 определяют частоту системной шины, которую поддерживает эта память. Соответственно, память PC 100 поддерживает максимальную частоту 100 МГц, а РС133 — 133 МГц. По своей внутренней архитектуре, способам управ­ления и внешнему дизайну модули памяти РС100 и РС133 были полностью иден­тичны. Можно сказать, что память PC 133 — это разогнанный вариант PC 100.

Память принято характеризовать различными параметрами, среди которых основ­ным (точнее, первым из называемых) является пропускная способность канала данных — максимальное количество байт, передаваемых по каналу данных за еди­ницу времени (за одну секунду). Память PC 100 и PC 133 имеет 64-битную (восьмибайтную) шину данных, то есть за каждый такт можно передать 8 байт данных. Следовательно, чтобы определить пропускную способность памяти, нужно умно­жить количество тактов передачи за одну секунду на количество байт, передаваемых за один такт. Количество тактов обращений к памяти за одну секунду — это часто­та работы памяти. Таким образом, пропускная способность канала памяти опреде­ляется по формуле:

Пропускная способность (Мбайт/с) = Частота системной шины (МГц) • 8 байт.

Для памяти РС100 пропускная способность составит 100 МГц • 8 байт = 800 Мбайт/с, а для памяти РС133 — 1064 Мбайт/с, или приблизительно 1 Гбайт/с.

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

Время доступа (RAS to active time, Tras) — это время, проходящее с мо­мента обращения к памяти до момента считывания данных. Данная величина приблизительно одинакова для всех типов динамической памяти и составляет примерно 50 не. Время доступа актуально при случайном доступе к памяти, то есть когда последовательные считываемые ячейки памяти принадлежат различным стро­кам. Если же говорить о блочной передаче, то более показательной характеристикой является время цикла, то есть время между двумя последовательными обращениями к ячейкам памяти. Первый цикл обращения всегда равен времени доступа, то есть около 50 не. Но при последующих циклах обращения в пределах одной страницы время существенно меньше и составляет 10 не для памяти РС100 и 7,5 не для РС133 (7,5 не — длительность одного такта при частоте шины 133 МГц).

SDRAM: время доступа

SDRAM

Временная диаграмма работы памяти SDRAM

Время доступа (RAS to active time, Tras) — это время, проходящее с мо­мента обращения к памяти до момента считывания данных. Данная величина приблизительно одинакова для всех типов динамической памяти и составляет примерно 50 не. Время доступа актуально при случайном доступе к памяти, то есть когда последовательные считываемые ячейки памяти принадлежат различным стро­кам. Если же говорить о блочной передаче, то более показательной характеристикой является время цикла, то есть время между двумя последовательными обращениями к ячейкам памяти. Первый цикл обращения всегда равен времени доступа, то есть около 50 не. Но при последующих циклах обращения в пределах одной страницы время существенно меньше и составляет 10 не для памяти РС100 и 7,5 не для РС133 (7,5 не — длительность одного такта при частоте шины 133 МГц).

меньшее количество тактов. Например, при цепочке 5-1-1-1 данные появляются без задержек, то есть с каждым тактовым импульсом. Сумма всех цифр цепочки показывает количество тактов, необходимых для получения четырех элементов. Так, для памяти PC 133 реализуется схема 5-1-1-1, которая означает, что для до­ступа к данным требуется восемь тактов. Для рассмотренной ранее памяти EDO реализуется схема 5-2-2-2 и для доступа требуется 11 тактов, а для памяти FPM схема 5-3-3-3 дает 14 тактов.

Микросхемы SDRAM-памяти каждый раз перед началом процесса чтения настра­иваются (подготовительный период) посредством установки специальных регистров. Регистр режимов устанавливается перед первым обращением к памяти и затем переустанавливается по мере необходимости. После такта записи в регистр режи­мов обязательно должен следовать пустой такт. Настройке посредством установки регистров подлежат следующие параметры: длина пакетного цикла, порядок счета адресов внутри пакетного цикла, CAS-латентность и тип операции с памятью.

Длина пакетного цикла (Burst Length, BL) — это количество обращений к после­довательным ячейкам памяти в пределах одной страницы, когда адресация колонок осуществляется за счет использования внутреннего счетчика адресов. В соответ­ствии с параметром BL настраивается цикл работы счетчика адресов. Длина пакет­ного цикла может быть равна 1, 2, 4, 8 или Full Page (последнее значение опреде­ляется длиной строки и обычно равно 256).

Порядок счета адресов внутри пакетного цикла может быть либо последовательный, либо чередующийся (interleave).

CAS-латентность (CAS latency) определяет задержку по времени в тактах, которая происходит с момента подачи сигнала CAS (с момента получения адреса столбца) до выдачи первого слова данных на шину. Для SDRAM-памяти эта задержка может составлять два или три такта.

SDRAM: тип операции

Тип операции с памятью (Operation Mode) может быть либо нормальным, когда используется пакетный режим для чтения и записи, либо специальным, когда применяется режим пакетного чтения и одиночных операций записи.

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

Через промежуток времени, называемый RAS to CAS delay (tRCD) — то есть за­держка в тактах подачи сигнала CAS относительно сигнала RAS, подается строби- рующий импульс CAS. При установке CAS в низкий уровень после прихода поло­жительного фронта тактирующего импульса происходит выборка адреса столбца, который присутствует в данный момент на шине адреса, и открывается доступ к нужному столбцу матрицы памяти.

Затем, через время CAS latency (tCL), на шине данных появляется первое слово, которое может быть считано процессором. Каждое последующее слово (их коли­чество определяется длиной пакетного цикла) появляется на шине данных в оче­редном такте.

Завершение цикла обращения к банку памяти осуществляется подачей команды деактивации RAS Pre charge (tRP). Эта команда подается за один (при CAS latency = 2) или за два (при CAS latency = 3) такта перед выдачей последнего слова данных. Время деактивации также измеряется в тактах и может быть равно двум или трем.

Описанные промежутки времени RAS to CAS delay (tRCD), CAS latency (tCL) и время деактивации RAS Pre charge (tRP) определяют тайминг памяти, записы­ваемый в виде последовательности tCL —»tRCD -> tRP. Понятно, что чем меньше тайминг, тем более быстродействующей является память. Часто в характеристиках памяти указываются не все тайминги, а только показатель tCL (например, tCL7 или tCL8 для модулей памяти DDR3).