Intel 8237

редактировать
Intel 8237A-5, использованный на исходной материнской плате IBM PC . Распиновка

Intel 8237 - это контроллер прямого доступа к памяти (DMA), входящий в семейство микропроцессоров MCS 85. Он обеспечивает передачу данных между памятью и вводом-выводом с уменьшенной нагрузкой на главный процессор системы, обеспечивая память управляющими сигналами и информацией об адресе памяти во время передачи DMA.

8237 - это четырехканальное устройство, которое может быть расширено за счет включения любого количества входов каналов DMA. 8237 может передавать данные по DMA со скоростью до 1,6 мегабайта в секунду. Каждый канал способен адресовать полный раздел памяти размером 64 Кбайт и может передавать до 64 Кбайт за одно программирование.

Один 8237 использовался в качестве контроллера DMA в исходном IBM PC и IBM XT. IBM PC AT добавил еще 8237 в конфигурации главный-подчиненный, увеличив количество каналов DMA с четырех до семи. Более поздние IBM-совместимые персональные компьютеры могут иметь наборы микросхем, имитирующие функции 8237 для обратной совместимости.

Содержание
  • 1 Режимы
    • 1.1 Одиночный режим
    • 1.2 Режим блочной передачи
    • 1.3 Режим передачи по запросу
  • 2 Внутренние регистры
  • 3 Использование IBM PC
  • 4 Интеграция в наборы микросхем
  • 5 вариантов
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Режимы

8237 работает в четырех различных режимах, в зависимости от количества байтов, передаваемых за цикл, и количества использованных микросхем:

  • одиночный - один цикл прямого доступа к памяти, один цикл процессора перемежается, пока счетчик адреса не достигнет нуля.
  • Блок - передача продолжается до тех пор, пока счетчик слов не достигнет нуля или не станет активным сигнал EOP.
  • Требование - Передачи продолжаются до тех пор, пока TC или EOP не станет активным или DRQ не станет неактивным. ЦП разрешается использовать шину, когда не запрашивается передача.
  • Каскад - используется для каскадного подключения дополнительных контроллеров DMA. DREQ и DACK сопоставляются с HRQ и HLDA от следующего чипа, чтобы установить цепочку приоритетов. Фактические сигналы шины обрабатываются каскадным чипом.

Может выполняться передача из памяти в память. Это означает, что данные могут быть перенесены с одного запоминающего устройства на другое запоминающее устройство. Регистр текущего адреса канала 0 является источником передачи данных, а канал 1, и передача прекращается, когда регистр текущего счетчика слов становится равным 0. Канал 0 используется для обновления DRAM на устройствах, совместимых с IBM PC.

В режиме автоматической инициализации значения адреса и счетчика восстанавливаются после приема сигнала конца процесса (EOP). Это происходит без вмешательства процессора. Он используется для повтора последней передачи.

Счетчик оконечных устройств (TC) сигнализирует об окончании передачи на карты ISA. В конце передачи произойдет автоматическая инициализация, настроенная для этого.

Одиночный режим

В одиночном режиме за один запрос передается только один байт. При каждой передаче счетный регистр уменьшается, а адрес увеличивается или уменьшается в зависимости от программирования. Когда счетный регистр достигает нуля, на карту отправляется сигнал счетчика клемм TC .

Запрос DMA DREQ должен быть подан картой и оставаться активным до тех пор, пока это подтверждается подтверждением DMA DACK .

Режим блочной передачи

Передача активируется DREQ, которую можно деактивировать после подтверждения DACK . Передача продолжается до тех пор, пока не будет активирован конец процесса EOP (внутренний или внешний), который запустит счетчик клемм TC на карту. В этом режиме может быть запрограммирована автоматическая инициализация.

Режим передачи по запросу

Передача активируется DREQ и подтверждается DACK и продолжается до тех пор, пока TC, внешний EOP или DREQ становится неактивным. Только TC или внешний EOP могут активировать автоинициализацию, если это запрограммировано.

Внутренние регистры

Внутренние регистры, используемые в 8237 для передачи данных, следующие:

  • Регистр базового адреса: для хранения начального адреса, с которого будет происходить передача данных
  • Регистр подсчета базовых слов: для хранения количества выполняемых передач
  • Регистр текущего адреса: для сохранения текущий адрес, откуда передаются данные
  • Текущий регистр подсчета слов: для хранения количества передач, оставшихся для выполнения
  • Регистр временного адреса: для хранения адреса данных во время передачи из памяти в- передача из памяти
  • Регистр временного подсчета слов: для хранения количества передач, которые должны выполняться при передаче из памяти в память
  • Регистр режима: 8-битный регистр, в котором хранится используемый канал, рабочий режим, т.е. режим передачи, и другие параметры передачи
  • Регистр команд: 8-битный регистр, который инициализирует канал, который будет использоваться. для передачи данных
  • Регистр запроса: 8-битный регистр, используемый для указания того, какой канал запрашивает передачу данных
  • Регистр маски: 8-битный регистр, используемый для маскирования конкретного канала от запроса услуги DMA
  • Регистр состояния: 8-битный регистр, используемый для указания того, какой канал в настоящее время находится в режиме DMA, и некоторых других параметров
IBM PC использует

как член семейства устройств Intel MCS-85 8237 - это 8-битное устройство с 16-битной адресацией. Однако он совместим с микропроцессорами 8086 /88. Модели IBM PC и PC XT (типы компьютеров 5150 и 5160) имеют процессор 8088 и 8-битную архитектуру системной шины; последний подключается непосредственно к 8237, но 8088 имеет 20-битную адресную шину, поэтому четыре дополнительных 4-битных адресных защелки, по одной для каждого канала DMA, добавляются рядом с 8237 для увеличения счетчиков адресов. Однако, поскольку эти внешние защелки отделены от счетчиков адресов 8237, они никогда не увеличиваются или не уменьшаются автоматически во время операций DMA, что делает невозможным выполнение операции DMA через границу адреса в 64 КиБ. Попытки пересечь границу 64 КиБ при передаче DMA будут выполняться в пределах одного блока памяти размером 64 КБайт. (Например, если канал DMA и связанная с ним защелка адреса были запрограммированы на передачу 256 байтов по возрастающим адресам, начиная с адреса 0x3FF8C, вместо передачи на адреса от 0x3FF8C до 0x4008B, данные будут передаваться на адреса от 0x3FF8C до 0x3FFFF, а затем на адреса от 0x30000 до 0x3008B.)

IBM PC AT (тип машины 5170) и 100% совместимые устройства используют процессор 80286 и 16-битную архитектуру системной шины. В дополнение к 8237 от моделей ПК и XT, добавлен второй, каскадный 8237, для передачи 16-битного DMA. Это возможно, несмотря на то, что 8237 является 8-битным устройством, потому что 8237 выполняет передачи между портом ввода / вывода и памятью как «пролетные» передачи, при которых данные помещаются на шину исходной памятью или вводом / выводом. Порт вывода и прямое чтение одновременно портом ввода-вывода или памятью назначения без обработки 8237. Для этого режима передачи ширина шины данных по существу не имеет значения для 8237 (пока она подключен к шине данных шириной не менее 8 бит для программирования 8237 регистров). Второй 8237 в ПК класса AT предоставляет три 16-битных канала DMA (его каналы с 1 по 3, названные каналами с 5 по 7 в AT ПК); его канал 0 (названный каналом 4 в AT PC) используется в каскадном режиме для подключения 8237 для 8-битного прямого доступа к памяти в качестве «ведомого» в каскадном устройстве; 8237, обеспечивающий 16-битные каналы, является «главным». Чтобы он мог адресовать 16-битные слова, он подключен к адресной шине таким образом, что он считает даже адреса (0, 2, 4,...) вместо отдельных адресов. Как и первый 8237, он дополнен четырьмя регистрами расширения адреса. В ПК класса AT все восемь регистров увеличения адреса имеют ширину 8 бит, поэтому можно указать полные 24-битные адреса - размер адресной шины 80286. Передача DMA по любому каналу по-прежнему не может пересечь границу в 64 КиБ. (16-битный DMA ограничен 32 768 16-битными словами, даже если канал DMA может вести счет до 65536 адресов; старший бит счетчика адресов из 16-битного канала DMA игнорируется.) Поскольку память 8237 - Режим DMA в память работает путем передачи байта из исходной ячейки памяти во внутренний временный 8-битный регистр в 8237, а затем из временного регистра в целевую ячейку памяти, этот режим не может использоваться для 16-битной памяти. в память DMA, так как временный регистр недостаточно велик. Кроме того, 16-битный DMA с преобразованием памяти в память потребует использования канала 4, что противоречит его использованию для каскадирования 8237, который обрабатывает 8-битные каналы DMA. Однако на AT 8-битный канал DMA 0 больше не используется для обновления DRAM, он был заменен специализированной логикой обновления, поэтому должна быть возможность выполнять 8-битный DMA с памятью в память с использованием каналов 0 и 1 без прерывание обновления DRAM.

Дизайн DMA на основе 8237 в совместимых с ПК AT не был обновлен с переходом на 32-битные ЦП и 32-битные архитектуры системной шины. Следовательно, ограничение на этих машинах заключается в том, что контроллеры DMA 8237 с их регистрами расширения "страницы" сопутствующего адреса могут адресовать только 16 Мбайт памяти, в соответствии с исходной конструкцией, ориентированной на ЦП 80286, который сам имеет такое же ограничение адресации. Это означает, что для других областей памяти данные должны быть сначала переданы с помощью DMA от устройства ввода-вывода в промежуточный буфер в первых 16 МиБ физического адресного пространства, а затем перемещены ЦП в последнюю память; или, в другом направлении, он должен быть передан процессором из начальной памяти в промежуточный буфер до того, как он будет передан по DMA из этого буфера в устройство ввода-вывода. Этот метод называется «буфером отказов». В общем, он теряет любое общее преимущество скорости, связанное с DMA, но это может быть необходимо, если к периферийному устройству требуется доступ с помощью DMA из-за высоких требований к синхронизации или негибкости аппаратного интерфейса.

В серии компьютеров PS / 2 IBM обновила оборудование DMA для поддержки 32-битных данных и адресов в некоторых системах с процессорами 80386, но они сделали это, заменив 8237 с новым дизайном контроллера прямого доступа к памяти. Новый дизайн включает режим совместимости 8237 для обратной совместимости с PC AT.

Интеграция в наборы микросхем

Хотя это устройство может не выступать в качестве отдельного компонента в современных персональных компьютерах, оно присутствует в наборах микросхем системного контроллера. Например, интегрированный системный периферийный контроллер 82875P ISP имеет два внутренних контроллера прямого доступа к памяти, запрограммированных почти так же, как 8237.

Варианты
Номер моделиТактовая частотаСкорость передачиЦена (долл. США)
82373 МГц
8237-25 МГц1,6 м / с$ 20,00
См. Также
Справочная информация
  1. ^Микропроцессоры Intel, автор Барри Б. Брей
  2. ^Н. МАТИВАНАН (2007). ИНСТРУМЕНТЫ НА ОСНОВЕ ПК: КОНЦЕПЦИИ И ПРАКТИКА. PHI Learning Pvt. Ltd. С. 227–229. ISBN 978-81-203-3076-4.
  3. ^ aluzina.org - Intel 8237 / 8237-2 Высокая производительность. Программируемый контроллер DMA (.pdf) datasheet
  4. ^ books.google.com - Advanced Microprocessors And Peripherals, 2006 p312 / 313
  5. ^pinouts.ru - Распиновка и проводка шины ISA, 2008- 10-20
  6. ^brokenthorn.com - Серия «Разработка операционных систем»
  7. ^https://pdos.csail.mit.edu/6.828/2012/readings/hardware/8237A.pdf
  8. ^Корпорация Intel, «Компоненты микрокомпьютера: Новый контроллер Intel 8237 DMA обеспечивает ответ DMA 5 МГц для систем на базе 8088 и 8085A-2 ", Intel Preview, май / июнь 1979 г., стр. 9.
Внешние ссылки
Последняя правка сделана 2021-05-24 03:56:37
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте