- •Вопрос: Охарактеризуйте развитие системы внутренних интерфейсов пк.
- •Вопрос: Охарактеризуйте этапы изменения архитектуры свв материнских плат, начиная с пк на базе 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. Аппаратные прерывания
Irq11, для com2 и com4 — irq3 или irq10. В принципе номер прерывания можно назначать в
произвольных сочетаниях с базовым адресом (номером порта), но некоторые программы и драйверы (например, драйверы последовательной мыши) настроены на стандартные сочетания. Каждому порту, нуждающемуся в аппаратном прерывании, назначают отдельную линию, не совпадающую с линиями запроса прерываний других устройств. Прерывания необходимы для портов, к которым подключаются устройства ввода, UPS (источники бесперебойного питания) или модемы. При подключении принтера или плоттера прерываниями пользуются только многозадачные ОС (не всегда), и этот дефицитный ресурс PC можно сэкономить. Также прерывания обычно не задействуют при связи двух компьютеров нуль-модемным кабелем. Возможность разделяемого использования одной линии запроса несколькими портами (или ее разделения с другими устройствами) зависит от реализации аппаратного подключения и ПО. При использовании портов, установленных на шину ISA, разделяемые прерывания обычно не работают.
• Канал DMA (для микросхем UART 16450/16550, расположенных на системной плате) — разрешение использования и номер канала DMA. Режим DMA при работе с СОМ портами используют редко. Программа 1(Comp1.txt), представленная в листинге 1, реализует установку режима работы
контроллера порта COM 1 со следующими параметрами:
- длина слова - 6 бит;
- контроль четности запрещен;
- 2 стоповых бита;
- скорость передачи - 2400 бод;
- генерация сигнала прерывания запрещена;
- прерывания по всем событиям в контроллере запрещены;
- диагностический режим запрещен.
После установки режимов программа переходит к выполнению передачи константы 05h в линию данных порта без контроля сигналов квитирования и управления потоком. Число передаваемых байт задается содержимым регистра ВХ.
На рис.11 представлена временная диаграмма процесса передачи шестиразрядного кода 05h, наблюдаемая на выводе 03 разъема последовательного порта СОМ 1. Согласно правилам интерфейса RS-232C передача битов данных производится двуполярным потенциальным кодом с использованием стартового и стоповых битов. Нулевым битам соответствует высокий уровень сигнала (10 В в нашем случае), единичным - низкий уровень (-10 В в нашем случае).
Рис. 11. Передача кода 05h, реализуемая программой 1: 1 - битовый интервал = 0,417мс; 2 – деления масштабной сетки по времени - 1 мс/деление; 3 - деления масштабной сетки по амплитуде - 5 В/деление.
Листинг 1. Инициализация СОМ 1 и передача в линию константы 05h.
2BF9:0100 BBFF2F MOV BX,2FFF ;Число циклов передач
2BF9:0103 BAFB03 MOV DX,03FB ;В регистре LCR устанавливается разряд D7
2BF9:0106 B080 MOV AL,80 ;(DLAB), разрешающий обмен с регистрами
2BF9:0108 EE OUT DX,AL ;делителя(DLL и DLM).
2BF9:0109 B030 MOV AL,30 ;константу 30h заносим в DLL,
2BF9:010B BAF803 MOV DX,03F8 ;и константу 00h - в MLB,
2BF9:010E EE OUT DX,AL ;задавая скорость
2BF9:010F B000 MOV AL,00 ;передачи
2BF9:0111 BAF903 MOV DX,03F9 ;величиной 2400 бод (см.
2BF9:0114 EE OUT DX,AL ;таблицу 4 пункта 3.2).
2BF9:0115 BAFB03 MOV DX,03FB ;05h заносится в LCR, устанавливая:
2BF9:0118 B005 MOV AL,05 размер посылки - 6 бит, 2 стоп-бита и
2BF9:011A EE OUT DX,AL ;запрет контроля четности.
2BF9:011B B000 MOV AL,00 ;Занесением 00h в IER запрещаем
2BF9:011D BAF903 MOV DX,03F9 ;прерывания по всем событиям, могущим
2BF9:0120 EE OUT DX,AL ;вызвать прерывание
2BF9:0121 BAFC03 MOV DX,03FC ;Занесением 00h в IER запрещаем сигнал
2BF9:0124 EE OUT DX,AL ;прерывания и режим диагностики
2BF9:0125 BAFD03 MOV DX,03FD ;Чтение LSR и проверка: пусты ли регистры
2BF9:0128 EC IN AL,DX ;передатчика
2BF9:0129 A840 TEST AL,40 ;если передача не закончена (D6=0), то
2BF9:012B 74F8 JZ 0125 ;на новый цикл проверки.
2BF9:012D BAF803 MOV DX,03F8 ;В регистр передатчика заносится
2BF9:0130 B005 MOV AL,05 ;константа 05h, передаваемая
2BF9:0132 EE OUT DX,AL ;затем в линию.
2BF9:0133 B90200 MOV CX,0002 ;Вложенные циклы программной
2BF9:0136 51 PUSH CX ;задержки, позволяющие
2BF9:0137 B92000 MOV CX,0020 ;устанавливать временные
2BF9:013A E2FE LOOP 013A ;промежутки между
2BF9:013C 59 POP CX ;передаваемыми
2BF9:013D E2F7 LOOP 0136 ;байтами
2BF9:013F 4B DEC BX ;Декремент счетчика передаваемых байт.
2BF9:0140 75E3 JNZ 0125 ;Если не ноль, то очередная передача
2BF9:0142 CC INT3 ;Передача управления отладчику.
Программа 2 (123.txt). Осуществляет обмен ПК-ПК через COM-порт.
Листинг 2:
1ECF:0100 BAFB03 MOV DX,03FB
1ECF:0103 B080 MOV AL,80
1ECF:0105 EE OUT DX,AL
1ECF:0106 B030 MOV AL,30
1ECF:0108 BAF803 MOV DX,03F8
1ECF:010B EE OUT DX,AL
1ECF:010C B000 MOV AL,00
1ECF:010E BAF903 MOV DX,03F9
1ECF:0111 EE OUT DX,AL
1ECF:0112 BAFB03 MOV DX,03FB
1ECF:0115 B01F MOV AL,1F
1ECF:0117 EE OUT DX,AL
1ECF:0118 BF0000 MOV DI,0000
1ECF:011B BB0000 MOV BX,0000
1ECF:011E 90 NOP
1ECF:011F 90 NOP
1ECF:0120 90 NOP
1ECF:0121 90 NOP
1ECF:0122 BAFD03 MOV DX,03FD
1ECF:0125 EC IN AL,DX
1ECF:0126 A840 TEST AL,40
1ECF:0128 74F8 JZ 0122
1ECF:012A BAF803 MOV DX,03F8
1ECF:012D 88D8 MOV AL,BL
1ECF:012F EE OUT DX,AL
1ECF:0130 BAFD03 MOV DX,03FD
1ECF:0133 EC IN AL,DX
1ECF:0134 A801 TEST AL,01
1ECF:0136 74FB JZ 0133
1ECF:0138 BAF803 MOV DX,03F8
1ECF:013B EC IN AL,DX
1ECF:013C 268805 MOV ES:[DI],AL
1ECF:013F 47 INC DI
1ECF:0140 43 INC BX
1ECF:0141 83FB20 CMP BX,0020
1ECF:0144 75DC JNZ 0122
1ECF:0146 CC INT3
Программа 3 (1234.txt). Осуществляет обмен ПК-ПК через COM-порт посредством функции int 14 .
Листинг 3:
MOV DI, 0000
MOV BX, 0000
MOV AH, 0000
MOV AL, A7
MOV DX, 0000
INT 14
A1: MOV AH, 03
INT 14
TEST AH, 40
JZ A1
MOV AH, 01
MOV AL, BL
INT 14
A2: MOV AH, 03
INT 14
TEST AH, 01
JZ A2
MOV AH, 02
INT 14
MOV ES:[DI], AL
INC DI
INC BX
CMP DX, 05
JNZ A1
INT3
При обмене данными компьютера «сам с собой» увеличение начальной скорости 2400 бод в 16 раз не приводит к ошибкам, битовый интервал уменьшается в 16 раз.
При проведении исследования, скорость обмена данными изменялась только на компьютере-передатчике, на компьютере-приемнике скорость обмена оставалась величиной постоянной. В ходе исследования, было выяснено, что корректный обмен данными между ПК невозможен на скоростях больше 2400 бод и меньше 2351 бод.
10. Вопрос: Охарактеризуйте поддержку видео подсистемы ПК на уровне BIOS
Ответ:
Как уже отмечалось, все операции по модификации содержимого видеопамяти и регистров
видеоадаптера VGA выполняет центральный процессор. Реализация любой графической операции (смена
видеорежима, чтение/запись информации в кадровый буфер, управление курсором и т. п.) требует от
центрального процессора выполнения весьма длинной последовательности элементарных команд (чтение/
запись, перемещение данных в регистрах и др.). Кроме того, во время этих действий в регистры
видеоадаптера заносятся константы, значения которых для различных моделей VGA-совместимых адаптеров
могут различаться. С целью упрощения процедуры программирования видеоадаптера, а также для
обеспечения совместимости аппаратного и программного обеспечения все наборы команд (подпрограммы)
CPU, реализующие графические функции, помещаются в специальное ПЗУ, расположенное на плате
видеоадаптера VGA. Эти подпрограммы образуют так называемое расширение базовой системы
ввода/вывода (BIOS extension) для решения задач вывода изображения на экран монитора и называются Video
BIOS.
Фактически Video BIOS — это набор подпрограмм, написанных в кодах команд центрального
процессора и предназначенных для реализации основных функций видеосистемы. Набор этих функций
принято называть видеосервисом. Кроме того, Video BIOS содержит множество данных (констант),
необходимых для работы в различных видеорежимах, а также сведения о производителе, модели и
возможностях видеоадаптера.
