ВВЕДЕНИЕ
Системная консоль является неотъемлемой частью периферийного оборудования любой современной ЭВМ. Через нее осуществляется управление вычислительным процессом: ведется контроль над прохождением задач многих пользователей, за состоянием периферийных устройств, осуществляется перераспределение ресурсов ЭВМ и т.д. При наличии в составе вычислительной системы нескольких терминалов пользователей (пультов операторов) системная консоль является главным терминалом.
Техническое исполнение системной консоли, как правило, не отличается от исполнения терминалов пользователей. Обычно это стандартный алфавитно-цифровой (графический) дисплей и клавиатура. В персональных компьютерах, работающих в однопользовательском режиме, системная консоль также выполняет функции терминала пользователя. Она является единственным из периферийных устройств, которое обеспечивает двустороннюю оперативную связь человека с машиной в режиме диалога.
Как и любое внешнее устройство, системная консоль обменивается информацией с центральными устройствами ЭВМ с помощью специальных аппаратных и программных средств (интерфейса), характеристики которых должны быть известны системному программисту (пользователю ЭВМ).
1 ЦЕЛЬ РАБОТЫ
Целью данной работы является:
Рассмотрение материала логичнее начать со второй задачи. Действительно, знание основ организации машинного интерфейса необходимо программисту системных задач обмена информации между устройствами ВС. Можно представить себе реальную ситуацию, когда ВС укомплектовывается, например, новым оригинальным графическим ПУ в рамках системы автоматизированного проектирования. При отсутствии стандартных программных средств поддержания информационного обмена с данным ПУ в имеющейся операционной среде, программист САПР должен быть в состоянии написать и отладить драйверы этих устройств. Программы-драйверы ПУ полностью отражают алгоритмическую часть стандарта на интерфейс первого уровня.
2 ХАРАКТЕРИСТИКИ УРОВНЕЙ ИНТЕРФЕЙСА
Согласно ГОСТ 15971-76 под стандартным интерфейсом понимают совокупность унифицированных аппаратурных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных элементов в автоматических системах сбора и обработки информации при условиях, предписанных стандартом и направленных на обеспечение информационной, электрической и конструктивной совместимостей указанных элементов. Стандартизации в интерфейсе подлежат: форматы передаваемой информации, команды и состояния системы сопряжения, состав и типы линий связи, алгоритм обмена информацией, электрические уровни сигналов, параметры приемопередающих элементов, некоторые конструктивные решения (разъемы, штекеры, платы) и т.д.
Классифицируя интерфейсы ВС по функциональному назначению, можно выделить три основных уровня: машинные (внутрисистемные) интерфейсы, интерфейсы периферийного оборудования и интерфейсы распределенных вычислительных систем (сетей). Эта классификация иллюстрируется рисунком 1.
Машинные интерфейсы (I уровень) предназначены для организации связей между блоками одной вычислительной системы. Кроме компонентов ядра (процессоры, ОЗУ, ПЗУ) в состав системы входят интерфейсные модули, которые часто обобщенно называют адаптерами или контроллерами. Все адаптеры обеспечивают выполнение требований интерфейса первого уровня, свойственного данной вычислительной системе. Одновременно каждый из адаптеров ориентирован на поддержание одного из стандартных интерфейсов другого уровня.
Реальная схема интерфейса I уровня современных ЭВМ значительно сложнее простой шинной организации, изображенной на Рисунке 1. На практике широко используются каскадно-магистральные схемы различной конфигурации.
Интерфейсы периферийных устройств (II уровень) определяют правила сопряжения адаптеров с измерительными приборами, исполнительными механизмами, внешними запоминающими устройствами, аппаратурой передачи данных и т.д. ПУ должны иметь приемопередающие схемы, поддерживающие один из стандартных интерфейсов другого уровня. Промышленностью выпускается ряд ПУ, прежде всего, алфавитно-цифровые дисплеи, графические дисплеи, приемопередающие схемы которых ориентированы на внутрисистемный интерфейс первого уровня наиболее распространенных вычислительных систем. В этом случае ПУ подключается непосредственно к системной магистрали.
Рисунок 1 – Уровни интерфейса вычислительных систем
Интерфейсы распределенных вычислительных систем (сетей) предназначаются для объединения средств обработки информации, размещенных на значительном расстоянии (Ш уровень).
Классификация устройств всех уровней согласно ГОСТ 26.016-81 осуществляется по четырем признакам:
Для машинного уровня интерфейса микропроцессорных систем (в частности ПК) характерно использование магистрального способа соединения при параллельной передаче информации, а также использование мультиплексного режима передачи, при котором магистраль в каждый момент времени для обмена информацией занимает два модуля из всего множества подключенных к ней модулей.
Интерфейсы периферийного оборудования отличаются большим разнообразием сочетаний перечисленных выше признаков. Для удаленных более чем на 15м устройств обычно используется последовательный способ передачи информации. Этот же способ характерен для интерфейсов распределенных систем.
3 ДВА СПОСОБА АЛГОРИТМИЧЕСКОЙ ОРГАНИЗАЦИИ ВВОДА/ВЫВОДА В ЦИФРОВЫХ СИСТЕМАХ
На первом внутрисистемном уровне интерфейса различают два принципиально разных способа обмена данными между модулями системы, т.е. два способа системных пересылок.
Первый способ – программно-управляемый обмен. В этом случае передача данных осуществляется под управлением центрального процессора, который на время передачи занят только этой работой.
Второй способ – контроллерный обмен, или обмен с занятием цикла, или прямой доступ в память (ПДП). При этом способе процессор в пределах выполнения текущей команды отключается на один машинный цикл от внутренней памяти. Это время используется для прямой записи или считывания данных из памяти. Инициатором такого «вклинивания» в обычный ход вычислительного процесса является, как правило, быстродействующее периферийное устройство. Во время контроллерного обмена процессор продолжает заниматься обработкой некоторой задачи, не обязательно связанной с данным обменом. Циклами прямого доступа к памяти управляет специальный адаптер внутренней памяти и ведет отсчет количества переданных данных. Такой сложный адаптер часто носит название контроллера прямого доступа к памяти.
Известны три алгоритма реализации программно-управляемого обмена: синхронная передача, асинхронная передача и пересылки по прерыванию. Синхронная передача используется для связи с периферийными устройствами, временные характеристики работы которых точно известны, а надежность считается «абсолютной». Примерами использования такого алгоритма является организация связи микропроцессора с исполнительными органами в контроллерах светофоров, стиральных машин, некоторых приборов и детских игрушек. Присоединенные к процессору реле, аналого-цифровые преобразователи считаются постоянно готовыми к приему/передаче данных. Инерционность этих устройств при обработке данных учитывается программой ввода/вывода, организующей фиксированные задержки перед новым приемом или посылкой информации.
Асинхронная передача – наиболее распространенный способ связи между модулями вычислительной системы. Алгоритм этого способа может быть иллюстрирован Рисунком 2:
Рисунок 2 – Алгоритм асинхронной передачи
Если по ходу выполнения некоторой программы потребовался обмен данными с внешним устройством, первое, что необходимо сделать, это проверить готовность этого устройства к обмену. Только при положительном ответе о готовности происходит передача собственно полезной информации. Иначе организуется повторный запрос готовности. Алгоритм может быть усложнен подсчетом числа безуспешных обращений к ПУ. В случае превышении заранее заданного числа обращений может быть организовано сообщение об отказе устройства на консоль.
Преимущество асинхронного способа обмена перед синхронным в более высотой надежности передачи данных. Однако оба этих метода связаны с большими непроизводительными затратами времени работы процессора по организации либо фиксированной задержки, либо задержки в ожидании готовности устройства. Этот недостаток устраняет метод пересылок по прерыванию. Подробно этот способ обмена изучается в лабораторной работе «Обработка прерываний. Модуль таймера» [4].
В данной работе предлагается изучить работу программы, реализующей асинхронный алгоритм обмена с клавиатурой и экраном видеотерминала.
Текст учебной программы
Адрес Машинный код Код ассемблера
4000 DB 01 M1: IN 01
4002 E6 01 ANI 01
4004 CA 00 40 JZ M1
4007 DB 00 IN 00
4009 47 MOV B,A
400А DB 01 M2: IN 01
400С E6 04 ANI 04
400Е CA 0A 40 JZ M2
4011 78 MOV A,B
4012 D3 00 OUT 00
4014 C3 00 40 JMP M1
Учебная программа после передачи управления по адресу ее первой команды 4000 осуществляет считывание кода символа (1 байт) нажатой клавиши терминала, запоминает его в регистре процессора В, а затем выдает на экран дисплея содержимое регистра В, т.е. только что введенный символ.
В процессе выполнения лабораторной работы студентам может быть предложено модифицировать приведенную программу так, чтобы вывод символа на экран осуществлялся синхронным методом. При этом программа должна обеспечить безошибочное отображение всех символов и управляющих кодовых последовательностей, предусмотренных в изучаемой клавиатуре.
4 ПОРТЫ ВВОДА/ВЫВОДА АДАПТЕРА ВИДЕОТЕРМИНАЛА
Основным элементом электронной микросхемы порта ввода/вывода является управляемый регистр. Этот регистр можно рассматривать как ячейку памяти или информационный буфер между линиями системной магистрали и схемами адаптера. Порты ввода используются адаптером для выдачи в процессор служебной информации или данных. Порты вывода получают от процессора управляющие коды для периферийного устройства или коды данных. Разрядность портов ввода/вывода соответствует разрядности шины данных магистрали ЭВМ. В настоящей работе используются три восьмиразрядных порта ввода/вывода, расположенных в адаптере системной консоли (модуль МИРПР) (Рисунок 3).
Рисунок 3 – Взаимодействие периферийных устройств с процессором ЭВМ
Обмен байтами между портами ввода/вывода и процессором КР580ИК80А производится только через аккумулятор А посредствам команды IN (ввести в А содержимое порта ввода) и OUT (передать в порт вывода содержимое аккумулятора). Во втором байте двухбайтовых команд ввода/вывода содержится код номера порта. Таким образом, в системе может существовать максимально 256 портов ввода и 256 портов вывода. Порт ввода 01 – служебный порт. В нем постоянно содержится информация о готовности клавиатуры к выдаче в процессор нового кода символа и о готовности памяти экрана дисплея получить новый код символа от процессора. Порт ввода 00 содержит коды набираемых на клавиатуре символов и сигналов управления. Порт вывода 00 получает от процессора коды, выводимых на экран символов или байтов управляющих последовательностей.
О том, что была нажата клавиша, сигнализирует 0-й разряд в порте ввода в 01, а именно его значение – «1». Как только процессор считывает из порта ввода 01 этот информационный байт, 0-й разряд порта ввода 01 обнуляется до следующего нажатия клавиши. Если на клавиатуре была набрана кодовая посылка из двух или трех байтов, значение 0-го разряда порта ввода 01 будет оставаться равным 1, пока содержимое порта 00 не будет прочитано соответственно двумя или тремя командами IN 00.
Инерционность воспроизведения символов на экране требует сообщения о его готовности к приему очередного символа. Значение «1» 2-го разряда порта ввода 01 говорит о готовности экрана к приему, а значение «0» – о неготовности. Таким образом, содержимое порта ввода 01 отражает готовность системной консоли к приему/передаче. Для этого используются 0-й и 2-й разряды. Значения остальных разрядов безразлично.
5 ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ ВИДЕОТЕРМИНАЛА ВТА-2000-30
Программа-эмулятор СМ-1800 для ПК воспроизводит модель видеотерминала ВТА 2000-30 (СМ 7204) с выходом на интерфейс ИРПР (интерфейс радиальный с параллельной передачей информации) и клавиатурой КТ-МЗ. ВТА 2000-30. Видеотерминал ВТА 2000-30 (в дальнейшем ВТА) обеспечивает выполнение следующих функций:
- отображение информации в буквенно-цифровом виде;
- набор и редактирование информации;
- прием текстовой и управляющей информации от процессора;
- передачу в процессор информации, набираемой оператором на клавиатуре, с одновременным приемом информации от процессора;
- передачу текстовой информации из памяти регенерации
одному приемнику информации – устройству печати.
Все устройства вычислительной системы обменивается информацией с оперативной памятью ВТА, содержимое которой отображается на экране (редактируется) с частотой 50 Гц.
Параметры отображения:
- длина строки (символов) – 80;
- количество строк – 24;
- принцип формирования символов – точечный растр (матрица 7х8);
- набор индицируемых графических символов – 95;
- прописные русские буквы – 31;
- прописные латинские буквы – 26;
- цифры – 10;
- спецзнаки – 28;
-набор индицируемых управляющих символов (индикация) включается оператором -28.
На клавиатуре выделяются группы: алфавитно-цифровых клавиш; клавиш управления клавиатурой; выделенное поле цифровых клавиш, совмещенное с клавишами функциональных кодовых посылок; клавиши управляющих символов; клавиши управления курсором и редактирования; клавиши управления режимами работы ВТА. Ниже приводится краткое описание назначения отдельных клавиш.
Клавиши управления клавиатурой:
РУС/ЛАТ – задание режима выдачи кодов русского и латинского алфавитов
СПС - включение нижнего регистра клавиш спецсимволов;
УС - формирование управляющих символов в функциональных кодов;
ПВТ - включение режима многократной выдачи кодовых посылок.
Выделенные клавиши управляющих символов:
ПС - перевод строки;
ГТ - горизонтальная табуляция;
ВШ - возврат на шаг;
ВК - возврат каретки (конец строки);
АР2 – авторегистр 2 (включение «прозрачного» режима, при котором все кодовые последовательности КОИ-7 воспринимаются как информационные);
ЗБ - забой.
Клавиши управлений курсором и редактирования:
- перевод курсора на одну строку вниз;
- перевод курсора на одну
строку вверх;
- перевод курсора, на одно
знакоместо влево;
- перевод курсора на одно
знакоместо вправо;
- (курсор домой) – перевод курсора в
начало кадра;
- стирание строки справа от курсора;
- стирание экрана справа от
курсора.
Клавиши управления режимами работы ВТА:
СБР – формирование кода операции СБРОС;
АР - формирование кода операции перевода ВТА в режим АВТОНОМНАЯ РАБОТА С КЛАВИАТУРОЙ;
КР - формирование кода операции перевода ВТА в режим КОМПЛЕКСНАЯ РАБОТА;
ПЧ - формирование кода операции перевода ВТА в режим выдачи текстовой информации на печать – режим АВТОНОМНАЯ РАБОТА С ПЕЧАТОЮЩИМ УСТРОЙСТВОМ;
ПД - формирование кода операции перевода ВТА в режим выдачи информации из памяти в процессор – режим ПЕРЕДАЧИ;
БЛ – формирование сигнала БЛОКИРОВКА, которой подается на выходной разъем клавиатуры для внешнего использования;
СЛ ИНД – формирование кода операции включения индикации управляющих сигналов;
СВ - формирование кода операции включении режима СДВИГ ВВЕРХ.
Для удобства работы с эмулятором пользователю предоставляется две равноценные возможности воздействия на клавиши клавиатуры ВТА. Первая возможность предусматривает использование манипулятора мышь для щелчка над выбранной клавишей оригинального изображения клавиатуры на экране ПК
Опишем соответствие клавиш стандартной клавиатуры IBM PC и оригинальной клавиатуры СМ-1800. Все буквенно-цифровые клавиши IBM-клавиатуры, соответствующие стандартной раскладке QWERTY/ЙЦУКЕН, для клавиатуры СМ-1800 продублированы полностью.
Соответствие специальных клавиш приведено в Таблице 1.
Таблица 1 – Соответствие специальных клавиш
ПК
|
СМ-1800
|
ПК
|
СМ-1800
|
Esc |
АР2 |
|
СВ |
[Тильда] ~ |
УС2 |
Pause/Break |
- |
Тав |
- |
Insert |
[очистка строки] |
Caps Lock |
РУС ЛАТ |
Home |
[курсор домой] |
Shift |
СПС |
Page Up |
ПД |
Ctrl |
УС |
Delete |
[очистка экрана] |
Alt |
- |
End |
АР |
Backspace |
[стрелка влево] |
Page Down |
КР |
Enter |
ПС или ВК |
Num Lock |
- |
Клавиши [стрелки] продублированы на клавишах управления курсором ПК.
Клавиши ГТ, ВШ, БЛ, СЛ ИНД, СБР, ПЧ и ПВТ на стандартной клавиатуре IBM PC не продублированы.
В режиме РУС:
клавиша [?/] выдаёт символы [,.],
клавиша [{] выдаёт русскую букву [Х],
клавиша [}] не выдаёт ничего (буквы [Ъ] в КОИ-7 нет),
клавиша [,<] выдаёт русскую букву [Б],
клавиша [.>] выдаёт русскую букву [Ю].
В режиме ЛАТ: назначение клавиш стандартное.
Клавиши [F1…F12] в сочетании с [Ctrl], [Alt] и [Shift] служат для управления эмулятором (см. главное меню программы).
6 СОДЕРЖАНИЕ РАБОТЫ
6.1 ПОРЯДОК РАБОТЫ
6.2 ЭТАПЫ РАБОТЫ НА ЭВМ
Работа с ВТА а автономном режиме
Автономный режим работы терминала включается нажатием клавиши АР. Свечение светодиода АР подтверждает переход ВТА в автономный режим, т.е. в режим отключения от шин ЭВМ. В автономном режиме источником информации является клавиатура, приемником – собственная оперативная память ВТА.
Для изучения клавиатуры дисплея и усвоения функций различных клавиш необходимо:
Работа ВТА в комплексном режиме
В комплексном режиме при вводе информации от ВТА источником является клавиатура, приемником – процессор или другое устройство, захватившее интерфейс (например, ПКУ). При приеме информации в ВТА источником является процессор или другое устройство-задатчик (например ПКУ), приемником – оперативная память ВТА.
На данном этапе работы устройством эадатчиком является не процессор, как обычно, а пульт контроля и управления, установленный в режим прямого доступа. Перед началом выполнения этапа необходимо включить комплексный режим ВТА, нажав клавишу КР (контролировать по свечению светодиода КР), а на ПКУ нажать переключатели СТОП и ЗХ. Установит переключатель ЗУ/УВВ – в положение УВВ, ЧТ/ЗАП – в положение ЧТ, АВТ/ОДН – в положение ОДН.
Для выполнения первого пункта этапа – определения кодов вводимых клавиш – выполнить следующие операции:
нажать на клавиатуре ВТА цифровую клавишу;
нажать на ПКУ переключатель ВП;
прочитать на светодиодах ДАННЫЕ введенный код цифр;
Для выполнения работы по определению состояния ВТА необходимо:
прочитать на ПКУ и зафиксировать содержимое порта ввода состояния ВТА
(адрес порта 01);
прочитать на ПКУ содержимое порта ввода данных с клавиатуры ВТА
(адрес порта 00);
повторно прочитать на ПКУ содержимое порта состояния 01. 0-й разряд этого порта является указателем готовности ВТА к передаче очередного байта данных устройству-задатчику, после чтения содержимого порта-ввода данных 00 устройством-задатчиком (в данном случае – ПКУ) значение 0-го разряда порта ввода 01 устанавливается равным 0;
Вывод информации на экран ВТА производится через порт вывода данных с адресом 00. При этом информация от задатчика (в нашем случае – ПКУ) вводится в оперативную память ВТА и затем отображается на экране. Перед выполнением этой части работы переключатель ЧТ/ЗАП на ПКУ устанавливается в положение ЗАП.
Далее необходимо:
на переключателях ДАННЫЕ набрать код символьной клавиши (например, 31Н – код клавиши «1»);
нажать переключатель ВП и наблюдать на экране появление символа «1» в текущей позиции курсора;
Подготовка и запуск учебной программы
Машинные коды команд учебной программы заносятся в оперативную память ЭВМ с помощью ПКУ. Для этого переключатели СТОП и ЗХ должны быть нажаты. Переключатели прямого доступа должны находиться в положениях: ЗУ, ЗАП и ОДН. На переключателях АДРЕС последовательно набираются адреса байтов программы, начиная с 4000Н. За каждым набором адреса следует установка переключателей ДАННЫЕ и нажатие переключателя ВП. После записи всей программы переключатель ЧТ/ЗАП устанавливается а положение ЧТ, и последовательным набором адресов, начиная с 4000Н, и нажатием переключателя ВП по индикаторам ДАЙНЫЕ проверяется правильность подготовки программы. Отжать клавишу ЗХ.
Выполнение программы осуществляется шаговым способом, т.е. при нажатой клавише СТОП. Передача управления на начало программы производится набором на ПКУ кода команды безусловного перехода по адресу 4000Н – СЗ 00 40 (Внимание! Учесть другой порядок расположения 2-го и 3-го байтов команды на переключателях АДРЕС). После этого следует нажать переключатель КОМ С ПУЛЬТА и переключатель ПУСК три раза. После этого процессор находится в процессе выполнения первой команды учебной программы.
Не нажимая клавиш ВТА, убедиться в работе цикла по опросу порта ввода 01, характеризующего состояние клавиатуры дисплея. Нажать произвольную символьную клавишу ВТА и продолжать пошаговое выполнение программы, нажимая переключатель ПУСК. Следить за индикацией регистров АДРЕС и ДАННЫЕ и светодиодов индикации машинных циклов. В момент выполнения команды OUT 00 наблюдать на экране появление набранного ранее символа. Выполнение программы повторяется, так как ее последний командой является безусловный переход по адресу 4000Н. Поэтому без дополнительных действий можно повторить прохождение программы с чтением и выдачей других символов. Отжав переключатель СТОП, наблюдать выполнение программы в автоматическом режиме. Для этого нажимать произвольные клавиши ВТА.
7 ОФОРМЛЕНИЕ РЕЗУЛЬТАТОВ РАБОТЫ
Отчет по лабораторной работе должен содержать следующие разделы:
8 КОНТРОЛЬНЫЕ ВОПРОСЫ
4. Чем отличаются три уровня интерфейса вычислительных систем?
8. Как организовать асинхронный обмен, используя порты ввода/вывода адаптера дисплея?
ЛИТЕРАТУРА
1 Программирование в кодах для микроЭВМ СМ–1800: Методические указания.– СПб.: СПбГТИ(ТУ), 2006. – 24с.
2 МикроЭВМ СМ–1800 и её эмулятор на ПК: Методические указания к лабораторной работе.– СПб.: СПбГТИ(ТУ), 2006. – 21с.
3 Стандартное программное обеспечение. Монитор: Методические указания к лабораторной работе.– СПб.: СПбГТИ(ТУ), 2006. – 23с.
4 Обработки прерываний. Модуль таймера: Методические указания к лабораторной работе.– СПб.: СПбГТИ(ТУ), 2006. – 19с.
5 Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. –СПб.:Питер, 2004. -668с.
СОДЕРЖАНИЕ
Введение…………………………………………….............................3
1 Цель работы…………………........................................................3
2 Характеристики уровней интерфейса…………………..............4
3 Два способа алгоритмической организации ввода/вывода в цифровых системах……………………………………………....6
4 Порты ввода/вывода адаптера видеотерминала……..................9
5 Технические характеристики видеотерминала ВТА-2000- 30………………………………………………….……………...10
6 Содержание работы……………………………………………..13
6.1 Порядок работы…………….................................................13
6.2 Этапы работы на ЭВМ………………..................................14
7 Оформление результатов работы...………….............................17
8 Контрольные вопросы…………………………………………..18
Литература............................................................................................19
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.