ООО ЭФО
Поиск по складу
Программа поставок 2016
Сегодня
www.powel.ru
источники питания
www.korpusa.ru
конструктивы и корпуса РЭА
www.wless.ru
беспроводные технологии
www.mymcu.ru
микроконтроллеры
altera-plis.ru
микросхемы Altera
www.infiber.ru
волоконно-оптические
компоненты в
промышленности
www.efo-power.ru
силовая электроника
www.efo-electro.ru
электротехническая
продукция
www.efometry.ru
контрольно-измерительные приборы
www.golledge.ru
кварцевые резонаторы и генераторы Golledge
www.sound-power.ru
профессиональные усилители класса D
Поиск по сайту
Подписка на новости

Система менеджмента
качества сертифицирована на соответствие требованиям:
ISO 9001, ГОСТ Р ИСО 9001 и СРПП ВТ - подтверждено сертификатами соответствия в системах сертификации Русского Регистра, ГОСТ Р, международной сети IQNet, "Оборонсертифика" и "Военный Регистр".

ООО "ЭФО" в 2011г. получило Лицензию Федеральной службы по экологическому, технологическому и атомному надзору на изготовление оборудования для ядерных установок.


Rambler s Top100



ChipFind - поисковая система по электронным компонентам
EEN
webmaster
Санкт-Петербург: (812) 327-86-54  zav@efo.ru Москва: (495) 933-07-43  moscow@efo.ru Екатеринбург: (343) 278-71-36  ural@efo.ru Пермь: (342) 220-19-44  perm@efo.ru
Казань: (843) 518-79-20  kazan@efo.ru Ростов-на-Дону: (863) 220-36-79  rostov@efo.ru Н. Новгород: (831) 434-17-84  nnov@efo.ru Новосибирск: (383) 286-84-96  nsib@efo.ru
о нас склад библиотека статьи
 
Многопортовая память: как она работает?
Т.Ю.Мамаева

Многопортовая память: как она работает? (часть 1)

         Многопортовая память - это статическое ОЗУ с двумя или более независимыми интерфейсами, обеспечивающими доступ к пространству памяти через разделенные шины адреса, данных и управления. Структура двухпортового статического ОЗУ (рис.1.) содержит единый массив памяти (COMMON CENTRAL MEMORY) и два независимых порта (PORT_L и PORT_R) для обращения к этому массиву.


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

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


A)

Б)
Рис. 2 Статический элемент обычного (а) и двухпортового (б) ОЗУ


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

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

Таблица 1
Семейства Краткие характеристики
Asynchronous
  • 3.3В и 5В, х8, х9, х16, х18, х36, tA=10нс, до 4Мбит;

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

  • встроенная арбитражная логика;
  • семафоры для синхронизации параллельного доступа к банкам данных в массиве памяти;

  • линии формирования запросов на прерывания;
  • система "ведущий/ведомый" для наращивания разрядности.

  • IDT7132(M)
    IDT7142(S)
    IDT7134
    IDT7005
    IDT7006
    IDT7007
    IDT7008
    IDT7133(M)
    IDT7143(S)
    IDT7024
    IDT7025
    IDT7026
    IDT7027
    IDT7028
    Synchronous
  • 3.3В и 5В, х8, х9, х16, х18, х36, до 166МГц, до 4Мбит;

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

  • раздельные сигналы синхронизации для каждого из портов;

  • внутренние счетчики для выполнения операций пакетного считывания и записи данных.

  • IDT709079
    IDT709089
    IDT709099
    IDT70914
    IDT709189
    IDT709199
    IDT70V3379
    IDT70V3389
    IDT70V3399
    IDT70V3319
    IDT70V3569
    IDT70V3579
    FourPort
  • 5В, х8, tA=20нс, до 32Кбит;
  • четыре независимых интерфейса для доступа к ячейкам памяти;

  • встроенная арбитражная логика.
  • IDT7052 IDT7054
    Bank-Switchable
  • 3.3В и 5В, х16, х18, х36, до 166МГц, до 9Мбит;

  • два независимых интерфейса для доступа к банкам памяти.

  • IDT70V7399
    IDT70V7319
    IDT707278
    IDT707288
    SARAM
  • 5В, х16, tA=20нс, до 128Кбит;

  • два независимых интерфейса для доступа к ячейкам памяти: синхронный интерфейс с последовательным доступом (FIFO) и асинхронный интерфейс с произвольным доступом (SRAM).

  • IDT70824 IDT70825


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

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

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

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


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

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

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

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

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

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

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


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

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


    Рис.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).


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

             Дополнительные функции. Большинство микросхем двухпортовой памяти поддерживает организацию обмена данными между шинами с разным форматом слова. Для этого в составе памяти предусмотрена возможность независимого обращения к байтам в слове данных. Требуемая разрядность шины данных каждого порта задается аппаратно с помощью специальных управляющих выводов. В качестве примера рассмотрим как реализована эта функция в микросхеме 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.

    © 1999-2016 All Right Reserved. EFO Ltd. При использовании материалов ссылка на источник обязательна.
    Контактная информация