- •Міністерство освіти україни Донецький державний технічний універститет
- •Донецьк 1999
- •Содержание
- •Введение
- •Лабораторная работа Порядок обмена по системной магистрали isa
- •Общие сведения
- •Индивидуальные задания к лабораторной работе «Порядок обмена по системной магистрали isa »
- •Порядок выполнения работы
- •Литература
Лабораторная работа Порядок обмена по системной магистрали isa
Цель работы : Изучить сигналы и исследовать циклы магистрали ISA
Назначение : Системная магистраль ISA предназначена для подключения различных адаптеров периферийных устройств, расширяющих возможности компьютерной системы.
Общие сведения
Шина обеспечивает своим абонентам возможность отображения 8- или 16-битных регистров на пространство ввода/вывода и памяти. Диапазон адресов памяти ограничен областью UMA, но для шины ISA специальными опциями BIOS Setup может быть разрешено и пространство в области между 15-м и 16-м мегабайтом памяти.
Диапазон адресов ввода/вывода сверху ограничен количеством используемых для дешифрации битов адреса (10 бит), нижняя граница ограничена областью 0 – FFh, зарезервированными под устройства системной платы. Таким образом, диапазон адресов устройств шины ISA ограничивается областью 100h – 3FFh, т.е. всего 758 адресов 8 – битных регистров. На некоторые области этих адресов претендуют и системные устройства.
В распоряжении абонентов шины ISA–16 11 линий запросов прерываний IRQx. При конфигурировании BIOS Setup часть этих запросов отводится устройствам системной платы или шины PCI. Абоненты шины могут использовать до 6 -ти 16 – битных каналов DMA.
Все перечисленные ресурсы системной шины должны быть бесконфликтно распределены между абонентами. Бесконфликтность подразумевает следующее :
-
каждый абонент должен при операциях чтения управлять шиной данных (выдавать информацию) только по своим адресам или по обращению к используемому им каналу DMA. Области адресов для чтения не должны пересекаться;
-
назначенную линию запроса прерывания IRQx или прямого доступа DRQx абонент должен держать на низком уровне в пассивном состоянии и переводить в высокий уровень для активизации запроса. Абонент не имеет права управлять неиспользуемыми линиями запроса, они должны быть электрически откоммутированы или подключаться к буферу, находящемуся в третьем состоянии. Одной линией запроса может пользоваться только одно устройство.
Магистраль ISA относится к демультиплексированным. Шина поддерживает регенерацию динамической памяти, радиальные прерывания и прямой доступ к памяти. Допускается также захват магистрали. В магистрали ISA используется положительная логика на шинах адреса и данных, т.е. единице соответствует высокий уровень напряжения, а нулю – низкий. На магистрали присутствуют четыре уровня напряжения питания : +5В, -5В, +12В, -12В, которые могут использоваться платами расширения.
Назначение контактов шины ISA
Конструктивно, с точки зрения доступа пользователя, шина выполнена в виде двух щелевых разъёмов (слотов) с шагом выводов 2.54 мм (0.1 дюйма). Количество слотов зависит от типа системной платы и колеблется от 2 до 8. В слоты расширения могут вставляться платы пользователя. На рис. 1 приведена нумерация контактов разъёма ISA как со стороны установки элементов, так и со стороны монтажа. Назначение контактов приведено в таблице 1.
Таблица 1 Назначение контактов разъёма ISA
-
Контакт
Цепь
I/O
Контакт
Цепь
I/O
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
C13
C14
C15
C16
C17
C18
-I/O CHCK
SD7
SD6
SD5
SD4
SD3
SD2
SD1
SD0
I/O CHRDY
AEN
SA19
SA18
SA17
SA16
SA15
SA14
SA13
SA12
SA11
SA10
SA9
SA8
SA7
SA6
SA5
SA4
SA3
SA2
SA1
SA0
-SBHE
LA23
LA22
LA21
LA20
LA19
LA18
LA17
-MEMR
-MEM
SD8
SD9
SD10
SD11
SD12
SD13
SD14
SD15
I
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D17
D18
GND
RESET DRV
+5B
IRQ9(IRQ2)
-5B
DRQ2
-12B
0WS
+12B
GND
-SMEMW
-SMEMR
-IOW
-IOR
-DACK3
DRQ3
-DACK1
DRQ1
-REFRESH
SYSCLK
IRQ7
IRQ6
IRQ5
IRQ4
IRQ3
-DACK2
T/C
BALE
+5B
OSC
GND
-MEMCS16
-I/OCS16
IRQ10
IRQ11
IRQ12
IRQ15
IRQ14
-DACK0
DRQ0
-DACK5
DRQ5
-DACK6
DRQ6
-DACK7
DRQ7
+5B
-MASTER
GND
—
O
—
I
—
I
—
I
—
—
O
O
I/O
I/O
O
I
O
I
I/O
O
I
I
I
I
I
O
O
O
—
O
—
I
I
I
I
I
I
I
O
I
O
I
O
I
O
I
—
I
—


























































С18 … С1 А31 … А1 В1 …….. В31 D1 … D18
Рисунок 1 Нумерация контактов разъёма ISA
Сигналы магистрали ISA
Функционально сигналы магистрали ISA делят на три группы:
- сигналы шины адреса;
- сигналы шины данных;
- сигналы шины управления.
Перечень сигналов, их назначение и другие параметры представлены в таблице 2.
Таблица 2
Сигналы магистрали ISA
|
№ |
Обозначение сигнала |
Назначение |
Тип выходного каскада |
|
1
2 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 23
24
25
26
|
Сигналы SA0 …SA19
SA0 … SA15
SA0 …SA7
LA17 … LA23
BALE
SBHE
Сигналы SD0 … SD15
SMEMR, MEMR
SMEMW, MEMW
IOR
IOW
MEMCS16
I/O CS16
Сигналы I/O CHRDY
I/O CHCK
0WS
REFRESH
RESET DRV
SYSCLK
OSC
IRQ
DRQ DACK
AEN
Т/C
MASTER
|
шины адреса Фиксируемые адресные разряды для адресации памяти То же, для адресации устройств ввода-вывода То же, используются в режиме регенерации DRAM Нефиксируемые адресные раз- ряды, используются для адреса- ции памяти и выработки сигнала MEM CS16 Bus Address Latch Enable – раз- решение защёлкивания адреса. Сигнал стробирования адресных разрядов System Bus High Enable – разре- шение старшего байта. опреде- ляет цикл типа передачи (8- или 16-разрядный) совместно с сигна- лом SAO (см. таблицы 3 и 4). шины данных Разряды данных. Младший байт (L) по линиям D0 … D7, старший (H) по линиям D8 … D15
Строб-сигналы цикла чтения из памяти при адресации 00000h – FFFFFh (1 Мбайт) ко всему адресному пространст- ву (до 16 Мбайт) Cтроб-сигналы цикла записи па- мяти, соответственно -при адресации до 1Мбайта -при адресации ко всему адрес- ному пространству I/O Read – строб чтения данных из устройства ввода-вывода I/O Write – строб записи данных в устройство ввода-вывода Memory Cycle Select – выбор цикла для памяти. Память сообщает задатчику, что она имеет 16-разрядную организацию I/O Cycle Select – выбор цикла для устройства ввода-вывода. Устройство ввода-вывода сообщает задатчику о том, что имеет 16-разрядную организацию шины управления I/O Channel Ready – готовность канала ввода-вывода. При выработке этого сигнала цикл обмена продлевается на целое число периодов сигнала SYSCLR, реализуя асинхронный обмен I/O Channel Check – проверка канала ввода-вывода. Вырабатывается исполнителем при появлении ошибки. Сигнал вызывает немаскируемое прерываание IVMI. Null Wait States – ноль тактов ожидания. Исполнитель информирует задатчик, если длительность стандартного цикла обмена велика для него Выставляется контроллером регенерации для информирова- ния всех устройств о выполне- нии циклов регенерации Сброс в начальное состояние всех устройств на магистрали. Длительность не менее 1 мс. Сигнал системного тактового генератора f=1МГц Несинхронизированный с SYSCLK сигнал кварцевого ге- нератора. Может использо- ваться платами расширения в качестве тактового сигнала Interrupt Request – запрос пре- рывания (см. таблицу 5) DMA Request – запрос ПДП. DMA Acknowledge – подтвер- ждение ПДП. Сигнал подтвер- ждения предоставления прямо- го доступа. Address Enable – разрешение адреса. Используется в режиме ПДП для сообщения всем устройствам, что проводится цикл ПДП. Terminal Count – окончание счёта. Сигнал устанавливается в режиме ПДП, когда по текуще- му каналу ПДП закончен счёт циклов пересылок данных. Вырабатывается платой расширения, которая желает стать задатчиком магистрали
|
Три состояния
— II —
— II —
— II —
ТТЛ
Три состояния
открытый коллектор
— II —
ТТЛ
открытый коллектор
|
Типы выполняемых операций в зависимости от сигналов – SBME и SA0 при программном обмене приведены в таблице 3, где L – младший байт, Н – старший, УВВ – устройство ввода-вывода.
Таблица 3 Типы выполняемых операций при программном обмене
-
Задатчик (процессор)
Исполнитель
(УВВ)
Выполняемый цикл
Размер
данных
SBHE
SA0
Размер
данных
CS16
Размер
данных
Операция
чтение запись
8
8
8
8
16
16
1
0
1
0
0
0
0
1
0
1
0
0
8
8
16
16
8
16
1
1
0
0
1
0
8
8
8
8
8
16
L L
LH
LL
HH
LL
LL
HH
L L
HL
LL
HH
LL
LL
HH
L – мл. байт, Н – старший байт, УВВ – устройство ввода -вывода
Тип выполняемых операций в зависимости от сигналов SBME и SA0 при ПДП приведены в таблице 4.
Таблица 4
-
УВВ
Контроллер
ПДП
Память
Выполняемый
цикл
Размер
данных
SBHE
SA0
Размер
данных
CS16
Размер
данных
Операция
чтение запись
8
8
8
8
16
16
1
1
х
х
0
0
0
0
1
1
0
0
8
16
8
16
8
16
1
0
1
0
1
0
8
8
8
8
8
16
LL
LL
LL
HL
запреще
LL
HH
LL
LL
LL
LH
но
LL
HH
Циклы и временные диаграммы обмена магистрали ISA
В режиме программного обмена информацией по магистрали ISA выполняются четыре типа циклов:
-
цикл записи в память
-
цикл чтения из памяти
-
цикл записи в устройство ввода-вывода
-
цикл чтения из устройства ввода-вывода
На рис. 2 приведены временные диаграммы циклов программного обмена с устройствами ввода-вывода. Все временные интервалы – в наносекундах, для частоты шины ISA f = 8МГц.









T
S





YSCLK

>50 >61










BALE

>
29


SA0..SA15




SBHE
<90
>11


I/O CS16

для
16-разр.





>91
>176
>114










IOR
<110 >62 <32 чтение









S



D0..SD15
>22




S




D0..SD15
>T
I
OW
запись


<44
T
…15600
I


/O
CHRDY

для удлиненного
цикла
Рисунок 2. Временные диаграммы обмена с устройствами ввода-вывода
Циклы начинаются с выставления задатчиком адреса на линиях SA0 … SA15 и сигнала SBHE. В ответ на получение адреса исполнитель, распознавший свой адрес, должен сформировать сигнал –I/O CS16 в случае, если обмен должен быть 16-разрядным. Далее следует собственно команда чтения или записи. При цикле чтения задатчик выставляет сигнал –IOR, в ответ на который исполнитель (УС) должен выдать данные на шину данных. Эти данные должны быть сняты исполнителем после окончания сигнала –IOR.
В цикле записи задатчик выставляет записываемые данные и сопровождает их стробом –IOW.
В случае, когда УС не успевает выполнить требуемую от него команду в темпе магистрали, оно может приостановить на целое число периодов сигнала SYSCLK завершение цикла чтения или записи с помощью снятия (перевода в низкий уровень) сигнала I/O CHRDY (так называемый удлинённый цикл). Это происходит в ответ на получение сигнала –IOR или –IOW.
На рис.3 приведены временные диаграммы циклов обмена с памятью (указаны временные интервалы, отличающиеся от аналогичных на рис.2). Для асинхронного режима обмена (удлинённого цикла) здесь также используется сигнал I/O CHRDY. Отметим, что УС, работающее как память, должно отрабатывать все адресные разряды, включая LA17 … LA23.



T
S






YSCLK






L


A17..LA23





>50
>50
>15
BALE






<66
S


A0..SA19

>0
M


EMCS16
>28
>239
M













EMR


>109
<187
чтение







S

D0..SD15

>40


S

D0..SD15
запись
MEMW
I

/O
CHRDY

для
удлинённого цикла
Рисунок 3 Временные диаграммы циклов программного обмена с памятью
Помимо циклов программного обмена на магистрали ISA могут выполняться также циклы прямого доступа к памяти (ПДП). Временная диаграмма для этого случая представлена на рис.4.
Так как магистраль ISA имеет раздельные стробы для чтения и записи для устройств ввода-вывода и для памяти, пересылка данных в режиме ПДП производится за один машинный цикл. То есть если данные надо переслать из устройства ввода-вывода в память, то одновременно производится чтение данных из устройства ввода-вывода (по сигналу –IOR) и их запись в память (по сигналу –MEMW). Аналогично производится пересылка данных из памяти в устройство ввода-вывода (по сигналам –MEMR и IOW).


D
RQ
D

ACK



t
A

EN

>91
>39
S









A0..SA19
L

A0..LA23
SBHE


>134
>689(439)
I


OR(MEMR)







>235(30)
<241
>389(639)
>39
M


EMW(IOW)
>39

S






D0..SD15
<90
I


/O
CHRDY
>T
Рисунок 4 Временные диаграммы циклов ПДП (t – время предоставления ПДП, Т – период сигнала SYSCLK)
Цикл ПДП начинается с запроса ПДП от исполнителя, желающего произвести обмен с помощью одного из сигналов DRQ. После освобождения магистрали текущим задатчиком, например процессором, контроллер ПДП формирует соответствующий сигнал –DACK, говорящий о предоставлении ПДП запросившему его устройству. Затем контроллер ПДП вырабатывает адрес ячейки памяти, с которой будет производиться обмен в текущем цикле, и сигнал AEN, который говорит устройству ввода-вывода о том, что к нему идёт обращение в режиме ПДП. После этого выставляется строб чтения (-IOR или –MEMR), в ответ на который источник передаваемых данных выставляет свою информацию на шину данных, и строб записи (MEMW или IOW), по которому данные записываются в приёмник данных. Здесь так же как и в обычном цикле возможен асинхронный обмен (удлинённый цикл) с использованием сигнала I/O CHRDY.
Одной из особенностей магистрали ISA является необходимость проведения регенерации динамической памяти компьютера с помощью специальных циклов регенерации на магистрали. Временная диаграмма цикла регенерации показана на рис. 5. Эти циклы выполняет входящий в состав материнской платы компьютера контроллер регенерации, который должен для этого получать управление магистралью каждые 15 микросекунд. Во время цикла регенерации производится чтение одной из 256 ячеек памяти (для адресации используются только 8 младших разрядов адреса SA0…SA7). При этом читаемая информация нигде не используется, т.е. это цикл псевдочтения. Проведение 256 циклов регенерации, т.е. псевдочтение из 256 последовательных адресов ОЗУ, обеспечивает полное освежение информации в ОЗУ и её непрерывное сохранение.

>239
125…211
R









EFRESH





>14
>21


S



A0…SA7
A
>239
M


EMR,
S
MEMR
<59
125…261
I


/O
CHRDY

>T
Рисунок 5 Временные диаграммы циклов регенерации
Если по каким-то причинам цикл регенерации не производится вовремя, то возможна утеря информации в ОЗУ. Цикл регенерации включает в себя выставление сигналов –REFRESH, адреса SA0…SA7 и –MEMR. В случае необходимости может использоваться сигнал I/O CHRDY.
