stringtranslate.com

Интел 8237

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

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

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

Один 8237 использовался в качестве контроллера DMA в оригинальных IBM PC и IBM XT . IBM PC AT добавил еще 8237 в конфигурации «главный-подчиненный», увеличив количество каналов DMA с четырех до семи. [2] Более поздние IBM-совместимые персональные компьютеры могут иметь наборы микросхем, имитирующие функции 8237 для обеспечения обратной совместимости. Intel 8237 на самом деле был разработан AMD (под названием Am9517 [3] ). Это было частью соглашения о перекрестном лицензировании, позволяющего AMD производить процессоры Intel, что сделало эту конструкцию доступной и для Intel. Вот почему на упаковке Intel напечатано «(C) AMD 1980». 8237, работающий на частотах 3 МГц и 5 МГц, был произведен Intel, как описано в вариантах, а NEC разработала μPD71037, версию, работающую на частоте 10 МГц. [4]

Режимы

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

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

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

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

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

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

Запрос DMA DREQ должен быть инициирован картой и удерживаться активным до тех пор, пока он не будет подтвержден сигналом подтверждения DMA DACK . [6]

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

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

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

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

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

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

Использование IBM-ПК

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

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

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

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

Интеграция в чипсеты

Хотя это устройство может не появляться как отдельный компонент в современных персональных компьютерных системах, оно присутствует в наборах микросхем системного контроллера. Например, в PIIX интегрированы два контроллера 8237 для шины ISA DMA. [9] [10]

Варианты

  1. ^ мегабайт в секунду в блоке 64 КБ
  2. ^ В количестве от 100 и выше.
  3. ^ Выборка, второй квартал 1986 г.

Смотрите также

Рекомендации

  1. ^ Микропроцессоры Intel Барри Б. Брея
  2. ^ Н. МАТИВАНАН (2007). ПРИБОРЫ НА ОСНОВЕ ПК: КОНЦЕПЦИИ И ПРАКТИКА. PHI Learning Pvt. ООО, стр. 227–229. ISBN 978-81-203-3076-4.
  3. ^ «Многомодовый контроллер DMA Am9517A» (PDF) . Проверено 4 января 2024 г.
  4. ^ «Контроллер pPD71037 прямого доступа к памяти (DMA)» (PDF) . Проверено 4 января 2024 г.
  5. ^ abcdef aluzina.org — Intel 8237/8237-2 Высокая производительность. Техническое описание программируемого контроллера DMA (.pdf)
  6. ^ abcd book.google.com - Передовые микропроцессоры и периферийные устройства, 2006, стр. 312/313.
  7. ^ pinouts.ru - Распиновка и разводка шины ISA, 20 октября 2008 г.
  8. ^ Breakedthorn.com - Серия разработки операционных систем
  9. ^ https://pdos.csail.mit.edu/6.828/2012/readings/hardware/8237A.pdf [ пустой URL-адрес PDF ]
  10. ^ http://pdf.datasheetcatalog.com/datasheet/Intel/mXvqwzr.pdf [ пустой URL-адрес PDF ]
  11. ^ Эшборн, Джим; «Усовершенствованная упаковка: небольшое дело имеет большое значение», корпорация Intel, Solutions, январь/февраль 1986 г., стр. 2
  12. ^ Корпорация Intel, «Компоненты микрокомпьютера: новый контроллер DMA Intel 8237 обеспечивает ответ DMA на частоте 5 МГц для систем на базе 8088 и 8085A-2», Intel Preview, май/июнь 1979 г., стр. 9.

Внешние ссылки