Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Общие ответы на билеты.doc
Скачиваний:
12
Добавлен:
05.09.2019
Размер:
31.41 Mб
Скачать

Билет №2. -ипу Основные этапы выполнения программы прерывания int 9 (ввод данных из клавиатуры)

Программы, выполняемые ПК, работают с данными, представленными в виде специальных кодов символов (коды ASCII). Кроме этого, ПК обрабатывает расширенные коды, присваиваемые клавишам или комбинациям клавиш, которые не имеют представляющего их символа в системе ASCII-кодов. Поэтому выдаваемые контроллером клавиатуры скэн-коды нажатых клавиш необходимо преобразовать в коды символов.

В области данных системы ВIOS, занимающей в памяти ПК типа РС\ХТ диапазон адресов (400-4FF)Н, по адресам (41Е-43D)H находится буфер клавиатуры, куда заносится информация о нажатых клавишах (скэн-код и код символа). Этот буфер рассчитан на сохранение результатов 15 ударов по клавишам. Информация о состоянии служебных клавиш (АIt, Shift,Ctrl и др.) заносится в ячейки памяти с адресом 417Н и 418Н.

При наличии скэн-кода в порту А контроллер клавиатуры выдает сигнал на вход IR1 контроллера прерываний, который организует прерывание работы CPU по выполнении текущей команды. Вызывается драйвер клавиатуры INT 9, который выполняет следующие действия:

- чтение скэн-кода из порта А БИС 8255А (адрес порта – 60Н);

- выдача сигнала, подтверждающего прием кода (сначала заносится "1" в бит В7 порта 61Н, затем сразу "0" в тот же бит). Эта процедура устанавливает D-триггер контроллера клавиатуры в нулевое состояние и "обнуляет" регистр сдвига;

- определение функционального назначения нажатой клавиши (символьная, управляющая, служебная клавиша). Если нажатая клавиша изменяет биты статуса, то вносятся соответствующие коррективы в биты статуса по адресу блока памяти 417Н или 418Н в области данных ВIОS.

  • проверка наличия свободного места в буфере клавиатуры. Если место есть, то при нажатии символьной клавиши скэн-код преобразуется в соответствующий код символа и двухбайтовый код (скэн-код и код символа) помещается в буфер. Если нажата функциональная клавиша либо имеет место комбинация нескольких клавиш, то формируется двухбайтовый расширенный код, помещаемый в буфер. При отсутствии места вводимые с клавиатуры коды отбрасываются и выдается звуковой сигнал. Если нажатая клавиша изменяет биты статуса, то в буфер клавиатуры ничего не записывается;

  • выход из программы прерывания INT9.

Билет №3 -сети Манчестерские коды.

В локальных сетях до недавнего времени самым распространенным методом кодирования был так называемый манчестерский код. Он применяется в технологиях Ethernet и Token Ring.

  • В манчестерском коде для кодирования 1 и 0 используется перепад потенциала, то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. 1 кодируется перепадом от низкого уровня сигнала к высокому, а0 - обратным перепадом. В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один раз за такт передачи о� �ного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем (при передаче чередующихся единиц и нулей) она равна N/2 Гц, как и у кодов AMI или NRZ. В среднем ширина полосы манчестерского кода в полтора раза уже, чем у биполярного импульсного кода, а основная гармоника колеблется вблизи значен� �я 3N/4. Манчестерский код имеет еще одно преимущество перед биполярным импульсным кодом. В последнем для передачи данных используются три уровня сигнала, а в манчестерском - два.