Похожая задача интересовала и меня последние 3 года - но от изначальной идеи строить на транзисторах я не отказался, и сейчас могу рассказать свои соображения и показать текущие наработки, а также - хочу спросить вашего мнения о том, каким на ваш взгляд должен быть _серийный_ транзисторный декоративный компьютер. Но сразу нужно заметить, что работы впереди еще на пару лет:-)
Главный вопрос - зачем все это нужно, если есть FPGA и всякие Raspberry Pi?
Ответ простой:
1) Мне интересно этим заниматься в свободное время и
2) Декоративный компьютер (декоративный - это вопрос отношения к компьютеру, а не его внешности) - он как декоративные домашние животные: мопс не отгрызет ногу грабителю, а персидский котик не победит в бою метрокрысу. Но с ними интересно играть и показывать гостям - даже если в области вычислений, охраны и охоты они сильно уступают «боевым» аналогам.
Но можно ли обойтись всего 4 транзисторами? Я немного пораскинул мозгами, и получилось следующее:
Графики работы:
Схему для симуляции в LTspice IV можно .
Принцип работы следующий: т.к. порядок слагаемых не имеет значения, мы их просто аналогово смешиваем, и точно подбирая пороговое напряжение сдвоенного инвертора - сразу получаем перенос. Затем вычитая на транзисторе Q3 из аналоговой суммы перенос - получаем сумму. Конечно, все это требует точного подбора уровней срабатывания, и симуляции с учетом температуры. Диоды Шоттки - для предотвращения входа транзисторов в глубокое насыщение, что резко снижает скорость работы.
Использование полевых транзисторов возможно, и обеспечивает лучшую температурную стабильность, главное чтобы у них было достаточно низкое пороговое напряжение.
Сдвиговой регистр - самая ответственная часть этого транзисторного компьютера. Классическая реализация на синхронных D-триггерах - требует чудовищного количества транзисторов на бит.
У меня получилось уместиться в 2 транзистора на бит, со следующими особенностями:
1) Регистры - основаны на конденсаторах, и если их «не двигать» - то со временем данные пропадут. Но с полевым транзистором время хранения достаточно большое.
2) Передача данных на следующую ступень - биполярным транзистором. В половине случаев он работает в обратном, нестандартном режиме - пробивное напряжение намного меньше (но 3.3В должно держать), и коэффициент усиления намного ниже прямого включения (но я надеюсь будет достаточно).
3) Каждая следующая ступень - инвертирует сигнал, это не проблема когда нужен только последовательный доступ (например в случае регистров процессора). Если же будет нужен не инвертированный параллельный выход - нужно будет добавить 8 инверторов (т.е. 16-и битный сдвиговой регистр потребует 40 транзисторов, а не 32).
4) Остается проблема с насыщением биполярного транзистора.
График работы:
С этими компактными реализациями цифровых схем - уложиться в 1000 транзисторов думаю будет вполне реально.
На этом пока все - меня же ждет впереди чудовищно много работы
А теперь - несколько вопросов к читателям: Какие варианты кажутся вам приемлемыми?
Если в последние лет 40 для выполнения задачи нужен микропроцессор – единственный рассматриваемый вариант это купить готовый. Ну или в крайне редких случаях «накатить» стандартное конфигурируемое FPGA ядро (например Nios II) с парой дополнительных инструкций. Многие сейчас даже не могут представить, что процессоры могут получаться каким-то другим путем:-) Это всё равно что считать что продукты беруться в магазине, а вырастить их самому – абсолютно невозможно.
С одной стороны, зачем помнить основы технологии если все производится промышленно? На мой взгляд – чтобы быть уверенным, что технология не будет утеряна, что даже если случиться ядерная война компьютеры можно будет собирать из подручных материалов (так же как и с продуктами в начале 90 - многим пришлось возвращаться к технологии 100-летней давности из-за краха инфраструктуры производства и доставки).
Оказывается есть такие люди, которые до сих пор в качестве хобби делают центральные процессоры из дискретных компонент(транзисторов, реле) и микросхем низкой степени интеграции (счетчики, регистры). Единственные применяемые микросхемы – память (оперативная и перепрограммируемая).
В этой статье я хочу рассказать кратко об архитектуре и о нескольких реально работающих процессорах, сделаных в домашних условиях.
А теперь несколько самых выдающихся реализаций:
Никому не известный инженер Стив Чемберлин (Steve Chamberlin) решил изменить общепринятое мнение о том, что процессор своими руками создать невозможно. Точнее, процессор достаточно сложного ПК, который смог бы дублировать функции 8-битных вычислительных устройств, получивших распространение в начале 80-х. Вначале это было небольшой проект, который со временем вырос в нечто большее. Сейчас BMOW 1 представляет собой полноценный ПК на основе самодельного процессора, который запускает программы, имеет клавиатуру, VGA-видео, аудио-систему. Программная среда для BMOW 1 - Basic.
Процессор, созданный Стивом Чемберлином, состоит из десятков простейших логических чипов, так что не все в этом ПК - проволока и текстолит. Однако собиралось все это вручную, на что у Стива ушло несколько лет. Как уже говорилось выше, вначале он хотел просто создать процессор, собранный самостоятельно, но в конце-концов было принято решение создать рабочий ПК, который смог бы выполнять определенные задачи.
Стив поставил перед собой несколько целей, все из которых были выполнены:
Создать процессор из простых элементов, были использованы чипы 7400 серии, без компонентов серий 6502, Z-80 и т.д.;
Свести сложность аппаратной части к минимуму;
Компьютер должен был запускать «реальные» программы, не являясь чисто «игрушкой»;
Процессор должен стать элементом системы полноценного ПК;
Система должна быть достаточно быстрой для интерактивного запуска и работы программ.
Сама идея возникла у Стива в ноябре 2007, а к реализации инженер приступил в феврале 2008 года. В апреле 2008 система BMOW 1 запустилась в первый раз, чему наш создатель был несказанно рад. Постепенно были добавлены VGA-видео, аудио-система, BASIC, бутлоадер, который позволял взаимодействовать с подключенным ПК. Через некоторое время BMOW 1 стал достаточно сложным, чтобы обеспечивать работу непростых программ. Основные работы по созданию BMOW 1 были завершены в феврале 2009 года, ПК дорабатывался до настоящего времени.
Вот некоторые подробности о конфигурации устройства:
Текущая частота работы процессора около 2 МГц. Процессор может быть «разогнан» до 3 МГц (теоретически, пока не проверено);
512 КБ RAM, 512 КБ ROM;
Потребление энергии 10 Ватт, 2А при 5В;
Картинка на «выходе» имеет разрешение 512*480, два цвета, или же 128*240 - 256 цветов;
Аудио - трехканальный звуковой генератор;
Обычная клавиатура с PS\2-коннектором;
Дополнительный дисплей для вывода текста, 24*2 символа;
1250 проволочных проводника, т.е. около 2500 соединений;
Другие подробности - на
Не многие уже помнят, как в 1991 году на полках магазинов появился 16-разрядный персональный компьютер "Поиск". Этот моноблок тогда покорил многих. Конечно, в плане производительности он уступал IBM PC/XT, однако он был наш. Блоки расширения позволяли немного увеличить его функционал. Благодаря этому ПК, многие жители нашей страны стали осваивать программирование, да и вообще смогли получить доступ к высоким технологиям. Сегодня поговорим о нечто похожем, но собранном одним человеком своими собственными руками.В то время, как фабрики штампуют современные процессоры сотнями тысяч штук в день, калифорнийский энтузиаст Стив Чемберлен (Steve Chamberlin) решил построить процессор своими руками. В результате для изготовления 8-битного процессора, аналогичного тому, что стоял в компьютерах Apple II, Commodore 64 и ранних моделях игровых приставок Atari, понадобилось 18 человекомесяцев, 1000 долларов США и 1"253 соединительных провода.
При изготовлении центрального процессора для всего компьютера Чемберлен выбрал проводные соединения, а не дорожки, поскольку провода легко заменить. Из-за нагромождения проводов компьютер получил название BMOW (Big Mess of Wires – «Большая куча проводов»). Процессор содержит три 8-битных регистра данных, 24-битная адресация памяти и 12 режимов адресации. По системе команд и конструкции процессор BMOW ближе всего к процессору MOS Technology 6502 – такие процессоры до сих пор используются в некоторых встраиваемых системах. Кроме того, легендарный процессор 6502 установлен в мозге робота Бендера из сериала «Футурама», а аналоги этого процессора устанавливались в болгарские компьютеры «Правец» и советские ПК «Агат».
Компоненты процессора BMOW смонтированы на панели Augat размером 12×7 дюймов, содержащей 2’832 позолоченных контакта – автор приобрел ее на онлайн-аукционе за 50 долларов. В итоге пришлось использовать 1"253 провода для создания 2"506 отдельных соединений – скорость пайки составила примерно 25 проводов в час. Сам автор отмечает, что, несмотря на видимую сложность, пайка проводов отняла не так уж много времени. Больше всего времени ушло на конструирование, отладку и раздумья.
На базе своего процессора BMOW Чемберлен создал практически полноценный компьютер с клавиатурным входом, однострочной ЖК-панелью, гнездом USB, трехголосной звуковой системой и видеовыходом VGA. Для вывода информации на цветной монитор использована микросхема UMC 70C171, которую автору удалось найти в ящике для ненужных деталей на складе магазина электроники. Весь компьютер помещен в корпус от компьютера X Terminal, популярного в начале 90-х годов прошлого века.
Чемберлен заметил, что с современными деталями работать намного сложнее, поскольку вместо привычных ножек, которые можно впаивать в отверстия на печатной плате, для монтажа используются совсем другие технологии, недоступные любителям, в том числе технология волновой пайки.
Технические характеристики BMOW:
Рабочая частота 2 МГц, хотя тестировался при частоте 3МГц;
Объем оперативной памяти 512 Кб;
Объем ПЗУ 512 Кб;
Потребляемая мощность 10 Вт;
Обеспечивается разрешение 512 х 480 или 128 х 240, в зависимости от глубины цвета;
Программируемый звуковой генератор;
Клавиатура имеет стандартный разъем подключения PS/2.Свой компьютер Стив Чемберлен представил на четвертой ежегодной выставке самоделок Maker Faire в г. Сан-Матео (San Mateo, шт. Калифорния, США). Подробнее о ходе работ над компьютером BMOW можно прочитать на сайте самого Чемберлена.