Проектирование устройств сопряжения (1083567), страница 3
Текст из файла (страница 3)
(I — входной сигнал, О — выходной сигнал, I/O — двунаправленный сигнал).
Отметим, что в магистрали ISA используется положительная логика на шинах адреса и данных, то есть единице соответствует высокий уровень напряжения, а нулю — низкий). На магистрали присутствуют четыре напряжения питания. +5 В, -5 В, +12 В и -12 В, которые могут использоваться платами расширения.
1.2.2. Сигналы магистрали ISA
Рассмотрим теперь назначение сигналов магистрали ISA и их особенности.
SA0...SA19 — фиксируемые адресные разряды (они действительны в течение всего цикла обмена). Используются для передачи 20 младших разрядов адреса памяти и для адресов устройств ввода/вывода. При обращении к устройствам ввода/ вывода действительны только сигналы SA0...SA15 (но практически все платы расширения работают только с SA0...SA9). Распределение адресов устройств ввода/вывода представлено в таблице 1.3, а распределение адресов памяти — в таблице 1.4. Легко заметить, что значительная часть этих адресов занята стандартными устройствами компьютера. При регенерации памяти действительны только сигналы SA0...SA7, состояния старших разрядов не определены. Логика всех сигналов SA0...SA19 — положительная. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния.
LA17...LA23 — нефиксируемые адресные разряды. Используются для адресации памяти и выработки сигнала -MEM CS 16. Действительны только в начале цикла обмена. Исполнитель должен фиксировать их по отрицательному фронту сигнала BALE. При обращении к устройствам ввода/вывода эти сигналы имеют уровень логического нуля. Логика положительная. Тип выходного каскада — три состояния. Для фиксации необходимо использовать регистр типа "защелка" (с записью по уровню), стробируемый сигналом BALE (например, КР1533ИРЗЗ, К555ИР22). При прямом доступе к памяти эти сигналы действительны в течение всего цикла обмена, как и SA0...SA19. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния.
BALE (Bus Address Latch Enable — разрешение защелкивания адреса) — сигнал стробирования адресных разрядов. Его отрицательный фронт соответствует действительности адреса на линиях SA0...SA19 и LA17...LA23. Может использоваться устройствами ввода/вывода для заблаговременной подготовки к предстоящему обмену информацией (применяется редко). Тип выходного каскада — ТТЛ.
-SBHE (System Bus High Enable — разрешение старшего байта) — определяет тип цикла передачи данных (8- или 16-разрядный). Вырабатывается параллельно с сигналами SA0...SA19 и может рассматриваться как дополнительный разряд адреса. Становится активным при передаче старшего байта или 16-разрядного слова (определяется сигналом SA0), пассивен при передаче младшего байта. В режиме MASTER источником этого сигнала является устройство, которое захватило магистраль. Тип выходного каскада — три состояния. В таблице 1.5 приведены типы выполняемых операций при различных значениях сигналов -SBHE и SA0 в случае программного обмена, а в таблице 1.6 — в случае прямого доступа к памяти.
Адреса | Назначение |
000...01F | Контроллер ЦДЛ 1 |
020...03F | Контроллер прерывании 1 |
040...05F | Программируемый таймер |
060... 06F | Контроллер клавиатуры |
070...07F | Часы реального времени |
080...09F | Регистр страницы ПДП |
0A0...0BF | Контроллер прерываний 2 |
0C0...0DF | Контроллер ПДП 2 |
0F0...0FF | Математический сопроцессор |
170... 177 | Накопитель на жестком диске (второй) |
1F0...1F7 | Накопитель на жестком диске (первый) |
200...207 | Игровой порт (джойстик) |
278...27F | Параллельный порт LPT2 |
2C0...2DF | Адаптер EGA 2 |
2F8...2FF | Последовательный порт COM2 |
300...31F | Прототипные платы |
320...32F | Накопитель на жестком диске XT |
360...36F | Резервные адреса |
370...377 | Накопитель на гибком диске (второй) |
378...37F | Параллельный порт LPT1 |
380...38F | Контроллер бисинхронного обмена SDLC2 |
3A0...3AF | Контроллер бисинхронного обмена SDLC1 |
3B0...3DF | Адаптер VGA |
3B0...3BF | Адаптер монохромного дисплея MDA и принтера |
3C0...3CF | Адаптер EGA 1 |
3D0...3DF | Адаптер CGA |
3F0...3F7 | Накопитель на гибком диске (первый) |
3F8...3FF | Последовательный порт СОМ1 |
Табл. 1.3. Распределение адресов устройств ввода/вывода ISA
(адреса даны в 16-ричном коде).
Адреса памяти | Назначение |
000000...0003FF | Таблица векторов прерываний |
000000...09FFFF | Память DOS и пользовательских программ |
0A0000...0AFFFF | Память дисплея EGA или VGA |
0B0000...0B7FFF | Память монохромного дисплея MDA |
0B8000...0BFFFF | Память дисплея CGA |
0C0000...0C3FFF | ПЗУ BIOS для EGA/VGA |
0C8000...0DFFFF | ПЗУ устройств ввода/вывода |
0E0000...0EFFFF | Резерв ПЗУ BIOS на материнской плате |
0F0000...0FFFFF | ПЗУ BIOS на материнской плате |
Табл. 1.4. Распределение адресов памяти.
Задатчик (процессор) | Исполнитель (УВВ) | Выполняемый цикл | |||||
Размер данных | -SBH | SAO | Размер данных | -CS16 | Размер данных | Операция: чтение запись | |
8 | 1 | 0 | 8 | 1 | 8 | L->L | L->L |
8 | 0 | 1 | 8 | 1 | 8 | L->H | H->L |
8 | 1 | 0 | 16 | 0 | 8 | L->L | L->L |
8 | 0 | 1 | 16 | 0 | 8 | Н->Н | H->H |
16 | 0 | 0 | 8 | 1 | 8 | L->L | L->L |
16 | 0 | 0 | 16 | 0 | 16 | L->L H->H | L->L H->H |
Табл. 1.5. Тип выполняемых операций в зависимости от сигналов -SBHE и SAO при программном обмене (L — младший байт, Н — старший байт, УВВ — устройство ввода/вывода).
SD0...SD15 — разряды данных. По линиям SD0...SD7 передается младший байт, по линиям SD8...SD15 — старший байт. Обмен данными с 8-разрядными платами расширения осуществляется по линиям SD0...SD7. Устройство может активизировать шину данных, если к нему идет обращение с циклом чтения или если оно захватило магистраль (в режиме MASTER). Логика сигналов положительная. Тип выходных каскадов — три состояния.
-SMEMR, -MEMR (Memory Read — чтение памяти) — стробы чтения данных из памяти. Память должна выставлять данные при активизации этих сигналов. Сигнал -SMEMR вырабатывается только при обращении к адресам, не превышающим FFFFF (в пределах 1 Мбайта), сигнал -MEMR — при обращении ко всем адресам. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния.
УВВ | Контроллер ПДП | Память | Выполняемый цикл | ||||
Размер данных | -SBHE | SA0 | Размер данных | -CS16 | Размер данных | Операция: чтение запись | |
8 | 1 | 0 | 8 | 1 | 8 | L->L | L->L |
8 | 1 | 0 | 16 | 0 | 8 | L->L | L->L |
8 | X | 1 | 8 | 1 | 8 | L->L | L->L |
8 | X | 1 | 16 | 0 | 8 | H->L | L->H |
16 | 0 | 0 | 8 | 1 | 8 | Запрещено | |
16 | 0 | 0 | 16 | 0 | 16 | L->L H->H | L->L H->H |
Табл. 1.6. Тип выполняемых операций в зависимости от сигналов -SBHE и SA0 при ПДП (L — младший байт, Н — старший байт, УВВ — устройство ввода/вывода).
-SMEMW, -MEMW (Memory Write — запись памяти) — стробы записи данных в память. Память должна принимать данные по положительному (заднему) фронту этих сигналов. Сигнал -SMEMW вырабатывается только при обращении к адресам, не превышающим FFFFF (в пределах 1 Мбайта), сигнал -MEMW — при обращении ко всем адресам. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния.
-IOR (I/O Read) — строб чтения данных из устройств ввода/ вывода. Устройство ввода/вывода должно выставлять свои данные при активизации сигнала -IOR и снимать их при снятии -IOR. В режиме MASTER этот сигнал вырабатывает устройство, захватившее магистраль. Тип выходного каскада — три состояния.