Макетный компьютер [закрыто]


19

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


10
Это не только возможно, но люди делают это, например, megaprocessor.com и многие другие, просто Google для "дискретного процессора транзистора" или подобного. Это становится очень сложным, и на его сборку и отладку
уходят годы

Зависит от того, что вы подразумеваете под макетом. Если он включает в себя Veroboard, полоски с бирками или конструкцию мертвых жуков, закрепленную гвоздями, забитыми на мамином (да) макете - все припаяно, тогда да, определенно. Если вы имеете в виду те пластмассовые вещи, которые случайно отпускают провода, забудьте об этом ...
Брайан Драммонд,

@BrianDrummond Re пластиковые макеты - это очевидно возможно (см. Мой ответ). Я видел пару компьютеров, построенных таким образом. Если кто-то случайно вытащил несколько проводов, какой кошмар. Я действительно удивлен, что они на самом деле бегают.
tcrosley

2
Я думаю, что если бы у вас было бесконечное количество макетов, вы бы завершили его?
PyRulez

2
Вам действительно нужно , чтобы открыть Homebrew CPU «веб - кольцо» (который был вещью еще в 90 - е годы , прежде чем поисковой доминировал в Интернете): members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

Ответы:


33

Я не согласен с тем, что размещение микроконтроллера на макетной плате квалифицируется как сборка компьютера на макетной плате. За исключением ввода / вывода (например, клавиатуры и дисплея), микроконтроллер сам по себе является практически полноценным компьютером. Простое размещение его на макете и подключение нескольких проводов тривиально и может быть выполнено за десять минут.

Когда ФП спросил: «Можно ли сделать простой компьютер полностью с макетами и базовыми электронными компонентами?», Под базовыми электронными компонентами я подумал, что это означает что-то вроде этого:

введите описание изображения здесь

Теперь это компьютер на макете (ну, несколько макетов), построенный из базовых компонентов . Описание этого здесь . Он состоит из десятка типов микросхем серии 74LS00. (Я не думаю, что мы хотим вернуться к транзисторам; оригинальный PDP-8 был размером с небольшой холодильник ).

Что касается научного калькулятора, если вы построили компьютер общего назначения, подобный показанному выше, его можно запрограммировать как научный калькулятор. Создание научного калькулятора с использованием только логических ИС (без компьютера) было бы чрезвычайно трудным; Все подобные калькуляторы (Ti, HP и т. д.) использовали специальные масштабные ИС . Вот самодельный калькулятор, который использует раннюю 4-битную ИС калькулятора.

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



1
@ColeJohnson В его заметках говорится, что у него нет схемы для этого!
tcrosley

1
@JohnD спасибо, исправлено.
tcrosley

23

Это не только возможно, я фактически сделал это: см. Https://www.vttoth.com/CMS/projects/47.

Вот как выглядела проводка на задней стороне одного из макетов:

введите описание изображения здесь

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

Кроме того, мой 4-битный компьютер действительно недостаточно мощный, чтобы использовать его в качестве научного калькулятора, в основном из-за ограничений памяти (256 4-битных nybbles). Тем не менее, не очень сложно расширить адресное пространство, возможно, используя механизм разбиения на страницы, и 4096 nybbles (12-битных адресов) уже может быть достаточно, 65536 nybbles (16-битных адресов) наверняка.


Поздравляю. Это настоящее достижение. Мне нравится набор инструкций - напоминает мне о 6800.
tcrosley

1
Есть парень, который работает над созданием процессора, используя только транзисторы. Оперативная память, процессор, все. MegaProcessor.com
Коул Джонсон

4
Некоторые люди более терпеливы, чем я.
Виктор Тот

10

Да, это возможно, но вам понадобится немного больше, чем несколько макетов, чтобы придумать научный калькулятор, в зависимости, конечно, от того, что вы считаете базовым компонентом: называете ли вы транзистор базовым компонентом, или триггер , EEPROM или просто что-то, что вы можете припаять из старого холодильника.

Здесь есть несколько хороших ответов, но я бы хотел отметить одну вещь, которую люди часто не учитывают. Глядя на историю вычислительных устройств, сложность сборки компьютера из коры дерева и гвоздей заключается не в процессоре или в ALU. Основная проблема - память, Потому что вам нужно огромное количество этого для всей концепции хранимой программы для работы. Вы можете сделать процессор из нескольких триггеров и NAND-шлюзов; например, для применения в силовой электронике с конкретными ограничениями, я однажды разработал микропроцессор, который использует только 69 триггеров (4 16-битных регистра, 4 флага и 1 бит регистра состояния, обозначающего FETCH / EXECUTE). Это реализовано в кремнии, и люди пишут программное обеспечение, которое работает на нем. Это просто и соответствует размеру контакта стока силового транзистора. Но память, необходимая для хранения любой полезной программы, намного, намного больше.

В начале память была отправной точкой дизайна. Вы можете использовать бистабильные реле, как это было на ранних телефонных станциях. Вы можете использовать вакуумные трубки или транзисторы, чтобы сделать шлепанцы; и регистры процессора обычно были реализованы таким образом. Но для хранения программ и данных использовались бумажные ленты, магнитные ленты, вращающиеся диски или вращающиеся барабаны. Даже акустические волны на стальной проволоке, которые постоянно принимаются и ретранслируются электроникой. Все, что вы можете придумать, может содержать несколько битов в течение разумного периода времени с разумной стоимостью. На компьютерах с орбитальными аппаратами «Аполлон» и «Лунный корабль» использовались запоминающие устройства сердечника катушки, намотанные в виде веревок. Все это требует различного интерфейсного оборудования и оказывает огромное влияние на то, каким должен быть процессор, чтобы получить доступ к таким видам памяти. Полупроводниковая память действительно появилась только в 1970-х годах, наконец, отклонив такую ​​сложность. Но опять же, современные динамические RAMS тоже не так просты.

Кроме того, есть еще одно замечательное свойство - проектировать оборудование ввода-вывода для компьютера. Несколько ламп подходят для некоторых приложений, но если вам нужен ввод / вывод текста или что-то еще более сложное, вы снова столкнетесь с большими трудностями. Считыватели перфокарт, принтеры и бумажные терминалы в свое время были огромным бизнесом. Видеотерминал VT100 с текстовым режимом 1978 года имеет гораздо больше памяти и вычислительной мощности, чем ваш макет научного калькулятора.


Хотя, безусловно, возможно реализовать память с помощью триггеров, я думаю, что необходима уступка, чтобы позволить микросхемам памяти (как правило, на этих домашних компьютерах обычно используют 74181 для ALU). Вы можете получить SRAM 8Kx8 в DIP-пакете примерно за 2 доллара. Это должно быть достаточно для калькулятора. То же самое для EEPROM.
tcrosley

1
@ tcrosley Я согласен. Я просто указываю на замечание из истории. Если вы собираетесь создавать домашний компьютер сегодня, вы не будете следовать этому произвольному набору правил, вы будете делать это для удовольствия и обучения. И проектирование микропроцессора - это больше удовольствия и лучший опыт обучения, чем сборка 16 тысяч бит памяти ядра;)
PkP

@PkP Есть кое-что, что нужно сказать кому-то, кто помнит, как плести память ядра, и документировал это. Не столько на уровне того, как работает бит или два, но и на практической стороне того, как вы делаете 16 кбит, не сходя с ума. Я работал над проектами по выращиванию семян. Я могу визуализировать безумие ... Я предполагаю, что когда-то была автоматизация фабрики, чтобы сделать это, но я видел очень мало написанного о производственной стороне.
RBerteig

2
@RBerteig спасибо, я согласен. Ну, я помню, как читал, что воспоминания о веревке компьютера космического корабля Аполлон были сотканы очень опытными женщинами-ткачихами, у которых было удивительное терпение, чтобы очень тщательно проверять каждый из них или ноль на кодовой диаграмме, которая указывает, сплетена ли битовая катушка через ядро ​​или обойти это или что-то в этом роде. Я помню, как читал из того же источника, что им потребовалось шесть месяцев, чтобы соткать новое ПЗУ после каждой модификации программного обеспечения от инженеров MIT, которые писали программное обеспечение Apollo.
PkP

7

Это возможно, но сложность и размер зависят от того, что вы называете базовыми электронными компонентами. Логика ALU и секвенсора немного сложна, но выполнима. Память проста, но базовый шаблон должен повторяться очень много раз (подумайте тысячи раз).

Помимо аппаратного обеспечения вам также потребуется программное обеспечение, которое работает на нем. По приблизительным оценкам, для умеренно сложного процессора (классические 16-битные инструкции, 8-битный уровень данных) ваши программные усилия будут сопоставимы с вашими аппаратными усилиями. (Для более упрощенного процессора вам потребуются дополнительные усилия по созданию ПО.) И как вы собираетесь загружать это ПО в свою машину?

Охота на жуков (и их решение) будет интересным занятием. Я бы посоветовал вам начать писать в VHDL и запускать его на симуляторе, который будет гораздо легче отлаживать, чем куча микросхем и проводов.

Два моих студента создали ~ 16-битный процессор с некоторым базовым программным обеспечением (включая порт GCC) за ~ 1 год, начиная с VHDL и C-кода для моделирования. АЛУ использовал чипы 74181, память была статической ОЗУ, и они использовали AtMega для взаимодействия между ПК и их компьютером. Компьютер был частично на беспаянных цепочках и частично на печатных платах (8 16-битных регистров). (Эти двое не были средними студентами!)


5

Да, это возможно. Но вам нужен микроконтроллер для математики. Это пример проекта. Он использует микроконтроллер AVR и ЖК-дисплей 16 × 2.


+1 У меня есть калькулятор, который использует процессор ARM. В наши дни микроконтроллер следует считать основным компонентом.
Спехро Пефхани

25
Вам не нужен микро, это просто делает вещи проще.
PlasmaHH

@PlasmaHH или микроконтроллер, или несколько макетов. Есть только базовые 2 входа? Веселиться. OTOH ROM или два + MUX + регистр = уже простой микроконтроллер.
Джон Дворак

Как вы думаете, микроконтроллеры делают математику? С ALU - из кремниевых / транзисторных / элементарных затворов в зависимости от масштаба, который вы просматриваете.
user3728501

Микроконтроллеры и микропроцессоры также сделаны из элементов электроники, так что вы можете сделать их на макете, без необходимости реального микроконтроллера
phuclv
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.