Правила двоичного вычитания или как вычитает компьютер

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

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

Правило 1) 0 - 0 = 0
Правило 2) 1 - 0 = 1
Правило 3) 0 - 1 = 1 и занимаем единицу
Правило 4) 1 - 1 = 0

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

Компьютер, перевод из схемы "полусумматора" в "полувычитатель", производит по специальной команде, которая, как уже говорилось, поступает из блока памяти вместе с цифровой информацией.

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

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

Что бы арифметическое устройство ни делало: складывало, вычитало, умножало или делило, все равно полученный результат из него снова попадает в блок памяти, освобождая место для новых операций. Если это был окончательный результат, то он в блоке памяти долго не залеживается, а тут же выдается на выходное устройство для потребителя. Если же результат является промежуточным и ешение задачи еще не закончено, то он хранится в блоке памяти и ждет своей очереди, пока снова не попадет в арифметическое устройство.

Познакомившись с тем, как считает ЭВМ, давайте сравним ее с человеком по скорости арифметических операций.

Кто из них быстрее считает, человек или машина?

Многие из ребят, наверное, удивятся такой постановке вопроса.

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

Несколько лет назад во Франции по телевидению передавалось из города Лилля сенсационное выступление Мориса Дагбера, за которым с напряжен­ным вниманием следили миллионы зрителей. М. Дагбер официально устроил поединок с самой современной электронной вычислительной машиной, вы­звав ее на соревнование по скорости вычислений. Человек соглашался при­знать себя побежденным, если машина решит семь задач из десяти, предло­женных жюри, раньше, чем он, Дагбер, решит все десять задач.

Жюри предложило три задачи на извлечение кубических корней из чисел 48 627 125, 1092 727 и 246 491883, пять задач по возведению в степень — 893, 574, 385, 718, 997. Девятая задача была относительно легкой — разде­лить 1515 на 45. А в последней, десятой задаче предлагалось выразить воз­раст одного из членов жюри (ему в этот день исполнился 51 год) в днях, часах и секундах.

Феноменальный француз, как назвал его комментатор телевидения, ре­шил все десять задач за 3 минуты 43 секунды, дав следующие точные ответы: по первой группе (извлечение корней) —365, 103 и 627; по второй (возве­дение в степень) — 704 969, 10 556001, 79235168, 128100283921 и 93 206 534 790 699, а также ответы на девятый вопрос — 33, 666(6) и на последний—18 627 дней, 447 048 часов, или  1609 372 800 секунд.

На решение всех десяти задач Дагберу понадобилось на 1 минуту 35 секунд меньше времени, чем машине на решение семи задач! ЭВМ затратила времени 5 минут 18 секунд.

Результаты, показанные Дагбером,еще раз подчеркнули непревзойден­ность человеческого мозга, который остается самой замечательной из всех известных вычислительных машин.

Мозг человека намного сложнее современной вычислительной машины. Большая ЭВМ состоит из нескольких тысяч электронных ламп или транзи­сторов и в десять или двадцать раз большего числа других радиодеталей. В ней примерно от 50 до 100 тысяч элементов.

Количество нервных клеток в мозге человека приблизительно равно 10 000 000 000, что соответствует числу элементов в ста тысячах больших вычислительных машин.

Иными Словами, мозг одного человека содержит больше элементов, чем все вычислительные машины мира, вместе взятые!

Человеческий мозг — величайшая загадка природы. Именно ее решение поможет инженерам создать ЭВМ будущего. Кто знает, может быть, кому-нибудь из читателей этой книги посчастливится приоткрыть, хотя бы немно­го, тайну человеческого мозга — логику и устройство человеческой вычисли­тельной машины.

А пока о человеческом мозге известно очень мало. В мозге информация передается по нервным волокнам и сигналы состоят из импульсов возбужде­ния—«все или ничего».

Та же двоичная система цифр, что и у машины!

а вот как умножать

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


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

Рейтинг@Mail.ru