Татьяна Мамаева
IDT: Многопортовая память: как она работает?
Синхронное двухпортовое ОЗУ (Synchronous Dual-Port RAMs)
К отличительным особенностям семейства Synchronous Dual-Port RAMs относятся: синхронный интерфейс с раздельными сигналами синхронизации CLK_R и CLK_L и внутренние счетчики (internal counters) для организации пакетного режима передачи данных [1, 3, 5]. Поскольку обязательным условием доступа активных устройств к пространству такой памяти является их взаимная синхронизация от одного системного таймера, никакой дополнительной логики (арбитраж, семафоры или прерывания) для разрешения конфликтных ситуаций не требуется. На рис. 1 показано отличие синхронного двухпортового ОЗУ от асинхронного. Операции обращения к ячейкам асинхронной памяти могут выполняться в произвольные моменты времени при условии соблюдения необходимых временных соотношений между сигналами установки адреса, управления, чтения/записи данных. Операции обращения к ячейкам синхронного двухпортового ОЗУ осуществляются строго под управлением внешнего сигнала синхронизации (CLK_R для порта R и CLK_L для порта L).
Рис. 1. Отличие синхронного двухпортового ОЗУ от асинхронного
Архитектура синхронного двухпортового ОЗУ оптимизирована для применения в вычислительных сетях (ATM и Ethernet коммутаторы/маршрутизаторы) и системах беспроводной телефонии (базовые станции), обеспечивая следующие синхронные режимы работы памяти: Pipelined (конвейерный), Flow-through (сквозной) и Burst (пакетный). Режимы Pipelined и Flow-through отличаются структурой выходного устройства (рис. 2). В первом случае дополнительный буферный регистр-защелка по выходу (Output register) позволяет организовать конвейерный доступ к данным (одновременно с чтением по предыдущему адресу осуществляется запрос по следующему). Поэтому включение микросхемы двухпортового ОЗУ в режиме Pipelined позволяет сократить общее время обращения к памяти. Единственным недостатком этого режима является задержка на один период сигнала синхронизации при считывании первого слова. Во втором случае (режим Flow-through) считываемые данные непосредственно поступают на выходную шину микросхемы памяти (Output). Это позволяет обеспечить минимальную задержку при считывании первого слова. Однако все последующие обращения к памяти в этом режиме будут проходить за более длительное время, чем в режиме Pipelined. Режимы Flow-through и Pipelined задаются пользователем аппаратно.
Рис. 2. Режимы Pipelined и Flow-through
Режим Burst предназначен для выполнения операций над последовательными потоками параллельных данных (например, потоками речевых сообщений) и имеет некоторое сходство с работой памяти FIFO. Работа в этом режиме начинается с параллельной загрузки начального значения внутреннего счетчика через внешнюю шину адреса. В дальнейшем при каждом обращении к памяти состояние внутреннего счетчика циклически инкрементируется. Наличие в синхронном двухпортовом ОЗУ счетчиков адреса позволяет освободить ресурсы управляющего процессора для других операций.
Двухпортовое ОЗУ с переключаемыми банками памяти (Bank-Switchable Dual-Port RAMs)
Память Bank-Switchable — это статическое ОЗУ с двумя интерфейсами, обеспечивающими независимый доступ к банкам в пространстве памяти. По структуре двухпортовое ОЗУ с переключаемыми банками памяти представляет собой промежуточный вариант между обычным ОЗУ и двухпортовой памятью. Так же как и в обычном ОЗУ, элементарная ячейка Bank-Switchable выполнена на четырех транзисторах. А наличие в составе Bank-Switchable двух интерфейсов с разделенными шинами адреса, данных и управления обеспечивает возможность независимого обращения к банкам в пространстве памяти по аналогии с тем, как это происходит в стандартной двухпортовой памяти (рис. 3 а, б). Выбор того или иного банка памяти осуществляется посредством установки адреса банка на дополнительных линиях BA_R или BA_L.
В зависимости от реализации внешнего интерфейса обмена данными микросхемы памяти Bank-Switchable подразделяются на асинхронные и синхронные. Конфликтные ситуации в асинхронной памяти с переключаемыми банками разрешаются с помощью семафорной логики и системы прерываний. Синхронные устройства Bank-Switchable являются более перспективными изделиями и характеризуются широким перечнем дополнительных функций. Среди них можно выделить поддержку организации обмена данными между шинами с разным форматом слова, наличие внутренних счетчиков адреса, работа в режимах Pipelined и Flow-through.
Микросхемы двухпортовой памяти с переключаемыми банками предназначены для применения в системах цифровой обработки изображений, системах промышленной автоматики и периферийных контроллерах.
Рис. 3. Память с переключаемыми банками памяти (а) и стандартная двухпортовая память (б)
Двухпортовое ОЗУ с последовательно-произвольным доступом (SARAM)
Память SARAM была первым устройством среди микросхем многопортовой памяти, в состав которой был введен синхронный интерфейс [4, 5]. Она представляет собой специализированное двухпортовое ОЗУ, обеспечивающее возможность работы с двумя различными типами интерфейсов: асинхронным с произвольным доступом и синхронным с последовательным доступом к данным. На рис. 4 приведена внутренняя структура памяти SARAM.
Рис. 4. Внутренняя структура памяти SARAM
Асинхронный интерфейс с произвольным доступом включает в себя стандартные сигналы интерфейса SRAM (шину адреса, шину данных, сигналы управления CE', OE' и R/W'), за исключением сигнала CMD' (разрешение доступа к содержимому внутренних регистров конфигурации синхронного интерфейса). При низком уровне на входе CMD' под управлением сигналов A0-A2 и R/W' осуществляется операция чтения/записи содержимого одного из шести внутренних регистров: указателя начального адреса буфера #1 (Start Address for Buffer #1), указателя конечного адреса буфера #1 (End Address for Buffer #1), указателя начального адреса буфера #2 (Start Address for Buffer #2), указателя конечного адреса буфера #2 (End Address for Buffer #2), регистра режима (Flow Control Buffer) и регистра состояния (Flag Status). Указатели позволяют разбить общее пространство памяти на два произвольных подпространства с символическими именами «буфер #1» и «буфер #2». Регистр режима позволяет запрограммировать последовательность операций, выполняемых в случае достижения внутренним счетчиком конечного адреса текущего буфера. Возможными режимами могут быть BUFFER CHAINING, STOP MODE, LINEAR MODE, MASK MODE (табл. 1).
Режим |
Краткие характеристики |
BUFFER CHAINING |
Установка флага «EOB1(EOB2)» и переход к начальному
адресу буфера#2 (буфера#1) (рис. 5, а); |
STOP MODE |
Установка флага «EOB1(EOB2)» и запрет инкрементирования
содержимого внутреннего счетчика (рис. 5, б); |
LINEAR MODE |
Установка флага «EOB1(EOB2)» и продолжение циклического
инкрементирования содержимого внутреннего счетчика (рис. 5, в); |
MASK MODE |
Циклическое инкрементирование содержимого внутреннего
счетчика без изменения состояния регистра статуса (рис. 5, г). |
Организация синхронного интерфейса предусматривает возможность повторного считывания данных из памяти. Сигналы SSTRT1'(SSTRT2') синхронного интерфейса обеспечивают загрузку начального значения адресного указателя буфера #1 (буфера #2) во внутренний счетчик адреса. Загрузка внутреннего счетчика осуществляется под управлением сигнала SCLK при низком уровне на входе SSTRT1' (SSTRT2'). Содержимое внутреннего счетчика адреса может быть также изменено путем внешней загрузки данных через шину S/O. При низком уровне на входе SLD' под управлением сигнала SCLK осуществляется запись данных во входной регистр синхронного интерфейса. По следующему такту SCLK эти данные переносятся во внутренний счетчик адреса.
Рис. 5. Режимы работы синхронного интерфейса
Недостатком двухпортовой памяти SARAM является отсутствие арбитражной логики. Поэтому в алгоритме работы управляющего процессора обязательно должна быть предусмотрена процедура выявления и разрешения конфликтных ситуаций в процессе обмена данными.
К областям применения памяти SARAM также относится оборудование для сетей передачи данных (мосты, маршрутизаторы, фреймеры и др. [1].
Основой большинства вышеперечисленных устройств являются высокопроизводительные RISC-контроллеры и DSP. Поэтому главные требования, предъявляемые к характеристикам двухпортовой памяти, — высокие быстродействие и скорость передачи данных. В последнее время все большую популярность у разработчиков завоевывают синхронные устройства, постепенно вытесняя асинхронные. Это объясняется тем, что режим синхронного обмена позволяет обеспечить оптимальное взаимодействие между устройством и шиной обмена данными.
Литература
- Application Note AN-253, Introduction to Multi-Port Memories. — IDT Inc., 2000.
- Application Note AN-91, The Most Commonly Asked Async Questions. — IDT Inc., 2000.
- Application Note AN-254, The Most Commonly Asked Sync Questions. — IDT Inc., 2000.
- Application Note AN-144, Sync Dual-Ports for DSP & Comm Application. — IDT Inc., 2000.
- Data Book. — IDT Inc., 1997.
tm@efo.spb.su
|