Студопедия

КАТЕГОРИИ:


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

Способы адресации




 

Обычно в команде имеются поля, указывающие адрес операнда Ак. В этом случае адресацию называют явной. Однако иногда адресное поле в команде отсутствует, а информацию об адресе операнда несет сам код операции. Такую адресацию называют неявной. Ее используют при работе над содержимым аккумулятора или над флагами. Флагами называют признаки результата, которые при выполнении каждой операции заносятся в специальный регистр. Примерами могут служить флаги переполнения, четности и т.п. Общее число флагов зависит от конкретного процессора. Однако наиболее часто используется явная адресация.

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

Операнды могут находиться и в регистровой, и в оперативной памяти; время обращения зависит от их местоположения. Если операнд находится в регистровой памяти, то время обращения к нему невелико. Именно с целью сокращения времени на обращение к операндам и используют регистровую адресацию. Регистровая адресация в машине IBM PC реализуется при md = 1. Адрес одного из восьми регистров, в котором размещается операнд, определяется полем r/m. Операнд может занимать весь регистр или только его половину в зависимости от значения «w».

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

При косвенной адресации в адресном поле команды указывается адрес регистра или ячейки памяти, где находится адрес операнда; этот адрес называют указателем. В случае, когда указатель располагается в регистре, адресацию называют косвенной регистровой, рис. 5.3 (см. дополнительно рисунки). Адрес указателя в команде компьютера остается неизменным, но, меняя сами указатели, можно осуществлять переадресацию данных, что упрощает обработку массивов и списковых структур.

Часто адрес ячейки памяти образуется из нескольких составляющих частей, например, базового адреса (или базы B), индекса (X) и смещения (D). В этих случаях различают базовую, индексную и базово-индексную адресацию. Если адрес, указанный в команде, состоит из двух частей – АB и АСМ, то полный адрес ячейки памяти определяется суммированием содержимого регистра АB, где хранится «база», и смещения АСМ, рис. 5.4 (см. дополнительно рисунки).

Базовая адресация широко используется при создании программ, состоящих из перемещаемых модулей. Базовый (начальный) адрес загружается в регистр, а остальные адреса данного модуля определяются сложением базы и смещения. Это значит, что любая программа может работать с данными, располагаемыми в любой области памяти; для этого нужно изменить только базу.

Аналогично выполняется и индексная адресация. Однако после выполнения обращения к ячейке памяти с адресом A = (AX) + A СМ производится увеличение индекса X, записанного в индексном регистре, на единицу. Так «автоматически» определяется адрес следующего подлежащего обработке элемента в массиве. Использование индексной адресации упрощает создание циклических программ.

Часто используют комбинированную базово-индексную адресацию. В этом случае адрес ячейки памяти определяется суммой содержимого регистров базы и индекса, а также смещения, содержащегося в команде, рис. 5.5 (см. дополнительно рисунки). Иногда используют не сложение, а «сцепление» кодов базы, индекса и смещения. Это значит, что исполнительный адрес A = AB,AX,AСМ.

Для определения адреса следующей команды в IBM PC может быть использована относительная адресация. В этом случае адрес очередной команды представляет собой сумму текущего значения счетчика команд (IP) и смещения из предыдущей команды.

Все виды адресации в компьютере IBM PC определяют место расположения и способ нахождения адреса второго операнда; первый операнд всегда находится в одном из регистров. Для компьютеров IBM PC многочисленные способы адресации отчасти достались «по наследству» от ранних моделей микропроцессоров, когда разрядность была ограничена.

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

 

1. Система прерываний. Запросы прерываний. Характеристики системы прерываний.

 




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


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


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



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




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