- •1.Общие сведения о пэвм.
- •3.Принципы взаимодействия основных частей пэвм.
- •4. Общие сведения об операционных системах, применяемых на пэвм.
- •5.Базовая система ввода/вывода (bios). Подсистема post.
- •Вопрос 9.Файловая система fat
- •10) Ntfs
- •11)Резидентные системные программы и утилиты. Командные файлы, файлы конфигурации системы
- •Файл autoexec.Nt
- •Файлы winstart.Bat и dosstart.Bat
- •Файл config.Nt
- •12. Прерывания дисковой системы пэвм.
- •14. Назначение, структурная схема и программирование контроллеров нdd.
- •15. Назначение и состав системы ввода-вывода.
- •19. Организация обмена данными через параллельные порты.
- •20. Характеристики микропроцессоров intel и amd
- •21. Математические сопроцессоры.
- •1. Регистры ммх
- •2. Типы данных ммх
- •3. Команды пересылки данных ммх
- •4. Команды преобразования типов ммх
- •5. Арифметические операции ммх
- •6. Команды сравнения ммх
- •7. Логические операции ммх
- •8. Сдвиговые операции ммх
- •9. Команды управления состоянием ммх
- •10. Расширение amd 3d
- •25. Модель микропроцессора для программиста.
- •Реальный режим общие сведения
- •26. Спецификация регистров микропроцессора. Режимы работы. Типы данных.
- •Реальный режим общие сведения
- •Работа с адресами
- •Обработка прерываний
- •27. Системные регистры.
- •Регистры управления памятью
- •Регистры управления процессором
- •Отладочные регистры
- •Машинно-специфичные регистры
- •31. Системные ресурсы пэвм
- •32. Дескрипторы
- •33. Сегмент состояния задачи
- •35. Прерывания пэвм
- •Исключения в защищённом режиме
- •Обработка аппаратных прерываний
- •39. Контроллер прерываний. Исключения.
- •42 Полупроводниковые пзу, рпзу.
- •43 Сегментация. Физические и логические адреса.
- •Общие сведения
- •Работа с адресами
- •Обработка прерываний
- •Вход в защищённый режим(286)
- •2.1. Подготовка к переключению в защищённый режим
- •2.2. Переключение в защищённый режим
- •2.3. Возврат в реальный режим
- •47 Режим виртуального процессора i8086
- •48 Преобразование адресов
- •Программирование микросхемы таймера 8253/8254.
- •50.Каналы и управление таймеров. Микросхемы таймера 8253/8254
- •Средства ms-dos для работы с таймером
- •51.Режимы работы таймеров. Микросхемы таймера 8253/8254
- •52.Назначение, структурная схема контроллера пдп(dma).
- •53 Программирование контроллера пдп(dma).
- •54 Организация ввода данных с клавиатуры.
- •56. Прерывания и порты клавиатуры.
- •58. Прерывания видеосистемы.
- •59.Организация вывода информации на экран дисплея через память видеоадаптера.
- •60. О рганизация вывода информации на экран дисплея через прерывания. Прерывания dos
- •Прерывания bios
- •Int 10h
- •Int 1Dh
- •Int 1Fh
53 Программирование контроллера пдп(dma).
Общий алгоритм ПДП.
Для осуществления прямого доступа к памяти контроллер должен выполнить ряд последовательных операций:
принять запрос (DREQ) от устройства ввода-вывода;
сформировать запрос (HRQ) в процессор на захват шины;
принять сигнал (HLDA), подтверждающий захват шины;
сформировать сигнал (DACK), сообщающий устройству о начале обмена данными;
выдать адрес ячейки памяти, предназначенной для обмена;
выработать сигналы (MEMR, IOW или MEMW, IOR), обеспечивающие управление обменом;
по окончании цикла DMA либо повторить цикл DMA, изменив адрес, либо прекратить цикл.
Программирование контроллера.
Контроллер DMA может программироваться процессором, когда HLDA не активен; это утверждение истинно, даже если активен HRQ. Ответственность процессора заключается в гарантии, что программирование контроллера и активный HLDA взаимоисключающие. Если -CS и HLDA в низком состоянии, контроллер DMA входит в режим программирования. Выбор регистров при программировании осуществляется с помощью адресной шины A0-A3, работающей на вход, а выбор режима записи или считывания - с помощью сигналов -IOW или -IOR. При записи/считывании 16- разрядных регистров адреса или счетчика соответствующего канала необходим дополнительный разряд адреса, в качестве которого используется внутренний триггер FF. По FF=0 происходит обращение к младшему байту, а по FF=1 - к старшему байту регистра адреса или счетчика. Кроме того, для контроллера существуют дополнительные специальные команды, которые могут быть выполнены в режиме программирования и не зависят от набора разрядов на шине данных. К ним относятся следующие команды:
сброс триггера FF (Clear First/Last Flip-Flop; 00C, 0D8). Эта команда выполняется перед записью или чтением информации из регистров адреса или счетчика слов контроллера DMA. Триггер FF устанавливается таким образом, чтобы микропроцессор адресовал старший и младший байты в нужной последовательности;
очистка (Master Clear; 00D, 0DA). По этой программной команде в контроллере DMA выполняются такие же действия, как и по аппаратному RESET. Очищаются регистры команд, состояния, запросов и триггер FF, а регистр маски устанавливается. После этого контроллер DMA переходит в холостой цикл;
cброс регистра маски (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
out dma+0A,al ;Размаскировать канал 2 и читать сектор Примечание: dma - это базовый адрес, равный 00h.