Сделай Сам Свою Работу на 5

Режим обмена в микропроцессорной системе режим прямого доступа к памяти.

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

Операция ПДП сводится к пересылке информации из устройства ввода/вывода в память или же из памяти в устройство ввода/вывода. Когда пересылка информации будет закончена, процессор вновь возвращается к прерванной программе, продолжая ее с той точки, где его прервали (рис. 1.13). Это похоже на режим обслуживания прерываний, но в данном случае процессор не участвует в обмене. Как и в случае прерываний, реакция на внешнее событие при ПДП существенно медленнее, чем при программном режиме.

 

 

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


Рис. 1.13. Обслуживание ПДП.


Рис. 1.14. Информационные потоки в режиме ПДП.

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

Если в системе уже имеется самостоятельный контроллер ПДП, то это может в ряде случаев существенно упростить аппаратуру устройств ввода/вывода, работающих в режиме ПДП. В этом, пожалуй, состоит единственное бесспорное преимущество режима ПДП.

 

 

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

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

 

Смотри в Лекции

6)Режимы адресации в микропроцессоре, организация ввода – вывода 8 разрядов.

Прямая адресация

Адрес указывается непосредственно в виде некоторого значения, все ячейки располагаются на одной странице. Преимущество этого способа в том, что он самый простой, а недостаток — в том, что разрядность регистров общего назначения процессора должна быть не меньше разрядности шины адреса процессора.
[править]
Относительная (базовая) адресация

При этом способе адресации исполнительный адрес определяется как сумма адресного кода команды и базового адреса, как правило хранящегося в специальном регистре — регистре базы.

Относительная адресация позволяет при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти. Для этого число разрядов в базовом регистре выбирают таким, чтобы можно было адресовать любую ячейку оперативной памяти, а адресный код команды используют для представления лишь сравнительно короткого «смещения». Смещение определяет положение операнда относительно начала массива, задаваемого базовым адресом.
[править]
Укороченная адресация

В адресном поле командного слова содержатся только младшие разряды адресуемой ячейки. Дополнительный указательный регистр.
Адресация с регистром страницы является примером сокращённой адресации. При этом вся память разбивается на блоки-страницы. Размер страницы диктуется длиной адресного поля.
[править]
Регистровая адресация

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

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

Эффективность вычислительных систем, предназначенных для обработки данных, повышается, если имеется возможность выполнять операции со словами переменной длины. В этом случае в машине может быть предусмотрена адресация слов переменной длины, которая обычно реализуется путем указания в команде местоположения в памяти начала слова и его длины.
[править]
Стековая адресация

Стековая память, реализующая безадресное задание операндов, особенно широко используется в микропроцессорах и Мини-ЭВМ.

 

 

7) Выполнение команд 8 разрядных микропроцессоров, машинные циклы, машинные такты

 

Микросхема КР580ВМ80А - функционально законченный однокристальный микропроцессор с фиксированной системой команд. Применяется в устройствах обработки данных и управления.
Микропроцессор имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных. Канал адреса обеспечивает прямую адресацию к внешней памяти объемом до 65 536 байт и 256 устройствам ввода и вывода.
Условное графическое обозначение микросхемы показано на рисунке 1, назначение выводов указано в таблице 1. Структурная схема микропроцессора изображена на рисунке 2.


Рис. 1. Условное графическое обозначение микросхемы процессора КР850ВМ80А

Таблица 1


Рис. 2. Структурная схема микропроцессора КР850ВМ80А

Восьмиразрядное арифметико-логическое устройство микропроцессора выполняет арифметические и логические операции над двоичными числами, представленными в дополнительном коде, а также обработку двоично-десятичных упакованных чисел.
В состав блока регистров входят:

16-разрядный регистр адреса команды (IP),

16-разрядный регистр указателя стека (SP),

16-разрядный регистр временного хранения (WZ),

16-разрядная схема инкремента-декремента,

шесть 8-разрядных регистров общего назначения (В, С, D, Е, Н, L), которые могут использоваться и как три 16-разрядных регистра (ВС, DE, HL).

Микропроцессор выполняет команды по машинным циклам. Число циклов, необходимое для выполнения команды, зависит от ее типа и может быть от одного до пяти. Машинные циклы выполняются по машинным тактам. Число тактов в цикле определяется кодом выполняемой команды и может быть от трех до пяти. Длительность такта равна периоду тактовой частоты и при частоте 2,0 МГц составляет 500 наносекунд.
В начале каждого машинного цикла микропроцессор вырабатывает сигнал синхронизации SYN, который в сочетании с другими сигналами может быть использован для организации различных режимов работы процессора.
На рисунке 3 показана диаграмма состояний типичного машинного цикла, показывающая последовательность перехода от такта к такту в машинном цикле и влияние внешних сигналов RDY, HLD и INТ на его выполнение. После подачи на вывод SR сигнала высокого уровня микропроцессор устанавливается в исходное состояние.


Рис. 3. Диаграмма состояний типичного машинного цикла

В такте Т1 микропроцессор выдает на адресный канал адрес ячейки, в которой хранится команда программы, а через канал данных - информацию состояния. В такте Т2 анализируются состояния сигналов на входе RDY, "Подтверждение останова", и в зависимости от состояния этих сигналов микропроцессор переходит в состояние ожидания, останова или приступает к выполнению такта Т3. В такте Т3 при наличии сигнала высокого уровня на входе RDV микропроцессор принимает информацию по каналу данных, анализирует состояние сигнала на входе HLD, и если этот сигнал высокого уровня, то после окончания такта Т3 переходит в состояние захвата. В зависимости от кода выполняемой команды машинный цикл завершается после выполнения тактов Т3, Т4 или Т5.
В конце машинного цикла снова анализируется состояние сигнала на входе HLD. При низком уровне сигнала проверяется, окончено ли выполнение команды. Если команда не закончена, то микропроцессор выполняет следующий машинный цикл команды, начиная с такта Т1. В конце каждой команды микропроцессор анализирует состояние сигнала на входе INT. Если сигнал высокого уровня и прерывание ранее было разрешено командой EI, то микропроцессор переходит к выполнению машинного цикла "Прерывание", начиная с такта Т1. В противном случае первый машинный цикл новой команды начинается с такта Т1.
Действия, выполняемые микропроцессором в конкретном машинном цикле, определяются 8-разрядной информацией состояния, которая выдается через канал данных в такте Т1 каждого машинного цикла. Эта информация может использоваться для выработки сигналов обращения к микросхемам памяти, устройствам ввода/вывода и для организации различных режимов работы микропроцессора.
В зависимости от сочетания сигналов состояния, выдаваемых в конкретном цикле, машинные циклы можно разделить на 10 типов:

1. Цикл М1 - прием первого байта команды в регистр команд.
2. Цикл чтения ЗУ (запоминающего устройства) по содержимому программного счетчика или содержимому одного из регистров ВС, DE, HL.
3. Цикл записи в ЗУ - запись в ЗУ по содержимому одного из регистров ВС, DE, HL.
4. Цикл чтения стека - чтение ЗУ по содержимому указателя стека.
5. Цикл записи в стек - запись в ЗУ по содержимому указателя стека.
6. Цикл ввода - ввод информации в регистр результата (аккумулятор) из внешнего устройства.
7. Цикл вывода - вывод информации из регистра результата во внешнее устройство.
8. Цикл прерывания - прием кода команды RST или CALL из контроллера прерываний.
9. Цикл останова.
10. Цикл прерывания при останове - прием кода команды RST или CALL при выводе микропроцессора из режима "Останов" по прерыванию.

Наименования сигналов состояния, соответствие их разрядам канала данных и тактам машинных циклов приведены в таблице 2.

Таблица 2

При выполнении команд микропроцессор может переходить в одно из трех состояний: "ожидание", "захват" или "останов", длительность которых определяется внешними управляющими сигналами.
Сигнал высокого уровня на входе RDY обеспечивает автоматическое выполнение команд программы микропроцессором с частотой тактовых сигналов. Если на выводе RDY установлен сигнал низкого уровня, то микропроцессор переходит в режим "Ожидание" и формирует выходной сигнал WI высокого уровня.
Сигнал RDY может быть использован для согласования работы микропроцессора с работой медленно действующих устройств, если длительность их цикла обращения составляет более одного периода тактовой частоты, а также для организации пошагового (по циклам) выполнения команды или покомандного выполнения программы.
При подаче на вход HLD сигнала высокого уровня микропроцессор переходит в состояние "захват" и подтверждает переход в это состояние формированием сигнала высокого уровня на выходе HLDA.
Буферные схемы канала адреса и данных микропроцессора переключаются в высокоомное (высокоимпедансное) состояние, а выходные управляющие сигналы - в состояние низкого уровня (за исключением сигналов TR и HLDA). Микропроцессор переходит в состояние "захват" в такте Т3, если выполняется цикл чтения и на входе RDY сигнал высокого уровня, и в такте, следующем за Т3, если выполняется цикл записи. Сигналы HLD и HLDA позволяют организовать режим прямого доступа к памяти для любого внешнего устройства, формирующего сигнал HLD.
При выполнении команды HLT микропроцессор переходит в состояние "останов" и переводит буферные схемы канала адреса и данных в высокоомное состояние. Из состояния "останов" микропроцессор выходит при наличии сигнала высокого уровня на одном из его входов:

на входе SR - микропроцессор начинает работать с такта Т1 цикла М1;

на входе HLD - микропроцессор переходит в состояние "захват", а после перехода сигнала HLD на низкий уровень возвращается в состояние "останов";

на входе INT - микропроцессор переходит к выполнению цикла прерывания при останове с такта Т1, если команде HLT предшествовала команда EI "разрешение прерывания", иначе он остается в состоянии "останов".

Сигнал высокого уровня на выводе INT позволяет прерывать выполнение текущей программы и переводить микропроцессор на выполнение подпрограммы обслуживания устройства, выдавшего запрос прерывания (например, часов). При поступлении сигнала INT микропроцессор (после окончания текущей команды) переходит с такта Т1 к выполнению машинного цикла "Прерывание" в том случае, если прерывание было разрешено ранее командой EI. При выполнении цикла "Прерывание" в такте Т1 микропроцессор выдает по шине данных сигнал состояния "Подтверждение прерывания". По окончании подпрограммы прерывания происходит возврат к прерванной программе.
Сигнал высокого уровня на входе SR (длительность которого должна быть не менее трех периодов тактовой частоты) устанавливает микропроцессор в исходное состояние: триггеры разрешения прерывания и захвата, регистры команд, признаков и адреса команды устанавливаются в нулевое состояние. После окончания действия сигнала SR микропроцессор производит первое обращение за чтением команды к ячейке памяти по адресу 0000Н.
Система команд микропроцессора состоит из 78 базовых команд, которые можно разделить на пять групп:

команды передачи данных - используются для передачи данных из регистра в регистр, из регистра в память;

арифметические команды - используются для сложения, вычитания, инкремента или декремента содержимого регистров или ячейки памяти;

логические команды - И, ИЛИ, сравнение, сдвиги;

команды переходов - используются для условных или безусловных переходов, вызова подпрограмм и возврата из них;

команды управления, ввода/вывода и работы со стеком - используются для управления регистром признаков, ввода и вывода информации.

В микропроцессоре КР580ВМ80А принят формат информационного слова, представляющего собой 8-разрядное двоичное слово (байт) Формат информационного слова (данных):

D7 D6 D5 D4 D3 D2 D1 DO,

где D7 - старший разряд слова, а D0 - младший. Отрицательные числа хранятся в памяти в дополнительном коде.
Формат команды зависит от типа операции - может быть одно-, двух- и трехбайтовым. Байты двух- и трехбайтовых команд должны храниться в ячейках памяти, следующих одна за другой. Адрес первого байта всегда является адресом кода операции. Формат команд микропроцессора показан ниже:

Все команды микроЭВМ сведены в двух таблицах (1 и 2). Выделим наиболее общие закономерности их использования.

1. Арифметические и логические операции разрешены только между аккумулятором и байтом данных или между аккумулятором и любым регистром.
2. Аккумулятор и регистровая пара HL являются единственными регистрами, которые могут быть непосредственно загружены в память.
3. Аккумулятор является единственным регистром, который может быть инвертирован, сдвинут, косвенно загружен в память с использованием регистровых пар ВС и DE или использован в командах ввода/вывода (IN, OUT).
4. Регистровая пара HL является единственной, содержимое которой может быть передано в счетчик команд (команда PCHL) или указатель стека (команда SPHL).
5. Регистровая пара НL может использоваться как аккумулятор двойной длины при сложении 16-разрядных чисел (команда DAD).
6. Содержимое регистровых пар HL и DE можно менять местами (команда HCHG).
7. Отдельные команды могут применяться для специальных функций. Команды XRAA или SUBA обнуляют аккумулятор. Команды ANA или ORA А очищают флаг переноса, а команда ADDA выполняет логический сдвиг аккумулятора влево.
8. Команды увеличения (уменьшения) на 1 регистров (INR, DCR) действуют на все флаги, за исключением флага переноса. Команды увеличения (уменьшения) на 1 регистровых пар (INX, DCX) не оказывают влияния на флаги.
9. В стек или из стека могут быть переданы только регистровые пары. Одной из таких регистровых пар является слово состояния микропроцессора, которое содержит аккумулятор (старший байт) и флаги (младший байт). Команды CALL и RET передают адрес в стек и обратно.
10. При записи 16-разрядных адресов младший байт записывается первым.

Операнды команд могут храниться в программно доступных регистрах микропроцессора или памяти. Для указания операнда в регистре используются регистровая и регистровая неявная адресации, для указания операнда в памяти - непосредственная, прямая, косвенная регистровая и стековая адресации.
Регистр признаков микропроцессора используется для хранения пяти битов признаков, которые вырабатываются в результате выполнения некоторых операций:

S - бит знака; равен 1, если старший значащий разряд результата операции равен 1 (то есть результат операции - отрицательное число);

Z - бит нуля; равен 1, если результат операции равен нулю;

АС - бит вспомогательного переноса; равен 1, если при выполнении операции был перенос из третьего разряда сумматора в четвертый;

С - бит переноса; равен 1, если при выполнении операции был перенос из седьмого разряда сумматора или заем в седьмой разряд сумматора;

Р - бит четности; равен 1, если число единиц результата четное.

Распределение разрядов в регистре признаков следующее:

D7 D6 D5 D4 D3 D2 D1 D0
S Z 0 АС 0 Р 1 С

8) Структура 16 разрядных микропроцессоров INTEL 80/86.
9) Микропроцессор INTEL 80/86 назначение контактов, режимы работы.
10) Микропроцессор INTEL 80/86 циклы шины, организация очереди команд.
11) Микропроцессор INTEL 80/86 адресация портов и операндов.



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.