План:

  1. Вступление.

  2. Логические операторы.

  3. Четвертьсумматор.

  4. Полусумматор.

  5. Полный сумматор.

  6. Заключение.

Вступление

Здравствуйте, в этой статье я подробно расскажу о том, как можно собрать свой собственный 4-битный сумматор в игре «майнкрафт». Так что если вы далеки от радиоэлектроники, это отличный шанс узнать для себя что-то новое. WELCOME.

Обращаю внимание на то, что все приведённые схемы ниже - абсолютно рабочие и применимы в реальной жизни.

Логические операторы

Не для кого не секрет, что все процессы, которые протекают в компьютере это пачки логических нулей "0" и единиц "1". Но несмотря на такой скудный набор параметров это неплохой способ для управления всеми необходимыми компонентами компьютера.

Проще говоря:

0 (логический ноль) - тока нет

1 (логическая единица) - ток есть

ток есть и тока нет :D но только в майнкрафте
ток есть и тока нет :D но только в майнкрафте

И, так как мы имеем дело только с нулями и единицами, а нам надо сконструировать целую вычислительную машину, мы воспользуемся такими штуками, как логические операторы. Логические операторы - звучит страшно, но на деле это просто и интересно. Сейчас всё покажу:

Основных всего 3, а нам больше и не понадобится.

1. Оператор "НЕ"

потом я эту деревню взорвала пока думала
потом я эту деревню взорвала пока думала

Если на входе у нас нет тока, то на выходе ток будет. И наоборот, если на входе ток есть, то на выходе его не будет.

2. Оператор "ИЛИ"

Тоже простой оператор, в котором есть два входа по которым может идти ток, и какой бы рычаг мы не включили лампочка всегда будет гореть. То есть «или-или». При этом она так же будет работать если оба провода будут пропускать ток. И не работать если тока в них нет.

3. Оператор "И"

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

Вот и всё, что нам понадобится для того, чтобы собрать сумматор любой битности.

Четверть сумматор

Начнём с простого четвертьсумматора. Эта штука может суммировать числа без переноса в следующий разряд. То есть без переноса десятка.

У нас есть два входа, которые будут представлять из себя два числа, которые будут суммироваться между собой. Если лампочка горит значит сумма = 1, если лампочка не горит значит = 0.

Вот схема:

1+1 = 10 ( но так как переноса десятка нет на выходе мы получаем логический 0 )
1+1 = 10 ( но так как переноса десятка нет на выходе мы получаем логический 0 )

Она очень простая и придумать её может каждый. При суммировании единицы и нуля мы получаем единицу, при суммировании двух единиц мы получаем "ноль". Разумеется, без переноса десятка.

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

0 + 1 = 1
0 + 1 = 1

Но это лишь четвертьсумматор. Давайте соберём машину, которая сможет переносить десяток.

Полусумматор

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

Но реализовать перенос дело тоже не геморрное, и если посидеть подумать, то можно быстро его собрать.

У меня получилась такая схема:

выполнено в бесплатной программе logisim
выполнено в бесплатной программе logisim

Немного пошаманив с редстоуном мы получаем готовый полусумматор:

Четырёхбитный сумматор

4-битный сумматор - это просто последовательное соединение четырёх полусумматоров.Проблема появляется только от того, что в конечной версии его неудобно читать.Но как обычно, это всё поправимо.

Разберём принцип по которому оно все будет соединяться:

сделано в paint
сделано в paint

Это общий вид и как всё это дело должно подключаться. То есть вместо второй лампочки мы просто ведём наш провод и используем его в качестве «земли». Я это покажу на примере своей схемы:

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

Итоговая схема получается большая поэтому сюда я её не размещу (если размещу, всё равно ничего не будет понятно), но давайте посмотрим, что вышло в майнкрафте.

Вот так это всё у меня выглядит.
Вот так это всё у меня выглядит.

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

Обращайте внимание на редстоун, потому что у него органичная дальность работы. Где-то 15 блоков от рычага. Так что ставьте повторители.

считает он правильно. Так что смело собирайте :)
считает он правильно. Так что смело собирайте :)

Заключение

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

Благодарю всех, кто дочитал эту статью до конца. В дальнейшем я выпущу ещё одну, но только уже про самодельный компьютер с шифратором, сумматором и дешифратором, а пока всем до свидания.

Комментарии (26)


  1. redf1sh
    23.10.2021 15:04
    +11

    Почему заголовок такой? Вы действительно собрали сумматор, но до компьютера ещё далеко. У вас нет памяти никакой (ни для инструкций, ни для данных). И я не уверен, что одной операцией сложения можно получить полноту по Тьюрингу

    Возможно, чтобы не вводить в заблуждение, надо было заголовок назвать "Компьютер в игре minecraft часть 1" или что-то в этом духе.


    1. phenik
      23.10.2021 18:03
      +2

      До этого еще далеко


    1. pi1r Автор
      24.10.2021 14:03
      +1

      3+ месяцев эта статья пыталась попасть на модерацию, но по тех. причинам не удавалось. Это как раз должен был быть небольшой цикл, включающий в себя триггеры, шифраторы, дешифраторы и т.д. Но просто я уже реально не верила, что всё таки она выйдет, поэтому и такое "громкое" название. Но судя по фидбэку, может что-то и будет. В любом случае, спасибо за Ваш отзыв.


  1. arrmagedon99
    23.10.2021 15:14
    -4

    После фразы "1 ток есть и 0 тока нет" можно закрывать статью. 0 и 1 это все же диапазон напряжения...


    1. reticular
      23.10.2021 15:18
      +4

      напряжение в физическом мире
      в Minecraft ток!


      1. Lesage
        23.10.2021 16:06
        +11

        В Майнкрафт редстоун-сигнал:)


    1. pi1r Автор
      24.10.2021 14:08

      Вы всё правильно говорите, может мне и стоило уточнить эти детали.

      Статья написана на максимально простом языке, для людей , которые могут быть далёки от этой темы, но которым интересно как всё устроено "под капотом". Как лёгкое, но полезное чтиво.
      Я учту ваш комментарий в следующей статье, спасибо


  1. dmitrysvd
    23.10.2021 16:10
    +1

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


    1. pi1r Автор
      24.10.2021 14:10

      О, интересно. Но я пока остановлюсь на minecraft, так как он более популярный среди людей. Спасибо


  1. iShrimp
    23.10.2021 17:16
    +8

    Четвертьсумматор по сути представляет собой оператор XOR, который можно сделать проще.

    Автору в помощь статья о логических элементах на Minecraft Wiki.


    1. pi1r Автор
      24.10.2021 14:38

      Цель была сделать не проще, а понятнее. По моему, субъективному мнению, было понятнее - в более развёрнутом виде. Но я ознакомлюсь с той информацией, которую Вы мне оставили, в любом случае, спасибо за отзыв, я учту это и добавлю в следующую статью.


  1. WondeRu
    24.10.2021 01:40
    +3

    – По приказу великого императора включить компьютер! Приступить к встроенному тестированию!
    Шеренга солдат, выстроившаяся посередине наклонной стены пирамиды, повторила команду при помощи флагов. В ту же секунду материнская плата из тридцати миллионов человек стала похожа на озеро, играющее яркими бликами в солнечный день. Взвивались и опускались миллионы флажков. На «дисплее», самом близком к пирамиде блоке, возникла и начала медленно удлиняться полоска зеленых флажков, показывающая прогресс тестирования в процентах. Через десять минут полоска дошла до конца.
    – Встроенное тестирование окончено! 

    (C) Задача трех тел. Лю Цысинь


    1. IgorKamenev
      24.10.2021 06:19
      +1

      Пожалуй это самое классное место в этой книге. Читал и ржал. А в остальном... ну так...


      1. DrGluck07
        26.10.2021 13:05

        Особенно как они чинили сломанные части компьютера. Первая книга ещё ничего так, но вторая и третья книги это просто чудовищная графомания. Особенно порадовало как он придумал убить весь флот землян за один раз. Причина отправить все корабли навстречу неведомой фигне и проиграть — «во-первых, это красиво...»


  1. wpostmean
    24.10.2021 13:53
    +2

    Этим августом занимался чем-то подобным, получился немного неуклюжий, но вполне рабочий компьютер. Так же написал программу для умножения двух целых чисел, на видео можно это увидеть. (В описании ролика есть тайминги и характеристики, если интересно)

    Возможно я смогу как-то помочь с циклом статей? Буду рад помочь.


    1. pi1r Автор
      24.10.2021 14:24

      Да, было бы круто, как-то развить эту серию. Пока в планах пройтись по основам основ.

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


      1. DanInSpace
        24.10.2021 14:51
        +1

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


        1. pi1r Автор
          25.10.2021 11:06

          Спасибо, я обязательно учту это


  1. ariksu
    24.10.2021 16:27
    +2

    Всем желающим научиться разрабатывать собственный компьютер я горячо рекомендую книгу и курс "From NAND to Tetris". Курс состоит из двух частей, в первой собирается стек от базовых логических элементов, через ALU, CPU и машкоды до ассемблера. Во второй части пишется своя ос, вм, объектый язык высокого уровня и наконец тетрис.

    Несмотря на камерность выбранной архитектуры, получается очень задорно.


    1. TotalAMD
      25.10.2021 08:18

      Можете сравнить с CODE Пицольда?


      1. ariksu
        25.10.2021 13:06

        Не читал последнего. Посмотрел оглавление и первые три главы - судя по развёрнутости Пицольд покрывает более-менее только первую часть, плюс даёт много контекста по азам информатики ("смотрите, мы можем всё записывать двоичным кодом"). Ну и общая нацеленность другая - более теоретическая.


  1. korsarer
    24.10.2021 20:25
    +1

    Отлично для начала! Жду продолжения =) И да, схемы из Logisim очень кстати, потому что их проще читать, чем схему в Minecraft


    1. pi1r Автор
      25.10.2021 11:07

      Спасибо Вам за отзыв. Обязательно будет продолжение


  1. TotalAMD
    25.10.2021 08:26
    +1

    https://youtu.be/0bAuP0gO5pc (объяснения есть на канале в более раннем видео)

    https://youtu.be/mgfwwqwxdxY

    Factorio, с одной стороны, не имеет третьего измерения, а с другой — схемы получаются более наглядными.


  1. Haoose
    25.10.2021 10:40
    +1

    Рекомендую попробовать игру Turing Complete
    Turing Complete в Steam (steampowered.com)
    Там тоже можно моделировать такие схемы из логических элементов, вплоть до компьютера, писать программы для него.
    И описанные в статье сумматоры там тоже есть.


    1. pi1r Автор
      25.10.2021 11:09

      Спасибо, ознакомлюсь