←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 ...
модели оснащены дисководами размером 3.5 дюйма.
AT-386: ПЭВМ третьих фирм, совместимая с AT, но имеющая ЦП 80386.
Если рассматриваемые устройства зависят от типа ПЭВМ, то используются следующие пометки:
PC/XT относится к ПЭВМ IBM PC и XT, включая
Portable PC
AT относится к ПЭВМ IBM PC AT
PS/2 относится к семейству PS/2
Отсутствие таких указаний означает, что данный материал применим ко всем ПЭВМ фирмы IBM.
Десятичные числа записываются обычным образом, шестнадцатиричные отличаются добавлением буквы "h" в конце. Например, 256 и 100h означают десятичное число 256.
Все размеры полей в управляющих структурах приведены в байтах, если не оговорено противное.
В некоторых случаях алгоритмы сопровождаются формулами. Операции в формулах обозначаются, как принято в языке Си, а именно:
арифметические: +, -, *, /, % (взятие остатка)
битовые: & (и), | (или), ~ (не)
сдвиги: << и >>.
1. Таблица портов ввода-вывода
Приведенная ниже таблица содержит распределение адресного пространства портов ввода-вывода для 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 Сопроцессор 80287 14
---------------------------------------------------------------- 101-107 Выбор программируемых опций PS/2 ---
170-177 Жесткий диск N 2 9
1F0-1F7 Жесткий диск N 1 9
200-207 200-20F Игровой адаптер 12
210-217 Блок расширений 14
238-23F Стык RS-232 N 4 (в PS/2) 11
278-27F 278-27F Параллельный принтер N2 (N 3 при MGA) 10
2C0-2DF 2C0-2DF Расширенный графический адаптер (EGA) N 2 7
2F8-2FF 2F8-2FF Стык RS-232 N 2 11
300-31F Плата прототипа ---
320-32F Жесткий диск XT 9
338-33F Стык RS-232 N 3 (в RS/2) 11
370-377 Контроллер НГМД N 2 8
378-37F 378-37F Параллельный принтер N 1 (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
----------------------------------------------------------------
Примечание: В таблицу не включены устройства, базовый адрес ввода-вывода которых может настраиваться (сетевые адаптеры, контроллеры стриммерных лент и т.д.).
2. Контроллер прямого доступа к памяти
Контроллер прямого доступа к памяти (ПДП, DMA - Direct Memory Access) обеспечивает высокоскоростной обмен данными между устройствами ввода-вывода и ОЗУ без использования центрального процессора, что позволяет освободить процессор для выполнения вычислений параллельно с обменом и независимо от него. Наиболее часто возможности ПДП используются при работе с дисковыми накопителями, однако реализовано использование ПДП адаптерами
накопителей на магнитной ленте и рядом других устройств. Ощутимые приемущества дает использование ПДП в процессе обмена с устройствами, принимающими или передающими данные достаточно большими порциями с высокой скоростью.
В IBM PC-подобных компьютерах функции контроллера ПДП выполняет микросхема 8237А фирмы INTEL (советский аналог КР580ВТ57) или ее аналоги 8237А-4 и 8237А-5, работающие с тактовой частотой 4 и 5 Мгц соответственно (стандартная микросхема 8237А работает на частоте 3 Мгц). Контроллер имеет 4 независимых канала, каждый из которых может обслуживать одно периферийное устройство.
2.1. Принципы работы контроллера ПДП
В работе ПДП различаются 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). После каждого цикла передачи
←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 ...
|
|