Что такое эффективный адрес
Перейти к содержимому

Что такое эффективный адрес

  • автор:

13) Эффективный адрес и преобразование адресов.

Три адресных пространства: логическое, линейное и физическое. По сочетанию сегментации и страничной трансляции различают две модели памяти: 1.В сегментной модели памяти приложение использует несколько сегментов памяти (для кода, данных, стека). В этой модели приложение оперирует логическими адресами. 2. В плоской модели памяти приложению для всех целей выделяется единственный сегмент. В этой модели приложение оперирует линейными адресами.

Логический адрес состоит из селектора сегмента Seg и эффективного адреса, называемого также смещением (offset). Логический адрес обозначается в форме Seg:Offset. Селектор сегмента хранится в старших 14 битах сегментного регистра (CS, DS, ES, SS, FS или GS), участвующего в адресации конкретного элемента памяти.Преобразование логического адреса в физический для 32-битных процессоров.

Физический адрес памяти образуется после преобразования линейного адреса блоком страничной трансляции адресов.

Блок страничной трансляции адресов позволяет использовать разрядность физического адреса, отличную от разрядности линейного адреса. В процессорах различных моделей соотношения разрядностей менялись: 1. В 386SX при 32-битном линейном адресе физический был 24-битным (до 16 Мбайт физически адресуемой памяти). 2. В большинстве 32-битных процессоров до 6-го поколения использовался 32-битный физический адрес (до 4 Гбайт физически адресуемой памяти). Формирование адреса памяти процессоров с 64-битным расширением рисунок.

14) Страничная трансляция адресов и виртуальная память

СТА.Механизм сегментации обеспечивает превосходную защиту, но он не очень удобен для реализации виртуальной памяти (подкачки). В дескрипторе сегмента есть бит присутствия, по нему процессор определяет, находится ли данный сегмент в физической памяти или он находится на внешнем запоминающем устройстве (на винчестере). В последнем случае генерируется исключение #11, обработчик которого может подгрузить сегмент в память. Неудобство заключается в том, что различные сегменты могут иметь различную длину. Этого можно избежать, если механизм подкачки реализовывать на основе страничного преобразования. Особенностью этого преобразования является то, что процессор в этом случае оперирует с блоками физической памяти равной длины (4Кбайт) — страницами. Страницы не имеют непосредственного отношения к логической структуре программы.Страничное преобразование действует только в защищенном режиме и включается установкой в 1 бита PG в регистре CR0.

Под виртуализацией памяти понимается метод автоматического управления иерархической памятью. По своей сути виртуализация памяти представляет способ аппаратной и программной реализации концепции иерархической памяти. В рамках идеи виртуализации памяти ОП рассматривается как линейное пространство N адресов, называемое физическим пространством (ФП) памяти. Для задач, где требуется более чем N ячеек, предоставляется значительно большее пространство адресов (обычно равное общей емкости всех видов памяти), называемое виртуальным пространством (ВП).

Страничная организация виртуальной памяти

Страничная организация памяти служит целям преобразования виртуальных адресов в физические. Программа разбивается на части равной величины, называемые страницами. Размер страницы обычно выбирают в пределах 4 – 8 Кбайт (должен быть кратен емкости одного сектора магнитного диска). Виртуальное и физическое адресные пространства разбиваются на блоки размером в страницу. Блок ОП, соответствующий странице, часто называют страничным кадром или фреймом (page frame). Страницам виртуальной и физической памяти присваивают номера.

Большая Энциклопедия Нефти и Газа

Эффективный адрес слов содержится в регистре адреса со смещением или пост-инкрементом. Каждое слово записывается в старшую часть регистра данных с расширением знака, а младшая часть заполняется нулями. [1]

Тем самым известен эффективный адрес — суммирующий регистр. [2]

При косвенной адресации эффективный адрес получается лишь после модификации начального адреса. Здесь различают несколько методов. [3]

Команда LEA r, m обеспечивает вычисление эффективного адреса ЕА ячейки памяти в соответствии с указанным способом адресации и загрузку ЕА ( а не содержимого адресуемой ячейки памяти. [5]

Описание: Разблокирует сектор кэша, определяемый эффективным адресом . Если адрес не принадлежит какому-либо сектору кэша, загружается тэг используемого последним сектора кэша с 17 младшими битами эффективного адреса. Инструкция разрешена только в режиме кэша. [6]

Описание: Эта операция выполняет переход к подпрограмме, эффективный адрес которой указан в инструкции, после выполнения исполняемого набора в слоте задержки. Значение PC сохраняется в стеке исполняемого набора, следующего за текущим исполняемым набором. [7]

С другой стороны, из-за сегментной организации памяти весь эффективный адрес ЕА является смещением ( offset) относительно базового адреса сегмента и интерпретируется как беззнаковое целое при вычислении физического адреса. [9]

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

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

Прямая адресация является простейшим способом адресации ячейки ЗУ, при котором эффективным адресом ЕА является содержимое байтов смещения disp команды. Для пересылок между аккумулятором и памятью предусмотрен укороченный формат. [12]

Способ адресации, в соответствии с которым регистр, служащий для формирования эффективного адреса ( как правило, индексный регистр), подвергается инкременту до ( преинкремент) или после ( постинкремент) выполнения команды, в которой используется автоинкрементная адресация. [13]

Регистровая ссылка, операнд, находящийся в одном из 24 регистров адреса определяется эффективным адресом инструкции . [14]

Описание: Сохраняет старшие 16 бит аккумулятора источника в памяти X ( в области эффективных адресов ), а младшие 16 бит аккумулятора источника сдвигаются на один бит влево и помещает 0 или 1 в младший бит, в соответствии с операндом i, и сохраняет результат в памяти Y по тому же адресу. [15]

Кафедра “Программное Обеспечение”

x

Вход в систему

    Asmportal
  • +Теория
    • Лекции по курсу «ПАКМ»
  • +Лабораторные и курсовые работы
    • Задания на лабораторные работы
    • Задания на курсовые работы
    • Формирование отчета
    • Загрузить файл на сервер
    • Файлы
  • +Инструменты
    • В linux
  • +Литература
  • +О проекте

[В печать]

08 октября 2009

Assembler Portal

Проект посвящен изучению языка ассемблера и успешной сдаче лаб по соответствующим предметам. Изучение лучше начинать с теории, а для сдачи лаб создан соотв. раздел.

Что такое эффективный адрес

Операнд задается неявно на микропрограммном уровне

В этом случае команда явно не

например +79131234567

jar—> txt fb2 ePub html

на телефон придет ссылка на файл выбранного формата

Шпаргалки на телефон — незаменимая вещь при сдаче экзаменов, подготовке к контрольным работам и т.д. Благодаря нашему сервису вы получаете возможность скачать на телефон шпаргалки по информационным технологиям. Все шпаргалки представлены в популярных форматах fb2, txt, ePub , html, а также существует версия java шпаргалки в виде удобного приложения для мобильного телефона, которые можно скачать за символическую плату. Достаточно скачать шпаргалки по информационным технологиям — и никакой экзамен вам не страшен!

Сообщество

Не нашли что искали?

Если вам нужен индивидуальный подбор или работа на заказа — воспользуйтесь этой формой.

Команды пересылки данных общего назначения

К этой группе относятся следующие кома

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

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

Прямая адресация может быть двух типов.

Относительная прямая адресация

Используется для команд условных переходов, для указания относительного адреса перехода. Относительность такого перехода заключается в том, что в поле смещения машинной команды содержится 8-, 16– или 32-битное значение, которое в результате работы команды будет складываться с содержимым регистра указателя команд ip/eip. В результате такого сложения получается адрес, по которому и осуществляется переход.

Абсолютная прямая адресация

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

Косвенная базовая (регистровая) адресация

При такой адресации эффективный адрес операнда может находиться в любом из регистров общего назначения, кроме sp/esp и bp/ebp (это специфические регистры для работы с сегментом стека). Синтаксически в команде этот режим адресации выражается заключением имени регистра в квадратные скобки [].

Косвенная базовая (регистровая) адресация со смещением

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

Косвенная индексная адресация со смещением

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

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

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

Косвенная базовая индексная адресация со смещением

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *