1. Фундаментальные характеристики регистров и организация регистровых файлов в цифровых системах
Фундаментальные характеристики регистров и организация регистровых файлов в цифровых системах
Вычислительная система, состоящая исключительно из комбинационных логических вентилей, способна мгновенно преобразовывать входные сигналы в выходные, но абсолютно не способна «помнить» промежуточные результаты. Для реализации любого алгоритма, отличного от тривиального сквозного вычисления, требуется введение переменной времени и концепции внутреннего состояния. Этот переход знаменует границу между комбинационной и последовательностной схемотехникой, где фундаментальным строительным блоком выступает регистр.
Математическая модель последовательностного устройства
В комбинационных схемах выходной вектор в любой момент времени однозначно определяется текущим входным вектором . Математически это описывается системой булевых функций:
Последовательностные логические устройства (цифровые автоматы) содержат элементы памяти, образующие петлю обратной связи. Их поведение зависит не только от текущих входов, но и от предыстории системы, которая аккумулируется в векторе внутреннего состояния . Функционирование такого устройства описывается системой из двух уравнений (модель автомата Мили):
Здесь — дискретное время, задаваемое тактовым генератором (clock), — функция выходов, а — функция переходов. Вектор физически хранится в регистрах.
!Структурная схема цифрового автомата Мили
Регистр как базовый узел хранения
Регистр представляет собой упорядоченную совокупность триггеров (flip-flops), объединенных общей системой управления (синхронизации, сброса, разрешения записи) и предназначенных для приема, хранения и передачи машинного слова.
Фундаментальные характеристики регистра
Нарушение условий или приводит к метастабильности — состоянию, при котором напряжение на выходе триггера зависает между логическим нулем и единицей, что вызывает непредсказуемое поведение всей цифровой системы.
!Временная диаграмма записи в регистр и метастабильность
Минимальный период тактового сигнала для синхронной схемы, состоящей из двух регистров и комбинационного облака между ними, строго ограничен неравенством:
Где — максимальная задержка комбинационной логики, а — перекос тактового сигнала (разница во времени прихода фронта на разные регистры).
Организация регистровых файлов
В сложных цифровых автоматах, таких как микропроцессоры, использование разрозненных регистров неэффективно. Процессору требуется регулярная структура, к которой можно обращаться по числовому индексу (адресу). Такая структура называется регистровым файлом (Register File, RF).
Регистровый файл — это двумерный массив триггеров размерностью , где — количество машинных слов (глубина), а — разрядность каждого слова (ширина). Отличительной особенностью регистрового файла от обычной статической памяти (SRAM) является наличие нескольких независимых портов чтения и записи, позволяющих выполнять несколько микроопераций за один такт.
Архитектура портов доступа
Классический регистровый файл RISC-архитектуры имеет два порта чтения и один порт записи (конфигурация 2R1W). Это обусловлено тем, что большинство арифметико-логических инструкций требуют двух операндов и генерируют один результат (например, ADD R1, R2, R3 означает ).
Интерфейс такого регистрового файла включает:
!Внутренняя структура многопортового регистрового файла
Логический синтез порта записи
Запись в регистровый файл осуществляется путем маршрутизации сигнала разрешения записи на синхровход (или вход разрешения) строго одного регистра, выбранного адресом . Для этого применяется дешифратор (Decoder).
Рассмотрим математическую модель порта записи для файла из 4 регистров (). Адрес записи состоит из двух бит: и . Дешифратор преобразует этот двоичный код в унитарный код (one-hot), активируя одну из четырех линий выборки :
Итоговый сигнал разрешения записи для конкретного регистра формируется конъюнкцией:
Входные данные подаются параллельно на информационные входы всех регистров, но по фронту состояние изменит только тот регистр, для которого .
Логический синтез портов чтения
Чтение из регистрового файла является строго комбинационной операцией (асинхронной по отношению к тактовому сигналу). Данные на выходах появляются спустя задержку распространения после установки адреса чтения .
Выбор данных осуществляется мультиплексорами (Multiplexers). Для порта чтения шириной бит требуется мультиплексоров размерности .
Логическая функция одного бита на выходе первого порта чтения описывается дизъюнкцией конъюнкций:
Где — -й бит -го регистра, а выражение реализуется внутренним дешифратором мультиплексора.
Аппаратные ограничения и масштабирование
Проектирование регистровых файлов сталкивается с жесткими физическими ограничениями при увеличении числа портов (). Площадь кристалла, занимаемая регистровым файлом, растет пропорционально , так как каждый дополнительный порт требует прокладки новых горизонтальных шин данных и вертикальных шин управления внутри каждой ячейки памяти (триггера). Задержка чтения также нелинейно возрастает из-за увеличения паразитной емкости длинных линий связи внутри массива мультиплексоров.
По этой причине в современных суперскалярных процессорах редко применяются монолитные регистровые файлы с количеством портов больше 10-12. Вместо этого используются методы кластеризации, дублирования регистровых файлов или банкирования (разделения на независимые банки четных и нечетных адресов), что позволяет снизить сложность коммутационной матрицы при сохранении высокой пропускной способности.
Математический аппарат булевой алгебры и понимание временных ограничений (, ) позволяют инженеру точно рассчитывать предельные частоты работы регистровых структур. Переход от одиночных триггеров к многопортовым массивам памяти формирует базис для построения трактов данных (datapath) любой вычислительной архитектуры, обеспечивая одновременную подачу операндов на исполнительные устройства и сохранение результатов вычислений без возникновения структурных конфликтов.