КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Шины и карты расширения

Порядок, в котором передаются байты (во времени), неоднозначен (возможен как инкремент, так и дек¬ремент адреса), но в адресном пространстве они раскладываются по своим местам однозначно.
В табл. 6.4 приводятся состояния сигналов шины ISA для различных вариантов записи в порты ввода-вывода, проверенные экспериментальным путем. Вывод
1 То есть адрес слова в L-H порядке, принятом для изделий Intel.

154
Глава 6. Шины и карты расширения
16-разрядных данных выполнялся командой OUT DX,AX (в DX — адрес порта, в АХ —
данные; AL содержит младший байт, АН — старший), вывод 8-разрядных — коман¬
дой OUT DX,AL. Несколько неожиданные (для автора) варианты 3 и 6 с декремен¬
том адреса, возможно, будут иметь место не на всех системных платах, но их сле¬
дует иметь в виду при проектировании устройств, претендующих на глобальную
совместимость. Правда на практике 16-битных передач по нечетным адресам
обычно избегают (даже чисто подсознательно), и побочные эффекты от такого
порядка маловероятны.
/
Таблица 6.4. Состояние сигналов при 8- и 16-битных обращениях к устройству ISA
Сигнал (шина)
1 цикл
2 цикл
1.
Вывод 16-разрядных данных в 16-битное устройство по четному адресу
SBHE#
L
SA
DX(AO=0)
D[15:8]
АН
D[7:0]
AL
-
IOCS16#
L
2.
Вывод 16-разрядных данных в 16-битное устройство по нечетному адресу ххх1,ххх5, xxx9,xxxD
SBHE#
L
H
SA
DX(AO=1)
DX+1 (A0=0)
D[15:8]
AL
0
D[7:0]
AL
AH
IOCS16#
L
L
3.
Вывод 16-разрядных данных в 16-битное устройство по нечетному адресу хххЗ,ххх7, xxxB.xxxF
SBHE#
H
L
SA
DX+1 (A0=0)
DX (A0= 1)
D[15:8]
0
AL
D[7:0]
AH
0
IOCS16*
L
L
4.
Вывод 16-разрядных данных в 8-битное устройство по четному адресу
SBHE#
L
L
SA[1:0]
DX(AO=0)
DX+1(AO=1)
D[15:8]
AH
AH
D[7:0]
AL
AH
IOCS16*
H
H
5.
Вывод 16-разрядных данных в 8-битное устройство по нечетному адресу ххх1,ххх5, xxx9,xxxD
SBHE#
L
H
SA[ 1:0]
DX (A0= 1)
DX+1 (A0=0)
D[15:8]
AL
0
D[7:0]
AL
AH
IOCS16#
H
H

6.1. Шины ISA, EISA и PC/104
155
Сигнал (шина)
1 цикл
2 цикл

6.
Вывод 16-разрядных данных в 8-битное устройство по нечетному адресу хххЗ,ххх7, xxxB,xxxF
SBHE#
H
L
SA[1:OJ
DX+1(AO=0)
DX(AO=1)
D[15:8]
0
AL
D[7:0]
AH
AL
IOCS16#
H
H
7.
Вывод 8-разрядных данных в 16-битное устройство по четному адресу
SBHE#
H
SA[1:0]
DX(AO=0)
D[15:8]
0
D[7:0]
AL
IOCS16*
L
8.
Вывод 8-разрядных данных в 16-битное устройство по нечетному адресу
SBHE#
L
SA[1:0]
DX(AO=1)
D[15:8]
AL
D[7:0]
0(AL?)
IOCS16*
L
Момент помещения действительных данных на линии SD[15:0] определяется управляющими сигналами чтения/записи, так что исполнителю не требуется син¬хронизация с тактовым сигналом шины.

Hosted by uCoz