ОПЕРАТИВНАЯ
ПАМЯТЬ.
Руководство
для начинающих
Часть 3.

Потребность
в Скорости
В
то время, как процессоры постоянно увеличивали скорость, работа
памяти улучшилась многократно меньше, главным образом по причине
стоимости. С суперскалярными архитектурами процессоров и другими
надстройками, которые позволяют комплексные команды выполнять за
один цикл, это несоответствие стало даже большим.
Так
как главное соображение при разработке памяти PC — стоимость, то
DRAM была разработана с более дешевыми и более медленными компонентами,
в то время, как SRAM использовалась экономно, как кэш. Чтобы уменьшить
затраты, имеется относительно немного разновидностей DRAM, которая
позволяют изготовителям делать ее большого объема. С другой стороны,
SRAM чипы вообще предназначены и разрабатываются для определенных
устройств типа внешнего кэша, быстрых выключателей связи и т.п.
Наиболее обычное использование для SRAM в PC сегодня - кэш.
Чтобы
улучшить на порядок скорость обмена данных (а не просто ускорить
внутренние операции), в SRAM и DRAM было введено, множество, специальных,
дополнений, которые позволили обойти некоторые внутренние операции
или не перемещать после первого доступа ряд данных по запросам.
Многие из доработок были сначала осуществлены в SRAM чипах и только
недавно стали использоваться в DRAM. Перед обсуждением этих улучшений
рассмотрим архитектуру памяти и операции, выполняемые в ней.
Архитектура
Памяти
Операции с памятью управляются разными сигналами, каждый из которых
приходит по собственному контакту. Напряжение на соответствующем
контакте устанавливается в 0 или 1 в зависимости от того, какая
операция выполняется. Сигналы управления позволяют выбрать адрес,
читать или записывать операции, которые будут выполняться, и данные,
которые нужно вывести, причем преимущество отдается выбору адреса
и выводу данных.

И
SRAM, и DRAM состоят из одного или более прямоугольных массивов
ячеек памяти, схем расшифровки адреса, операций чтения, записи.
Может также иметься схема осуществления потока операций и другие
особенности. Количество используемых массивов зависит от размера
и скорости памяти, а также от числа линий ввода-вывода.
Массивы
памяти организованы в строки и столбцы ячеек памяти. Каждая ячейка
представляет собой одиночный бит и имеет уникальный адрес, который
определен пересечением строки и столбца. В кэш у SRAM чипа каждая
ячейка напрямую связана с соответствующим контактом ввода-вывода.
У DRAM ячейки связаны с набором усилителей на транзисторах, которые
усиливают сигнал при чтении или записи в ячейку, а уже они связаны
с контактами ввода - вывода.
Ячейка
SRAM может быть в одном из двух состояний (0 или 1). Эти ячейки
обычно состоят из шести транзисторов и сохраняют текущее состояние,
пока его не изменят или не отключат питание. Другие схемы в чипе
включают адресную логику (для выбора строк и столбцов), логику чтения
(для выбора данных из ячейки и передачу его на выход) и логику записи
(для получения данных на входе и помещения их в ячейках). Могут
также включаться схемы специальных операций типа конвейерной обработки
адресов и синхронной передачи данных.
Ячейка DRAM - конденсатор, заряд которого определяет 0 или 1, и
который должен постоянно подзаряжаться, так как теряет часть заряда
при считывании из-за утечки. Из-за достаточно высокой емкости скорость
получения данных из ячейки DRAM ниже, чем из ячейки SRAM.Также,
как и в SRAM, есть схемы адресной логики, чтения и записи, могут
присутствовать схемы специальной обработки. Дополнительные схемы
включают усилители чтения-записи (транзисторы, которые усиливают
сигналы при чтении из ячейки и записи в нее) и подзарядка (для осуществления
операции поддержания состояния ячейки).
Основная
Операция Памяти
Любая
DRAM память имеет основное ядро, которое и определяет внутреннюю
скорость обработки и время ожидания (относительно большое). Операции
во всех разновидностях DRAM подобны описанной. С другой стороны,
различные типы SRAM используют собственные принципы. Работа SRAM
описана здесь, чтобы дать понимание отличия SRAM от DRAM. Обратите
внимание, что описание дано для асинхронного интерфейса, а весь
кэш SRAM, используемый сегодня — синхронен (за и против асинхронного
и синхронных интерфейсов рассмотрено ниже).
Описание асинхронного чтения и записи SRAM и диаграмма блока.
SRAM
Чтение
1)
Номера строки и столбца посланы на контакты адреса, контакт Выбора
Чипа (/CS) установлен в низкое напряжение, а Разрешения Записи (/WE)
— в высокое.
2)
Контакт Разрешения Чтения установлен в низкое напряжение (/OE),
чтобы допустить данные к выводам (это может произойти в любое время
до фактического чтения ячейки).
3)
Данные посланы на контакты вывода после того, как истекло указанное
время доступа.
.
SRAM
Запись
1)
Номера строки и столбца посланы на контакты адреса, контакты Выбора
Чипа (/CS) и Разрешения Записи (/WE) установлены в низкое напряжение.
2)
Данные от входных штырьков помещают в регистр, который сохраняет
данные некоторое время.
3)
Данные сохранены в выбранной ячейке.
Для
обеих из этих операций определено количество времени, необходимого
для установки и стабилизации сигналов (/CS, / WE и адресного), и
время поддержания сигналов в необходимом состоянии, пока они проходят.
Время доступа SRAM - количество времени на запрос, чтение и получение
данных на выходе.

Описание
основного принципа чтения и записи DRAM и диаграмма блока.
DRAM
Чтение
1)
Номер строки послан на контакты адреса
2)
Контакт Выбора Адреса Строки (/RAS) установлен в низкое напряжение
и остается низким до полного завершения цикла чтения. В то же самое
время активизируются усилители, и адрес строки помещают в буфер
адреса строки.
3)
Когда /RAS стабилизируется, данные строки передаются на усилители.
4)
Номер столбца определен на контактах адреса.
5)
Сигнал Разрешения Записи (/WE) установлен высоко.
6)
Контакт Выбора Адреса Столбца (/CAS) установлен низко, адрес столбца
помещается в буфер адреса столбца и включается буфер вывода.
7)
Сигнал Разрешения Вывода на контакте установлен низко (в любое время
до фактического вывода данных).
8)
Данные из выбранной “ячейки” из усилителей посланы на буфер вывода.
9)
В завершение цикла /RAS и /CAS должны быть установлены высоко.
DRAM
Запись
1)
Номер строки послан на контакты адреса.
2)
Контакт Выбора Адреса Строки (/RAS) установлен в низкое напряжение,
и остается в нем до окончания цикла записи. В то же самое время
активизируются усилители, и адрес строки помещают в буфер адреса
строки.
3)
Номер столбца определен на контактах адреса.
4)
Сигнал Разрешения Записи (/WE) установлен низко.
5)
Данные посылаются на входные контакты.
6)
Контакт Выбора Адреса Столбца (/CAS) установлен низко, адрес столбца
помещают в буфера адреса столбца, и данные передаются на усилители.
7)
Данные усилителей сохраняются в выбранной ячейке.
8)
По завершению цикла /RAS и /CAS устанавливаются в высокое напряжение.
Как
и в операциях в SRAM, необходимо некоторое время на установку и
стабилизацию сигналов, и контроль прохождения всех необходимых действий
на каждом шагу. Все эти операции в памяти требуют минимального времени.
Изготовители используют синхронизацию этих действий, которая будет
описана далее.

FPM
и EDO
Чтобы
ускорить основную операцию DRAM, проектировщики обошли некоторые
из шагов, так как после первого доступа многократные биты читались
в той же самой строке (последовательные адреса, например). Например,
вместо циклической работы сигнала Выбора Адреса Строки /RAS для
чтения каждой ячейки поддерживался низким и для последующей (устранение
времени перезарядки /RAS). Таким образом, запирается следующий адрес
столбца немедленно после того, как /RAS появляется на контактах
адреса. Адрес может и не быть следующим последовательным, но должен
находится в той же самой строке.
Другими
словами, следующий доступ в той же самой строке повторил бы шаги
с 4 по 9 DRAM операции чтения, описанной выше, и только сигнал /CAS
на контакте будет циклически изменяться на шаге 9. Это называлось
Быстрым Постраничным режимом (FPM — строка, называемая “страницей”
данных).
Следующее
усовершенствование работы DRAM позволило данным оставаться в буферах
вывода даже с высоким /CAS (Продленные Данные Вывода, EDO). Это
увеличило время доступности данных из усилителей и поэтому позволили
проектировщикам сократить время при последовательном или случайном
чтении из одной и той же строки.
Асинхронный
против Синхронного Интерфейса
Синхронизации
в SRAM и DRAM чипах первоначально управлялись внутренним таймером,
которой были полностью отделен от системного, который использовал
CPU (то есть асинхронно). Это подразумевало то, что CPU должен был
постоянно ждать данные из памяти, так как не “знал” точно, когда
их ожидать. Если память была особенно медленной, дополнительное
“состояние ожидания” было запрограммировано (обычно через BIOS установку)
так, чтобы CPU не тратил лишнее время на ожидание данных.
Чтобы
сделать память более эффективной, проектировщики добавили контакт
сигнала, который разрешил системному таймеру управлять синхронизацией
(CLK). С памятью, “синхронизированной” системным таймером, CPU теперь
точно “знал”, через сколько циклов можно получить данные из памяти.
С синхронным интерфейсом многие из внутренних операций памяти находятся
под управлением сигналов таймера. Это просто означает, что операция
инициируется изменением уровня контакта CLK (обычно от высокого
к низкому). Каждая операция в пределах чипа памяти использует конечное
количество времени (в наносекундах), поэтому, зная цикл таймера,
определяется число циклов, необходимых для завершения операции.
Например, если операция требует 25ns, а цикл таймера - 10ns, то
необходимо три цикла, чтобы завершить операцию.
За это известное время процессор выполняет другие задачи, а данные
забирает через определенное число циклов. С 60ns EDO (асинхронная)
память процессор получит данные на 30ns позже, когда /RAS сообщен
и сопровожден адресом столбца и сигналом /CAS (RAS добавит время
к задержке CAS). Процессор должен ждать данные на выводе приблизительно
еще 30ns (время доступа к столбцу). С синхронным интерфейсом процессор
блокировал бы строку и адрес столбца, а затем выполнял бы другие
задачи 60ns, пока DRAM работала под управлением сигналов таймера.
Конвейерная
обработка
Одно
из преимуществ синхронного интерфейса - конвейерная обработка(скрытие
некоторых из внутренних операций). Этот принцип был осуществлен
в кэш SRAM и теперь также используется в DRAM (это память SDRAM).
Так как Центральный Процессор “знает” следующий адрес обращения
намного раньше получения предварительно требуемых данных, драгоценные
циклы могут быть потрачены впустую на ожидание этих данных, хранящихся
в следующем адресе.
С
конвейерной обработкой внутренние операции прерываются в стадии,
когда они могут быть выполнены одновременно. Например, если три
стадии определены как блокирование адреса, выключение столбца и
посылка данных в буфер вывода, то процессор может послать следующий
адрес, как только первый был декодирован, и на это будет затрачен
только один цикл. Адреса помещаются в буфер адреса в то время, как
выключатель столбца завершает свою работу и посылает данные в буфер
вывода при каждом последующем цикле.
Преимущество
конвейерной обработки состоит в том, что новый вывод данных может
происходить каждый цикл, определяя синхронизацию X-1-1-1. Из следующей
диаграммы видно, что когда “трубопровод полон”, вывод происходит
каждый цикл часов. Эта диаграмма иллюстрирует конвейерную обработку,
не показывая фактические операции и синхронизацию в чипе памяти.

Другие
Методы для Улучшающегося Доступа к данным
Доступ
в режим Взрывной обработки был осуществлен в SRAM кэш (Конвейерный
Взрыв Кэш) и позволяет адресовать столбец внутренне после первого
адреса, чтобы данные могли выводиться намного быстрее. Использование
операции режима взрыва исключает время установки для блокирования
по внешне заданному адресу.
Другой
метод ускорить вывод состоит в создании архитектуры, где можно послать
два или больше бита данных в буфер вывода за каждый цикл адресации.
Удваивается разряд контактов вывода, и вдвое больше данные могут
выводиться за тот же самый период времени (Двойной Разряд Данных
или DDR). В настоящее время это используется в некоторых SRAM кэш,
чтобы не отставать от высококачественных процессоров, а скоро будет
использоваться в DRAM.
Многобанковая
архитектура, используемая в современных DRAMs (типа SDRAM) и Rambus
DRAM также может скрывать многие из внутренних операций чипа. В
то время, как один банк выдает данные, второй банк открывается,
обновляется или подзаряжается. Ускорение достигнуто и с последовательным,
и с произвольным доступом, так как каждый банк может быть адресован
независимо. Другое преимущество состоит в том, что запрос может
быть адресован на оба (или все) банки одновременно, действуя как
внутренний кэш.
Синхронизация
Памяти
Некоторые
из часто задаваемых относительно памяти вопросов имеют отношение
к синхронизации. Каковы лучшие параметры BIOS–настройки? Может ли
10ns SDRAM работать на 100Hz? Почему 10ns SDRAM обеспечивает незначительно
более быструю работу, чем 60ns EDO?
В
следующей статье будут рассмотрены проблемы синхронизации, типа
состояний ожидания, CAS Время ожидания и циклического повторения.
Будут также приведены примеры листов данных производителей памяти.
По
вопросам приобретения любых видов оперативной памяти обращайтесь
в компанию
“ФОРМОЗА – РУСТАВЕЛИ” Телефон: 210-44-00
спонсор
статьи:

|