Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода_ЛБ2_Адресация_рус.doc
Скачиваний:
1
Добавлен:
15.11.2019
Размер:
444.42 Кб
Скачать

3.2.2 Формирование адреса в процессорах Intel

Память для процессоров Intel подразделяется на байты (8 бит), слова (16 бит), двойные слова (32 бит). Более крупными единицами являются страницы и сегменты. Память может логически организовываться в виде одного или множества сегментов переменной длины. Применительно к памяти различают три адресных пространства: логическое, линейное и физическое.

Логический адрес или виртуальный адрес (рис 3.3) состоит из селектора и смещения. Смещение формируется суммированием компонентов (base, index, disp) в эффективный адрес.

 

Рисунок 3.3 - Формирование адреса 32-разрядных процессоров

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

В данном обзоре рассматриваются 11 режимов адресации процессора 80386. Два режима адресации предназначены для обращения к содержимому одного из регистров процессора или для задания операнда непосредственно в команде. Операнды могут иметь размер 8,16 или 32 бита.

Линейный адрес состоит из двух компонент: базового сегмента и эффективного адреса. Исполнительный адрес формируется сложением любой комбинации следующих четырех элементов адреса:

Смещение (offset): 8- или 32-разрядных значением, непосредственно задаваемым в команде;

База (Base): содержимое  одного из универсальных регистров. Базовые регистры обычно используются транслятором как начало отметки локальной области памяти;

Индекс (Index): содержимое одного из универсальных регистров. Индексные регистры  обычно используются для доступа к элементам массива или строки;

Масштаб (Scale): значение индексного регистра может быть умножено на коэффициент  масштабирования 1 2, 4 или 8, использование которого определено в специальном байте поля команды;

 В общем случае исполнительный (физический) адрес (EA) операнда определяется следующей формулой:

                                   ЕА = Base + (Index*Scale) + Offset

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

3.3 Порядок выполнения работы

  • 1 Студенты должны внимательно прочитать информационную часть работы, выяснить причины использования таких понятий как подразумеваемый операнд и подразумеваемый адрес, ознакомиться с методами адресации данных в компьютерах.

  • 2 Получить задание у преподавателя либо выбрать вариант задания из табл. 3.1.

Таблица 3.1 - Задания к лабораторной работе №3  

Номер  варианта

Методы адресации

 

1

Прямой

Индексный с масштабированием

Базово индексный со смещением и масштабированием

2

Регистровый косвенный

Базово индексный

Базово индексный со смещением

3

Индексный

Базово индексный Базово индексный с масштабированием

4

Регистровый косвенный

Индексный с масштабированием

Базово индексный с масштабированием

5

Индексный

Базово индексный с масштабированием

Базово индексный со смещением

6

Прямой

Базово индексный

Базово индексный со смещением и масштабированием

7

Базовый

Регистровый косвенный

Базово индексный с масштабированием

8

Базовый

Индексный с масштабированием

Базово индексный со смещением и масштабированием

9

Индексный

Базово индексный с масштабированием

Базово индексный со смещением

10

Прямой

Базово индексный

Базово индексный со смещением и масштабированием

   

  • 3 Перейти в раздел Схема адресации, ссылка на который приведена в конце информационной части методических указаний. Выписать зависимости для формирования линейного адреса (LA) трех режимов адресации в соответствии с заданием и нарисовать для них схемы формирования LA .

  • 4 Перейти в раздел Моделирование и выполнить следующие процедуры:

  • выбрать размер данных BYTE;

  • в соответствии с формулой вычисления LA наберите числовые данные в окнах Адрес сегмента, Размер сегмента, Смещение и т.д.;

  • постройте таблицу для рассматриваемого метода адресации и заполните первую строку. Вид таблицы представлен в табл. 3.2

  • в окошке размер данных установите WORD и наберите те же числовые данные, что и для первой строки. Полученное значение линейного адреса и значения параметров занесите во вторую строку таблицы;

  • в отчете должны быть приведены три рисунка схем формирования линейного адреса и три таблицы.

Таблица 3.2 - Формирование линейного адреса 

№ п/п 

Размер операнда

Адрес сегмента

Размер сегмента

Смещение

Базовый адрес

Индекс

Масштаб 

Линейный адрес

1

BYTE

2

50

20

10

5

1

 

2

WORD

2

50

20

10

5

 

 

3

 

 

 

 

 

 

 

 

 

Примечание: в том случае, когда в формуле формирования линейного адреса участвует параметр масштабирования (Scale) для каждого размера операнда необходимо получить дополнительные значения LA для значений параметра Масштаб 1, 2, 4 и 8.