Можно ли сделать простой компьютер полностью с макетами и базовыми электронными компонентами? Возможно ли, например, построить научный калькулятор таким образом?
breadboard
computers
calculator
Коннектикут
источник
источник
Ответы:
Я не согласен с тем, что размещение микроконтроллера на макетной плате квалифицируется как сборка компьютера на макетной плате. За исключением ввода / вывода (например, клавиатуры и дисплея), микроконтроллер сам по себе является практически полноценным компьютером. Простое размещение его на макете и подключение нескольких проводов тривиально и может быть выполнено за десять минут.
Когда ФП спросил: «Можно ли сделать простой компьютер полностью с макетами и базовыми электронными компонентами?», Под базовыми электронными компонентами я подумал, что это означает что-то вроде этого:
Теперь это компьютер на макете (ну, несколько макетов), построенный из базовых компонентов . Описание этого здесь . Он состоит из десятка типов микросхем серии 74LS00. (Я не думаю, что мы хотим вернуться к транзисторам; оригинальный PDP-8 был размером с небольшой холодильник ).
Что касается научного калькулятора, если вы построили компьютер общего назначения, подобный показанному выше, его можно запрограммировать как научный калькулятор. Создание научного калькулятора с использованием только логических ИС (без компьютера) было бы чрезвычайно трудным; Все подобные калькуляторы (Ti, HP и т. д.) использовали специальные масштабные ИС . Вот самодельный калькулятор, который использует раннюю 4-битную ИС калькулятора.
Я согласен, что если кто-то хочет, чтобы компьютер работал и работал как можно быстрее, то использование микроконтроллера - это путь. Если кто-то хочет по-настоящему понять, как работает компьютер внутри системы, то построение одного из базовых микросхем - правильный путь.
источник
Это не только возможно, я фактически сделал это: см. Https://www.vttoth.com/CMS/projects/47.
Вот как выглядела проводка на задней стороне одного из макетов:
Конечно, все зависит от того, какие компоненты квалифицируются как «базовые». В моем случае основными компонентами были чипы TTL серии 74 ..., примерно сотня из них. Создавать компьютер полностью, скажем, на транзисторах ... это было бы слишком сложно.
Кроме того, мой 4-битный компьютер действительно недостаточно мощный, чтобы использовать его в качестве научного калькулятора, в основном из-за ограничений памяти (256 4-битных nybbles). Тем не менее, не очень сложно расширить адресное пространство, возможно, используя механизм разбиения на страницы, и 4096 nybbles (12-битных адресов) уже может быть достаточно, 65536 nybbles (16-битных адресов) наверняка.
источник
Да, это возможно, но вам понадобится немного больше, чем несколько макетов, чтобы придумать научный калькулятор, в зависимости, конечно, от того, что вы считаете базовым компонентом: называете ли вы транзистор базовым компонентом, или триггер , EEPROM или просто что-то, что вы можете припаять из старого холодильника.
Здесь есть несколько хороших ответов, но я бы хотел отметить одну вещь, которую люди часто не учитывают. Глядя на историю вычислительных устройств, сложность сборки компьютера из коры дерева и гвоздей заключается не в процессоре или в ALU. Основная проблема - память, Потому что вам нужно огромное количество этого для всей концепции хранимой программы для работы. Вы можете сделать процессор из нескольких триггеров и NAND-шлюзов; например, для применения в силовой электронике с конкретными ограничениями, я однажды разработал микропроцессор, который использует только 69 триггеров (4 16-битных регистра, 4 флага и 1 бит регистра состояния, обозначающего FETCH / EXECUTE). Это реализовано в кремнии, и люди пишут программное обеспечение, которое работает на нем. Это просто и соответствует размеру контакта стока силового транзистора. Но память, необходимая для хранения любой полезной программы, намного, намного больше.
В начале память была отправной точкой дизайна. Вы можете использовать бистабильные реле, как это было на ранних телефонных станциях. Вы можете использовать вакуумные трубки или транзисторы, чтобы сделать шлепанцы; и регистры процессора обычно были реализованы таким образом. Но для хранения программ и данных использовались бумажные ленты, магнитные ленты, вращающиеся диски или вращающиеся барабаны. Даже акустические волны на стальной проволоке, которые постоянно принимаются и ретранслируются электроникой. Все, что вы можете придумать, может содержать несколько битов в течение разумного периода времени с разумной стоимостью. На компьютерах с орбитальными аппаратами «Аполлон» и «Лунный корабль» использовались запоминающие устройства сердечника катушки, намотанные в виде веревок. Все это требует различного интерфейсного оборудования и оказывает огромное влияние на то, каким должен быть процессор, чтобы получить доступ к таким видам памяти. Полупроводниковая память действительно появилась только в 1970-х годах, наконец, отклонив такую сложность. Но опять же, современные динамические RAMS тоже не так просты.
Кроме того, есть еще одно замечательное свойство - проектировать оборудование ввода-вывода для компьютера. Несколько ламп подходят для некоторых приложений, но если вам нужен ввод / вывод текста или что-то еще более сложное, вы снова столкнетесь с большими трудностями. Считыватели перфокарт, принтеры и бумажные терминалы в свое время были огромным бизнесом. Видеотерминал VT100 с текстовым режимом 1978 года имеет гораздо больше памяти и вычислительной мощности, чем ваш макет научного калькулятора.
источник
Это возможно, но сложность и размер зависят от того, что вы называете базовыми электронными компонентами. Логика ALU и секвенсора немного сложна, но выполнима. Память проста, но базовый шаблон должен повторяться очень много раз (подумайте тысячи раз).
Помимо аппаратного обеспечения вам также потребуется программное обеспечение, которое работает на нем. По приблизительным оценкам, для умеренно сложного процессора (классические 16-битные инструкции, 8-битный уровень данных) ваши программные усилия будут сопоставимы с вашими аппаратными усилиями. (Для более упрощенного процессора вам потребуются дополнительные усилия по созданию ПО.) И как вы собираетесь загружать это ПО в свою машину?
Охота на жуков (и их решение) будет интересным занятием. Я бы посоветовал вам начать писать в VHDL и запускать его на симуляторе, который будет гораздо легче отлаживать, чем куча микросхем и проводов.
Два моих студента создали ~ 16-битный процессор с некоторым базовым программным обеспечением (включая порт GCC) за ~ 1 год, начиная с VHDL и C-кода для моделирования. АЛУ использовал чипы 74181, память была статической ОЗУ, и они использовали AtMega для взаимодействия между ПК и их компьютером. Компьютер был частично на беспаянных цепочках и частично на печатных платах (8 16-битных регистров). (Эти двое не были средними студентами!)
источник
Да, это возможно. Но вам нужен микроконтроллер для математики. Это пример проекта. Он использует микроконтроллер AVR и ЖК-дисплей 16 × 2.
источник