©2015 emulator2015@ya.ru

Описание ОЭВМ КБ1013ВК1-2

Основные сведения о микросхеме приведены в журнале «Микропроцессорные средства и системы» 1987г. №5 стр. 5-18. К сожалению, данная статья не описывает многие особенности и функции ОЭВМ, и содержит ошибки - как банальные опечатки, так и логические. Данная публикация призвана дополнить информацию и исправить недочёты.

В справочном формате будут изложены сведения об основных блоках ОЭВМ, системе команд и о внешнем интерфейсе для чтения ПЗУ и тестирования узлов процессора.

 

Часть 1.

БЛОКИ ОЭВМ КБ1013ВК1-2.

      1. ПЗУ

ПЗУ имеет объём 1856 байт (организация 29 страниц по 64 байта). Однако в ОЭВМ использован 6-битный полиномиальный счётчик команд, а он имеет 63 состояния, и одно «запрещённое», в котором он не работает. Поэтому для программы используется 63 байта на каждой странице, а 64й байт содержит команду загрузки исходного (нулевого) состояния счётчика. Итого доступно 29х63=1827 байт.

Полиномиальный 6-битный счётчик – единственный «автоматический» счётчик адреса команд. Для адресации всего ПЗУ используется 4-разрядный регистр страниц, и бит выбора банка. Они изменяются только по командам программы.

При выборе банка 0 доступны первые 16 страниц ПЗУ. В банке 1 – 13 страниц. Выбирая страницы 14,15,16, получаем доступ всё равно к 13й странице. Так устроен дешифратор страниц ОЭВМ.

 

      2. ОЗУ

ОЗУ имеет объём 65 полубайт. Организация – 5 страниц по 13 полубайт. Также как и ПЗУ для выбора ячейки использует регистр страниц ОЗУ (2 бита) , и бит выбора банка. В нулевом банке 4 страницы, в 1-м – одна.

Особенность: если выбрать полубайт 14,15,16 – то при чтении получим значение полубайта 13 текущей страницы. А запись в старшие 3 полубайта не имеет действия – ОЗУ не изменяется. Эта особенность используется в программе «Ну,погоди

Если в банке 1 выбрать страницы 1,2,3 – получим доступ к нулевой странице 1-го банка.

 

      3. Контроллер ЖКИ

Организован в виде двух регистров: О и О' по 9 полубайт (9х4х2 = 72 сегмента). Однако запись данных возможна только в ТРИ младших бита старшего полубайта регистра О. Старший бит этого полубайта устанавливается или сбрасывается соответствующими командами записи. При записи в старший полубайт регистра О он сдвигается на 4 бита вправо. Таким образом для вывода половины изображения на ЖКИ надо сделать 9 команд записи, а для вывода полного ЖКИ – 18 команд + 1 команда копирования регистра О в регистр О'.

В момент обновления информации на ЖКИ выводится «мусор», который из-за инерционности дисплея не виден.

В контроллере имеется дешифратор кода для 7-мисегментного индикатора. Работает следующим образом.

Командами выбора банка дешифратора задаётся, данные для какого регистра ( О или О' ) будут занесены в регистр отображения. Специальный флаг задаёт младший сегмент (точка в 7-мисегментном индикаторе, но в игре это другие сегменты). По команде записи содержимое Acc дешифруется и передаётся в регистр О, предыдущая информация также сдвигается на 4 бита вправо.

Чтение регистров отображения не предусмотрено.

 

(продолжение следует)