Макет ноутбука из картона. Мастер-класс по созданию детского ноутбука. Делаем персональный компьютер для ребенка своими руками

Всем привет! В 15 лет я стал одержим идеей создания бумажной вычислительной машины - полноценного механического компьютера, созданного из бумаги, картона и зубочисток. Меня поразило то, что бумага существует уже более 2000 лет, но до сих пор никто не утруждал себя созданием бумажного компьютера.


Все механизмы были разработаны мною, за исключением «AND» вентиля, идею которого я позаимствовал у одного из механических Lego-компьютеров.

Передача сигнала

Сигналы в машине передаются по поршневому принципу. Когда блок смещен на одну единицу длины, то передается положительное значение, иначе - ноль.


NOT


AND


OR


XOR


RS-триггер


Дешифратор


Линия задержки

Линия задержки управляется оператором машины при помощи соответствующего рычага. Когда нужно продолжить сигнал «загорается» красная лампочка, иначе - зелёная. Линию задержки можно использовать для продолжения сигнала на большие расстояния, в случае, если мощности бумаги не хватает.

Всем привет! В 15 лет я стал одержим идеей создания бумажной вычислительной машины - полноценного механического компьютера, созданного из бумаги, картона и зубочисток. Меня поразило то, что бумага существует уже более 2000 лет, но до сих пор никто не утруждал себя созданием бумажного компьютера.


Все механизмы были разработаны мною, за исключением «AND» вентиля, идею которого я позаимствовал у одного из механических Lego-компьютеров.

Передача сигнала

Сигналы в машине передаются по поршневому принципу. Когда блок смещен на одну единицу длины, то передается положительное значение, иначе - ноль.


NOT


AND


OR


XOR


RS-триггер


Дешифратор


Линия задержки

Линия задержки управляется оператором машины при помощи соответствующего рычага. Когда нужно продолжить сигнал «загорается» красная лампочка, иначе - зелёная. Линию задержки можно использовать для продолжения сигнала на большие расстояния, в случае, если мощности бумаги не хватает.

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

Биокомпьютер

А недавно я натолкнулся на описание модели компьютера, сделанной из бумаги, разработанную в 1968 в лабораториях Белла. Компьютер называется CARDIAC (CARDboard Illustrative Aid to Computation), что приблизительно переводится как Картонное Наглядное Пособие по Вычислениям. То есть на самом деле это не совсем компьютер, так как проводником сигналов, а также арифметико-логическим устройством в нем выступает человек. Тем не менее, он позволяет понять некоторые принципы, лежащие в основе современной вычислительной техники. К тому же, после недолгих поисков, я нашёл описание и материалы для изготовления CARDIAC.

Как устроен компьютер

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

Память

Компьютер имеет 100 ячеек памяти с адресами от 00 до 99. Каждая из них может быть использована для хранения одной инструкции или одного трехзначного числа. Любая из ячеек может быть перезаписана, так что при желании можно даже написать самомодифицирующуюся программу. Значения в ячейках заносятся с помощью карандаша, а модифицируются с помощью карандаша и ластика. При этом в ячейке 0 всегда «прошито» значение 001. Его очень удобно использовать для инкремента, так как команд с непосредственными значениями аргументов у компьютера нет.

Вот как выглядит оригинальный блок памяти:

Счетчик инструкций

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

Аккумулятор

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

Система команд

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

CARDIAC может «выполнять» 10 различных инструкций (с кодами от 0 до 9):

  • 0 - INP - ввод значения из входной ленты
  • 1 - CLA - загрузка содержимого ячейки памяти в аккумулятор
  • 2 - ADD - прибавление ячейки памяти к аккумулятору
  • 3 - TAC - переход по заданному адресу, если значение аккумулятора отрицательное
  • 4 - SFT - операция сдвига влево и вправо на заданное число десятичных разрядов
  • 5 - OUT - вывод ячейки памяти в выходную ленту
  • 6 - STO - запись аккумулятора в ячейку памяти
  • 7 - SUB - вычитание ячейки памяти из аккумулятора
  • 8 - JMP - безусловный переход по заданному адресу
  • 9 - HRS - остановка и сброс

Изготовление компьютера

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

Как это всё работает?

Функционирование компьютера заключается в последовательном выполнении инструкций. Перед началом выполнения, необходимо посмотреть где находится божья коровка (то есть счетчик инструкций) и перемещая полоски набрать значение из этой ячейки памяти в окошке «Instruction Register».

Дальше необходимо следовать по стрелкам, начиная с надписи «Start» и выполнять все предписания. Например, на приведенной картинке нужно сначала переместить счетчик инструкций вперед, а затем добавить содержимое ячейки 41 к аккумулятору.

Конечно же вычисления (сложение, вычитание и сдвиг) придется выполнять вручную. Для этого рядом с надписью «Accumulator» есть несколько окошек, позволяющих выполнять сложение/вычитание в столбик.

Пример работы компьютера

Для начала я «ввел» (то есть вписал карандашом в ячейки памяти с 17 по 23) первую из программ, приведенных в руководстве:

Эта программа складывает два числа, считываемые со входной ленты, и записывает результат на выходную ленту.
Инструкция ввода считывает значение из входной ленты, записывает его в заданную ячейку, а затем передвигает входную ленту на один шаг вперед, чтобы в окошке «Input» появилось следующее значение. При этом придется воспользоваться карандашом (и, возможно, ластиком), чтобы записать значение в ячейку памяти.

После выполнения этой программы со входными значениями 42 и 128 состояние памяти стало следующим:

«Быстродействие» компьютера

Какой же обзор компьютера без бенчмарков? Я взял из руководства следующую программу, предназначенную для перемножения двух чисел.
Адрес Значение Расшифровка
07 068 Ввести значения в ячейку 68
08 404 Обнулить аккумулятора с помощью сдвига на 4 вправо
09 669
10 070 Ввести значения в ячейку 70
11 170 Загрузить ячейку 70 в аккумулятор
12 700 Вычесть ячейку 0 (то есть значение 1) из аккумулятора
13 670 Записать аккумулятор в ячейку 70
14 319 Если в аккумуляторе отрицательное значение, то перейти на адрес 19
15 169 Загрузить ячейку 69 в аккумулятор
16 268 Прибавить ячейку 68 к аккумулятору
17 669 Записать аккумулятор в ячейку 69
18 811 Перейти по адресу 11
19 569 Вывести ячейку 69
20 900 Остановиться

Я прогнал эту программу для входных данных 5 и 3. При этом необходимо было выполнить 34 инструкции, на которые мне понадобилось немногим менее 15 минут. Следовательно частота следования инструкций для этого компьютера (в комплекте со мной) составила около 38 мГц (не путать с МГц).

Содержимое памяти и выходной ленты


Другие программы

Создатели CARDIAC подошли к вопросу серьёзно и разработали (не считая приведенных выше) следующие программы:
  • Программу для «переворачивания» разрядов числа
  • Bootstrap для загрузки программ со входной ленты
  • Механизм вызова подпрограмм
  • Программу для игры в Ним с одной кучкой (то есть, в игру Баше)

Ссылки

Видео с демонстрацией оригинала:

Ну какой ребенок не мечтает о собственном ноутбуке, как у мамы и папы? Всем детям хочется иметь доступ к личному компьютеру, но мы, родители, не любим подпускать их к нему, так как это не очень полезно. Настоящие компьютеры детям ни к чему, они только портят зрение. А вот почему бы не сделать малышам их личные маленькие ноутбуки? Сделайте их вместе, и дети будут счастливы! Для них такая поделка будет очень интересной.

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

  • большой кусок толстого картона
  • ножницы
  • черная краска с эффектом грифельной доски (по такой краске можно рисовать мелками, но если такую краску вы найти не смогли, можно использовать и гуашь)
  • кисточка
  • мелки
  • линейка
  • карандаш

Делаем

Для начала отмерьте кусок картона, из которого будет сделано основание ноутбука. Вырежьте эту часть. Затем пометьте по центру, чтобы можно было согнуть ноутбук. Немного надрежьте канцелярским ножом, чтобы удобнее складывалось. Можно поступить и иначе: полностью разрезать этот кусок картона на две части, а потом объединить клейкой лентой таким образом, чтобы эти части также свободно сгибались.

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

Теперь начинаем украшать ноутбук. Например, можно сделать именную табличку, с именем ребенка.

Всем привет! В 15 лет я стал одержим идеей создания бумажной вычислительной машины - полноценного механического компьютера, созданного из бумаги, картона и зубочисток. Меня поразило то, что бумага существует уже более 2000 лет, но до сих пор никто не утруждал себя созданием бумажного компьютера.


Все механизмы были разработаны мною, за исключением «AND» вентиля, идею которого я позаимствовал у одного из механических Lego-компьютеров.

Передача сигнала

Сигналы в машине передаются по поршневому принципу. Когда блок смещен на одну единицу длины, то передается положительное значение, иначе - ноль.


NOT


AND


OR


XOR


RS-триггер


Дешифратор


Линия задержки

Линия задержки управляется оператором машины при помощи соответствующего рычага. Когда нужно продолжить сигнал «загорается» красная лампочка, иначе - зелёная. Линию задержки можно использовать для продолжения сигнала на большие расстояния, в случае, если мощности бумаги не хватает.