Архитектура компьютера
Архитектура компьютера представлена на рис.1. С тети зрения программиста
компьютер имеет следующие логические устройства. - все доступные регистры
микропроцессора Z-80 - постоянная память ROM, которая размещается в первых
ДОС адресного пространства и заключена между адресами 0000Н и 3FFFH. •
оперативная память RAM, заключеннаямежду адресами 4€0ОН и 3FFFH. Общий
обьем ее составляет 4SK.
- внешние устройства (BY): в минимальный набор водючевы парты PRTTN для
ввода информации, PRTOUT длявывода кз компьютера и PRTJ для подключения
кэмпгаж джойстика.
Назначение каждого бита эти портов приведено т рис. L Перейдем к описанию
каждого устройства.
Ов&юшшцишквь
В постоянной памяти компьютера хранится резидентное просраммное
обеспечение, которое шмдерживает через порты ввода/вывода связь с внешними
объектами, обеспечивает вывод на экран символьной и графической информации.
В качестве системного просрамиого обеспечения может быть использован BASIC
дяя компьютера 2X-SPECTRUM со встроенными функцюши монитора.
Встроенные в BASIC .функции позволяют осуществлять вывод на экран и ввод с
клавиатуры, поддержишь сап с магнитофоном и локальной мшфосетыо дяя
обмена по телефонным каналам и кабельным линиям с другими компьютерами*
петициями локальной сети.
Пользователь по своему усмотрению может изменить содержимое и состав
резидентного ПО или отдавать свое специализированное ПО для использования
компьютера в системе научных экспериментов или при построении различных
устройств локальной автоматики.
При пазработке своего програмного обеспечения необходимо помнить, что в
случае, если полученное ПО занимает объем меньший чем 16К, то освободившееся
адресное пространство не может быть использованно под ОЗУ в стандартом
варианте.
Под оперативную память в стандартном варианте компьютера отведена область
4000.JFFFFH. В этом адресном пространстве можно выделить:
- область пикселов;
• область атрибутов;
- область пользователя.
Область пикселов и область атрибутов составляют область видео-ОЗУ
(VIDEO-RAM).
На рисунке 2 представлена структура адресации экрана. Из этой таблицы можно
очень быстро найти адрес нужного пиксела. О правилах пользования этой
таблицей - несколько ниже, а пока рассмотрим каждую из областей подробно.
Область пикселов.
Эта область, в которой собственно хранится изображение символов и графики.
Используемый контролер дисплея не имеет встроеного Знакогенератора, поэтому
в VIDEO-RAM символы хранятся в виде непосредственных изображений.
Единичное значение соответствующего бита в байге вызывает засветку точки на
экране, а нулевое значение, наоборот, гасит точку. Экранная область имеет
специфическую структуру. В оперативной памяти данные, формирующие
изображение, хранятся последовательно, от младших адресов, к старшим. На экран
они выводятся не друг за другом, последовательно рисуя изображение, а
специальным образом Экран можно условно разбить на 3 области по 64 строки
(всего 192 строки). Вывод информации в пределах этих 64 строк осуществляется
в следующем порядке. Последовательно выводятся 32 байта, формирующие
первую строку. Затем пропускаются 8 строк и следующие 32 байта образуют уже
9-ю строку изображения, далее 32 байга образуют 17-ю строку и т. д. После
формирования 57 строки происходит возврат к выводу второй строки и
последующей каждой 8-й т. е. 10,18~ 58. После вывода таким образом 64 строк
изображения происходит переход на формирование следующих 64-х строк, начиная
с 65-й строки, и т. д. до заполнения всего экрана. Этот процесс илюсхрнрузется
рисунком 3.
Здесь номерамии толщиной линий выделен порядок формирования изображения.
Почему формирование происходит именно так и не иначе, станет понятным после
(Хшасгь атрибута»
Это область которая содержит специальные байты управления выводом пикселов
на экран. В байге атрибута определяется: цвет точек, цвет фона, режим
увеличения яркости, режим мигания. Особеностью формирования цветного
изображения в данном компьютере является то, что один байт атрибута описывает
область 8*8 точек экрана, т. е. по горизонтали 1 байт и по вертикали 8 строк. Это
составляет одно знакоместо. На рис 5 приведена структура байта атрибута.
Цвет фона и цвет пиксела кодируется тремя знаками. Таким образом, на одном
из 8 цветов фона, можно выбрать одан из 8 цветов пиксела, причем на одном
цвете фона можно вывести один цвет точек в пределах блока 8*8 пикселов. Это
минимальное поле, описываемое одним атрибутом, что создает некоторые
трудности при программировании мелких деталей изображения. Но как показала
практика, умелое использование атрибутов позволяет свести к минимуму этот
недостаток. Достоинством такого способа формирования изображения является
небольшой обьем VIDEO-RAM, что существенно влияет на повышение
быстродействия экрана дисплея. Такая архитектура дисплея позволяет
использовать компьютер для отображения быстро изменяющихся процессов
(например в качестве различных 1рафических и знаковых индикаторов в системах
отображения информации). Биты BRIGTH и FLASH управляют увеличением
яркости и заданием режима мигания соответственно. Эти режимы
поддерживаются аппаратурой контроллера дисплея.
На рис. 2 изображен экран, каждая клетка на основном поле обевначает одно
знакоместо. Три небольших поля слева - это разбитые на биты знакоместа.
Горизонтальный ряд цифр, отмеченный 1 - это смещение байта относительно
начала строки. Вертикальный ряд цифр 2-это смещение знакомест относительно
начала экрана, для атрибутов - колонка, отмеченная буквой А, для пикселов -
Колонка, отмеченная буквой Р. На полях знакомест: по горизонтали - номер бита,
по вертикали - смещение строки относительно начала экрана. Ниже на рис. 6
приведена структура адреса для области пикселов. На рис. 7 приведена структура
адреса для области атрибутов.
того как, мы опишем область атрибутов. В одну строку может быть выведено 32
байта, что соответствует 256 пикселам. Порядок отображения байтов на экране
приведен нарнс. 4.
Гдшмптттм шжйв тшт
Пусть есть адрес 43ADH, или в двоичном виде 0100 0001 1010 1101. Адрес
рассматривается с младших битов и недостающие старшие биты дополняются
нулями. Смещение в строке 0DH, биты 0—4, адрес строки знакомест имеет
смещение АОН, это биты 5J7 (бит 4 захватали, чтобы выравшпь на границу
полубайт), смещение строк» в знакоместе ЗООН, биты 8.Л0 Битами 11, 12
кодируется треть экрана» биты 13всегда для экранной области имеют значение
№ (смещение 400Ш). Соответствующий адрес атрибута 58ADH, ил» в двоичном
коде 01011000 1Q10 1101. Смещение байта атрибута в строке относительно левого
верхнего угла экрана 0DH, смещение строки знакомест АОН, биты 11,12 для
атрибутов всегда равны 11. Приведем в качестве примера байт данных для
области атрибутов и пикселов,Для области пикселов - ЮН, для области атрибутов
- 91Н. Получится красная точка на синем фоне и она будет мигать.
Таким образом можно сделать вывод. Контролер дисплея работает в двух
режимах: первый - режим отображения пикселов, второй - режим отображения
атрибутов. Совмещение этих 2 режимов и привело к такому необычному на
первый взгляд, выводу содержимого VIDEORAM на экран
Область, не занятая VIDEO-RAM, остается в распоряжении пользователя, на
рисЛ она отмечена как FREE AREA. В этой области так же размещены
системные переменные. Область пользователя используется для загрузки
программ с магнитной ленты или с микросети. Адрес облает пользователя
5BOO-FFFF. В случае, когда пользователь использует свой монитор, то часть этого
пространства будет занята системными переменными.
В составе компьютера можно выделить три системных порта, которые имеют
адреса XXIX ХХХО и XX0XXXXL Знак X говорит о произвольном значении бета.
Для упрощения работы компьютера адресный дешифратор отсутствует, поэтому
любой адрес, который имеет биты АО и А5 в нулевом значении, выбирает
системный порт. Остальное адресное пространство свободно и может быть
использовано пользователем.
Опишем, теперь подробно назначение каждого порта ввода вывода»
Порт вывода PRTOUT предназначен для вывода информации. Назначение его
битов следующее:
- беты 0-2 кодируют цвет рамки вокруг поля в соответствии с таблицей 1;
- бит 3, TP!, через этот бцгт информация выводится на магнитную ленту. Оюсоб
записи - двухчастотное кодирование;
- бит 4, SN - это звуковой канал. Реализован полностью программна Остальные
беты зарезервированы.
порт ввода PRTIN предназначен для ввода информации. Назначение битов:
- биты 0-4, КВ0-КВ4. Горизонтальные выводы матричной клавиатуры, см. Рис. 8;
- биты 5,7 резерв;
- бит 6, ТРО. Вход с магнитофона в последовательном коде в формате
двухчастотного кодирования.
Порт ввода PRTJ Предназначен для подключения кемпстон джойстика. Биты 0~4
- данные джойстика.
Немного подробнее о клавиатуре. Клавиатура представляет собой матрицу
свободно разомкнутых контактов размером 8*5 (рис. 8)£ертикальные линии
являются линиями опроса.
На эта дшдш додаются импульсы опроса. В зависимости от состояния матрицы
ковпистав будут возбуждены соответствующие горизонтальные линии ответа.
Анализируя импульсы опроса и информацию ответа, можно определить - какие
кнопки (коли нажаты. Управлением матричной клавиатурой занимается драйвер
клавиатуры, который должен находиться в системном ПЗУ. В основу опроса
клавиатуры положена особеность выполнения команды IN А микропроцессором
Z-80. При выполнении этой команды содержимое регистра А выводится в стцшшй
байт адреса.
Содержимое регистра в этом случае шгврцрсшруещ как косвенный ajipec
контакта внутри матрицы. Меняя последовательно содержимое регистра А перед
чтением порта FR17N, производится опрос клавиатуры.