Модель управления памятью в AZКонцепция:адресное пространство разбито на 3 сегмента:
0-256кБ это
write-only память для организации "теневой" памяти БК11М
первые 128кБ являются полной копией оперативки БК11М
из этой памяти идет отображение legacy видео режимов
а также получается есть техническая возможность отобразить на экран любую страницу памяти БК11М
Нажмите для просмотра прикрепленного файлаобращаю внимание на то, что физический адрес - словный
256-512кБ это
read-only память, она не доступна на запись со стороны БКшки
эта память для эмуляции различных ПЗУ, содержимое которых может быть загружено только средствами AZ
512-1024кБ для эмуляции SMK-512
Начиная с
1МБ вся оперативная память - полноценная память без ограничений, а именно ее подключение всегда дает RPLY на чтение и на запись если не установлен режим r/o на данной странице в регистре 177342
маппер памяти AZтехнически адрес в системе 24bit-а (адрес слова 16bit)
для маппера памяти используется старшая часть адреса, и получается дискретность привязки памяти к окну - 4кБ
есть 16 регистров (177300-177336) куда пишется 13bit адрес начала (11 бит добавляется от адреса с шины и получается 24bit адрес слова)
старшие 3 бита в резеве и маппер предусматривает расширение до 256МБ.
для управления маппером предусмотрен регистр маски окон - 177340
младший бит соответствует младшему окну (те с 0 до 7777) но тк первые 32кБ в БК приколочены жестко то пока это задел на вырост и младший байт использовать нельзя (он работает но очевидно будет конфликт на шине при его активации)
пример: для подключения оперативки в окно 160000-167777 надо сделать следующее:
177334 <- 400 (это указатель на первый мегабайт)
177340 <- 40000 (это разрешение этого окна)
для управления r/o на выбранном окне предусмотрен регистр-маска 177342
соответственно для установки режима только чтения надо установить соответствующий бит на окне
к примеру
177334 <- 400 (это указатель на первый мегабайт)
177340 <- 40000 (это разрешение этого окна)
177342 <- 40000 это запрет записи в это (160000-167777) окно
также есть регистр с битовой маской запрета подключения окон 177344
(=1 аппаратный запрет на подключение окна)
в нем при старте системы сохраняется конфигурация машины исходя из которой можно понять, какие возможности доступны на данной машине
к примеру на БК11М с отключением монитора или на БК-0010 с отключением монитора в регистре будет 377 ибо отвечает только оперативка ДО адреса 100'000
на обычной БК11М будет 30377 - те к ОЗУ добавилась ПЗУ
разбивка на окна соответствует размеру в SMK - те 4кБ начиная со 100000(8)
обращаю внимание на адресацию, те свойства r/o w/o привязаны к 24bit адресу слова (!)
также есть регистр управления который осуществляет включение/выключение окон по маске (177342) + для общего управления и совместимостью с SMK
При этом любая память, может быть использована для отображения изображения на экране
Расширенный режим видеоконтроллера представляет набор строк от 0 до 767
и привязанный к ним
- адрес 24bit начала строки, длина строки от 32 до 256 слов (16bit), важно, это адрес слова 16bit а не байта как это будет на МПИ
- видеорежим строки: те количество цветов 2bit (2/4/16/256), масштабирование 2bita (1/2/4/8)
те растягивание данных на заданное число пикселейНажмите для просмотра прикрепленного файлатехнически 768 строк, которые мы можем дублировать как нам удобно просто указывая одинаковый адрес начала строки
Соответственно технически получается можно создавать любые видеорежимы в пределах 1024х768
комбинируя допустимые варианты