1. ВВЕДЕНИЕ 1.1. Настоящий документ предназначен для изучения работы машины вычислительной электронной цифровой персональной профессиональной (ПЭВМ). 2. ППЭВМ ЕС1841. КРАТКОЕ ТЕХНИЧЕСКОЕ ОПИСАНИЕ 2.1. Назначение  2.1.1. Машина вычислительная электронная персональная профессиональная ЕС1841 предназначена для создания базовых средств автоматизации индивидуального труда в широком диапазоне профессиональной ориентации. Программное обеспечение ППЭВМ ЕС1841 включает: 1) операционные системы М86 и Альфа-ДОС; а в ГНИКИ СКУ "Система" PC-DOS 3.30 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 | Максимальный номер цилиндра (младшая часть) | |----------------------------------