Электроника?.. Нет ничего проще!
Шрифт:
Рис. 133. Полная схема двоичного умножителя, в котором используются три сдвигающих регистра и генератор хронирующих импульсов. Буквой D обозначен элемент задержки импульсов.
Множитель записан на сдвигающем регистре СР2. На этот раз единицы мы разместили на самом левом крае, а вправо от них по порядку записали двойки и т. д. Поступающий в линию Z2управляющий сигнал сдвигает записанное число (множитель) тоже влево. Сумма записывается на третьем сдвигающем регистре СР3,
Расположенный справа маленький прямоугольник обозначает генератор синхроимпульсов (или часы). Он задает ритм выполнения операции.
Рассмотрим, что происходит при приходе первого тактового импульса. Он может пройти через элемент И, обозначенный буквой G1, потому что цифра единиц записанного на сдвигающем регистре СР2 числа представляет собой 1. Состояние регистров СР1 и СР2 к моменту прихода первого тактового импульса я показал для тебя на схеме в скобках у выходов этих регистров. Здесь я воспользовался только что рассмотренным нами примером умножения двоичных чисел. В этих условиях первый импульс пройдет через элемент G1. Он поступит на все элементы g, расположенные между регистрами СР1 и СР3 и пройдет через те из этих элементов, которые на второй вход получают с регистра СР1 сигнал о наличии в соответствующем звене цифры 1…
Н. — Это становится ужасно сложно, и я ровным счетом ничего не понимаю!
Л. — Тогда рассмотрим более подробно. Как ты видишь, на выходе а (единицы) регистра СР1 мы имеем нуль, а на выходе b (двойки) — цифру 1, на выходе с (четверки) — нуль, а на выходах d и e (соответственно восьмерки и шестнадцатки) по цифре 1.
Первоначально на выходе а (единицы) регистра СР2 находится цифра 1. Следовательно, первый тактовый импульс пройдет через элемент И, обозначенный буквой G1. Отсюда он придет на правые входы всех других элементов И, обозначенных буквами q1, g2….g6. В связи с наличием записанного на регистре СР1 числа тактовый импульс не пройдет на выход элемента g1, пройдет на выход g2, не пройдет на выход g3 и пройдет на выходы элементов g4 и g5. Надеюсь, на этот раз ты меня понял?
Н. — Это ужасно сложно, но, призвав на помощь все мои интеллектуальные ресурсы, я сумел более или менее понять.
Л. — Ты убедишься, что дальнейшее не сложнее того, в чем тебе удалось разобраться. Как ты видишь, первый тактовый импульс запишет на сдвигающем регистре СР3 множимое без каких бы то ни было изменений. После окончания этого импульса элемент задержки D (время задержки которого меньше интервала между двумя тактовыми импульсами) посылает сдвигающий импульс через линию Z1 на регистр СР1 через линию Z2 на регистр СР2. От этого импульса записанное на регистре СР1 число сдвигается на один разряд влево, иначе говоря, теперь на регистре записано число 110100, с которым мы уже встречались. Число, записанное на регистре СР2,
Следовательно, второй тактовый импульс не пройдет через элемент G1, потому что поданная на верхний вход элемента цифра двоек числа-множителя представляет собой нуль. Иначе говоря, произведение множимого на два не передается на сдвигающий регистр СР3.
Второй тактовый импульс вновь заставит работать элемент задержки D; задержанный импульс через линию Z1 поступит на регистр СР1 и через линию Z2 — на регистр СР2. Этот импульс еще на одну цифру сдвинет влево число, записанное на регистре СР1, которое превратится в 1 101 000, т. е. в произведение множимого на 4. Одновременно и множитель, записанный на регистре СР2, сдвинется на один разряд влево, в результате чего теперь на верхний вход G1 подается цифра четверок, а именно 1.
Следовательно, третий тактовый импульс пройдет через G1, а затем пройдет и через те элементы g, которые получают с выходов регистра СР1 сигналы «1»; таким образом, этот импульс вызовет передачу на регистр СР3 числа, представляющего собой произведение множимого на 4 (множимое, сдвинутое влево на две цифры).
Н. — Но тогда это создает на регистре СР3 ужасную смесь!
Л. — Совсем нет. Разве ты забыл, что сдвигающий регистр может производить сложение двух параллельных чисел? Для получения суммы достаточно эти числа одно за другим подать на входе регистра.
Н. — Но ты мне объяснял, что для выполнения операции сложения сдвигающему регистру нужно очень много времени…
Л. — Ничего нельзя преувеличивать. Сдвигающий регистр может произвести сложение за время, равное сумме задержек всех входящих в него элементов задержки. Операция может занять всего лишь несколько микросекунд. Во всяком случае мы представим ему необходимое время; нужно сделать так, чтобы тактовые импульсы не очень быстро следовали один за другим.
После прохождения третьего импульса задержанный элементом D импульс вновь вызывает смещение на один разряд влево множимого, записанного на регистре CP1, и множителя — на регистре СР2. Теперь на регистре CP1 мы имеем множимое с приписанными справа тремя нулями (т. е. произведение множимого на восемь). С регистра СР2 на верхний вход элемента G1 теперь подается цифра восьмерок — это 1.
Четвертый тактовый импульс может пройти через G1 потому что цифра восьмерок числа-множителя представляет собой 1; проходя через соответствующие элементы g, тактовый импульс запишет на сдвигающем регистре СР3 произведение множимого на восемь. Регистр СР3 произведет последнее сложение. Полученная сумма и есть окончательный результат производимой операции умножения.
Н. — Теперь нам, по-видимому, следует принять меры, чтобы остановить систему, выдающую тактовые импульсы?
Л. — В этом нет необходимости. Не забывай, что после передачи по линии Z2 с определенной задержкой четвертого импульса регистр СР2 полностью «опорожнен». Последующие импульсы, если они и будут, не смогут пройти через G1, потому что на его верхнем входе всегда будет сигнал нуля.
Н. — Я напрасно любовался двоичной счетной техникой; на мой взгляд, этот умножитель просто кошмарный сон больного специалиста по электронике!