≡ Передовица » Hardware » Частные разработки » Модуль ПЗУ большого объёма
Модуль ПЗУ большого объёмаПроектировался как частичная замена дисководу, автор - инженер из г. Камышин, представляет собой 32+2 Кб постоянной памяти, доступной через регистры ввода/вывода. Был предназначен для частичной замены дисководу. Может использоваться для автозагрузки при включении компьютера. Выполнен в единственном экземпляре. КонструкцияСостоит из двух микросхем ПЗУ и нескольких вспомогательных микросхем:
Адреса регистровДля выбора адреса D3 используются два счётчика адреса, обозначаемых далее как AdrL (155ие19, 8 бит) и AdrH (2 x 155ие15, 4 + 4 бит), итого 16 разрядов, из них используется 15. x - номер слота, n - номер слота + 8:
Порядок работы с устройствомПЗУ D1 может содержать любой программный код, который напрямую доступен центральному процессору. В частности, там может содержаться сигнатура автозагрузчика, в этом случае системный монитор при включении машины передаст управление коду, хранящемуся в D1 (т.е. устройство будет загрузочным). D3 разбито на блоки по 256 байт. Чтобы считать блок, нужно задать его адрес и в цикле запросить все 256 байт. Адрес задаётся сбросом счётчиков адреса (C0n3) с последующей записью номера блока в регистр AdrH (C0n2). Чтение очередного байта происходит из регистра чтения (C0n0), для перехода к следующему байту необходимо увеличить счётчик, выполнив произвольную операцию с регистром увеличения адреса (C0n1). Сброс счётчиков можно не выполнять, если предыдущий блок прочитан полностью. Если считываются несколько блоков подряд, можно также пропустить запись номера блока в регистр AdrH для второго и последующих читаемых блоков. Простейший автозагрузчик нулевого блока D3 в ОЗУ, с последующей передачей управления:
На сайте "Проект создания реплик ПЭВМ Агат" выложен проект данной платы.
* * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |