Самый простой компьютер
Компьютер Simple-As-Possible (SAP) — это упрощенная компьютерная архитектура, разработанная для образовательных целей и описанная в книге «Цифровая компьютерная электроника» Альберта Пола Мальвино и Джеральда А. Брауна. [1] Архитектура SAP служит примером в области цифровой компьютерной электроники для построения и анализа сложных логических систем с использованием цифровой электроники.
Компания Digital Computer Electronics последовательно разрабатывает три версии этого компьютера, получившие обозначения SAP-1, SAP-2 и SAP-3. Каждая из последних двух основывается на предыдущей версии, добавляя дополнительные возможности вычислений, управления потоками и ввода/вывода. SAP-2 и SAP-3 полностью Тьюринг-полны .
Архитектура набора команд (ISA), для реализации которой предназначена окончательная версия компьютера (SAP-3), создана по образцу и совместима с ISA семейства микропроцессоров Intel 8080/8085. Таким образом, инструкции, реализованные в трех вариантах компьютеров SAP, в каждом случае являются подмножеством инструкций 8080/8085. [2]
Варианты
[ редактировать ]Дизайн Бена Итера
[ редактировать ]
Ютубер и бывший сотрудник Академии Хана Бен Итер создали учебное пособие по созданию 8-битного Тьюринг-полного компьютера SAP на макетных платах из логических чипов ( серии 7400 ), способных запускать простые программы, такие как вычисление последовательности Фибоначчи . [3] Конструкция Eater состоит из следующих модулей:
- с регулируемой скоростью (верхнее ограничение в несколько сотен герц ) Модуль часов , который можно перевести в «ручной режим» для пошагового прохождения тактовых циклов.
- Три модуля регистров (регистр A, регистр B и регистр инструкций), которые «хранят небольшие объемы данных, обрабатываемых ЦП».
- Арифметико -логическое устройство (АЛУ), способное складывать и вычитать 8-битные целые числа , дополняемые до 2, из регистров A и B. Этот модуль также имеет регистр флагов с двумя возможными флагами (Z и C). Z означает «ноль» и активируется, если АЛУ выдает ноль. C означает «перенос» и активируется, если АЛУ выдает бит переноса.
- Модуль оперативной памяти , способный хранить 16 байт. Это означает, что оперативная память является 4-битной адресуемой. Как говорится на веб-сайте Eater, «это, безусловно, самое большое ограничение [компьютера]». [4]
- 4-битный программный счетчик , отслеживающий текущую инструкцию процессора, соответствующий 4-битному адресуемому ОЗУ.
- Выходной регистр, который отображает свое содержимое на четырех 7-сегментных дисплеях, способных отображать как беззнаковые, так и дополняемые до 2 целые числа со знаком. Выходы 7-сегментного дисплея управляются EEPROM , которые программируются с помощью Arduino микроконтроллера .
- Шина , которая соединяет эти компоненты вместе. Компоненты подключаются к шине с помощью буферов с тремя состояниями .
- Модуль «логики управления», который определяет «коды операций, которые процессор распознает, и что происходит при выполнении каждой инструкции». [5] а также сделать компьютер полным по Тьюрингу. ЦП Микрокоды программируются в EEPROM с помощью микроконтроллера Arduino.
Дизайн Бена Итера вдохновил на создание множества других вариантов и улучшений, в первую очередь на Eater на Reddit форуме . Некоторые примеры улучшений:
- Расширенный модуль оперативной памяти, способный хранить 256 байт, используя все 8-битное адресное пространство. С помощью регистров сегментации модуль ОЗУ можно дополнительно расширить до 16-битного адресного пространства, соответствующего стандарту для 8-битных компьютеров.
- Регистр стека, позволяющий увеличивать и уменьшать указатель стека.
Кенбак-1
[ редактировать ]
Kenbak-1 — это 8-битный компьютер, запрограммированный на чистом машинном коде с использованием набора кнопок и переключателей. Выход представлял собой ряд огней. Впервые он был продан в начале 1971 года. Поскольку Kenbak-1 был изобретен до появления первого микропроцессора, машина не имела однокристального процессора, а вместо этого была основана исключительно на TTL микросхемах небольшой интеграции. Он предлагал всего 256 байт памяти. Тактовая частота составляла 1 МГц, но средняя скорость программы составляла менее 1000 инструкций в секунду из-за большого количества тактовых циклов, необходимых для каждой операции, и медленного доступа к последовательной памяти.
Ссылки
[ редактировать ]- ^ Мальвино, Альберт Поль; Браун, Джеральд А. (1993). Цифровая компьютерная электроника (3-е изд.). МакГроу-Хилл . стр. 140–212. ISBN 0-02-800594-5 .
- ^ Мальвино, Альберт Поль; Браун, Джеральд А. (1993). Цифровая компьютерная электроника (3-е изд.). МакГроу-Хилл. стр. 143–144. ISBN 0-02-800594-5 .
- ^ «Компьютерщик собирает 8-битный компьютер с нуля и объясняет, как работает каждая его часть» . Фоссбайты . 01.05.2017 . Проверено 4 апреля 2021 г.
- ^ Пожиратель, Бен. «Модуль оперативной памяти (ОЗУ)» . Бен Итер . Проверено 5 апреля 2021 г.
- ^ Пожиратель, Бен. «Логика управления процессором» . Бен Итер . Проверено 5 апреля 2021 г.
Внешние ссылки
[ редактировать ]- Онлайн-тренажер SAP-1 (на английском, испанском и каталонском языках)
- Проектирование и реализация компьютера «Простой-как-возможно-1» (SAP-1) с использованием FPGA и VHDL
- Реализация компьютера «Простой, насколько это возможно» — SAP1, написанная на VHDL (на английском и португальском языках).
- Моделирование SAP-1 с использованием Digital Works (на английском и португальском языках)
- Некоторые компьютерные видеоролики Бена Итера, включая 8-битный компьютер.