Lectures / 16-17
.pdfОрганизация ЭВМ и систем
Лекции 16-17
Подсистема ввода-вывода
Выходной порт
Логическая схема ПК
Системная шина
A D M/IO A D M/IO A D M/IO A D M/IO A D M/IO A D M/IO
МП |
Контроллер |
Контроллер |
Контроллер |
Видео- |
Устройство |
|
памяти |
клавиатуры |
прерываний адаптер |
управления |
|||
|
||||||
|
|
|
Адреса |
Адреса |
|
|
|
|
|
20…21 |
3B0…3BB |
|
|
|
|
|
A0…A1 |
3C0…3DF |
Видео- |
|
|
|
|
|
|
память |
|
|
|
|
|
|
Адреса |
|
|
|
Клавиатура |
|
A0000…AFFFF |
||
|
ОП |
|
|
|
B8000…BFFFF |
|
|
|
|
|
|
||
|
Адреса |
Адреса |
|
|
|
|
|
00000 …9FFFF |
60 …61 |
|
|
|
Видеомонитор
Способы адресации УВВ
Отдельное адресное простанство ввода/вывода
Память
Порты вводавывода
Два адресных пространства
Общее пространство адресов памяти и
устройств ввода/вывода
Одно адресное пространство
Гибридные схемы
Два адресных пространства
Отдельное адресное пространство
ввода/вывода
216 (64 К) 8-битных портов ввода/вывода
Запись содержимого регистра al (ax, eax) в управляющий регистр УВВ через порт port :
out |
port, al |
; |
port = 0…255, константа |
out |
dx, al |
; |
если № порта >255 |
Чтение управляющего регистра УВВ из порта port в регистр al (ax, eax):
in |
al, port |
; |
port = 0…255, константа |
in |
al, dx |
; |
если № порта >255 |
Отдельное адресное пространство
ввода/вывода: Пример
Подготовить к печати на принтере символ ‘*’
378h - адрес порта данных LPT1
mov |
al, ‘*’ |
mov |
dx, 378h |
out |
dx, al |
Общее адресное пространство памяти и
ввода/вывода: Пример
mov ax, 0B800h mov es, ax
;Сегм. адрес видеопамяти
; Загрузить его в es
mov word ptr es:[0], 3130h ; Вывод ноля
……………………………………………………………
inc word ptr es:[0] |
; Вывод единицы |
Соединение процессора и памяти
ЦП |
Память |
УВВ |
Все адреса (памяти и УВВ) |
Шина |
выставляются на шину |
Архитектура с одной шиной
Обращения ЦП к памяти проходят по этой высокоскоростной шине
ЦП |
Память |
УВВ |
Этот порт памяти позволяет УВВ получать доступ к памяти
Архитектура с двумя шинами
Архитектура Pentium II
Способы организации ввода/вывода
•Программно-управляемый ввод/вывод (Ввод/вывод с опросом, polling I/O)
•Ввод/вывод по прерываниям
(interruptible I/O)
•Прямой доступ к памяти
(DMA, Direct Memory Access)