Ульяновский государственный университет
Опубликован: 18.05.2006 | Доступ: свободный | Студентов: 4220 / 1356 | Оценка: 4.05 / 4.02 | Длительность: 15:15:00
Специальности: Разработчик аппаратуры
Лекция 13:

Организация обмена в вычислительной системе

< Лекция 12 || Лекция 13: 1234 || Лекция 14 >

Подсистема прямого доступа к памяти

Прямой доступ к памяти (ПДП) - Direct Memory Access ( DMA ) - используется для высокоскоростной передачи данных между устройствами ввода-вывода и оперативной памятью без вмешательства ЦП. Типичным примером использования DMA являются контроллеры дисководов и винчестера. В системах IBM PC XT/AT используется контроллер DMA Intel 8237A (рис. 13.5), обеспечивающий четыре 8-битных канала DMA. В IBM PC AT применяется каскадное включение двух контроллеров DMA (рис. 13.6): 8237A, обеспечивающего четыре 8-битных канала, и 8237A-5, обеспечивающего четыре 16-битных канала (см. табл. 13.2).

Таблица 13.2. Каналы DMA в IBM PC AT
Канал Назначение Разрядность
0 Устройство на шине ISA 8
1 Контроллер интерфейса SDLC 8
2 Контроллер дисковода 8
3 Контроллер винчестера 8
4 Используется для каскадирования 16
5 Устройство на шине ISA 16
6 Устройство на шине ISA 16
7 Устройство на шине ISA 16
Структура контроллера DMA Intel 8237A

увеличить изображение
Рис. 13.5. Структура контроллера DMA Intel 8237A
Каскадное включение контроллеров в IBM PC AT

увеличить изображение
Рис. 13.6. Каскадное включение контроллеров в IBM PC AT

В активном цикле обслуживание подсистемы DMA возможно в одном из четырех режимов:

  • режим одиночной передачи (Single Transfer Mode);
  • режим передачи блока (Block Transfer Mode);
  • режим передачи по требованию (Demand Transfer Mode);
  • каскадный режим (Cascade Mode).

Для формирования 24-разрядного адреса используется регистр страницы, который определяет старшие биты адреса. Младшие 16 бит задаются регистром базы соответствующего канала контроллера. Такая схема обеспечивает передачу данных в пределах адресного пространства 16 Мбайт.

Для 8-битных каналов DMA регистр страницы определяет биты 16-23 физического адреса, а регистр базы - биты 0-15:

2 	16
3
8	7	 0
5
регистр страницы регистр базы

Для 16-битных каналов DMA используется только 7 бит регистра страницы, определяющих биты 17-23 физического адреса. При этом регистр базы канала задает биты 1-16. Бит A0 всегда выставляется в 0, чтобы гарантировать выровненную передачу слова памяти:

23	17
16	15	8	7	1
0
регистр страницы регистр базы 0

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

  • SI - неактивное состояние;
  • S0 - первое состояние обслуживания подсистемы DMA, возникающее по действительному запросу (DREQ);
  • S1, S2, S3, S4 - рабочие состояния;
  • SW - состояние ожидания.

Вопросы для самоконтроля

  1. Какие исключительные ситуации могут возникать при работе компьютера?
  2. Чем маскируемые прерывания отличаются от немаскируемых?
  3. В каком регистре контроллера прерываний сохраняются уровни запросов прерываний, находящиеся на обслуживании?
  4. Нарисуйте схему каскадного включения контроллеров прерываний.
  5. В каких режимах работы контроллера прерываний подтверждаются лишь запросы с более высоким приоритетом?
  6. Нарисуйте схему подсистемы прямого доступа к памяти в архитектуре IBM PC AT.
  7. В каких режимах работает контроллер прямого доступа к памяти?
  8. Как формируется адрес при передаче слова в режиме DMA?
  9. В каких состояниях может находиться подсистема прямого доступа к памяти?
< Лекция 12 || Лекция 13: 1234 || Лекция 14 >
Виктория Монахова
Виктория Монахова
Евгений Коваленко
Евгений Коваленко