Л. — Для устранения такой неуверенности используют средство, хорошо известное всем спортсменам. Что делают, чтобы заставить всех бегунов на 100 м одновременно начать бег?

Н. — Поручают стартеру дать выстрел из пистолета.

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

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

Сдвигающий регистр

Л. — Это всего лишь привычка, но ты же прекрасно знаешь, что выполнение ряда арифметических операций, таких как сложение и умножение, всегда начинают с единиц. Для удобства работы электронных вычислительных машин с этими последовательными числами лучше подавать эти числа единицами вперед. Что же касается самой приятной стороны последовательного способа представления числа — возможности обходиться одним проводом, то нельзя забывать, что за это положительное качество приходится мириться с двумя недостатками: во-первых, передача занимает больше времени; во-вторых, манипулировать полученным числом не так легко. А теперь рассмотрим, как устроено главное, как бы ключевое устройство электронных вычислительных машин, которое называют сдвигающим регистром. Это своеобразная запоминающая скамья, по которой можно перемещать число на одну метку — разряд (за один прием).

Н. — Как ты намереваешься сделать это запоминающее устройство? К тому же мне думается сдвигать записанное число исключительно трудно.

Л. — На рис. 130 я нарисовал схему трех каскадного сдвигающего регистра.

Электроника?.. Нет ничего проще! - _476.jpg

Рис. 130. Структурная схема сдвигающего регистра; схема способна запомнить двоичное число, которое подается на входы Е. Импульс, подаваемый на вход Z, «продвигает» записанное число влево.

Как ты видишь, она представляет собой повторное использование определенного базового элемента. Этот базовый элемент содержит триггер, на один из его входов сигнал подается прямо, а на другой — через элемент ИЛИ. Выходное напряжение триггера преобразуется в импульсы и подается на элемент задержки, обозначенный на рисунке буквой D. Роль элемента задержки может выполнять схема с одним устойчивым состоянием, устройство которой я тебе уже объяснял.

Н. — Это представляется мне вполне понятным, но с некоторых пор я стал подозрительно относиться к твоим структурным схемам, которые за внешней простотой скрывают ужасающие трудности.

Л. — Не бойся, на этот раз ничего страшного нет. Ты, вероятно, заметил, что триггеры, кроме обычных входов, имеют небольшой боковой вход, который я обозначил буквой Z. Этот вход служит для сброса на нуль. Такой результат можно получить, например, подачей отрицательного импульса на базу транзистора Т2 в приведенной на рис. 82 схеме триггера.

Предположим, что мы именем параллельное представление числа. Подадим его по всем необходимым для него проводам на входе Е1, Е2, Е3 и т. д. сдвигающего регистра, все триггеры которого установлены на нуль. Соединим провода, по которым передается число в параллельном представлении, с соответствующими входами: провод единиц с входом Е1, провод двоек с входом Е2 и провод четверок с входом Е3. Что произойдет теперь, если «параллельное» число подать в виде импульсов или отсутствия импульсов на различные входы нашего сдвигающего регистра?

Н. — Все это для меня настолько туманно, что я могу сказать тебе лишь, что триггеры, получившие импульс, переключатся с 0 на 1, а больше мне сказать нечего.

Электроника?.. Нет ничего проще! - _477.jpg

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

Н. — Для запоминания одного числа это, на мои взгляд, слишком сложно. Твое «параллельное» число поступает в виде комбинации импульсов и отсутствия импульсов. Если бы оно поступало в виде постоянных напряжений и отсутствия напряжений, вся твоя схема оказалась бы ненужной?

Электроника?.. Нет ничего проще! - _478.jpg
Сдвиг
Электроника?.. Нет ничего проще! - _479.jpg

Л. — Я полностью с тобой согласен. Но необходимо сказать, что схема обладает еще такими возможностями, о которых ты и не подозреваешь. Представь себе, что теперь я подаю на провод Z отрицательный импульс сброса на нуль. Что произойдет?

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

Л. — Действительно, все так бы и случилось, не будь в нашем устройстве элементов задержки. При подаче импульса сброса на нуль все стоявшие в положении 1 (единицы) триггеры возвращаются на нуль. Но в момент опрокидывания они дадут импульс на включенные после них элементы задержки. Эти элементы получат импульс и через некоторое время отправят его на следующие триггеры.

Электроника?.. Нет ничего проще! - _480.jpg

Н. — Но раз твои триггеры возвращены на нуль…

Л. — Я возвратил их на нуль подачей короткого импульса на вход Z. Но к тому моменту, когда получившие импульс элементы задержки передают его на следующие триггеры, поданный на вход Z импульс уже полностью закончился. Поэтому все получающие задержанный импульс триггеры независимо от их предыдущего состояния переключаются в положение 1.

Н. — Охотно соглашусь, что все именно так и произойдет. Но чего ты добился таким любопытным маневром?

Л. — Очень просто, показания каждого триггера до возврата на нуль теперь переместились на соседний с ним триггер (в направлении справа налево). Если, например, я послал импульс на Е1 и Е2, но не дал его на Е3, то первоначально я получу выходное напряжение на S1 и S2, но его не будет на S3. Пошлем теперь импульс сброса на нуль. Опрокинувшись в положение нуль, триггеры В1 и В2 возбудят элементы задержки D1 и D2. Триггер же В3 все время находился в положении нуль и на него сигнал сброса на нуль не окажет никакого воздействия. Следовательно, он не возбудит элемента задержки D3. Немного позднее, когда элементы задержки D1 и D2 выдадут свои импульсы, возвращенный на нуль триггер В2 опрокинется в положение 1 и оставшийся все время в положении нуль триггер В3 также опрокинется в положение 1. Следовательно, теперь мы получим напряжение на входах S3 и S2, а выход S1 останется без напряжения. Если раньше наш регистр показывал число 011, то теперь он показывает 110. Мы переместили его показания на один знак влево, а на освободившееся справа место вписали нуль.