3 Организация памяти в микропроцессорных системах


Название3 Организация памяти в микропроцессорных системах
страница4/7
Дата публикации24.07.2013
Размер0.82 Mb.
ТипДокументы
userdocs.ru > Информатика > Документы
1   2   3   4   5   6   7

^ Программирование контроллера осуществляется путем загрузки в специальные регистры двух или трех управляющих слов, форматы которых показаны на Рис. 3.20. Загрузка этих слов осуществляется командами инициализации в начале работы системы.


Команда

A0




7

6

5

4

3

2

1

0

КИ1

0




А7

А6

А5

1

0

F

S

0

КИ2

1




A15

A14

A13

A12

A11

A10

A9

A8

КИ3-1

1




z7

z6

z5

z4

z3

z2

z1

z0

КИ3-2

1




x

x

x

x

x

n

n

n

Рис. 3.20. Форматы команд инициализации контроллера ..ВН59

В команде КИ1 разряд S определяет количество контроллеров прерываний в системе : "1" - один контроллер, "0" - более одного (имеет место каскадирование). Разряд F задает шаг между соседними адресами подпрограмм, обслуживающих прерывания : "1" - 4 байта, "0" - 8 байт.

Разряды A7, A6, A5 вместе со всеми разрядами КИ2 образуют старшие 11 бит адреса подпрограммы. При значении F = 1 вектор прерывания (адресная часть команды CALL) формируется следующим образом :

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 n n n 0 0,

где nnn - номер обслуживаемого запроса на прерывание (номер входа z). Если задан шаг между адресами 8 байт (F = 0), то разряд A5 игнорируется и вектор генерируется след. образом :

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 n n n 0 0 0.

Третья команда инициализации подается (и принимается контроллером) только при наличии нескольких контроллеров в системе (S = 0), причем формат этой команды различен для ведущего и ведомых контроллеров.

Ведущему контроллеру командой КИ3-1 указывается, к каким его входам z подключены ведомые контроллеры (в соответствующем разряде КИ3-1 установлена "1"). "0" в разряде КИ3-1 означает, что на соответствующий вход z подключен обычный источник прерываний.

Каждому ведомому контроллеру в трех младших разрядах КИ3-2 указывается номер входа ведущего контроллера, к которому подключен данный ведомый. Состояние разрядов КИ3-1[7:3] безразлично.

Помимо команд инициализации, выполняемых один раз в начале работы МПС, контроллер в любое время может выполнить команды управления, позволяющие установить маску запросов (КУ1), задать режим приоритета запросов (КУ2) или определить будущую операцию. Форматы команд управления приведены на рис. 3.21.

Команда КУ1 устанавливает новое значение в регистр маски, причем если разряд РгМ установлен в "1", то соответствующий вход z считается замаскированным и прерывание от этого источника запрещено.

Команда

A0




7

6

5

4

3

2

1

0

КУ1

1




m7

m6

m5

m4

m3

m2

m1

m0

КУ2

0




ЦП

К

СВ

0

0

k2

k1

k0

КУ3

0




x

СМ1

СМ0

0

1

СП

Р1

Р0

Рис. 3.21. Форматы команд управления контроллера. .ВН59

КУ2 задает тип приоритета запросов (ЦП = 0 - фиксированный приоритет, z0 -высший, z7 -низший; ЦП = 1 - циклический приоритет). При циклическом приоритете этой же командой задается номер входа (в разрядах k[2:0]), которому присвоен низший приоритет. После обслуживания любого запроса приоритеты входов циклически меняются на одну позицию. Разряд СВ КУ2 позволяет сбросить бит регистра РгС, номер которого задан битами k[2:0] КУ2. Разряд К определяет, используется ли в команде поле k[2:0].

Команда КУ3 позволяет установить или сбросить режим спецмаскирования, при котором на обслуживание принимаются запросы с приоритетом, ниже текущего. КУ3[6:5] = 11 - установить режим спецмаскирования, КУ3[6:5] = 10 - снять режим спецмаскирования, КУ3[6:5] = 0x - не воздействует.

Эта же команда подготавливает в следующем такте один из допустимых к чтению объектов: регистр запросов при КУ3[1:0] = 10; регистр состояний при КУ3[1:0] = 11; номер запроса с наивысшим приоритетом по формату Рис. 3.22 при КУ3[2:0] = 10x. Считывание осуществляется командой IN при A0 = 0, WR = 0. Признак INT отмечает наличие запроса, а код w[2:0] определяет номер незамаскированного запроса с наивысшим приоритетом. Результатом чтения информации по формату Рис. 3. можно воспользоваться при организации программной идентификации источника прерывания.


7

6

5

4

3

2

1

0

INT

x

x

x

x

w2

w1

w0

Рис. 3.22. Формат слова номера запроса с наивысшим приоритетом

Считывание содержимого регистра маски может осуществляться командой IN при
A0 = 1 без предварительной загрузки команды КУ3.

При организации векторных прерываний контроллер, получив запросы на входах z0..z7, фиксирует их в соответствующих разрядах РгЗ. При наличии незамаскированных запросов контроллер формирует для МП сигнал INT, а, получив ответ INTA\, принимает на обслуживание наиболее приоритетный из незамаскированных запросов, для чего

  1. устанавливает в "1" соответствующий разряд РгС;

  2. выдает на шину данных DB код команды CALL (константу CDh);

  3. по второму и третьему сигналу INTA\ выдает на DB адрес подпрограммы обслуживающей выбранное прерывание, сгенерированный по правилам, описанным выше.

^ Использование нескольких контроллеров прерываний. Если необходимо обслуживать в МПС более 8 источников прерываний, то можно использовать несколько контроллеров ..ВН59, причем один из них будет ведущим (для него SP = 1), а остальные (до 8) - ведомые (SP = 0). Все контроллеры связываются линиями каскадирования CAS[2:0] по принципу общей шины, причем линии CAS ведущего контроллера являются выходами, а ведомых – входами (Рис.3.23).

Все контроллеры подключаются к системной шине одинаковым образом, только выходной сигнал INT используется по не одинаково: INT ведущего контроллера подается по системной магистрали на вход INT МП, а INT ведомых подключаются на входы запросов z ведущего контроллера. Некоторые входы z ведущего контроллера и все входы ведомых могут использоваться для приема запросов на прерывание. Максимальное число контроллеров в системе - 9, т.к. к входам ведомых нельзя подключать третий "слой" контроллеров. Максимальное число обслуживаемых запросов - 64.

Все контроллеры инициализируются тремя командами, как было пояснено выше. Если запрос поступает на ведущий контроллер, то он обслуживается так же, как и при единственном контроллере в МПС. Запрос, поступивший на ведомый контроллер, обрабатывается по стандартным правилам и преобразуется в сигнал INT, который в качестве запроса поступает на ведущий контроллер.

Ведущий контроллер обрабатывает все поступившие на его входы запросы согласно заданным приоритетам и формирует сигнал INT для МП. Если запрос, принятый ведущим на обслуживание, поступил от ведомого контроллера (ведущий "знает" об этом из информации, содержащейся в КИ3-1), то ведущий в ответ на первый сигнал INTA\ выдает на DB константу CDh (код команды CALL) и на линии каскадирования CAS[2:0] - номер обслуживаемого входа. Все ведомые контроллеры сравнивают со



Рис.3.23. Каскадирование контроллеров прерывания


стояние линий CAS со своим номером, заданным командой КИ3-2. Ведомый контроллер, опознавший свой номер на линиях CAS, в ответ на второй и третий сигналы INTA\ выдает соответственно младший и старший байт команды CALL - адрес подпрограммы, обслуживающей выбранное прерывание.


    1. ^ Подсистема прямого доступа в память


Рассмотрим вариант программно-управляемого обмена между памятью и внешним устройством в МПС на базе МП i8080. Пусть необходимо передать массив данных длиной L, начиная с адреса ADR на ВУ с адресом AIO. Положим, что начальный адрес массива загружен в регистровую пару HL, а длина массива - в регистр C. Тогда фрагмент программы обмена может иметь следующий вид:

Таблица 3.5

Метка

Мнемокод

Комментарий

Количество

машинных циклов

LM:

MOV A,M

Чтение байта в Акк.

2




OUT AIO

Выдача байта на ВУ

3




INX H

Модификация адреса

1




DCR C

Модификация счетчика

1




JNZ LM

Переход, если массив не исчерпан

3







Всего: 10


Таким образом, для того, чтобы в рамках процедуры копирования массива данных из памяти в ВУ переслать один байт данных потребуется десять машинных циклов (МЦ). Процессоры с более совершенной системой команд могут использовать для этой цели меньшее число МЦ, но все равно их будет более одного.

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

Если в МПС используется несколько ВУ, снабженных каналом ПДП, то целесообразно использовать специальный контроллер ПДП, который обеспечивает программирование каналов ПДП, подключение их к системной шине и дисциплину обслуживания.
3.4.1. Контроллер прямого доступа в память
Микросхема К580ВТ57 предназначена для управления передачей информации между ВУ о ЗУ в режиме ПДП. Основное назначение контроллера - формирование последовательности адресов и управляющих сигналов.

Контроллер ПДП имеет четыре независимых канала обмена. Блок управления каждого канала включает два 16-разрядных регистра : регистр начального адреса РА и регистр управления РУ, причем РУ[13:0] хранит длину передаваемого массива (количество передаваемых байт), а РУ[15:14] - режим работы канала. Структурная схема контроллера и схема подключения его к МПС показана на Error: Reference source not found25. Контроллер включает в себя, помимо четырех каналов ПДП, схему управления, обеспечивающую связь с системной шиной, разрешение конфликтных ситуаций в соответствии с заданной системой приоритетов и управление работой контроллера в различных режимах.

Схема управления содержит два восьмиразрядных регистра, общие для всех каналов - регистр режимов РгР и регистр состояний РгС, причем РгР доступен процессору только по записи, а РгС только по чтению. Форматы регистров РгР и РгС показаны на Рис.3.4.






7

6

5

4

3

2

1

0

Рг Р :

AL

TCS

EW

RP

EN3

EN2

EN1

EN0




Рг С :

0

0

0

UF

TC3

TC2

TC1

TC0

Рис.3.24. Форматы регистров режима и состояния
Рис. 3.25. Контроллер прямого доступа в память
В регистре режимов разряды имеют следующий смысл:

  • A
    L - автозагрузка;

  • TCS - отключение канала;

  • EW - расширенная запись;

  • RP - циклический приоритет;

  • EN[3:0] - разрешение работы каналов 3..0.

В регистре состояния:

  • UF - флаг обновления;

  • TC[3:0] - конец счета в каналах 3..0.

Выводы контроллера можно разделить на две группы : (а) линии связи с ВУ и (б) линии связи с системной шиной МПС.

а)

DRQ[0:3] - запросы от ВУ (каналов) на прямой доступ в ЗУ;

DACK[0:3]\ - разрешения на ПДП внешним устройствам;

TC - конец счета, сигнал H-уровня на этом выходе отмечает последний цикл передачи блока данных;

MARK - маркер - сигнал H-уровня указывает, что до конца передаваемого блока необходимо выполнить число циклов обмена, кратное 128.

б) Линии связи с системной шиной передают стандартные сигналы управления, которые используются традиционно : RESET, READY (контроллер анализирует состояние готовности и при необходимости, как и МП, вставляет такты ожидания Tw), RDM\, WRM\, RDIO\, WRIO\, HRQ, HLDA. Контроллер синхронизируется внешним системным синхросигналом, в качестве которого чаще всего используется Ф2ттл. Сигнал ADSTB не поступает на системную шину и служит для "защелкивания" старшего байта адреса, передаваемого по шине данных в режиме ПДП (см. ниже). Сигнал AEN отмечает время действия цикла ПДП и может быть использован в системе для предотвращения захвата шины другими устройствами. Вход CS\ обеспечивает выбор микросхемы при адресной селекции.

Перед началом работы контроллера по сигналу RESET очищаются регистры всех каналов и регистр режимов РгР. Очистка РгР приводит к запрету работы всех каналов во всех режимах и предотвращает конфликты на шинах при подаче напряжения питания. Разрешение работы каналов не должны включаться, пока в регистры адресов и управления соответствующих каналов не будут загружены необходимые числа. В противном случае запрос DRQ от ВУ может вызвать циклы ПДП и порчу данных в памяти.
1   2   3   4   5   6   7

Похожие:

3 Организация памяти в микропроцессорных системах iconОрганизация памяти первого уровня
Память 1 уровня – сверхоперативная память. Основное назначение – повысить быстродействие оп, и следовательно процессора. Способы...
3 Организация памяти в микропроцессорных системах iconКурс лекций по дисциплине «Менеджмент» для слушателей цпкипк специальности...
Можно выделить три вида управления: в не живой природе (технических системах) управление станком, автомобилем, компьютером; в организмах...
3 Организация памяти в микропроцессорных системах iconПеречень вопросов на экзамен по остх
Организация жизнеобеспечения населения при авариях на коммунально-энергетических системах
3 Организация памяти в микропроцессорных системах iconГерметическое Искусство Памяти   Часть первая: Использование Памяти
Джордано Бруно2, повлекло за собой известность Искусства Памяти в узких академических кругах, мы не можем сказать того же самого...
3 Организация памяти в микропроцессорных системах iconПроблема памяти о войне
День памяти и скорби 22 июня. Но чем дальше в прошлое уходят события той войны, тем меньше остается людей, в чьей памяти эти события...
3 Организация памяти в микропроцессорных системах icon1. Эргономика изучает особенности и возможности функционирования...
Эргономика наука о системах. Она включает в себя такие понятия, как антропометрия, биомеханика, гигиена труда, техническая эстетика,...
3 Организация памяти в микропроцессорных системах iconРеферат На тему: «Кеш памяти микропроцессора». Работу
Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из оперативной памяти (озу) и быстрее внешней памяти(жёсткий диск...
3 Организация памяти в микропроцессорных системах iconОграничение пучков лучей в оптических системах
В реальных оптических системах ограничение пучков лучей осуществляется оправами оптических деталей и специальными деталями – диафрагмами....
3 Организация памяти в микропроцессорных системах iconУрок Введение в технику тренировки памяти Урок Механизмы памяти
Настало утро, и золотые блики молодого-солнца заплясали на едва заметных волнах спокойного моря
3 Организация памяти в микропроцессорных системах iconУчреждение высшего профессионального образования «южный федеральный...
Вопрос Согласно модели аст дж. Андерсона, когнитивная система состоит из трех видов памяти. Что это за виды памяти?
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2015
контакты
userdocs.ru
Главная страница