Как я компьютер "Intel 8080" собирал
Всем привет. Вкратце расскажу о том, как я собирал и настраивал очень простой компьютер. К слову, данной разработке скоро исполнится 50 лет - ведь этот процессор был представлен аж в 1974 году. Этот ПК содержит все элементы, которые есть и у современного аналога. Мы попробуем собрать некое "изделие", да ещё и отладить, чтобы оно заработало. Процесс в картинках, в детали постараюсь не углубляться. Возьмём пустую печатную плату компьютера:
К слову, на данной плате имеются все узлы, которые есть у современного компьютера - планка оперативной памяти аж на 4 килобайта, процессор частотой 1,7 МГц, видеокарта "разрешением" примерно 25x64 знакомест, и вместо жесткого диска - ПЗУ на 2 килобайта. Остальное занимает логика мат. платы - то, что сейчас содержит в себе северный и южный мост.
Пайка. Установим детали - часть 1:
Установим детали - часть 2:
Тот "кларнет" справа - это "выход из ситуации": были микросхемы только большого объема, пришлось уменьшить, и наклонить, т.к. она не помещалась по размеру. Собрали. Теперь давайте попробуем включить, без установки процессора (чтобы раньше времени его не спалить):
Видим работу выходного сдвигового регистра. В него загружен мусор, поэтому на экране просто чередуются полоски. Теперь попробуем поставить все детали. Результат - на видео:
Понятное дело, что наш компьютер так работать не должен. Но в чём же проблема? Для того, чтобы это выяснить, пришлось углубиться в детали, и собрать некоторые приспособления для отладки:
Приспособление №1: на микросхему "ПЗУ" цепляются светодиоды, чтобы посмотреть, исправны ли её линии данных.
Далее - приспособление №2: нужно доработать генератор тактовых импульсов, чтобы он позволил нам приостанавливать процессор, иначе мы не увидим на светодиодах ничего полезного.
Для определения неисправности понадобилась схема - зелёным цветом я отмечал на ней те узлы, которые, по моему мнению, точно исправны, так как были проверены заранее на приборах. На этой же схеме я делал рабочие пометки:
Для того, чтобы определить характер неисправности, понадобилось ассемблировать небольшую программу:
Данная программа после сборки загружается в ПЗУ. Она позволяет инициализировать периферию, после чего заполнить экран компьютера символами. Далее я более подробно расскажу, как она работает. Приводится, также, "развёртка" данной программы по выполняемым командам:
После загрузки программы жмём на генератор и смотрим, что высвечивается на наших диагностических лампочках:
На удивление, увиденное на лампочках полностью совпадает с приведённой распечаткой. Это значит, что процессор работает, периферия работает. Однако, проблема ведь где-то есть? Пришлось обратиться к литературе, где показано, какие линии следует проверить более подробно. Взял литературу из журнала "Радио". Всё совпадало вплоть до одного момента:
Оказалось, что на вход WR сигнал не поступает. Однако, откуда он должен там взяться? Пришлось углубиться в архитектуру компьютера, и подробно разобраться, как формируется данный сигнал:
Выяснилось, что наша микросхема "видеокарты" принимает сигнал с двух источников - от процессора, либо от микросхемы ПДП. В целом работу этого узла можно описать так:
1. Видеоадаптер посылает сигнал на ПДП, о том, что он готов принять знак
2. ПДП принимает сигнал, приостанавливает процессор, после чего извлекает знак из ОЗУ, и подаёт сигнал видеоадаптеру, о том, что знак извлечён
3. Видеоадаптер принимает данный символ, после чего запрашивает следующий.
Проблема возникла на втором этапе - ПДП контроллер не подаёт сигнал. При этом, все условия для того, чтобы этот сигнал подавался, выполняются. Я предположил неисправность самой микросхемы ПДП. Потому, что данный сигнал должен выходить с 1 ножки. Соответственно, при хранении и переноске микросхемы в течение 39 лет просто напросто можно было повредить её статикой - и выжечь этот вход. Косвенно это подтверждалось тем, что если отключить данную ножку, то работа схемы абсолютно не менялась.
Было решено заказать замену данной микросхеме, после чего продолжить диагностику (если это будет необходимо). Спустя 10 дней микросхема прибыла:
И мы получили результат. Ура!
Немного для любознательных: данная программа (как и всё устройство в целом) работает по принципам, заложенным ещё Аланом Тьюрингом в его работе 1936 года. Мы имеем какую-то последовательность, записанную в ПЗУ. Программа проходит по этой последовательности, а результат вычислений записывает в участок на ОЗУ. После чего наш видеоадаптер и чипсет извлекают данный результат описанным выше способом, и преобразуют его в видимые символы.
Также можно запустить и штатную программу. Видим надпись "РАДИО-86РК". Она немного уплыла, но это зависит от телевизора, и в дальнейшем можно скорректировать.
Вот такая получилась сборка. В дальнейшем, когда будет время, опишу процесс более подробно на техническом портале.
Kekovsky, 2023 г. Всем мира и добра.
IT минувших дней
1.1K постов7.2K подписчиков
Правила сообщества
Запрещается добавлять новости о прошлогодних новинках, а также посты, не относящиеся к тематике "ретро в ИТ".
Желательно соблюдать правила приличия.