 |
PC, XT, AT, PCjr, PC Convertible и PS/2 - это имена
компьютеров семейства IBM PC. Все они более или менее совместимы
между собой на уровне прикладных пакетов, но имеют определенные
аппаратные различия:
PC: центральный процессор 8088, тактовая частота 4.77 МГц,
5 позиций для адаптерных плат.
PCjr: ЦП 8088, нет места для плат. Выпущена мизерным
тиражом и не совместима с остальными IBM PC. В нашей серии не
описывается.
XT: ЦП 8088, жесткий диск, 8 позиций для адаптерных плат. В
остальном аналогична PC.
Turbo PC: ПЭВМ других фирм (не IBM), совместимые с PC и XT,
но имеюший ЦП 8086 или V30 фирмы NEC, тактовая частота которых 6
или 8 МГц. Обычно имеет 8 позиций для плат.
XT-286: ЦП 80286, 8 позиций для плат, частота 6 Мгц без
холостых циклов (скорость как у AT с 8 МГц). Платы от AT к ней
не подходят, от PC подходят, но не позволяют использовать
преимущества 16-разрядной системной шины.
AT: ЦП 80286, 8 позиций для плат, тактовая частота 6 или 8
МГц.
PC Convertible: Портативный вариант AT. Отличия: плазменный
(LCD) дисплей, 3.5-дюймовые дисководы, нет позиций для плат
расширения.
PS/2: Новое семейство ПЭВМ фирмы IBM. Модели 25 и 30 - это
улучшенные версии старых PC, совместимые с ними по адаптерным
платам. Модели 50 и 60 - ЦП 80286, 32-разрядная шина
MicroChannel, совместимости со старыми платами нет. Модель 80
имеет ЦП 80386. Все модели оснащены дисководами размером 3.5
дюйма.
AT-386: ПЭВМ третьих фирм, совместимая с AT, но имеющая ЦП
80386.
Если рассматриваемые устройства зависят от типа ПЭВМ, то
используются следующие пометки:
PC/XT относится к ПЭВМ IBM PC и XT, включая
Portable PC
AT относится к ПЭВМ IBM PC AT
PS/2 относится к семейству PS/2
Отсутствие таких указаний означает, что данный материал
применим ко всем ПЭВМ фирмы IBM.
Десятичные числа записываются обычным образом,
- 5 -
шестнадцатиричные отличаются добавлением буквы "h" в конце.
Например, 256 и 100h означают десятичное число 256.
Все размеры полей в управляющих структурах приведены в
байтах, если не оговорено противное.
В некоторых случаях алгоритмы сопровождаются формулами.
Операции в формулах обозначаются, как принято в языке Си, а
именно:
арифметические: +, -, *, /, % (взятие остатка)
битовые: & (и), | (или), ~ (не)
сдвиги: << и >>.
- 6 -
E1.Таблица портов ввода-выводаF
Приведенная ниже таблица содержит распределение адресного
пространства портов ввода-вывода для IBM PC/XT, AT и PS/2. При
этом:
- порты 0 - FFh отведены для системной платы;
- порты 100h - 3FFh отведены для контроллеров устройств;
- порты, начиная с 400h, недоступны для системной шины.
AT/PS-2 PC/XT Описание См. раздел
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
000-01F 000-00F Контроллер ПДП N 1, 8237А-5 2
020-03F 020-021 Контроллер прерываний N 1, 8259A 3
040-05F 040-043 Таймер (PC/XT:8253-5, AT:8254-2) 4
060-063 Программируемый интерфейс периферии 8255 5
060-06F Контроллер клавиатуры AT 8042 6
070-07F Память CMOS и маска NMI 13
080 Диагностический регистр 14
080-08F 080-083 Регистры страниц ПДП 74LS612 2
090-097 Блок управления каналами PS/2 ДДД
0A0 Маска NMI 14
0A0-0BF Контроллер прерываний N 2, 8259A 3
0C0-0DF Контроллер ПДП N 2, 8237A-5 2
0F0-0FF (N2 при MGA) 10
380-38F 380-38F Синхронные адаптеры: SDLC или BSC N 2 ДДД
3A0-3AF 3A0-3A9 Синхронный адаптер BSC N 1 ДДД
3B0-3BF 3B0-3BF Монохромный адаптер (MGA) + принтер N 1 7,10
3C0-3CF 3C0-3CF Расширенный графический адаптер (EGA) N 1 7
3D0-3DF 3D0-3DF Цветной графический адаптер (CGA) и EGA 7
3F0-3F7 3F0-3F7 Контроллер НГМД N 1 8
3F8-3FF 3F8-3FF Стык RS-232 N 1 11
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Примечание: В таблицу не включены устройства, базовый адрес
ввода-вывода которых может настраиваться (сетевые адаптеры,
контроллеры стриммерных лент и т.д.).
- 7 -
E2. Контроллер прямого доступа к памятиF
Контроллер прямого доступа к памяти (ПДП, DMA - Direct
Memory Access) обеспечивает высокоскоростной обмен данными между
устройствами ввода-вывода и ОЗУ без использования центрального
процессора, что позволяет освободить процессор для выполнения
вычислений параллельно с обменом и независимо от него. Наиболее
часто возможности ПДП используются при работе с дисковыми
накопителями, однако реализовано использование ПДП адаптерами
накопителей на магнитной ленте и рядом других устройств.
Ощутимые приемущества дает использование ПДП в процессе обмена с
устройствами, принимающими или передающими данные достаточно
большими порциями с высокой скоростью.
В IBM PC-подобных компьютерах функции контроллера ПДП
выполняет микросхема 8237А фирмы INTEL (советский аналог
КР580ВТ57) или ее аналоги 8237А-4 и 8237А-5, работающие с
тактовой частотой 4 и 5 Мгц соответственно (стандартная
микросхема 8237А работает на частоте 3 Мгц). Контроллер имеет 4
независимых канала, каждый из которых может обслуживать одно
периферийное устройство.
- 8 -
E2.1. Принципы работы контроллера ПДПF
В работе ПДП различаются 2 главных цикла: цикл ожидания
(Idle cycle) и активный цикл (Active cycle). Каждый цикл
подразделяется на ряд состояний, занимающих по времени один
период часов (тик). Из цикла ожидания контроллер может быть
переведен в состояние программирования (Program Condition) путем
подачи на вход RESET сигнала высокого уровня, длительностью не
менее 300 нc и следующей за ним подачи сигнала низкого уровня
(уровня 0) на вывод CS (Chip Select). В состоянии програм-
мирования контроллер будет находится до тех пор, пока на выводе
CS сохранится сигнал низкого уровня. В процессе программирования
контроллеру задаются:
- начальный адрес памяти для обмена;
- уменьшенное на единицу число передаваемых байтов;
- направление обмена,
а также устанавливаются требуемые режимы работы (разрешить или
запретить циклическое изменение приоритетов, автоинициализацию,
задать направление изменения адреса при обмене и т. д.).
Загрузка 16-разрядных регистров контроллера осуществляется
через 8-разрядные порты ввода-вывода. Перед загрузкой первого
(младшего) байта должен быть сброшен (очищен) триггер-защелка
(триггер первый/последний, First/Last flip-flop), который
изменяет свое состояние после вывода в порт первого байта и
таким образом дает возможность следующей командой вывода в тот
же порт загрузить старший байт соответствующего регистра.
Запрограммированный канал должен быть демаскирован (бит
маски канала устанавливается при этом в 0), после чего он может
принимать сигналы "Запрос на ПДП", генерируемые тем внешним
устройством, которое обслуживается через этот канал. Сигнал
"Запрос на ПДП" может быть также инициирован установкой в 1 бита
запроса данного канала в регистре запросов контроллера. После
появления сигнала запроса контроллер входит в активный цикл, в
котором выполняется обмен данными. Обмен может осуществляется в
одном из четырех режимов:
1. Режим одиночной передачи (Signle Transfer Mode). После
каждого цикла передачи контроллер освобождает шину процессору,
но сразу же начинает проверку сигналов запроса и, как только
обнаруживает активный сигнал запроса, инициирует следующий цикл
передачи.
2. Режим блочной передачи (Block Transfer Mode). В этом
режиме наличие сигнала запроса требуется только до момента
выдачи контроллером сигнала "Подтверждение запроса на ПДП"
(DACK), после чего шина не освобождается вплоть до завершения
передачи всего блока.
|