Двухпортовая SRAM
Двухпортовая SRAM (англ. Dual-Port SRAM) — это разновидность статической оперативной памяти (SRAM), которая позволяет двум независимым устройствам (например, двум процессорам или контроллерам) одновременно обращаться к одной и той же ячейке памяти по разным портам. В отличие от однопортовой SRAM, где чтение и запись возможны только последовательно, двухпортовая архитектура обеспечивает параллельный доступ, что существенно повышает производительность в многопроцессорных системах, коммуникационных устройствах и буферах FIFO.
Принцип работы
Двухпортовая SRAM построена на основе статической ячейки памяти, как правило, содержащей шесть или восемь транзисторов (6T, 8T). Ключевое отличие заключается в наличии двух независимых наборов управляющих линий, шин адреса и шин данных. Каждый порт имеет собственные сигналы выбора кристалла (CS), разрешения записи (WE), разрешения чтения (OE) и, в некоторых реализациях, сигналы контроля заполнения буфера. Это позволяет каждому порту выполнять операции независимо от другого.
Режимы доступа
- Чтение одного порта, запись через другой: Наиболее распространённый сценарий, используемый в видео- и сетевых буферах, где один процессор или контроллер DMA пишет данные, а другой читает.
- Одновременное чтение через оба порта: Возможно при обращении к разным ячейкам или при чтении одной и той же ячейки (данные будут доставлены обоим портам целостно).
- Одновременная запись через оба порта: При попытке записи разных данных в одну и ту же ячейку возникает конфликт. Современные микросхемы двухпортовой SRAM либо блокируют вторую запись (с индикацией ошибки через специальный вывод), либо используют арбитраж, при котором одна из транзакций откладывается.
Архитектура и организация памяти
Внутренняя организация двухпортовой SRAM во многом повторяет классическую матричную структуру запоминающих устройств, однако добавляет дублированные схемы:
- Декодеры адреса: Каждый порт имеет собственный декодер, преобразующий адресную шину в управляющие сигналы для выбора строки или столбца.
- Усилители считывания и буферы записи: Для каждого порта существуют отдельные усилители считывания (Sense Amplifier) и буферы данных, что исключает взаимное влияние.
- Матрица ячеек: Ячейки двухпортовой SRAM содержат больше транзисторов, чем однопортовые (обычно 8T вместо 6T), что увеличивает площадь кристалла, но обеспечивает изоляцию сигналов разных портов.
Виды двухпортовой SRAM по ширине шины
- Симметричная (транспарантная): Оба порта имеют идентичную разрядность (например, 16 бит каждый). Используется для общих задач.
- Асимметричная (с разными портами данных): Один порт может быть 32-битным, другой – 16-битным. Такая конфигурация востребована в системах с разной пропускной способностью (например, быстрый процессор и медленная периферия).
Применение
Двухпортовая SRAM широко применяется в областях, где требуется высокая скорость обработки данных и избежание простоев из-за блокировок памяти.
Сетевые коммутаторы и маршрутизаторы
В оборудовании связи двухпортовая SRAM используется для построения таблиц MAC-адресов и буферизации пакетов. Например, в коммутаторе Ethernet два порта позволяют одновременно записывать входящий пакет от одного порта и считывать ранее сохранённый пакет для отправки на другой. Это критически важно для работы на скорости линии (wire-speed).
Видео- и графические буферы
В системах отображения информации (графические карты, телевизионные тюнеры, системы машинного зрения) двухпортовая SRAM служит в качестве видеобуфера (VRAM). Один порт подключается к видеоконтроллеру, который последовательно считывает пиксели для вывода на экран, а через другой порт графический процессор обновляет содержимое буфера. Такая реализация предотвращает мерцание и разрывы изображения (tearing).
FIFO-буферы
Двухпортовая SRAM является основой для микросхем FIFO (First-In, First-Out — «первым пришёл, первым ушёл»). В такой конфигурации один порт всегда используется только для записи, а другой — только для чтения, что автоматически разрешает конфликты доступа. FIFO на двухпортовой SRAM применяется в последовательных интерфейсах, обработке потоковых данных и межпроцессорном взаимодействии.
Многопроцессорные системы и кэш-память
В многоядерных процессорах двухпортовая SRAM может использоваться для организации общей кэш-памяти (shared cache) или в качестве когерентного буфера. Одно ядро может записывать данные, а другое — считывать их, не дожидаясь завершения операции первого, что снижает задержки.
Преимущества и недостатки
Преимущества
- Параллелизм: Два независимых одновременных обращения повышают пропускную способность.
- Низкая задержка: В отличие от DRAM, SRAM не требует регенерации, поэтому задержка доступа составляет 1–2 такта.
- Нетребовательность к тактированию: Работает асинхронно по отношению к тактовым сигналам, что упрощает интеграцию.
- Энергонезависимость (в определённой степени): Данные сохраняются при отключении питания (при условии сохранения подачи напряжения на ячейки).
Недостатки
- Высокая стоимость на бит: Из-за большего количества транзисторов на ячейку (8T вместо 6T) стоимость производства выше, чем у однопортовой SRAM.
- Большая площадь кристалла: Двухпортовая SRAM занимает примерно на 30–50 % больше площади, чем однопортовая аналогичного объёма.
- Ограничения по ёмкости: Типичные микросхемы двухпортовой SRAM выпускаются объёмом до нескольких десятков мегабит, что ниже, чем у DRAM.
- Конфликты доступа: При одновременной записи в одну ячейку требуются дополнительные механизмы арбитража или блокировки.
Сравнение с другими типами памяти
| Параметр | Двухпортовая SRAM | Однопортовая SRAM | FIFO (на SRAM) |
|---|---|---|---|
| Количество портов доступа | 2 | 1 | 2 (фиксированная роль) |
| Максимальная частота | 200–400 МГц | 200–600 МГц | 200–400 МГц |
| Потребляемая мощность | Выше (дублирование схем) | Умеренная | Умеренная |
| Сложность управления | Средняя | Низкая | Низкая |
Производители
Основные мировые производители двухпортовой SRAM включают компании Cypress Semiconductor (ныне Infineon Technologies), Integrated Device Technology (IDT, также в составе Renesas), GSI Technology и Alliance Memory. Продукция этих компаний широко представлена на рынке сверхнадёжной электроники, телекоммуникационного оборудования и промышленных контроллеров.
Источники
- Hodges, D. A., Jackson, H. G., «Analysis and Design of Digital Integrated Circuits», McGraw-Hill, 2004.
- Техническая документация Cypress Semiconductor (Infineon) на семейство CY7C083xx.
- «SRAM Design. Dual-Port vs. Single-Port. A Comparison», GSI Technology Application Note, 2019.
- Weste, N., Harris, D., «CMOS VLSI Design: A Circuits and Systems Perspective», Addison-Wesley, 2010.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →