Материал: Методические указания к выполнению лабораторных работ по дисциплине «Аппаратные средства вычислительной техники» для студентов специальности «Компьютерная безопасность». Ермаков С.А., Остапенко А.Г

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

5. Оформите отчет по работе. В отчете должно содержаться:

-цель работы;

-задание;

-листинги разработанного программного кода;

-выводы по работе.

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

1.Дайте понятие порт.

2.Если порт внешнего устройства является двухбайтным, то куда помещается результат его чтения командой «IN»?

3.Что делает команда «OUT»?

4.Какой максимальный адрес порта можно указать в команде «IN», если адрес порта задается непосредственно числом?

5.В каком случае в качестве источника данных используется регистр AX в команда ввода-вывода?

29

Лабораторная работа №5 Адаптер внешнего устройства

Цель работы: изучить принципы работы адаптера внешнего устройства.

Теоретическ ие сведения

Взаимодействие непосредственно только через порты при помощи команд ввода-вывода реализуется для простых внешних устройств. При этом быстродействие ВУ должна быть сопоставима с производительностью процессора. Иначе, это может привести к потере или дублированию данных. Поэтому для организации взаимодействия внешнего устройства и вычислительного ядра используются адаптеры (контроллеры), позволяющие синхронизировать процесс приема-передачи [1].

На рисунке 6 представлена общая схема организации обмена данными между МП и внешним устройством. Любой адаптер содержит по крайне мере порт (регистр) данных Pd. В режиме ввода ВУ записывает данные в порт Pd, где они хранятся до момента пересылки по системной шине в МП. В режиме вывода микропроцессор записывает данные в порт Pd, которые хранятся там до вывода во ВУ адаптером. Кроме того, большинство адаптеров содержат регистр состояния, отражающий параметры работоспособности внешнего устройства. Один из разрядов порта состояния Ps обычно используется как флаг готовности Ready. Данный флаг устанавливается внешним устройством при готовности осуществить обмен данными с вычислительным ядром. Перед началом цикла ввода-вывода МП процесс должен проверить флаг Ready. При значении флага равного «1» микропроцессор осуществляет обмен данными с внешним устройством, иначе - переходит в режим ожидания.

30

Рис. 6. Общая схема организации обмена данными МП с внешним устройством

Каждый порт адаптера имеет уникальный адрес. МП при записи выдает на системную шину (СШ) адрес порта A, затем данные D и выставляет сигнал записи IOWR на шину управления U.

Так как работа ВУ часто не привязана к тактовой частоте процессора, то возможна ситуация, когда МП записывает новую порцию данных в порт, а внешнее устройство еще не прочитало предыдущую. В результате данные будут потеряны. Чтобы это предотвратить применяют механизм квитирования, заключающийся в выработке специальных сигналов стробирования Stb и подтверждения Ask. Сигнал Stb формируется ведущим устройством при записи данных в порт Pd, чтобы сообщить ведомому, что появились данные. Ведомое устройство подтверждает получение данных сигналом Ask. Эти сигналы могут быть привязаны к определенным разрядам регистра состояния адаптера.

31

Зад ачи:

1.Написать программный код в эмуляторе Emu8086, отображающий в цикле данные с внешнего устройства (ВУ) «Simple» на виртуальный дисплей «Led display». ВУ подключено к адаптеру, который содержит два 8-разрядных порта: порт данных Pd и порт статуса Ps. Внешнее устройство записывает данные в Pd только при условии, что бит №0 порта статуса равен «0». Запись данных внешним устройством в порт Pd приводит к установке нулевого бита порта Ps в единицу. Дисплей отображает значение, которое содержится в порте 199 (2 байта). Выход из цикла осуществляется при подаче ВУ на порт Pd значения D.

Порядок выполнения работы :

1.Создайте новый проект в среде эмулятора Emu8086, используя шаблон «Bin template»;

2.Разработайте программный код на языке ассемблера, позволяющий отображать на виртуальном дисплее «Led_display» данные, полученные от ВУ. Прежде чем считать данные с порта Pd, необходимо проверить, есть ли в буфере адаптера данные. Наличие данных определяется по нулевому разряду порта Ps. Адреса портов Pd и Ps определяются из табл. 9 согласно варианту задания;

Таблица 9

Варианты заданий

№ ва-

1

2

3

4

5

6

7

8

9

10

рианта

 

 

 

 

 

 

 

 

 

 

Pd

145

146

147

148

149

100

101

102

103

104

 

 

 

 

 

 

 

 

 

 

 

Ps

150

151

152

153

154

155

160

120

121

122

 

 

 

 

 

 

 

 

 

 

 

№ ва-

11

12

13

14

15

16

17

18

19

20

рианта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pd

148

123

124

125

126

127

130

131

132

133

 

 

 

 

 

 

 

 

 

 

 

Ps

160

161

162

163

164

165

166

167

168

169

 

 

 

 

 

 

 

 

 

 

 

32

3.Запустите режим эмуляции работы процессора. Нажмите на кнопку «virtual devices» в окне эмулятора и выберите «Led_display» для отображения дисплея.

4.Запустите программу «Simple». В открывшемся окне нажмите кнопку «Настройки» и укажите соответствующие адреса портов Pd и Ps из табл. 9;

5.Протестировать разработанный код в различных режимах передачи данных ВУ. Программа предусматривает 2 режима передачи данных МП:

-передача одиночных данных. Для этого необходимо в текстовое поле ввести передаваемые данные и нажать на кнопку «Записать». Состояние флага наличия данных в буфере Ps0 отображается флажком «Порт пуст»;

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

6.Оформите отчет по работе. В отчете должно содер-

жаться:

-цель работы;

-задание;

-листинги разработанных программных кодов;

-выводы по работе.

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

1.Назначение адаптера внешнего устройства?

2.Каково назначение регистра состояния адаптера?

3.Какие основные порты включает в себя адаптера?

4.В чем заключается механизм квитирования?

5.Что сообщает сигнал ASK адпатера?

33

Источник: https://studfile.net/preview/16565265/