Одноплатный компьютер на Z80. Часть 1

Я увлекаюсь электроникой уже достаточно давно, и в основном мои интересы были связаны с радиоприемными и передающими устройствами. Собирал КВ приемники и передатчики, различные генераторы, частотомеры. Программировал микроконтроллеры Atmel для каких-то утилитарных задач вроде мигалки светодиодами или управления синтезатором частоты. Arduino UNO — так до сих пор рабочая лошадка. Но тем не менее весь интерес в основном крутился вокруг радио.

Два с половиной года назад я заинтересовался программированием, и, решив освоить что-то простое, взялся за Python. Попутно появилось желание расширить свои знания в области работы компьютера с самых его основ. Микроконтроллеры для этой цели не совсем подходили, поскольку их архитектура, представляющая собой процессор, ОЗУ, ПЗУ, устройства ввода-вывода, упакованные в один корпус, не позволяла взглянуть на работу процессора изнутри и досконально разобраться. Нужно было что-то более простое и основополагающее.

В поисках подходящего для себя материала я наткнулся на 4-битный процессор TD-4:

— ссылка на Гитхаб: https://github.com/wuxx/TD4-4BIT-CPU?ysclid=mk6b8drmhv370966218

— исчерпывающее описание на Хабр: https://habr.com/ru/companies/ruvds/articles/742466/?ysclid=mk6vs8rvy8340831492

Процессор TD-4

На дискретной логике, сумматорах, дешифраторах собраны основные узлы процессора (АЛУ, регистры, блок декодирования команд, ввод-вывод), а также собранное на механических DIP переключателях оригинальное ПЗУ. По-моему просто гениально! Я не собирал его в натуре, а сделал модель в Proteus. Все заработало, хоть и не с первого раза. Этот проект вполне подойдет для ознакомления с основными узлами процессора и принципами их совместной работы.

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

— 4-битный процессор MP-4 (https://www.instructables.com/Simplest-4-Bit-TTL-CPU/).

— Процессор на дискретной логике «Big mess of wires» (https://www.bigmessowires.com/bmow1/). Судя по писанию монструозная конструкция процессора с большим количеством проводов (откуда, собственно, и такое название), которая, тем не менее, вполне себе работоспособна.

Процессор Big Mess of Wires

— Процессор «Simple as possible» (SAP-1) (https://github.com/KarenOk/SAP-1-Computer?ysclid=mk6wm79jb990278743). Собран в виде модели в симуляторе логических схем Logisim. Есть несколько версий проекта SAP-1, SAP-2, SAP-3, отличающихся архитектурой и набором команд.

Процессор SAP-1

Далее в поисках других интересных конструкций я наткнулся на проект NAND-TO-TETRIS (https://www.nand2tetris.org/). Детище двух профессоров из Израиля — Ноама Нисана (Noam Nisan) и Шимона Шокена (Shimon Schocken). Проект состоит из двух курсов — создание модели процессора (Hardware) и написание программного обеспечения для него (Software).

Процессор NAND-TO-TETRIS

В первом курсе из базовых строительных блоков дискретной логики (элементов AND, OR, NOT) путем моделирования постепенно создаются и связываются друг с другом основные элементы процессора (АЛУ, регистры, ПЗУ, ОЗУ и т. д.). Также в курсе предлагается и объясняется простая система команд процессора, и далее для нее дается задание по написанию ассемблера.

Второй курс посвящен написанию виртуальной машины для процессора — интерпретатора языка высокого уровня в язык низкого уровня (ассемблер), компилятора и упрощенной операционной системы на базе созданного процессора.

Оба курса снабжены очень подробными печатными и видео материалами, все расписано и разжевано. Есть даже книжное издание.

Поскольку весь проект изначально заточен только на программную реализацию, то с микросхемами, платами и паяльником возиться не придется. В ходе освоения курса потребуется освоить язык описания аппаратуры интегральных схем HDL, а для написания ассемблера, и остальных программ со второй части курса — использовать любой другой язык программирования.

Я прошел полностью первый курс, собрал процессор, написал для него ассемблер на Python, начал писать виртуальную машину из второй части курса и где-то тут мой запал угас…. Я понял, что хочу изучать не виртуальные команды для процессора и городить интерпретатор для него, а окунуться в реальное железо. Хотя если довести дело до конца, результат будет весьма впечатляющим. Авторы проекта на своем сайте приводят примеры законченных проектов NAND-TO-TETRIS своих учеников — там и графические приложения, и математические расчеты, и даже игры. В общем для погружения в тему весьма советую!

И вот тут наконец я подобрался к своему первому 8-битному компьютеру на процессорах 70-х — 80-х годов. О нем в следующем посте.

Одноплатный компьютер на Z80. Часть 1: 33 комментария

  1. Уведомление: xenical pastillas precio

  2. Уведомление: tadalafil pah label

  3. Уведомление: vardenafil in japan

  4. Уведомление: flagyl dose for pediatric appendicitis

  5. Уведомление: metronidazole 500 mg image

  6. Уведомление: bupropion dosage for add

  7. kvartiry-spb 494

    ЖК премиум-класса https://kvartiry-spb78.ru от застройщика — современные квартиры с продуманными планировками, высоким уровнем комфорта и развитой инфраструктурой. Закрытая территория, подземный паркинг, благоустроенные дворы и престижное расположение для комфортной жизни.

  8. Williamfurdy

    Портал о строительстве https://fmsu.org.ua и ремонте с подробными руководствами, обзорами оборудования и строительных материалов. Узнавайте о новых технологиях, современных решениях и практическом опыте специалистов отрасли.

  9. WalterGab

    Ремонт и строительство https://intellectronics.com.ua информационный портал о современных технологиях, строительных материалах и практических решениях для дома. Полезные статьи, обзоры, инструкции и советы специалистов для успешной реализации проектов любой сложности.

  10. Matthewprage

    Полезный строительный https://quickstudio.com.ua блог с идеями для ремонта, обустройства дома и повышения комфорта. Читайте обзоры материалов, советы специалистов и вдохновляйтесь новыми проектами.

  11. MichaelCenny

    Портал о строительстве https://purr.org.ua домов, ремонте квартир и благоустройстве участков. Читайте статьи о строительных технологиях, дизайне интерьеров, выборе подрядчиков и современных тенденциях отрасли.

  12. CraigNor

    In 2026 is online casino ideal nog altijd de populairste keuze onder Nederlandse gokkers — snel, veilig en nu verrijkt met het Wero-systeem. Kwalitatieve iDEAL casino’s staan bekend om directe uitbetalingen, een gevarieerd spelaanbod en volledige naleving van de KSA-vereisten.

  13. JosephPit

    Hrajete v kasinu? nejlepsi zahranicni casino lakaji ceske hrace cim dal vice — a neni se cemu divit. Bohatsi herni knihovna, stedrejsi bonusy a moznost platit kryptomenami delaji z techto platforem zajimavou alternativu k tuzemskym kasinum. Nize najdete proverene zahranicni weby dostupne ceskym hracum v roce 2026.

  14. Jeffreyiteds

    Do you like excitement? $10 payid casino sites choosing the right casino comes down to more than just game selection. For players in Australia, seamless AUD bank transfers via PayID have become a deciding factor — offering a level of speed and security that credit cards and e-wallets simply can’t match.

  15. WilliamWhorn

    Chcete hrat bez zbytecne byrokracie? casino bez overeni identity umoznuji ceskym hracum okamzity pristup ke hram bez nutnosti dokladat osobni doklady. Rychla registrace, anonymni hrani a rychle vyplaty — to jsou hlavni duvody, proc si tato casina ziskavaji stale vice priznivcu.

  16. Robertvot

    the very best instant withdrawal casinos australian players know the frustration of slow withdrawals — and the best casinos have listened. Instant withdrawal platforms now process payouts in real time, sending your AUD winnings straight to your bank account or digital wallet without unnecessary delays or paperwork.

  17. Richardvem

    Разбираем, почему не работает 1win и какие причины могут вызывать проблемы с доступом. Возможные технические сбои, обновления сервиса, ошибки подключения, ограничения провайдера и способы проверки работоспособности сайта.

  18. Kennethmum

    Что делать, если 1win не выводит деньги? Разбираем возможные причины задержек выплат, особенности проверки аккаунта, статусы заявок и распространенные проблемы, с которыми могут столкнуться пользователи при выводе средств.

  19. Michelpoity

    Профессиональная верификация гугл мой бизнес для компаний, которые хотят подтвердить профиль организации и повысить доверие клиентов. Корректно оформленная карточка помогает улучшить видимость бизнеса в Google Поиске и на Картах, привлекать новых клиентов и управлять информацией о компании.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *