Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Лекция 4 Регистры.doc
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
1.89 Mб
Скачать

Практическое применение регистров

Одно из основных применений регистров состоит в хранении требуемого кода в течение нужного времени. Если для работы остальной части схемы необходимо иметь входной код, который можно легко изменять, то для этого как раз подходит регистр.

На рис. 16 показана типичная схема включения регистра для хранения кода и временная диаграмма его работы. Код на входе регистра может изменяться произвольным образом, но в тот момент, когда этот код принимает необходимое значение, на вход С триггера подается синхросигнал (строб), который запи­сывает код в регистр. Этот код будет храниться в регистре до прихода следующего строба. Причем важно и то, что все разряды выходного кода регистра будут переключаться одновременно даже в том случае, когда разряды входного кода переключаются не одновременно. Главное, чтобы к приходу положительного фронта строба (сигнала С) все разряды входного кода приняли нужное, устойчивое значение.

Рис. 16. Хранение кода в параллельном регистре.

Еще одно важнейшее применение регистров связано с запоминанием нескольких последовательных значений изменяющегося входного кода. Это позволяет, например, сравнивать предыдущее значение кода с последующим значением этого же кода или производить арифметические операции над не­сколькими последовательными значениями одного и того же кода. То есть регистр в данном случае выступает как элемент линии задержки, хранящей в себе историю поведения входного кода.

Для примера на рис. 17 показана схема вычисления разности двух последовательных значений входного кода. Такая задача возникает в частности при цифровой обработке аналоговых сигналов. Последовательные значения входного 4-разрядного кода сопровождаются тактовым сигналом, по положительному фронту которого производится запись в два последовательно включенных регистра. Когда на выходе регистра RG1 присутствует N-e значение входного кода, на выходе регистра RG2 будет (N-l)-e значение этого же кода.

Рис. 17. Схема вычисления разности значений кодов в двух последователь­ных тактах.

Подавая эти два кода с выходов регистров на 4-разрядный сумматор, включенный в режиме вычитания, мы получаем на выходе сумматора код разности между N-м значением и (N-l)-M значением. В данном случае очень удобен регистр ТМ8, имеющий инверсные выходы. Для обеспечения строго одновременного изменения выходных сигналов сумматора можно включить дополнительный выходной регистр RG3, тактируемый тем же самым общим тактовым сигналом. Правда, код разности при этом будет задержан на один такт.

Регистры также широко используются для организации конвейерной обработки, позволяющей существенно повысить тактовую частоту работы схемы. Ускорение при этом достигается за счет распараллеливания работы нескольких последовательно включенных узлов схемы.

Пусть, например, последовательность входных кодов, следующих с периодом Т, поступает на вход цепочки из двух узлов, производящих обработку или преобразование этих кодов (рис. 18). Узлы эти могут представлять собой комбинационные микросхемы (например сумматоры) или более сложные устройства, включающие в себя микросхемы счетчиков или микросхемы памяти. Главное состоит в том, что выходные сигналы этих узлов выставляются не мгновенно, а в течение какого-то конечного времени, величина которого определяется внутренним строением узла. Пусть задержка установления выходного кода первого узла равняется t1, а задержка установления выходного кода второго узла составляет t2. Очевидно, что период следования входных кодов Т не должен быть меньше, чем сумма этих двух задержек:

Т > t1+t2

Иначе код на выходе цепочки может никогда не принять устойчивого значения, так как переходный процесс предыдущего такта будет сменяться переходным процессом следующего такта. То есть быстродействие узлов накладывает жесткое ограниче­ние на тактовую частоту.

Рис. 18. Работа последовательной цепочки двух узлов.

Однако можно обойти это ограничение, если воспользоваться принципом конвейера, заставить узлы работать не последовательно, а параллельно. Это достигается включением между узлами регистра, тактируемого входным тактовым сигналом. Еще один регистр целесообразно включить на входе второго узла, что обеспечит длительность устойчивого кода на выходе всего устройства, равную длительности периода тактового сигнала Т (рис. 19). В результате ограничение на период тактового сигнала становится более мягким: Т не должно быть меньше максимальной из двух величин t1 и t2 с добавлением времени задержки регистра:

Т > max {t1,t2} + tRG.

То есть к следующему фронту тактового сигнала должен закончить свою работу самый медленный из узлов, и тогда его выходной код будет записан в регистр правильно.

Рис. 19. Конвейерная обработка с помощью регистров.

Точно так же можно построить конвейер на любое количество последовательно включенных узлов. Конечно, в результате введения конвейера происходит задержка выполнения полной функции устройства на число тактов, равное числу введенных регистров. Однако в том случае, когда необходимо обрабатывать большие последовательности входных кодов, эта задержка наблюдается только один раз — в самом начале последовательности, а затем уже она не имеет значения.

Регистры могут также применяться в составе вычислителей, выполняя функцию накопителя результата вычислений. В данном случае мы уже имеем дело с более сложной обработкой информации, чем в случае чисто комбинационных схем. С каждым тактом в регистре обновляется содержимое, являющееся результатом математической обработки входного кода и результата предыдущего вычисления.

Преобразование параллельного кода в последовательный

Рисунок 20. Преобразование параллельного кода в последовательный

D1 – вход последовательных данных,

D0…D3 – вход параллельного кода,

L – загрузка параллельного кода,

C – синхроимпульс для сдвига информации в регистре,

V – схема деления частоты и синхроимпульса,

1 – синхроимпульс параллельный данным от источника данных.

Преобразователь параллельного кода в последовательный с использованием мультиплексора

Рисунок 21 – Преобразователь параллельного кода в последовательный с использованием мультиплексора

На вход мультиплексора данные необходимо подавать на протяжении четырех периодов следующих синхроимпульсов, за это время на выходе мультиплексора по очереди появятся последовательности данных. После завершения считывания можно подать другую информацию. Параллельный код преобразуют в последовательный, чтобы уменьшить количество линий ghb передаче информации от одного устройства к другому.

Преобразование последовательного кода в параллельный

Рисунок 22 – Преобразование последовательного кода в параллельный

СИ1 формируется через каждые четыре импульса СИ. За четыре такта вся информационная последовательность кода вводится в регистр, как только она будет введена (сразу после окончания четвертого синхроимпульса) можно осуществить запись во второй регистр на выходе которого и будет сформирован параллельный код. Длина регистра определяется длиной кода.

Передача данных в последовательном коде

В качестве примера на рис. 23 показана простейшая схема передачи цифровой информации в последовательном коде по двум линиям: информационной и синхронизующей. Такая пере­дача позволяет сократить количество соединительных проводов, а также упростить защиту передаваемых данных от действия внешних электромагнитных помех, правда, ценой снижения скорости передачи.

Рис. 23. Последовательная передача информации с помощью регистров сдвига.

На передающем конце (слева на рисунке) с помощью сдви­гового регистра ИР9 входной параллельный 8-разрядный код преобразуется в последовательность разрядов данных, следую­щих с частотой тактового сигнала. На приемном конце (справа на рисунке) с помощью сдвигового регистра ИР8 эта последова­тельность разрядов данных снова преобразуется в параллельный код. Оба регистра тактируются одним и тем же тактовым сигна­лом, который передается по линии связи параллельно с после­довательностью данных. Для увеличения надежности передачи информационный сигнал дополнительно задерживается относи­тельно фронта тактового сигнала с помощью цепочки из двух инверторов.

Первый бит последовательного входа (со входа 7 регистра ИР9) начинает передаваться с началом сигнала записи -Зап. Следующие разряды передаются с каждым следующим положи­тельным фронтом тактового сигнала С. Последним передается сигнал со входа 0. В регистр ИР8 разряды последовательного кода записываются в том же самом порядке, в каком они были в регистре ИР9. По окончании передачи первый переданный сиг­нал данных, окажется в разряде 7 шины данных регистра ИР 8, а последний переданный сигнал данных — в разряде 0.