Рейтинг
0.00
avatar

Блог проекта BrainfuckPC

В этом блоге вы найдете мои видео и текстовые мытарства по созданию релейного компьютера



Весь проект в openSource. Посему вот основные ссылки по проекту:
  1. github.com/radiolok/RelayComputer2 — репозиторий с принципиальными схемами и разводками печатных плат. Ссылочку на репозиторий прошивки платы памяти я добавлю позднее
  2. github.com/radiolok/RelayComputer2/blob/master/roadmap.md Отдельно отмечу эту страницу с дорожной картой проекта, на которой фиксируются ключевые изменения.
  3. hackaday.io/project/18599-brainfuck-relay-computer на этой страничке я публикую подробные отчеты о том что было сделано. По набору критической массы они будут превращаться в статью на GT.
  4. github.com/radiolok/bfutils компилятор и эмулятор.
Подробнее ▼

Сборка релейного компьютера. Этап `I`. Шасси и все блоки собраны в единое целое.

Блог проекта BrainfuckPC
В прошлый раз, семь месяцев назад, я написал про кучу модулей для 16-разрядного сумматора, а сегодня я уже распортую о том, что процесс сборки релейного компьютера вышел на финишную прямую!

Рама размерами 1000х650мм. Материал Алюминий 2мм. Сварная. Покрашеная в черный цвет.
На раме установлены 6 распечатанных корзин под блоки. Размер корзины 200х150мм. 32 модуля в каждой корзине.
Для базовой логики требуется 5 корзин. шестая — запасная, для будущего расширения функционала.

Читать дальше

BrainfuckPC#12 Итоги 2017 года и планы на 2018

Блог проекта BrainfuckPC
Закрываем 2017-й год грандиозными итогами года и амбициозными планами на следующий год
Итоги:
1. Плата памяти собрана, но хочу переделать
2. Блок сумматора собран, нужно тестировать
3. Модули индикации и защелок разработаны, надо собирать остальные

Планы:
1. Продолжаем сборку релейного компьютера:
a. Проверить сумматор
b. Собрать все индикаторы, защелки
c. Собрать регистры
d. Собрать логику
e. Прошить плату памяти и индикаторные платы
f. Разобраться с корпусом
2. Провести эксперименты с декатронами
3. Открыть раздел «книжная полка»
4. Поиграться со струйной логикой
5. Обзавестись лазерным гравером
6. Продолжить цикл по мехатронике и начать собирать всякое движимое и вращаемое

Блок 16-разрядного сумматора

Блог проекта BrainfuckPC
Модули первого блока спаяны и осталось лишь прошить схему соединений! Сумматор с Carry-chain переносом в противовес предыдущему сумматору с параллельным переносом намного проще и при этот такой же быстрый — всего 3 задержки.


32 Модуля 2XOR/2AND. по два модуля на разряд. размеры блока 200х150мм.

Релейный компьютер. Набор инструкций

Блог проекта BrainfuckPC
Хоть у меня и брейнфак, но на требуемых для реализации его 8 команд блоках можно реализовать куда большее число инструкций.

Страничка на Github с табличкой: github.com/radiolok/RelayComputer2/blob/master/doc/instruction_set.md

Релейный компьютер. План работ

Блог проекта BrainfuckPC
Составил план работ по своему релейному компьютеру


Я создал специальную страничку на Github c подробной табличкой того что нужно сделать и что уже сделано (ССЫЛКА)

Краткий экскурс в релейную логику

Блог проекта BrainfuckPC
В рамках работы над сборкой релейного компьютера запилил ликбез по релейной логике.
Я здесь уже публиковал пару статей по этой теме. РАЗ и ДВА, но формат есть формат.

Обзор релейных компьютеров

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

Релейная ЭВМ версия 2. Релейная логика. Сумматор с параллельным переносом

Блог проекта BrainfuckPC
Привет, давно не виделись. Я вернулся к проекту релейной ЭВМ и хочу представить на суд продолжение этой темы.
UPDATE: Снял видео из цикла BrainfuckPC. Дабы не плодить новую статью, добавлю его сюда:


Введение

Релейная ЭВМ должна быть не только релейной, но еще и быстрой. Как и любая другая ЭВМ, моя РЦВМ будет синхронной машиной, оснащенной тактовым генератором. Естественно мне не хочется растрачивать впустую циклы тактирования и постараться каждую операцию уместить в один цикл — т. е. за нарастающий и спадающий фронты синхронного генератора успеть загрузить новую команду и исполнить ее. Желательно при этом чтобы все команды выполнялись за одинаковый период времени.

Каждое реле имеет некоторую задержку срабатывания и отпускания, которое мы примем за 1 условную единицу времени(у.е.в.) Если будем использовать реле РЭС22, 1у.е.в. будет равен 12-15мс (справочное), РЭС64 — 1.3мс(справочное). Самой дорогой операцией в АЛУ моей машины является сумматор.
Сумматор сам по себе довольно простой и быстрый, но «есть один нюанс», который заключается в способе вычисления и передачи сигнала переноса.

Изначально я планировал использовать сумматор с последовательным переносом. В таком сумматоре каждый последующий разряд зависит от состояния сигнала переноса разряда текущего. В итоге длительность операции вычисления будет колебаться между 2 у.е.в. — N*2 у.е.в., где N — число разрядов. В итоге, 8-разрядный сумматор с последовательным переносом будет иметь максимальную задержку 12 у.е.в.

Рисунок 1: Принципиальная схема 4-разрядного сумматора с последовательным переносом
Такой вариант меня не устроил, поэтому будем проектировать сумматор с параллельным переносом. Так как сумматоров в системе будет как минимум два — сумматор в АЛУ и сумматор текущей команды (Instruction Pointer — IP) (не хочу отдавать его на откуп микроконтроллеру), задачка становится еще более актуальной. Сумматор в АЛУ будет 8-разрядным, сумматор IP — 16-разрядным.

Читать дальше