ЕС-1841. Техническое описание
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Источник: http://zx-pk.ru/showthread.php?t=9276&p=511425&viewfull=1#post511425 |
1. ВВЕДЕНИЕ 1.1. Настоящий документ предназначен для изучения работы машины вычислительной электронной цифровой персональной профессиональной (ПЭВМ). 2. ППЭВМ ЕС1841. КРАТКОЕ ТЕХНИЧЕСКОЕ ОПИСАНИЕ 2.1. Назначение 2.1.1. Машина вычислительная электронная персональная профессиональная ЕС1841 предназначена для создания базовых средств автоматизации индивидуального труда в широком диапазоне профессиональной ориентации. Программное обеспечение ППЭВМ ЕС1841 включает: 1) операционные системы М86 и Альфа-ДОС; 2) системы программирования для разработки программ на Бэйсике, Паскале и других языках программирования; 3) систему управления базами данных и пакеты прикладных прог- рамм для текстовой информации, табличной обработки данных, деловой графики и других применений; 4) тестовые программные средства, обеспечивающие проверку и ло- кализацию неисправностей в функциональных блоках ППЭВМ ЕС1841. Тестовые программные средства состоят из мониторной тестовой программы и набора тестов, обеспечивающих проверку и локализацию неисправностей в функциональных блоках ППЭВМ ЕС1841. 2.2. Технические характеристики ППЭВМ ЕС1841 2.2.1. Наименование основных функциональных частей ППЭВМ ЕС1841 и их технические характеристики приведены в таблице: Таблица ------------------------------------------------------------------- Наименование | Техническая характеристика ------------------------------------------------------------------- Процессор Базовый микропроцесоор К1810ВМ86 и сопроцессор 18087 с тактовой частотой 4 МНz; быстродействие - 1 млн. операций/s (типа "регистр-регистр"); разрядность -16 бит; количество команд - 180 Память Оперативное запоминающее устройство (ОЗУ) емкостью от 512К байт до 1М байт; постоянное запоминающее устройство (ПЗУ) емкостью 16К байт Интерфейс Параллельный типа ИРПР-М; последовательный типа С2 Система преры- Многоуровневая, количество уровней - 8 ваний Прямой доступ По четырем каналам к памяти (ПДП) Внешние носители Встроенный магнитный диск емкостью 10 Мбайт; данных гибкий магнитный диск; размер дискеты - 133 mm; бесформатная емкость дискеты - 320К байт; скорость обмена - 250 кбит/s Клавиатура 92 клавиши, в том числе 10 программно-функциональные; размещение цифрового и буквенного поля (русский и латинский алфавит) типа пишущей машинки ЭЛИ Экран с диагональю 31 sm, цветной или с шестнадцатью градациями яркости; в алфавитно-цифровом режиме обеспечивает форматы 40 знаков х 25 строк или 80 знаков х 25 строк; в графическом режиме обеспечивает форматы 640 х 200 точек или 320 х 200 точек Матричное ПУ Количество знаков - 96; обычный размер строки - 80 знаков; максимальный размер строки - 137 знаков; скорость печати - 80 или 160 знаков/s Электропитание Сеть - однофазная промышленная; напряжение - однофазное промышленное; частота - (50 1) Hz; полная мощность - 0,25 kW. 3. СОСТАВ, УСТРОЙСТВО И РАБОТА ИЗДЕЛИЯ 3.1. В состав ППЭВМ ЕС1841 входят: 1) модуль электронный базовый - 1 шт; 2) модуль электронный накопителей, содержащий два НГМД типа FD-55FV-03, или ТМ-65-4, или ТМ-65-22, один НМД типа BASF 6185/6186/6187 и модуль электропитания - 1 шт; 3) видеомонитор "Электроника МС6105.04" - 1 шт; 4) клавиатура - 1 шт; 5) устройство печатающее матричное РАВИ-8010, или РМ-80, или EPSON FX-80+, или EPSON FX-85 - 1 шт; 6) манипулятор графической информации - 1 шт. ППЭВМ ЕС1841.01, ЕС1841.02 ЕС1841.03 функционально идентичны и отличаются комплектом поставки. 3.2. Электронный базовый модуль содержит: 1) модуль электронный системный; 2) модуль электронный памяти: 3) модуль электронный адаптера ЭЛИ; 4) модуль электронный адаптеров НГМД и манипулятора; 5) модуль электронный адаптеров интерфейсов; 6) модуль электронный адаптера НМД. 3.3. Структурой ППЭВМ ЕС1841 является модульный принцип организации. Каждый модуль, функционально и конструктивно законченный, имеет единый уницированный интерфейс, реализованный в виде системной шины, объединяющей все модули в ЭВМ. Предусматривая возможность подключения к электронному базовому модулю идентичного по конструкции электронного модуля расширения. В состав электронного базового модуля входит автономный блок электропитания. 3.4. Клавиатура ППЭВМ ЕС1841 предназначена для ввода информации и выполнена в виде пульта в плоском корпусе, в котором размещены 92 клавиши. 3.5. Электронный модуль накопителей представляет собой функционально и конструктивно законченный комплекс, состоящий из НГМД, НМД и модуля электропитания. Носителем данных в НГМД является гибкая дискета, носителем данных в НМД является встроенный жесткий диск. 3.6. Электронно-лучевой индикатор предназначен для использования в качестве устройство отображения алфавитно-цифровой и графической информации. В ППЭВМ ЕС1841 может использоваться как черно-белый, так и цветной ЭЛИ. ЭЛИ поставляется самостоятельно по отдельному ТУ с полным комплектом документации. 3.7. Матричное печатающее устройство предназначено для вывода бумаги алфавитно-цифровой и графической информации. Данное устройство является устройством настольного типа с автономным блоком электропитания. 3.8. Манипулятор графической информации предназначен для оперативной корректировки информации, выводимой на экран ЭЛИ. 3.9. Принцип функционирования ППЭВМ ЕС1841 состоит в следующем. При включении электропитания системный модуль вырабатывает сигнал сброса RESET, который приводит в исходное состояние все устройства ППЭВМ. Затем начинается выполнение программ тестирования и инициализации системы. При успешном завершении этих программ загружается операционная система, после чего ППЭВМ готова к работе. Необходимые коррективы вводятся с помощью клавиатуры. 4.УСТРОЙСТВО И РАБОТА ЭЛЕКТРОННОГО БАЗОВОГО МОДУЛЯ 4.1.1. Системная шина представляет собой набор линий для передачи данных, адреса и сигналов управления, которые обеспечивают универсальный интерфейс связи между ЭМ. Назначение линий системной шины приводится в таблице: Таблица ------------------------------------------------------------------- | Контакт | Вход | Сигнал | соеди- | (выход) | Назначение линии | нителя | | ------------------------------------------------------------------- -ВНЕ СО2 ВЫХ Разрешение передачи старшего байта данных. Совместно с младшим разрядом адреса АО определяет формат данных, передаваемых по шине данных ------------------------------------------------------------------- АО СО1 ВЫХ Шина адреса. Адресные линии от 0 до 19 используются для адресации памяти и портов ввода-вывода и обеспечивают адресное пространство 1 Мбайт. АО - младший разряд адреса А1 АО1 " А2 АО2 " А3 АО3 " . . . . . . А19 А19 ------------------------------------------------------------------- -CPU WAIT А25 ВХ Такт ожиданания в команде системной шины MEMR. При активном (низком) сигнале в цикле команды MEMR отрабатывается один такт ожидания ------------------------------------------------------------------- DO А30 ВХ(ВЫХ) Шина данных. D0-D7 - младший байт, D1 А31 То же D8-D15 - старший байт. D0 - младший D2 А32 " разряд данных . . . . . . D15 А45 ВХ(ВЫХ) ------------------------------------------------------------------- -IOR А26 ВЫХ Команды системной шины: -IOW А27 " IOR, IOW - чтение, запись порта ввода-вывода -MEMR А28 " MEMR, MEMW - чтение, запись памяти -MEMW А29 ------------------------------------------------------------------- IRQ2 C02 ВХ Шесть линий запросов прерывания от ЭМ. IRQ3 C04 " В системном ЭМ запросы фиксируются по IRQ4 C05 " наличию положительного фронта сигнала. IRQ5 C06 " Приоритет запросов фиксированный, с IRQ6 C07 " низшим приоритетом для IRQ7 (источники IRQ7 C08 " запросов IRQ0 и IRQ1 находятся внутри системного модуля) ------------------------------------------------------------------- DRQ1 C23 ВХ Линии запросов на обслуживание DRQ2 C24 " соответствующим каналом прямого DRQ3 C25 " доступа к памяти. Сигнал запроса должен поддерживаться активным (высоким) до тех пор пока не активизируется соответствующая линия подтверждения захвата системной шины каналом ПДП (DACK1-DACK3). Запрос DRQ0 и соответствующий канал ПДП ис- пользуются внутри системного ЭМ для организации циклов регенерации памяти ------------------------------------------------------------------- -DACK0 С26 ВЫХ Линии подтверждения захвата системной -DACK1 C27 То же шины соответствующим каналом ПДП. -DACK2 С28 " Используется ЭМ для разрешения -DACK3 C29 " передачи информации в шину данных или приемa из шины по запросам DRQ 1, 2, 3 + ------------------------------------------------------------------- Т/С С14 ВЫХ Конец передачи ПДП. При передаче массивов данных по каналам ПДП активизация этой линии (высокий уровень) указывает на выполнение последнего цикла передачи и прекращение обмена по активному в данный момент каналу ПДП ------------------------------------------------------------------- AEN C10 ВЫХ Разрешение адреса ПДП. Активизацией этой линии (высокий уровень) центральный процессор сигнализирует ЭМ о выполнении системной шиной цикла передачи по каналу ПДП (и цикла регенерации памяти в том числе) ------------------------------------------------------------------- ALE С09 ВЫХ Строб адреса. Сигнал активен в момент выдачи базовым микропроцессором действительного адреса. При отсутствии сигнала AEN шина адреса сохраняет действительный код до следующего импульса ------------------------------------------------------------------- RESET С16 ВЫХ Сброс процессора по включении электропитания ------------------------------------------------------------------- ОSC С18 ВЫХ Сигнал задающей серии синхроимпульсов (F=12,288 MHz, скважность=2) ------------------------------------------------------------------- CLK С11 ВЫХ Рабочая серия синхроимпульсов (F=4,096 MHz, скважность=3 ------------------------------------------------------------------- 1/0 CH RDY C15 ВХ Готовность канала ввода-вывода. Эта линия используется адаптером устройств ввода-вывода при необходимости удлинения цикла передачи данных по системной шине. Для удлинения передачи адаптер при распознавании относящейся к нему команды системной шины переводит свой выход 1/0 CH RDY из высокоимпедансного состояния в низкий уровень на время необходимого удлинения цикла. Во избежании потери циклов регенерации памяти такое удлинение не должно превышать десяти периодов CLK ------------------------------------------------------------------- DIAG RESET С20 ВХ Сигнал сброса. Задействован как моделезависимая связь для модуля ЕС1841 (используется при подключении стендового оборудования) ------------------------------------------------------------------- -CLK DIAG С19 ВХ Сигналы задействованы как моделезависимые связи для модуля ЕС1841 (используются при подключении стендового оборудования) ------------------------------------------------------------------- -1/0 СН СК С21 ВХ Ошибка канала ввода-вывода. Эта линия используется ЭМ с внутренним аппаратурным контролем для сообщения центральному процессору об ошибке. При отсутствии ошибки ЭМ должен поддерживать свой выход 1/0 СН СК в высокоимпедансном состоянии, а при наличии ошибки переводить его в низкий уровень ------------------------------------------------------------------- SPEAKER В15+ ВЫХ Звуковой сигнал. Линия используется OUT для подключения выхода усилителя звукового сигнала к динамику ------------------------------------------------------------------- SPEAKER B16 ВЫХ Сигнал звуковой частоты на динамик. При отсутствии модуля синтезатора речи контакты В15 и В16 замыкаются на системном модуле выключателем SA2 [5]. Источником сигнала в линию В16 является системный модуль. При наличии синтезатора источником сигнала в линию В16 (является синтезатор), а контакты В15 и В16 в системном модуле размыкаются ------------------------------------------------------------------- -СБРОС В23 ВХ Сброс. Сигнал, по которому формируется сигнал RESET ------------------------------------------------------------------- GND В03 Схемная земля В07 В11 В17 В21 В25 В29 В33 В39 В43 ------------------------------------------------------------------- +5V В01 Электропитание плюс 5V В45 -12V В37 Электропитание минус 12V +12V В09 Электропитание плюс 12V +15V В41 Электропитание плюс 15V -15V В05 Электропитание минус 15V +12VI В31 Электропитание изолированное плюс 12V ------------------------------------------------------------------- Примечание. Запись ВНЕ означает, что активным является высокий уровень сигнала; запись -ВНЕ означает, что активным является низкий уровень сигнала. А0-А9), и соответственно 4.2. Электронный системный модуль 4.2.1. В системный ЭМ входят: центральный процессор, адаптер связи с клавиатурой, адаптер связи с динамиком . Центральный процессор содержит следующие блоки: 1) микропроцессор К1810ВМ86; 2) микропроцессор I8087; 3) синхронизатор ; 4) блок управления; 5) регистр-формирователь шины адреса; 6) блок формирователей шины данных; 7) ПЗУ; 8) блок прерываний; 9) блок ПДП; 10) триггер запроса регенерации памяти; 11) таймер; 12) трехканальный порт; 13) конфигуратор системы; 14) дешифратор адреса порта ввода-вывода; 15) буфер-усилитель. 4.2.2. ПЗУ имеет емкость 16Кбайт и хранит программы базовой системы управления вводом-выводом (БСУВВ). В состав БСУВВ входят: 1) программы тестирования и инициализации, выполняемые по включению электропитания; 2) драйверы - программы обслуживания устройств ввода-вывода; 3) сервисные программы. 4.2.3. Все адресуемые программно средства процессора, кроме памяти, называются портами ввода-вывода (внутренние регистры модулей адаптеров и отдельных больших интегральных схем (БИС), служебные триггеры и т.п.). Для дешифрации адресов портов используются 10 младших разрядов адреса (А0 - А9), и соответственно максимальное число адресуемых однобайтных портов равно 1024. Распределение адресных портов приведено в табл. 4.1, где знаком Х обозначено безразличное значение (т.е. разряд не используется при дешифрации адреса данного порта). Структура и конкретные адреса портов из указанных областей адресов (см. табл. 4.1) приводятся при описании соответствующих ЭМ и блоков. Однобайтные порты должны подключаться к младшему байту шины данных D0-D7. Возможно подключение двухбайтных портов к шине данных, но в этом случае могут использоваться только четные адреса (А0=0). Кроме того, для двухбайтных портов невозможно использование передачи содержимого порта в память или слова из памяти в порт по каналу ПДП, поскольку блок ПДП обеспечивает управление только однобайтными циклами передачи. Таблица ------------------------------------------------------------------- Номер | Обозна- | Функциональное назначение разряда регистра разряда | чение | признаков (F) ------------------------------------------------------------------- 0 CF Признак переноса CF=1 означает наличие переноса или заема из старшего разряда результата 1 - Не используется 2 PF Признак четности PF=1 означает четный результат. Используется для обнаружения сбоев при передаче данных 3 - Не используется 4 AF Признак вспомогательного переноса AF=1 означает, что был перенос из третьего разряда в четвертый младшего байта результата. Используется командами десятичной арифметики 5 - Не используется 6 ZF Признак нуля результата ZF=1 означает равенство нулю 7 SF Признак SF=1 означает отрицательный результат (старшй разряд = 1) 8 TF Признак пошагового режима TF=1 означает переход микропроцессора в пошаговый режим выполнения программы. В этом режиме после каждой команды автоматически генерируется прерывание 9 IF Маска внешних маскируемых прерываний IF=1 разрешает реакцию на внешние запросы 10 DF Признак направления. Обработка строк слева направо при DF=0 (автоинкремент). Обработка строк справа налево, т.е. от старших адресов к младшим, при DF=1 (автодекремент) 11 OF Признак переполнения OF=1 арифметическое переполнение 12-15 - Не используется 4.2.4. Дешифратор адреса порта ввода-вывода служит для формирования сигналов программного выбора средств (микросхем) системного ЭМ, адресуемых как порты согласно таблице: Таблица 4.1 ------------------------------------------------------------------- Код адреса | Порт ввода-вывода порта | ------------------------------------------------------------------- 000 - 00F Область адресов контроллера ПДП 020, 021 Адреса блока прерываний ЦП 040 - 043 Область адресов таймера 060 - 063 Область адресов трехканального порта 080 - 083 Область адресов регистров страниц блока ПДП 0АХ Триггер NMI REG (блок управления ЦП) 0СХ Резерв ЦП 0ЕХ Резерв ЦП 100 - 1FF Код не используется 200 - 20F Резерв адаптера игр 210 - 217 Область адресов модулей расширения 218 - 21F Код не используется 220 - 227 Область адресов для 7920 228 - 22F Код не используется 230 - 23F Область адресов для манипулятора 240 - 24F Область адресов для локальных сетей 250 - 257 Область адресов для модуля измерения временных параметров 260 - 277 Код не используется 278 - 27F Область адресов для печати 2A0 - 2AF Область адресов фдаптера синхронной связи С2 2В0 - 2BF Область адресов модуля памяти 2F0 - 2FF Область адресов адаптера 2 стыка С2 300 - 307 Область адресов программатора 320 - 32F Область адресов адаптера НМД 378 - 37F Область адресов адаптеров параллельного интерфейса 380 - 39F Код не используется 3А0 - 3АF Область адаптеров синхронной связи 3B0 - 3BF Область адресов адаптера монохромного ЭЛИ 3С0 - 3СF Код не используется 3D0 - 3DF Область адресов адаптера цветного (графического) ЭЛИ 3E0 - 3EE Код не используется 3F0 - 3F7 Область адресов адаптера НГМД 3F8 - 3FF Область адресов адаптера 1 стыка С2 По состоянию адресных линий ХА5-ХА9 дешифратор активизирует один из сигналов выбора средств (микросхемы), а выбор адресата внутри микросхемы обеспечивает линиями младших разрядов адреса ХА0-ХА3 . 1) TIMER CS - таймер (порты 040-043, микросхема КР580ВИ53); 2) INTR CS - блок прерываний (порты 020, 021, микросхема КР1810ВM37А); 3) DMA CS - контроллер ПДП (порты 000-00F, микросхема КР1810ВТ37А); 4) WR DMA PG - регистры страниц блока ПДП (порты 080-083); 5) WR NMI REG - триггер NMIREG (порт ОАХ). 4.2.5. Блок формирователей шины данных включает 5 однобайтных двунаправленных формирователей и служит для согласования двухбайтного интерфейса портов ввода-вывода, а также для минимизации числа нагрузок на системной шине данных. 4.2.6. Блок управления обеспечивает формирование основных сигналов управления системной шиной на основании кода состояния блока микропроцессоров. Соответствие кода состояния блока микропроцессоров команде системной шины показано в табл. 4.2: Таблица 4.2. ----------------------------------------------------------------------- | Состояние блока микропро- | Команда | S2 S1 S0 | цессоров (относительно | системн- | Примечание | системной шины) | ой шины | ----------------------------------------------------------------------- 0 0 0 Подтверждение прерывания -INTA 0 0 1 Считывание порта ввода- -IOR вывода 0 1 0 Запись в порт ввода-вывода -IOR 0 1 1 Пассивное - 1 0 0 Считывание команды из -MEMR памяти 1 0 1 Считывание данных из -MEMR памяти 1 1 0 Запись в память -MEMW 1 1 1 Пассивное - 4.2.7. Блок прямого доступа к памяти (контроллер ПДП) имеет четыре независимых канала: 0, 1, 2, 3. В состав блока ПДП входят следующие основные узлы: 1) четыре четырехразрядных регистра адресов страниц памяти, адресуемых как порты 080, 081, 082 и 083 для каналов 0, 1, 2, 3 соответственно; 2) восьмиразрядный регистр, хранящий текущее значение разрядов А8-А15 активного в данный момент канала ПДП (программно не адресуется); 3) восьмиразрядный формирователь текущего значения разрядов А0-А7 активного канала ПДП; 4) формирователь сигнала ВНЕ; 5) контроллер прямого доступа к памяти 18237А-5. 4.2.8. Контроллер ПДП содержит : 1) регистры текущего адреса (САR); 2) регистры текущего счетчика (CWR); 3) управляющий регистр (CR); 4) регистры режима (MOD); 5) регистр запросов (REQ); 6) регистр масок (MASK); 7) регистр состояния (STAT); 8) триггер выбора байта (FL). 4.2.9. Каждый канал имеет 16-разрядные регистры CAR и CWR. Регистр CAR содержит 16 младших разрядов текущего адреса памяти и модифицируется на единицу после каждого цикла передачи соответствующего канала. Уменьшение или увеличение адреса определяется пятым битом регистра режима данного канала. Регистр CWR содержит шестнадцатиразрядный счетчик количества байтов, подлежащих передаче по данному каналу. После каждого цикла передачи байта содержимое регистра CWR уменьшается на единицу. Когда значение регистра CWR переходит из нуля в FFFF, вырабаты- вается сигнал Т/С, поступающий в системную шину. Регистры CAR и CWR доступны программно по 8 бит за одно обращение при адресации порта ввода-вывода из области адресов контроллера ПДП (см. табл. 4.1). Управляющие разряды регистра CR имеют следующее назначение: 1) CR[0]=0; 2) CR[1] - не используется; 3) при СR[2] - разрешение ПДП, при СR[2]=1 - запрет ПДП; 4) CR[3]=0; 5) CR[4]=0 - фиксированный приоритет каналов; 6) CR[5]=0 - нет удлинения импульса записи (-MEMW); 7) CR[6,7]=00. 4.2.10. Каждый канал имеет шестиразрядный регистр MOD, разряды которого имеют следующее назначение: 1) при MOD[3,2]=01 - запись в память, при MOD[3,2]=10 считывание из памяти. Комбинация "00" не используется, а комбина- ция "11" запрещена. 2) MOD[4]=1 - для канала 0, MOD[4]=0 - для остальных каналов; 3) при MOD[5]=0 - увеличение адреса, при MOD[5]=1 - уменьшение адреса; 4) при MOD[7,6]=01 - одиночный режим передачи, при MOD[7,6]=10 - блочный режим передачи. Комбинации "00" и "11" - запрещены. Нумерация разрядов регистра MOD соответствует номерам разрядов шины данных XD, загружаемых в регистр MOD при записи. При записи выбор регистра MOD соответствующего канала осуществляется по дешифрации разрядов шины данных XD1 и XD0 которые должны содержать номер канала ПДП. 4.2.11. Каждый канал ПДП имеет триггер запроса. Триггеры запроса четырех каналов образуют регистр REQ. С помощью этого регистра контроллер ПДП может начать передачу данных по требованию программы аналогично тому, как это делается по требованию сигналов запроса DRQ, описанных выше. Каждый разряд регистра REQ устанавливается программно, а сбрасывается либо отдельно, либо при генерации сигнала Т/С соответствующим активным каналом ПДП. Дешифрация разрядов шины данных при выполнении команды записи в регистр REQ имеют следующее значение: 1) разряд 0 - 1 - выбор канала 00 - канал 0 01 - канал 1 10 - канал 2 11 - канал 3 2) разряд 2 - бит запроса выбранного канала: 0 - бит запроса сброшен 1 - бит запроса установлен 3) разряды 3 - 7 не используются Аналогично регистру REQ каждый канал имеет триггер маски, установленный для блокировки восприятия соответствующего запроса DRQ из системной шины. Следует подчеркнуть, что эти триггеры не влияют на запросы, инициируемые с помощью регистра REQ. Триггеры масок каналов объединены в регистр MASK, доступный программе. Разряды шины данных при выполнении операций над триггерами масок имеют следующее значение : 1) разряды 0 - 1 - выбор маски канала : 00 - маска канала 0 01 - маска канала 1 10 - маска канала 2 11 - маска канала 3 2) разряд 2 - бит выбора маски: 0 - сброс выбранного бита маски 1 - установка выбранного бита маски 3) разряды 3 - 7 не используются. 1) разряды 0 - 3 - биты сброса и установки триггера маски каналов 0 - 3 соответственно; 2) разряды 4 - 7 не используются. Кроме того, каждый разряд регистра MASK устанавливается при выработке соответствующим каналом сигнала Т/С при условии, что разряд 4 регистра MOD этого канала не равен единице. Разряды регистра STAT имеют следующее назначение: 1) разряд 0=1 - канал 0 выработал сигнал Т/С: 2) разряд 1=1 - канал 1 выработал сигнал Т/С; 3) разряд 2=1 - канал 2 выработал сигнал Т/С; 4) разряд 3=1 - канал 3 выработал сигнал Т/С; 5) разряд 4=1 - канал 0 имеет неудовлетворенный запрос; 6) разряд 5=1 - канал 1 имеет неудовлетворенный запрос; 7) разряд 6=1 - канал 2 имеет неудовлетворенный запрос; 8) разряд 7=1 - канал 3 имеет неудовлетворенный запрос; Разряды 0-3 регистра STAT устанавливаются при генерации сигнала Т/С соответствующим каналом и сбрасываются при выполнении функции RESET и при выполнении операции считывания регистра STAT. Разряды 4-7 регистра STAT отражают текущее состояние каналов. Команды программного доступа к контроллеру ПДП приведены в табл. 4.3 . Команда сброса триггера FL выполняется перед обращением к регистрам CAR, CWR для правильного выбора их старшей и младшей половин. Команда общего сброса аналогична функции RESET, выполняемой при активизации входа RESET блока ПДП, при которой сбрасываются регистры CR, STAT, REQ и триггер FL, а разряды регистра MASK устанавливаются. При выполнении этой функции контроллер ПДП переходит в состояние холостых тактов с блокированными запросами DRQ. Командой сброса регистра MASK cбрасываются маски, и все четыре канала становятся доступными для восприятия запросов DRQ. Перед началом любой передачи данных под управлением блока ПДП программно необходимым образом устанавливаются все средства соответствующего канала, а по включении электропитания, после отработки функции RESET, все программно доступные средства блока ПДП должны быть установлены в некоторое допустимое значение. После программной подготовки каналов блок ПДП обеспечивает управление передачей данных по запросам DRQO, 1, 2, 3 или по программным запросам с помощью установки разрядов регистра REQ контроллера ПДП., Сигналы DASK 0, 1, 2, 3 служат для идентификации захвата системной шины соответствующим каналом ПДП и используется портом ввода-вывода для разрешения выдачи данных в шину или приема данных с шины. Для каналов ПДП устанавливается (программируется) фиксированный приоритет с высшим приоритетом для канала 0. Таблица 4.3. ------------------------------------------------------------------- Команда доступа к контроллеру ПДП | ---------------------------------------| Операция DMA CS | A3 | A2 | A1 | A0 | IOQ | IOW | ------------------------------------------------------------------- 0 1 0 0 0 0 1 Считывание регистра STAT 0 1 0 0 0 1 0 Запись в регистр CR 0 1 0 0 1 0 1 Запрещенная комбинация 0 1 0 0 1 1 0 Запись в регистр REQ 0 1 0 1 0 0 1 Запрещенная комбинация 0 1 0 0 0 1 0 Сброс (установка) бита MASK 0 1 0 1 1 0 1 Запрещенная комбинация 0 1 0 1 1 1 0 Запись в регистр MOD 0 1 1 0 0 0 1 Запрещенная комбинация 0 1 1 0 0 1 0 Сброс триггера FL 0 1 1 0 1 0 1 Запрещенная комбинация 0 1 1 0 1 1 0 Общий сброс 0 1 1 1 0 0 1 Запрещенная комбинация 0 1 1 1 0 1 0 Сброс регистра MASK 0 1 1 1 1 0 1 Запрещенная комбинация 0 1 1 1 1 1 0 Запись во все разряды регистра MASK 4.2.12. Канал 0 блока ПДП используется для организации циклов регенерации динамической памяти. При отработке циклов регенерации используются только младшие 8 разрядов адреса, выдаваемые блоком ПДП в системную шину. Запрос на регенерацию (DRQ0) формируется с помощью триггера запроса регенерации памяти по импульсам из таймера. Сигналом DSKO триггер сброса. Канал 0 блока ПДП настраивается на отработку одиночных циклов считывания из памяти. С помощью сигнала системной шины AEN, активного во время любого цикла передачи по каналам ПДП, блокируются во время циклов регенерации ложные записи в порты, для которых отсутствует дешифрация адреса сегмента и не предусмотрен доступ по каналу прямого доступа. 4.2.13. Таймер представляет собой три независимых программируемых шестнадцатиразразрядных счетчика 0, 1, 2, которые вырабатывают на своих выходах временные импульсные сигналы. Все три счетчика таймера модифицируются с частотой синхросерии CLK, деленной на 4: CLK TIMER = PCLK/2 = CLK/4. Счетчик 0 используется как системный таймер, и его выход представляет собой запрос на внешнее маскируемое прерывание IRQ0 высшего приоритета. Счетчик 1 используется для задания временного интервала циклов регенерации, и его выход обеспечивает установку триггера запроса регенерации памяти. Счетчик 2 используется для программирования звукового сигнала, его выход представляет собой источник звукового сигнала, который поступает в адаптер связи с динамиком. Для программирования таймера используются команда обращения к портам ввода-вывода из области адресов таймера ЦП (см. табл. 4.1). Дешифрация команд программного доступа к таймеру приводится в табл: Таблица ------------------------------------------------------------------- Код адреса | Команда доступа к таймеру | порта |-----------------------------| Операция ввода-вывода |TIMER CS| IOR | IOW | A1| A0 | ------------------------------------------------------------------- 040 0 1 0 0 0 Запись в счетчик 041 0 1 0 0 1 Запись в счетчик 1 042 0 1 0 1 0 Запись в счетчик 2 043 0 1 0 1 1 Запись кода режима 040 0 0 1 0 0 Считывание счетчика 0 041 0 0 1 0 1 Считывание счетчика 1 042 0 0 1 1 0 Считывание счетчика 2 043 0 0 1 1 1 Запрещенная комбинация Режим работы счетчиков задается отдельно для каждого счетчика путем записи в адрес 43 (А1, А0=1,1) соответствующего кода режима. Формат кода режима показан в таблице: Таблица -------------------------------------------------------------------- Разряд | Код режима -------------------------------------------------------------------- D0 | 0 - двоичный счетчик | 1 - десятичный счетчик -------------------------------------------------------------------- D1 | 000 - 101 - режим 0 - 5 соответственно D2 | D3 | -------------------------------------------------------------------- D4 | 00 - запоминание текущего значения счетчика D5 | 01 - считывание (запись) только старшего байта счетчика | 10 - считывание (запись) только младшего байта счетчика | 11 - считывание (запись) сначала младшего, а затем старшего | байта счетчика -------------------------------------------------------------------- D6 | 00 - 10 - выбор счетчика 0 - 2 D7 | 11 - запрещенная комбинация -------------------------------------------------------------------- Разряды D3, D2, D1 задают один из пяти режимов работы счетчика. В данном таймере используются только три режима. Для счетчика 0 может задаваться либо режим 0, либо режим 2. Для счетчика 1 задается только режим 2, а для счетчика 2 только режим 3. 4.2.14. Блок прерываний обеспечивает приоритетный выбор запросов внешних маскируемых формирований кода типа маскируемого внешнего прерывания. Прерывание заключается в программном переходе на подпрограмму обработки прерывания по четырехбайтному коду, хранящемуся в памяти и называемому вектором прерывания. Адрес вектора прерывания формируется микропроцессором путем сдвига влево на 2 разряда кода типа прерывания. Прерывание называется маскируемым, если его реализация зависит от состояния маски IF в регистре признаков микропроцессора. Типы и соответствующие им векторы прерываний (кроме внутренних прерываний по команде INT) приведены в табл. 4.5: Таблица 4.5 ------------------------------------------------------------------- Тип |Адрес | Наименование | Примечания прерывания |вектора | прерывания | ------------------------------------------------------------------- 0* 0 - 3 Деление на ноль Инициируется при переполнении в делении 1* 4 - 7 Пошаговый режим Инициируется установкой признака TF=1 2** 8 - B Прирывание NMI Инициируется по ощибке ввода-вывода 3* C - F Точка прерывания Инициируется по команде INT с кодом СС 4* 10 - 13 Переполнение Инициируется по команде INT0, если признак 0F=1 5* 14 - 17 Прерывание печати Инициируется командой INT 6* 18 - 1B Резерв 7* 1С - 1F Резерв 8*** 20 - 23 Текущее время Инициируется таймером (IRQ0) 9*** 24 - 27 Клавиатура (IRQ1) Инициируется адаптером клавиатуры А*** 28 - В2 - В*** 2С - 2F - C*** 30 - 33 - D*** 34 - 37 - E*** 38 - 3B НГМД (IRQ6) Инициируется адаптером НГМД F*** 3C - 3F - Примечание: * - внутреннее, не маскируемое; ** - внешнее, не маскируемое *** - внешнее, маскируемое. Для прерываний по команде INT код задается в самой команде (код команды CDXX , где ХХ - код типа прерывания). Bектор прерывания занимает два слова в памяти, одно из которых хранит новый сегмент команды (СS), а другое - новый адрес команды (IP). Процедура начала обработки запроса внешнего маскируемого прерывания (IRQ) выглядит следующим образом. В ответ на запрос IRQ блок прерывания, при отсутствии в обработке более приоритетного прерывания, выдает запрос на обслуживание в микропроцессор INTR. По окончании выполнения текущей команды и по освобождении системной шины микропроцессор в ответ на запрос INTR переходит в состояние подтверждения прерывания (см. табл. 4.2) и отрабатывается соответствующая команда системной шины, во время которой блок прерываний выдает в микропроцессор по шине данных (XD0-XD7) (D0-D7) (AD0-AD7) код типа прерывания по сигналу подтверждения прерывания (INTA) из блока управления. Для всех остальных прерываний процесора, либо поступает в микропроцессор с кодом команды. В этом случае обработка прерывания начинается без циклов подтверждения прерывания INTA. После включения питания и системного сброса (RESET) блок прерываний приводится в рабочее состояние (инициализируется) с помощью следующей последовательности записей в порты 020 и 021, которые воспринимаются блоком как команды инициализации: 1) запись кода 13 в порт 020; 2) запись кода 08 в порт 21; 3) запись кода 09 в порт 021; В процессе инициализации устанавливается режим совместной работы с микропроцессором K1810ВМ86; устанавливается фиксированный приоритет с низшим приоритетом для IRQ7; входная логика запросов приводится в исходное состояние с установкой режима запоминания запросов по положительным фронтам сигналов IRQ; внутренний восьмиразрядный регистр масок прерываний (регистр IMR) сбрасывается, разрешая восприятие всех запросов внешних маскируемых прерываний; устанавливается режим неавтоматического окончания прерывания.После однократного завершения инициализации любые записи в порты 020 и 021 не воспринимаются как команда. Наличие регистра IMR обеспечивает возможность дополнительного (кроме общей маски IF в регистре признаков микропроцессора) индивидуального маскирования запросов IRQ. Загружается регистр IMR выполнением команды записи байта в порт 021. Регистр IMR доступен и для считывания, его содержимое выдается на шину данных по команде чтения порта 021. Поскольку блок прерываний работает в режиме неавтоматического окончания прерывания, то в конце процедуры обработки внешнего маскируемого прывания, перед выполнением последней обязательной команды IRET, должна быть выполнена запись в порт 020 кода 20, которая воспринимается блоком прерываний как команда окончания прерывания (команда Е01). По команде Е01 сбрасывается запомненный приоритетный признак обслуживаемого прерывания и приводятся в исходное состояние схемы восприятия запросов данного типа. 4.2.15. Трехканальный порт, реализованный на микросхеме КР580ВВ55А, предназначен для осуществления программного доступа к конфигуратору системы, адаптеру клавиатуры и отдельным сигналам системного модуля, а также для программного формирования некоторых управляющих сигналов. Необходимый режим работы микросхемы КР580ВВ55А задается после включения электропитания посредством записи в порт 063 кода 99. При этом для каналов DA (адрес порта 060) и DC (адрес порт 061) режим простого выхода. При выполнении команды чтения порта 060 или 062 на шину данных (XD) передается состояние выходов канала DA или DC соответственно. Эти каналы используются только для считывания. Канал DB используется для формирования управляющих сигналов. Программное изменение состояния этих управляющих сигналов осуществляется посредством записи в порт 061 соответствующего кода. Записанное состояние сохраняется на выводах канала DB до следующей записи в этот порт. Назначение разрядов трехканального порта показано в таблице: Таблица -------------------------------------------------------------------- Порт | Канал | Назначение разрядов -------------------------------------------------------------------- 060 | DA | -------------------------------------------------------------------- вход 0 - 7 при DB(7)=0 - код сканирования клавиатуры при DB(7)=1 - SA1(0) - SA1(7) соответственно -------------------------------------------------------------------- 061 | DB | -------------------------------------------------------------------- выход 0 разрешение счета счетчика 2 1 разрешение звукового сигнала 2 разрешение считывания SA2(0-3), если DB(2)=1 3 не используется 4 не используется 5 разрешение ошибки ввода-вывода 6 разрещение синхронизации клавиатуры, при DB(6)=1 7 разрешение клавиатуры и считывания кода сканирования по каналу DA, при DB(7)=0 -------------------------------------------------------------------- 062 | DC | -------------------------------------------------------------------- вход 0 - 3 SA2(0) - SA2(3) при DB(2)=1 при DB(2)=0 не используется 4 не используется 5 выход счетчика 2 таймера 6 сигнал ошибки ввода-вывода 7 не используется -------------------------------------------------------------------- Контакт конфигурации хранит единичный бит, если он разомкнут, и нулевой бит, если он замкнут. Назначение и расшифровка кода конфигуратора системы показаны в таблице: Таблица -------------------------------------------------------------------- Контакт SA1 | Назначение -------------------------------------------------------------------- 0 начальная загрузкас НГМД (контакт разомкнут) 1 сопроцессор установлен (контакт разомкнут) 2 тип НГМД (0 - 80 дорожек; 1 - 40 дорожек) 3 резерв 4, 7 тип адаптера ЭЛИ 00 - резерв 10 - цветной графический 40 x 25 01 - -+- 80 x 25 11 - черно-белый монохромный 80 х 25 5, 6 количество НГМД 00 - 1 01 - 2 10 - 3 11 - 4 -------------------------------------------------------------------- Контакт SA2 | -------------------------------------------------------------------- 0 замкнут, если к каналу 2 ПДП подключено устройство, установленное в модуле расширения; 1 замкнут, если к каналу 3 ПДП подключено устройство, установленное в модуле расширения; 2 разомкнут, если используется модуль синтезатора речи; 3 замкнут, если к каналу 1 ПДП подключено устройство, установленное в модуле расширения; 4 - 7 резерв -------------------------------------------------------------------- 4.2.16. Адаптер связи с динамиком служит для формирования звукового сигнала и его программного управления. 4.2.17. Адаптер клавиатуры предназначен для приема и преобразования в параллельный код (код сканирования) последовательных кодов, формируемых клавиатурой при нажатии клавиш. Код сканирования, сформированный в регистре сдвига, считывается программно при адресации порта 60, если седьмой разряд порта 61 находится в нулевом состоянии (сигнал КЛВТ ДОСТ - низкий). При единичном состоянии этого разряда на вход порта 60 поступает информация с переключателей, определяющих конфигурацию системы, а в адаптере при этом сбрасывается триггер прерывания и регистр сдвига. Шестой разряд порта 61 (сигнал БЛК СТРОБ КДВТ) используется для установки адаптером низкого уровня на шине KBD CLK, что является условием сброса клавиатуры. Для приема адаптером кодов сканирования клавиатуры седьмой и шестой разряды порта 61 должны быть установлены программно соответственно в нулевое и единичное состояния. Сформированный код сканирования хранится в регистре сдвига до завершения обработки прерывания. При обработке прерывания код будет считан в буфер клавиатуры в оперативной памяти, после чего устанавливается в единичное состояние седьмой разряд порта 61, вызывая сброс триггера запроса на прерывание и очистку регистра сдвига. Затем седьмой разряд устанавливается в нулевое состояние, и адаптер готов к приему следующего кода сканирования. 4.3. Электронные модули памяти 4.3.1. ЭМ памяти предназначены для приема, хранения и передачи данных на системную шину по запросу ЦП или периферийного устройства. Оперативное запоминающее устройство ЕС1841 реализовано в виде двух ЭМ памяти емкостью 1024К байт. 4.3.2. Связь ЭМ памяти с системной шиной осуществляется посредством следующих сигналов интерфейса: 1) D0-D15 - данные; 2) А1-А19 - адрес; 3) А0 - сигнала доступа к младшему байту данных (или младший разряд адреса порта ввода-вывода); 4) AEN - разрешение адреса ПДП; 5)-IOR - чтение порта ввода-вывода; 6)-IOW - запись в порт ввода-вывода; 7)-BHE - сигнал доступа к старшему байту данных; 8)-MEMR - сигнал считывания из памяти; 9)-MEMW - сигнал записи в память; 10)-DACK0 - сигнал запроса регенерации памяти; 11)-I/0 CHCK - сигнал сбоя в считанной информации. 4.3.3. Каждый ЭМ памяти условно разделен на два банка - младший и старший. Младший банк всегда принимает или выдает младшие восемь разрядов данных(D0-D7), старший банк - старшие разряды (D8-D15) двухбайтного слова данных. Управление передачей данных осуществляется с помощью сигналов А0 и -ВНЕ, снимаемых с системной шины, как показано в таблице: Таблица -------------------------------------------------------------------- ВНЕ | А0 | Передаваемые разряды -------------------------------------------------------------------- 1 0 D0-D7 1 1 Недопустимая комбинация 0 0 D0-D15 0 1 D8-D15 Младший банк содержит четно адресуемые байты (А0=0). Старший банк содержит нечетно адресуемые байты (А0=1, BНЕ=0). Из памяти байты могут выбираться одновременно из старшего и младшего банка. Емкость младшего и старшего банков одинакова и составляет половину общей емкости модуля памяти. Каждый банк памяти разделен на четыре блока памяти с нумерацией 0-3. Блок памяти ЭМ памяти ЕС1841.0000 имеет емкость 64К байт, блок памяти ЭМ ЕС1840.0000 - 16К байт. Для адресации памяти в общем случае используются разряды А1-А19. Младший разряд А0 в адресации памяти не участвует, но используется для выбора банка памяти. ОЗУ ПЭBМ ЕС1841 представляет собой массив девятиразрядных байтов. Коды команд, байты и слова данных могут быть записаны в любое место памяти независимо друг от друга. Слова данных по четному адресу считываются из памяти за одно обращение. Слова данных по нечетному адресу считываются за два цикла памяти. B первом цикле пересылается младший байт по старшей половине шины данных (D8-D15), при этом BНЕ=0, А0=1. Bо втором цикле памяти на адресные шины поступает инкрементированный адрес, причем А0 становится равным нулю, и пересылает старший значащий байт по младшей половине шины данных (D0-D7). Максимальное адресное пространство ЕС1841 составляет 1М байт. Назначение каждого из модулей осуществляется посредством программной загрузки кода доступа в порт ввода-вывода, содержащийся в каждом модуле. Кроме того, идентификация модуля производится соответстувующей ручной коммутацией переключателя. При обнаружении отказа в каком-либо блоке памяти модуля ЕС1841.0000 (при наличии на выходе модуля сигнала 1/0 СНСК) производится динамическая реконфигурация памяти, т.е. отказавший блок логически перемещается в конец адресуемой области памяти. Обращение к отказавшему блоку исключается. Реконфигурация памяти осуществляется путем переадресации блоков памяти с использованием кода адреса отказавшего блока памяти. 4.3.4. В состав ЭМ памяти ЕС1841.0000 входят следующие основные блоки и узлы: 1) порт ввода-вывода; 2) узел формирования сигналов доступа к памяти; 3) узел управления доступом к порту ввода-вывода; 4) мультиплексор адреса; 5) передатчики; 6) шинные формирователи; 7) узел управления шинными формирователями; 8) узел узел контроля по паритету; 9) младший банк; 10) старший банк памяти. 4.3.5. Работа ЭМ памяти ЕС1841.0000 инициируется сигналом -MEMR или -MEMW, поступающим с системной шины. Адрес на шину поступает ранее сигналов -MEMR или -MEMW. Код доступа к памяти заранее устанавливается программным путем. 4.3.6. Порт ввода-вывода презназначен для приема, хранения и выдачи кода реконфигурации памяти, а также кода доступа к памяти. Порт ввода-вывода имеет адрес 2ВХ и программно доступен как для считывания, так и для записи. Порт ввода-вывода представляет собой 4-разрядный регистр, реализованный на микросхеме К555ТМ9. Назначение разрядов регистра приведено в таблице: Таблица ------------------------------------------------------------------- Разряд | Назначение ------------------------------------------------------------------- 0,1 Код реконфигурации 2 Разрешение считывания из модуля 3 Разрешение записи в модуль Порт ввода-вывода подключается к младшим разрядам шины данных D0-D3 через шинные формирователи. Порт ввода-вывода приводится в исходное состояние (нулевое) программой инициализации, выполняемой по включении электропитания. Адресация порта осуществляется посредством адресных разрядов А0-А9. В конфигурации памяти, состоящей из нескольких модулей ЕС1841.0000, дифференциация модулей производится двумя младшими разрядами А0, А1 адреса порта ввода-вывода, т.е. адрес порта ввода-вывода каждого из четырех модулей отличается двумя младшими разрядами адреса. Код реконфигурации, содержащийся в разрядах 0 и 1 порта, представляет собой инверсный код адреса отказавшего блока памяти. Этот код загружается программным путем и в дальнейшем используется для динамической передадресации. Разряд 2 порта управляет доступом к модулю для считывания. Разряд 3 порта управляет доступом к модулю для записи. В любой данный момент времени активным может быть только один модуль, т.е. разряды 2 и 3 порта могут быть одновременно установлкены только в одном модуле, а в других модулях они должны быть сброшены. Запись данных в порт ввода-вывода осуществляется с общей внутренней шины MD. 4.3.7. Узел управления доступом к порту ввода-вывода предназначен для дешифрации порта и выдачи сигналов обращения к порту. Кроме того, данный узел содержит двухпозиционный переключатель, SA1, на котором вручную задается номер модуля. Соответствие номера модуля состоянию SA1 и адресу порта приведено в таблице: Таблица ------------------------------------------------------------------- | | Положение позиций Номер | Адрес | переключателя SA1 модуля | порта |------------------------------------------ | | 03-04 | 05-06 ------------------------------------------------------------------- 0 2В0 Разомкнуто Разомкнуто 1 2В1 Разомкнуто Замкнуто 2 2В2 Замкнуто Разомкнуто 3 2В3 Замкнуто Замкнуто 4.3.8. Узел управления шинными формирователями предназначен для выработки сигналов, управляющих передачей данных из (в) порта ввода-вывода или банков памяти через шинные формирователи на (с) системную шину данных. 4.3.9. Передатчики предназначены для передачи данных из порта ввода-вывода при выполнении операции считывания на общую внутреннюю шину данных MD0-MD3. 4.3.10. Узел формирования сигналов доступа к памяти предназначен для выдачи сигналов -RAS и -CAS на входы микросхем памяти старшего и младшего банков. Кроме того, в данном узле производится динамическая переадресация блоков памяти, т.е. преобразованию подлежат адресные разряды А17, А18. Последние суммируются по модулю два с кодом реконфйгурации, поступающим из порта ввода-вывода. Результат суммирования (сигналы А17 ПР и А18 ПР) подается на дешифраторы для получения сигналов RASO-RAS3 (CASO-CAS3). В каждый данный момент времени в операции записи (считывания) активна одна пара сигналов RAS ML, CAS MK и (или) RAS СТ, CAS СТ. В процессе регенeрации активизируются все сигналы RAS и переводятся в неактивное состояние сигналы CAS. 4.3.11. Старший и младший банки памяти состоят из четырех блоков памяти. Каждый блок памяти состоит из девяти микросхем памяти по числу разрядов в байте (8 информационных плюс контрольный по параритету). Информационные шины блоков памяти двухнаправленные. Блок памяти в младшем банке выбирается посредством сигналов RASO МЛ-RAS3 МЛ (CAS3 МЛ), в старшем банке - посредством сигналов RAS0 CТ-RAS3 СТ (CAS0 СТ-CAS3 СТ). 4.3.12. Схема контроля по паритету предназначена для формирования контрольных разрядов по паритету при выполнении операции записи и контроля считанной из памяти информации. Если производится считывание из памяти только какого-либо одного байта, то контроль выполняется только для считываемого байта, контроль же другого байта блокируется. Сигнал сбоя I/0 CНСК выдается на системную шину. 4.3.13. Данные D0-D15 на запись или при считывании из памяти передаются по двунаправленным шинам через шинные формирователи. Таким образом, шинные формирователи передают данные в двух направлениях: при считывании из памяти - на системную шину, при записи в память - на шину памяти. Пердача младшего и (или) старшего байта данных на шину данных осуществляется под управлением соответствующих сигналов из узла управления шинными формирователями. 4.3.14. Мультиплексор адреса предназначен для выдачи адреса на входы микросхем памяти. Младшая половина адреса А1-А8 (адрес строки) выдается при отсутствии сигнала ADDR SEL, а по сигналу ADDR SEL выдается старшая половина адреса A9-А16 (адрес столбца). В режиме регенерации вместо разряда А7 на выход мультиплексора передается разряд А0. 4.3.15. Структура ЭМ памяти ЕС1840.0000 : 1) узел формирования запроса памяти; 2) узел формирования сигналов доступа к памяти; 3) узел управления шинными формирователями; 4) шинные формирователи; 5) мультиплексор адреса; 6) банки памяти младший и старший; 7) узел контроля по паритету. Узел формирования запроса памяти предназначен для выдачи сигнала разрешения к памяти MEM ADDR SEL в том случае, когда адресный код на шине входит в зону разрешенных для доступа адресов, установлен соответствующим образом переключатель и отсутствует запрос регенерации DACK0. Позиции переключателя SA1 для доступа к модулю ЕС1840.0000 должны быть установлены в соответствии с таблицей: Таблица ------------------------------------------------------------------- Позиция переключателя SA1 | Положение ------------------------------------------------------------------- 1 Разомкнуто 2 Разомкнуто 3 Разомкнуто 4 Замкнуто 5 Разомкнуто 6 Разомкнуто -------------------------------------------------------------------- 4.4. Электронный модуль адаптера электронно-лучевого индикатора 4.4.1.ЭМ адаптера ЭЛИ предназначен для подключения цветного видеомонитора "Электронника МС6106.02" ЭЛИ или видеомонитора "Электронника МС 6105" к системному электронному модулю. 4.4.2. Контроллер СМ607 программируется посредством системной шины и позволяет воспроизводить алфавитно-цифровые и графические изображения с переменным форматом. 4.4.3. ЭМ адаптера ЭЛИ может работать в двух режимах: алфавитно-цифровом и графическом с адресацией всех точек. При этом для поддержки информации на экране дисплея в ЭМ адаптера ЭЛИ используется память регенерации (буфер дисплея). Буферная память в знаковом режиме позволяет хранить несколько страниц экрана. 4.4.4. В алфавитно-цифровом режиме адаптер обеспечивает следующие форматы изображения на экране: 1) 25 строк по 40 символов (40х25) для мониторов с низкой разрешающей способностью; 2) 25 строк по 80 символов (80х25) для мониторов с высокой разрешающей способностью. В обоих режимах символы определяются знакоместом 8х8 точек изображения и формируются генратором знаков, содержащим точные изображения 256 знаков. 4.4.5. В цветном алфавитно-цифровом режиме возможность использования 16 цветов переднего плана и 8 цветов фона для изображения символа. Возможно также выбрать цвет границы экрана (может быть выбран один из 16 цветов). 4.4.6. Буферная память реализована на элементах динамической памяти, регенерация ее осуществляется за счет чтения информации для поддержки отображения на экране дисплея. Буферная память имеет объем 16К байт. Генератор знаков является перезагружаемым и имеет объем 2К байт. Буферная память и генератор знаков выполнены без разрядов паритета и физически располагаются на плате адаптера. Доступ к буферной памяти и генератору знаков осуществляется с использованием адресного пространства системной памяти. Для буферной памяти зарезервированы адреса: В800-BFFF. Доступ к генератору знаков со стороны процессора осуществляется через адресное пространство буфра при установленном в единичное состояние нулевом разряде порта 3DF, причем доступ возможен только при использовании команд пересылки байтов. 4.4.7. Буферная память мультиплексируется между контроллером СМ607 и системной шиной, обеспечивая простоту и гибкость в управлении экраном. Процессор и контроллер СМ607 имеют равный доступ к буферной памяти за исключением алфавитно-цифрового режима высокой разрешающей способности. В этом режиме процессор будет иметь доступ к буферной памяти в течении интервалов обратного хода луча. 4.4.8. В алфавитно-цифровом режиме индицируемый знак определяется в буферной памяти двумя байтами. Четный байт - код отображаемого символа, нечетный байт - код атрибута. На рис., представлен формат символа/атрибута. Код символа Код атрибута ---------------------------------------------------- | 7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 | ---------------------------------------------------- | М - четный адрес | М+1 - нечетный адрес | 4.4.9. Код символа используется для чтения точечного изображения знака из памяти генератора знаков. За счет дешифрации битов 6, 5, 4 для фона и битов 3, 2, 1, 0 для переднего плана знака возможны 8 цветов фона и 16 цветов переднего плана. Дешифрация адаптера кода атрибута показана в таблице: Таблица ------------------------------------------------------------------- Бит атрибута | Обозначение | Назначение ------------------------------------------------------------------- 7 BL Мерцаение переднго плана знака 6 R 5 G Цвет фона знака 4 3 I Цвет переднего плана знака 2 R (1 - повышенная яркость переднего 1 G плана знака) 0 B Определение цвета по битам I, R, G, B и градаций цвета показано в таблице: Таблица ------------------------------------------------------------------- I R G B | Цвет | Градации цвета | Номер | | | градации ------------------------------------------------------------------- 0 0 0 0 Черный Черный 0 0 0 0 1 Синий Темно-серый 1 0 0 1 0 Зеленый 2 0 0 1 1 Голубой 3 0 1 0 0 Красный 4 0 1 0 1 Фиолетовый 5 0 1 1 0 Желтый 6 0 1 1 1 Светло-серый Светло-серый 7 1 0 0 0 Темно-серый 8-15 более яркие, 8 1 0 0 1 Светло-синий чем 0-7 9 1 0 1 0 Светло-зеленый 10 1 0 1 1 Светло-голубой 11 1 1 0 0 Светло-красный 12 1 1 0 1 Светло-фиолетовый 13 1 1 1 0 Светло-желтый 14 1 1 1 1 Белый Ярко-белый 15 Для фона знака цвета определяется комбинациями с 1=0. Код, записанный для черно-белого ЭЛИ с атрибутами "подчеркивание", адаптером цветного ЭЛИ представляется синим символом. Код, записанный для цветного ЭЛИ синим цветом, на экране черно-белого ЭЛИ представляется белым подчеркнутым символом на черном фоне. 4.4.10. В режиме "40х25" для регенерации экрана требуется 2000 байт в буферной памяти. В режиме "80х25" для регенерации экрана требуется 4000 байт буферной памяти. 4.4.11. В графическом режиме в буферной памяти задается карта памяти, определяющая цвет всех элементов экрана. Для каждого из режимов графики используется специфическое построение карты памяти. Могут быть заданы следующие режимы графики: 1) цветная графика малой разрешающей способности. На экране индицируется до 100 рядов по 160 элементов (160х100) в каждом. Требует 8000 байт буферной памяти; 2) цветная графика средней разрешающей способности. На экране индицируется до 200 рядов по 320 элементов (320х200) в каждом. Требует 16 000 байт памяти; 3) черно-белая графика высокой разрешающей способности. На экране индицируется до 200 рядов по 640 элементов (640х200) в каждом. Требует 16 000 байт буферной памяти. 4.4.12. При цветной графике малой разрешающей способности каждый элемент экрана может окрашиваться в один из 16 цветов, определяемых атрибутами I, R, G, B. При этом байт буферной памяти описывает два элемента экрана. Формат байта приведен на рисунке: 7 6 5 4 3 2 1 0 ----------------------- I R G B I R G B ----------------------- Элемент 1 Элемент 2 Рис. 4.4.13. При цветной графике средней разрешающей способности элемент экрана приобретает цвет либо предвыбранного одного из 16 цветов фона, либо одного из 3 цветов одной из двух палитр. Предвыбранный цвет фона определяется при этом разрядами 0-3 регистра выбора цвета. Номер используемой палитры определяется разрядом 5 регистра выбора цвета. В байте буферной памяти при этом описывается 4 элемента экрана. Формат байта приведен на рисунке. 7 6 5 4 3 2 1 0 -------------------------------- |С1 С0 | С1 С0 | С1 С0 | С1 С0| -------------------------------- Эле- Эле- Эле- Эле- мент 1 мент 2 мент 3 мент 4 Рис. Комбинации разрядов С1, С0 определяют использование цветовых палитр, приведенное в таблице: Таблица ------------------------------------------------------------------- Разряды | ---------| Код выбранного цвета для элемента экрана дисплея С1 | С0 | ------------------------------------------------------------------- 0 0 Элемент принимает цвет предвыбранного цвета фона 0 1 Элемент окрашивается цветом 1 из предвыбранной палитры 1 или 2 1 0 Элемент окрашивается цветом 2 из предвыбранной палит- ры 1 или 2 1 1 Элемент окрашивается цветом 3 из предвыбранной палит- ры 1 или 2 Цветовые палитры состоят из следующих цветов (при работе с видеомонитором "Электроника МС 6106 02" цвета палитры заменяются соответствующими градациями цвета): 1) первая палитра включает цвет 1 (голубой), цвет 2 (фиолетовый), цвет 3 (белый); 2) вторая палитра включает цвет 1 (зеленый), цвет 2 (красный), цвет 3 (желтый). 4.4.14. При черно-белой графике высокой разрешающей способности элемент экрана может окрашиваться только в черный или в белый цвет. В байте буферной памяти при этом описывается 8 элементов экрана. Формат байта приведен на рисунке: 7 6 5 4 3 2 1 0 ------------------------------- | | | | | | | | | ------------------------------- / \ \ Элемент 1 Элемент 2 Элемент 8 Рис. 4.4.15. Адаптер ЭЛИ дешифрирует адреса ввода-вывода, имеющие следующие назначения: 1) 3D4 - индексный регистр СМ607; 2) 3D5 - регистр данных СМ607; 3) 3D8 - регистр выбора режима; 4) 3D9 - регистр выбора цвета; 5) 3DА - регистр состояния адаптера; 6) 3DF - регистр выбора памяти. 4.4.16. Индексный регистр и регистр данных контроллера СМ607 используются при программировании контроллера для обеспечения интерфейса видеомонитора и определенного формата изображения. При инициализации контроллера в индексном регистре указывается адрес одного из 18 регистров, в который заносится в данный момент управляющая информация. При загрузке по адресу регистра данных информация загружается в тот регистр, адрес которого указывается в индексном регистре. 4.4.17. Инициализация контроллера СМ607 осуществляется по системному сбросу при включении электропитания. Процессор последовательно загружает регистры файла контроллера из таблицы, хранящейся в ПЗУ БСУВВ. Функции внутренних регистров и параметры инициализации контроллера приведены в таблице: Таблица ------------------------------------------------------------------- | | Едини- | | Значение параметра Регистр | Функция | ца из- | Ре- | ------------------- | | мере- | жим |40х25|80х25|Графи- | | ния | |АЦ |АЦ |ческий | | | | | |режим ------------------------------------------------------------------- R0 Период строчного Символ За- 38 71 38 синхроимпульса пись R1 Число отображаемых Символ За- 28 50 28 в строке символов пись R2 Положение строчного Символ За- 2D 5A 2D синхроимпульса пись R3 Длительность строч- Символ За- 0А 0А 0А ного синхроимпульса пись R4 Период кадрового Строка За- IF IF 7F синхроимпульса симво- пись лов R5 Регулировка периода Линия " 06 06 06 кадрового синхро- скани- импульса рования R6 Число оторажаемых Строка " 19 19 19 на экран строк R7 Положение кадрового То же " 1С 1С 70 синхроимпульса R8 Режим чередования - " 02 02 02 R9 Число линий скани- Линия " 07 07 01 рования скани- рова- ния R10 Начало курсора То же " 06 06 06 R11 Конец курсора " " 07 07 07 R12 Начальный адрес - " 00 00 00 регистрации (старший байт) R13 Начальный адрес - " 00 00 00 регистрации (младший байт) R14 Положение курсора - За- 00 00 00 (старший байт) пись, счи- тыва- ние R15 Положение курсора - За- 00 00 00 пись, _ счи- тыва- ние R16 Световое перо - Счи- - - - (старший байт) тыва- ние R17 Cветовое перо _ " - - - (младший байт) Содержимое регистров R0-R11 после инициализации не изменяется. Содержимое регистров R12, R13 определяет адрес ячейки буфера дисплея, содержимое которой первой отображается на экране. Программное использование содержимого регистров R12, R13 оеспечивает сдвиг информации на символ или строку вверх и вниз по экрану в пределах одной страницы. Содержимое регистров R14, R15 определяет местоположение курсора на экране, содержимое регистров R10, R11 - его формат. Программное изменение содержимого регистров R14, R15 обеспечивает перемещение курсора по экрану в пределах одной страницы и запись информации в текущую позицию курсора. Константа 02, заносимая в регистр чередования R8, определяет работу ЭЛИ в обычном режиме (режим чередования не используется). Регистры R16, R17 являются резервными, режим светового пера в данном ЭЛИ не реализован. 4.4.18. Регистр выора цвета (3D9) - шестнадцатеричный регистр изпользуется только для вывода. Описание функций регистра приведено в талице: Талица ------------------------------------------------------------------- Разряд | Функция ------------------------------------------------------------------- 0 B (синий) 1 G (зеленый) 2 R (красный) 3 I (выбор интенсивности цвета границы экрана "знак/фон" в режиме 320х200) 4 Bыбор интенсивности цвета фона для цветовых знаковых режимов 5 Bыбор цветовой палитры в режиме 320х200 6 Не используется 7 Не используется Разряды 0, 1, 2, 3 определяют выбор цвета границы экрана в знаковом режиме 40х25. В графическом цветном режиме 320х200 установкой этих разрядов выбираются цвет фона экрана. Разряд 4, будучи установленным, выбирает интенсивность установки фона для знакового режима. Разряд 5 используется только в цветном режиме средней разрешающей способности (320х200). Он предназначен для выбора активной палитры цветов экрана. Когда бит установлен в "1", цвета определяются по таблице: Таблица ------------------------------------------------------------------- Разряды | -------------| Выборанный набор С0 | С1 | ------------------------------------------------------------------- 0 0 Фон, определяемый битами 0-3 порта 3D9 0 1 Голубой 1 0 Пурпурный 1 1 Белый Когда бит 5 установлен в "0", цвета определяются по таблице. Таблица ------------------------------------------------------------------- Разряды | -------------| Выбранный набор С0 | С1 | ------------------------------------------------------------------- 0 0 Фон, определяемый битами 0-3 порта 3D9 0 1 Зеленый 1 0 Красный 1 1 Желтый 4.4.19. Регистр выбора режима (3D9) - шестнадцатиразрядный регистр, используемый только для вывода. Описание функций регистра приведено в таблице: Таблица ------------------------------------------------------------------- Разряды | Функция ------------------------------------------------------------------- 0 Режим 80х25 1 Выбор графики 2 Выбор черно-белого режима 3 Разрешение видеосигнала 4 Черно-белый режим 640х200 5 Изменение интенсивности фона битом мерцания 6 Не используется 7 Не используется Разряд 0 определяет выбор между знаковым режимами 40х25 и 80х25 (в единичном состоянии выбирает режим 80х25). Разряд 1 определяет выбор между знаковым режимом и графическим режимом 320х200 ("1" выбирает графический режим 320х200). Разряд 2 определяет выбор цветного или черно-белого режима ("1" выбирает черно-белый режим). Разряд 3 разрешает видеосигнал. Видеосигнал должен быть запрещен в тот момент, когда меняется режим ("1" разрешает видеосигнал). Разряд 4, будучи установленным, выбирает графический режим 640х200. Один цвет из восьми может быть выбран прямой установкой в регистре 3D9. Разряд 5 определяет выбор, между заданием интенсивной окраски фона и мерцанием знака для знакового режима. Когда разряд установлен в "0", разряд 7 атрибута определяет повышенную яркость фона знака. Когда разряд установлен в "1", разряд 7 атрибута задает мерцание знака. Режим малой разрешающей способности 160х100 требует специального программирования и устанавливается как знаковый режим 40х25. 4.4.20. Регистр состояния (адрес 3DА) - четырехразрядный и используется только для считывания. Описание функций регистра приведено в таблице: Таблица ------------------------------------------------------------------- Разряд | Функция ------------------------------------------------------------------- 0 Разрешение доступа 1 Резерв 2 Резерв 3 Кадровый синхроимпульс 4-7 Не используется Разряд 0, будучи установленным в единичное состояние, индицирует, что доступ к буферной памяти со стороны процессора может быть произведен без перекрытия с обращеним, выполняемым под управлением контроллера СМ607; разрешает выдачу данных на экран ЭЛИ. Разряд 3 - разряд состояния, отражающий вырабатываемый адаптером кадровый синхроимпульс, который может быть использован для проверки обратного хода по кадру. 4.4.21. Порт 3DF используется для загрузки знакогенератора. Знакогенератор использует то же адресное пространство, что и буферная память. Для обращения к знакогенератору необходимо в порт 3DF записать константу 01 и нули в порт 3D8. При нулевом состоянии порта 3DF обращение выполняется к буферу. 4.4.22. Запись и считывание буфера производится в страничном режиме: за одно обращение записываются и считываются два байта информации. По сигналу 01 адрес, поступающий от ЦП, заносится в адресный регистр. По сигналу RAS выбирается адрес строки, а по сигналу CAS выбирается адрес колонки. Данные D0-D7 подаются на входы памяти по сигналу WE BUF 0/7, данные D8-D15 подаются на вход буферной памяти по сигналу WE BUF 8/15. Запись производится по сигналу WE BUF. 4.4.23. Доступ ЦП к генератору знака по записи и считыванию информации осуществляется через адресное пространство буферной памяти. Обращение к генератору знаков разрешено при отсутствии сигнала VIDEO ENABL. 4.5. Электронный модуль адаптеров накопителей на гибких магнитных дисках и манипулятора 4.5.1. ЭМ адаптера НГМД и маниапулятора объединяет оборудование двух независимых адаптеров, предназначенных для подключения к ПЭВМ НГМД и манипулятора графической информации. 4.5.2. Адаптер манипулятора принимает от манипулятора графической информации импульсные сигналы, сопровождающие смещние этого устройства в двух ортогональных направлениях, пробразует эти сигналы в цифровой код, определяет направление и величину перемещения и выдат эту информацию программе, управляющй курсором на экране ЭЛИ. Адаптер формирует информацию об относительном перемещении манипулятора с момента последнего опроса ее процессором. ЦП сохраняет текущую позицию манипулятора, пересчитывая ее при каждом перемещении. Клавиши манипулятора служат в качестве логических клавиш для ввода функций, определяемых управляющей программой. Состояние клавиш кодируется адаптером и передается в ЦП. 4.5.2.1. Переход приемопередатчика в активное состояние производится при дешифрации одного из портов адаптера. Направление передачи информации определяется наличием команды считывания порта ввода-вывода. По низкому уровню сигнала JOR информацияя с шины AD0-AD7 передается на системную шину D0-D7. По высокому уровню сигнала JOR направление передачи переключается. 4.5.2.2. Дешифратор адреса определяет группу портов адаптера манипулятора. Физически адресная группа адаптера выбирается с помощью перемычек и может быть задана для любого поля. Программа, управляющая оборудованием адаптера, может использовать следующие группы адрсов: 1) 230, 231, 232, 233; 2) 234, 235, 236, 237; 3) 238, 239, 240, 241; 4) 23С, 23D, 23E, 23F (основной вариант). Все адреса в группе предназначены для обращения к каналам контроллера (DA, DB, DC) параллельного интерфейса (КПРИ) для его программирования. Дешифратор адреса состоит из двух четырехзначных схем сравнения, которые выдают высокий уровень при сравнении старшей и младшей тетрад адресного байта А2-А9 с соответствующими битами адреса, заданного схемой коммутации. Сравнение производится при низком уровне сигнала AEN. Положительный результат сравнения формирует на выходе дешифратора сигнал низкого уровня, приводящий в активное состояние приемопередатчик и и выбирающий схему КПРИ. Наименование сигналов связи адаптера с манипулятаром, их назначние и распределение по константам соединителя приведены в таблице: Таблица ------------------------------------------------------------------- Наимено- | Контакт| Вход | вание | соеди- | (вход) | Назначение сигнала сигнала | нителя | | ------------------------------------------------------------------- КН.Л А01 ВХ Сигнал фиксирует положени клавиши на манипуляторе. Низкий уровень сигнала опрделяет нажатое состояни клавиши КН.Ц А02 ВХ Сигнал фиксирует положени центральной клавиши на манипуляторе. Низкий уровень сигнала опрделяет нажатое состояние клавиши КН.П А03 ВХ Сигнал фиксирует положение правой клавиши на манипуляторе. Низкий уровень сигнала определяет нажатое состояни клавиши ЗЕМЛЯ F А04 ВЫХ Уровень "схемной земли" ЗЕМЛЯ F А05 " Уровень "схемной земли" +5V E В01 " Уровень "плюс 5V" Х1 В02 ВХ Серия импульсов, формируемая при движении манипулятора на плоскости в направлении по оси Х X2 В03 " Серия импульсов, формируется при движении манипулятаора на плоскости в направлении по оси Х, с фазовым сдвигом относительно серии Х1 Y1 В04 " Серия импульсов, формируемая при движении манипулятора на плоскости в направлении оси Y Y2 В05 " Серия импульсов, формируемая при движении манипулятора на плоскости в направлении оси Y, с фазовым сдвигом сдвигом относитльно серии Y1 4.5.2.3. Контроллер параллельного интерфейса предназначен для передачи в блок управления предачей данных (БУПД) управляющей информации, маски прерывания из ЦП, а также приема из (БУПД) и передачи в ЦП данных о перемещниях манипулятора и состояния го клавиш.. Обмен КПРИ с ЦП производится по шине данных D0-D7. КПРИ программируется на режим работы 0. При этом канал DA микросхемы настраивается на ввод, канал DВ - на вывод, разряды 0-3 канала DC - на ввод, разряды 4-7 канала DC - на вывод. Через канал DA КПРИ на шину данных считывает байт информации. Его структура приведена на рисунке. Разряды D0-D3 передают информацию о направлениях движения манипулятора и цифровой код, определяющий величину относительно перемещения в направлниях по осям Х и Y. Направлние движения по оси Х влево кодируется логической "1", вправо - "0". Направление движения по оси Y вверх кодируется логической "1", вниз - "0". Цифровой код перемещения в каждом направлении является семиразрядным. Его передача проиводится двумя порциями. Сначала передается младшая тетрада D0-D3, затем три старших разряда (D0-D2). Код направления передается через разряды D3 одновременно со старшими разрядами кода перемещения. Разряды D5-D7 фиксируют состояние клавиш манипулятора. Состояние нажатой клавиши кодируется логическим "0", отжатой клавиши - логической "1". Управление передачей информации через канал DA, маскирование прерываний от адаптера производится по инициативе ЦП. Для этой цели используется канал DC КПРИ. В разряды D4-D7 записывается управляющая информация. Она поступает как последовательность четырех констант в ответ на очередное прерывание от адаптера. Разряды D4 является маской прерываний. При его единичном состоянии прерывания адаптера блокируются. Выдача управляющей информации всегда сопровождается установкой в "1" разряда D4. Последовательность управляющих констант имеет следующие коды и очередность: 90, ВО, DO, FO. После записи каждой константы в канал DC производится считывание состояния канала DA. Таким образом выдача управляющей константы в канал DC идентифицирует информацию, передаваемую на шину данных через канал DA. Константы 90 вызывает передачу младшей тетрады кода перемещения по Х. Константы ВО вызывает передачу страших разрядов кода перемещения по Х и кода направления по Х. Константы D0 вызывает передачу старших разрядов кода перемещения по Y. Константа F0 вызывает передачу старших разрядов кода перемещения по Y и кода направления по Y . Разряды D0-D3 канала отражают состояние линий прерывания соответственно JRQ5, JRQ4, JRQ3, JRQ2, JRQ1. Состояние указанных линий может быть считано ЦП для выявления задействованного уровня прерывания от адаптера манипулятора. Канал D8 КПРИ используется для записи и считывания константы при инициализации адаптера. Эта процедура определяет задействованную адресную группу. Кроме того, разряды D7 и D6 канала D8 используются для установки режима диагностического функционирования адаптера. 4.5.2.4. Узел выдачи направления Х представляет собой триггерную схему, фиксирующую код направления при перемещении манипулятора по оси Х. При движении манипулятора влево триггер всегда будет устанавливаться в "1", при движении вправо - в "0". 4.5.2.5. Узел выдачи направления фиксирует код направления пермещения манипулятора по оси Y. При движении манипулятора вверх триггер направления устанавливатся в "1", при движении вниз - в "0". 4.5.2.6. Счетчик перемещений Х прдставляет собой восьмиразрядный счетчик, определяющий количество единиц перемещения манипулятора (цифровой код перещения) по оси Х. Код перемещения формирутся в промежутке между обращениями ЦП для опроса, обнуляясь каждый раз в конце опроса. При установлении частоте опросов достаточно семи разрядов код перемещения, поэтому старший разряд счетчика не используется. 4.5.2.7. Счетчик перемещений Y опрделяет количество единиц перемещений манипулятора по оси Y.Оаборудование аналогично счетчику перемещений Х. 4.5.2.8. Блок управления передачей данных принимает информацияю от счетчиков перемещений и триггеров направления и передает ее на вход разрядов D0-D3 канала КПРИ. Управлени передачей производится при дешифрации кода разрядов D5-D7 канала DC КПРИ. 4.5.2.9. Узел прерываний преденазначн для генерации серии импульсов с регулирумой частотой, используемой в качестве сигналов прерывания от адаптера. 4.5.2.10. Схема переключения уровня пррывания позволяет подключить одну из линий прерывания JRQ2, JRQ3, JRQ4, JRQ5 к выходу узла прерываний. 4.5.2.11. Диагностический узел имитации перемещений предназначен для обеспечения возможности проверки оборудования адаптра. Данный узел позволяет заменить серии импульсов (Х1, Х2, Y1, Y2) от манипулятора на собственные серии адаптера. Для этой цели используются сигналы со счетчика генерации прерываний. При установке в "1" разряда D7 канала DB КПРИ серия со счетчика прерываний подается на линии сигналов Х2, Y2, а разряд D5 канала D8 КПРИ - на линии сигналов X1, Y1. Задавая управляющие сигналы на выходе КПРИ, можно менять состояние триггеров направления и получать необходимую ожидаемую константу в счетчиках перемещений, сравнивая ее с полученным количеством прерываний. 4.5.3. В состав ЭМ адаптера НГМД входят следующие основные составные части: 1) дешифратор базового адреса; 2) узел сопряжения с системной шиной; 3) двунаправленный формирователь данных; 4) регистр управления; 5) контроллер НГМД; 6) дешифратор сигналов выбора НГМД; 7) генератор импульсов; 8) формирователь синхросерий; 9) узел формирования сигналов записи с предкомпенсацией; 10) узел фазового детектора; 11) генератор, управляемый напряжением (ГУН); 12) узел синхронизации данных восроизведения; 13) фильтр низких частот (ФНЧ); 14) схема формирования запроса ПДП; 15) формирователь сигналов НГМД. Назначение разрядов регистра управления, имеющего системный адрес 3F2, приведено в таблице: Таблица -------------------------------------------------------------------- Разряд | Назначение -------------------------------------------------------------------- 0, 1 Выбор НГМД 2 Сброс контроллера НГМД (при нулевом значении разряда) 3 Разрешение прерывания и ПДП 4 Включение мотора НГМД 0 5 Включение мотора НГМД 1 6 Включение мотора НГМД 2 7 Включение мотора НГМД 3 -------------------------------------------------------------------- 4.5.3.1. Контроллер НГМД содержит два програмно доступных порта: регистр основного состояния (РОС), имеющий системный адрес 3F4, и регистр данных (РД), имеющий системный адрес 3F5. 4.5.3.2. РОС только считывается ЦП и используется для организации обмена информацией между ЦП и ЭМ адаптера НГМД. Назначение разрядов РОС и соответствующие им режимы приведены в таблице: Таблица -------------------------------------------------------------------- Разряд | Режим | Назначение -------------------------------------------------------------------- 0 НГМД0 занят НГМД0 находится в режиме поиска 1 НГМД1 занят НГМД1 находится в режиме поиска 2 НГМД2 занят НГМД2 находится в режиме поиска 3 НГМД3 занят НГМД3 находится в режиме поиска 4 Контроллер Выполняется передача информации из РД во НГМД внутренний регистр контроллера НГМД или наоборот 5 Режим Устанавливается только в фазе выполнения выполнения команды, если передача данных происходит в режиме прерывания 6 Направление Если разряд установлен в 1, то происходит передачи вывод информации, если 0, то ввод 7 Готовность Указывает, что РД готов к обмену с ЦП -------------------------------------------------------------------- При установке любого из разрядов 0 - 3 контроллер НГМД не воспринимает команды записи или считывания. Разряды 6 и 7 могут быть использованы для выполнения обмена "Запрос-ответ". Они указывают, что данные готовы и в каком направлении будут переданы по системной шине. 4.5.3.4. Регистр РД запоминает данные, команды, параметры и информацию о состоянии НГМД. Назничение разрядов регистра и соответствующие им режимы приведены в таблице: Таблица -------------------------------------------------------------------- Разряд | Режим | Назначение -------------------------------------------------------------------- 7, 6 Код прерывания 00 - нормальное завершение команды; 01 - ненормальное завершение команды; 10 - недействительная команда; 11 - ненормальное завершение команды; 5 Окончание поиска Завершение команды поиска; 4 Проверка Получен сигнал "Ошибка" от НГМД, или оборудования сигнал "Дорожка 00" не появился после 77 сигналов "Шаг" при выполнении команды "Рекалибровать"; 3 Не готов НГМД находится в состоянии "Не готов" при получении команд "Чтение данных" и "Запись данных" или при считывании или записи данных на одностороннюю дискету; 2 Адрес головки Указывает номер выбранной головки 1, 0 Выбор НГМД Указывает номер НГМД -------------------------------------------------------------------- Назначение разрядов регистра состояния 1 приведено в таблице: Таблица -------------------------------------------------------------------- Разряд | Наименование | Назначение -------------------------------------------------------------------- 7 Конец цилиндра Происходит обращение к сектору после последнего обращения к последнему сектору цилиндра; 6 - Не используется 5 Ошибка данных Ошибка кода циклического контроля в поле идентификатора сектора или в поле данных; 4 Переполнение Нарушено время обслуживания запросов на передачу данных 3 - Не используется 2 Нет данных При выполнении команд не найден необходимый сектор 1 Запись защищена В НГМД установлена защищенная дискета 0 Пропадающий Не обнаружен маркер идентификатора сектора маркер адреса -------------------------------------------------------------------- Назначение разрядов регистра состояния 2 приведено в таблице: Таблица -------------------------------------------------------------------- Разряд | Наименование | Назначение -------------------------------------------------------------------- 7 - Не используется 6 Служебный маркер В идентификаторе сектора обнаружен адресный маркер стертых данных 5 Ошибка в поле Ошибка кода циклического контроля в поле данных данных 4 Сбойный цилиндр Номер цилиндра в идентификаторе сектора оличается от номера цилиндра, переданного в контроллер НГМД 3 Сканирование При выполнении команды "Сканирование" "Равно" найдено удовлетворено условие "Равно" 2 Сканирование Команда "Сканирование" не выполнилась не удовлетворено 1 Плохой цилиндр На дискете обнаружен сбойный цилиндр 0 Пропадающий Контроллер НГМД не может обнаружить маркер данных маркер данных или маркер стертых данных -------------------------------------------------------------------- Назначение разрядов регистра состояния 3 приведено в таблице: Таблица -------------------------------------------------------------------- Разряд | Наименование | Назначение -------------------------------------------------------------------- 7 Ошибка Получен сигнал "Ошибка" из НГМД 6 Защищенная запись Получен сигнал "Запись защищена" из НГМД 5 Готово Получен сигнал "Готовность" из НГМД 4 Дорожка 00 Получен сигнал "Дорожка 00" из НГМД 3 Двусторонний Получен сигнал "Двусторонний" из НГМД 2 Адрес головки Определяет номер головки 1, 0 Выбор НГМД Определяет номер НГМД -------------------------------------------------------------------- 4.5.3.5. ЭМ адаптера НГМД обеспечивает выполнение 15 команд: 1) Чтение данных; 2) Чтение идентификатора сектора; 3) Чтение стертых данных; 4) Чтение дорожки; 5) Сканирование "равно" 6) Сканирование "меньше или равно"; 7) Сканирование "больше или равно"; 8) Запись данных; 9) Запись стертых данных; 10) Форматизовать дорожку; 11) Поиск; 12) Рекалибровать; 13) Указать; 14) Снять состояние прерывания; 15) Снять состояние привода; 4.5.3.6. ЭМ адаптера НГМД генерирует сигнал "Запрос прерывания" в следующих случаях: 1) при возникновении фазы результата команд "Чтение данных", "Чтение дорожки", "Чтение идентификатора сектора", "Чтение стертых данных", "Запись данных", "Форматизовать дорожку", "Запись стертых данных", "Сканирование"; 2) при измении состояния сигнала "Готовность" НГМД; 3) при окончании команд "Поиск" или "Рекалибровать"; 4) в фазе выполнения в режиме прерываний. Прерывания, обусловленные причинами 2 и 3, должны быть определены с помощью команды "Снять состояние прерывания". 4.5.3.7. Параметры, которые могут программироваться, следующие: 1) количество байтов в секторе; 2) длина промежутка; 3) длина данных в секторе; 4) время скорости шага; 5) время разгрузки головки; 6) время загрузки головки. 4.6. Электронный модуль адаптера накопителей на магнитных дисках 4.6.1. Адаптер НГМД может управлять максимум двумя накопителями на 5,25-дюймовых жестких дисках. Команды передаются в адаптер по системной шине ввода-вывода с помощью программного режима ввода-вывода, а данные передаются с помощью режима ПДП или программного режима ввода-вывода. 4.6.2. По командам, поступающим из ЦП, адаптер НМД позволяет: 1) поддерживать формат данных на диске, совместимый с форматом данных IВМ; 2) передавать данные в режиме ПДП или в режиме программного ввода-вывода; 3) генерировать прерывание IRQ5; 4) осуществлять поиск и верификацию требуемого цилиндра. 5) производить переключение головок накопителя. При обнаружении конца дорожки во время мультиблоковой передачи контроллер выбирает следующую дорожку. При обнаружении конца цилиндра контроллер выходит на поиск и возобнавляет передачу; 6) обнаруживать и корректировать ошибки в считанных данных. Если при считывании данных с диска обнаруживается ошибка и она является корректируемой, то адаптер исправляет ее, используя код обнаружения и коррекции ошибок ЕСС; 7) организовать последовательность считываемых секторов в соответсвии с 16 вариантами чередования. 4.6.3. Регистры ввода-вывода. В адресном поле ввода-вывода эти регистры занимают область с 320 по 323. Перечень регистров приведен в таблице: Таблица ------------------------------------------------------------------- Адрес | Чтение/запись | Назначение ------------------------------------------------------------------- 320 ЧТ/ЗП Ввод-вывод данных (DIOR) 321 Только ЗП Сброс адаптера 321 Только ЧТ Состояние (SR) 322 Только ЗП Выбор адаптера 322 Только ЧТ Тип накопителя 323 Только ЗП Разрешение ПДП, разрешение прерывания 323 Только ЧТ Резерв 4.6.4. Регистр состояния завершения (CSTAT) содержит состояние адаптера после команды, которая была только что выполнена. По завершению команды этот байт помещается в DIOR. Разряд 1, "Ошибка", означает, что адаптер зафиксировал ошибку. Процессор должен выдать команду запроса состояния для детального описания ошибки. Разряд 5, "Накопитель", описывает логическое подключение накопителей: если "0" - накопитель 0, "1" - накопитель 1. 4.6.5. Регистр состояния (SR) предназначен только для считывания и содержит биты состояния адаптера, которые дают возможность процессору определить состояние адаптера во время выполнения команды. Разряд 0, "Готов", означает, что адаптер готов к приему данных команды или к передачи данных. Разряд 1, "Ввод-вывод", если в "0" - указывает на то, что байты, передаваемые через DIOR, определяются байтами данных в "1" - байты команды или состояния. Разряд 3, "Выбран", означает, что адаптер выбран. Разряд 4, "Запрос ПДП", означает, что адаптер запрашивает передачу данных к системе или от системы. Разряд 5, "Запрос прерывания", означает, что есть запрос на прерывание. Комбинации разрядов 1 и 2 приведены в таблице: Таблица ------------------------------------------------------------------- Разряд 1 | Разряд 2 | Значение битов, проходящих через DIOR ------------------------------------------------------------------- 0 0 Данные поступают из системы 0 1 Байты команды поступают из системы 1 0 Данные поступают в систему 1 1 Байты состояния завершения поступают в систему 4.6.6. Регистр управления (CR) служит только для записи. Он содержит разряды разрешения ПДП и разршения прерывания. Разряд 0, "Разрешение ПДП", разрешает передачу данных в режиме ПДП. Разряд 1, "Разрешение прерывания", разрешает прерывание по завершению каждой команды. 4.6.7. Командная последовательность. Команды передаются из системы в адаптер программного ввода-вывода или ПДП. Система вибирает адаптер и ожидает установки разрядов "Выбран" и "Готов" в регистре SR, указывающих на то, что адаптер готов к приему команды. 4.6.8. Когда разряд "Готов" установлен и разряды "Ввод-вывод" и "Команда-данные" регистра SR индицируют прием команды, система записывает шесть командных байтов в регистр DIOR по очереди, в режиме программного ввода-вывода. 4.6.9. После передачи байтов команды система проверяет разряд "Готов", чтобы убедиться в отсутствии ошибок. Если разряд "Готов" сброшен, то байты команды были переданы правильно. В случае передачи команды, выполняемой не в режиме ПДП, система разрешает прерывание, но не разрешает режима ПДП и переходит к ожиданию прерывания. В случае передачи команды, выполняемой в режиме ПДП, система разрешает режим ПДП и прерывание. Адаптер устанавливает "Запрос ПДП" всякий раз, когда он готов принять или передать данные в систему. 4.6.10. Системный контроллер ПДП должен быть настроен на режим запроса передачи и его регистр текущего слова запрограммирован на конечное значение, равное числу блоков, которое будет передано, умноженному на число байтов в секторе, минус один. По завершении каждой команды и после того, как был считан байт состояния завершения, система сбрасывает разряды "Разрешение прерывания" и "Разрешение ПДП" регистра CR. 4.6.11. Если данные передаются в режиме программного ввода-вывода, система использует такую же процедуру, как и при передачи байта команды. ЦП обмениватся в режиме "запрос-ответ" битами "Готов" и "Запрос прерывания" регистр SR. Когда разряд "запрос прерывания "установлен, передача закончена и в регистре DIOR находится байт состояния завершения. 4.6.12. Если поступившая команда является командой чтения данных, адаптер записывает считанные с диска данные в буфер сектора, а затем передает их в память системы. При получении команды записи данных адаптер вызываета блок данных из памяти системы перед его передачей на диск. Эта последовательность повторяется до тех пор, пока все блоки данных не будут переданы между адаптером и системой. 4.6.13. По завершении выполнения команды по нормальным или ненормальным условиям адаптер загружает байт состояния завершения в регистр DIOR и посылает запрос прерывания в систему. Система подтверждает получение прерывания чтением байта состояния завершения из регистра DIOR и сбрасывает разряды "Разрешение прерывания" и "Разрешение ПДП" в регистр CR. В это же время адаптер сбрасывает разряд "Выбран" в регистре SR и переходит в режим ожидания следующей команды. 4.6.14. Описание команд. Команды поступают из системы в адаптер в формате, приведенном на рисунке. ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | Класс | Код операции | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | | Цилиндр | | | 2 | (старшие | Номер сектора | | | биты | | |----------------------------------------------------------| | 3 | Цилиндр (младшие биты) | |----------------------------------------------------------| | 4 | Количество блоков/чередование | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок Код команды, байт 0, состоит из битов класса команды и битов кода операции. Адаптер выполняет команды двух классов: 0 и 7. Накопитель, байт 1, определяет логический номер выбираемого накопителя. Он соответствуюет переключателям выбора накопителя на НМД, как указано: 1) 0 - выбор накопителя 0; 2) 1 - выбор накопителя 1. Если определен накопитель с номером от 2 до 7, то адаптер формирует ошибку второго типа и код 1 указывает на недействительный адрес накопителя. Номер головки, байт 1, определяет выбранную головку накопителя. Номер сектора, байт 2, определяет номер сектора. Цилиндр (старшие биты), байт 2, определяет два старших бита номера цилиндра. Цилиндр (младшие биты), байт 3, определяет восемь младших битов номера цилиндра. Количество блоков, байт 4, определяет коичество секторов для передачи. Передача одного сектора происходит при значении 1. Значение 0 приводит к передаче 256 секторов. Чередование, байт 4, определяет чередование секторов во время команд форматизации. Чередование позволяет пользователю повысить производительность системы путем оптимизации размещения данных на диске. Производительность зависит от времени доступа адаптера к следующему сектору и от скорости передачи данных в системную шину. Чередование секторов задается таким, чтобы максимальное количество секторов могло быть записано или считано мультиблоковой командой записи или считывания за один оборот диска. Следует иметь в виду, что весь диск должен быть форматизован с одним и тем же параметром чередования. Управление, байт 5, содержит управляющие биты, которые информируют адаптер о том, как реагировать на ошибку, а также определяют режим шага при поиске цилиндра. Структура этого байта приведена на рисунке: -------------------------------------------------------------- | Бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | | --------------------------------------------------------------| | Наименование | ЗПВТ | ЗПЧ | 0 | 0 | 0 | Ш | Ш | Ш | -------------------------------------------------------------- Ш - режим шага; ЗПЧ - запрет повторного чтения; ЗПВТ - запрет повторения. Если бит 7, "Запрет повторения", установлен, то адаптер не будет пытаться повторить команду. Если этот бит не установлен, следующие ошибки приводят к повторению: 1) ошибка поиска; 2) запись не найдена; 3) некоректируемая ошибка записи; 4) корректируемая ошибка записи; 5) отсутствие адресного маркера; 6) отсутствие идентификатора адресного маркера; 7) ошибка ЕСС в поле идентификатора. При ошибке поиска выполняются рекаблировка и повторный поиск. Всего выполняется до четырех повторов. Если повторение является успешным, адаптер не сообщает об ошибке. Если бит 6, "Запрет повторного чтения", установлен во время операции считывания, то адаптер будет предпринимать попытку повторения до того, как будет применена коррекция ЕСС. Если этот бит не установлен, контроллер будет пытаться повторить считывание раньше, чем применится коррекция ЕСС, если ошибка ЕСС имеет место. Если ошибка не возникает при повторном считывании, команда будет завершена без сообщения об ошибке. Режим шага, биты 0-2, определяют режим шага, как показано в таблице: Таблица ------------------------------------------------------------------- Биты | -----------------| Описание 2 | 1 | 0 | ------------------------------------------------------------------- 0 0 0 3 ms/шаг 0 0 1 Резерв 0 1 0 Резерв 0 1 1 13 ms/шаг 1 0 0 200 ms/шаг 1 0 1 70 ms/шаг 1 1 0 3 ms/шаг 1 1 1 3 ms/шаг 4.6.15. Команды класса 0. Перечень команд класса 0 приведен в таблице: Таблица ------------------------------------------------------------------- Код операции | Описание ------------------------------------------------------------------- 01 Рекаблировка 03 Запрос состояния 04 Форматизация накопителя 05 Проверка чтения 06 Форматизация дорожки 07 Форматизация плохой дорожки 08 Чтение 0А Запись 0В Поиск 0С Инициализация 0D Чтение длины пачки ЕСС 0Е Чтение буфера 0F Запись буфера 4.6.15.1. Команда "Проверка готовности накопителя" (код команды 00) выбирает указанный накопитель и проверяет его готовность для доступа (накопитель готов, поиск завершен, нет ошибки накопителя). Формата команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 0 0 0 0 | |----------------------------------------------------------| | 1 | Накопитель | 0 | |----------------------------------------------------------| | 2 | 0 | |----------------------------------------------------------| | 3 | 0 | |----------------------------------------------------------| | 4 | 0 | |----------------------------------------------------------| | 5 | 0 | ---------------------------------------------------------- Рисунок 4.6.15.2. Команда "рекаблировка" (код команды 01) помещает головки накопителя на цилиндр 00 и сбрасывает все ошибки состояния в накопителе. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | С 0 0 | 0 0 0 0 1 | |----------------------------------------------------------| | 1 | Накопитель | 0 | |----------------------------------------------------------| | 2 | 0 | |----------------------------------------------------------| | 3 | 0 | |----------------------------------------------------------| | 4 | 0 | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.3. Команда "Запрос состояния" (код команды 03) вызывает передачу в систему байтов состояния. Формат команды приведен на рисунке: ----------------------------------------------------------- | Бит /Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |-----------------------------------------------------------| | 0 | 0 0 0 | 0 0 0 1 1 | |-----------------------------------------------------------| | 1 | Накопитель | 0 | |-----------------------------------------------------------| | 2 | 0 | |-----------------------------------------------------------| | 3 | 0 | |-----------------------------------------------------------| | 4 | 0 | |-----------------------------------------------------------| | 5 | 0 | |-----------------------------------------------------------| Состояние передается в систему блоком из 4 байт, формат которого приведен на рисунке: |----------------------------------------------------------| | \бит | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |байт\ | | | | | | | | | |----------------------------------------------------------| | 0 | Байт состояния | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | Номер сектора | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | ---------------------------------------------------------- Рисунок Байт 0., "Байт состояния", описывает характер ошибки. Назначение битов в байте состояния приведено ниже. Биты 0-3 - код ошибки. Биты 4, 5 - тип ошибки. Биты 6 - 0. Бит 7 - адрес блока действителен. Бит 7, "Адрес блока действителен", показывает, что байты 1-3 содержат действительный адрес блока, где имеет место ошибка. Биты 4 и 5, "Тип ошибка", описывает общий тип ошибки, как показано в таблице. Таблица ------------------------------------------------------------------- Биты | -------| Описание типа ошибки 5 | 4 | ------------------------------------------------------------------- 0 0 Ошибки, связанные с накопитетем 0 1 Ошибки, связанные с адаптером 1 0 Ошибки, связанные с командой 1 1 Другие ошибки Биты 0-3, "Код ошибки", дают действительную интерпритацию ошибки. Ошибки накопителя (тип 00) приведены в таблице. Таблица ------------------------------------------------------------------- Биты | ---------------| Описание 3 | 2 | 1 | 0 | ------------------------------------------------------------------- 0 0 0 0 Нет ошибки состояния 0 0 0 1 Отсутствут сигнал индекса 0 0 1 0 Поиск не завершен в течении 1 с 0 0 1 1 Плохая запись 0 1 0 0 Накопитель не готов 0 1 1 0 Отсутствует дорожка 00 1 0 0 0 Поиск продолжается Ошибки адаптера (тип 01) приведены в таблице: Таблица ------------------------------------------------------------------- Биты | ---------------| Описани 3 | 2 | 1 | 0 | ------------------------------------------------------------------- 0 0 0 0 Ошибка чтения идентификаатора. Ошибка ЕСС в поле идентификатора 0 0 0 1 Некорректируемая ошибка данных во время чтения 0 0 1 0 Адресный маркер не найден 0 1 0 0 Запись не найдена. Найден правильный цилиндр и заголовок, но не сектор 0 1 0 1 Корректируемая ошибка поля данных 1 0 0 1 Найден плохой блок Ошибки команды (тип 10) приведены таблице: таблица ------------------------------------------------------------------- Биты | -------------- | Описание 3 | 2 | 1 | 0 | ------------------------------------------------------------------- 0 0 0 0 Принята недействительная команда 0 0 0 1 Недействительный адрес накопителя (превышает максимальный адрес) Другие ошибки (тип 11) приведены в таблице: Таблица ------------------------------------------------------------------- Биты | ---------------| Описание 3 | 2 | 1 | 0 | ------------------------------------------------------------------- 0 0 0 0 Ошибка оперативной памяти Адаптер обнаружил ошибку данных во время диагностического теста оперативной памяти 0 0 0 1 Ошибка по контрольной сумме памяти программ 0 0 1 0 Ошибка по полиному ЕСС 4.6.15.4. Команда "форматизация накопителя" (код команды 04) форматизует все дорожки, начиная с адреса, указанного в блоке команды, и до конца выбранного накопителя. Секторы будут размещаться на дорожках согласно параметру чередования, указанному в блоке команды, а поля данных будут заполняться набором данных из буфера сектора. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 0 0 0 0 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | 0 | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | Чередование | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.5. Команда "Проверка чтения" (код команды 05) считывает данные, начиная с начального адреса блока, приведенного в блоке команды, но не передает данные в систему. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 0 1 0 1 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | Номер сектора | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | Количество блоков | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.6. Команда "Форматизация дорожки" (код команды 06) форматизует указанную дорожку без установки меток в полях идентификаторов. Поля данных заполняются данными из буфера сектора. Чередование должно быть одним и тем же для всего накопителя. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 0 1 1 0 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | 0 | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | Чередование | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.7. Команда "Форматизация дорожки" (код команды 07) форматизует указанную дорожку с установкой метки деффектного блока во всех полях идентификаторов на дорожке. Поля данных заполняются набором данных из буфера сектора. Чередование должно быть одним и тем же для всего накопителя. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 0 0 0 0 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | 0 | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | Чередование | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.8. Команда "Чтение" (код команды 08) читается указанное число блоков, начиная с адреса начального блока, указанного в блоке команды, и передает их в систему. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |--------------------------------------------------------- | | 0 | 0 0 0 | 0 1 0 0 0 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | 0 | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | Чередование | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.9. Команда "Запись" (код команды 0А) получает данные из системы и записывает на диск указанное количество блоков, начиная с адреса начального блока, приведенного в блоке команды.Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 1 0 1 0 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | Номер сектора | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | Количество блоков | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.10. Команда "Поиск" (код команды 0В) инициирует поиск цилиндра, где находится блок указанный в блоке команды. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 1 0 1 1 | |----------------------------------------------------------| | 1 | Накопитель | Номер головки | |----------------------------------------------------------| | 2 | Цилиндр | 0 | | | (старшие) | | |----------------------------------------------------------| | 3 | Цилиндр (младшие) | |----------------------------------------------------------| | 4 | 0 | |----------------------------------------------------------| | 5 | Управление | ---------------------------------------------------------- Рисунок 4.6.15.11. Команда "Инициализация" (код команды 0С) позволяет системе установливать набор заданных значений накопителей с различными объемами и характеристиками. Формат команды приведен на рисунке: ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | 0 0 0 | 0 1 1 0 0 | |----------------------------------------------------------| | 1 | Накопитель | 0 | |----------------------------------------------------------| | 2 | 0 | |----------------------------------------------------------| | 3 | 0 | |----------------------------------------------------------| | 4 | 0 | |----------------------------------------------------------| | 5 | 0 | --------------------------------------------------------- Рисунок Характеристики накопителя (8 байт) будут получены из системы как данные. Формат блока параметров накопителя приведен на рисунке. ---------------------------------------------------------- | Бит/Байт | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |----------------------------------------------------------| | 0 | Максимальный номер цилиндра (старшая часть) | |----------------------------------------------------------| | 1 | Максимальный номер цилиндра (младшая часть) | |---------------------------------- � 4.7. Электронный модуль адаптеров интерфейсов 4.7.1. ЭМ адаптеров интерфейсов предназначен для подключения к ППЭВМ ЕС1840 и ЕС1841 периферийных устройств, использующих интерфейс типа ИРПР-М, и устройств, работающих в режиме связи по стыку С2. Основными функциональными частями адаптеров являются: 1) дешифратор команд; 2) приемопередатчик; 3) регистр данных; 4) регистр управления; 5) три шины буфера. Наименование сигналов интерфейса, их распределение по контактам соединителя адаптера приведены в таблице: Таблица ------------------------------------------------------------------- Наимено- | Контакт | Вход | вание | соеди- | (выход) | Назначение сигнала сигнала | нтеля | | ------------------------------------------------------------------- STROBE | B12 | Вых | Сигнал служит для считывания данных | | | печатающим устройстом. Длительность | | | его должна быть более 0,5 ms. | | | Считывание данных выполняется при | | | низком уровне сигнала | | | DATA1 | В04 | ВЫХ | Информационные разряды данных DATA2 | В03 | ВЫХ | DATA3 | В04 | ВЫХ | DATA4 | В05 | ВЫХ | DATA5 | В06 | ВЫХ | DATA6 | В07 | ВЫХ | DATA7 | В08 | ВЫХ | DATA8 | В09 | ВЫХ | ASKNLG | В14 | ВХ | Низкий уровень сигнала указывает на | | | то, что печатающее устройство готов | | | к приему очередных данных. | | | Длительность сигнала 5 ms PE | В15 | ВХ | Высокий уровень сигнала указывает на | | | отсутствие бумаги в печатающем | | | устройстве SLCT | А10 | ВХ | Высокий уровень сигнала указывает на | | | готовность печатающего устройства к | | | работе AUTOFEED | В11 | ВЫХ | При низком уровне сигнала бумага | | | после печати автоматически подается | | | на одну строку INIT | В13 | ВЫХ | Когда уровень этого сигнала | | | станосится низким, контроллер | | | печатающего устройства сбрасывается | | | в начальное состояние, а буфер | | | печати очищается BUSY | В05 | ВХ | Высокий уровень сигнала указывает на | | | невозможность приема данных | | | печатающим устройством ERROR | A15 | ВХ | При включенном состоянии печатающего | | | устройства уровень сигнала | | | становится низким при следующих | | | условиях: | | | 1) в ПУ нет бумаги; | | | 2) ПУ в состоянии "Автоном"; | | | 3) в ПУ зафиксирована ошибка SLCTIN | В10 | ВЫХ | Ввод данных в печатающее устройство | | | возможен только при низком уровне | | | сигнала 4.7.2. Адреса порта ввода-вывода и устанавливаемые по ним режимы работ адаптера приведены в таблице: Таблица ------------------------------------------------------------------- Адрес порта | Режим работы ввода-вывода | ------------------------------------------------------------------- 378 | Считывание или запись данных 37А | Считывание или запись управляющих сигналов 379 | Считывание состояния 4.7.2.1. При необходимости информация, хранящаяся в регистре данных, может быть считана. Для этой цели служит шинный буфер 1. Он передает содержимое регистра данных на шину адаптера BD0-BD7 в режиме "Чтение данных". С шины адаптера информация через приемопередатчик транслируется на шину D0-D7. 4.7.3. Адаптер последовательного интерфейса обеспечивает подключение к ППЭВМ ЕС18430 и ЕС1841 устройств, работающих в режиме последовательной синхронной связи по стыку C2. 4.7.3.1. Контроллер последовательного интерфейса содержит регистр состояния, позволяющий считывать состояния контроллера (байт состояния 1) в любой момент времени в процессе выполнения операций. 4.7.3.2. Для синхронизации приемников и передатчиков контроллера последовательного интерфейса в асинхронном режиме и в режиме внутреннего шлейфа служит таймер. В схеме адаптеров используется два канала таймера. 4.7.3.3. Режимы работы каналов таймера программируются с помощью операций ввода-вывода. Каждый канал программируется отдельно путем записи управляющего слова и запрограммированного количества байтов. 4.7.3.4. В составе адаптеров последовательного интерфейса таймер должен работать в режиме 3. Пример значений констант, загружаемых в счетчик, и соответствующих им скоростей обмена с АПД при работе контроллера последовательного интерфейса в асинхронном режиме приведен в таблице: Таблица ------------------------------------------------------------------- Скорость обмена | Константа счетчика ------------------------------------------------------------------- 19 200 4 9 600 8 4 800 16 2 400 32 1 200 64 600 128 300 256 150 512 75 1 024 6 400 12 200 384 100 786 50 1 536 4.7.3.5. Запись в таймер управляющих слов для различных каналов может производиться в любой последовательности. Очередность загрузки счетчиков также может быть произвольной. Однако, если выбранный счетчик канала подлежит загрузке, то он обязательно должен быть загружен полностью именно тем количеством байтов, которое было запрограммировано в управляющем слове. 4.7.3.6. При необходимости считывания состояния счетчика таймера возможны два варианта: а) обычная операция считывания; б) ввод специальной команды и последующее считывание "на ленту". В первом случае работа счетчика должна быть приостановлена путем подачи на вход СО СТ напряжения низкого уровня. Операцию считывания содержимого счетчика необходимо обязательно выполнить до конца, т.е. если запрограммировано считывание двух байтов, то нельзя, считывать только один младший бйт, перезагружать счетчик новой счетной величиной. Втрой способ считывния заключается в том, что содержимое счетчика считывается без перерыва процесса счета. Для этого в таймер записывается управляющее слово с функцией "Защелкивание". Далее следует обычная операция считывания. В этом случае операция считывания также должна быть завершена полностью в соответствии с запрограммированным числом байтов. 4.7.3.7. Канал DA используется в адаптере как регистр управляющих сигналов 4.7.3.8. Канал DB блока управления используется в адаптере только в режиме ввода выходных сигналов канала DA и предназначен для контроля информации, записанной в регистр управляющих сигналов. 4.7.3.9. Разряды 0-2 канала DA блока управления служат для записи масок прерываний. Единичное значение разряда 0 разрешает прерывание по готовности передачи. Единичное значение разряда 1 разрешает прерывание по готовности приема. Единичное значение разряда 2 разрешает прерывание по включенному состоянию цепи 125. Разряды 4-6 канала DC используются в режиме ввода сигналов с выхода разрядов 0-2 и предназначен для контроля масок прерываний. 4.7.3.10. Кроме байта состояния, формируемого контроллером последовательного интерфейса, адаптер выдает в ЦП дополнительный байт состояния (байт состояния 2). Байт состояния 2 передается на шину данных адаптера буфером байта 2 по команде чтения при дешифрации адреса. 4.7.3.11. Дешифратор, входящий в состав адаптеров последовательного интерфейса, предназначен для управления адресацией портов ввода-вывода. Назначение и адреса портов ввода-вывода адаптеров последовательного интерфейса представлены в таблице: Таблица ------------------------------------------------------------------- | Адрес порта | Адрес порта Назначение порта ввода-вывода | для адаптера | для адаптера | I | 2 ------------------------------------------------------------------- Регистр управляющего слова БУ: | | запись управляющего слова | 3FF | 2FF | | Регистр управляющих сигналов БУ: | | запись данных | 3FC | 2FC считывание данных | 3FD | 2FD | | Регистр масок прерываний БУ: | | запись и считывание данных | 3FE | 2FE | | Регистр управляющего слова таймера:| | запись управляющего слова (канал 0 | 3FB | 3FB* соответствует адаптеру 1, канал 1 | | соответствует адаптеру 2) | | Счетчик таймера: | | запись и считывание делителя | 3F8* | 3F9* | | Контроллер последовательного | | интерфейса: | | запись управляющей информации | 3F9** | 2F9** считывание байта состояния 1 | | запись и считывание данных | 3F8** | 2F8** | | Буфер байта состояния 2 (считывание)| 3FA** | 2FA** Примечания: *. Бит F регистра управляющих сигналов должен быть в состоянии единицы. **. Бит F регистра управляющих сигналов должен быть в состоянии нуля. 4.8. Электронный модуль передатчика 4.8.1. Электронный модуль передатчика содержит следующие узлы: 1) буфер сигналов управления; 2) буфер адреса; 3) буфер данных; 4) узел выработки сигнала задержки; 5) узел портов ввода-вывода; 6) дешифратор портов ввода-вывода; 7) узел управления буфером данных. 4.8.2. Узел портов ввода-вывода служит для диагностики, а также для сброса и установки режима расширения (сигнал ЕХТ). Порты ввода-вывода и режимы работы приведены в таблице. Таблица ------------------------------------------------------------------- Адрес | Режим работы | Примечание порта | | ------------------------------------------------------------------- 210 | Запись (IOW) данных | ЕDO-EA15 | Считывание (IOR) данных | 212 | Запись (MEMW) адреса | EAO-EA15 | Cчитывание (IOR) адреса | 211 | Запись (IOW) | Сброс флажка задержки 213 | Запись (IOW) "00" | Сброс бита расширения | Запись (IOW) "01" | Установка бита расширения | Считывание (IOR) | | D0 - "0" | Бит расширения сброшен | D0 - "1" | Бит расширения установлен | D1 - "0" | Бит задержки сброшен | D1 - "1" | Бит задержки установлен | D2-D3 | Резерв | D4-D7 | Переключатели: | | "1" - включен | | "0" - выключен 4.9. Электронный модуль приемника 4.9.1. Электронный модуль приемника содержит следующие узлы: 1) буфер сигналов; 2) буфер адреса; 3) буфер данных; 4) синхронизатор; 5) узел портов ввода-вывода; 6) дешифратор ввода-вывода. 4.9.2. Узел портов ввода-вывода служит для диагностики шины данных и шины адреса. Порты ввода-вывода и режимы работы приведены в таблице. Таблица ------------------------------------------------------------------- Адрес | Режим работы | Примечание порта | | ------------------------------------------------------------------- 214 | Запись (IOW) данных | D0-D15 | Считыванике (IOR) данных | 215 | Запись (MEMW) адреса | А16-А19 | Считывание (MEMW) адреса (D0-D3) | 216 | Запись (MEMW) адреса | А0-А15 | Считывание (IOR) адреса | 5. БАЗОВАЯ СИСТЕМА УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ 5.1. Состав и назначение 5.1.1. Базовая состема управления вводом-выводом (БСУВВ) обеспечивает управление базовым комплектом устройств ввода-вывода, подключенным к ППЭВМ. Программы БСУВВ написаны на языке "Ассемблер" и хранятся в ПЗУ, имеющем емкость 16К байт (8х2К байта). Передача и обработка всех параметров, используемых при выполнении програм БСУВВ, осуществляется через регистры ЦП. В состав БСУВВ входят: 1) программы тестирования и инициализации, выполняемые по включению питания; 2) программы обслуживания устройств ввода-вывода; 3) сервисные программы. 5.1.2. Программы тестирования и инициализации проверяют правильность функционирования базового комплекта ППЭВМ и завершаются загрузкой системы, если ППЭВМ работоспособна. 5.1.3. К программам обслуживания ввода-вывода относятся: 1) программа обработки прерывания клавиатуры; 2) программа обработки прерывания ЭЛИ; 3) программа обслуживания накопителя на магнитном диске; 4) программа обслуживания адаптеров стыка С2 в асинхронном режиме; 5) программа поддержки расширенной памяти; 6) программа поддержки клавиатуры; 7) программа связи с печатающим устройством; 8) программа загрузки системы; 9) обработка прерывания от клавиатуры по клавише СТОП; 10) программа получения таблицы видеопараметров; 11) программа получения таблицы параметров НГМД; 12) программа обслуживания НГМД. 5.1.4. К сервисным программам относятся: 1) программа вывода на печать содержимого ЭЛИ; 2) программа обработки прерывания таймера; 3) программа определения состава оборудования; 4) программа определения размера памяти; 5) программа установки-считывания времени суток; 6) программа передачи управления процедуре пользователя по прерыванию таймера. Каждая точка входа в программы обслуживания устройств ввода-вывода и сервисные программы доступна через систему прерываний и определяется вектором прерывания. Распределение векторов прерываний приведено в таблице: Таблица -------------------------------------------------------------------- Шеснадцатиричный | Назначение вектора код вектора | прерывания прерывания | -------------------------------------------------------------------- 05 Вывод на печать содержимого буфера ЭЛИ 08 Обработка прерывания таймера 09 Обработка прерывания клавиатуры 10 Обработка прерывания ЭЛИ 11 Определение состава оборудования 12 Определение размера памяти 13 Обслуживание НМД 14 Обслуживание адаптеров стыка С2 в асинхронном режиме 15 Поддержка расширенной памяти 16 Поддержка клавиатуры 17 Связь с печатающим устройством 19 Загрузка системы 1А Установка-считывание времени суток 1В Обработка прерывания от клавиатуры по клавише СТОП 1С Передача управления процедуре пользователя по прерыванию от таймера 1D Таблица видеопараметров 1Е Таблица параметров НГМД 1F Адрес таблицы пользовательского дополнительного знакогенератора 40 Обслуживание НГМД Вызов программ БСУВВ осуществляется аппаратурно или программно по команде INT XXH. Например, для того, чтобы вызвать программу обработки прерывания ЭЛИ, пользователь должен задать команду INT 10H. Перед началом выполнения каждой программы пользователь должен задать в регистрах ЦП информацию, необходимую , для выполнения данной функции. Если программа БСУВВ выполняет несколько функций, то в регистр АН необходимо занести код выполняемой функции. 5.2. Программы тестирования и инициализации, выполняемые по сбросу системы. 5.2.1. При включении электропитания системный модуль вырабатывает сигнал сброса RESET , который приводит в исходное состояние все устройства ППЭВМ. Затем начинается выполнение программ тестирования и инициализации системы. При успешном завершениих тестов загружается система, после чего ППЭВМ готова к работе. Если при выполнении тестирования обнаружены ошибки, то подается либо звуковой сигнал, либо код ошибки выводится на экран. Значения звуковых сигналов приведены в таблице: Таблица -------------------------------------------------------------------- Звуковой сигнал | Значение сигнала -------------------| длинный | короткий | -------------------------------------------------------------------- 1 1 Ошибка контроллера прерываний системного ЭМ 1 2 Ошибка буфера экрана модуля адаптера ЭЛИ 1 3 Контроль линий интерфейса модуля адаптера ЭЛИ 0 3 Ошибка при сбросе 0 1 Тестирование окончено. Стартовала IPL 5.3. Программа обслуживания устройств ввода-вывода 5.3.1. Программа вывода на печать содержимого буфера ЭЛИ (INT 5H) вызывается одновременно нажатием клавиши ПЕЧ и клавиши переключения регистров. Позиция курсора сохраняется до завершения процедуры обработки прерывания. Повторное нажатие названных клавиш во время обработки прерывания игнорируется. При выполнении программы в постоянно распределеннной рабочей области памяти по адресу 0500Н устанавливается следущая информация: 1) 0 - содержимое буфера ЭЛИ еще не выведено на печать, либо вывод уже завершен; 2) 1 - в процессе вывода содержимого буфера ЭЛИ на печать; 3) 225 - при печати обнаружена ошибка. 5.3.2. Программа обработки прерывания таймера (INT 8H) обрабатывает прерывания, аппаратурно возникающие от нулевого канала таймера. При обработки прерывания корректируется программный счетчик, хранящийся в памяти по адресу 046СН (младшая часть счетчика) и адресу 047ЕН (старшая часть счетчика) и используемый для установки времени суток. В функции программы входит коррекция счетчика, управляющего двигателем НГМД. После обнуления счетчика двигатель выключается. Вектор 1CH дает возможность пользователю входить в заданную программу с частотой прерывания таймера (18,2 прерываний в секунду). Для этого в таблице векторов прерываний по адресу 007СН задать адрес пользовательской программы. 5.3.3. Программа обработки прерывания клавиатуры (INT 9H) обрабатывает прерывания, возникающие при нажатии клавиши клавиатуры. Программа считывает код сканирования клавиши в регистр AL. Единичное состояние разряда 7 в коде сканирования означает, что клавиша отжата. В результате выполнения программы в регистре АХ формируется слово, старший байт которого (АН) содержит код сканирования, а младший (AL) - код ASCII. Эта информация помещается в буфер клавиатуры, состоящий из 16 слов. После заполнения шестнадцати слов буфера подается звуковой сигнал. 5.3.4. Программа обработки прерывания ЭЛИ (INT 1ОН) обеспечивает работу с монохромным и цветным ЭЛИ. ЭЛИ подключаются к системному электронному модулю через специальные адаптеры: 1) монохромный адаптер - для подключения монохромного ЭЛИ; 2) ЭМ адаптера ЭЛИ - для подключения цветного ЭЛИ. Активен может быть только один адаптер. Тип подключения адаптера устанавливается с помощью специальных переключателей, находящихся на системной плате. Программа обработки прерывания ЭЛИ (INT 1OH) при выполнении функции установки режима работы ЭЛИ (АН=0) считывает состояние переключателей в память по адресу 041ОН и определяет, какой адаптер имеется в системе путем анализа разрядов 4 и 5 считанного байта. Если оба разряда равны единице, то в системе присутствует монохромный адаптер. Любая другая комбинация (комбинация 00 не используется) разрядов к ЭМ адаптера ЭЛИ. Монохромный адаптер может работать только в алфавитно-цифровом режиме. ЭМ адаптера ЭЛИ работает в алфавитно-цифровом и графическом режимах с адресацией всех точек. Для поддержки информации на экране дисплея используется буфер дисплея, имеющий объем 16К байт для ЭМ адаптера ЭЛИ и 4К байт для монохромного адаптера. Он позволяет хранить несколько страниц экрана: 8 - для цветного адаптера 40х25; 4 - для цветного адаптера 80х25; 1 - для монохромного адаптера 80х25; Изображения символов для алфавитно-цифрового режима хранятся в знакогенераторе. В графических режимах программы БСУВВ изображают символы, составляя их из соответсвующих конфигураций точек. Таблица для первых 128 символов входит в состав БСУВВ и хранится в ПЗУ. Вектор прерывания 1FH указывает на таблицу, используемую для оставшихся 128 символв. При включении питания значение вектора 1FH адресует область ПЗУ, в которой хранятся точеченые изображения символов второй половины кодовой таблицы. Пользователь может создать таблицу, содержащую любые, необходимые ему изображения символов, и загрузить в вектор 1FH адрес своей таблицы. Таким образом, можно заменить вторые 128 символов, хранящиеся в ПЗУ, на 128 символов пользовательского набора. Программа обеспечивает выполнение 17 функций обслуживания адаптера ЭЛИ, код которых задается в регистре АН. 5.3.4.1. Функция "Установить режим работы адаптера ЭЛИ" (АН=0) устанавливает режим работы адаптера ЭЛИ в регистре AL. Существуют следующие режимы: 1) 0 - 40х25, черно-белый, алфавитно-цифровой; 2) 1 - 40х25, цветной, алфавитно-цифровой; 3) 2 - 80х25, черно-белый, алфавитно-цифровой; 4) 3 - 80х25, цветной, алфавитно-цифровой; 5) 4 - 320х200, цветной, графический; 6) 5 - 320х200, черно-белый, графический; 7) 6 - 640х200, черно-белый, графический;: 8) 7 - 80х25, черно-белый, алфавитно-цифровой. Режимы 0-6 используются для ЭМ адаптера ЭЛИ, режим 7 используется для монохромного черно-белого 80х25 адптера. 5.3.4.2. Функция "Установить размер курсора" (АН=1Н) задает размер курсора и управление им. Разряды 0-4 регистра CL определяют конечную границу курсора, разряды 0-4 регистра СН - начальную границу курсора. Разряды 6 и 5 задают управление курсором: 1) 00 - курсор мерцает с частотой, задаваемой аппаратурно; 2) 01 - курсор отсутствует. Аппаратурно всегда вызывается мерцание курсора с частотой, равной 1/16 частоты кадровой развертки. 5.3.4.3. Для выполнения функции "Установите текущую позицию курсора" (АН=2Н) необходимо задать координаты курсора (в регистре ВН - страницу, в регистре DX - строку и колонку). При графическом режиме регистр ВН=0. 5.3.4.4. Функция "Считать текущее положение курсора" (АН=3Н) восстанавливает текущее положение курсорора, при этом в регистр DH записывается строка, в регистр DL - колонка, в регистр СХ - размер курсора и управление им, в регистр ВН - страница. 5.3.4.5. Функция "Установить активную страницу буфера адаптера ЭЛИ" (АН=5Н) используется только в алфавитно-цифровом режиме. Для ее выполнения необходимо в регистре AL задать страницу: 1) 0-7 - для режимов 0 и 1; 2) 0-3 - для режимов 2 и 3; Значения режимов те же, что и для функции АН=0. 5.3.4.6. Функция "Переместить блок символов вверх" (АН=6Н) перемещает символы в пределах заданной области вверх по экрану, заполняя нижние строки пробелами с заданным атрибутом. Для выполнения программы необходимо задать параметры: 1) в регистре AL - количество перемещаемых строк. Для очистки блока регистр AL=0. 2) в регистре СХ - координаты левого верхнего угла блока; 3) в регистре DX - координаты правого нижнего угла блока;: 4) в регистре ВН - атрибут символа пробела. 5.3.4.7. Функция "Переместить блок символов вниз" (АН=7Н) перемещает символы в пределах заданной области вниз по экрану, заполняя верхние строки пробелами с заданным атрибутом. Для выполнения программы необходимо задать те же параметры, что и для функции АН=6Н. 5.3.4.8. Функция "Считать атрибут и код символа, находящегося в текущей позиции курсора" (АН=8Н) считывет атрибут и код символа и помещает их в регистр АХ (AL - код символа, АН - атрибут символа). Для выполнения функции необходимо в регистре ВН задать страницу (только для алфавитно-цифрового режима). 5.3.4.9. Функция "Записать атрибут и код символа в текущую позицию курсора" (АН=9Н) помещает код символа и его атрибут в текущую позицию курсора. Для функции необходимо задать следующие параметры: 1) в регистре ВН - отображаемую страницу (только для алфавитно-цифрового режима); 2) в регистре СХ - количество записываемых символов 3) в регистре AL - код символа; 4) в регистре BL - атрибут символа для алфавитно-цифрового режима или цвет знака для графики. При записи точки разряд 7 регистра BL устанавливается в "1". 5.3.4.10. Функция "Записать символ в текущую позицию курсора" (АН=0AН) помещает символ в текущую позицию курсора. Атрибут не изменяется. Для выполнения функции необходимо задать следующие параметры: 1) в регистре ВН - отображаемую страницу (только для алфавитно-цифрового режима); 2) в регистре СХ - количество повторений символа; 3) в регистре AL - код записываемого символа. 5.3.4.11. При выполнении функции "Установите цветовую палитру" (АН=0BН) используются два варианта. Для первого варианта в регистре ВН задается ноль, а в регистре BL - значения пяти младших разрядов, используемых для выбора цветовой палитры (цвет заднего плана для цветного графического режима 320х200 или цвет каймы для цветного режима 40х25). Для второго варианта в регистре ВН задается "1", а в регистре BL - номер цветовой палитры (0 или 1). Палитры 0 состоит из зеленого (1), красного (2) и желтого (3) цветов, палитра 1 - из голубого (1), фиолетового (2) и белого (3). При работе с видеомонитором цвета палитры заменяются соответсвующими градациями цвета. Результатом выполнения функции является установка цветовой палитры в регистре выбора цвета (3D9). 5.3.4.12. Функция "Записать точку" (АН=0CН) определяет относительный адрес байта внутри буфера ЭЛИ, по которому должна быть записана точка с заданными координатами. Координаты точки задаются в регистрах DX (строка) и СХ (колонка). В регистре AL задается цвет выводимой точки. Если разряд 7 AL установлен в "1", то выполняется операция исключающее ИЛИ (XOR) над значением точки из буфера и значением точки из регистра AL. 5.3.4.13. Функция "Считать точку" (АН=0DН) определяет относительный адрес байта внутри буфера ЭЛИ, по которому должна быть считана точка с заданными координатами. После выполнения программы в регистре AL находится значение считанной точки. 5.3.4.14. Функция "Записать телетайп" (АН=0EН) выводит символ в буфер ЭЛИ с одновременной установкой позиции курсора и передвижением курсора на экране. После записи символа в последнюю позицию строки выполняется автоматический переход на новую строку. Если страница экрана заполнена, выполняется перемещение экрана на одну строку вверх. Освободившаяся строка заполняется значением атрибута символа для алфавитно-цифрового режима или нулями - для графики. После записи очередного символа курсор устанавливается в следующую позицию. Перед выполнением программы в регистре AL задается код выводимого символа, в регистре BL - цвет переднего плана (для графического режима). Программа обрабатывает следующие служебные символы: 1) 08Н - сдвиг курсора на одну позицию (без очистки); 2) 0DH - перемещение курсора в начало строки; 3) 0АН - перемещение курсора на следующую строку; 4) 07Н - звуковой сигнал. 5.3.4.15. Функция "получить текующее состояние ЭЛИ" (АН=0FН) считывает текущее состояние ЭЛИ из памяти и размещает его в следующих регистрах; 1) АН - количество колонок (40 или 80); 2) AL - текущий режим (0-7). Значения режимов те же, что и для функция АН=0. 3) ВН - номер активной страницы. 5.3.4.16. Функция "Загрузить знакогенератор пользователя" (АН=11Н) дает возможность пользователю загружать знакогенератор любым, необходимым ему алфавитом. Для выполнения программ в регистрах должна быть задана следущая информация: 1) ES:ВР - адрес таблицы, сформированной пользователем; 2) СХ - количество передаваемых символов; 3) BL - код символа, начиная с которого загружается таблица пользователя; 4) ВН - количество байт на знакоместо; 5) DL - идентификатор таблицы пользователя; 6) АL - режим (AL=0 - загрузить знакогенератор, AL=1 - выдать идентификатор таблицы. После выполнения программы регистры содержат следующу информацию: АН - количество байт на знакоместо; AL - идентификатор таблицы пользователя. При успешном завершении программы устанавливается признак CF=1. 5.3.4.17. Функция "Переслать цепочку символов" (АН=13Н) позволяет пересылать символы четырьмя способами, тип которых задается в регистре AL: 1) AL=0 - символ, символ, символ, ... В регистре BL задается атрибут, курсор не движется; 2) AL=1 - символ, символ, символ, ... В регистре BL задается атрибут, курсор движется; 3) AL=2Н - символ, атрибут, символ, атрибут, ... Курсор не движется; 4) AL=3Н - символ, атрибут, символ, атрибут, ... Кроме того, необходимо задать в регистрах: ES:BP - начальный адрес цепочки символов; СХ - количество символов; DH, DL - строку и колонку для начала записи; ВН - номер страницы. 5.3.5. Программа определения состава оборудования (INT 11H) передает в регистр АХ конфигурацию системы. Значение разрядов регистра АХ приведено в таблице: Таблица ------------------------------------------------------------------ Разряд | Значение разрядов регистра | АХ | ------------------------------------------------------------------ 0 Загрузка системы с НГМД 4,5 Тип подключенного ЭЛИ и режимы его работы: 00 - не используется 01 - 40х25, черно-белый режим графического ЭЛИ 10 - 80х25, черно-белый режим цветного графического ЭЛИ 11 - 80х25, черно-белый режим монохромного ЭЛИ 6,7 Количество НГМД 9,10,11 Количество адаптеров стыка С2 12 Адаптер игр 14,15 Количество печатающих устройств Разряды 6 и 7 устанавливаются только в том случае, если разряд 0 установлен в "1". 5.3.6. Программа опредения размера памяти (INT 12H) передает в регистр АХ объем памяти в Кбайтах. 5.3.7. Программа обслуживания накопителя на магнитном диске (INT 13H) может выполнять несколько функций, коды которых задаются в регистре АН: 1) АН=00Н - сбросить НМД; 2) АН=01Н - считать байт состояния диска. Если содержимое регистра DL будет меньше 80Н, то функция относится к НГМД, если содержимое регистра DL больше 80Н , то функция относится к НМД; 3) АН=02Н - считать указанные сектора в память; 4) АН=03Н - записать указанные сектора из памяти; 5) АН=04Н - проверить указанные сектора; 6) АН=05Н - форматизовать указанную дорожку; 7) АН=06Н - форматизовать указанную дорожну и установить флажки неверного сектора; 8) АН=07Н - форматизовать устройство, начиная с указанной дорожки; 9) АН=08Н - вернуть текущие параметры устройства; 10) АН=09Н - инициализировать характеристики устройства. Прерывание 41Н указывает на блок данных; 11) АН=0АН - длинное считывание; 12) АН=0ВН - длинная запись. Длинные считывание и запись включают 512 плюс 4 байта ЕСС; 13) АН=0СН - установить; 14) АН=0DН - селективный сброс диска; 15) АН=0ЕН - считать буфер сектора; 16) АН=0FH - записать буфер сектора; 17) АН=1ОН - проверить готовность устройства; 18) АН=11Н - рекалибровать; 19) АН=12Н - диагностика памяти контроллера; 20) АН=13Н - диагностика устройства; 21) АН=14Н - внутренняя диагностика устройства. 5.3.7.1. При выполнении функции НМД используются регистры: 1) регистры DL - номер устройства (80Н-87Н для НМД, контролируемое значение 0; 2) регистр DH - номер головки (допускаются значения 0-7, неконтролируемое значение); 3) регистр СН - номер цилиндра (допускаются значения 0-1023, неконтролируемое значение); 4) регистр CL - номер сектора (допускаются значения 1-17, неконтролируемое значение). Старшие два разряда номера цилиндра размещены в двух старших разрядах регистра CL (всего 10 разрядов); 5) регистр AL - количество секторов (1-80Н для длинного считывания-записи - 1-79Н). Значение чередования для форматизации 1-16D; 6) регистры ES :ВХ - адрес буфера для считывания и записи (проверка не требуется). 5.3.7.2. После выполнения программы регистр АН содержит байт состояния выполненной функции. Байт состояния НМД может иметь следующие значения: 1) FF - ошибка при считывании состояния; 2) В8 - неопределяемая ошибка (не относится к типам 1, 2, 3); 3) 80 - тайм-аут; 4) 40 - сбой позиционирования; 5) 20 - сбой контроллера; 6) 11 - скорректировання ошибка ЕСС; 7) 10 - ошибка кода циклического контроллера; 8) ОВ - дефектная дорожка 9) 09 - переход адреса через сегмент (64К); 10) 07 - ошибка сброса; 11) 05 - ошибка сброса; 12) 04 - сектор не найден; 13) 02 - не обнаружен маркер идентификатора сектора; 14) 01 - команда отвергнута. В случае успешного окончания программы в регистре АН находится "0", признак CF=0. Если программа завершается с ошибкой, то в регистре АН находится код ошибки, а признак CF=1. Ошибка 11Н показывает, что считанные данные имеют ошибку; которая была исправлена алгоритмом ЕСС. После перезаписи данных ошибка может не повториться. Регистр АL содержит длину пакета ЕСС. 5.3.7.3. Если в процессе выполнения программы были затребованы параметры устройства, то регистры содержат следующую информацию: 1) DL - количество подключенных устройств (0-2); 2) DH - максимальное используемое значение номера головки; 3) СН - максимальное используемое значение номера цилиндра; 4) CL - максимальное используемое значение номера сектора в старших разрядов номеров цилиндра. Ошибка в коде диска вызывает сброс и повторение функции. 5.3.8. Программа обслуживания адаптеров стыка С2 в асинхронном режиме (INT 14Н) служит для передачи информации по стыку С2. Перед выполнением программы в регистре АН (разряды 1 и 0) необходимо задать код одной из четырех выполняемых функций: 1) 00 - инициализация ; 2) 01 - передача данных; 3) 10 - прием данных; 4) 11 - получение состояния. Информация может передаваться в сжатом и обычном формате. Для обычного формата разряд 3 регистра АН устанавливается в "1", для сжатого - в "0". Входные данные для всех форматов задаются в регистрах АН, AL, DX. Все регистры (кроме АХ) сохраняют свои значения. 5.3.8.1. При приеме и передаче данных в сжатом формате в регистре AL находится байт данных. Значения разрядов регистра AL при инициализации приведены в таблице: Таблица ------------------------------------------------------------------- Разряды | Наименование | Значение ------------------------------------------------------------------- 1, 0 Длина 10 - 7 бит 11 - 8 бит 2 Стоп-бит 0 - 1 1 - 2 4, 3 Контроль 00 - не используется 01 - нечетный 10 - не используется 11 - четный 5, 6, 7 Скорость 000 - 110 001 - 150 010 - 300 011 - 600 100 - 1200 101 - 2400 110 - 4800 111 - 9600 В регистре DX находится номер адаптера: 1) DX=0 - первый адаптер; 2) DX=0 - второй адаптер. Выходные данные находятся в регистрах AL и АН представлены в таблице: Таблица ------------------------------------------------------------------- Разряды | Значения регистра АН | ------------------------------------------------------------------- 0 приемник содержит данные 1 переполнение 2 ошибка четности 3 ошибка стоп-бита 4 пауза 5 адаптер готов к передаче 6 передатчик пуст 7 тайм-аут ------------------------------------------------------------------- Разряды | Значения регистра AL | ------------------------------------------------------------------- 0 0 1 0 2 0 3 0 4 готов к передаче (цепь 106) 5 аппаратура передачи данных готова (цепь 107) 6 индикатор вызова (цепь 125) 7 детектор принимаемого сигнала (цепь 109) 5.3.8.2. Входные данные, задаваемые в регистрах АН и AL (при инициализации), для обычного формата приведены в таблице: Таблица ------------------------------------------------------------------- Разряды | Наименование | Значение регистра АН | | ------------------------------------------------------------------- 0, 1 Функция 00 - инициализация 01 - передача 10 - прием 11 - состояние 2 - 0 3 - 1 4, 5, 6, 7 Скорость 0000 - 50 0001 - 75 0010 - 100 0011 - 110 0100 - 150 0101 - 200 0110 - 300 0111 - 600 1000 - 1200 1001 - 2400 1010 - 4800 1011 - 6400 1100 - 9600 1101 -19200 ------------------------------------------------------------------- Разряды | Наименование | Значение регистра AL | | ------------------------------------------------------------------- 0 - 0 1 - 1 2, 3 длина 00 - 5 разрядов 01 - 6 разрядов 10 - 7 разрядов 4, 5 контроль 01 - нечетный 10 - четный 6, 7 стоп-бит 01 - 1 10 - 1,5 11 - 2 В регистре DX задается номер адаптера: 1) DX=0 - первый адаптер; 2) DX=0 - второй адаптер. При приеме и передаче регистр AL содержит байт данных. Выходные данные те же, что и при сжатом формате. 5.3.9. Программа поддержки расширенной памяти (INT 15Н) выполняет несколько функций, код которых задается в регистре АН; 1) АН=87Н - переслать блок. Параметры пересылаемого блока указываются в таблице, структура которой приведена на рисунке: |------------------------------| | | | | | | 16 байт | | | | | | |------------------------------| | счетчик (2 байта) | | адрес источника (3 байта) | | | 8 байт источника | | |______________________________| | | | счетчик | | адрес приемника | 8 байт приемника | | | | |______________________________| Адрес таблицы задается в регистрах ES:SI. Количество пересылаемых слов задается в регистре СХ; 2) АН=88Н - определить объем расширенной памяти. После выполнения программы в регистре АХ находится объем расширенной памяти в Кбайтах. Если расширенная память присутствует, то признак CF=0, в противном случае - признак CF=1. 3) АН=С7Н - переслать блок в соответсвии с указанными параметрами. Для выполнения программы необходимо в регистре СХ задать количество пересылаемых слов, в регистрах DS:S1 - адрес источника, в регистрах ES:DI - адрес приемника, в регистре BL - логиеский номер платы источника, в регистре ВН - логический номер платы приемника;: 4) АН=С8Н - определить объем памяти платы, логический номер, которой указан в регистре AL. После выполнения программы в регистре АХ находится объем памяти выбранной платы. Если плата присутствует, то признак CF=0, в противном случае - признак CF=1. 5.3.10. Программа поддержки клавиатуры (INT 16Н) считывает в регистр АХ код сканирования клавиши и код ASCII из буфера клавиатуры. Программа выполняет три функции, код которых задается в регистре АН: 1) АН=0 - считать следующий символ из буфера клавиатуры. После выполнения программы в регистре АН находится код сканирования клавиши, а в регистре AL - код ASCII; 2) АН=1Н - установить признак ZF, если код ASCII считан (ZF=0, если буфер заполнен, ZF=1, если буфер пустой). После выполнения функции в регистре АХ находится адрес вершины буфера клавиатуры; 3) АН=2Н - возврат текущего состояния в регистр AL из постоянно распределенной рабочей области памяти с адресом 0417Н. При выполнении программ клавиатуры используются флажки, которые устанавливаются в постоянно распределенной области памяти по адресам 0417Н и 0418Н. Значения флажков приведены на рис.7.5. Флажки, соответствующие разрядам 4-7 постоянно распределенной области памяти с адресом 0417Н, устанавливаются по нажатию клавиш ВСТ, ФПБ, ЦИФ, ФСД и сохраняют свои значения до следующего нажатия соответсвующей клавиши. Одноименные флажки, соответсвующие разрядам 4-7 постоянно распределенной области с адресом 0418Н, и флажки ДОП, УПР, левое переключение регистра, правое переклюение регистра, Р/Л устанавливаются по нажатию клавиш и сбрасываются по отжатию. 5.3.11. Программа связи с печатающим устройством (INT 17Н) выполняет три функции, код которых задается в регистре АН: 1) АН=0 - печать знака, заданного в регистре AL. Если в результате выполнения функции знак не напечатается, то в регистре AL устанавливается "1" (тайм-аут) . 2) АН=1 инициализация порта печати. После выполнения функции в регистре АН находится байт состояния печатающего устройства; 3) АН=2Н - считывание байта состояния печатающего устройства. В регистре DX необходимо задать ноль. Значение разрядов байта состояния печатающего устройства приведено на рисунке: 5.3.12. Программа загрузки системы (INT 19Н) выполняет загрузку с НГМД или НМД. Система начинает загружаться с НГМД. Если НГМД осутствует, то система загружается с НМД. Если отсутсвуют и НГМД, и НМД или произошла аппаратурная ошибка, устанавливается прерывание типа INT 18Н, которое вызывает выполнение программ тестирования и инициализации системы. 5.3.13. Программа установки-считывания времени суток (INT 1AH) обеспечивает выполнение двух функций, код которых задается в регистре АН: 1) АН=0 - считать текущее состояние часов. После выполнения команды регистры СХ и DX содержат старшую и младшую части счетчика . Если регистр AL содержит "0", то счет идет в течении одних суток, при любом другом значении счет переходит на следующие сутки; 2) АН=1 - запись текущее состояние часов. Регистры СХ и DX содержат старшую и младшую части счетчика. 5.3.14. Программа обслуживания накопителя на гибком магнитном диске (INT 40H) выполняет шесть функций, код которых задается с регистра АН: 1) АН=0 - сбросить НГМД; 2) АН=1 - считать байт состояния НГМД. Состояние соответсвует последней выполняемой операции и передается в регистр AL из постоянно распределенной области оперативной памяти с адресом 00441Н. 3) АН=2Н - считать указанный сектор в память; 4) АН=3Н - записать указанный сектор из памяти; 5) АН=4Н - верификация; 6) АН=5Н - форматизация. 5.3.14.1. Для выполнения функций записи, считывания, верификации, форматизации в регистрах задается следующая информация: 1) DL - номер устройства (0-3, контролируемое значение); 2) DH - номер головки (0-1, неконтролируемое значение); 3) СН - номер дорожки (0-39, неконтролируемое значение); 4) CL - номер сектора (1-8, неконтролируемое значение); 5) AL - количство секторов (1-8, неконтролируемое значение). 5.3.14.2. Для выполнения форматизации необходимо сформировать в памяти четырехбайтную таблицу для каждого сектора, содержащую следующую информацию: 1) номер дорожки; 2) номер гловки; 3) номер сектора; 4) количество байтов в секторе (00 - 128 байт, о1 - 256 байт, 02 - 512 байт, 03 - 1024 байта). Адрес таблицы задается в регистрах ES:BX. После выполнения программы в регистре АН находится байт состояиния НГМД. 5.3.14.3. Байт состояния НГМД имеет следующие значения: 1) 80 - тайм-аут; 2) 40 - сбой позиционирования; 3) 20 - сбой контроллера; 4) 10 - ошибка кода циклического контроля при считывании; 5) 08 - переход адреса через сегмент (64К байт); 6) 08 - переполнение; 7) 04 - сектор не найден; 8) 03 - защита записи; 9) 02 - не обнаружен маркер идентификатора сектора; 10) 01 - команда отвергнута. При успешном завершении программы признак CF=0, в противном случае - признак CF=1 (регистр АН содержит код ошибки). Регистр AL содержит количество реально считанных секторов. Адрес программы обслуживания накопителя на гибком магнитном диске записывается в вектор 40Н в процедуре сброса по включению питания.