Райан Норт - Как изобрести все. Создай цивилизацию с нуля
- Название:Как изобрести все. Создай цивилизацию с нуля
- Автор:
- Жанр:
- Издательство:Литагент 5 редакция «БОМБОРА»
- Год:2019
- Город:Москва
- ISBN:978-5-04-098729-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Райан Норт - Как изобрести все. Создай цивилизацию с нуля краткое содержание
Как изобрести все. Создай цивилизацию с нуля - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Все, что нам теперь нужно, это разобраться, как сконструировать подобное с помощью тех ячеек, что уже есть в нашем распоряжении: И, ИЛИ, НЕТ, НЕТИ и ЭИЛИ [240]. Если вы посмотрите на паттерны единиц и нулей, образующиеся в a и b , то заметите, что они выглядят знакомыми: выход a идентичен тому, что получался у И-ячейки ( p ∧ q ), а b прекрасно соотносится с ЭИЛИ-ячейкой.
А это делает процесс конструирования очень простым, вам всего лишь нужно соединить входы с И-ячейкой и с отдельной ЭИЛИ-ячейкой вот таким образом, и ваша складывающая машина окажется готова (рис. 69).

Рис. 69.Складывающая машина
Имея ее в распоряжении, вы определили операцию, которую должна совершить машина, чтобы прибавить 1 к 1. Теперь, когда вы уже знаете, чему равно 1 + 1 [241], эта машина, называемая «одноразрядный сумматор с двумя входами», выглядит совершенно бесполезной.
Однако давайте еще раз посмотрим, как работает сложение.
В десятичн ой системе, к которой вы привыкли, 7 + 1 равно 8, 8 + 1 равно 9, но 9 + 1 дает уже двухразрядный ответ 10 вместо одноразрядного 9. Та же самая штука происходит в бинарной, только каждая новая колонка начинается не после 10, а после 2. Учитывая это, мы должны переименовать выходы a и b более аккуратным образом: давайте назовем их s (для «суммы») и c (для «переноса»).
Если с равно 1, нам нужно перенести эту единицу в новый бинарный разряд.
И нечто на самом деле интересное происходит, если вы берете сумматор и присоединяете его к другому сумматору с помощью ЭИЛИ-ячейки. Новая машина, которую мы назовем «одноразрядный сумматор с тремя входами», выглядит следующим образом (рис. 70).

Рис. 70.Одноразрядный сумматор с тремя входами
Эта новая машина все еще выдает ваше решение как s и с (что, как мы помним, представляет «сумму» и «перенос»), как и ранее, но теперь она может принимать в качестве входа разные с . Это с позволяет вам «переносить единицу» из результата другого сумматора с тремя входами и помещать в наш сумматор.
То есть мы можем создать настоящую цепь из сумматоров!
Именно в этом месте начинается волшебство, поскольку с каждым новым сумматором, включаемым вами в машину, удваивается максимальное число, с которым она может управиться. Один сумматор выдает два бинарных разряда, то есть 4 возможных числа на выходе, от 0 до 3. Три сумматора поднимают планку до 16, четыре – до 32, а потом вы поднимаетесь до 128, 256, 512, 1024, 2048, 2096, 8192, 16384 и т. д., удваивая числа с каждым новым сумматором.
К тому моменту, когда у вас есть 44 сумматора в одной цепи, вы можете построить машину, достаточно мощную, чтобы присвоить каждой звезде видимой вселенной уникальный номер. Очень неплохо для кучки воображаемых ячеек, с которых все начиналось совсем недавно.
Сумматоры являются сердцем вашего счетного устройства, ведь все, что вам нужно для умножения, вычитания и деления, – это сложение [242], а для сложения требуются сумматоры с тремя входами. А для того чтобы создать такие сумматоры, вам необходимо построить настоящие версии тех логических ячеек, которые вы изобрели.
Если вы сможете это сделать, то вы получите компьютеры.
Ну так давайте построим несколько логических ячеек и получим компьютер
В конечном счете ваша цивилизация создаст компьютеры на электричестве, но для начала мы построим вычислительную машину, работающую на «топливе» попроще, а не на потоке из невидимых электронов. Начнем мы с компьютера, использующего воду. Подобное может выглядеть странным (и несомненно, создание НЕТ-ячейки, превращающей 0 в 1, или, другими словами, машины, которая при отсутствии воды неким образом выдает воду на выходе, будет задачей нетривиальной), но ваши сумматоры с тремя входами работают только на И- и ЭИЛИ-ячейках.
И вы прямо сейчас придумаете и то и другое вместе с небольшим кусочком технологии, вот таким (рис. 71).

Рис. 71.Аппарат, функционирующий одновременно как жидкостная И-ячейка и жидкостная ЭИЛИ-ячейка
Если открыт один или другой из входов, то вода хлещет через дыру, ударяется в стенку и стекает вниз. Если открыты оба, то две струи сталкиваются посередине, и вода попадает в ведро. Выход из дна является ЭИЛИ-ячейкой для входов, а выход из середины является И-ячейкой для входов. Ну а подобная комбинация ЭИЛИ- и И-ячеек – это все, что вам нужно, чтобы создать сумматор с тремя входами, и, следовательно, это все, что вам нужно для построения компьютера, работающего на воде.
Другими словами, правильным образом нацеленные потоки воды – это все, что нужно для решения вычислительных задач [243].
Сделано.
Надо сказать, что базирующийся на воде компьютер будет очевидно медленнее работающих на электричестве родичей, которых вы помните, и еще долго не сможет стать заменителем портативных музыкальных плееров на массовом рынке, если вообще сможет. Но это основа вычислительных технологий, которых люди даже не касались до конца XVII века н. э., а миниатюризация, электроника, полупроводники и все, что пришло позже, взгромоздились на фундамент из того, что вы изобрели в этом разделе.
Вы не только придумали базовые положения теории компьютерных вычислений, вы создали машину, которая на самом деле решает математические задачи, используя эти положения. И вам вовсе не требуется вода, запомните, любой механизм, выдающий нужные значения на выходе, может работать как ячейка, и кроме водяных ячеек, что у вас под рукой, и электрических, которые вы когда-нибудь создадите, вы можете использовать другие варианты: мраморные шарики, катящиеся по желобкам, веревки и блоки [244]и даже живых крабов [245], ведь все это применялось для создания логических ячеек.
Ничего не значит тот факт, что бо́льшая часть таких ячеек была создана после того, как мы изобрели электронные компьютеры: как только люди получили основы бинарной логики, они начали обнаруживать возможности создания компьютеров с помощью самых разных вещей.
Следующей грандиозной инновацией должно стать создание вычислительных машин общего назначения. Компьютеры, уже построенные вами, пригодны для того, чтобы делать одну-единственную вещь, но как только вы сможете программировать их с помощью чисел, а не физически передвигая ячейки, вы начнете стирать линию между числами, которые означают вещи, и числами, которые делают вещи. Это дает компьютерам возможность изменять собственные программы в процессе функционирования, а как только вы добиваетесь этого, потенциал вычислительных машин возрастает по экспоненте.
Читать дальшеИнтервал:
Закладка: