Я увлекаюсь электроникой уже достаточно давно, и в основном мои интересы были связаны с радиоприемными и передающими устройствами. Собирал КВ приемники и передатчики, различные генераторы, частотомеры. Программировал микроконтроллеры 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

На дискретной логике, сумматорах, дешифраторах собраны основные узлы процессора (АЛУ, регистры, блок декодирования команд, ввод-вывод), а также собранное на механических DIP переключателях оригинальное ПЗУ. По-моему просто гениально! Я не собирал его в натуре, а сделал модель в Proteus. Все заработало, хоть и не с первого раза. Этот проект вполне подойдет для ознакомления с основными узлами процессора и принципами их совместной работы.
Есть еще несколько аналогичных по конструкции проектов разной степени сложности, ссылки на которые приведу ниже (список не исчерпывающий!). Данные конструкции лично не собирал и не моделировал, знакомился только с описанием:
— 4-битный процессор MP-4 (https://www.instructables.com/Simplest-4-Bit-TTL-CPU/).
— Процессор на дискретной логике «Big mess of wires» (https://www.bigmessowires.com/bmow1/). Судя по писанию монструозная конструкция процессора с большим количеством проводов (откуда, собственно, и такое название), которая, тем не менее, вполне себе работоспособна.

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

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

В первом курсе из базовых строительных блоков дискретной логики (элементов AND, OR, NOT) путем моделирования постепенно создаются и связываются друг с другом основные элементы процессора (АЛУ, регистры, ПЗУ, ОЗУ и т. д.). Также в курсе предлагается и объясняется простая система команд процессора, и далее для нее дается задание по написанию ассемблера.
Второй курс посвящен написанию виртуальной машины для процессора — интерпретатора языка высокого уровня в язык низкого уровня (ассемблер), компилятора и упрощенной операционной системы на базе созданного процессора.
Оба курса снабжены очень подробными печатными и видео материалами, все расписано и разжевано. Есть даже книжное издание.
Поскольку весь проект изначально заточен только на программную реализацию, то с микросхемами, платами и паяльником возиться не придется. В ходе освоения курса потребуется освоить язык описания аппаратуры интегральных схем HDL, а для написания ассемблера, и остальных программ со второй части курса — использовать любой другой язык программирования.
Я прошел полностью первый курс, собрал процессор, написал для него ассемблер на Python, начал писать виртуальную машину из второй части курса и где-то тут мой запал угас…. Я понял, что хочу изучать не виртуальные команды для процессора и городить интерпретатор для него, а окунуться в реальное железо. Хотя если довести дело до конца, результат будет весьма впечатляющим. Авторы проекта на своем сайте приводят примеры законченных проектов NAND-TO-TETRIS своих учеников — там и графические приложения, и математические расчеты, и даже игры. В общем для погружения в тему весьма советую!
И вот тут наконец я подобрался к своему первому 8-битному компьютеру на процессорах 70-х — 80-х годов. О нем в следующем посте.

Уведомление: xenical pastillas precio
Уведомление: tadalafil pah label
Уведомление: vardenafil in japan
Alright, wr777gamecom seems pretty standard. The games are okay, nothing special, but they work. Worth a look if you’re just looking for something to do. wr777gamecom
Been trying my hand at luckypkr666game. If you’re a poker fan, might be your cup of tea. Good interface and decent player base. Fancy joining the game? luckypkr666game
Just had a session on lucky87game. Got a few quid back so can’t complain. Variety of games Keeps things pretty interesting. Definitely worth a look lucky87game
Уведомление: flagyl dose for pediatric appendicitis
Уведомление: metronidazole 500 mg image
555LuckyNumber, feeling lucky already playing here! I’ve noticed more frequent payouts than on similar sites. Maybe this is my new spot! Thanks for the fair play!555luckynumber
JiliCrown24, salutations! Jili games are a blast! Thanks for including them in your collection. The site is legit.jilicrown24
Been cruising on new88link for a bit now, and gotta say, it’s pretty smooth. Easy to navigate and the games are decent. Give it a shot new88link if you’re looking for something new.
monopoly results live monopoly results live.
Уведомление: bupropion dosage for add
ЖК премиум-класса https://kvartiry-spb78.ru от застройщика — современные квартиры с продуманными планировками, высоким уровнем комфорта и развитой инфраструктурой. Закрытая территория, подземный паркинг, благоустроенные дворы и престижное расположение для комфортной жизни.