Лекции по ВМСС. Конспект лекций по курсу "Электронные вычислительные машины, системы и сети"
Скачать 3.89 Mb.
|
3. ПРОГРАММНАЯ МОДЕЛЬ МИКРОПРОЦЕССОРА К1810ВМ86 содержит две относительно независимые части: операционное устройство, реализующее заданные командой МП операции, и устройство шинного интерфейса, осуществляющее выборку команд из памяти, а также обращение к памяти и к внешним устройствам для считывания операндов и записи результатов (рис. 1). Оба устройства работают совместно, что распараллеливает процессы выборки и исполнения команды и повышает быстродействие МП. Операционное устройство, как правило, выполняет команды, коды которых уже находятся в МП, и поэтому такты выборки команды не включаются в цикл. Выполнение команд можно представить последовательностью циклов шины, в течение которых МП обращается к памяти за командами или обменивается данными с памятью или внешними устройствами. Каждый цикл шины инициируется устройством шинного интерфейса и содержит четыре обязательных такта Т1-Т4. В такте Т1 выдаётся адрес на совмещённую шину адреса/данных, в такте Т2 производится коммутация направления передачи, в тактах Т3, Т4. - передача данных. Операционное устройство МП содержит группу общих регистров, арифметико-логическое устройство (АЛУ), регистр флагов F и блок управления. Восемь 16-битовых регистров общего назначения участвуют во многих командах. В соответствии с основным назначением рассматриваемых регистров выделяют регистры АХ, ВХ, СХ, DХ, используемые прежде всего для записи данных, и регистры SР, ВР, SI, DI. которые хранят главным образом адресную информацию. Особенностью регистров АХ, ВХ, СХ, DX является то, что они допускают раздельное использование младших, и старших байтов. Тем самым обеспечивается возможность обработки, как слов, так и байтов. Все остальные регистры являются неделимыми и оперируют 16-разрядными словами и в случае использования только старшего или младшего байтов. Указательные регистры SP и ВР хранят смещение адреса в пределах текущего стекового сегмента памяти, а индексные регистры SI и DI хранят смещение адреса соответственно в текущем сегменте данных и в текущем дополнительном сегменте. Арифметическо-логическое устройство содержит 16-битовый комбинационный сумматор, с помощью которого выполняются арифметические операции, наборы комбинационных схем для выполнения логических операций, схемы для операций сдвигов и десятичной коррекции, а также регистры для временного хранения операндов и результатов. К АЛУ примыкает регистр флагов F (рис.2, где X обозначает неопределенное состояние бита). Его младший байт FL полностью соответствует регистру флагов K580ВМ80, а старший байт FH содержит четыре флага, отсутствующие в К580ВМ80. Шесть арифметических флагов фиксируют определенные признаки результата выполнения операции (арифметической, логической, сдвига или загрузки регистра флагов). Значения этих флагов (кроме флага AF) используются для реализации условных переходов, изменяющих ход выполнения программы. CF – флаг переноса, фиксирует значение переноса (заема), возникающего при сложении (вычитании) байтов или слов, а также значение выдвигаемого бита при сдвиге операнда. PF – флаг чётности (или парите-тета), фиксирует наличие чётного числа единиц в младшем байте результата операции, может быть использован, например, для контроля правильности передачи данных. AF - флаг вспомогательного переноса, фиксирует перенос (заем) из младшей тетрады, т.е. из бита аЗ в бит а4 при сложении (вычитании), используется только для двоично-десятичной арифметики, оперирует исключительно младшими байтами. ZF – флаг нуля, сигнализирует о флаг знака получении нулевого результата операции. SF – флаг знака дублирует значение старшего бита результата, который при использовании дополнительного кода соответствует знаку числа. OF - флаг переполнения, сигнализирует о потере старшего бита результата сложения или вычитания в связи с переполнением разрядной сетки при работе со знаковыми числами. При сложении этот флаг устанавливается в единицу, если происходит перенос в старший бит и нет переноса из старшего бита или имеется перенос из старшего бита, но отсутствует перенос в него: в противном случае флаг - OF устанавливается в нуль. При вычитании он устанавливается в единицу, когда возникает заём из старшего бита, но заём в старший бит отсутствует либо имеется заем в старший бит, но отсутствует заём из него. Имеется специальная команда прерывания при переполнении, которая в указанных случаях генерирует программное прерывание. Для управления некоторыми действиями МП предназначены три дополнительных флага. DF - флаг направления, управляемый командами CLD и STD: определяет порядок обработки цепочек в соответствующих командах: от меньших адресов (DF=0) или от больших (DF=1). IF - флаг разрешения прерываний, управляемый с помощью команд СLI и STI: при IF=1 микропроцессор воспринимает (распознаёт) и соответственно реагирует на запрос прерывания по входу INTR; при IF=0 прерывания по этому входу запрещаются (маскируются) и МП игнорирует поступающие запросы прерываний. Значение флага IF не влияет на восприятие внешних не маскируемых прерываний, по входу NMI, а также внутренних (программных) прерываний, выполняемых по команде INT. TF - флаг трассировки (прослеживания). При TF =1 МП переходит в покомандный (пошаговый) режим работы, применяемый при отладке программ, когда автоматически генерируется сигнал внутреннего прерывания типа 1 после выполнения команд с целью перехода к соответствующей подпрограмме. Команды установки или сброса флага TF отсутствуют, так что управление этим флагом осуществляется опосредованно, путём пересылки содержимого регистра флагов F через стек в общий регистр. Таблица 1
|