Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции препода / Конспект лекций ЭВМ.doc
Скачиваний:
149
Добавлен:
30.04.2013
Размер:
4 Mб
Скачать

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

Регистр

Название

Специальная функция регистра

АХ

AL

AH

Аккумулятор

Аккумулятор

(младший байт)

Аккумулятор

(старший байт)

Умножение, деление и ввод – вывод слов

Умножение, деление и ввод – вывод байтов; преобразования байтов; десятичная арифметика

Умножение и деление слов

BX

Базовый регистр

Счетчик

Адресация по базе; преобразование адресов

CX

СL

Счетчик

Счетчик

(младший байт)

Подсчет циклов; подсчет элементов цепочек

Реализация параметрических сдвигов

DX

Регистр данных

Умножение и деление слов; косвенный ввод – вывод

SP

Указатель стека

Операции с использованием стека

BP

Указатель базы

Базовый регистр

SI

Индекс источника

Указатель цепочки – источника, индексный регистр

DI

Индекс приёмника

Указатель цепочки – источника, индексный регистр

Подключение блоков памяти

С этой целью память выполняется в виде двух банков (рис. 5) младшего, подключаемого к линиям данных D7 — DO и содержащего байты с четными адресами (А0 = 0), и старшего, соединенного с D15 — D8 и содержащего байты с нечетными адресами (А0=1). Чтобы каждое слово передавалось за один цикл шины, слова располагают только с четных адресов. Напомним, что адресная линия АО совместно с линией разрешения старшего банка ВНЕ обес­печивает следующие варианты пересылок по шине данных:

А0 = 0, ВНЕ = 0 — пересылается слово;

А0 = 0, ВНЕ = 1 —пересылается только младший байт:

A0 = l, BHE = 0 — пересылается только старший байт;

А0 = 1, ВНЕ = 1 —устройство не выбрано.

Выработка сигнала ВНЕ и указанный порядок пересылок реализуются микропроцессором автоматически. При чтении из ЗУ в любом случае на шину данных будет подаваться слово, из которого МП при необходимости выберет требуемый байт и поместит его в регистр, указанный в выполняемой команде. Поэтому сигналы ВНЕ и АО на ПЗУ не подаются. При записи в ЗУ необходимо различать старший и младший байты (иначе может происходить разрушение информации, хранящейся в со­седнем байте). Для этого сигналы ВНЕ и АО подаются на входы CSH и CSL выбора старшего и младшего банков ОЗУ.

Процесс обращения к ПЗУ стробируется сигналом MEMR, а к ОЗУ - сигналами MEMR и MEMW, объединенными с помощью логического элемента И-НЕ. Блок ПЗУ может быть, например, выполнен на основе двух включенных параллельно БИС К573РФ4 емкостью 8 Кбайт каж­дая, а блок ОЗУ — на основе восьми БИС К537РУ10 емкостью 2 Кбайт каж­дая. Адресные входы А12 — АО каждой пары БИС соединены параллельно и подключены к адресным линиям А13 — А1. Оставшаяся свободной линия А14 используется для различения блоков ПЗУ (А14=0) и ОЗУ (А14 = 1). В общем случае для различения блоков ПЗУ и ОЗУ, а также для раз­дельной адресации страниц этих блоков осуществляется дешифрация старших адресных линий, например с помощью ИС К155ИД4.

рис. 5 Схема подключения блоков памяти

Подключение внешних устройств

При подключении внешних устройств также возникает проблема передачи слов или отдельных байтов по шине данных (ШД). К устройствам, которые осуществляют обмен байтами и поэтому подключаются к младшей или старшей половине ШД, относятся, в частности, все программируемые БИС. В этом случае отдельно дешифруются четные и нечетные адреса ВУ (рис. 6), и полученные таким образом сигналы выбора CS подаются на со­ответствующие входы БИС. Устройства с четными адресами подключаются к младшей половине ШД (или ко всей ШД), а устройства с нечетными адреса­ми — к старшей половине ШД. Если, например, необходимо передавать слова с помощью БИС интерфейса К580ВВ55, то параллельно включается две такие БИС, входы, CS которых соединены с разными дешифраторами адреса. При этом имеется возможность передавать не только слова, но и отдельные байты, т. е. обращаться индивидуально к каждой БИС. Если в этом нет необходимо­сти, то входы CS обеих БИС можно подключить к одному выходу верхнего дешифратора DC.

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

полное дешифрирование многобитового адреса одной БИС. Кроме того, появляется возможность изменения адресов ввода — вывода путем замены такой ПЗУ без изменения монтажа.

При использовании ВУ, ориентированных на передачу байтов, может оказаться целесообразным преобразование двухбайтовой ШД в однобайтовую. Это, в частности, требуется для организации прямого доступа к памяти с помощью БИС контроллера ПДП К580ВТ57 и для пересылки блоков данных между ЗУ и ВУ с помощью цепочечных команд. В последнем случае ввод — вывод должен быть организован с отображением на адресное про­странство памяти. Устройства, подключаемые к однобайтовой шине данных, могут получать четные или нечетные адреса произвольно.

рис. 6 Интерфейс МП К1810ВМ86 с портами ввода/вывода

Соседние файлы в папке Лекции препода