Научная статья на тему 'Микросхемы многопортовой памяти фирмы IDT'

Микросхемы многопортовой памяти фирмы IDT Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
245
56
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мамаева Татьяна

Многопортовая память — это статическое ОЗУ с двумя или более независимыми интерфейсами, обеспечивающими доступ к пространству памяти через разделенные шины адреса, данных и управления.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Микросхемы многопортовой памяти фирмы IDT»

Микросхемы многопортовой памяти

фирмы IDT

Многопортовая память — это статическое ОЗУ с двумя или более независимыми интерфейсами, обеспечивающими доступ к пространству памяти через разделенные шины адреса, данных и управления.

fатьяна Мамаева труктура двухпортового статического ОЗУ

к.т.н. (рис. 1) содержит единый массив памяти

V_^/(COMMON CENTRAL MEMORY) и два неза-tm@efo.spb.su висимых порта (PORT_L и PORT_R) для обращения

к этому массиву.

В отличие от статического элемента обычного ОЗУ (рис. 2, а) элементарная ячейка двухпортовой памяти реализована на шести транзисторах (рис. 2, б). Основу ячейки составляет статический триггер, выполненный на транзисторах Q1, Q2. Ключевыми транзисторами Q3, Q4 триггер соединен с разрядными шинами P_L, P'_L, а ключевыми транзисторами Q5, Q6 — с разрядными шинами P_R, P'_R. Информация подводится к триггеру при записи и отводится при считывании по этим шинам. Ключевые транзисторы затворами соединены с шинами выбора строки ROW SELECT_L и ROW SELECT_R соответственно. При возбуждении строки одним из сигналов выборки ключевые транзисторы открываются и подключают входы/выходы триггера к разрядным шинам.

Рис. 1. Структура двухпортового статического ОЗУ

1. Классификация многопортовой памяти производства IDT Inc

Среди микросхем многопортовой памяти, производимых IDT Inc., насчитывается более 100 разновидностей. По способу исполнения внешнего интерфейса среди них можно выделить следующие семейства: Asynchronous Dual-Port RAMs, Synchronous

Dual-Port RAMs, Bank-Switchable Dual-Port RAMs, FourPort RAMs и SARAMs. В табл. 1 приведены краткие характеристики каждого семейства.

Таблица 1

ройств сигнал BUSY' («запрет доступа»). Этот сигнал поступает в опоздавшее к моменту арбитража активное устройство, а при строго одновременных обращениях — в устройство, выбранное случайным образом. Сигнал BUSY'

Семейства Краткие характеристики

Asynchronous IDT7132(M) IDT71 42(s) IDT7134 IDT7005 IDT7006 IDT7007 IDT7008 IDT7133(M) IDT7143(S) IDT7024 IDT7025 IDT7026 IDT7027 IDT7028 • 3,3 В и 5 В, х8, х9, х16, х18, х36, tA = 10 н^ до 4 Мбит; • два независимых интерфейса для доступа к ячейкам памяти; • встроенная арбитражная логика ; • семафоры для синхронизации параллельного доступа к банкам данных в массиве памяти; • линии формирования запросов на прерывания; • система «ведущий/ведомый» для наращивания разрядности

Synchronous IDT709079 IDT709089 IDT709099 IDT70914 IDT709189 IDT709199 IDT70V3379 IDT70V3389 IDT70V3399 IDT70V3319 IDT70V3569 IDT70V3579 • 3,3 В и 5 В, х8, х9, х16, х18, х36, до 166 МГц, до 4 Мбит; • два независимых интерфейса для доступа к ячейкам памяти; • раздельные сигналы синхронизации для каждого из портов; • внутренние счетчики для выполнения операций пакетного считывания и записи данных

FourPort IDT7052 IDT7054 • 5 В, х8, tA = 20 н^ до 32 Кбит; • четыре независимых интерфейса для доступа к ячейкам памяти; • встроенная арбитражная логика;

Bank-Switchable IDT70V7399 IDT70V7319 IDT707278 IDT707288 • 3,3 В и 5В, х16, х18, х36, до 166 МГц, до 9 Мбит; • два независимых интерфейса для доступа к банкам памяти

SARAM IDT70824 IDT70825 • 5 В, х16, tA = 20 н^ до 128 Кбит; • два независимых интерфейса для доступа к ячейкам памяти: синхронный интерфейс c последовательным доступом (FIFO) и асинхронный интерфейс с произвольным доступом (SRAM)

2. Принцип работы асинхронного двухпортового ОЗУ

Во всех схемах с асинхронным доступом к общим ресурсам неизбежно возникают конфликтные ситуации. Применительно к двухпортовому ОЗУ, конфликты появляются при одновременном обращении двух независимых активных устройств к одной и той же ячейке памяти в процессе выполнения следующих операций:

• запись через порт L — запись через порт R;

• запись через порт L — чтение через порт R.

При выполнении операции «запись через

порт L — запись через порт R» состояние ячейки памяти будет оставаться неопределенным до тех пор, пока одно из активных устройств не завершит обращение к ней и не закончатся переходные процессы. В этом случае триггер (рис. 2, б) примет устойчивое состояние, определенное «опоздавшим» устройством. При строго одновременном обращении триггер может принять любое состояние. При выполнении операции «запись через порт L — чтение через порт R» неопределенность существует только в отношении считываемых данных. С одинаковой вероятностью может быть считано как предыдущее значение ячейки памяти, так и вновь записанное в процессе текущего цикла обращения к памяти. Архитектура двухпортовой памяти предусматривает несколько способов разрешения таких конфликтных ситуаций: с помощью арбитражной логики, семафоров или запросов на прерывания.

Арбитражная логика. Арбитр двухпортового ОЗУ устраняет конфликты следующим образом. Сигналы адресных линий портов ADDRESS_L и ADDRESS_R поступают с двух направлений, и если их значения совпадают, то арбитр посылает одному из активных уст-

ADDRESJ.

DELAY

DELAY

ADDRESJ?

|ADD_COMP| |ADD_COMP|

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

• активное устройство формирует запрос на обращение к банку памяти путем записи «0» в соответствующую ячейку, используемую как семафор;

• активное устройство считывает состояние семафора, сравнивает полученный код с нулевым кодом и, если банк занят (код ненулевой), переходит в состояние ожидания;

• если банк свободен, активное устройство получает доступ к его содержимому;

• активное устройство заканчивает обмен и освобождает занимаемый банк памяти путем записи «1» в соответствующий семафор.

Семафорная логика содержит два триггера-защелки и логические элементы два И-НЕ, соединенные по схеме триггера для формирования сигналов занятости банка GRANT' (рис. 4).

удерживается все время, пока не закончится операция обращения к памяти. Дополнительно с сигналом BUSY' внутри кристалла памяти формируется сигнал INTERNAL WRITE INHIBIT («блокировка записи»). При выполнении операции типа «чтение через порт R — чтение через порт L» арбитр также формирует сигналы занятости, но блокирование сигналов чтения не производится, и информация считывается одновременно через оба порта. Если адреса запрашиваемых ячеек разные, то доступ к содержимому ячейки памяти также производится одновременно через оба порта, так как в этом случае конфликты не возникают. Арбитр содержит элементы задержки DELAY, схему сравнения адресных линий ADD_COMP, логические элементы три И-НЕ, соединенные по схеме триггера, логические элементы для формирования сигналов занятости (рис. 3). Сигналы CE_L = 0 и CE_R = 0 вызывают формирование сигналов BUSY_L' = 1 и BUSY_R' = 1, что соответствует отсутствию запрета доступа к ОЗУ со стороны обоих активных устройств.

L FLIP-FLOP REQ.L —

R/W'_L—

GRANT'J.

R FLIP-FLOP

D Q' "ТИ ITT Q' D — REQ.R

Е E -R/W'_R

- GRANT'J.

Рис. 4. Схема формирования сигналов занятости банка памяти

Прерывания. Интерфейс системы прерываний асинхронных двухпортовых ОЗУ содержит буфер сообщений и логику формирования запросов на прерывания INTERRUPT TO L(R) SIDE (рис. 5). Например, запрос на прерывание INTERRUPT TO R SIDE формируется в случае записи данных через порт L в ячейку памяти с адресом 1FFFh («буфер сообщений»). Считывание содержимого этой ячейки памяти через порт R приведет к автоматическому снятию этого запроса. По аналогии, при записи данных через порт R в ячейку памяти с адресом 1FFEh внутрисхемной логикой формируется запрос на прерывания INTERRUPT TO L SIDE. Ячейки, используемые в качестве буферов сообщений, входят в рабочее пространство памяти. В тех случаях, когда обслуживание по прерываниям не требуется, они используются как ячейки общего назначения.

INTERNAL INTERNAL

WRITE INHIBITJ WRITE INHIBIT_R

Рис. 3. Схема арбитражной логики

Семафоры — это программные арбитры, регулирующие очередность обращения двух или более независимых активных устройств к общему ресурсу. Механизм действия семафоров в двухпортовом ОЗУ основан на том, что

L SIDE WRITE

ADDRESS тррЕ

INTERRUPT TOR SIDE

_R SIDE READ

ADDRESS

R SIDE WRITE

Рис. 5. Схема формирования сигналов запросов на прерывания

Система ведущий/ведомый. Наращивание информационной емкости двухпортовых ОЗУ достигается путем соединения всех одноименных выводов микросхем, кроме CE' («выбор кристалла»). Сигнал CE' обеспечивает обращение только к одному устройству в модуле памяти в каждый момент времени. Выводы сигналов занятости в этом случае соединяются по схеме «монтажное ИЛИ».

Наращивание разрядности шин данных (рис. 6) осуществляется путем соединения всех одноименных входов микросхем, кроме информационных, и характеризуется одной особенностью: c целью предотвращения тупиковых ситуаций (одновременная выдача сигналов занятости для обоих портов) используется система «ведущий/ведомый», предусматривающая применение микросхем двухпортовых статических ОЗУ с различной реализацией арбитражной логики. Первый тип арбитражной логики носит название «MASTER» и обеспечивает возможность работы микросхем памяти в режимах «обычный» или «ведущий» (формирует сигналы BUSY'_L, BUSY'_R). Второй тип носит название «SLAVE» и обеспечивает возможность работы только в режиме «ведомый» (принимает сигналы занятости, сформированные ведущим устройством). В качестве примеров «MASTER/SLAVE» устройств можно привести следующие: IDT7130(M)/ IDT7140(S), IDT7132(M)/ IDT7142(S), IDT7133(M)/ IDT7143(S).

Дополнительные функции. Большинство микросхем двухпортовой памяти поддерживает организацию обмена данными между шинами с разным форматом слова. Для этого в составе памяти предусмотрена возможность независимого обращения к байтам в слове данных. Требуемая разрядность шины данных каждого порта задается аппаратно с помощью

специальных управляющих выводов. В качестве примера рассмотрим, как реализована эта функция в микросхеме IDT70V657S 32Kx36 DUAL-PORT RAM. Под управлением сигналов BE3', BE2', BE1' и BE0' задается следующий порядок доступа к данным в памяти:

• BE3' = 1, BE2' = 1, BE1' = 1 и BE0' = 0 — разрешение доступа к байту 0;

• BE3' = 1, BE2' = 1, BE1' = 0 и BE0' = 1 — разрешение доступа к байту 1;

• BE3' = 1, BE2' = 0, BE1' = 1 и BE0' = 1 — разрешение доступа к байту 2;

• BE3' = 1, BE2' = 1, BE1' = 0 и BE0' = 1 — разрешение доступа к байту 3;

• BE3' = 1, BE2' = 1, BE1' = 0 и BE0' = 0 — разрешение доступа к двум младшим байтам;

• BE3' = 0, BE2' = 0, BE1' = 1 и BE0' = 1 — разрешение доступа к двум старшим байтам;

• BE3' = 0, BE2' = 0, BE1' = 0 и BE0' = 0 — разрешение доступа ко всему слову.

Подводя итог, назовем основные области применения микросхем многопортовой памяти — это сетевые устройства с разделяемыми ресурсами и многопроцессорные устройства обработки данных. В качестве примеров можно привести коммутаторы и маршрутизаторы ATM и Ethernet, базовые станции, устройства промышленной автоматики на базе DSP.

В следующем номере журнала мы продолжим рассмотрение классов многопортовой памяти производства корпорации IDT, описав структуру и принцип работы устройств Synchronous Dual-Port RAMs, Bank-Switchable Dual-Port RAMs и SARAMs.

+5 В

270 Ом (]

ADDR — DATA^-R/W — OE' — CE' —

busy1-*-

DATA •*-

A_L D L

R/W'_L OE' L CELL BUSY' L

SLAVE

+5 В

f] 270 Ом

A-L MASTER a_r

D_L D_R

R/W'_L R/W'_R

OE'_L OE'_R

CE'_L CE'_R

BUSY' L BUSY R

A_R D_R R/W'_R OE' R CE'lR BUSY1 R

-ADDR

-DATA

w

CE

-BUST

-►DATA

Рис. 6. Наращивание разрядности двухпортовых ОЗУ

i Надоели баннеры? Вы всегда можете отключить рекламу.