Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 17
Текст из файла (страница 17)
! и на шину данных — информацию о состоянии. Элемент И-НЕ (см. рис. 3.3) формирует строб, которым осуществляется прием информации о состоянии микропроцессора с шины данных в регистр состояния (временнбе положение строба состояния показано на рис. 3.5). В табл. 3.3 показано назначение отдельных разрядов кода состояния.
В табл. 3.4 приведено соответствие сигналов состояния отдельным видам циклов. 92 Таблица ДЗ Раарал Назначение сигнала Ра Ра Рь Рт Таблица Д4 Сасгояааа ияарозраиессара Подтвержденле прерываиия: используется для стробирования коман- ды К5Т в микропроцессор из устройства, запрашивающего прерыва. иие Запись-вывод: уровень лог. 0 свидетельствует о том, что в данком цикле будет происходить запись (выдача информации из микропро- цессора в аперативкую намять) или вывод (передача ииформации из микропроцессора в УВВ); уровень лог.
! озиачает, что происхо- дит чтение (прием информации из оперативкой памяти) или ввод (прием из УВВ) Свидетельствует о том, что в даииом цикле иа адресной шяке уста. иовлеыо содержимое указателя стека Подтверждеиие останова: свидетельствует о том, что микропроцес- сор в состояиии остаиова Свидетельствует о том, что в даииом цикле на адресыой шипе уста.
новлеи номер зиешнего устройства и осуществляется вывод содер- жимого аккумулятора иа устройство вывода Свыдетельствует о том, что в даяиом цикле микропроцессор пркии- мает первый байт комаиды Свидетельствует о том, что в даииом пикле на адресной шыие уста- новлен помер устройства авода и осуществляется ввод ииформации из устройства ввода в аккумулятор микропроцессора Свидетельствует о том, что в данном цикле производится чтение (прием ыиформации из памяти в микропроцессор) СИСТЕМА КОМАНД МИКРОПРОПЕССОРА Система команд микропроцессора приведена в табл.
3.2. Команды разбиты на семь групп. Группа может содержать несколько типов операций. Каждый тип операций характеризуется некоторой структурой кодовых комбинаций команд, где вместо К, должен быть подставлеи адрес регистра и вместо К; — 3-разрядная кодовая комбинация, определяющая конкретный тип команды. В таблице указано число байтов, содержащихся в команде, число циклов и тактов, в которые выполняется команда (в знаменателе указано число циклов и тактов в случаях, когда указан адрес регистра ! 10 и требуется дополнительное обращение в оперативную память для выборки операнда, адресом которого служит содержимое. пары регистров Н1.).
Для каждого типа команды показано, как формируются признаки в пяти триггерах регистра признаков. Принята следующая система обозначений: «+» означает, что признак в данном триггере формируется; « — » означает, что соответствующий признак при выполнении данной команды не формируется и в триггере сохраняется значение признака, сформированное при выполнении предыдущих команд; О означает установку триггера в состояние лог. О; 1 означает установку триггера в состояние лог. 1. Отметим следующие особенности формирования признаков: команды пересылки и переходов не изменяют состояния триггеров признаков; команды увеличения или уменьшения содержимого одиночного регистра используют все признаки, за исключением признака переноса С; команды увеличения или уменьшения содержимого пар регистров ие изменяют состояния триггеров признаков; команды арифметических операций используют все признаки; при выполнении логических операций триггеры переносов Тс и Тч сбрасываются в состояние лог.
О; команды сложения содержимого пар регистров используют только признак переноса С. ОПЕРАЦИИ ЦИКЛИЧЕСКОГО СДВИГА Операции циклического сдвига выполняются над содержимым аккумулятора и предусматривают четыре вида сдвига. 1. Сдвиг циклический влево (СЦЛ) без переноса (рис. 3.6, а): содержимое каждого разряда аккумулятора А передается в соседний старший разряд (А +, — (А )), содержимое старшего разряда передается в младший разряд (А~~ — (А,)) и одновременно в триггер переноса (Тс -»- (А«)). 2. Сдвиг циклический вправо (СЦП) без переноса (рис.
3.6, б): содержимое каждого разряда аккумулятора А передается в соседний 94 г) Рис. З.б Виды сдвигов: а) влево бев перевесе. Ю) впраВо рее переносе, е) влево с верепосом, г) впреео с перепевом младший разряд (А м- (А ,)), содержимое младшего разряда передается в старший разряд (А„ (А,)) и одновременно в триггер пере'носа (Тс (А,)). 3. Сдвиг циклический влево с переносом (рис. 3.6, в): отличие от сдвига без переноса состоит в том, что триггер переноса Тс вводится в замкнутый контур, в котором осуществляется сдвиг; триггер переноса передает свое содержимое в младший разряд аккумулятора (Ав— — (Тс)) и принимает выдвигаемое из аккумулятора содержимое старшего разряда (Тс — (Ае)).
4. Сдвиг циклический вправо с переносом (рис. 3.6, г); отличие от сдвига без переноса в том, что триггер переноса передает свое содержимое в старший разряд аккумулятора (А, м — (Тс)) и принимает выданное из аккумулятора содержимое младшего разряда (Тс — (Ао)). СТЕК Стек — память с определенной (упрощенной) формой адресации. В микропроцессорном устройстве на МПК КР580 стек организуется следующим образом. В оперативной памяти (ОЗУ) команды размещаются в ячейках с младшими, последовательно нарастающими адресами. Стек использует ячейки со старшими адресами и по мере заполнения стека занимаются ячейки с адресами, последовательно убывающими. Таким образом, адреса этих двух частей памяти изменяются навстречу друг другу (рис. 3.7, а).
Особенность организации стека состоит в следующем. Указатель стека ЯР содержит так называемый адрес входа в стек; при чтении из стека производится выборка содержимого ячейки по адресу входа в стек (по адресу, хранящемуся в ЬР); при записи в стек вводимое в стек число помещается в ячейку с адресом, на единицу меньшим содержимо- 95 го ЯР; одновременно с записью и чтением изменяется содержимое ЯР: при записи уменьшается, а при чтении увеличивается на единицу. Обмен со стеком производится двухбайтовыми словами, занимающими две ячейки памяти.
Пусть указатель стека хранит адрес А. При вводе нового слова его байты должны быть помещены в пару соседних со входом в стек ячеек, имею)цих адреса А-) и А-2. Таким образом, ввод в стек сводится к следующей последовательности действий: содержимое БР уменьшается на единицу и по образующемуся в ЬР адресу помещается старший байт вводимого двухбайтового слова; за- Рнс. 3.7. Стек: о) органиэации стека а ОЗУ; б) процгссн ирн аванса и стек; е) процессы при чтении ит стека ячейки йв «-г «-1 « а) Младтий оаи'гп слойа «ской«ое Запиеб состоя«ил стек сталгиего Райто следа А-г г А-1 А 5Р Л-1 ФЕН ° 5Р~Л~~А 5Р С'гаек Что«ие стек сталвего гайто слайа стек Чте«ие млаагиего дайте следа Л+1 Л+1 ЕЗ 5Р 5Р йт о ~ (5Р) стартий йайт следа стек Зал«со младтего йайта слоФ тем содержимое 5Р вновь уменьшается на единицу и по образующемуся в нем адресу помещается младший байт вводимого слова (рис.
3.7,б). Мы видим, что 5Р каждый раз указывает адрес последней ячейки, занятой под стек,— так называемый вход в стек. Вывод данных из стека производится также двухбайтовыми словами. При этом каждый раз доступна для чтения лишь ячейка, адрес которой содержится в 5Р. Если указатель стека хранит адрес А, то байты выводимого из стека слова выбираются из ячеек памяти, имеющих адреса А и А+1. Таким образом, выбор слова из стека сводится к такой последовательности действий: чтение младшего байта выводимого слова из ячейки, адресом которой служит содержимое 5Р, и увеличение содержимого 5Р на единицу; затем чтение старшего байта выводимого слова по хранящемуся в 5Р адресу и увеличение содержимого 5Р на единицу (рис. 3.7, в).
О таком принципе функционирования, когда читается последняя помещенная в память информация, говорят как о принципе «последним вошел — первым вышелэ. Как видим, при записи и чтении,производится обращение в ячейку, адрес которой связан с содержимым 5Р. Это упрощает адресацию памяти, но исключает возможность обращения в произвольную ячейку памяти. Рассмотрим команды некоторых операций со стеком. Установка в 5Р некоторого начального значения производится по команде пересылки 5РН1.
(! 1 111 001). По этой команде в 5Р пересылается содержимое пары регистров Н 1.. Команда ввода из нары регистров РЕ в стек: Р()5Н Р (11 010 101). В разрядах 1),О,О, кодовой комбинации команды указан адрес 010 старшего регистра пары ОЕ. По этой команде выполняются следующие действия: 50 — (5Р) — 1; 1(5Р)) — (1)); 5Р ~ — (5Р) — 1; ((5Р)) — (Е). Команда пересылки из стека в пару регистров ОЕ: РОР 1) (11 010 00!).
Здесь в разрядах 0,1),1), кодовой комбинации команды указан адрес О!О старшего регистра пары РЕ. По данной команде выполняются действия: Š— ((5Р)); 5Р -(5Р) + 1; Р— 1(5Р)); 5Р— (5Р) + !. ЗАПУСК МИКРОПРОПЕССОРА После подачи на соответствующие входы микропроцессора питающих напряжений и тактовых импульсов последовательностей Ф! и Ф2 подается сигнал уровня лог. 1 на вход Сброс.