Устройство и логика работы регистров параллельного действия
Устройство и логика работы регистров параллельного действия
Представьте, что процессору нужно мгновенно запомнить результат вычисления, состоящий из 8 нулей и единиц, чтобы использовать его в следующей операции. Базовые логические вентили (И, ИЛИ, НЕ) на это не способны — они лишь пропускают и преобразуют сигнал, но забывают его, как только напряжение на входе пропадает. Чтобы система обрела «кратковременную память», вентили объединяют в особые ячейки — триггеры, из которых затем собирают регистры.
Базовая ячейка памяти: D-триггер
Прежде чем собрать регистр, нужно понять устройство его главного строительного блока — D-триггера (от английского Data — данные). Это простейшая ячейка памяти, способная хранить ровно один бит информации (0 или 1).
У D-триггера есть три ключевых вывода:
- Вход (информационный) — сюда подается бит, который нужно запомнить.
- Вход (синхронизирующий, от слова Clock) — командный вход.
- Выход — здесь появляется и удерживается сохраненный бит.
Главное правило логики D-триггера: сигнал на выходе не реагирует на изменения входа до тех пор, пока на вход не поступит команда — синхроимпульс. Как только напряжение на входе делает скачок от 0 к 1 (этот момент называют передним фронтом импульса), триггер мгновенно «фотографирует» состояние входа и передает его на выход . После этого любые изменения на входе игнорируются до следующего синхроимпульса.
От одного бита к целому слову: параллельный регистр
Один триггер хранит лишь один бит. Но цифровые устройства работают со словами — группами по 4, 8, 16 или 32 бита. Чтобы запомнить целое слово, D-триггеры объединяют в единый блок, который и называется регистром.
Регистр называется параллельным, потому что все биты данных поступают в него и записываются одновременно, параллельно друг другу.
Архитектура такого регистра предельно лаконична:
- Если нам нужен 4-разрядный регистр, мы берем четыре D-триггера.
- У каждого триггера есть свой независимый информационный вход () и свой независимый выход ().
- Ключевой момент конструкции: все синхронизирующие входы соединены вместе в одну общую линию.
Именно общая линия синхронизации делает из набора разрозненных ячеек единый механизм. Когда по этой линии приходит импульс, все триггеры срабатывают в одну и ту же долю секунды, фиксируя многоразрядное слово целиком.
Алгоритм записи и хранения
Для успешного анализа работы параллельного регистра (что станет нашей главной задачей при чтении временных диаграмм) необходимо четко усвоить последовательность состояний.
Работа параллельного регистра всегда подчиняется строгому трехшаговому алгоритму:
- Подготовка (Установка данных). На входы подаются нули и единицы. В этот момент на выходе регистра ничего не меняется — он все еще хранит старые данные. Важное правило: новые данные должны стабилизироваться до прихода команды на запись.
- Запись (Защелкивание). На общую линию подается короткий импульс. В момент перехода сигнала из 0 в 1, все триггеры одновременно копируют значения со своих входов на выходы .
- Хранение. Сигнал на линии возвращается в 0. Теперь данные на входах могут исчезнуть или измениться — это ни на что не повлияет. Регистр будет стабильно выдавать записанное слово на выходах до тех пор, пока не придет новый синхроимпульс или пока не отключат питание.
Считывание данных из такого регистра не требует специальных команд: сохраненная информация постоянно присутствует на выходах и готова к передаче в другие узлы цифровой схемы.
Понимание того, что запись происходит мгновенно и только по фронту синхроимпульса, — это фундамент. Опираясь на него, мы сможем визуализировать эти процессы на графиках, но перед этим рассмотрим альтернативный способ загрузки данных — последовательный.