Н. — Охотно соглашусь, что все именно так и произойдет. Но чего ты добился таким любопытным маневром?
Л. — Очень просто, показания каждого триггера до возврата на нуль теперь переместились на соседний с ним триггер (в направлении справа налево). Если, например, я послал импульс на Е 1 и Е 2 , но не дал его на Е 3 , то первоначально я получу выходное напряжение на S 1 и S 2 , но его не будет на S 3 . Пошлем теперь импульс сброса на нуль. Опрокинувшись в положение нуль, триггеры В 1 и В 2 возбудят элементы задержки D 1 и D 2 . Триггер же В 3 все время находился в положении нуль и на него сигнал сброса на нуль не окажет никакого воздействия. Следовательно, он не возбудит элемента задержки D 3 . Немного позднее, когда элементы задержки D 1 и D 2 выдадут свои импульсы, возвращенный на нуль триггер В 2 опрокинется в положение 1 и оставшийся все время в положении нуль триггер В 3 также опрокинется в положение 1 . Следовательно, теперь мы получим напряжение на входах S 3 и S 2 , а выход S 1 останется без напряжения. Если раньше наш регистр показывал число 011, то теперь он показывает 110. Мы переместили его показания на один знак влево, а на освободившееся справа место вписали нуль.
Н. — Если подобную операцию проделать с десятичным числом, т. е. сместить все цифры на один знак влево и справа приписать нуль, то исходное число увеличится в 10 раз. Но сейчас мы имеем дело с двоичным числом, и я не представляю, какой результат дает эта операция.
Л. — Но это очень просто — число умножается на 2. В этом заключается первая возможность нашей системы. Каждый посылаемый на провода Z импульс удваивает первоначально записанное число. Но наш сдвигающий регистр обладает еще более интересными возможностями. Посмотри, какие импульсы выдаст триггер В 3 после трех последовательных сбросов на нуль с помощью подачи импульсов на вход Z .
Преобразование параллельного представления числа в последовательное
Н. — Чтобы мне было легче ориентироваться, я попробую разобраться на уже рассматривавшемся нами случае с первоначально записанным числом 011. Первый поданный на вход Z сигнал изменяет нашу запись на 110, но, как я полагаю, при этом мы должны учитывать и то обстоятельство, что триггер В 3 не даст импульса, ибо он переключается из положения 0 в положение 1.
Л. — В самом деле он дает только положительный импульс, который мы задерживаем с помощью диода. Следовательно, на выходе триггера В 3 ничего нет. А что произойдет при следующем сбросе на нуль?
Н. — О, теперь это ужасно сложно! Как я вижу, триггер В 2 , находящийся в положении 1, под воздействием импульса Z опрокинется в положение нуль. По-моему, он должен дать на выход импульс, потому что нас интересуют только импульсы, соответствующие переходу на нуль. Импульс с триггера В 2 поступает на элемент задержки D 2 , откуда он через некоторое время поступает на триггер В 3 и переключает его на 1 . Но я не очень хорошо представляю, что в итоге получилось.
Л. — В итоге мы получили импульс с триггера В 3 и записанное на регистре число превратилось в 100. При третьем переключении регистра на нуль мы вновь получим импульс с триггера В 3 , потому что он переходит на нуль из положения 1 . Теперь уже ни один триггер не может переключиться в положение 1, так как запись постепенно перемешалась и в результате полностью вышла за пределы регистра.
Н. — Но это более чем странно! Трехкратным переключением на нуль ты выталкивал цифру за цифрой записанное в регистре число. Только вытолкнул его не в том направлении, которое нам нужно; сначала мы получили отсутствие импульсов (цифра четверок), затем получили один импульс (цифра двоек) и, наконец, еще один импульс (цифра единиц).
Л. — Совершенно верно, мы цифру за цифрой вытолкнули наше число с того места, где оно было записано. Иначе говоря, на выходе S 3 мы получили наше число в последовательной форме. Ты правильно заметил, что выходящее из регистра число заканчивается единицами. При желании получить его единицами вперед, следует записать число на трех триггерах в обратном порядке: единицы подать на вход Е 3 , двойки — на вход Е 2 и четверки — на вход Е 1 .
Читать дальше