Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Контроллер прерываний К1810ВН59А




В МПС, базирующихся на МП К1810, обработку запросов на прерывание от ВУ выполняет БИС К1810ВН59А – программируемый контроллер прерываний (ПКП). БИС ПКП обеспечивает управление 8-ю приоритетными внешними прерываниями, т.к. имеет 8 выводов для запросов на прерывание. Имеет возможность организации каскадирования путем подключения нескольких БИС ПКП, один из которых является ведущим, а остальные ведомыми. При этом число линий запросов на прерывание от ВУ может быть увеличено до 64-х. Допускается программное маскирование любого запроса на прерывание.

Структурная схема БИС ПКП приведена на рис. 2.3. Ниже приведены назначения выводов контроллера:

- D7-D0 – выводы данных. Для взаимодействия регистров БИС с ЦП по шине данных МПС.

- – чтение. Сигнал на этом выводе позволяет считывать из контроллера содержимое адресуемого внутреннего регистра на ШД (IRR, ISR, IMR или наличие приоритетного запроса).

- – запись. Сигнал на этом выводе позволяет загрузить с ШД информацию в адресуемый регистр контроллера.

- - выбор БИС. Сигнал на этом выводе разрешает связь контролера с ШД, т.е. идентифицирует обращение ЦП к контроллеру.

- А0 – адресный вывод. Поступающий на этот вывод сигнал определяет адресацию внутренних регистров контроллера. Используется при загрузке приказов инициализации и рабочих приказов и считывании параметров состояния контроллера. Подключается к младшему разряду А0 шины адреса МПС. Для каждого контроллера необходимо зарезервировать два адреса (четный с А0=0 и нечетный с А0=1).

 

 

O C W 3
O C W 2
I C W 4
I C W 3
I C W 2
I C W 1
  ШПр
  Сброс запросов   Приказы инициализации Рабочие приказы

 

#SP/#EN АS2 CАS2

       
   

 


ISR
IRR IRR
САS1

D7-D0

САS0

 


# CS

 


O C W 1 Регистр масок
А0


IR0

 
 

 


INT IR1

       
   


IR2

# INTА


IR3

 
 

 


IR4

 


IR5

 
 

 


IR6

 
 


# WR

IR7


# RD

 


Рис.2.3. Структура программируемого контроллера прерываний

 

 

- INT – запрос прерывания. Предназначен для выдачи в ЦП сигнала запроса прерывания.

- – подтверждение прерывания. Для приема сигналов подтверждения прерывания от ЦП. При переходе в режим прерывания ЦП выдает два активных импульса .

- IR7-IR0 – запросы от ВУ. Для приема сигналов запросов от ВУ или от ведомых контроллеров прерываний.

- CAS2-CAS0 – идентификатор ведомого контроллера. Используются при наличии в системе нескольких контроллеров прерываний (ведущего и ведомых). Эти выводы являются выходными для ведущего контролера и входными для ведомых.

/ - Вывод выполняет две функции (вход-выход). Как вход определяет, каким является контроллер: ведущим ( / =1) или ведомым ( / =0). Как выход осуществляет запрещение сигналом 0 всех подключенных к ШД МПС устройств, когда данные передаются из контроллера в ЦП.

Для управления контроллером предусмотрены 7 восьмибитовых программируемых регистра, которые разделены на две группы. Первую группу образуют регистры (ICW1- ICW4) – регистры приказов инициализации. Вторую группу – регистры (OCW1-OCW3) – регистры рабочих приказов. Загрузка регистров первой группы выполняется процедурой инициализации при включении МПС, и в процессе работы содержимое этих регистров не меняется. Рабочие приказы используются для динамического управления обработкой прерываний.

Обращение ЦП к регистрам контроллера прерываний организовано следующим образом: Регистры ICW1, OCW2, OCW3 имеют чётный адрес (при А0 = 0), а регистры ICW2, ICW3, ICW4, OCW1 имеют нечётный адрес (при А0 =1). При записи информации в регистры инициализации должен быть строгий порядок обращения к регистрам. Сначала нужно обратиться к регистру ICW1, а затем последовательно к регистрам ICW2, ICW3, ICW4. Чтобы определить к какому из регистров с чётным адресом обращается ЦП, контроллер анализирует значения битов D4 и D3 в посылаемом ЦП байте данных. Если D4=1, то данные заносятся в регистр ICW1. Если D4=0, то данные заносятся в регистр OCW2, если D3=0, либо в регистр OCW3, если D3=1.

Кроме регистров управляющих контроллером в схему БИС ПКП входят:

· IRR – регистр запросов;

· ШПр – шифратор приоритетов;

· ISR - регистр обслуживаемых запросов.

Эти узлы предназначены для восприятия и управления очередностью обработки прерываний на входах запросов IR7-IR0 согласно заданному правилу приоритетов. Запрос по входу IRi фиксируется установкой в 1 i-го разряда регистра IRR. После этого установленный в 1 бит регистра IRR сравнивается с соответствующим битом регистра масок IMR (OCW1). Если бит маски содержит 0, запрос передается в ШПр, в противном же случае запрос блокируется. Когда запрос прерывания подается в ШПр, проверяется его приоритет. При поступлении нескольких запросов двоичный код номера запроса с наивысшим приоритетом появляется на выходе ШПр. Этот код сравнивается с номером самого приоритетного разряда с единичным значением в регистре ISR, где хранятся текущие обрабатываемые запросы. Если приоритет поступившего запроса оказывается более высоким, на выходе INT контроллера прерываний формируется сигнал 1.

Если флаг IF=1, т.е. прерывания разрешены, ЦП по завершению текущей команды реализует затребованный запрос на прерывание. ЦП возвращает в контроллер прерываний два отрицательных импульса по линии . Первый импульс блокирует входы регистра IRR вплоть до появления второго импульса , устанавливает бит регистра ISR соответствующий входу запроса в 1 и сбрасывает соответствующий бит регистра IRR. По второму импульсу контроллер передает по линиям D7-D0 в ЦП код типа прерывания для данного запроса, сформированный в регистре ICW2. Если бит автоматического окончания прерывания (AEOI) в ICW4 установлен в 1, то по окончании второго импульса сбрасывается бит ISR, который был установлен первым импульсам . В противном случае бит ISR не сбрасывается до выдачи в регистр OCW2 соответствующего приказа окончания прерывания (приказа EOI).

Форматы регистров инициализации и рабочих регистров показаны на рис. 2.3. Биты регистра ICW1 (управление БИС) определяются следующим образом.

· Биты D7-D5, D2 – используются только в том случае, если МПС построена на базе МП К580.

· Бит D4 всегда установлен в 1. Определяет, что данные, передаваемые ЦП по четному адресу, предназначены для регистра ICW1.

· Бит D3 (LTIM) определяет режим запуска фронтом (LTIM=0) или уровнем (LTIM=1). При запуске фронтом i-й бит регистра IRR сбрасывается при установке соответствующего бита регистра ISR в 1. При запуске уровнем i-й бит регистра IRR не сбрасывается, пока вход запроса IRi=1. Это запрещает переход к обработке менее приоритетных прерываний, пока данное ВУ не снимет свой запрос.

· Бит D1 (SNGL) показывает, каскадируется ли данный контроллер с другими контроллерами прерываний. Если в системе один контроллер, то SNGL=1.

· Бит D0 (IC4) устанавливается в 1, если при инициализации используется приказ ICW4. В МПС с МП К1810 приказ ICW4 должен быть всегда, поэтому D0=1.

Регистр ICW2 (тип прерывания) предназначен для формирования параметра type соответствующего поступившему запросу. При инициализации в приказе ICW2 задается тип прерывания, присвоенный запросу IR0. При этом биты D2-D0 должны содержать нули, т.к. они определяют уровень запроса, т.е. номер входа запроса. При поступлении в контроллер прерываний первого импульса в биты D2-D0 регистра ICW2 записывается номер обслуживаемого запроса, поступившего с ШФ.

Информация в регистр ICW3 (управление ведомым) заносится только в том случае, если в МПС используется несколько контроллеров прерываний, один из которых является ведущим, остальные – ведомыми. Если в системе один контроллер (в регистре ICW1 бит SNGL=1), то ЦП приказ ICW3 не выводит. На рис.2.4. показаны связи при каскадировании ведущего и двух ведомых контроллеров между собой. Запрос на прерывание в ЦП по линии INT выдает только ведущий контроллер. Выход INT ведомого контроллера подается на один из входов IR ведущего контроллера.

Структура приказа ICW3 для ведущего контроллера и для ведомых контроллеров различна. Для ведущего контроллера бит i устанавливается в 1, если к его входу IRi подключен ведомый. Иначе этот бит должен быть сброшен, т.е. равен 0. Как показано на рис. 2.4., ведомые контроллеры подключены ко входам IR2 и IR6 ведущего. Поэтому для ведущего контроллера приказ ICW3 будет иметь вид <01000100>. Для ведомого контроллера три младших бита D2-D0 приказа ICW3 определяет код идентификации ведомого контроллера. Он должен совпадать с номером i-го входа (IRi) ведущего, к которому подключен

 

 

 


Рис. 2.4. Система прерываний с несколькими контроллерами ПКП

 

 

вход INT данного ведомого. В соответствии с соединениями на рис. 2.4 для одного ведомого контроллера приказ ICW3 будет иметь вид <00000010>, для другого ведомого - <00000110>.

При кодировании информации для регистра инициализации ICW4 (управление режимом) назначение битов следующее:

· Биты D7-D5 всегда равны 0.

· Бит D4 (SFNM) устанавливается в 1, если используется специальный вложенный режим, применяемый в МПС с несколькими контроллерами. Иначе SFNM=0. Процедура реализации специального вложенного режима рассмотрена в [2].

· Бит D3 (BUF) определяет наличие буферов, подключаемых к ШД системного интерфейса МПС и одновременно способ использования вывода / . При BUF=1 вывод / используется для выдачи сигнала для запрещения системных буферов на время передачи данных из контроллера прерывания в ЦП. Если BUF=0 (системные буфера отсутствуют), то / – вход, на который следует подать 1. Все это имеет смысл только для ведущего контроллера при каскадировании, либо в системах с одним контроллером. Для ведомых контроллеров значение BUF безразлично.

· Бит D2 (M/ ). Этот бит игнорируется, если BUF=0. Если BUF=1, то в системах с одним контроллером бит M/ =1, а в системах, использующих каскадирование, для ведущего контроллера M/ =1, для ведомого - M/ =0.

· Бит D1 (AEOI) определяет автоматический сброс бита регистра ISR. Если AEOI=1, то в конце второго импульса сбрасывается бит ISR, который вызвал прерывание. Если AEOI=0, то для сброса бита ISR нужно в программе прерывания выдать приказ окончания прерывания EOI.

· Бит D0 ( РM) указывает на базовый МП системы, в которой находится контроллер прерываний. Для систем на базе МП К1810 состояние PM=1.

Рассмотрим пример инициализации, т.е. загрузки данных в регистры приказов инициализации ICW1 - ICW4 (адреса портов контроллера прерываний 50H и 51H):

 

mov AL, 13H

out 50H, AL

mov AL, 18H

out 51H, AL

mov AL, 0DH

out 51H, AL

Первые две команды определяют запуск фронтом, наличие в системе одного контроллера прерываний и необходимость загрузки регистра ICW4. Следующие две команды задают 5 старших бит типа прерывания равными 00011, т.е. определяют, что тип прерывания для запроса по входу IR0 равен 18H. Приказ ICW3 не выводится, т.к. SNGL=1. Следовательно, последние две команды определяют загрузку в ICW4 байта 0DH. Эта величина сообщает следующую информацию: специальный вложенный режим не применяется; сигнал / используется для запрещения системных буферов; в системе используется один контроллер прерываний; для сброса бита ISR необходим приказ EOI; контроллер работает в системе на базе МП К1810.

Кроме приказов инициализации в контроллер заносятся рабочие приказы в регистры OCW1–OCW3. Приказ OCW1 применяется для маскирования запросов прерываний. Если бит маски, соответствующий запросу прерывания, содержит 1, то запрос по этому входу блокируется. Приказ OCW1 вводится по нечетному адресу контроллера (при A0=1).

Приказы OCW2 и OCW3 управляют режимами работы контроллера и обработкой концов прерываний. Рассмотрим назначение битов приказа OCW2. Биты D2-D0 (L2, L1, L0) определяют уровень IR, т.е. номер входа запроса от ВУ, биты D3 и D4 равны 0, бит D5 предназначен для задания приказов EOI, а биты D6 (SL) и D7 (R) управляют уровнями IR.

Если в регистре инициализации ICW4 бит D1 (AEOI)=0, это указывает на программный сброс бита ISR, вызвавшего прерывание. Тогда, в тексте программы прерывания необходимо выдать приказ EOI, выполняющий этот сброс, который реализуется посредством установки в 1 бита D5 в OCW2.

Когда выдается приказ OCW2, возможны четыре комбинации бита D7 (бит R - ротация) и бита D6 (бит SL – установка уровня), которые приведены в табл. 2.

Рассмотрим эти комбинации. При значении битов R и SL равными 0,0 устанавливается режим обычных приоритетов. В этом режиме запрос от ВУ, подключенного к выводу IR0, имеет наивысший приоритет. Далее следуют приоритеты запросов IR1, IR2 и т.д. Поэтому при одном установленном бите ISRn контроллер не реагирует на запросы IR7, …IR(n+1), но распознает незамаскированные запросы на выводах IR(n-1),…IR0. Запросы с меньшими приоритетами ожидают и обрабатываются по мере сброса битов ISRj с большими приоритетами. В МПС наиболее часто применяется режим обычных приоритетов. В этом случае для выдачи приказа EOI, в регистр OCW2 нужно занести байт в виде <00100000>. Но бит ISR можно сбросить явно, выдавая приказ OCW2, в котором биты R, SL и EOI содержат комбинацию 011, а поле L2-L0 идентифицирует номер сбрасываемого бита. Если, например, в OCW2 посылается байт <01100011>, сбрасывается бит ISR3.

Таблица 2

 

R SL Д Е Й С Т В И Я
    Режим обычных приоритетов
    Сбрасывает бит ISR, определяемый полем L2-L0
    Циклически изменяет приоритеты влево на 1 позицию
    Назначает позиции, определенной полем L2-L0, низший приоритет с цикл. Изменением остальных приоритетов

Приказ OCW2 может циклически изменять приоритеты путем сдвига приоритетов на одну позицию влево при R=1 и SL=0. Например:

IR0, IR1,…….IR6, IR7 IR1, IR2, ……. IR7, IR0.

Приказ OCW2 может изменять приоритеты, назначая низший приоритет любому из входов IR при R=1 и SL=1. Например, для назначения входу запроса IR4 низшего приоритета, надо выдать приказ OCW2=<11100100>. При этом получается следующий порядок приоритетов:

IR5, IR6, IR7, IR0, IR1, IR2, IR3, IR4.

Выдача процессором приказа OCW2 с EOI=0 имеет аналогичные последствия, но только без сброса бита регистра ISR.

Приказ OCW2 имеет единичное действие – в момент его поступления в контроллер. Возможность ротации позволяет динамически корректировать приоритеты ВУ в процессе работы системы без перекоммутации входов контроллера. Режим, установленный приказом OCW2 (порядок приоритетов), остается неизменным вплоть до получения от ЦП очередного приказа. Аналогично с приказами OCW3.

Рассмотрим назначение битов рабочего приказа OCW3. Некоторые биты приказа имеют постоянное значение. Это биты D7=0, D4=0 и D3=1.

- Биты D6 (ESMM) и D5 (SMM) определяют режим специальной маски. Если ESMM=1 и SMM=1, то при IF=1 незамаскированные запросы прерываний обрабатываются в порядке их поступления, приоритеты игнорируются. Выдача приказа OCW3, в котором ESMM=1, а SMM=0 восстанавливает приоритетное упорядочивание согласно последнему приказу OCW2. Значение ESMM=0 запрещает режим специальной маски.

- Бит D2 (P) – бит полинга (опроса). Этот режим используется при IF=0, когда прерывания запрещены. Но при этом запросы от ВУ фиксируются в регистре IRR. При установке в OCW3 значения бита P=0 контроллер переводится в режим опроса со стороны ЦП. В этом случае при выполнении команды IN AL, PORT, где PORT – четный адрес контроллера прерываний (A0=0), инициируемый командой сигнал на входе , передает в регистр AL процессора байт, формат которого приведен на рис. 2.5. При этом соответствующий бит регистра ISR устанавливается в 1 (аналогично действию первого импульса ). Значение бита I=1 показывает наличие запроса прерывания, требующего обработки, а поле <W2, W1, W0> дает уровень этого запроса, т.е. номер входа запроса. Пусть, например, приоритеты упорядочены как IR3, IR4, ….. IR7, IR0, IR1, IR2 и от ВУ поступили запросы на входы IR1 и IR4. Так как запрос IR4 имеет более высокий приоритет, то в ЦП будет введен байт с I=1 и значениями <W2, W1, W0> = <1, 0, 0>.

ЦП может прочитать содержимое регистра запросов IRR и регистра обслуживаемых прерываний ISR. Если бит P=0, то состояние битов D1 (RR) и D0 (RIS) указывает, какой из регистров IRR или ISR может прочитать ЦП по команде IN AL, PORT при A0=0. Если RR=1 и RIS=0, в AL заносится содержимое регистра IRR, а при RR=1 и RIS=1 – регистра ISR.

 

 
 

 


Рис. 2.5. Формат байта, передаваемого в ЦП в режиме опроса

 

Содержимое регистра маски OCW1 (IMR) можно прочитать в любой момент времени по команде IN AL, PORT при A0=1. Чтение ЦП информации из указанных регистров позволяет проводить текущий контроль состояния контроллера.

Контрольные вопросы и задания

1. Для инициализации БИС ПКП ЦП вводит следующие ассемблерные команды:

mov AL, 00010011B

out 20H, AL

mov AL, 00111000B

out 21H, AL

mov AL, 00000101B

out 21H, AL

mov AL, 00100101B

out 21H, AL

mov AL, 00000000B

out 20H, AL

mov AL, 00001000B

out 20H, AL

По вводимой информации определить:

1.1. Один или несколько контроллеров используются для организации внешних прерываний в МПС?

1.2. Какой тип прерывания соответствует запросу от ВУ, поступающему на вход IR3 ПКП?

1.3. Для сброса бита ISR необходим приказ EOI или нет?

1.4. Какой уровень (вход запроса от ВУ) обладает наивысшим приоритетом?

1.5. В контроллер ПКП одновременно поступили запросы на входы IR0, IR1, IR4.

а) Приведите содержимое регистра IRR при действии импульса 1.

б) Приведите содержимое регистра ISR при действии импульса 2.

в) Какой код передает импульс 2 на линии D7-D0 ПКП?

1.6. В текст программы прерывания требуется ввести приказ EOI. Составьте содержимое байта для этого приказа.

2. Для чего необходим режим каскадирования ПКП и как он реализуется?

3. Как можно изменять приоритеты уровней (запросов от ВУ)?

4. Как можно реализовать чтение содержимого регистра IRR или регистра ISR?

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

 

При работе МПС часто возникают ситуации, когда требуется передать данные из ВУ в память или наоборот – из памяти во ВУ. Если скорость приема или передачи данных ВУ невелика, то взаимодействие с ним организуется с помощью программного ввода-вывода (с помощью команд IN, OUT).

Некоторые ВУ, такие как накопители на магнитных дисках, алфавитно-цифровые преобразователи, работают со столь высокой скоростью, что быстродействие ЦП при программном вводе-выводе оказывается недостаточным. В таких случаях скорость передачи данных должна определяться самими ВУ. Для организации быстрой передачи данных между памятью и ВУ, минуя ЦП, который эту передачу организует медленно, используется режим прямого доступа к памяти (ПДП).

Для реализации режима ПДП в МПС используется аппаратный узел – контроллер ПДП. Его назначение – управление обменом информации между памятью и ВУ. Общая организация контроллера ПДП и его основные связи показаны на рис.3.1. Кроме обычных регистров управления и состояния должны быть регистры адреса и счетчик слов, предназначенные для цикла передачи. Прежде чем выполнить режим ПДП контроллер ПДП программируется ЦП путем загрузки параметров режима и параметров передачи в эти регистры.

 

 

 

 


Рис. 3.1. Организация контроллера ПДП

 

Отметим основные параметры программирования:

- цикл обмена (запись (ВУ ® память) или чтение (ВУ память));

- адрес первой ячейки памяти для передачи;

- количество слов, предназначенных для передачи.

Становясь в режиме ПДП ведущим шины, контроллер ПДП помещает адрес ячейки памяти на системную шину адреса (ША) и посылает в интерфейс необходимые сигналы чтения/записи для управления обменами по системной шине данных (ШД). Контроллер ПДП может вернуть управление процессору после передачи одного байта и при готовности очередного байта вновь запросить шину у ЦП сигналом HRQ (запрос захвата). Но может и непрерывно управлять шиной вплоть до завершения передачи блока в целом.

На рис. 3.2 приведена структурная схема МПС с контроллером ПДП.

 

 

 


Рис. 3.2. Структурная схема МПС с контроллером ПДП

 

 

Для осуществления режима ПДП контроллер должен выполнять ряд последовательных операций:

1. Принять запрос DREQ на выполнение режима ПДП от ВУ.

2. Сформировать запрос HRQ на захват шин и послать его в ЦП.

3. Принять сигнал HLDA (разрешение захвата), выдаваемый ЦП о том, что ЦП разрешает контроллеру ПДП управлять передачей, т.е. захват шин. При этом ЦП переходит в z-состояние (отключается от шин системного интерфейса).

4. Сформировать сигнал DACK, сообщающий ВУ о начале выполнения режима ПДП.

5. Сформировать и выдать на ША адрес ячейки памяти, предназначенной для обмена.

6. Выработать два активных управляющих сигнала в зависимости от заданного цикла обмена: запись ( и ) или чтение ( и ).

При выполнении этой операции данные либо читаются из ВУ и записываются в память по адресу, выставленному контроллером, либо читаются из памяти и передаются во ВУ.

По окончании передачи цикл ПДП заканчивается либо повторяется, изменяя адрес ячейки памяти. Циклы ПДП выполняются с последовательно расположенными ячейками памяти, поэтому контроллер ПДП должен иметь счетчик байт. Для окончания режима ПДП контроллер снимает запрос HRQ на захват шин.

Контроллер ПДП К1810 ВТ37

 

В МПС, построенных на базе МП К580, К1810, К1821, для реализации режима ПДП используется БИС К1810ВТ37, называемая контроллером ПДП. Контроллер ПДП реализует режим ПДП по четырем независимым каналам, т.е. позволяет подсоединять четыре ВУ и позволяет реализовать передачу «память – память». Контроллер имеет возможность организации каскадирования, что увеличивает число ВУ, работающих в режиме ПДП. Суммарный объем обменов с каждым ВУ – до 64 Кбайт. Это определяется разрядностью регистров адреса и циклов (объема передачи). Для обращения к адресному пространству памяти 1 Мб (20 разрядов адреса) для задания базовых адресов сегмента памяти используется внешний порт, который программируется отдельно. Запросы ПДП от разных ВУ удовлетворяются на приоритетной основе.

Структурная схема БИС контроллера ПДП представлена на рис.3.3. В его состав входят: буфер данных (БД), предназначенный для организации двунаправленной связи внутренней шины БИС контроллера с ШД системного интерфейса; блок управления контроллером (БУК), формирующий сигналы управления узлами контроллера при передаче

 

 


Рис. 3.3. Структурная схема контроллера ПДП

 

данных в режиме ПДП; блок управления передачей типа «память – память» (БУПП); четыре одинаковых канала. Каждый канал реализует запрограммированный режим ПДП для одного ВУ и работает независимо от других каналов.

Назначение выводов контроллера ПДП:

· D7 – D0 – выводы данных.

· CLK – вход синхронизации.

· – выбор кристалла.

· RESET – сброс.

· READY – готовность. Используется при работе с медленнодействующими ВУ.

· DREQ3 – DREQ0 – входы запросов на ПДП от ВУ.

· DACK3 – DACK0 – подтверждение ПДП. Полярность активных сигналов DREQ и DACK задается программно.

· HRQ – выход запроса захвата.

· HLDA – подтверждение захвата.

· – чтение (вход/выход). Как вход используется ЦП для чтения содержимого внутренних регистров контроллера ПДП. Как выход в режиме ПДП разрешает выдачу данных из ВУ.

· - запись (вход/выход). Как вход используется для загрузки данных в регистры контроллера ПДП. Как выход в режиме ПДП разрешает запись данных в регистры ВУ.

· - чтение из памяти. Выход, используемый в режиме ПДП для управляющего сигнала чтения из памяти.

· - запись в память. Выход, используемый в режиме ПДП для управляющего сигнала, записи в память.

· А3 – А0 – адресные входы/выходы. Как входы используются для адресации регистров контроллера ПДП. Как выходы в режиме ПДП используются для передачи четырех младших разрядов адреса ОЗУ.

· А7 – А4 – адресные выходы.

· AEN – разрешение адреса.

· ADSTB – строб адреса.

· - окончание процесса (вход/выход). Используется для указания окончания процесса передачи данных в режиме ПДП. Подавая на этот вывод сигнал 0, можно прекращать передачу данных по обслуживаемому в данный момент каналу. По завершении работы в режиме ПДП одним из каналов, контроллер сам устанавливает сигнал на выводе =0.

Для уменьшения числа выводов в конструкции БИС 16-разрядный адрес ячейки памяти на ША МПС выдается следующим образом. (рис.3.4).

 
 

 

 


Рис. 3.4. Схема подключения адресных выводов

 

Выводы А7 – А0 контроллера ПДП подключаются непосредственно к ША. Восемь старших разрядов адреса ячейки памяти А15 – А8 выдаются через выводы D7 – D0 контроллера и поступают в регистр-защелку, где фиксируются сигналом ADSTB (строб адреса). По сигналу AEN старший байт адреса А15 – А8 выставляется на ША.

Контроллер включает 4 канала, каждый из которых состоит из 4-х 16-разрядных регистров CAR, BAR, CWR, WCR и одного 6-разрядного регистра MR.

CAR – регистр текущего адреса памяти. При выполнении цикла ПДП его содержимое увеличивается или уменьшается на единицу. Этот регистр можно загрузить и прочитать.

CWR – регистр циклов ПДП. Также допускает запись и чтение ЦП. Хранит число слов, предназначенных для передачи. Загружаемая в него константа должна быть на единицу меньше объема передаваемых слов. При выполнении циклов ПДП регистр работает в режиме вычитающего счетчика. При переходе регистра из нулевого состояния в состояние FFFFH вырабатывается сигнал окончания передачи, и канал устанавливается в состояние «Конец счета».

BAR и WCR – базовые регистры адреса (BAR) и циклов ПДП (WCR). Программно не доступны. При загрузке в них дублируется содержимое CAR и CWR соответственно. В процессе режима ПДП их состояние не меняется. Они используются в режиме автоинициализации для восстановления регистров CAR и CWR по окончании передачи по данному каналу. Загрузка всех четырех регистров на этапе инициализации выполняется побайтно. При этом в каждый момент может загружаться только один байт – старший либо младший. Поэтому для занесения в эти регистры исходных параметров нужно выполнить две команды загрузки.

Регистр режима MR определяет режим работы канала. Информация в регистр режима заносится по команде «Установка режима канала», формат которой представлен на рис.3.5. В младших разрядах D1, D0 команды указывается код номера канала. С помощью разрядов D2, D3 задается один из типов передачи – чтение, запись, проверка. Разряд D4 определяет режим автоинициализации. Если D4=1 (условие автоинициализации), то по окончании режима ПДП канала его регистры CAR и CWR загружаются параметрами регистров BAR и WCR соответственно. Разряд D5 определяет режим изменения регистра CAR. Если D5=0, то после каждого цикла ПДП происходит увеличение содержимого CAR; если D5=1, то – уменьшение. Разряды D6, D7 определяют режимы работы канала: передача по требованию, одиночная передача, блочная передача, каскадирование.

Блок управления контроллером вырабатывает сигналы управления узлами контроллером. В БУК входят два 8-разрядных регистра – регистр команд CR и регистр состояния SR и два 4-разрядных регистра – регистр запросов RR и регистр маски MASK.

Регистр команд CR определяет основные параметры работы канала. Загрузка регистра CR осуществляется командой вывода от ЦП, а сброс – по сигналу RESET или по команде общего сброса. Назначение разрядов регистра показано на рис.3.6. Разряды D0, D1 используются для задания режимов работы каналов 0 и 1 в режиме память – память. Разряд D2 инициализирует контроллер для выполнения ПДП. Разряд D3 определяет режим выполнения циклов ПДП. Если D3=1, циклы ПДП выполняются с пропуском одного такта. Разряд D4 устанавливает режим приоритетов.

Если D4=1, то запросу обслуженного канала присваивается наинизший приоритет – это режим вращения приоритета. Если D4=0, каналу 0

присваивается высший приоритет с последовательным понижением приоритетов последующих каналов. Разряд D5 устанавливает режим удлиненного цикла записи. Если D5=1, то сигналы и вырабатываются с двойной длительностью. Разрядами D6 и D7 программируются активные уровни сигналов запросов ПДП (DREQ) и сигналы подтверждения ПДП (DACK).

 

 

 

 


Рис. 3.5. Формат команды ”Установка режима команды”

 

В регистре состояния RS фиксируются некоторые параметры состояния каналов, которые могут быть прочитаны ЦП для анализа. Формат регистра состояния представлен на рис.3.7. Его поле D3 – D0 показывает факт окончания счета каналами 3 – 0 соответственно (в разряд , i – номер канала, записывается 1 по сигналу окончания ). При подаче внешнего сигнала в контроллер (окончание процесса) происходит установка в 1 того из разрядов, номер которого совпадает с номером канала, работающего в режиме ПДП. Все эти разряды сбрасываются по сигналу RESET либо по команде чтения SR. Поле D7 – D4 фиксирует наличие запросов ПДП по каналам 3 – 0 аппаратных (через ) либо программных.

 

 

 


Рис. 3.6. Формат регистра команд CR

 

Регистр запросов RR. Контроллер может обслуживать запросы на ПДП, формируемые как аппаратно – по входам DREQ, так и программно – по состоянию разрядов регистра запросов RR. Каждый разряд этого регистра соответствует запросу по одному из каналов. Каждый из разрядов регистра RR устанавливается командой установки запросов на ПДП, формат которой представлен на рис.3.8. Команда выдается ЦП при необходимости программного запроса по каналу. По окончании обслуживания разряд сбрасывается сигналом ТС соответствующего канала или сигналом . Сброс всех разрядов регистра RR осуществляется по сигналу RESET. Программные запросы обрабатываются только в режиме блочной передачи и не маскируются.

 

 

 

 


Рис. 3.7. Формат регистра состояния SR

 

 
 

 


Рис. 3.8. Формат команды установки запросов на ПДП

 

 

Регистр маски MASK, с помощью которого могут быть замаскированы сигналы DREQ каждого канала. Разряды регистра MASK могут быть установлены специальной командой установки всех разрядов маски (рис.3.9) или командой установки одного разряда маски для одного канала (рис.3.10). Если канал не запрограммирован на режим автоинициализации, то после поступления сигнала соответствующий каналу раз

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...