Программа прерывания INT 16h (поддержка клавиатуры). Операции программы

Для чтения кодов из буфера клавиатуры используются программные прерывания ввода с клавиатуры ВIОS и ОС. Например, программа прерывания ВIОS INT 16Н (ввод с клавиатуры). В зависимости от кода в регистре АН она выполняет следующие функции.

При АН=0 - функция "Чтение символа". Данная функция считывает из буфера клавиатуры в регистр АН скэн-код очередной нажатой клавиши клавиатуры, в регистр АL - код ее символа, а затем продвигает указатель буфера. Если нажата функциональная клавиша, то в регистр АL- заносится 0. Если буфер пуст, то программа прерывания INТ 16Н ожидает нажатия клавиши.

При АН=1 выполняется функция "Определение наличия введенного символа". Данная функция устанавливает флаг нуля ZF в состояние "1", если буфер пуст. В противном случае ZF=0.Очередной скэн-код и код символа будут помещены в регистры АН и AL соответственно, а данный элемент останется в буфере.

При АН=2 - функция "Определение текущего состояния клавиатуры". Данная функция возвращает в регистр АL байт состояния клавиатуры из ячейки блока памяти по адресу [0040:0017]Н, т.е. информацию о состоянии служебных клавиш.

Этот байт состояния клавиатуры отражает статус служебных клавиш следующим образом:

· бит В7 (Insert) – режим вставки включен;

· бит В6 (Caps Lock) – режим Caps Lock;

· бит В5 (Num Lock) – режим Num Lock;

· бит В4 (Scroll Lock) – режим Scroll Lock;

· бит В3 (Alt) – клавиша нажата;

· бит В2 (Ctrl) – клавиша нажата;

· бит В1 (левый Shift) – клавиша нажата;

· бит В0 (правый Shift) – клавиша нажата.

Прерывание INТ 16Н может быть использовано программистом.

Билет № 19.-ИПУ

Модули (БИСы), выполняющие системные функции в ПК. Назначение

Персональный компьютер (ПК) – небольшая по размерам ЭВМ, предназначенная для индивидуального пользования. Основными устройствами любой ЭВМ являются центральный процессорный блок (CPU) и внутренняя память (ОЗУ (RAM) и ПЗУ (ROM)).

В ПК есть ряд устройств, несложных по построению, но играющих важную роль в обеспечении нормального функционирования любой вычислительной системы. Отметим некоторые из них:

1. Узел синхронизации, обеспечивающий согласование работы всех блоков ПК во времени. Этот узел, называемый обычно генератором тактовых импульсов, непрерывно вырабатывает для синхронизации работы тактовые импульсы (синхроимпульсы).

2. Узел прерывания. Предназначен для организации режима прерывания работы ПК при возникающих ситуациях обычно во внешних устройствах.

3. Узел прямого доступа к памяти. Используется для организации быстрой передачи данных между внутренней памятью и внешним устройством, минуя процессор, который эту передачу организует медленно.

4. Таймер – узел для реализации в ПК определенных времязадающих функций.

5. Параллельный контроллер (адаптер) – узел для организации обмена данными с внешними устройствами в параллельном коде.

6. Последовательный контроллер (адаптер) - узел для организации обмена данными с внешними устройствами в последовательном коде.

В ранних разработках ПК типа PC/XT, PC/AT эти узлы выполнялись в виде одной БИС.

Одним из основных компонентов без которого ПК не может функционировать, являются внешние устройства (ВУ). Они служат для ввода в память данных и программы вычислений, для вывода результатов вычислений, т.е. для вывода результатов работы ПК. В состав ПК входят многочисленные и разнообразные по выполняемым функциям, принципам действия и характеристикам внешние устройства. Для связи CPU с ВУ используется единый принцип: каждое ВУ имеет контроллер (адаптер), который с одной стороны через системный интерфейс подключается к CPU, а с другой - посредством внешнего кабеля с самим ВУ.

Билет № 20.-ИПУ

Последовательность пакетов при вводе-выводе по USB

Все транзакции (обмены) по шине USB состоят из двух-трех полей (рис. 4.10). Любой обмен по шине USB инициируется хост - контроллером. Он организует обмены с устройствами согласно своему плану распределения ресурсов.

           
  Программа прерывания INT 16h (поддержка клавиатуры). Операции программы - student2.ru  
  Поле данных
 
  Поле квитирования

........ ...........

Маркер ПУ ждет Хост ждет

А) вывод данных

           
  Программа прерывания INT 16h (поддержка клавиатуры). Операции программы - student2.ru
   
  Поле данных
     
  Поле квитирования

........... ...........

Маркер ПУ ждет Хост ждет

Б) Ввод данных

Рис. 4.10. Последовательность пакетов: а) вывод; б) ввод

Хост-контролер посылает маркер, который описывает тип и направление передачи, адрес устройства USB и номер конечной точки. В каждой транзакции возможен обмен только между адресуемым устройством (конечной точкой) и хостом (ПК). Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных. определяемый маркером передает пакет данных или уведомляет об отсутствии данных, предназначенных для передачи. После успешного приема пакета приемник данных посылает пакет квитирования.

Хост-контроллер организует обмен с устройствами согласно своему плану распределения ресурсов. Этим занимается системный драйвер (программа обслуживания порта USB) Ее основные задачи:

· распределение полосы пропускания шины USB;

· назначение адресов каждому физическому USB-устройству;

· планирование транзакций.

Хост-контроллер циклически (с периодом 1,0 + 0,0005 мс) формирует кадры (frames), в которые укладываются все запланированные передачи. Каждый кадр начинается с посылки пакета - маркера SOF (Start Of Frame? Начало кадра), который является синхронизирующим сигналом для всех устройств, включая хабы. В конце каждого кадра выделяется интервал времени EOF (End Of Frame, конец кадра), на время которого хабы запрещают передачу по направлению к контроллеру. Если хаб обнаружит, что с какого - то порта в это время ведется передача данных, этот порт отключается.

В режиме высокоскоростной передачи пакеты SOF передаются в начале каждого микрокадра.

Хост планирует загрузку кадров так, чтобы в них всегда находилось место для наиболее приоритетных передач, а свободное место кадров заполняется низкоприоритетными передачами больших объемов данных. Спецификация USB позволяет заполнять подпериодические транзакции (изохронные и прерывания) до 90% пропускной способности шины.

Билет № 22.-ИПУ

Наши рекомендации