Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Б М.docx
Скачиваний:
148
Добавлен:
09.06.2015
Размер:
2.63 Mб
Скачать

16 Разрядов

по которому произойдет передача управления.

Код N=AqAiA2 определяет адрес вектора прерывания со­ответствующей прерывающей программы, а точнее, начальный адрес группы ячеек ОП, хранящей информацию о начальном адресе прерывающей программы. В рассматриваемом МП со­хранение в памяти вектора состояния прерываемой программы и замена его в регистрах вектором прерывания прерывающей программы выполняются в основном не аппаратурными, а про­граммными средствами. Поэтому в данном случае элементы вектора прерывания хранятся в ОП в виде операндов фрагмента

Передача д стек а восстановление содержимого регистров

В*Н

В*Н+1

В*И+1

Адрес

ПрП

п

Область

стека

I

г

L

(яс)-в

(яс)-б

(1ГС)-+

(яс)-г

(ус)

»АПрП АПрП+1

лпрп+г

§ §

1*1

fl

I!

{

СчКм

СчК,

ст

А

F

В

С

Л

Е

И

1

УС

СчК

15

0

Аккуму- Регистр лятар признаков

8**

Регистры МП

Передачи ^ В стек и Восстановление содержимого СчК

Пр еры дающая ограмма ПрП)

Содственяо

программа

одрадотки

прерывания

Область

докторов

прерывания

PUSH PSW

АЛрПет

PUSH И

PUSH и

Jfl

El

АПрПщл

PUSH в

JMP

UI

POP В

POPS

POP Н

POP PSW

Команды досстаяовяения из стеки содержимого регистров

El

RET

Возврат к прерванной программе

Рис. 10.5. Процедура прерывания программ в МП К580:

IMP — передача управления;DI иEI запрещение и разрешение прерывания;PUSH иPOP запись в стек и считывание из стека;RET загрузка из стека счетчика командСчК(возврат к прерванной программе)

программы, выполняющей указанные процедуры (рис. 10.5). Код N может не только формироваться аппаратурой, как это было описано выше, но и передаваться источником прерывания, например периферийным устройством, по шине данных интер­фейса вместе с запросом прерывания (см. гл. 11).

Управление переходит к команде, загружающей в СчК адрес

начала прерывающей программы. Начальная часть этой про­граммы помещает в стек содержимое регистра-аккумулятора А и регистра признаков F (команда PUSH PSW), а также и других программно-доступных регистров МП, если прерываю­щая программа будет их использовать, при этом каждой коман­дой передачи в стек передается содержимое соответствующей пары регистров. Далее выполняется собственно программа обра­ботки прерывания.

Перед выходом из прерывающей программы последняя вос­станавливает из стека состояния регистров, в том числе аккуму­лятора и регистра признаков, которые они имели перед прерыва­нием, и управление переходит к прерванной программе (команда RET). Перед выполнением процедуры запоминания и восста­новления содержимого регистров прерывание запрещается (команда D/), а по их завершении разрешается (команда EL).

  1. Организация однокристальных 16-разрядных микропроцессоров

На основе л-МОП-технологии с кремниевыми затворами удалось реализовать принцип пропорционального уменьшения размеров МОП-схем, достигнуть большей степени интеграции (около 30 тыс. транзисторов на кристалле размером 5,5 X Х5,5мм) невысокого быстродействия. Задержка на элемент уменьшилась, она имеет тот же порядок, что и в ТТЛ-схемах с диодами Шотки, имеющими значительно большие размеры и потребляемую мощность.

На МОП БИС указанного типа фирмой Intel (США) был создан однокристальный 16-разрядный МП 8086 (прототип оте­чественного МП КМ1810ВМ86, в дальнейшем для сокращения именуемого К1810), который по уровню производительности и логической организации не уступает средним моделям малых ЭВМ. Приборы выпускаются в 40-контактном корпусе.

'Производительность МП К1810 составляет при 'тактовой частоте 5 МГц 2,5 млн. операций типа регистр-регистр. Это достигнуто благодаря повышению быстродействия схем и архи­тектурным усовершенствованиям. Архитектура МП К1810 имеет следующие особенности:

выполнение аппаратурными средствами арифметических операций над 8- и 16-разрядными двоичными числами со знаком и без знака, десятичными двоично-кодированными числами, ло­гических операций под цепочками данных, расширенные воз­можности работы с отдельными разрядами слов;

наличие 16-разрядного АЛУ с аппаратурной реализацией умножения и деления;

/ Сумматор

ж

\

АЛгб/$з ^ Старшие ABn/Sц. I биты

-*»AJ)J8fSs \ адреса и -+AB„/Se) С

Ч Б. М. Каган

и

15

состояния

Зкстракодовый сегмент ES

Чтение Запись

РРА Разреш. регистр адреса ПБ Передача байта П/ВВ Память/ВВ ОД Строб данных ПЕР/ПР Обмен данными

Сегмент стека

Блок ре­гистров переад- ресации

SS

§ 6-*-ЗАП

Сегмент данных

Л$

Сегмент кода

CS

устройство

СС Синхросигнал СБР Сброс ПРО Проверка

  • ГТ Готов

  • МИН/МАКС

. ЗПР Запрос прерывания

НМТ Немаскируемое прерывание ППР Подтверждение прерывания

  • ЗПДП Запрос ПДП

  • ППДП подтверждение ПДП

Внутренняя шина ван- "

О ных (16)

Аккумулятор

\_7S_7

Регистр признаков (флажков) |

АН

AL

ВН

BL

СИ

CL

ВН

JJL

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

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

ВР

Индекс-регистр операнда SI

Индекс-регистр результата UI

15

Блок

общих

регист­

ров

Ж

База

Счетчик

Данные

15

Устройства ] * сопряжения с шиной

И Операционное^ г

Я _ 1.Я !-■■■*■ ■ ■—■■■■ I ■■ ■■

Б

5

/

*

3

1

1

шина (16)

Очередь

команд

Сигналы « у правде- < ния МП у

Указателе (счетчик) команд IP

А-шина Г

Рис. 10.6. Структурная схема 16-разрядного МП К1810

регистровая структура с удвоенным по сравнению с К580 числом общих регистров, практически неограниченное число уровней векторного прерывания;

полная совместимость по системе команд с МП К580 (в том числе работа с 8-разрядными командами последнего) и одновре­менно наличие новых, эффективных 16-разрядных команд;

сегментная адресация, позволяющая прямо адресовать од­номегабайтную память (оперативную, дисковую и т.п.), про­изводить динамическое перемещение программ;

использование одного уровня напряжения питания 5 В. Связь между МП, ОП и периферийными устройствами осуществляется с помощью интерфейса И41 (мультишина)' (см. гл. 11).

На рис. 10.6 представлена структурная схема МП К1810, в которой имеются относительно автономные устройства: а) устройство сопряжения с шиной (УСШ), обеспечивающее опережающую выборку команд и формирование очереди вы­бранных байт последовательности команд в специальной ре­гистровой памяти (емкость 6 байт), а также формирование физического адреса памяти, чтение операндов из памяти или регистров ввода-вывода и запись результата операции в память или регистры ввода-вывода; б) операционное устройство (ОУ), извлекающее команды из очереди и реализующее предписанные командами операции в 16-разрядном АЛУ.

Устройство сопряжения с шиной помимо регистров очереди команд имеет блок 16-разрядных регистров переадресации, 16-разрядный сумматор адреса. Сюда же можно отнести указа­тель (счетчик) команд.

Такая структура при определенном соотношении тактовой частоты МП и длительности цикла памяти позволяет получить эффективное совмещение процессов выборки и исполнения ко­манд. Одному циклу основной памяти (800 не) соответствуют четыре такта работы МП К1810. При совмещении за время одного цикла основной памяти выполняются две однобайтные команды.

Операционное устройство включает в себя блок 16-разряд­ных общих регистров, содержащий четыре регистра данных: аккумулятор АХ, базовый регистр ВХ, «счетчик» СХ и «данные» DX, регистры — указатели стека SP и базы ВР и индексные регистры операнда SI и результата D/, а также АЛУ и 16-раз­рядный регистр признаков (флажков) F.

Устройство управления и синхронизации управляет УСШ и ОУ, а также обменом данными с периферийными устройства­ми, включая обработку запросов прерывания и реализацию прямого доступа к памяти.

Рис. 10.7. Конфигурации МП-систем: а — минимальная; б — максимальная

Микропроцессор К1810 имеет специальные аппаратурные средства (сегментная адресация и др.), поддерживающие муль­типрограммный режим работы и облегчающие создание на осно­ве этого МП многопроцессорных систем, в том числе содержа­щих арифметические сопроцессоры, позволяющие в несколько раз увеличить скорость выполнения арифметических операций с плавающей точкой и вычисление некоторых, функций.

Микропроцессор может работать в минимальной или макси­мальной конфигурации (рис. 10.7). Соответствующий режим ра­боты устанавливается управляющим сигналом МИН/МАКС. При этом в максимальной конфигурации используется допол­нительная микросхема — системный контроллер, вырабатываю­щий сигналы, управляющие записью и считыванием информа­ции в памяти и в периферийных устройствах, и сигналы, под­тверждающие прерывание. В минимальной конфигурации управ­ляющие сигналы для памяти и устройств ввода-вывода вы­рабатывает сам МП К1810.

На рис. 10.8 представлена программистская модель МП К1810, содержащая его программно-доступные регистры [25, 35].

Регистры данных АХ, ВХУ СХ, DX служат для хранения операндов и результатов операций. Возможна адресация как Целых регистров, так и их младшей L и старшей Н частей. Не-

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

Регистры

общего

назначения

Регистры индексные и указатели

Сегментные

регистры

АХ

АН

т

1

'таГ~

ВХ

ВН

Т

1

~BL

СХ

СИ

пг

1

~L

их

ЛН

т

1

1>L

SP

BP

SI

UI

CS

US

SS

ES

Аккумулятор

База

Счетчик

Данные

\

Указатель стека Указатель базы данных Индекс источника Индекс приемника

Сегмент кода

Сегмент данных

Сегмент стека

Сегмент дополнитель ный

| IP ^Указатель (счетчик) команд

75 14 73 11 11 10 9 0 7 5 5 *32 1 О

Г?! 11111 о Мо М i щРееистРзнаков

  • Перенос

  • Четность

Вспомогательный, перенос

Нуль

Знак

Пошаговый, режим Разрешение прерывания Направление сканирования Переполнение

Рис. 10.8. Программистская модель МП К1810

которым регистрам наряду с общим придается и специальное назначение. В последнем случае возможно в соответствующих командах адресовать эти регистры неявно самим кодом опера­ции (подразумеваемая адресация). Так, регистр АХ использует­ся в качестве аккумулятора, регистр ВХ — как базовый регистр, СХ — как счетчик в командах сдвигов, управления вычислитель­ными циклами и в операциях с цепочками байт, а регистр DX не-

' явно адресуется в командах умножения и деления, а в некоторых операциях ввода-вывода хранит адрес порта ввода-вывода.

В МП К1810 используется сегментация памяти, организуе­мая с помощью сегментных регистров: кода CS, данных DS, стека S5 и экстракода (дополнительного сегмента) £S, храня­щих базовые адреса сегментов текущей программы. Эти базовые адреса должны быть кратны 16. Размер сегментов 64 Кбайт. Допускается перекрытие сегментов.

Группу указательных и индексных регистров, задающих внутрисегментные смещения, образуют регистры указателя стека SPt указателя базы стека (данных) ВР, индекса операнда (источника) SI и индекса результата (приемника) DI. К.этой группе можно отнести и регистр указателя (счетчика) команд IP.

' Регистр признаков (флажков) F, который правильнее на­зывать регистром состояния микропроцессора, имеет 16 разря­дов, причем младшие 8 разрядов соответствуют регистру при­знаков (флажков) МП К580. В регистре признаков формируют­ся: а) признаки результата: переполнения OF (при операциях с целыми числами); знака результата SF\ нуля ZF\ вспомога­тельного переноса AF (перенос из третьего или заем в третий разряд); четности PF (четное число единиц в младшем байте результата); переноса CF (перенос из старшего или заем в стар­ший разряд результата); б) признаки управления: пошагового режима TF (управляет пошаговыми прерываниями); разреше­ния прерывания IF (разрешает или запрещает маскируемые прерывания); направления DF (указывает направления обра­ботки цепочки данных, начиная с элемента с наименьшим адре­сом при DF=0 или с наибольшим адресом при DF= 1).

Четыре 16-разрядных указательных и индексных регистров (SPt BP, S/, DI) могут участвовать в выполнении арифметиче­ских и логических операций над двухбайтными словами.

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

Хотя все регистры данных, указателей и сегментов 16-раз- рядные, на шину адреса выдаются и используются при обраще­ниях к ОП 20-разрядные исполнительные (физические) адреса, позволяющие обращаться к ОП емкостью 1 Мбайт. Это стано­вится возможным благодаря механизму сегментации памяти. В адресуемом пространстве выделяются сегменты, содержащие

Кбайт. Допускается перекрытие сегментов. Базовые (началь­ные) 16-разрядные адреса сегментов, хранящиеся в соответству- Юц*их сегментных регистрах, трактуются как 20-разрядные с ну-

Память

Рис. 10.9. Сегментация адрес­ного пространства памяти

I

$