Знакомимся с правилами двоичного сложения и учим этому компьютер

Мы уже знаем, как компьютер хранит 1 байт информации - запоминает с помощью триггера, столо быть, чтобы запомнить 1Кб понадобится 1024 триггеров... Здесь все понятно! А вот как компьютер считает, ведь для этого нужно хотябы немного думать. Оказывается, для того чтобы считать, компьютеру думать вовсе необязательно. Давайте разберемся каким образом считает, а именно, суммирует числа компьютер,адля чего, вначале вспомним основные правила двоичного сложения

Правило 1) 0 + 0 = 0
Правило 2) 0 + 1 = 1
Правило 3) 1 + 0 = 1
Правило 4) 1 + 1 = 0 при этом переносим единицу в старший разряд, таким образом получаем - 10.

Для выполнения первых трех правил, создать устройство легко и вы с ним уже знакомы, помните дизъюнктор! Пусть первым слагаемым будет сигнал на входе X, а вторым - Y. Щелкая по ним левой кнопкой мышки, поочередно, убеждаемся, что первые три правила работают без проблем. Но не спешите, давайте попробуем нажать одновременно два выключателя, (для этого достаточно щелкнуть по плюсику, расположенному рядом с ними) и что мы видим, 1 + 1 = 1, лампочка загорелась. Для умножения 1Х1=1 это было бы справедливо, но нам то нужна сумма.

Таким образом убеждаемся, что для сложенния двух одноразрядных чисел использовать дизъюнктор - не получится. Нужно что-то другое.

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

Вот мы с вами и создали простейшую схему полусумматора на один разряд. Для работы с байтом понадобится таких полусумматоров - восемь. Стоит заметить, что полусумматор можно собрать и на базовых логических схема таких как И,ИЛИ,НЕ. Вот логическая функция такого полусумматора F = (AvB)&-(A&B). Попробуйте построить его схему самостоятельно, не получиться - пишите. А нам остается только добавить, что данный модуль называется полусумматором потому, что реализует суммирование одноразрядных двоичных чисел без учета переноса из младшего разряда.

Существует и полный одноразрядный сумматор, но он кроме переменных X и Y имеет еще один вход - P (перенос) и два выхода , P и S, где S - сумма, а Р перенос в старший разряд. Для особо интересующихся приводим и его логическую функцию F = ( AvBvP)&-Pv(A&B&P).

В заключении скажем, раз есть полусумматор, стало быть существует и "полувычитатель", это следует из того, что копьютер умеет не только прибавлять, но и отнимать (вычитать)...

ДА! умножать тоже умеет и .... - показать

назад : вперед


Copyright © somit.ru & А. Козлов, 2009

Рейтинг@Mail.ru