Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
10.2. МИКРОПРОЦЕССОР СЕРИИ КР580МПК предназначен для создания широкого класса средств вычислительной техники и обработки информании [3; 6; 37; 50; 64; 81]. МПК выполнен по n-МОП технологии и по напряжениям логических уровней согласуется с ИС ТТЛ. Состав базового комплекта и основные параметры приведены в табл. 10 1. Микропроцессор представляет собой однокристальный -разрядный МП с фиксированной системой команд, обеспечивающий выполнение логических и арифметических операций с -разрядными числами в двоичной и десятичной системах счисления. Структурная схема (рис. 10.4) МП состоит из следующих блоков: арифметико-логического устройства АЛУ, блока регистров БР, блока управления БУ, блока синхронизации БС, блока обмена информации БОИ и интерфейса. Все блоки объединены системой шин, сгруппированных в три магистрали: информационную -разрядную трехстабильную (три состояния — высокий уровень, низкий уровень и высокоимпедансмое состояние), двунаправленную шину данных ШД , адресную -разрядную трехстабильную однонаправленную шину адреса ША и шину управления ШУ (четыре входных и шесть выходных линий связи).
Рис. 10.4. Арифметико-логическое устройство обеспечивает выполнение арифметических и логических операций над -разрядными данными, представленными в двоичном коде. В состав АЛУ входят аккумулятор А (регистр результата), временный регистр ВР, сумматор 2, регистр признаков РП, десятичный корректор ДК и временный аккумулятор В А. Аккумулятор предназначен для приема данных и храпения результата, полученного при выполнении арифметических и логических операций. Временный регистр служит для приема и «ранения данных на время выполнения команды. Сумматор — схема комбинационного типа с последовательным переносом — используется для выполнения арифметических и логических операций. Регистр признаков предназначен для фиксации результата выполнения команды. Его содержимое может подвергаться анализу для выполнения команд перехода по условию. В регистр признаков входят пять триггеров: триггер знэиа результата S (разряд ) устанавливается в «1», если результат отрицательное число; триггер нулевого результата Z (разрад ) устанавливается в «1», если результат текущей операции равен 0; триггер вспомогательного переноса С (разряд ) устанавливается в «1» при наличии переноса из младших четырех разрядов в старшие; триггер четности Р (разряд ) устанавливается в «1», если результат содержит четное число единичных битов; триггер переноса С (разряд ) устанавливается в «1» при возникновении переноса из старшего разряда сумматора. Десятичный корректор предназначен для выполнения операций с данными, представленными в двоично-десятичной форме.
Рис. 10.5. При выполнении арифметических или логических операций один из операндов пересылается из аккумулятора во временный аккумулятор, а затем в сумматор. Второй операнд поступает из памяти или из блока регистров через внутреннюю шнну данных во временный регистр, а затем пересылается в этсм результат операции через внутреннюю шину данных передается в аккумулятор или блок регистров, а признаки результата , записываются в регистр признаков. Блок регистров предназначен для хранения и выдачи , участвующей в процессе выполнения программы. Блок регистров состоит из статической памяти с произвольным доступом в виде семи -разрядных регистров (регистров общего назначения РОН: ВС, DE, HL), -разрядного временного регистра , регистра адреса РА, счетчика команд С К, указателя стека УС, мультиплексоров и схемы инкремента (декремента) адреса. Регистры общего назначения ВС, DE, HL можно использовать как шесть отдельных -разрядных программно доступных регистров В, С, D, Е, для временного хранения промежуточных результатов. Содержание каждого из регистров можно передавать в АЛУ, память или между регистрами. Пары регистров ВС, DE, HL можно использовать как три -разрядных программно доступных регистра для хранения адресов, при косвенной адресации, или двухбайтовых операндов, а также для выполнения арифметических (логических) операций, где первый операнд помещается в аккумулятор, а второй — во ВР (Рис. 10.5,а); и вычислений с удвоенной точностью с 16-разрядными числами по команде DAD (рис. ). Временной регистр программно недоступен и используется для приема и временного хранения второго и третьего байтов команды и передачи этих операндов в регистр адреса или в регистр Регистр адреса предназначен для приема информации из других регистров и передачи ее на буфер адреса или на схему инкремента (декремента). Схема инкремента (декремента) позволяет увеличивать или уменьшать на единицу содержимое РОН и указателя стека, что упрощает адресацию. -разрядный счетчик команд СК используется для приема и хранения адреса следующей выполняемой По программе команды, которая должна передаваться из памяти в МП.
Рис. 10.6. Содержимое СК автоматически увеличивается на единицу после выборки каждого байта команды (рис. ). Счетчик команд может загружаться содержимым регистра HL или вторым и третьим байтами команды перехода. -разрядный указатель стека УС предназначен для приема и хранения адреса ячейки стека, к которой было последнее обращение. Стек — область памяти МП, последовательность считывания данных из которой обратна последовательности их записи. Содержимое УС уменьшается (увеличивается) на единицу перед занесением (после извлечения) байта в стек (из стека). Стек предназначен в основном для временного хранения содержимого РОН, аккумулятора, регистра признаков и С К при переходе к подпрограммам. При этом содержимое СК автоматически загружается d стек, где оно сохраняется до конца действия подпрограммы, а содержимое РОН, аккумулятора и регистра признаков загружается по команде PUSH (рис. ) и извлекается по команде POP (рис. 10.6,в). Мультиплексор служит для передачи информации с внутренней шины данных в блок регистров и обратно, мультиплексор для передачи информации из РОН, СК и УС в РА. Блок управления вырабатывает в определенной последовательности микрооперации, необходимые для выполнения команд в МП. БУ состоит из регистра команд РК и дешифратора команд ДШК. Регистр команд предназначен для приема кода рации команды, поступающего в МП в такте ТЗ машинного цикла, и хранения кода во время выполнения команды. Дешифратор команд расшифровывает код операции команды и вырабатывает микроприказы в соответствии с микропрограммой выполнения команд. Блок синхронизации предназначен для синхронной работы всех внутренних узлов МП и синхронизирует прием и передачу потоков информации с помощью периодических импульсов, на шваемых машинными тактами МТ и машинными циклами МЦ. В МП используется двухфазная система внешней синхронизации иеперекрывающимися импульсами . Блок синхронизации состоит из схем формирования МТ, МЦ, схемы формирования сигнала сброса и схемы формирования сигнала синхронизации. Схема формирования МТ предназначена для выработки машинных тактов , равных по длительности периоду тактовой частоты. В течение одного такта выполняется одна микрокоманда. Схема формирования МЦ предназначена для выработки машинных циклов , равных по длительности трем, четырем или пяти машинным тактам. Схема формирования сигнала сброса необходима для выработки сигнала сброса, устанавливающего все блоки МП в начальное состояние, а схема формирования сигнала синхронизации — для выработки сигнала синхронизации СИНХРО, определяющего начало каждого машинного цикла. Блок обмена информации БОИ состоит из схем анализа прерываний, анализа захвата шин и анализа готовности. Схема анализа прерывания обеспечивает возможность работы МП в реальном времени. Она состоит из триггера разрешения прерывания, который устанавливается в состояние «1» программно с помощью команды EI и триггера запроса прерывания. Запрос прерывания анализируется в последнем такте последнего машинного цикла каждой команды (кроме команды EI и DI). Схема анализа захвата шин способствует организации режима прямого доступа к памяти с помощью входного сигнала ЗАХВАТ шин и выходного сигнала ПОДТВЕРЖДЕНИЕ ЗАХВАТА. В этом режиме МП находится до тех пор, пока действует сигнал ЗАХВАТ . Схема анализа готовности позволяет МП работать с памятью и внешними устройствами любого быстродействия. Это обеспечивается тем, что запуск такта ТЗ, который является тактом обмена информацией микропроцессора с внешними устройствами, управляется сигналом ГОТОВ. Блок интерфейса предназначен для связи МП с внешними устройствами. Он состоит из буфера адреса, буфера данных, и шины управления ШУ. Буфер адреса используется для выдачи -разрядного адреса на шину адреса ША Он обеспечивает адресацию внешней памяти объемом до 64 Кбайт и представляет собой однонаправленную схему с тремя устойчивыми состояниями: АО — младший разряд, — старший разряд. Буфер данных служит для двустороннего обмена информацией (данными) между МП и внешними устройствами по -разрядной шине данных ШД . Он представляет собой двунаправленную трехстабильную схему: D0 — младший разряд, — старший разряд. Шина управления включает в себя сигналы приема и выдачи синхронизирующих и управляющих сигналов между МП и внешними устройствами. К сигналам управления относятся сигналы управления шиной данных, прямым доступом к памяти, прерываниями, асинхронной передачей данных, а к сигналам синхронизации — фазовые импульсы , СИНХРО, СБРОС. Сигналы управления ШД: РАЗРЕШЕНИЕ ПРИЕМА — ПМ (DBIN) информации в МП с ШД (активное состояние — высокий потенциал) и выходной сигнал РАЗРЕШЕНИЕ ЗАПИ. СИ — ЗП (WR) информации с МП в память (активное состояние — низкий потенциал). Сигналы управления прямым доступом к памяти: входной сигнал ЗАХВАТ — ЗХ (HOLD) (активное состояние — высокий потенциал) обеспечивает запрос на прямой доступ к памяти со стороны внешнего устройства и выходной сигнал ПОДТВЕРЖДЕНИЕ ЗАХВАТА — ПЗХ (HLDA) разрешает допуск внешнего устройства к ШД и ША, при этом ШД и ША микропроцессора переходят в высокоомное состояние. Сигналы управления прерыванием: входной сигнал ЗАПРОС ПРЕРЫВАНИЯ — ЗПР (INT) (активное состояние — высокий потенциал), который воспринимается МП только при наличии выходного сигнала РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ — РПР . Если сигнал ЗПР воспринимается МП, то он переходит на подпрограмму обслуживания, при этом на выходе РПР устанавливается низкий уровень, и запросы прерывания больше не воспринимаются, а МП после завершения подпрограммы обслуживания возвращается к тому месту прерванной программы, откуда был совершен переход Сигнал управления асинхронной передачей данных: входной сигнал ГОТОВ — ГТ (READY) (активное состояние — высокий потенциал) разрешает работу МП и указывает на готовность внешнего устройства к обмену информацией с МП. Сигнал ГТ позволяет синхронизировать обмен информацией с внешними устройствами более низкого быстродействия. При этом внешнее устройство при обращении к нему МП выдает на вход ГТ низкий потенциал и останавливает работу МП. Одновременно МП выдает сигнал ОЖИДАНИЯ — ОЖ (WAIT) (высокий потенциал), подтверждающий вход МП в режим ожидания. Работа МП возобновляется при появлении высокого потенциала на входе ГТ Сигнал ГТ позволяет организовать работу МП по машинным циклам, покомандно или с остановом по требуемому адресу МП. Сигналы синхронизации: входные сигналы фазовых неперекрывающихся импульсов Выходной сигнал синхронизации СИНХРО — С (SYNC) определяет начало каждого машинного цикла команды, во время действия которого через ШД выдается информация состояния МП. Входной сигнал СБРОС — R (RESET) обеспечивает начальную установку МП, т. е. прерывается выполнение операций в МП, СК и РК, а внутренние триггеры «Разрешения прерывания» и «Подтверждения захвата» устанавливаются в нулевое состояние. При этом во время действия сигнала R (его длительность должна быть не менее трех периодов ), ШД и ША находятся в высокоомном состоянии, выходные сигналы управления переходят в неактивное состояние, а содержимое РОН, аккумулятора и регистра признаков остаются без изменения. Процесс выполнения команд в МП состоит из двух частей: подготовительной и исполнительной. В подготовительной части принимаются команды (состоящие из 1, 2 или 3 байтов) из ЗУ и размещаются на регистрах МП. В исполнительной части дешифрируется код команды. Команды МП выполняются по машинным циклам . В зависимости от типа команда выполняется за один — пять МЦ. В каждом МЦ микропроцессор обращается (чтение или запись) к ЗУ УВВ. Во время машинного цикла из памяти извлекается код операции очередной команды. МЦ используются для повторных обращений к памяти с целью извлечения или записи операндов. Каждый МЦ выполняется по машинным тактам (МТ). МЦ может содержать три, четыре или пять МТ (рис. 10,7).
Рис. 10.7. Число тактов в цикле определяется кодом выполняемой команды. Длительность каждого такта равна периоду тактовой частоты и определяется как интервал времени между двумя тактовыми импульсами . В начале каждого МЦ по фронту МП вырабатывает сигнал СИНХРО. Для синхронизации МП с памятью или внешними устройствами он может находиться в состояниях ОЖИДАНИЕ, ЗАХВАТ, ПРЕРЫВАНИЕ, которые инициируются внешними сигналами, и ОСТАНОВ, который инициируется программно по команде HLT. На рис. 10.8 изображена схема алгоритма работы МП , показывающая последовательность перехода от такта к такту в МЦ и влияние внешних сигналов ГОТОВ, ЗАХВАТ и ЗАПРОС ПРЕРЫВАНИЯ на выполнение МЦ. При выполнении команды в такте содержимое С К (указателя стека или РОН) через регистр адреса и буфер адреса выдается на ША. В этом же такте МП выдает на ШД по фронту информацию о состоянии МП, которая указывает тип выполняемого машинного цикла (см. рис. 10.7). Из такта МП переходит в такт , в котором содержимое СК увеличивается на единицу, при этом содержимое регистра адреса остается неизменным до такта . В такте по заднему фронту анализируются входные сигналы ГОТОВ, ЗАХВАТ шин и сигналы состояния ПОДТВЕРЖДЕНИЕ ОСТАНОВА Если на входе ГОТОВ в такте по фронту устанавливается напряжение логического или вырабатывается сигнал состояния Пост, то МП переходит в состояния соответственно ожидания или останова . В состоянии ожидания МП находится до тех пор, пока на вход ГОТОВ не будет подано напряжение логической «1» В состоянии ОСТАНОВ МП выполняет действия, указанные при описании этого состояния. Если на входе ЗАХВАТ шин напряжение логической , то после окончания такта ТЗ МП переходит в состояние ЗАХВАТ шин и выполняет действия, указанные при описании этого состояния.
Рис. 10.8. После выполнения такта ТЗ цикл может закончиться или МП перейдет в такт . После выполнения такта цикл также может закончиться либо МП перейдет в такт . После выполнения такта цикл закачивается. Число тактов в цикле зависит о кода выполняемой команды. В течение тактов выполняются внутренние операции МП. В это время не происходит обращения к ЗУ, УВВ и не требуется подачи внешних управляющих сигналов. В конце машинного цикла анализируется сигнал ЗАХВАТ шин. Если на вход ЗАХВАТ шин подается напряжение логической «1», то продолжается выполнение состояния ЗАХВАТ шин. В противном случае анализируется окончание выполнения команды. Если команда не закончена, то МП начинает выполнять следующий МЦ с такта . В последнем такте последнего цикла команды по фронту анализируется сигнал на входе ЗАПРОС ПРЕРЫВАНИЯ. Напряжение логической «1», поданное на вход ЗАПРОС ПРЕРЫВАНИЯ, установит внутренний триггер «Запрос прерывания» в состояние «1», если на выходе РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ имеется напряжение логической . При этом МП начинает выполнять действия, указанные при описании состояния ПРЕРЫВАНИЕ. Если на входе ЗАПРОС ПРЕРЫВАНИЯ существует напряжение логического , то МП начинает выполнять первый цикл следующей команды с такта 77. Самая длинная команда МП — команда обмена стека XTHL. В результате выполнения этой команды содержимое РОН с содержимым двух ячеек стека. В циклах извлекаются два верхних байта из стека, которые загружаются в регистры временного хранения WZ. В циклах содержимое регистров HL загружается в стек и, наконец, в тактах последнего цикла содержимое регистров . пересылается в регистры . Действия, выполняемые МП в конкретном МЦ, определяются -разрядной информацией состояния, которая выдается через канал данных в такте 77 каждого МЦ. Эту информацию можно использовать для выработки сигналов обращения к ЗУ, УВВ и для организации различных режимов работы МП. Для запоминания информации состояния ее заносят во внешний -разрядный регистр состояния по сигналу совпадения импульса и сигнала СИНХРО (см. рис. 10.7) либо только по сигналу СИНХРО, Наименование, назначение сигналов состояния и их соответствие разрядам канал данных: — подтверждение прерывания; активный сигнал «1» используется для стробирования команды RST в МП из блока прерывания; ЗП, ВЫВ — запись-вывод; активный сигнал «0» свидетельствует о том, что в данном цикле выдается информация из МП в ЗУ или УВВ; СТЕК — операция со стеком; активный сигнал «1» свидетельствует о том, что на адресном канале установлено содержимое указателя стека; — подтверждение останова; активный сигнал «1» свидетельствует о том, что МП перешел в состояние ОСТАНОВ; ВЫВОД — вывод; активный сигнал «1» свидетельствует о том, что на адресном канале установлен номер внешнего Устройства и информация выводится из регистра результата (аккумулятора) на УВВ; — выборка кодов команды; активный сигнал «1» свидетелоствует о том, что в МП принимается первый байт команды; ВВОД — ввод; активный сигнал «1» свидетельствует о том, что на адресном канале установлен номер ВУ и вводится информация из УВВ в аккумулятор; ЧТЕНИЕ — чтение; активный сигнал «1» свидетельствует о чтении данных ЗУ. Машинные циклы можно разбить на десять типов в зависимости от сочетания сигналов состояния, выдаваемых в одном цикле: 1) цикл — выборка кода команды или прием перпого байта команды в РК; 2) цикл ЧТЕНИЕ ЗУ — чтение ЗУ по содержимому СК или по содержимому одного из регистров ВС, DE, HL; 3) цикл ЗАПИСЬ в ЗУ — запись по содержимому одного из регистров ВС, цикл ЧТЕНИЕ СТЕКА — чтение ЗУ по адресу, формирующимся указателем стека; 5) цикл ЗАПИСЬ В СТЕК — запись в ЗУ по адресу, формирующимся указателем стека; 6) цикл ВВОД — ввод информации в аккумулятор из ВУ; 7) цикл ВЫВОД — вывод информации из аккумулятора во ВУ; 8) цикл ПРЕРЫВАНИЕ — прием кода команды RST из блока прерывания; 9) цикл ОСТАНОВ; 10) цикл ПРЕРЫВАНИЕ в режиме ОСТАНОВ — прием кода команды при выводе МП из режима ОСТАНОВ по прерыванию. Соответствие сигналов состояния типам машинных циклов приведено в табл. 10.4. Первым МЦ выполнения команды является цикл выборки кода команды — (рис. 10.9). Таблица 10.4
Он начинается фронтом фазы в такте Т1. Сигнал СИНХРО вырабатывается по фронту в гакте Т1. Информация состояния выдается на шины данных по в такте Т1 и должна быть записана во внешний регистр состояния по сигналу совпадения фазы и СИНХРО. Поскольку цикл является циклом выборки кода команды, только два разряда канала находятся в активном состоянии логической .
Рис. 10.9. Разряд указывает, что выбирается первый байт команды; (ЧТЕНИЕ) указывает, что байт команды из внешней памяти. Содержимое СК выдается на шины адреса по в такте Т1. Информация на адресных шинах остается неизменной по такта . Снгиалы состояния сбрасываются по фронту в такте , и канал данных переключается для приема байта команды из внешней памяти МП.
Рис. 10.10. Код команды принамается в РК в такте Т3. Декодирование кода команды происходит в тактах . При работе с медленнодействующей памятью сигнал ГОТОВ можно использовать для введения задержки между тактами и ТЗ, чтобы обеспечить требуемое время выборки информации из памяти Цикл ЧТЕНИЕ ЗУ идентичен циклу выборки команды за исключением того, что сигнал состояния не вырабатывается и байт информации заносится в один из внутренних регистров МП, а не в РК (рис. 10.10), Циклы ЧТЕНИЕ — . Единственным сигналом состояния, выдаваемым на шииах даниыя логической «1», является сигнал состояния (ЧТЕНИЕ). Цикл ЗАПИСЬ В ЗУ отличается от цикла ЧТЕНИЕ тем, что информация, выданная из МП, записывается в указанную ячейку памяти (рис. 10.11). МЦ ЗАПИСИ может быть любой из циклов , в котором выполняется операция записи. Временные соотношения сигналов подобны циклам ВЫБОРКА КОМАНДЫ и ЧТЕНИЕ за исключением информации на шинах данных. В циклах ЧТЕНИЕ и ВЫБОРКА КОМАНДЫ микропроцессор переводит канал данных в режим приема, а в цикле ЗАПИСЬ по такта на шины данных выдается информация из МП для записи во внешнюю память и хранится состояние в течение всего такта ТЗ. Шины данных переходят в высокоимпедансное состояние по фронту в такте, следующем за тактом ТЗ (обычно это такт Т1 следующего МЦ).
Рис. 10.11. МЦ ЧТЕНИЕ СТЕКА и ЗАПИСЬ В СТЕК идентичны МЦ ЧТЕНИЕ ЗУ и ЗАПИСЬ В ЗУ за исключением дополнительного сигнала состояния СТЕК, выдаваемого по шине в такте . Сигнал состояния СТЕК можно реализовать для организации отдельно адресуемой области памяти объемом до 64 Кбайт. Если под стековую память отведена область основной оперативной памяти, то сигнал СТЕК можно использовать для формирования сигнала запрета выбора нестековой области памяти при выполнении циклоп ЧТЕНИЕ СТЕКА и ЗАПИСЬ В СТЕК. Циклы ЧТЕНИЕ ВУ и ЗАПИСЬ В ВУ могут наступить только при выполнении команд соответственно IN и OUT (рис. 10.10 и 10.11). Отличие заключается в том, что на канал данных в цикле в такте выдается сигнал состояния (ВВОД) для цикла ЧТЕНИЕ ВУ, а на и сигнал (ВЫВОД) для цикла ЗАПИСЬ В ВУ. МЦ ПОДТВЕРЖДЕНИЕ ОСТАНОВА может наступить только в результате выполнения команды HLT (рис. 10.12). Этот цикл характеризуется сигналами D7 (ЧТЕНИЕ) и . Остальные сигналы неактивны. Состояния микропроцессора. При работе МП может находиться в состояниях ОЖИДАНИЕ, ЗАХВАТ, ОСТАНОВ и ПРЕРЫВАНИЕ, Эти состояния синхронизированы МТ, а длительность определяется внешними сигналами ГОТОВ, ЗАХВАТ, ЗАПРОС ПРЕРЫВАНИЯ. Состояние ОЖИДАНИЕ используется для введения задержки между тактами и ТЗ при обращении к медленнодействующей памяти или УВВ, состояние ЗАХВАТ — для отключения адресных шин и шин данных независимо от МП.
Рис. 10.12. Состояние ОСТАНОВ необходимо для программного прекращения выполнения программы с помощью команды HLT, состояние ПРЕРЫВАНИЕ — для прерывания выполнения текущей программы по сигналу ЗПР и перехода по команде RST на подпрограмму обслуживания.
Рис. 10.13. Состояние ОЖИДАНИЕ можно использовать для увеличения времени обращения МП к медленнодействующим ЗУ или УВВ, остановки выполнения любого МЦ в команде, чтобы проконтролировать информацию на каналах адреса и данных (обычно при отладке устройства и программы). Состояние ОЖИДАНИЕ всегда длится целое число МТ между и Т3. На рис. 10.13 показана временная диаграмма МЦ ЧТЕНИЕ ЗУ с состоянием ОЖИДАНИЕ, включенными между тактами и ТЗ, МП переходит в состояние ОЖИДАНИЕ при подаче на вход ГОТОВ по фронту в такте напряжения логического «0». Анализируется сигнал ГОТОВ по спаду в такте Т2 . Причем сигнал ГОТОВ должен устанавливаться в состояние логического не менее, чем за 120 не до спада , В МП системе, использующей такты Тож, при обращении к памяти и УВВ время выполнения команды определяется следующим образом: , где Т — период тактовой частоты; — число тактов, требуемое для выполнения команды; — число тактов ожидания в цикле выполнения команды. Состояние ЗАХВАТ характеризуется тем, что МП заканчивает выполнение текущего МЦ команды и переводит шины адреса и данных в высокоимпедансное состояние. Это позволяет ВУ, например контроллеру прямого доступа к памяти, управлять шинами без участия МП. Состояние ЗАХВАТ инициируется подачей по фронту напряжения логической «1» на вход
Рис. 10.14. ЗАХВАТ. Занесение внешнего сигнала ЗАХВАТ на внутренний триггер «Захвата» происходит по , если МП выполняет такт (или такт Тож) и сигнал на входе ГОТОВ в состоянии логической «1» (при условии, что в предыдущем цикле внешний сигнал ЗАПРОС ПРЕРЫВАНИЯ не поступил на внутренний триггер «Запроса прерывания»). При поступлении сигнала ЗАХВАТ на внутренний триггер «Захвата» МП выполняет следующие действия: 1) оканчивает выполнение текущего МЦ; 2) переходит в состояние ЗАХВАТ и подтверждает это выдачей сигнала ПОДТВЕРЖДЕНИЕ ЗАХВАТА. Если текущий МЦ — ЧТЕНИЕ, то сигнал ПОДТВЕРЖДЕНИЕ ЗАХВАТА выдается по фронту в такте ТЗ, а для МЦ записи сигнал ПЗХ выдается по фоонту фазы , следующем за тактом ТЗ (это может быть такт текущего МЦ или первый такт состояния ЗАХВАТ) Шины адреса и данных переходят в высокоимпедансное состояние (отключаются от системных шин и не оказывают влияния на информацию, которая пересылается по каналпм адреса и данных); 3) после окончания действия сигнала ЗАХВАТ (сигнал переходит в состояние логического «0» по фронту ) МП выполняет следующий МЦ прерванной команды первый цикл новой команды с такта 77. На рис. 10 14 изображена временная диаграмма перевода МП в состояние ЗАХВАТ в ЧТЕНИЕ. Для избежания сбоя в работе МП при вводе его в состояние ЗАХВАТ необходимо, чтобы сигнал ЗАХВАТ был установлен в состояние логической «1» за время не менее, чем 120 нс до спада фазы . Это требование можно выполнить синхронизадней внешнего сигнала ЗАХВАТ фронтом фазы или фазы . При этом сигнал ПОД ТВЕРЖДЕНИЕ ЗАХВАТА выдается по фазе в такте ТЗ Шины данных и адреса переходят в высокоомное состояние по фронту фачы в такте ТЗ Если текущий МЦ содержит такты , то они выполняются, хотя МП и перешел в состо яние ЗАХВАТ (в состоянии ЗАХВАТ блокируется запуск о цикла с такта Т1. но не блокируется выработка тактов в текущем цикле). Сброс внешнего сигнала ЗАХВАТ можно инхронитировать фронтом фазы .
Рис. 10.15. На рис. 10.15 показана временная диаграмма перехода МП в состояние ЗАХВАТ в цикле ЗАПИСЬ В этом случае состояние ЗАХВАТ наступает по фазе в такте, следующем а тактом ТЗ. Шииа данных переходит в высокоимпедансное состояние но фазе такта, следующего за тактом ТЗ. В систему команд МП введена команда HLT (ОСТАНОВ), при выполнении которой прекращается выполнение программы и МП переходит в состояние ОСТАНОВ. Состояние ОСТАНОВ (Тост) характеризуется тем, что шины адреса и данных переходят в высокоимпедансное состояние и на выходе ОЖИДАНИЕ устанавливается напряжение логической «1». В это состояние МП переходит при выполнении команды HLT в МЦ ПОДТВЕРЖДЕНИЕ ОСТАНОВА после такта (рис. 10 16). Состояние ОСТАНОВ отличается от состояния ОЖИДАНИЕ следующим: состояние ОСТАНОВ инициируется выполнением команды HLT, а состояние ОЖИДАНИЕ — подачей напряжения логического «0» на вход ГОТОВ, такты Тож можно ввести между тактами и ТЗ в любом МЦ, а такты Гост — только в МЦ ПОДТВЕРЖДЕНИЕ ОСТАНОВА, которым является МЦ , если команда, принятая в цикле , расшифрована как HLT. Состояние ОСТАНОВ можно прерывать в трех случаях (рис. 10.17). 1. При подаче на вход ЗАХВАТ напряжения логической «1». При этом МП переходит в состояние ЗАХВАТ, о чем свидетельствует сигнал ПОДТВЕРЖДЕНИЕ ЗАХВАТА, сигнал ОЖИДАНИЕ остается в состоянии логической . После окончания состояния ЗАХВАТА МП переходит в состояние ОСТАНОВ. 2. При подаче на вход ЗАПРОС ПРЕРЫВАНИЯ напряжения логической «1», если до команды HLT выполнялась команда , разрешившая прерывание, т. е. триггер «Запроса прерывании» был установлен в d». В этом случае МП выполняет подтверждения прерывания при останове в соответствии с описанием состояний прерывания 3. При подаче на вход СБРОС напряжения логической «1» МП начинает работу с такта цикла (СК устанавливается в состояние ).
Рис. 10.16.
Рис. 10.17. Временная диаграмма соотношения входных сигналов ЗАХВАТ и ЗАПРОС ПРЕРЫВАНИЯ в состоянии ОСТАНОВ показана на рис. 10.18. Если МП находится в состоянии ЗАХВАТ, то поступление сигнала ЗАПРОС ПРЕРЫВАНИЯ на внутренний триггер «Запроса прерывания» блокируется. Если внутренний триггер «Запроса прерывания» установлен в «1», то поступление сигнала ЗАХВАТ на внутренний триггер «Захвата» блокируется на время, пока внутренний триггер «Запроса прерывания» не сбросится в состояние «0», т. е. до окончания выполнения только первого цикла — цикла чтения команды RST. По окончании состояния ЗАХВАТ завершается выполнение прерванной подпрограммы обслуживания прерывания. Система прерываний.МП содержит схемы, позволяющие ВУ прервать выполнение текущей программы и перейти на выполнение новой программы, которая называется подпрограммой обслуживания прерывания. Когда выполнение подпрограммы обслуживания заканчивается, МП переходит к выполнению основной программы с команды, которая должна выполняться, если бы не произошло прерывания (рис. 10.19,а). Для перехода на подпрограмму обслуживания прерывания выполняются следующие действия: 1) внешний сигнал ЗАПРОС ПРЕРЫВАНИЯ поступает на схему прерывания, если прерывание разрешено, сигнал РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ находится в состоянии логической заканчивается выполнение текущей команды; 3) выдается сигнал состояния ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ, сигнализирующий, что МП принял запрос прерывания и готов обработать запрос прерывания; 4) сбрасывается в состояние логический выходной сигнал РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ; 5) ВУ, выдавшее сигнал ЗАПРОС ПРЕРЫВАНИЯ, обеспечивает выдачу на шину данных команды, определяющей адрес подпрограммы обслуживания;
Рис. 10.18. 6) содержимое СК запоминается в стеке; 7) адрес новой команды подпрограммы обслуживания записывается в С К. После окончания обслуживания подпрограммы прерывания МП возвращается в основную программу следующим образом: 1) выполняется команда возврата RET; 2) адрес команды основной программы, перед которой произошло прерывание, выбирается из стека и используется для выборки команды; 3) адрес команды инкременируется, и результат засылается в СК. В МП используются три сигнала управления прерыванием: 1) РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ — выходной сигнал устанавливается в состояние «1» по команде EI (разрешение прерывания), показывающий готовность МП к прерыванию; 2) ЗАПРОС ПРЕРЫВАНИЯ — входной сигнал, используемый для подачи запроса прерывания; ПРЕРЫВАНИЯ — сигнал состояния, являющийся реакцией МП на сигнал ЗАПРОС ПРЕРЫВАНИЯ. После обнаружения логической «1» на входе ПРЕРЫВАНИЯ МП заканчивает выполнение текущей команды и выполняет МЦ ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ. При этом выходной сигнал РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ сбрасывается в состояние логического «0» по фронту такта Т1, но может быть сброшен также подачей на вход СБРОС напряжения логической «1» или выполнением команды DI (запрет прерывания). Рис. 10.19 (см. оригинал) Входной сигнал ЗАПРОС ПРЕРЫВАНИЯ может быть установлен в состояние логического в любой момент после начала МЦ ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ, по обязательно до выполнения команды EI. Если ЗАПРОС ПРЕРЫВАНИЯ не будет установлен в состояние логического , то появляется возможность прерывания, т. е. выполнения нового цикла ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ. Для сброса внешнего сигнала ЗАПРОС ПРЕРЫВАНИЯ можно использовать сигнал состояния ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ, который выдается на DO в такте Т1 по фазе . Машинный цикл ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ характеризуется наличием напряжения логической «1» на выходах DO () при выдаче информации состоянгя (рис. ). Переход на подпрограмму обслуживания прерывания инициируется внешним сигналом ЗАПРОС ПРЕРЫВАНИЯ, который должен установиться в состояние логической «1» за время не менее, чем 120 не до спада фазы в последнем такте последнего МЦ текущей команды. Следующим выполняется цикл ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ, в котором принимается один байт информации от ВУ. Принятый байт записывается в РК и интерпретируется как код команды. В МЦ ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ выполняются следующие действия: I) выходной сигнал РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ сбрасывается в состояние логического «0» по фронту в такте Т1, и блокируется поступление новых запросов прерывания; 2) содержимое СК выдается на шины адреса, но не инкрементируется в чтом цикле; 3) сигнал состояния ЧТЕНИЕ не выдается; 4) ВУ, выдавшее адрес прерывания, во время действия сигнала ПРИЕМ, обеспечивает подачу команды прерывания на шину данных путем стробировапня сигналом состояния и воспринимается МП как слово данных, которое принимается РК в такте ТЗ. Обычно команда, формируемая прерывающим устройством, является командой перехода на подпрограмму обслуживания. В системе команд МП такой командой является команда RST, формат которой , где ААА — вектор прерывания. Эта команда представляет собой однобайтную инструкцию перехода на подпрограмму и обеспечивает сохранение содержимого СК в стеке и занесение в СК начального адреса подпрограммы 0000 . Для выбора одного из восьми фиксированных адресов перехода на подпрограмму прерывания используется трехби говый вектор ААА. В табл. 10.5 приведены восемь векторов команды прерывания и соответствующие адреса В восьми байтах памяти, отведенных для каждого прерывания, можно записать начало подпрограммы обслуживания прерывания. Последней выполняемой командой в этой подпрограмме обычно является команда возврата RET из подпрограммы, которая передает управление прерванной программе. Для продолжения основной программы подпрограмма обслуживания прерывания должна сохранять, а затем восстанавливать содержимое всех регистров, используемых в основной программе. Таблица 10.5
Так как прерывание сбрасывает внутренний триггер прерывания в , по окончании подпрограммы обслуживания прерывания необходимо установить командой EI триггер прерывания в «1», чтобы дать возможность МП обрабатывать следующие запросы на прерывание. Таким образом, подпрограмма обслуживания прерывания может иметь следующий вид:
Если в подпрограмме обработки прерывания триггер прерывания установлен командой EI в состояние «1», то выполнение этой подпрограммы, в свою очередь, можно прервать запросом на прерывание от другого ВУ. Максимальное количество прерываний описанным способом равно восьми. Временная диаграмма выполнения команды RST показана на рис. . Цикл — это цикл подтверждения прерывания. В этом цикле ВУ передает в МП команду RST, которая дешифрируется в тактах , и содержимое УС декрементируется. В циклах содержимое СК записывается в память по указателю стека, а в СК формируется адрес подпрограммы обслуживания из разрядов, содержащих вектор прерывания. ВУ имеет возможность подавать в МП не только команду и команду CALL . Получив команду CALL, МП автоматически переходит в режим ввода двух бапт адреса в циклах . После этого сохраняется содержимое С К в стеке и МП обращается к началу подпрограммы обслуживания. Начало подпрограммы указано во втором и третьем байтах команды CALL. Если МП находится в состоянии ЗАХВАТ или ОЖИДАНИЕ, то прерывание не воспринимается, но МП может перейти в эти состояния цикла ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ. Машинный цикл ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ ПРИ ОСТАНОВЕ выполняется при поступлении ЗАПРОСА ПРЕРЫВАНИЯ в то время, когда МП находится в состоянии ОСТАНОВ. Машинный цикл ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ ПРИ ОСТАНОВЕ аналогичен машинному циклу ПОДТВЕРЖДЕНИЕ ПРЕРЫВАНИЯ. Единственное отличие заключается в том, что по фазе в такте на шинах данных выдается дополнительный сигнал — состояния ПОДТВЕРЖДЕНИЕ ОСТАНОВА
Рис. 10.20. Система команд МП. МикроЭВМ на основе серии представляет собой массив программно доступных регистров, над содержимым которых выполняются указанные в командах операции (рис. 10.20). Эффективность программы определяется полнотой системы команд МП и умением применять эту систему команд при решении поставленной задачи. Программа состоит из последовательности команд, размещенных в памяти, которую можно представить как последовательность ячеек размером один байт. МП последовательно байт за байтом считывает содержимое ячеек памяти, адрес которых указывает лиманд, дешифрирует их и выполняет считанную команду. Особенностью программной модели (рис. 10.20) МП является возможность программного объединения -битовых РОН В, С, D Е, Н, L в -битовые регистровые пары ВС, пары могут хранить -битовые операнды или выступать в качестве указателей памяти. Основным указателем памяти служит -пара и ячейка памяти, адрес которой определяется содержимым этой пары и обозначается М. Программно доступными являются также -битовые счетчик команд, указатель стека, слово-состояние AF—PSW (аккумулятор А и регистр признаков F) и триггер «Разрешения прерывании», а также признаки переноса С, знака S, нулевого результата Z и четности Р. МП можно адресовать до 256 регистров ввода, 256 регистров вывода, а также 64 Кбайт памяти.
Рис. 10.21. Команда МП может содержать один, два или три байта (рис. 10.21). Первый байт команды всегда содержит код операции, а в остальных двух байтах размещаются операнды или адреса операндов. Адресация может быть прямая, непосредственная, регистровая, косвенная.
Рис. 10.22. При прямой адресации исполнительный адрес операнда содержится непосредственно в команде (рис. 10.22). В первом байте расположен код операции, а во втором и в третьем байтах — адрес операнда. С помощью прямой адресации можно обращаться к любой ячейке памяти, однако многосайтные команды занимают много места в памяти, а их выполнение требует многократного обращения к памяти. При непосредственной адресации во втором или во втором я в третьем байтах команды непосредственно содержится операнд (данные) или адрес, заносимый в РОН (рис. 10.23). Этот способ адресации используется при работе с константами.
Рис. 10.23.
Рис. 10.24.
Рис. 10.25. При регистровой адресации адреса РОН, участвующие в операции, содержатся в байте кода операции (рис. 10.24). Регистровая адресация используется для адресации одно- или двухбайтовых слов, содержащихся в РОН. При косвенной адресации в однобайтной команде указывается адрес, по которому хранится исполнительный адрес операнда (рис. 10.25). Исполнительный адрес операнда, т. е. Указатель памяти, располагается в одной из пар РОН ВС, DE, HL, код которых указывается по команде. Косвенную адресацию широко используют в циклических программах, например при обработке регулярных структур данных типа массивов. В указатель памяти сначала загружается базовый (начальный) адрес массива, а переход к последовательным элементам массива осуществляется с помощью инкремента указателя памяти. В командах загрузки стека и извлечения из стека также применяют косвенную адресацию При атом исполнительным адресом является указатель стека. Базовая система команд МП содержит 111 команд (табл. 10.6). Классификация команд МП по формату, архитектурным и функциональным признакам показана на рис. 10.26. В зависимости от функционального назначения систему команд МП можно разделить на следующие группы: команды передачи (пересылки) данных, команды арифметических и логических операций, команды управления программой, команды стека, команды управления МП [25; 48; 59; 70].
Рис. 10.26. Команды передачи (пересылки) данных обеспечивают двусторонний обмен информацией между внешней памятью и блоком РОН или между различными регистрами блока РОН. Группа команд передачи содержит следующие команды: пересылки байта данных MOV DS между регистрами В, С, D, Е, Н, L, т. е. содержимое регистра-источника S пересылается В регистр-получатель D без изменения содержимого регистра-источника S или между РОН и памятью MOV М, r ( по адресу HL), MOV r, М (М [Н, ); непосредственной загрузки РОН MVI или ячеек памяти MVI М прямой загрузки аккумулятора или по адресу в паре регистров ВС, DE, LDAX ; прямого запоминания содержимого аккумулятора или по адресу в паре регистров ВС, DE STAX ; Команду загрузки регистров LHLD и команду запоминания содержимого HL SHLD ; непосредственной загрузки регистровых пар В, D, Н и УС -у В); загрузки указатели стека SPHL УС) и счетчика команд PCHL ; команду обмена между регистрами HL и DE XCHG (Н Е), и команду обмена XTHL содержимого регистров HL и содержимого М с адресом []. Команды арифметических операций позволяют выполнять операции сложения и вычитания -битовых операндов. В этой группе команд адресуется только один операнд, второй операнд находится в аккумуляторе, при этом результат сложения загружается в аккумулятор, и признаки устанавливаются в регистре признаков F. Операции умножения и деления, а также операции с другими форматами данных реализуются подпрограммами, что приводит к значительному уменьшению производительности МП. Группа арифметических команд содержит следующие команды: сложения содержимого аккумулятора с содержимым РОН ADDr ( или ячейки памяти или со вторым байтом команды ADI (); сложения с переносом ADC г (); , что позволяет реализовать сложение многобайтных чисел; вычитания из содержимого аккумулятора байта данных РОН SUB или ячейки памяти М [Н, L] SUB М (А — —М [Н, или второго байта команды вычитания с заемом SBB (, что позволяет реализовать вычитание многобайтных чисел); сложения двухбайтовых слов , при этом суммируется содержимое регистра HL с содержимым регистровой пары РОН ВС, DE, HL, УС, а результат заносится в регистр HL и устанавливается бит переноса С (см. рис. 10.5,б); инкремента (увеличения) декремента (уменьшения) на единицу содержимого РОН А, В, С, D, Е, Н, L, памяти М INR г (г ) или регистровой пары ВС, DE, HL, УС команду десятичной коррекции аккумулятора DAA, которая используется при сложении двоично-десятнчных чисел. Коррекция осуществляется следующим образом: 1) если младшие 4 бита аккумулятора представляют число больше 9 или признак то к А прибавляется число 0610) в противном случае содержимое аккумулятора не изменяется; 2) если старшие 4 бнта аккумулятора представляют число больше 9 и если признак , то к старшим 4 битам прибавляется число 610. Следует заметить, что команда DAA не корректирует результат двоичного вычитания. Команды логических операций выполняют операции булевой алгебры, при этом указанные команды адресуют только один операнд, второй операнд находится в аккумуляторе, туда же загружается результат операции. По результату операции модифицируются состояния всех признаков регистра F, кроме при знака переноса С, который всегда сбрасывается в «0>. Таблица 10.6 (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Таблица 10.6 (продолжение) (см. оригинал) Группа команд логических операций содержит следующие команды: операции конъюнкции (логического умножения И) над содержимым аккумулятора и содержимым одного из РОН или ячейки памяти , или вторым байтом команды ANI (), команды можно использовать для проверки бита слова аккумуляторе с помощью другого слова-маски; операции дизъюнкции (логического сложения ИЛИ) над «одержимым аккумулятора и содержимым одного из или содержимым ячейки памяти , или вторым байтом команды Эти команды используют для установки определенных битов слов в аккумуляторе с помощью другого слова-маски, а также для синтеза нового слова из полей других слов;
Рис. 10.27. операции ИСКЛЮЧАЮЩЕЕ ИЛИ (отрицание равнозначности, сумма по модулю 2) над содержимым аккумулятора и содержимым одного из РОН XRA или ячейки памяти XRA М (А ), вторым байтом команды XRI (А ) . Эти команды используют для инвертирования определенных битов слов с помощью слова-маски на основе тождества , а также для сравнения слова на абсолютное равенство операций инвертирования содержимого аккумулятора СМА или признака переноса С СМС и установки Переноса С операции арифметического сравнения содержимого аккумулятора и содержимого одного из РОН СМР г , или ячейки памяти CMP М , или второго байта команды CPI (А — ), которые из содержимого А вычитают значения адресуемого операнда, модифицируют по результату все признаки (если А — г, , но не изменяют содержимое аккумулятора; операции циклического сдвига (рис. 10.27 и 10.28) содержимого аккумулятора на один разряд влево (вправо) с заполнением признака переноса RLC (RRC) или с включением прививка переноса в цепь сдвига . Команды управлении (ветвления) программой позволяют обычную последовательность выполнения команд программы в зависимости от результатов обработки данных. Команды управления программой состоят из трех байтов. Во втором и в третьем байтах содержится адрес, по которому выбираются следующие команды другой части программы. Команды управления программой состоят из команд безусловного и условного переходов и используются для создания ветвления и циклов в программе. К командам безусловного перехода относятся: команда перехода без возврата, по которой в СК заносится новый адрес программы, содержащийся во втором и третьем байтах команды; команда вызова подпрограммы CALL с возвратом, по которой содержимое СК, т. е. адрес следующей команды (адрес возврата), сохраняется в стеке, а в СК заносится адрес перехода (адрес первой команды подпрограммы); при этом после выполнения подпрограммы по ее последней команде ВОЗВРАТ восстанавливается содержимое СК, т. е. адрес возврата из стека, адресуемый указателем стека.
Рис. 10.28. Команды условного перехода осуществляют передачу управления только при выполнении некоторого условия или или или или , при этом программа переходит по адресу, указанному в команде, если же условия не выполняются, то передача управления не происходит, а выполняется следующая по порядку команда. Команды условного перехода, условия, их мнемонические обозначения приведены в табл. 10.7. Команды стека обеспечивают размещение в стековой области памяти содержимого РОН при выполнении команд управления программой и при обработке прерывания. Команды стека содержат следующие команды: ввода в стек PUSH содержимого регистровой пары , при этом в ячейки памяти с адресом заносится старший байт , а в ячейку с адресом — младший бант (см. рис. ); вывода из стека , при этом содержимое по адресу УС передается в младшие 8 бит , а содержимое по адресу — в старшие 8 бит . После этого содержимое УС увеличивается еще на единицу (см. рис. 10.6,в). Таблица 10.7
Для правильной работы стека команды PUSH и POP обязательно должны быть парными. Команды управления МП применяют для задания режимов работы МП, Они содержат: команду останова HLT, которая обеспечивает прекращение выполнения программы переводит МП в состояние останов; команду разрешения (запрещения) прерывания , которая устанавливает внутренний триггер разрешения прерывания в состояние «1» , тогда МП реагирует (не реагирует) на запросы прерываний, поступающие от внешних устройств, инициирующих обмен данными; команду повторного запуска, т. е. перехода на подпрограмму обслуживания прерывания RST А, где вектор прерывания А формируется подсистемой прерывания в зависимости от значаний , МП переходит к одной из восьми ячеек, находящихся в первых адресах памяти (000010, ); холостую команду NOP, которая не производит никаких действий, кроме инкремента СК для перехода к следующей команде, и используется для создания программных циклов задержки, в которых МП генерирует сигналы программируемой длительности; команды ввода-вывода IN (ВУ по адресу ) ВУ второй байт этих команд указывает адрес регистров ввода-вывода, а получателем (или источником) может быть только аккумулятор. На рис. 10.29 показаны команды, которые влияют на аккумулятор Команды, указанные над аккумулятором, действуют на данные в этом регистре и за исключением команды СМА (инвертирование аккумулятора) влияют на один на несколько триггеров -регистра признаков. Команды, расположенные ниже аккумулятора, пересылают данные в аккумулятор из него и не влияют на триггеры «Регистра признаков». Здесь же показаны команды STC (установки переноса) и СМС (инвертирование переноса). Команды управления программой (рис. 10.30) изменяют содержимое СК, изменяя при этом нормальное последовательное выполнение команд. Команды перехода JMP влияют только на СК. Команды вызова CALL и возврата RET воздействуют на СК, УС и стек. Рис. 10.31 (см. оригинал) Рис. 10.33 (см. оригинал) Команды для пары регистров (рис. 10.31) связаны с -битовыми словами За исключением команды DAD, которая суммирует содержимое пары регистров В и С (или D и Е) с Н и L, ни одна из этих команд не изменяет состояние «Регистра признаков», a DAD влияет только на признак переноса. Временные диаграммы выполнения различных команд, изображенные на рис. 10 32, даны для одного машинного цикла:
Рис. 10.34. обмена регистрами XCHG, инвертирования аккумулятора СМА, установки переноса STC, инвертирования переноса СМС, десятичной коррекции аккумулятора DAA, разрешения прерывания EI, запрета прерывания DI, холостой команды NOP на рис. 10.32, а; пересылки , инкремента регистра INR г, декремента регистра DCR г, загрузки указателя стека SPHL, загрузки счетчика команд PCHL, инкремента пары регистров ВС, DE, HL и указателя стека INX, декремента пары регистров ВС, DE, HL и указателя стека DCX — на рис. . Временные диаграммы для двух машинных циклов изображены на рис. 10.33: пересылки MOV r, М, посылки MVI r, посылки в А содержимого или (DE)] ячейки (LDAX) — на рис. 10.33,а; пересылки MOVM, r, запоминания А по адресу или (DE)] STAX — на рис. . Временные диаграммы для трех машинных циклов изображены на рис. 10.34 и 10.35: вывода из стека POP — на рис. 10.34,а; ввода IN — на рис.
Рис. 10.35. загрузки пары регистров ВС, DE, HL и указателя стека LXI, безусловного перехода JMP и условных переходов JC, JNC, JM, JP, JZ, JNZ, JPO, JPE — на рис. 10.34,в; посылки MVI М, инкремента ячейки памяти ячейки памяти DCR М, вывода OUT — на рис. 10.34,г; двойного сложения DAD — на рис. 10.34,д; условных возвратов RC, RNG, RZ, RNZ, RP, RM, RPE, RPO — на рис. ввода в стек PUSH, повторного запуска RST — на рис. . Временные диаграммы для четырех машинных циклов изображены на рис. 10.36: загрузки памяти STA — на рис. 10.36,а; загрузки аккумулятора LDA — на рис. . Временные диаграммы для пяти машинных циклов изображены на рис. 10 37: вызова подпрограммы CALL условных переходов на подпрограмму СС, CNC, CZ, CNZ, CP, CM, CPE, СРО — на рис. 10.37, а; запоминания регистров Н и L по адресу рис. ; Рис. 10.36 Рис. 10.37 (см. оригинал) Обмена стека XTHL — на рис. 10.37,в; загрузки регистров Н и L содержимым ячейки памяти LHLD — на рис. 10.37,г. Временная диаграмма соотношения входных и выходных управляющих, адресных и информационных сигналов, фазовых импульсов на рис. 10.38. Пример выполнения команды CALL (вызов подпрограммы). Это трехбайтовая команда выполняется за пять МЦ и предназначена для запоминания содержимого СК в стеке по адресу, указанному в УС, и приема в СК второго и третьего байтов команды, являющихся соответственно младшей и старшей частями первого адреса подпрограммы (рис. 10.37,а). В такте 77 цикла содержимое СК посылается через мультиплексор на -разрядьый РА, а РА — на БА и схему . Этот адрес хранится в РА на протяжении трех тактов цикла . В такте 77 по импульсу на шииы данных выдается информация состояния. Действительными для данного цикла являются три бита: ЧТЕНИЕ, -ВЫВОД. Содержимое РА, увеличенное на единицу, засылается в СК через мультиплексор СК, таким образом, подготовлен к выбору следующего байта команды по адресу (СК В такте ТЗ цикла управляющий внутренний сигнал ПРИЕМ вместе с сигналом состояния ЧТЕНИЕ стробирует поступление в РК первого байта команды, выбранного из внешнего ЗУ. Содержимое РК расшифровывается в ДК в такте , и схемы управления начинают вырабатывать сигналы для управления последующими стадиями выполнения команды. В тактах цикла содержимое УС уменьшается на единицу для получения адреса , по которому записывается старший брит СК. Это происходит следующим образом. В такте цикла содержимое УС посылается на РАК с РА — на схему декремента. В такте цикла содержимое посылается на РА для выборки второго байта команды. В такте цикла информация состояния ЧТЕНИЕ, ЗАПИСЬ-ВЫВОД с шин данных заносится во внешний регистр состояния. В цикле информация состояния не характеризует выполняемую команду, так как в это время команда еще не записана в РК и не цикле и следующих циклах информация состояния отражает действия, выполняемые МП в этих циклах. В такте ТЗ цикла второй байт команды засылается в младшую половину временного регистра (WZ), расположенного в группе общих регистров. В цикле , аналогично циклу , третий байт команды записывается в старшую половину врёменного регистра (WZ). Эти два байта, расположенные во временном регистре (WZ), и определяют начальный адрес подпрограммы. В такте цикла на -разрядную шину адреса выдается содержимое УС, равное . С этого момента шины адреса указывают адрес ячейки области ЗУ, отведенной под стековую память. Адрес первой ячейки стека должен быть введен в УС ранее выполненной команды LXI SP (загрузка указателя стека). Командой LXI SP задается начало стека в любой области ЗУ. В такте ТЗ цикла старший байт содержимого СК выдается на шины данных и запоминается в стеке по адресу (УС — 1). (см. оригинал) Рис. 10.38 В этом же такте в УС заносится содержимое РА, уменьшенное на единицу. При этом содержимое УС становится равным (УС — 2). В такте цикла содержимое УС, равное (УС — 2), выдается на канал адреса. В такте циклов на внешний регистр состояния заносятся сигналы состояния СТЕК и ЗАПИСЬ-ВЫВОД. В такте ТЗ цикла младший байт содержимого СК выдается на шину данных и запоминается в стеке по адресу (УС — 2). Напряжение логического на выходе ЗАПИСЬ стробирует информацию, выдаваемую через канал данных в циклах . Содержимое регистра (WZ) передается в РА и на БА в такте цикла следующей команды (являющейся первой командой подпрограммы) и записывается в СК при пересылке содержимого РА через схему инкремента — декремента и мультиплексор .
Рис. 10.39. Центральный процессор на БИС состоит из МП , шинных формирователей адреса и данных, генератора тактовых импульсов и системного контроллера (рис. 10.39). Указанные микросхемы МПК непосредственно взаимодействуют с МП , расширяют его функциональные возможности и позволяют создавать вкономичные и компактные микропроцессорные системы. Шинный формирователь представляет собой двунаправленный -разрядный приемопередатчик с высокой нагрузочной способностью (обеспечивающий токи нагрузки до ) и связывает микропроцессор с периферийными устройствами ввода-вывода информации (рис. ). Микросхема отличается от тем, что двунаправленная передача осуществляется с инверсией. Микросхема имеет двунаправленный канал А, подключаемый к МП и двунаправленный В, подключаемый к магистральной шине. Передача информации возможна при поступлении сигнала РАЗРЕШЕНИЕ в направлении . При все выходы каналов А и В отключаются и переходят в высокоомное состояние. Функции шинного формирователя в магистрали ША может выполнять также микросхема представляющая собой -разрядный буферный регистр, предназначенный для ввода-вывода информации со стробированием (рис. 10.40,в). Микросхема отличаетсяог тем, что имеет инвертирующие выходы. При и СТРОБ СОСТОЯНИЯ СТС осуществляется нетактируемая передача информации от входов DI до выходов DO. При подаче СТС микросхема хранит информацию предыдущего такта, при подаче на вход СТС положительного перепада импульса происходит «защелкивание» входной информации. При буферы переводятся в состояние «выключено», т. е. высокоомное состояние.
Рис. 10.40. Генератор тактовых импульсов предназначен для синхронизации МП систем на основе МПК (рис. 10.40,г). ГТИ формирует высокоуровневые (12 В) такто. сигналы с несовпадающими фазами; тактовый сигнал , по уровню совместимый с ТТЛ-сигналом и синхронизированный с сигналом сигнал СТРОБ СОСТОЯНИЯ СТС (STSTB), фиксирующий состояние шины данных МП; сигнал СБРОС (RESET) — R. К выводам подключается кварцевый резонатор, обеспечивающий высокую стабильность генератора опорной частоты (вывод ГОЧ), частота которого не должна превышать 27 МГц, при этом на выходах Ф1 и Ф2 формируются тактовые импульсы с частотой до 2,5 МГц. При поступлении сигнала СИНХРО (SYNC) — С с МП на одноименный вход микросхемы на ее выходе СТС формируется сигнал длительностью, равной длительности тактового сигнала . По сигналу СИСТЕМНЫЙ СБРОС — R и ГОТОВНОСТЬ — ГТ микросхема формирует сигнал СБРОС — R, обеспечивающий установку в исходное состояние микропроцессорной системы, и сигнал ГОТОВ (READY), стробнрованный тактовым сигналом . Системный контроллео и шинный формирователь предназначен для фиксации слова-состояния МП, выработки системных управляющих сигналов, буферизации шины данных МП и управления передачей данных (рис. ). Отличие микросхемы от состоит в способе формирования сигналов ЗАПИСЬ В ВУ — ЗПВУ (), ЗАПИСЬ В ЗУ ЗПЗУ (MEMW). Микросхема формирует эти сигналы относительно сигнала ЗАПИСЬ—ЗП (WR), а микросхема — относительно сигнала СТРОБ СОСТОЯНИЯ СТС (ST STB), что позволяет при применении в микропроцессорной системе микросхемы использовать ЗУ и УВВ с более широким диапазоном быстродействия Системный контроллер подключается к ШД микропроцессора с помощью двунаправленных выводов , к системной шине — с помощью двунаправленных выводов . Передача информации по двунаправленной шиие возможна при УПРАВЛЕНИЕ СИСТЕМНОЙ , а направление передачи определяется сигналами ПРИЕМ ПМ (DBIN) и ЗАПИСЬ ЗП и передача , а при и передача . При выводы DB системного контроллера переходят в состояние «выключено», т. е. высокоомное. Запись слова-состояния МП, поступающего по шине данных , осуществляется по сигналу СТС (STSTB), поступающему в начале каждого машинного цикла. При этом в зависимости от режима работы МП (слова-состояння) и выходных управляющих сигналов ПЗХ (HLDA), ЗП (WR), ПМ формируется сигнал («Подтверждение прерывания») или сигналы чтения (записи) при обращении к ЗУ или ВУ. Микро-ЭВМ на основе МПК строят по модульному принципу, который обеспечивает подключение к единой магистрали ЦП, ЗУ и УВВ, что расширяет возможности системы. Информацию на магистраль в любой момент времени выдает один из модулей-передатчиков. Принимает информацию один или несколько приемников. Одновременная работа двух пар модулей передатчик-приемник запрещена.
|
1 |
Оглавление
|