Uknc Resources chapter1
- Это глава из книги «Ресурсы УКНЦ».
Глава 1. Аппаратные средства вывода на экран
Решение некоторых сложных проблем иногда полезно начинать с конца. Поскольку вывод на экран — штука отнюдь не простая, мы именно так и сделаем. Причем концом будет у нас сам экран.
Contents
§0. Немного об экранах.
Экраном обычно служит телевизор или монитор. Оба они бывают черно-белые, цветные и выключенные. Причем последний тип легко может быть превращен в один из первых двух путем включения последнего. Если Вы уже запутались, кто первый, а кто последний, не страшно. Немного страшнее, если после подключения монитора или телевизора к компьютеру вместо удобоваримой картинки Вы обнаружите беспорядочное мерцание полос и бегание кадров с потрясной скоростью. Если предположить, что и монитор (телевизор), и ЭВМ исправны, то остается лишь разобраться с подключением одного к другому.
Обычно от компьютера к экрану идут следующие сигналы:
- Синхросмесь (смесь строчной и кадровой разверток).
Этот сигнал, грубо говоря, управляет положением электронного луча на экране. - Видеосигнал.
Для черно-белых экранов этот сигнал управляет яркостью точки в текущем положении электронного луча. В него еще подмешано немного синхросмеси (для вкуса). - R, G, B.
Сигналы управления красным (Red), зеленым (Green) и синим (Blue) составляющими цвета точки (для цветных экранов). - Звук.
Тот же сигнал, что подается на пьезодинамик ЭВМ. Как правило, его подключают к телевизору в плату звукового канала. - Общий (земля).
Все эти сигналы выводятся на разъемы "ВМ" на задней панели компьютера. Этих разъемов у УКНЦ два. Поэтому к ней можно подключить целых два монитора. (Любопытно, что у человека тоже целых два глаза. Совпадение?)
Теперь осталось подключить компьютер. К каждой машине прилагается видеошнур. В нем 10 жил. Разводка сигналов по этим жилам такова:
- СС — 10
- GND — 2, 4, 6, 8
- R — 5
- G — 3
- B — 1
- Видео — 9
- Звук — 7
Для передачи черно-белого изображения достаточно всего двух проводов — Видео и Земля. Для цветного требуется минимум 5: R, G, B, СС и земля.
Напряжение на выходе из компьютера в видеоразъеме - порядка 1 В.
§1. Как видеоинформация попадает на экран
1.0 Вывод картинки на экран
Вы, очевидно, знаете принцип передачи теле-изображения. Электронный луч под управлением сигналов строчной и кадровой разверток обегает весь экран построчно (рисунок 1.0).
То есть при движении от левого края к правому луч высвечивает на экране строку с переменной яркостью, а при обратном ходе он гасится и возвращается снова к левому краю экрана, сместившись немного вниз. Далее процесс повторяется до тех пор, пока луч не достигнет нижнего края экрана. Тогда он гасится и перебрасывается снова на начало экрана. Кадр нарисован.
То, что появилось на экране, назовем видеоизображением, или просто картинкой. Картинка перерисовывается на экране 50 раз в секунду. За время, равное 1/50 секунды, часто называемое тиком, глаз не успевает забыть старое изображение, поэтому картинка не мерцает.
1.1 Создание картинки
Будем постепенно продвигаться от конца к началу. Теперь вдоль видеошнура, через разъем «ВМ» влезем в компьютер и разберемся, как формируется видеоизображение.
Среди прочих устройств УКНЦ есть устройство, отвечающее за формирование картинки. Оно называется так: Устройство Управления ВидеоОЗУ (УВОЗУ). Помимо других функций, в задачи его входит считывание видеоинформации на экран.
Видеоинформацией мы будем называть данные, хранящиеся в особо отмеченной области оперативной памяти ЭВМ, а саму эту область — ВидеоОЗУ (ВОЗУ). Чтобы разобраться в строении ВОЗУ, давайте пройдемся по адресному пространству УКНЦ.
1.2 Экскурсия в адресное пространство УКНЦ
Среди всех микро-ЭВМ, выпущенных в нашей стране, УКНЦ — самая нетривиальная. Ни в одном другом компьютере больше не встретишь такого оригинального решения — 2 ОЗУ + 2 процессора. Некоторыми вопросами, связанные с повышенной микропроцессорностью УКНЦ, мы займемся позже, а теперь же перейдем к структуре памяти.
Прямой доступ к памяти
Каждый процессор — центральный (ЦП) и периферийный (ПП) имеет свое ОЗУ. Коль скоро в машине применены процессоры КМ1801ВМ2, адресное пространство которых 64 Кб, то прямым доступом к памяти оба они берут лишь каждый свои 64 Кб.
Взгляните на рисунок 1.2. Здесь показаны карты памяти для обоих процессоров при прямом доступе.
![]()
Рисунок 1.2 Адресное пространство при прямом доступе
Адресное пространство обоих процессоров может меняться. То есть будут меняться устройства, к которым могут они обращаться, а сам объем адресных пространств не изменится.
Устройства, «намертво» подключенные в адресное пространство, выделены (*) . К ним относятся:
в ЦП:
- ОЗУ пользователя (56 Кб, адреса 0 ... 157777). Именно здесь располагаются все программы пользователя, будь то Бейсик, RT-11 или Ваши собственные (если Вы случайно не являетесь автором Бейсика или RT-11);
в ПП:
- ОЗУ ПП (32 Кб, адреса 0 ... 77777). Это ОЗУ используется для системных нужд. Для каких — Вы скоро узнаете. Интересно то, что около 22 Кб из этих 32 остаются свободными и также пригодны к использованию пользователем.
- Системное ПЗУ (банки 2-4 в адресах 120000-176777). До него нам тоже пока нет дела. Всему свой черед.
- Страница ввода-вывода ПП. Здесь выведены регистры внешних и внутренних устройств.
Сменные устройства:
ЦП:
- В верхние адреса (160000 и выше), в зависимости от режима работы ЦП (а их два - HALT и USER) подставляются:
- Системное ОЗУ ЦП — 8 Кб (режим HALT), где хранится программа-монитор, драйверы внешних устройств, доступных ЦП через страницу ввода-вывода, программа-эмулятор команд с плавающей точкой и программа тестирования.
- Страница ввода-вывода ЦП (режим USER). Аналогично странице ввода-вывода ПП, сюда подставляются по фиксированным адресам регистры внешних и внутренних устройств.
- Как можно менять эти режимы ЦП из ЦП же, сказано в главе ... .
ПП:
- ПП в своем адресном пространстве имеет так называемое «окно» с адресами 100000-117777, в которое может подключаться:
- Первый банк СПЗУ;
- Один из трех банков ПЗУ на внешней кассете N1;
- Один из трех банков ПЗУ на внешней кассете N2;
- Вообще ничего.
- Всем этим управляет особый регистр в странице ввода-вывода ПП. Его адрес — 177054.
Как видим, каждый процессор глядит напрямую только в свое адресное пространство, а общий объем ОЗУ при прямом доступе составляет:
- 64 + 32 = 96 Кб.
Пример 1. Прогулка по адресному пространству
Влезьте, пожалуйста, любым известным Вам способом в монитор ЦП. Уже виден значок @ ? Итак, мы на месте. Место это — адресное пространство ЦП.
Набрав любое восьмеричное число от 0 до 157776, и, нажав стрелку вправо, Вы увидите содержимое ячеек памяти с набранными адресами, а проделав то же с адресом от 160000 — сможете полюбоваться на грозные надписи «Зависание». На них не стоит обращать внимание, ибо УКНЦ как угодно может оповестить о своем зависании, но только не так. Эта часть адресного пространства ЦП — страница ввода-вывода. Здесь можно отыскать ячейки, не вызывающие при открытии никакого возмущения со стороны машины. Скорее всего, это и есть те самые регистры устройств.
Проделаем такой опыт: запишем в ячейку 177566 число 7. Машина что-то невнятно прогудит. Это значит, что число 7 попало куда следует (а следует ему попасть в канал связи с ПП). ПП обработал наш код, ответив добродушным гудком.
Тем, кому наскучило играться в мониторе ЦП, предлагаю покопаться с монитором ПП. Влезаем в него так:
- нажимаем <УСТ>, при этом должно появиться меню «Установка режимов». Если оно не появилось, проверьте, действительно ли ЭВМ перед Вами — это УКНЦ;
- нажмите <УПР>+@ или <ГРАФ>+<ИСП>.
Теперь мы находимся в «царстве теней» — мониторе ПП. Экран здесь не такой просторный, как в мониторе ЦП. Поэтому совет страдающим клаустрофобией — не задерживайтесь здесь подолгу! Из этого отладчика можно и не выбраться. Иногда случается находить в ОЗУ ПП останки тех, кто так и не смог выйти из лабиринтов монитора ПП. Именно их духи, мне кажется, время от времени и подвешивают машины. Но я отвлекся.
Правила игры с монитором ПП те же — можно с полным правом копаться в содержимом любых ячеек от 0 до 77776 (ОЗУ ПП) и любоваться на ячейки от 100000 до 176776 (ПЗУ). Также можно заглянуть и в страницу ввода-вывода ПП. ЭВМ же, в свою очередь, оставляет за собой право подвиснуть в любое удобное ей время.
Если вы устали, выйдите:
- <УПР>+C,
а дальше, через меню «Установки», куда пожелаете.
Оставшимся предлагаю заглянуть туда, где доселе редко ступала нога человека — в СОЗУ ЦП. Для этого прибегнем к черной магии: наберем в ОЗУ ПП 2 масенькие программки:
40000: 012704 MOV #450, R4 000450 004737 CALL @#162164 162164
40020: 012704 MOV #450, R4 000450 004737 CALL @#162204 162204
С помощью первой мы включим режим просмотра ОЗУ ЦП из монитора ПП. Смело жмем 40000 <ИСП>. Вверху появляются новые две буквы: ЦМ. Что они означают, не знаю, но вот что изменилось — можно посмотреть. Теперь перед нами до боли знакомое ОЗУ ЦП пользователя (в адресах от 0 до 157776) и совсем незнакомое СОЗУ ЦП (от 160000 и выше). Лазать в ОЗУ ЦП можно по-всякому — и записывать в ячейки, и считывать. Но вот запускать программы в ЦП из монитора ПП невозможно — даже черная магия здесь бессильна.
Прежде чем выбраться из этого заколдованного места, подправим кое-что в СОЗУ ЦП:
- в ячейку 163416 вместо 000021 запишем 012500,
- в ячейку 163450 вместо 000031 — 010045.
Теперь со всех ног бежим в монитор ЦП: <УПР>+C, <ENTER>. Наше последнее хитрое действо дало свои результаты — теперь из монитора ЦП можно без проблем «промониторить» все ОЗУ ЦП — пользователя и системное. Это адресное пространство ЦП в режиме «HALT».
Если Вы все же соскучились по монитору ПП и по ОЗУ ПП, вернитесь в монитор ПП, и запустите вторую программку, что с адреса 40020. Ничего страшного в том, что Вы не увидите эту записанную ранее программку - ведь монитор ПП покажет эти адреса в ОЗУ ЦП. Наберите 40020, крепко зажмурьтесь, и нажмите <ИСП>. Если, открыв глаза, в верхней строке Вы обнаружите слово "ПМ", значит, эксперимент удался.
Человек быстро привыкает ко всему хорошему. Поэтому вот инструкция к тому, чтобы восстановить обычную точку зрения монитора ЦП (работаем в мониторе ЦП):
- в ячейку 163416 обратно запишем 21,
- в ячейку 163450 — 31.
Ну что ж, теперь мы полностью восстановили первоначальный вариант: монитор ЦП видит ОЗУ пользователя + страницу ввода-вывода, а монитор ПП — свое суверенное адресное пространство. С возвращением!
1.3 Таблица строк
TODO
Резюме к §1
- Изображение на экране УКНЦ состоит из 288 видеострок.
- Видеоинформация на экран построчно считывается Устройством Управления ВидеоОЗУ (УВОЗУ) из видеопамяти.
- Адресное пространство может быть доступно либо прямым доступом процессоров, либо регистровым доступом.
- Через РА и РД (регистры адреса и данных) доступно 192 Кб ОЗУ. Одному адресу соответствует Т-слово: 3 байта из трех смежных областей, называемых планами. ЦП доступны планы 1 и 2, ПП — 0, 1 и 2, т.е. все ОЗУ в УКНЦ.
- Одному Т-слову соответствуют восемь выведенных подряд точек на экране.
- Адреса в РА с 100000 указывают на особую область памяти, прямым доступом не видимую. Объем ее - 96 Кб, по 32 в каждом плане, и используется она в качестве ВОЗУ. Адреса меньше 100000 — это ОЗУ ЦП +ОЗУ ПП.
- Таблица строк — список в ОЗУ ПП, необходимый УВОЗУ для формирования видеоизображения. Начинается с пары ячеек с адресами 270 и 272.
- Таблица строк состоит из отдельных элементов. Каждый элемент, начиная с 21-го, соответствует видеостроке на экране. 21-й элемент соответствует самой верхней строке. Элементы могут быть двухсловными и четырехсловными. Первый элемент (270 и 272) всегда двухсловный.
- Формат двухсловного элемента:
- 1-е слово — адрес в ВОЗУ, с которого начинается вывод видеоинформации в текущую строку.
- 2-е слово — адрес следующего элемента в таблице строк. В трех младших битах слова содержится информация о типе следующего элемента, о переключении курсора в данной строке, а также определяется, какой регистр УВОЗУ загрузится из следующего элемента, если он — четырехсловный.
- Формат четырехсловного элемента:
- 1-е, 2-е слова — интерпретируются УВОЗУ либо как регистр управления отображением, либо как регистр управления цветом.
- 3-е слово — адрес в ВОЗУ.
- 4-е слово — адрес следующего элемента.
- Регистры управления цветом (УЦ) и отображением (УО) состоят из двух 16-битных слов каждый и входят в состав УВОЗУ. Загружаются они лишь из таблицы строк, только из четырехсловных элементов.
- Регистр УЦ определяет соответствие цвета точки содержимому трех битов в планах ВОЗУ. В данной строке может быть одновременно 8 цветов.
- Регистр УО управляет: цветом, типом, горизонтальной позицией аппаратного курсора.
- масштабированием изображения по горизонтали.
- яркостью составляющих R,G,B в текущей строке.
§2. Формирование видеоизображения. Использование аппаратных возможностей.
TODO
§3. Каналы связи между процессорами.
TODO