Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
архитектура 2.docx
Скачиваний:
6
Добавлен:
28.10.2018
Размер:
583.61 Кб
Скачать

13,14. Контроллер прямого доступа к памяти. Назначение каналов. Общение принципы организации пдп.

ПДП используется для выполнения операций передачи данных непосредственно между ОП и устройством ввода-вывода. Обычно это накопители на дисках. При использовании DMA процессор не участвует в операциях ввода-вывода. Ко- нтроллер ПДП сам формирует сигналы, необходимые для обмена данными с ус- тройством. Скорость такого обмена выше, чем при вводе-выводе с использованием процессора и команд IN и OUT.

IBM PC AT имеет 2 DMA 48 каналов ПДП. Первый DMA обеспечивает обмен 8-раз- рядными данными (каналы 0-3). Второй DMA обеспечивает обмен 16-разрядными данными (каналы 4-7). Второй канал используется контроллером НГМД, третий – контроллером НЖМД, 4 – для соединения двух DMA.

При инициализации DMA каждому каналу сообщается БА ячейки памяти и кол-во циклов прямого доступа к памяти.

Общие принципы:

1)DMA принимает по линии DRQ запрос на ПДП от внешнего устройства.

2)Формирует запрос МП на захват шины.

3)Принимает от МП сигнал HLDA, который сообщает о том, что МП перевел свои линии в высокое импедансное состояние.

4)Формирует сигнал на линии DACK, сообщающий контроллеру внешнего ус-ва о начале выполнения цикла в ПДП.

5)Формирует на шине адреса магистрали адрес ячейки памяти, предназначенный для обмена.

6)Формирует необходимые управляющие сигналы, обеспечивающие обмен.

7)По окончании цикла ПДП либо повторяет цикл, изменив адрес, либо прекращает ПДП, сняв запрос.

15. Системный порт. Назначение. Структура.

Это 8-разрядный порт с адресом 61h.

Функции системного порта:

1)Разрешение немаскируемых аппаратных прерываний NMI.

2)Идентификация немаскируемых аппаратных прерываний NMI.

3)Управление звуком.

Структура системного порта:

7R – ошибка четности ОЗУ или ошибка на шине PCI.

6R – ошибка на шине.

7 6

0 0 – нет ошибки

0 1 – ошибка на шине ISA

1 0 – ошибка памяти

1 1 – ошибка шины PCI

5R – выход второго канала системного таймера. OUT 2.

4R – регенерация памяти.

3R/W – разрешение контроллера памяти.

2R/W – разрешение контроллера ОЗУ и шины PCI.

1R/W – управление звуком.

0R/W – управление звуком.

R – разряд доступен только для чтения.

W – разряд доступен для записи.

16. Системный таймер. Назначение. Каналы. Структура управляющего регистра.

Модуль или коэффициент деления счетчика – кол-во возможных неповторяющихся состояний счетчика.

Системный таймер двоичный:

М = Кдел. = 2n = 24 = 16

Состояния: 0000-1111

Системный таймер двоично-десятичный:

М = Кдел = 10

Состояния: 0000-1001

поступило

Системный таймер состоит из трех каналов. Канал содержит 16-разрядный счетчик и 16-разрядный регистр-защелка.

Входная частота всех каналов 1,19318 МГц.

Логическая структура системного таймера:

Счетчики и регистры каналов 16-разрядные, но обмен с ними возможен только 8- разрядными данными, при этом можно задавать значение только младшего байта (LSB), только старшего байта (MSB), или двух байтов (LSB/MSB), причем сначала передается младший байт, а потом старший байт.

Структура регистра управления:

Управление, инициализация каналов системного таймера осуществляется записью байта в регистр управления по отдельности для каждого канала.

Биты:

*7, 6 – выбор канала:

0 0 – канал 0

0 1 – канал 1

1 0 – канал 2

*5, 4 – режим обращения:

0 0 – защелка текущего значения

0 1 – LSB, только младший байт

1 0 – MSB, только старший байт

1 1 – LSB/MSB, сначала младший, потом старший байт

*3, 2, 1 – режим счетчика:

0 0 0 – прерывание по счетчику

0 0 1 – ждущий мультивибратор (одновибратор)

х 1 0 – генератор частоты

х 1 1 – генератор Меандра (длительность 0 = длительности 1)

1 0 0 – счетчик событий с разрешением

1 0 1 – счетчик событий с перезапуском

*0 – тип счетчика:

0 – BIN, двоичный, М = Кдел.max = 216 = = 65536

1 – BCD, двоично-десятичный, М = = Кдел.max = 10000

Назначение каналов системного таймера:

*Канал 0, адрес 40h – генерация прерываний от системных часов (генерация прерываний для управления системными часами). Генерация прерывания на линии IRQ0 каждые 54,936 мс (18,206 Гц).

Рассчитаем коэффициент деления или модуль счетчика канала 0:

1,19318 МГц Ст 18,206 Гц

Кдел.=М=fвх/fвых=1,19318МГц/18,206Гц= 65536

Регистр управления:

7 6 5 4 3 2 1 0

0 0 1 1 0 1 1 0

канал LSB/ генератор BIN

0 MSB Меандра

; инициализация канала 0

mov AL , 00110110b

out 43h , AL ; в регистр управлении

; коэффициент деления 65536 (0)

mov AX , 0

out 40h , AL ; мл. байт LSB

mov AL , AH

out 40h , AL ; ст. байт MSB

*Канал 1, адрес 41h – интервал для регенерации памяти. Формирует сигналы с периодом 15,6 мкс.

*Канал 2, адрес 42h – генератор звука.

Назначение системного таймера:

1)Генерация прерываний для управления системными часами.

2)Генерация запросов на регенерацию памяти.

3)Генерация звуковых сигналов.