Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Организация циклов в МП К580





Машинный цикл, в свою очередь, разбивается на машинные такты Т, в каждом из которых выполняется элементарное действие в процессоре - микрооперация. Число тактов в цикле определяется кодом команды и изменяется от трех до пяти.

Длительность такта задается периодом синхроимпульсов F1, формируемых внешними цепями.

Для синхронизации процессора с памятью и внешними устройствами, имеющими меньшее быстродействие, для организации прямого доступа к памяти и останова процессора предусмотрены три специальных состояния: ОЖИДАНИЕ,ЗАХВАТ и ОСТАНОВ, длительность ко торых произвольная, но всегда кратная Т.

Последовательность действий в каждом машинном цикле определяет его тип. Имеется 10 машинных циклов:

● ВЫБОРКА - выборка из памяти байта кода операции команды;

● ЧТЕНИЕ ПАМЯТИ - выборка второго и третьего байтов команды и выборка операнда с косвенной адресацией;

● ЗАПИСЬ В ПАМЯТЬ - запись операндов или сохранение адресов при выполнении команд пересылок;

● ЧТЕНИЕ СТЕКА - обращение к стеку;

● ЗАПИСЬ В СТЕК - обращение к стеку;

● ВВОД - выполнение команды ВВ;

● ВЫВОД - выполнение команды ВВ;

● ПРЕРЫВАНИЕ - организация прерывания и останов процессора;

● ОСТАНОВ - при выполнении команды останова;

● ПРЕРЫВАНИЕ ПРИ ОСТАНОВЕ - Если прерывание возникло после выполнения команды "останов".

В каждой команде циклы появляются в той или иной последовательности, например:

● ADD r M1(выборка)

● ADD M M1(выборка) - М2(чтение памяти)

● IN <port> М1(выборка) - М2(чтение памяти) - М3(ввод)

● САLL <адрес> M1(выборка) - М2(чтение памяти) - М3(чтение памяти) -М4(запись в стек) - М5(запись в стек).

Каждый машинный цикл процессора идентифицируется байтом состояния, который выдается на шину данных в начале каждого машинного цикла и сопровождается выдачей сигнала синхронизации машинных циклов на вывод SYNC. Этот байт несет информацию о последующих действиях процессора и может быть использован для расширения функций управления в микропроцессорной системе. Информация о состоянии распределена в байте состояния в соответствии с табл.2, а распределение байтов состояния в зависимости от типа машинного цикла представлена в табл.3.

Таблица 2. Информация о состоянии микропроцессора КР580ИК80А

Разряд шины данных Сигнал состояния Описание
D0 Подтверждение прерывания (INTA) =1 указывает,что процессор готов вести отработку запроса прерывания
D1 Запись - вывод (WO) =0 указывает,что выполняются циклы ЗАПИСЬ В ПАМЯТЬ или ВЫВОД. Если ЗВ=1,выполняются ЧТЕНИЕ ПАМЯТИ или ВВОД
D2 CТЕК (STACK) =1 указывает,что на адресной шине находится содержимое указателя стека,т.е. адрес верхней ячейки стека
D3 Подтверждение останова (HLTA) =1 указывает,что процессор находится в состоянии ОСТАНОВ (выполняется команда HALT)
D4 Вывод (OUTPUT) =1 указывает,что на адресной шинe находится адрес внешнего устройства,на которое осуществляется вывод информации(цикл ВЫВОД)
D5 M1 =1 указывает,что выполняется 1-й цикл команды (цикл ВЫБОРКА)
D6 ВВОД (INPUT) =1 указывает,что на адресной шине находится адрес внеш. устройства,с которого осуществляется ввод информации (цикл ВВОД)
D7 Чтение памяти (MEMR) =1 указывает что, шина данных будет использоваться для чтения данных из памяти

Таблица 3 Распределение байтов состояния по типам машинных циклов микропроцессора КР580ВМ80А

Разряд шины данных Сигнал состояния Тип машинного цикла
выборка Чтение памяти Запись в память Чтение стека Запись в стек ввод вывод прерывание останов Прерывание при останове
D0 INTA                    
D1 WR                    
D2 STACK                    
D3 HLTA                    
D4 OUTPUT                    
D5 M1                    
D6 INPUT                    
D7 MEMR                    

 

Табл. 4. Распределение действий по тактам процессора КР580ВМ80А.

Такт Действие
Т1 Адрес памяти или УВВ выдается на адресную шину (A15...A0). БС выдается на шину данных (D7...D0).
T2 Анализируются сигналы на входах RDY и HLD, а также контролируется команда остонова HLT.
Tw Если сигнал на входе RDY имеет низкий уровень, или на входе ЗХ высокий уровень, или выполняется команда HLT, процессор переходит в одно из состояний: ОЖИДАНИЕ, ЗАХВАТ или ОСТАНОB.
Т3 С шины данных в процессор вводится байт команды (в цикле ВЫБОРКА) байт данных (в циклах ЧТЕНИЕ ПАМЯТИ,ЧТЕНИЕ СТЕКА,ВВОД) или команда прерывания RST (цикл ПРЕРЫВАНИЕ).Или из процессора выводится байт данных (циклы ЗАПИСЬ В ПАМЯТЬ,ЗАПИСЬ В СТЕК,ВЫВОД) на шину данных.
Т4,Т5 Выполняется операция.Такты Т4,Т5 или только Т5 могут не использоваться при выполнении команды.

 

В каждом машинном цикле выполняется обращение к памяти. Поэтому в первом машинном такте Т1 на адресную шину выдается адрес с программного счетчика РС или указателя SP. Одновременно на шину данных выдается байт состояния (БС) и формируется сигнал синхронизации. На рис. 5 представлена временная диаграмма работы центрального процессорного элемента (ЦПЭ) КР580ВМ80А в цикле выборки. Если память или внешнее устройство не готовы к обмену (RDY=0), или есть запрос прямого доступа к памяти (ПДП), т.е. HLD=1, или выполняется команда останова, то обмен данными осуществляться не может. Процессор переходит в состояние ОЖИДАНИЕ, ЗАХВАТ или ОСТАНОВ, т.е. выполняет такты ожидания Tw, число которых определяется внешними признаками. Анализ этой информации осуществляется в такте Т2. В этом же такте содержимое РС увеличивается на 1 для адресации следующего бита.

Рис.5 Временная диаграмма работы ЦПЭ КР580ВМ80А в ЦИКЛЕ ВЫБОРКИ.

Если особых случаев нет, или есть внешний сигнал из состояния ожидания, то процессор переходит к такту Т3, в котором может производиться обращение к памяти, стеку или устройству ввода/вывода (УВВ). В результате происходит передача через шину данных байта команды,адреса или данных. При этом на выводах DBIN или WR формируются соответствующие управляющие сигналы.

Если требуется обработка операндов, то процессор переходит к тактам Т4,Т5 (не все машинные циклы используют эти такты - зависит от типа команды и типа машин ного цикла).

В команде ADD r (сложение содержимого регистра r с аккумулятором) в единственном цикле ВЫБОРКА выполняется четыре такта (см.рис.6). Длительность такта определяется периодом синхроимпульсов F1, а внутренние микрооперации инициируются импульсами F2. Начало машинного цикла отмечается появлением сигнала синхронизации SYNC, длительность которого равна периоду импульсов F2. В течение сигнала SYNC выдается байт состояния процессора.

В такте Т1 адрес команды загружается на адресную шину из программного счетчика РС и сохраняется на ней до четвертого такта. Выдав адрес на адресную шину процессор в такте Т2 увеличевает содержимое РС на единицу и проверяет сигналы состояния ОЖИДАНИЕ, ЗАХВАТ, ОСТАНОВ. Если, например, память не готова к обмену (на линии RDY низкий уровень), процессор переходит в состояние Тw и выдает сигнал высокого уровня на линию WAIT, подтверждающий запрос памяти (см.рис.5).

Процессор остается в состоянии ожидания до тех пор, пока сигнал RDY не переходит в состояние высокого уровня. Следующий импульс F1 переведет линию WAIT в состояние низкого потенциала, процессор перейдет в состояние Т3. В такте Т3 извлекается команда в регистр команд РК и, в соответствии с кодом операции, в такте Т4 осуществляется подготовка операндов к выполнению операции сложения: операнд из регистра r пересылается по внутренней шине в регистр ВР, а операнд из аккумулятора А пересылается в регистр ВА. Далее в течение действия такта Т2 следующей команды, операнды складываются в АЛУ, результат сохраняется в аккумуляторе А. Совмещение тактов позволяет повысить производительность процессора.

В команде ADD M (сложение содержимого ячейки памяти с содержимым аккумулятора) цикл ВЫБОРКА (такты Т1...Т4) выполняется почти аналогично, а цикл М2 используется для выполнения операции сложения (рис.7, 8). Для выборки операнда из памяти в такте Т1 на адресную шину выдается его адрес из пары HL, по которому в такте Т3 операнд выбирается в регистр ВР. Собственно сложение выполняется в такте T2 следующей команды.

Рис. 7. Временная диаграмма выполнения команды ADD M.

 

Рис. 8 Выполнение команда ADD M.

При выполнении команд ввода/вывода (см.рис.9),являющихся двухбайтовыми, в первом машинном цикле на адресную шину выдается содержимое РС, которое затем автоматически инкрементируется на единицу. Первый байт (код операции) выбирается в регистр команд. Во втором машинном цикле по адресу, указанному в программном счетчике РС, читается второй байт команды (номер порта ввода/вывода), который размещается в регистрах W,Z. В третьем машинном цикле адрес порта ввода-вывода (номер ВУ) выдается на адресную шину и осуществляется выбор порта. При этом через выбранный порт осуществляется обмен информацией между аккумулятором и шиной данных.

Рис. 9. Выполнение команды IN port.

Рис. 10. Реакция на сигнал "Запрос прерывания".

 

Логика работы процессора построена так,что в последнем такте последнего машинного цикла любой команды проверяется наличие запроса прерывания. Если запрос на прерывания имеется, то ЦП выполняет цикл М1 специального типа (см.рис.10) при условии, что ранее был установлен триггер "Разрешение прерывания" (INTE). По тактовому импульсу F2 устанавливается внутренний триггер "Прерывание" (ПР). В такте Т1 цикла прерывания М1 содержимое счетчика команд не увеличивается на единицу, а сохраняется. Выдается сигнал подтверждения прерывания (INTA). В такте Т3 устройство, запросившее прерывание, выдает на шину данных код однобайтовой команды RST (или любой другой), которая выполняется.В циклах М2 и М3 (при получении команды RST n), следующих за циклом прерывания, осуществляется запись в стек по адресам указателя стека(SP-1,SP-2) первого и второго байтов содержимого счетчика команд (PC).

Режим прямого доступа к памяти (ПДП) используется для непосредственного обмена информацией между ЗУ и внешним устройством (ВУ). При этом от внешнего устройства на МП поступает сигнал захвата шин (HLD) (см.рис.11,12). Микропроцессор устанавливает свои выходы адресов и данных в высокоимпедансное состояние и вырабатывает сигнал подтверждения захвата (HLDA), завершает выполнение внутренних операций текущего цикла и переходит в состояние ожидания захвата Т ож.зх (Tw).

Выработка сигнала ПЗХ осуществляется по разному, в зависимости от типа машинного цикла, выполняемого во время поступления сигнала ЗХ. Под действием сигнала ЗХ при наличии сигнала на входе RDY ("Готов"), указывающего готовность внешнего устройства, по импульсу F2 устанавливается внутр. триггер захвата, и по фронту следующего импульса F1 устанавливается в"I" выход HLDA. При выполнении циклов чтения (ввода) процессор подтверждает захват в начале такта Т3 (по окончании чтения).

В циклах записи (вывода) подтверждение захвата происходит в такте, следующем за Т3 (по окончании чтения). В циклах записи (вывода) подтверждение захвата происходит в такте, следующем за Т3 (по окончании записи). Шины процессора отключаются по фронту импульса F2. Если процессор подтвердил запрос ПДП в такте Т3 цикла с большим числом тактов, то он продолжает выполнение цикла до конца. Это позволяет частично совместить обработку информации в процессоре с передачей по каналу ПДП.

По окончании асинхронного сигнала на входе ЗХ, следующим импульсом F2 сбрасывается триггер захвата и сигнал на выходе ПЗХ устанавливается в состояние низкого потенциала по переднему фронту следующего импульса F1. Процессор переходит к выполнению следующего машинного цикла.

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

При выполнении команды останова (рис.13) процессор переходит в состояние "Оcтанов" после завершения такта Т2 второго машинного цикла. Состояние останова подтверждается установкой соответствующего бита в байте состояния, выдаваемом также в такте Т2. Из состояния останов процессор может быть выведен подачей сигнала на линию "Cброс", подачей сигнала на вход HLD или подачей сигнала прерывания (при разрешающем сигнале на выходе "Разрешение прерывания"). Заметим, что по окончании сигнала HLD процессор вновь входит в состояние "Останов" по переднему фронту F1. Установка же триггера разрешения прерывания осуществляется путем выполнения команды EI.

Рис.11. Последовательность захвата в цикле "ЧТЕНИЕ".

Рис.12. Последовательность захвата в цикле "ЗАПИСЬ".

Рис.13. Выполнение команды "останов".

 

Date: 2016-06-06; view: 1679; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию