Помощь в написании студенческих работ
Антистрессовый сервис

Система ввода-вывода. 
Разработка структурной схемы ЭВМ и функциональной схемы буфера TLB

РефератПомощь в написанииУзнать стоимостьмоей работы

В режиме ПДП обмен между памятью и ПУ производится без участия процессора. В обычном режиме пересылка данных между памятью и ПУ требует вначале приема данных в процессор, а затем выдачи их приемнику, что снижает темп передачи. В режиме ПДП процессор отключается от системных шин и передает управление обменом КПДП, что увеличивает темп передачи данных. При ПДП данные не проходят через процессор… Читать ещё >

Система ввода-вывода. Разработка структурной схемы ЭВМ и функциональной схемы буфера TLB (реферат, курсовая, диплом, контрольная)

По заданию необходимо использовать ввод-вывод с прямым доступом к памяти (ПДП).

Данный способ организации ввода-вывода подразумевает использование контроллера прямого доступа к памяти (КПДП).

В режиме ПДП обмен между памятью и ПУ производится без участия процессора. В обычном режиме пересылка данных между памятью и ПУ требует вначале приема данных в процессор, а затем выдачи их приемнику, что снижает темп передачи. В режиме ПДП процессор отключается от системных шин и передает управление обменом КПДП, что увеличивает темп передачи данных [5]. При ПДП данные не проходят через процессор, и передача слова производится за один цикл (тракт передачи данных непосредственно связывает ПУ и ОП) ПДП особенно эффективен при передачах блоков данных в высоком темпе (например, при обмене данными между внешней памятью и ОП). При ПДП содержимое рабочих регистров МП не нарушается. ПДП предоставляется по завершению текущего машинного цикла.

Возможны 2 вида ПДП:

1. С одиночными передачами (с захватом цикла системной шины) В этом случае передачи слов в режиме ПДП перемежаются с выполнением программы, и для передач ПДП выделяются отдельные такты машинных циклов, в которых процессор не использует системные шины. Каждый командный цикл начинается с машинного цикла — выборки команды. В этом машинном цикле есть такт декодирования принятой процессором команды, в котором системные шины не используются. На это время системные шины можно отдать для ПДП и передать одно слово. Но в этом режиме сам обмен ПДП будет не быстрым, темп обмена нерегулярен, т.к. длительности циклов различных команд различны, и, кроме того, ПДП может и замедлить выполнение программы, если цикл ПДП не уложится в интервал, соответствующий такту процессора.

2. С блочными передачами (с блокировкой ЦП).

В этом случае работа процессора останавливается на все время передачи блока данных. При данном виде ПДП скорость обмена ограничивается длительностью циклов запоминающих устройств (ЗУ), быстродействием самого КПДП и скоростью выдачи/приема данных ПУ.

Взаимодействие блоков микропроцессорной системы при ПДП показано на рис. 3.6.1. ЦП выполняет операцию программирования КПДП, настраивая его на определенный режим работы, и может читать состояние контроллера.

Взаимодействие устройств микропроцессорной системы при ПДП.

Рис. 3.6.1. Взаимодействие устройств микропроцессорной системы при ПДП.

Функции контроллера ПДП

  • 1. Управление системными шинами (опрос, захват, высвобождение).
  • 2. Формирования адреса ОЗУ и управление адресными линиями.
  • 3. Управление пересылкой данных (необходимо устанавливать память в режим записи или чтения).
  • 4. Подсчет количества переданных единиц информации.
  • 5. Определение момента окончания процедуры обмена.
  • 6. Управление режимом ПДП (направление передачи, способ определения конца обмена и т. д.).

Для возможности сопряжения ЭВМ с несколькими ПУ контроллер ПДП должен иметь централизованную структуру и уметь обрабатывать запросы от ПУ [3].

Контроллеры ПУ обычно имеют несколько программно доступных регистров: команд, адреса, числа слов.

В качестве примера КПДП возьмем БИС Intel 8237A (К580ВТ57), структура которой показана на рис. 3.6.2.

В каждом из каналов контроллера размещено по пять регистров, а именно: 2 регистра адреса (базовый РАi. б и текущий РАi. т), 2 регистра счета слов (базовый РСi. б и текущий РСi. т) и регистр режима РРi.

При программировании в оба РА загружается одно и то же значение адреса, а в оба РС — одно и то же значение размера блока. При ПДП меняются состояния текущих регистров адреса и счета слов. Оба они работают в режиме счетчиков и при передаче очередного слова регистр адреса инкрементируется или декрементируется (в зависимости от программирования контроллера), а регистр счета слов декрементируется. Когда РС дойдет до нулевого состояния, выработается сигнал конца счета. Этим заканчивается режим блочного обмена.

Регистр режима (РР) позволяет настраивать: режим работы контроллера (по требованию, одиночные передачи, блочные передачи, каскадированная схема); тип передач (контроль, запись, чтение, запрещено); произвести выбор канала; направление счета регистра адреса.

Регистр управления (РУ) программируется процессором, сбрасывается по сигналу RST# и позволяет: настроить полярность линий DACK и DRQ; установить формат записи (удлиненная, обычная); установить вид приоритета фиксированный, кольцевой).

Регистр состояния (РС) содержит информацию о текущем состоянии контроллера и может читаться процессором. РС позволяет определить, какие каналы закончили ПДП и какие требуют его.

Регистр масок (РМ) содержит 4 бита, соответствующие 4-м каналам, при установке бита запрещается действие входного запроса DRQ.

Регистр запросов (РЗ) позволяет контроллеру реагировать на запросы ПДП, исходящие от программ. Каждый канал имеет свой бит, биты немаскируемы, но подчиняются требованиям приоритетности.

Временный регистр (ВР) используется при передачах типа «память-память» для временного хранения данных и всегда содержит информацию, переданную в предыдущей операции.

Рис. 3.6.2. Структура КПДП

В работе КПДП можно выделить 2 фазы: простоя и активную. В фазе простоя контроллер находится, когда на его входах нет запросов ПДП. В этой фазе контроллер может быть запрограммирован с помощью процессора. Состояние программируемости продолжается и после начала действия ПДП, до момента, когда контроллер запросил захват шины (сигнал HRQ), но еще не получил от процессора ответа (HLDA) о предоставлении ПДП. При простое контроллер постоянно (в каждом такте) проверяет входные линии запросов DRQ (не поступил ли запрос от ПУ) и CS# (не обращается ли процессор к регистрам контроллера). В последнем случае линии адреса контроллера выбирают регистры, а по стробам IOW# и IOR# производится запись или чтение.

После поступления сигнала HLDA, когда процессор освободил шины системы, начинаются рабочие состояния контроллера. Они проходят в активной фазе и, если требуется, вводятся такты ожидания с учетом сигнала готовности/неготовности READY участников обмена (входного сигнала контроллера). Для передачи «ПУ->Память» генерируются пары одновременных сигналов IOR# и MEMW# для передач «память -> ПУ» — пары IOW# и MEMR#.

Запрос незамаскированного канала порождает запрос прерывания HRQ для процессора, реализующего один из 4-х вариантов ПДП, указанными битами регистра режима.

Рассмотрим работу контроллера. В исходном состоянии запрограммированный контроллер ожидает запросы от ПУ. По линиям DRQ ПУ сообщают о своей готовности к обмену. Получив сигнал DRQ, контроллер транслирует его в запрос для МП по его входу HOLD выдачей сигнала HRQ, сигнализирующего о необходимости отключения МП от системных шин. Контроллер ожидает отключения от системной шины ЦП. Получив сигнал HLDA, контроллер определяет канал с высшим приоритетом и начинает сам управлять шинами. Обмен начинается с подготовки адреса ячейки памяти и вырабатывается сигнал AEN, блокирующий реакцию других устройств на выставленный контроллером адрес. На шине адресов выставляется младшая часть адреса, а на шине данных — старшая. Старшая часть адреса сопровождается сигналом ADSTB, записывающим его во внешний регистр для последующей непрерывной выдачи на соответствующие линии AB.

Без вмешательства процессора передается блок данных. Вырабатываются сигналы чтения ВУ IOR# или памяти MEMR# в зависимости от направлений обмена.

В режиме записи в ВУ или памяти контроллер может находится произвольное число тактов в зависимости от готовности памяти (при ожидании). При записи для управления памятью выдается сигнал MEMR# (для ВУ — IOW#).

Во время передачи последнего байта выдается сигнал конца счета и производится подготовка к следующему циклу.

Для увеличения числа каналов ПДП несколько контроллеров могут объединяться в многоуровневую схему с подключением линий HRQ и HLDA контроллеров следующего яруса к входам DRQ и DACK предыдущего.

Запросы контроллеров второго яруса распространяются через схемы приоритета первого яруса. Контроллер первого яруса именно для этого и используется, он не оперирует адресами и другими управляющими сигналами. Его роль состоит в принятии сигналов DRQ и DACK, выработке HRQ и принятии HLDA.

Обязательным является реакция всех устройств, работающих на системных шинах, на сигнал AEN, который говорит о начале ПДП. В противном случае неизвестно что будет передаваться.

Показать весь текст
Заполнить форму текущей работой