Регистры и межрегистровые связи
Регистры состоят из разрядных схем, число которых соответствует разрядности обрабатываемых слов. В каждом разряде регистра имеется триггер и чаще всего логические элементы.
Регистры выполняют ряд микроопераций над словами. К I группе микроопераций отнесем те, которые связаны с приемом слова (установим в ноль или единицу, прием слова в прямом или обратном коде). Принятые данные хранятся в регистре, пока не поступит команда на их смену.
II группа операций – выдача слов из регистра в прямом или обратном коде.
III группа – выполнение поразрядных логических операций над несколькими словами,
IV – сдвиг слов в разрядной сетке (влево или вправо) на то или иное количество разрядов, а также преобразование последовательности кода слова в параллельный и обратно.
Наиболее удобны триггеры D, RS, JK.
Регистры классифицируются:
- по способам приема и выдачи данных;
- параллельны (статические);
- последовательные (сдвигающие);
- параллельно-последовательные.
В параллельных регистрах прием и выдача слов производится по всем разрядам одновременно, их основная функция – хранение слова. В них осуществляются поразрядные операции над словами.
В последовательных регистрах слова принимаются и выдаются разряд за разрядом, их называют сдвигающими, поскольку тактирующие сигналы перемещают слово в разрядной сетке. Различают нереверсивные и реверсивные регистры.
Последовательно-параллельные регистры имеют одновременно входы последовательного и параллельного приема (выдачи) слова и могут выполнять взаимные преобразования последовательных слов в параллельные и наоборот.
По количеству каналов передачи данных различают парафазные и однофазные регистры. В парафазных величины передаются по двум цепям каждая, то есть каждый разряд передается в виде прямого значения переменной и ее инверсии ; а в однофазных – только по одной цепи или .
Параллельные (статические) регистры.
Состоят из разрядных схем, не связанных между собой и не выполняют операций 4-ой группы (сдвиги).
Параллельный регистр с однофазным выходом и входом:
Принимает слово за два такта – на первом такте все триггеры устанавливаются в нулевое состояние, на втором – переключаются в единичное состояние, то есть триггеры, для которых по входам поступают нулевые сигналы.
Регистр с парафазным входом:
Имеет по сравнению с предыдущей схемой вдвое больше входных цепей, однако позволяет принять слово быстрее, так как предварительная установка в нулевое состояние здесь не требуется: при парафазных входах каждый из триггеров получит по одному из входов нулевой сигнал, то есть будет установлен в нулевое состояние независимо от исходного.
Если вместо RS триггеров в данной схеме применить триггер типа D, получим схему с однофазным входом и записью без предварительного сброса триггеров в нулевые состояния.
Разряд схемы, осуществляющий парафазный прием слов с двух направлений:
По такту С1 принимается код , по С2 – код .
Пример условного обозначения статического регистра:
Регистр имеет инверсный вход установки нуля, инверсный однофазный вход и парафазный выход.
Последовательный, или сдвигающие регистры представляют собой цепочку взаимосвязанных разрядных схем. Здесь для простоты в условном обозначении будем давать сведения только о логическом типе триггера.
Структура однотактного сдвигающего регистра со сдвигом на один разряд вправо:
Подача на вход «сдвиг» единицы приводит к сдвигу слова. Вход и выход являются последовательными, но вместе с тем в схеме могут быть параллельные входы и выходы, организация которых аналогична применяемой в статических триггерах.
Работа схем на D, RS и JK триггерах понятна из рисунка. Схема на D триггерах более экономична по числу связей. Парафазные связи в схемах на RS и JK могут обеспечивать более устойчивую помехоустойчивость. Быстродействие регистра непосредственно определяется временными характеристиками используемых триггеров.
Схема регистра на D триггерах со сдвигом влево:
Принцип построения реверсивного регистра: в нем имеются одновременно связи триггеров с соседними разрядами (левым и правым), эти связи управляются сигналами влево и вправо, но активизируются одновременно лишь одни связи, другие при этом блокируются.
Со всех триггеров берутся инверсные выходы, так как вентили передачи сигналов на элементах И-ИЛИ-НЕ обладают инвертирующими свойствами.
Конкретизация рассмотренных структур состоит в использовании в них определенных триггеров.
Ясно, что в сдвигающем регистре нельзя применять простые тактируемые RS триггеры, управляемые уровнем, поскольку пока действует сигнал «сдвиг» передача данных из разряда в разряд будет происходить безостановочно и триггеры могут переключаться многократно, тогда как требуется сдвиг на один разряд.
При использовании двухступенчатых триггеров положительный полутакт сигнала С позволяет входным ступеням триггеров принять информацию от соседних триггеров, но далее процесс не распространяется, так как передача состояний входных ступеней выходным заблокирована. При смене положительного полутакта С на нулевой, новая информация появится в выходных ступенях триггера, но далее не пройдет – прием информации входными ступенями заблокирован. Таким образом происходит сдвиг слова на один разряд.
При использовании триггеров с динамическим управлением возникает проблема временных состязаний сигналов. Тем не менее триггеры с динамическим управлением применяют в сдвигающих регистрах, опасность сбоев уменьшают, например, увеличивая задержку сигналов (путем включения в цепях межразрядных связей логических элементов).
Последовательно-параллельные регистры преобразуют код (последовательный прием – параллельная выдача, либо параллельный прием – последовательная выдача).
Если необходим сдвиг не на один, а на несколько разрядов, то обычным сдвигающим регистром это решается за число тактов, равное числу разрядов при сдвиге. Более быстрым алгоритмом работы отличаются специальные сдвигатели кодов.