Главная  Микропроцессорные системы 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [ 81 ] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

Di: Зл-Выв (Запись - вывод)-сигнал, указывающий, что в текущем машинном цикле будет выполняться операция записи в ЗУ или ВУ (Зп-Выв=0). При Зп-Выв=1 происходит считывание информации из ЗУ или ввод данных из ВУ.

D2: Стэк - сигнал, указывающий, что на адресной шине находится содержимое указателя стэка.

63: П.Ост (Подтверждение останова) -сигнал подтверждения команды HLT (Останов).

Df. Вывод - сигнал, свидетельствующий р том, что на адресной шине установлен номер ВУ и осуществляется вывод данных из аккумулятора в ВУ.

Ds: Ml-сигнал, указывающий, что МП принимает первый байт команды.

De: Ввод - сигаал, свидетельствующий о том, что на адресной шине установлен номер ВУ и осуществляется ввод данных из ВУ в аккумулятор.

Dr. Чт.ЗУ (Чтение ЗУ) - сигнал; указывающий, что шина данных будет использована для пересылки данных из ЗУ.

Все машинные циклы МП можно разбить на 10 типов в зависимости от сочетания сигналов состояния:

1. Выборка команды (цикл ЛИ)-прием первого байта команды в регистр команд.

2. Чтение из памяти - чтение ЗУ по содержимому счетчика команд или по содержимому одного из регистров ВС, DE, HL.

3. Запись в память - запись в ЗУ по содержимому одного из регистров ВС, DE или HL.

4. Чтение из стэка -чтение ЗУ по содержимому указателя стэка.

5. Запись в стэк - запись в ЗУ по содержимому указателя стэка.

6. Ввод - ввод данных в аккумулятор из ВУ.

7. Вывод- вывод данных из аккумулятора в ВУ.

8. Прерывание - прием кода команды RST из блока преры-ваииия.

9. Цикл останова.

10. Прерывание при останове ~ прием кода команды RST при выводе МП из режима «Останов» по прерыванию.

Кодирование информации состояния (ИС) для различных типов машинных циклов приведено в табл. П.1.

Таблица П.1

Разряд шины данных

Сигнал информации состояния

Тип машинного цикла

3 1

«1

П. Пр

Зп - Выв

Стэк

П. Ост

Вывод

Ввод

Чт. ЗУ



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

Выполнение команд IN (Ввод) и OUT (Вывод). Команда ввода /iV - двухбайтовая, для ее исполнения требуется три машинных цикла. В цикле ЛП происходит выборка первого байта команды (кода операции), в М2 -выборка второго байта, являющегося номером ВУ, в последнем цикле МЗ осуществляется загрузка акку-


Выдача

Рис. П.4. Упрощенная временная диаграмма работы ЦПЭ К580ИК80 при выполнении команд ввода - вывода

мулятора данными из указанного ВУ. Временные соотношения при выполнении этой команды приведены на рис. П.4,а.

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

Такт Г - содержимое счетчика команд пересылается в регистр адрееа, откуда через буфер адреса загружается в адресную шину, и генерируется сигнал «Синхронизация» начала машинного цикла.

Такт 7"2 -по совпадению тактового сигнала Ф и сигнала «Синхронизация» на шину данных выставляется информация состояния ИС (Выборка команды), сохраняющаяся на шине данных в, течение всего времени существования сигнала «Синхронизация». С момента генерирования сигнала «Прием» яа шину данных поступает уже первый байт команды, считанной из ЗУ.

Такт Гз-первый байт команды пересылается в регистр команд МП и изменяется, содержимое счетчика команд ((СК*-(СК)-Ь1). .

Такт Г4 - производится декодирование паля кода операции кот манды и формируются сигналы, необходимые для перехода к следующему машинному циклу А{2. ,



Во время машинного цикла М2 МП выполняет следующие действия.

Такт Г] - на адресную шину поступает адрес второго байта команды и генерируется сигнал «Синхронизация».

Такт Ti - на шину данных выставляется информация состояния ИСг (Чтение из памяти) и формируется сигнал «Прием».

Такт Гз - второй байт команды пересылается в регистр W ЦПЭ, используемого для временного хранения, после чего увеличивается содержимое счетчика команд ((СК)-«-(СК)--1) и формируются управляющие сигналы, необходимые для перехода к последнему машинному циклу выполнения команды IN - MZ.

В течение этого цикла выполняются следующие операции:

Такт Ti-содержимое регистра W, являющееся адресом ВУ, пересылается сначала в регистр адреса ЦПЭ, а затем в адресную шину. Одновременно с этим осуществляется формирование сигнала «Синхронизация».

Такт Тг - на шину даяаых выставляется информация состояния ИСб (Ввод) и формируется сигнал «Прием».

Такт Гз - информация с шины данных, к которой подключены регистры памяти ВУ, через буфер данных пересылается в аккумулятор МП, после чего формируются управляющие сигналы, иеобхо-.димые для перехода к машинному циклу Ml следующей команды. На этом выполнение команды ввода IN заканчивается.

Выполнение команды вывода OUT в основном аиалогачно вы-полиению команды ввода. Главное отличие заключается в том •<рис. П.4,б), что вывод данных из аккумулятора в ВУ происходит при нулевом значении сигнала «Прием» и активном значении сигнала Выдача=0. Кроме того, в такте Тг третьего машинного цикла МЗ на шину данных выставляется информация состояния ИСг (Вывод), указывающая ВУ, что в процессе выполнения текущей команды данные из МП выводятся.

Временные соотношения при исполнении команды OUT, за исключением тех, которые показаны на рис. П.4,б, те же, что я при исполнении команды IN.

Обработка прерываний. Запросы прерывания инициируются ВУ путем посылки на вход «Запрос прерывания» МП сигнала высокого уровня. Этот сигнал записывается на внутренний триггер запроса прерывания (рис. П.5) по фазе Фг тактовой последовательности последнего машинного цикла команды, во время вытюлнения которой ВОЗНИК запрос прерывания, при условии, что на выходе «Разрешение прерывания» МП существовало напряжение логиче-скрй-вйИРдаЮчТаким образом при поступлении запроса прерывания гараята*«олкое выполнение любой тейущей команды, прежде яЫ МП №рт в режим обработки прерывания.

1вр команд в режиме прерывания обычное. Б течение вре»веВ!>,-)ф№«*вооания сигнала «Синхронизация» в такте Тг ма-: йгнкн«й« дама Ml на шяиу данных вьктавляется информация состояния МП, в данном случае слово ИС» (Подтверждение преры-вайия). Однако солержииое счетчика команд в этом случае не изменяется из-за формирования специального запрещающего строба, ярепятствугощего увеличению содержимого этого счетчика. Это не-пбхолиио, чтобы возвратиться к вьн1«миению прерванной программы после окончания обработки подпрограммы прерывания.

Упростить переход на подпрограмму обслуживания прерывания при использовании способа прерывания по вектору позволяет



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [ 81 ] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92]

0.0012