ТОП 10:

Практическая работа №2.Изучение способов организации взаимодействия процессора и внешних устройств (ВУ) в составе ЭВМ



 

1 Цель работы: знакомство со способами взаимодействия процессора и внешних устройств в составе ЭВМ

 

2 Основные теоретические положения:

 

2.1 Связь процессора и ВУ может осуществляться в синхронном и асинхронном режиме.

Синхронный режим используется для ВУ, всегда готовых к обмену. В нашей модели такими устройствами являются дисплей и тоногенератор – процессор может обращаться к этим ВУ, не анализируя их состояние (правда дисплей блокирует приём данных после ввода 128 символов, формируя флаг ошибки).

Асинхронный обмен предполагает анализ процессором состояния ВУ, которое определяет готовность ВУ выдать или принять данные или факт осуществления какого-нибудь события, контролируемого системой. К таким устройством в модели является клавиатура и блок таймеров.

2.2 Анализ состояния ВУ может осуществляться процессором двумя способами:

- в программно-управляемом режиме (предполагается обращение процессора к регистру состояния ВУ с последующим анализом значения соответствующего разряда слова состояния). Такое обращение следует предусмотреть в программе с некоторой периодичностью, независимо от фактического наступления контролируемого события (например, нажатия клавиши мыши)

- в режиме прерывания (при возникновении контролируемого события ВУ формирует процессору запрос на прерывание программы, по которому процессор и осуществляет связь в ВУ)

 

2.3 В состав контроллера клавиатуры входят три программно-доступных регистра:

  • DR (адрес 0) — регистр данных;
  • CR (адрес 1) — регистр управления, определяет режимы работы контроллера и содержит следующие флаги (устанавливаются и сбрасываются программно):
    • Е — флаг разрешения приема кодов в буфер, при Е = 0 контроллер игнорирует нажатие на клавиатуре, прием кодов в буфер не производится. На считывание кодов из буфера флаг Е влияния не оказывает;
    • I — флаг разрешения прерывания, разрешает формирование запроса на прерывание от клавиатуры в момент установки флага готовности Rdy
    • S — флаг режима посимвольного ввода. При S = 0 флаг готовности Rdy формируется только после нажатия кнопки Завершить ввод в окне обозревателя клавиатуры, при S = 1 – после каждого нажатия клавиши;
  • SR (адрес 2) — регистр состояния, содержит два флага, устанавливаемые контроллером «аппаратно»:
    • Err — флаг ошибки устанавливается при вводе в буфер 50-го символа, сбрасывается программно;
    • Rdy — флаг готовности, устанавливается в зависимости от значения флага S, сбрасывается «аппаратно» после выполнения команды ввода из регистра DR – считывание символа из буфера.

2.4 Дисплей представляет собой модель внешнего устройства, реализующую функции символьного дисплея. Дисплей может отображать символы, задаваемые ASCII-кодами, поступающими на его регистр данных.

Дисплей включает:

  • видеопамять объемом 128 слов (ОЗУ дисплея);
  • символьный экран размером 8 строк по 16 символов в строке;
  • четыре программно-доступных регистра:
    • DR (адрес 0) — регистр данных;
    • CR (адрес 1) — регистр управления содержит следующие флаги (устанавливаются и сбрасываются программно):
      • Е– флаг разрешения работы дисплея; при Е = 0 запись в регистры AR и DR блокируется;
      • А– флаг автоинкремента адреса; при А = 1 содержимое AR автоматически увеличивается на 1 после любого обращения к регистру DR – по записи или чтению.
    • SR (адрес 2) – регистр состояния содержит единственный флаг Err – ошибки устанавливается аппаратно при попытке записать в регистр адреса число, большее 127, сбрасывается программно;
    • AR (адрес 3) – регистр адреса.

 

3Задание к работе:

3.1 Контроллер клавиатуры

3.1.1 Подключите внешнее устройство (меню Внешние устройства – Менеджер ВУ – Контроллер клавиатуры)

3.1.2 Для установки флага E в регистре CR требуется выполнить команды:

RD #10

OUT 1

3.1.3 Для установки S в «1» (режим посимвольного ввода) требуется выполнить следующие команды:

RD #103

OUT 1

3.1.4 Для заданного текста найдите ASCII-код каждого символа, согласно варианта задания из таблицы 13 Варианты текста:

 

Таблица 13 Варианты текста

№ варианта  
В лесу родилась ёлочка, в лесу она росла.
Зимой и летом стройная, зелёная была.
Метель ей пела песенку: «Спи, ёлочка, бай-бай!»
Мороз снежком укутывал: «Смотри, не замерзай»
Трусишка-зайка серенький, под ёлочкой трусил.
Порою волк, сердитый волк, рысцою пробегал.
Теперь она нарядная на праздник к нам пришла.
И много, много радости детишкам принесла.
Наша Таня громко плачет, уронила в речку мячик.
Тише, Танечка, не плач – не утонет в речке мяч.

 

3.2 Контроллер дисплея

3.2.1 Подключите внешнее устройство (меню Внешние устройства – Менеджер ВУ – Контролер дисплея)

3.2.2 Примерпрограммы, выводящей слово «Май» приведён в таблице 14 Пример программы, выводящей слово «Май»

 

Таблица 15 Пример программы, выводящей слово «Май»

Метка Команда Примечание
  RD #11 ; включаем дисплей и устанавливаем
  OUT 11 ; флаг автоинкремента;
  RD #0 ; задаём начальный адрес
  OUT 13 ; выводимого слова;
  RD #204 ; ввод кода буквы «М»
  OUT 10 ; вывод на дисплей
  RD #224 ; ввод кода буквы «а»
  OUT 10 ; вывод на дисплей
  RD #233 ; ввод кода буквы «й»
  OUT 10 ; вывод на дисплей
  HLT  

3.2.3 Выведите на экран один текстовый фрагмент вашего варианта.

3.2.4 Выведите данный текст – каждое слово на новой строке, строка должна начинаться со своего номера.

 

3.3 Пример программы, выставляющей в начало каждой строки её номер приведён в таблице 16:

Таблица 16 Пример программы, выставляющей в начало каждой строки её номер

Метка Команда Примечание
  RD #10 ; включаем
  OUT 11 ; дисплей;
  RD #0 ; задаём начальный
  WR R1 ; адрес вывода;
  RD #49 ; вводим код
  WR R2 ; цифры «1»;
  RD #8 ; вводим число
  WR R3 ; повторений цикла;
     
     
M1: RD R1 ; читаем текущий адрес
  OUT 13 ; и передаём в регистр адреса дисплея;
  ADD #16 ; увеличиваем адрес на 16 – на начало следующей строки;
  WR R1 ; сохраняем изменённый адрес;
  RD R2 ; читаем код цифры – номер строки;
  OUT 10 ; передаём код цифры на дисплей;
  RD @R2+ ; увеличиваем содержимое R2 (код цифры) на единицу;
  JRNZ R3,M1 ; декремент R3 и переход на начало цикла, если R3 ≠ 0;
  HLT  

3.4 Напишите программу для вывода на экран всех символов русского алфавита.

3.5 Выведите на экран один из трех текстовых сообщений, в зависимости от нажатой клавиши (1 – один текст, 2 – другой текст, 3 – третий текст). Текст выбрать по своему усмотрению.

3.6 Проанализируйте работу программы, дайте описание каждой команде в программе, приведённой в таблице 17:

Таблица 17Примеры программ для работы с дисплеем

Вариант №  
1, 3, 5, 7, 9 RD #10 OUT 1 OUT 11 RD #103 OUT 1 M1:IN 2 JZ M1 IN 0 OUT 10 JMP M1
2, 4, 6, 8, 10 RD #10 OUT 11 RD #0 WR R1 RD #4 WR R2 M1:RD R1 OUT 13 ADD #16 WR R1 RD #42 OUT 10 JRNZ R2,M1 HLT

4 Содержание отчёта:

4.1.1 Формулировка варианта задания

4.1.2 Граф-схема алгоритма решения задачи

4.1.3 Распределение памяти (размещение в ОЗУ переменных, программы и констант)

4.1.4 Программа с описанием действий

 

5 Контрольные вопросы:

5.1 При каких условиях устанавливается и сбрасывается флаг готовности клавиатуры RD?

5.2 По какой команде происходит вывод на дисплей символа?

 







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.29.190 (0.007 с.)