- •Вопрос: Охарактеризуйте развитие системы внутренних интерфейсов пк.
- •Вопрос: Охарактеризуйте этапы изменения архитектуры свв материнских плат, начиная с пк на базе I 80486 и до Pentium IV.
- •Вопрос: Охарактеризуйте правила программирования подсистемы dma пк
- •3) Обладают более высоким приоритетом по сравнению с каналами контроллера 2 (каналы 5, 6, 7). Передачи dma
- •10.2.7.8. Регистр состояний (stat - 008, 0d0)
- •10.2.8. Программирование контроллера
- •Irq2 ведущего). На входы irq0, irq1, irq3-irq7 ведущей микросхемы и на входы irq8-irq15 ведомой
- •I8259a с целью сохранения совместимости со старым программным обеспечением. Большая часть
- •Вопрос: Охарактеризуйте правила программирования подсистемы cmos/rtc.
- •80H. Когда клавиатура работает в режимах 2 и 3, код отпускания представляет собой двухбайтовый код - код
- •60H. Ответные коды клавиатуры на команды помещаются микроконтроллером адаптера в выходной буфер и
- •1, См. Выше).
- •Раздел 1.4.3). Следует отметить, что функции прерывания int 17h реализуют только протокол интерфейса
- •32 Бит и для них до 4 байт может быть передано за один цикл обращения процессора. Таким образом
- •1.9.3.3. Программирование ерр-порта на уровне epp bios.
- •Irq11, для com2 и com4 — irq3 или irq10. В принципе номер прерывания можно назначать в
- •Video bios хранится в специальном пзу (rom), размещенном на плате видеоадаптера vga. Его
- •2.1.2.1. Видеосервис bios
- •2.1.2.1.1. Аппаратные прерывания
10.2.7.8. Регистр состояний (stat - 008, 0d0)
Содержимое регистра состояния может быть прочитано микропроцессором. Регистр содержит
информацию о состоянии каналов в данный момент времени. Эта информация показывает, какие каналы
достигли заполнения счетчика (т.е. сгенерировали TC) и какие каналы имеют неудовлетворенные запросы
(рис. 12). Разряды 0-3 регистра устанавливаются каждый раз, как появляется TC для соответствующего
канала или внешний -EOP. Эти разряды сбрасываются по RESET и при каждом чтении регистра состояния. 10.2.7.9. Временный регистр (TR - 00D, 0DA)
Регистр используется для хранения данных в течение передачи ПАМЯТЬ-ПАМЯТЬ. После окончания
передач последнее слово может быть считано микропроцессором.
Регистр всегда содержит последний байт, переданный в предыдущей операции ПАМЯТЬ-ПАМЯТЬ,
если не сброшен по RESET.
10.2.8. Программирование контроллера
Контроллер DMA может программироваться процессором, когда HLDA не активен; это утверждение
истинно, даже если активен HRQ. Ответственность процессора заключается в гарантии, что
программирование контроллера и активный HLDA взаимоисключающие.
Если -CS и HLDA в низком состоянии, контроллер DMA входит в режим программирования. Выбор
регистров при программировании осуществляется с помощью адресной шины A0-A3, работающей на вход, а
выбор режима записи или считывания - с помощью сигналов -IOW или -IOR. При записи/считывании 16-
разрядных регистров адреса или счетчика соответствующего канала необходим дополнительный разряд
адреса, в качестве которого используется внутренний триггер FF. По FF=0 происходит обращение к
младшему байту, а по FF=1 - к старшему байту регистра адреса или счетчика.
Кроме того, для контроллера существуют дополнительные специальные команды, которые могут быть
выполнены в режиме программирования и не зависят от набора разрядов на шине данных. К ним относятся
следующие команды:
1) сброс триггера FF (Clear First/Last Flip-Flop; 00C, 0D8).
Эта команда выполняется перед записью или чтением информации из регистров адреса или счетчика
слов контроллера DMA. Триггер FF устанавливается таким образом, чтобы микропроцессор адресовал
старший и младший байты в нужной последовательности;
2) очистка (Master Clear; 00D, 0DA).
По этой программной команде в контроллере DMA выполняются такие же действия, как и по
аппаратному RESET: Очищаются регистры команд, состояния, запросов и триггер FF, а регистр маски
устанавливается. После этого контроллер DMA переходит в холостой цикл;
3) сброс регистра маски (Clear Mask Register; 00E, 0DC).
По этой команде очищаются разряды масок для всех 4 каналов, что разрешает им принимать запросы
DMA.
После включения питания предполагается, что все внутренние ячейки, особенно регистр MOD, будут
загружены некоторым действительным значением. Это необходимо сделать, даже если некоторые каналы не
используются. Пример программирования подсистемы DMA
PC AT использует канал 2 контроллера DMA для обмена с гибким диском. Чтобы получить доступ к
верному адресу памяти, необходимо загрузить соответствующий регистр страниц. В данном случае для
канала 2 это адрес порта 81h.
В приводимом примере ограничимся рассмотрением установки канала 2 для чтения одного сектора
(512 байт) гибкого диска, начиная со смещения внутри страницы, содержащегося в BX. Программа имеет
следующий вид:
mov al,46h ;Канал 2, передача одного байта, чтение с диска
(4Аh для записи на диск)
out dma+0B,al ;Установить байтный режим
out dma+0C,al ;Сбросить триггер FF
mov al,bl ;Загрузить смещение адресов в текущий регистр
страниц DMA
out dma+4,al
mov al,bh
out dma+4,al
mov al,0 ;Загрузить счетчик=512
out dma+5,al
mov al,2
out dma+5,al
105
out dma+0A,al ;Размаскировать канал 2 и читать сектор
Примечание: dma - это базовый адрес, равный, в данном случае, 00h (ведомый контроллер DMA).
4. Вопрос: Охарактеризуйте правила программирования подсистемы аппаратных прерываний ПК.
Ответ:
Аппаратные прерывания:
· Int 02h — немаскируемое прерывание;
· Int 08h — таймер 8253/8254;
· Int 09h — клавиатура;
· Int 0Ah — IRQ 2/9;
· Int 0Bh — IRQ 3;
· Int 0Ch — IRQ 4;
· Int 0Dh — IRQ 5;
· Int 0Eh — IRQ 6 — контроллер гибких дисков;
· Int 0Fh — IRQ 7;
· Int 70h — CMOS-таймер;
· Int 71h — IRQ 9 (перенаправлено на Int 0Ah);
· Int 72h — IRQ 10;
· Int 73h — IRQ 11;
· Int 74h — IRQ 12 (контроллер мыши PS/2);
· Int 75h — IRQ 13 — исключение сопроцессора;
· Int 76h — IRQ 14 — контроллер жестких дисков;
· Int 77h — IRQ 15
Кроме функций дискового сервиса (INT 13h), с дисковыми устройствами связаны еще и векторы,
обслуживающие аппаратные прерывания от контроллера НГМД — INT0Eh (линия IRQ 6) и от
контроллера жестких дисков — INT76h (линия IRQ 14). При наличии двухканального порта АТА второй
канал обычно использует линию-IRQ 15 (вектор 77h). В XT контроллер жестких дисков использовал
линию IRQ 5 (вектор 0Dh). Дополнительные контроллеры дисков могут использовать и другие
прерывания. Аппаратные прерывания вырабатываются контроллерами по завершении внутренних
операций (нормальном и аварийном). На эти прерывания BIOS не реагирует, а при инициализации их
векторы направляются на программную заглушку (инструкцию IRET). При работе с СОМ-портом задействуются соответствующие аппаратные прерывания — их используют
при подключении модема, мыши и других устройств ввода. Неработоспособность этих устройств может
быть вызвана некорректной настройкой запроса прерывания. Здесь возможны как конфликты с другими
устройствами, так и несоответствие номера прерывания адресу порта. Устройства ввода/вывода данных с помощью запросов прерываний сообщают центральному процессору
о поступлении новой информации от объектов внешнего мира или о готовности получить очередной квант
данных от процессора. Прерывания от клавиатуры, мыши PS/2-типа и других периферийных устройств
прежде, чем поступить в процессор, проходят через контроллер прерываний, где подвергаются
предварительной обработке. Контроллер позволяет управлять приоритетами, прохождением запросов и
адресами векторов прерываний.
Контроллер прерываний IBM PC/AT состоял из двух микросхем Intel 8259A, включенных каскадно
(рис. 1.). Первая микросхема была ведущей, а вторая — ведомой (ведомый контроллер подключен к входу
