Краткие теоретические замечания
Регистр - функциональное устройство, предназначенное для приема и запоминания n - разрядного двоичного кода числа X1,X2,…,Xn, а также для выполнения ряда операций над этим кодом. Он представляет собой упорядоченную совокупность n - триггеров со схемами управления входными и выходными сигналами. Разрядность регистра n соответствует количеству используемом в нем триггеров. Каждый триггер регистра имеет прямой и инверсный выходы, используемые для получения прямого и инверсного кодов. В зависимости от назначения регистры делятся на следующие группы: накопительные, сдвигающие и регистры преобразования.
|
Накопительные регистры применяться для ввода, хранения и вывода двоичной информации. На рис.1 показана структурная схема накопительного регистра на асинхронных R,S - триггерах. Во входной цепи этой схемы используется группa конъюнкторов И1, а в выходном - две группы конъюнкторов И2, и И3 . Схема содержит четыре шины для подачи управляющих сигналов «Уст 0» - установки нуля, ПрИ приема информации, ВПрК - выдачи прямого кода числа ВОбрК - выдачи обратного кода. Представленная схема - пример накопительного регистра с параллельным (по всем разрядам) приемом и выдачей информации.
|
Наиболее распространенным видом регистрa является регистр сдвига. Он предназначен для выполнения операций сдвига кодa числа, т.е. для перемещения цифр кода числа в направлении от младших к старшим разрядам (сдвиг влево). В регистре сдвига кроме устройства передачи сигналов по входам и выходам (как и в накопительных регистрах) должны иметься внутренние связи, необходимые для передачи информации между разрядами. На рис.2 приведена структурная схема регистра сдвига на двухтактных синхронных J,K – триггерах. Причем, J и К - первого триггера соединены через инвертор. До записи все триггеры устанавливаются в нулевое состояние. Затем одновременно со стартовыми импульсами (синхроимпульсами), подаваемыми на вход С, на вход подается серия импульсов, соответствующая двоичному коду записываемого числа (первым поступает импульс, соответствующий младшему разряду записываемою числа). В конце первого тактового импульса этот сигнал появляется на выходе Q1первого триггера. В конце второго тактового импульса этот сигнал продвигается на выход Q2второго триггера и т.д. Одновременно продвигается вправо и другие цифры записываемого числа. После окончания п-го тактового импульса все п - разрядное число будет записано в птриггерах регистра (старший разряд числа в крайнем левом триггере, младший - в правом). Чтобы информация сохранилась, дальнейшая подача тактовых импульсов прекращается. Выше описан последовательный приём информации. Последовательная выдача информации осуществляется с выхода Qnв результате подачи на С - вход ещё п тактовых импульсов.
Если после записи числа в регистр подать k тактовых импульсов, то произойдёт сдвиг кода двоичного числа на k разрядов вправо.
В регистре на J, K -триггерах можно осуществлять и параллельный ввод информации (с ее одновременной подачей на выводы предустановки соответствующих триггеров) и параллельную выдачу информации (с её одновременным съёмом с выходов всех триггеров), т.е. описываемый регистр может выполнять функции преобразователя кодов информации в параллельный и наоборот.
Сдвиг кода числа влево на один разряд соответствует умножению этого числа на 2, сдвиг вправо - делению. Умножение двух чисел, “столбиком” производится путём сложения частных произведений, сдвинутых поразрядно влево. Выше уже отмечалось, что сдвиг кода числа на k разрядов осуществляется и регистре сдвига за k тактов путём последовательной подачи k тактовых импульсов.
Таким образом, регистр сдвига – обязательное функциональное устройство, обеспечивающее возможность умножения и деления заданных чисел.
Схема трёхзарядного кольцевого регистра, предназначенного для оперативного хранения и сдвига в одну сторону информации (трёхзарядного члена), которая вводится и считывается параллельно, показана на рис.3. Триггеры ТГ1, ТГ2 и ТГЗ – составляющие этот трёхзарядный регистр, симметричные, одинаковые. Поэтому элементы схемы, выполняющие одну и ту же функцию в каждом триггере, имеют одинаковые обозначения. Кнопочные микропереключатели П1 и П2, с самовозвратом нормально разомкнутого контакта, служат для установки триггеров в необходимые состояния, т.е. для записи числа в регистр. Тумблер П3 служит для запуска генератора сдвигающего импульса (ГСИ), выполненного с использованием четвёртого триггера (на транзисторах VT3, VT4,) и эмиттерном повторителе (транзистор ТV5).
Регистр замкнут в кольцо. Все его триггеры относительно друг друга включены последовательно, т.е. входы каждого последующего триггера (диоды VД1, VД2) управляются сигналами, поступающими с выходов каждого предыдущего триггера через резисторы R7 и R8. Причём для первого триггера ТГ1 предыдущим является третий триггер ТГЗ.
Условимся за нулевое состояние триггера считать такое, при котором его транзистор VT2 открыт, а за единичное состояние – такое, когда транзистор VT1 открыт.
Специально отметим, что конденсаторы С1 и С2 выполняют функции своеобразного устройства "памяти" схемы. Если предыдущий триггер был в единичном состоянии, то заряжен конденсатор С1(С2- разряжен), если и нулевом состоянии, то заряжен, наоборот, конденсатор С2(С1 разряжен). Импульс сдвига может пройти только через разряженный конденсатор. Вот почему состояние каждого триггера после действия сдвигающего импульса определяется предшествующим состоянием каждого предыдущего триггера. Тем самым устанавливается внутренняя связь триггеров.
Пусть все триггеры находятся в нулевом состоянии. Тогда транзисторы VT1, каждого триггера закрыты и конденсаторы С2 заряжены до напряжения на коллекторе закрытого транзистора VTI предыдущего триггера через резисторы R7. Следовательно, потенциал обкладки этих конденсаторов, соединённый с анодом диода, отрицателен относительно нуля схемы. Конденсаторы С1 при этом разряжены. При переключении тумблера П3 (вправо - влево) ГСИ на выходе диода VДЗ выделяет короткий импульс положительной полярности (сдвигающий импульс), который поступает одновременно на все конденсаторы С1 и С2. Т.к. конденсаторы С2 заряжены и на аноде диодов VД2 большое отрицательное напряжение, а конденсаторы С1 разряжены и на анодах диодов. VД1 напряжение близкое к нулю, положительный импульс сдвига поступает только на базы транзисторов VT1. В силу того, что эти транзисторы были закрыты, сдвигающий импульс не изменит состояния регистра.
детали схемы (рис.3).
Транзисторы VT1 - VT4: МП42А; VT5: ГГ402В. Диоды VD1-3: Д9Д. Конденсаторы С1 и С2: МБМ-160-0,05 мкФ ±10%; СЗ: МБМ-160-0,5 мкФ ±10%. Резисторы R5, R6, R17 и R18: МЛТ-0,5-3,9 кОм ± 5%; R1 – R4, R14 – R16 и R19: МЛТ-1,0-820 Oм ± 5%; R7 и R8: МЛТ-0,5-3 кОм ± 5%; R9 – R10: МЛТ-0,5-100 кОм ± 5%; R11 и R12: WTT-0,5-2 кОм ± 5% и R13: МЛТ-0,5-200 Oм ± 5%.
Предположим теперь, что во втором триггере записана 1, а в первом и третьем - 0. Теперь положительный сдвигающий импульс проходит через разряженные конденсаторы С1 на базы транзисторов VT1 первого и второго триггеров и через разряженный конденсатор С2 третьего триггера на базу транзистора VT2 этого триггера. В результате первый триггер остаётся в нулевом состоянии, второй - перейдёт в нулевое, а третий - в единичное состояние. Приходом второго запускающего импульса уже первый триггер перебросится в состояние “1”, второй будет по - прежнему фиксировать “0”, а третий перейдет в нулевое состояние. С приходом третьего – сдвигающего, импульса регистр займёт исходное состояние “010”.
Из анализа работы регистра видно, что с приходом очередного сдвигающего импульса, каждый триггер перебрасывается в то состояние, которое имел предыдущий триггер до прихода сдвигающего импульса, что и требуется от регистра сдвига.
В рассмотренной схеме осуществляется сдвиг двоичного кода записанного в регистре числа вправо. Если резисторы R7 и R8 отсоединить от коллекторов транзисторов предыдущего триггера и присоединить к коллекторам транзисторов последующего триггера, то сдвиг кода, записанного в регистре, будет происходить влево.