Н. — Но это более чем странно! Трехкратным переключением на нуль ты выталкивал цифру за цифрой записанное в регистре число. Только вытолкнул его не в том направлении, которое нам нужно; сначала мы получили отсутствие импульсов (цифра четверок), затем получили один импульс (цифра двоек) и, наконец, еще один импульс (цифра единиц).
Л. — Совершенно верно, мы цифру за цифрой вытолкнули наше число с того места, где оно было записано. Иначе говоря, на выходе
Н. — Таким образом, мы можем сказать, что твой сдвигающий регистр способен преобразовывать параллельное представление числа в последовательное.
Л. — О, ты знаешь, транзисторы этой схемы способны (да позволят мне так сказать) не только на один фокус. Схема может выполнить и обратное преобразование. Представь себе, что мы подаем на вход А последовательное число и после передачи очередной цифры посылаем импульс сброса на нуль. Первая цифра записывается триггером
Второй поступающий на вход
Н. — Действительно, очень умная схема, на этот раз она преобразовала последовательное представление числа в параллельное.
Л. — Но этим мы еще не исчерпали всех возможностей сдвигающего регистра. Представь себе, что на входы
Н. — Ужасную смесь!
Л. — Совсем нет. Рассмотрим, что произойдет на одном из триггеров. Предположим, что после записи первого числа он стоит на нуле. Если в соответствующем этому триггеру месте второго числа стоит нуль, то триггер не получит никакого импульса и останется на нуле. Но при записи второго числа наш триггер может получить импульс (на соответствующем ему месте находится единица) и тогда он переключится на 1. Возможно также, что при записи первого числа триггер получит импульс, а при записи второго импульса не получит. В этом случае, как и в предыдущем после передачи второго числа, триггер будет стоять на 1. Как ты видишь, во всех этих трех случаях на каждом триггере мы получим цифру, равную сумме соответствующих цифр из двух чисел.
Н. — Очень занятно, но признайся, что все рассказанное тобой справедливо лишь для некоторых случаев.
Л. — Сейчас я докажу тебе, что справедливо для всех случаев. Предположим, например, что триггер
Н. — Поразительно, твоя схема способна производить сложения и учитывать переносы единиц в следующие разряды. Это идеальное решение для создания сумматора.
Л. — Это возможное, но не наилучшее решение. Представь себе, что первым мы передали на сдвигающий регистр число 111, а вторым — число 001. Когда мы запишем второе число, триггер
Н. — Но ты сам в этом виноват, зачем ты поставил элементы задержки?