Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Программная модель

МП 8086 и 8088. Цель рассмотрения этих микропроцессоров - отметить основные архитектурные особенности с точки зрения программиста, которые используются в последующих микропроцессорах. К этим особенностям относится внутреннее устройство, которое одинаково у микропроцессоров (МП) 8086 и 8088. Как известно в любом процессоре формально можно выделить три части: регистры, арифметико-логическое устройство (АЛУ) и систему управления. С позиции пользователя структура регистров представляет основной интерес. Регистры можно рассматривать как самую быструю оперативную память (регистровую память), применение которой обеспечивает максимальную производительность процессора. Регистры используются для промежуточного хранения команд, данных, текущих результатов, адресов, управляющих признаков и их состояние часто может определяться программистом, который на языке Ассемблера может управлять содержимым программно доступных регистров.

МП 8086 имеют следующие группы регистров, показанные на рис. 3.1:

1) Регистры общего назначения (РОН)- 8 регистров.

2) Сегментные регистры - 4 регистра.

3) Указатель команд и флаги - 2 регистра.

 

Рисунок 3.1 - Регистры 16-разрядных микропроцессоров 8086/8088 и 80286

Регистры общего назначения (РОН) составляют группу регистров, которые в первую очередь используются для вычислительных целей. Все эти регистры имеют ширину 16 бит, но программа может в индивидуальном порядке использовать старшую или младшую s-оитовые части каждого регистра.

Например, ширина регистра АХ составляет 16 бит; программа может ссылаться на старшие 8 бит регистра АХ, как на регистр АН, а младшие 8 бит - это регистр AL. То же самое справедливо и для регистров ВХ.СХ и DX.

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

Регистр АХ соответствует аккумулятору разработанных ранее микропроцессоров (8080).

Регистр ВХ используется для адресации и для хранения операндов. Когда он используется как 16-битовый регистр, то может быть компонентой при определении адреса операнда.

Регистр СХ используется в качестве счетчика, в котором хранится число повторений одной команды или фрагмента программы.

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

Существуют пять 16-битовых регистров, которые могут принимать участие в адресации операндов. Один из них одновременно является и регистром общего назначения - это регистр ВХ, или регистр базы. Другие четыре регистра - это указатель базы ВР, указатель стека SP, индекс источника SI и индекс приемника DI. Программа может использовать регистры ВР, SI и DI как 16-битовые операнды, но их отдельные байты ей недоступны. Основное назначение этих регистров - хранение 16-битовых значений, используемых при формировании адресов операндов.

В МП i80x86 реализуется сегментированная модель памяти, при которой адресное пространство разделяется на блоки (сегменты) и адрес ячейки памяти складывается из адреса сегмента и адреса смещения внутри сегмента.

16 - разрядные МП реализуют режим реального адреса (R - режим) с 20 - разрядной шиной адреса и доступным адресным пространством до 1 Мбайт. В этом режиме для адресации сегмента и смещения используется по 16-разрядов. Поэтому размер каждого сегмента составляет 216 =64 Кбайт. Минимальное адресное расстояние между сегментами составляет 16 байт (1 параграф). Относительное расположение сегментов произвольное: сегменты могут совпадать, пересекаться, следовать непосредственно друг за другом.

Сегментные регистры используются для формирования базового адреса. Микропроцессор имеет четыре сегментных регистра: CS, DS, SS и ES для доступа в памяти к сегментам команд, данных, стека и дополнительного сегмента, соответственно. Каждый из них используется по своему назначению, но их использование может изменяться в соответствии с требованиями программы.

При выполнении любой программы выделяются одновременно дос­тупные ей 4 сегмента, адреса которых располагаются в сегментных регистрах: CS - сегмент для расположения кода в программу, DS - сегмент для расположения данных, ES - сегмент для расположения дополнительных данных и SS - сегмент стека для расположения данных с дисциплиной обслуживания LIFO (Last Input First Output- последний пришел, первый обслужен).

Микропроцессор использует сегментный регистр команд CS для определения сегмента, содержащего выполняемую программу. Выборка команды происходит из памяти по адресу, заданному парой регистров CS:IP, то есть регистр IP содержит смещение следующей выполняемой команды.

Микропроцессор использует сегментный регистр данных DS для обычного доступа к данным, аналогично рассмотренному выше.

Сегментный регистр стека SS задает системный стек. Команды PUSH, POP, CALL, RET и IRET обрабатывают данные в стеке, находящиеся в месте, определяемом парой регистров SS:SP. Регистр SP служит указателем в стековом сегменте. Всякий раз, когда при. адресации используется регистр SP, по умолчанию используется сегментный регистр стека.

Дополнительный сегментный регистр ES используется для ссылок к данным в случаях, когда требуется более одного сегмента. Обычной операцией в программе является копирование информации из одной области памяти в другую. Если эти области расположены не внутри одного поля размером 64К, то переместить данные, используя единственный сегментный регистр, невозможно. С помощью дополнительного сегментного регистра программа может одновременно определить сегменты источника и результата. Регистр DS локализует область исходных данных, а регистр ES указывает на сегмент результата.

Существуют специальные команды обработки строк для пересылки данных, которые автоматически используют DS и ES как сегменты источника и результата.

Адресуемое пространство памяти R - режима составляет 220 = 1 Мбайт, т.е. длина физического адреса составляет 20 разрядов. При формировании адреса используется следующая терминология:

- логический адрес - 32 разрядный указатель, содержащий 16 разрядов -адрес сегмента и 16 разрядов адрес смещения;

- базовый адрес (БА) - физический 20 - разрядный адрес сегмента, который устанавливается путем сдвига содержания сегментного регистра влево на 4 разряда (т.е. умножения на 24 = 16 содержания сегментного регистра);

- эффективный адрес (ЭА) - адрес смещения относительно адреса сегмента (линейный адрес относительно адреса сегмента, относительный адрес внутри сегмента, смещение). Эффективный адрес вычисляется в соответствии со структурой команды, в которой могут задаваться смещение, база и др. (не путайте с базовым адресом) (например ЭА = база + смещение) или может непосредственно находиться в регистре (например ЕР, ВР и др.);

- линейный адрес (ЛА)- адрес, образуемый как сумма базового адреса сегмента и смещения;

- физический адрес (ФА)- адрес, задаваемый на адресные шины памяти, в МП 8086 линейный адрес является физическим адресом.

Схема формирования физического адреса в R - режиме (вычисление выполняется внутри процессора блоком формирования адреса) определяется как ФА = ЛА = БА * 16 + ЭА представлена на рис. 3.2.

 

 

Рисунок 3.3 - Структура регистра флагов

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1122; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.