Дата публикации: | Версия: 1.0 | Статус: Актуально
Описание
Регистр процессора — это базовый блок памяти нулевого уровня, предназначенный для хранения машинного слова (набора битов) и обеспечения быстрого доступа к нему арифметико-логическим устройством (АЛУ). В основе любого регистра лежит электронная схема триггера (flip-flop) — бистабильного устройства, способного устойчиво находиться в одном из двух состояний, кодирующих бинарные «0» и «1».
Фундаментальная ячейка: RS-триггер на двух инверторах
Классическая схема статического регистра (SRAM-ячейка) строится на двух перекресточно соединенных инверторах. Эта схема формирует замкнутую петлю положительной обратной связи.
- Принцип действия: Выход первого инвертора подключен ко входу второго, а выход второго — ко входу первого. Это создает два устойчивых состояния.
- Запись информации: Для переключения состояния используются управляющие транзисторы (ключи), которые принудительно устанавливают потенциалы на входах инверторов, «перебивая» обратную связь.
- Чтение: Осуществляется через те же или отдельные разрядные шины (bit lines) путем сенсирования напряжения.
Тактовые и асинхронные регистры
В зависимости от способа синхронизации выделяют:
- Асинхронные (проводнические) регистры: Данные проходят сквозь схему сразу после подачи управляющего сигнала (например, сигнала «Запись» / Write Enable). Пример: регистры процессора ЕС-1020, где занесение в регистры выполнялось с выхода БА (блока адресации) под управлением поля С микрокоманды по тактовому импульсу ТИ4 (в конце такта). На функциональных схемах таких машин часто не показывают тактовый сигнал явно, используя лишь управляющие сигналы вида «РМ:С» (Регистр Машинный: Запись).
- Синхронные (тактовые) регистры: Данные защелкиваются строго по фронту (или спаду) тактового сигнала CLK. Реализуются на D-триггерах (D-flip-flops), которые являются стандартом в современных процессорах (x86, ARM, RISC-V).
Архитектура регистрового файла (Register File) и многопортовость
Современные сверхскалярные процессоры (например, Intel 8086 и его потомки x86-64) требуют одновременного чтения нескольких операндов и записи результата за один такт. Это привело к развитию многопортовых регистровых файлов.
- Базовая ячейка (1R1W): Один порт чтения, один порт записи. Два управляющих сигнала (Word Line Read, Word Line Write) и одна разрядная шина.
- Многопортовая ячейка (например, 3R2W): Содержит три разрядные шины для чтения и пять управляющих шин (линий выбора слова для чтения и записи). Сложность схемы растет квадратично от количества портов, поэтому в передовых процессорах встречаются файлы с 20+ портами, что требует специализированных топологий компоновки (layout).
Специализированные схемы регистров
Помимо общего назначения (GPR), существуют схемы для специальных целей:
- Сдвиговые регистры (Shift Registers): Включают комбинационную логику для сдвига битов влево/вправо между тактами (умножение/деление на 2, последовательные интерфейсы).
- Счетчики (Counters): Регистры с встроенным инкрементором/декрементором (Program Counter, Stack Pointer).
- Векторные/СИМД регистры (AVX/SSE/NEON): Физически представляют собой банки 128/256/512-битных ячеек, часто организованные в «половины» (lanes) для параллельной обработки. В x86-64 один 128-битный регистр (XMM) может быть настроен как: 4×32-bit float, 2×64-bit double, 16×8-bit int, 8×16-bit int, 4×32-bit int, 2×64-bit int или 1×128-bit int.
- Маскированные регистры (k-registers в AVX-512): Отдельные небольшие регистровые файлы для хранения предикатов.
Физическая реализация: CMOS-технология
В современной микроэлектронике (FinFET, GAA) регистр реализуется на CMOS-транзисторах.
- Pull-up сеть (PMOS): Заряжает емкость узла до VDD.
- Pull-down сеть (NMOS): Разряжает емкость узла до GND.
- Pass-транзисторы (Access transistors): Изолируют ячейку от шин битлайн при удержании и соединяют при доступе.
- Проблемы: Утечки тока (subthreshold leakage, gate leakage), мягкие ошибки (Soft Errors) от ионизирующих частиц, метки процесса (process variation). Решаются техниками: Power Gating, Retention Flip-Flops, ECC (Error Correction Code) для регистровых файлов.
Контакты для обращений
По вопросам технической консультации, сотрудничества и предоставления справочной информации по архитектуре вычислительных систем:
- Головной офис (Научно-исследовательский институт микроэлектроники): г. Москва, ул. Академика Королева, д. 12, стр. 3
- Отдел технической поддержки документации: support@cpu-archives.ru
- Пресс-служба: press@cpu-archives.ru
Официальный сайт
Основной портал: https://www.cpu-archives.ru
Техническая база знаний (Wiki): https://wiki.cpu-archives.ru/registers
Репозиторий схем (Open Hardware): GitHub Organization
Горячая линия
Единый номер для срочных запросов по функционированию аппаратного обеспечения и схемотехнике:
8-800-555-REG-01 (8-800-555-734-01)
Режим работы: Понедельник – Пятница: 09:00 – 18:00 (МСК)
Автоинформатор: Круглосуточно (IVR-меню по разделам: 1 — Библиотека схем, 2 — Тайминги, 3, Энергопотребление)
Номера телефонов
| Подразделение | Номер телефона | Внутренний добавочный |
|---|---|---|
| Приемная комиссия / Справочное бюро | +7 (495) -23-45-67 | 0 |
| Отдел схемотехники регистровых файлов | +7 (495) -23-45-68 | 101 |
| Лаборатория низкоуровневой верификации (DV) | +7 (495) -23-45-69 | 205 |
| Группа физического проектирования (Physical Design / Layout) | +7 (495) -23-45-70 | 310 |
| Служба архива исторических архитектур (ЕС, 8086, RISC) | +7 (495) -23-45-71 | 404 |