Процессор Intel

Автор работы: Пользователь скрыл имя, 23 Октября 2011 в 17:51, лекция

Краткое описание

Высокопроизводительный 32-х разрядный микропроцессор 80i86 ориентирован на эффективное выполнение программ в среде многозадачных ОС (типа Windows). Микропроцессор имеет 32-разрядные регистры и 32-х разрядные раздельные шины адреса и данных.

Содержимое работы - 1 файл

Архитектура ЭВМ.doc

— 1.20 Мб (Скачать файл)

Поле md (модальность) показывает, как интерпетируется поле r/m для нахождения первого операнда:

если md=11, то операнд находится в регистре, номер которого задан полем r/m, в остальных случаях операнд находится в памяти. Когда адресуется память, то поле md определяет вариант использования внутрикомандного смещения disp, находящегося в третьем и четвертом байтах команды:

      00, то disp=0 и смещение отсутствует;

md=   01, disp=disp L – команда содержит 8-битовое смещение D8;

              10, disp=disp H disp L – команда содержит 16-битовое смещение D16.

     При md ≠ 11 реализуется косвенная адресация, и поле r/m определяет правила формирования эффективного адреса ЕА операнда в соответствии с таблицей:

  Поле  md Регистровая адресация
r/m md=0

disp=0

md=01

disp=disp L=D8

md=10

disp=dispH dispL=D16

md=11
w=0 w=1
000 Bx+SI

Базово-

индексная

адресация

Bx+SI+D8

Базово –  индексная

Bx+SI+D16

Базово –  индексная

AL Ax
001 Bx+DI

Базово –

 индексная

Bx+DI+D8 Bx+DI+D16 CL Cx
010 BP+SI

Базово – 

индексная

BP+SI+D8 BP+SI+D16 DL Dx
011 BP+DI BP+DI+D8 BP+DI+D16 BL Bx
100 SI   индекс-

            ная

SI+D8     индекс-

                          ная 

SI+D16       индекс-

                              ная     

AH SP
101 DI   адреса-

            ция

DI+D8     адреса-

                           ция

DI+D16      адреса-

                              ция 
 
 
 

CH BP
110 D16  Абсо-

лютная адре-

    сация

BP+D8     Базо-

                           вая

                        адреса-

                           ция

BP+D16         

                        Базовая

                                  адресация 

DH SI
111 Bx  Базовая

адресация 

Bx+D8 Bx+D16 BH DI
 

  Приведенные в таблице правила имеют одно исключение, позволяющее реализовать прямую (абсолютную) адресацию: если md=00, a r/m=110, то EA=D16=disp H disp L.

   Таким  образом, имеется три варианта  интерпретации поля md и восемь вариантов интерпретации поля r/m, что дает 24 варианта вычисления эффективного адреса ЕА.

Смещение disp, содержащее в команде, интерпретируется как целое число со знаком, которое участвует в вычислении эффективного адреса ЕА.

    Имеется  специальный формат команды для  непосредственной адресации, т.е.  когда операнд располагается  в самой команде.

     Поскольку необходимость  в адресации второго операнда отсутствует, то поле reg используется для расширения кода операции COP. Отсутствует также и бит направления d, т.к. результат операции можно поместить только на место первого операнда. Место этого бита занимает бит S, который является признаком использования одного или двух байт для задания непосредственного операнда. Поле S и W интерпретируются следующим образом:

               х0, один байт данных data L;

SW=      01, два байта данных data H data L;

             11, один байт данных, который автоматически расширяется со знаком          

                  до 16 бит. 
     
     

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

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

Регистровая адресация

  Операнд  находится в одном из РОНов  или в одном из сегментных  регистров. Регистр может быть  определен в байте кода операции  или в постбайте 3-ех битовыми полями reg и r/m при условии md=11. Команды, оперирующие содержимым регистров, являются наиболее короткими и быстрыми, т.к. не требуют вычисления эффективного адреса ЕА и обращения к памяти.

  Прямая адресация

  В этом  случае эффективным адресом ЕА является содержимое байтов смещения disp команды. Этот способ реализуется при использовании постбайта с полями md=00 и r/m=110. ЕА – смещение в сегменте. Это целое число без знака.

Косвенная регистровая адресация

  Эффективный  адрес ЕА равен содержимому  одного из регистров SI, DI и Bx при md=00 и r/m=100, 101 и 111.

  Данный способ адресации позволяет вычислять адреса во время выполнения программ. При изменении содержимого регистра (SI, DI и Bx) одна и та же команда оперирует различными ячейками памяти, что позволяет организовать вычислительные циклы. Изменение РОНов обычно осуществляется с помощью команд инкрементирования (увеличения) и декрементирования.

Базовая адресация

  ЕА вычисляется  путем суммирования содержимого  регистров Bx и BP и смещения disp при md=01 и 10, r/m=111 и 110.

При использовании  Bx происходит обращение к операнду в текущем сегменте данных, а при BP – в текущем сегменте стека. Смещение disp может иметь длину 8 или 16 бит. 

Индексная адресация

  ЕА вычисляется  путем суммирования содержимого  индексных регистров SI и DI и смещения disp при md=01 и 10, r/m=100 и 101.

Базовая индексная адресация

ЕА равен сумме  содержимого базового регистра Bx или BP, индексного регистра SI или DI и смещения disp, находящегося в команде (в частном случае смещение disp может отсутствовать). Этот способ реализуется при md≠11 и r/m=000,001,010,011 и является наиболее гибким, т.к. две компоненты адреса (базу и индекс) можно изменять в процессе выполнения программ, что позволяет легко обращаться к элементам двумерных матриц.  

      

Информация о работе Процессор Intel