Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Регистры процессора и способы адресации




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

Регистры процессора делятся на следующие категории:

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

- указатель команд (счетчик команд);

- регистр флагов (признаков);

- регистры сегментов;

Это те регистры, с которыми работают программисты, т.е. программно-видимые регистры.

РОН (AX, BX, CX, DX, BP, SI, DI, SP).

Для 16-разрядных процессоров это 16-разрядные регистры, но они могут использоваться как два 8-разрядных. Для 32-разрядных процессоров – это 32-разрядные регистры, но могут использоваться как два 16 разрядных. (Только для первых 4 регистров). Назначение этих регистров приведено в таблице

A Аккумулятор
B Регистр базы
C Счетчик
D Данные
BP Указатель базы
SI Индекс источника
DI Индекс приемника
SP Указатель стека

РОН можно использовать во всех арифметических и логических операциях. В то же время каждый из регистров имеет свою специфику, некоторые команды работают только с определенными регистрами.

Регистр А традиционно называется аккумулятором и предназначен для обмена данными с внешними устройствами, т.е. содержимое этого регистра может выводиться на выход процессора. Регистры В и ВР часто используются как базовые регистры, а SI, DI как индексные. Регистр SP обычно указывает на вершину стека, который в процессорах INTEL поддерживается аппаратно.

Четыре первых регистра РОН устроены так, что возможен независимый доступ к их старшей и младшей половинам

Указатель команд (счетчик команд) IP. Это 16 или 32 разрядный регистр, который в первых простых процессорах хранил адрес команды, в современных процессорах он хранит смещение команды (число) от начала той программы, которая должна быть выполнена следующей. Начало программы хранится в сегментном регистре. Содержимое IP можно изменить только командами перехода. По окончании выборки из памяти текущей команды в этом регистре образуется адрес следующей команды.

Регистр флагов F. Флаг – это бит, принимающий значение 1(флагустановлен), если выполнено некоторое условие, или 0 (флаг сброшен), если это условие не выполнено. В процессорах семейства I 80*86 используется 9 флагов, каждому из которых присвоено определенное имя. Все флаги собраны в регистре флагов, каждый флаг – это один из разрядов регистра. Примеры флагов: флаг нуля, флаг переполнения, четности и т.д.

Некоторые флаги являются флагами условий, они автоматически меняются при выполнении команд. Другие флаги являются флагами состояний, они меняются из программы (например, блокируют прерывания).

Сегментные регистры. (CS,DS, SS, ES). Эти регистры используются только для адресации. Сегмент – это область виртуальной памяти, с независимой адресацией внутри сегмента. Он определяется как логическая группа информации, например, программа, массив данных. Для адресации начала сегмента и используются сегментные регистры. CS задает начало программного сегмента, который содержит программу. DS задает начало сегмента данных, т.е. сегмента, где хранятся данные для текущей программы. SS задает начало стека, а ES начало дополнительного сегмента данных. Никакие команды, кроме команд пересылки и стековые, не могут использовать сегментные регистры в качестве операндов.

Рассмотрим, как регистры процессора используются для адресации.

Применительно к памяти различают три адресных пространства: логическое, линейное, физическое.

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

Линейный адрес, используется редко и представляет преобразование логического адреса в линейный 32 битный адрес.

Физический адрес, это адрес конкретной ячейки памяти, выдаваемый на шину памяти.




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


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


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



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




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