36229

Адресация памяти ЭВМ

Доклад

Информатика, кибернетика и программирование

Адресация памяти ЭВМ. 3 Непосредственная адресация. Непосредственная адресация удобна для хранения различного рода констант. Прямая адресация.

Русский

2013-09-21

37 KB

26 чел.

15. Адресация памяти ЭВМ.

 

СПОСОБЫ АДРЕСАЦИИ

Адресный код - это информация об адресе операнда, содержащаяся в команде.

Исполнительный адрес - это номер ячейки  памяти,  к  которой производится фактическое обращение.

В современных ЭВМ адресный код,  как правило, не совпадает с исполнительным адресом.

Выбор способов адресации, формирования исполнительного адреса и преобразования адресов является одним из важнейших  вопросов разработки ЭВМ.  Рассмотрим  способы  адресации,  используемые  в современных ЭВМ:

1) Подразумеваемый операнд.

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

2) Подразумеваемый адрес.

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

3) Непосредственная адресация.

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

4) Прямая адресация.

В адресной части команды может быть непосредственно указан исполнительный адрес.

5) Относительная (базовая) адресация.

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

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

6) Укороченная адресация.

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

Регистровая адресация  является частным случаем укороченной, когда в качестве фиксированных ячеек с короткими адресами используются регистры (ячейки сверхоперативной или местной памяти) процессора.  Например, если таких регистров 16, то для адреса достаточно  четырех двоичных разрядов.  Регистровая адресация наряду с сокращением длины адресов операндов позволяет увеличить  скорость выполнения операций, так как уменьшается число обрашений к оперативной памяти.

7) Косвенная адресация.

Адресный код команды в этом случае указывает адрес ячейки памяти, в которой находится адрес операнда или команды. Косвенная адресация широко используется в малых и микроЭВМ,  имеющих короткое машинное  слово,  для преодоления ограничений короткого формата команды (совместно используются регистровая и косвенная адресация).

8) Адресация слов переменной длины.

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

9) Стековая адресация.

Стековая память,  реализующая безадресное задание операндов, особенно широко используется в микропроцессорах и миниЭВМ.

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

10) Автоинкрементная и автодекрементная адресации.

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

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

11) Индексация.

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

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

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

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

Для выполнения индексации в машину вводятся  так  называемые индексные регистры.  Исполнительный адрес при индексации формируется  путем сложения адресного кода команды (смещения) с содержимым индексного регистра (индексом), а при наличии базирования – и с базовым адресом.

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

- засылка в  соответствующий  индексный  регистр  начального значения индекса;

- изменение индекса;

- проверка окончания циклических вычислений.


 

А также другие работы, которые могут Вас заинтересовать

18118. JSP (Java Server Pages ) 97 KB
  Тема 3: JSP Java Server Pages Технологія Java Server Pages JSP є складовою частиною єдиної технології створення програм на основі технології J2EE з використанням webінтерфейсу. JSP це альтернативна технології Java Servlet методика розробки програм що динамічно генерують відповідь на ті або інш...
18119. Вступ до технології Enterprise JavaBeans 50 KB
  Тема 4: Вступ до технології Enterprise JavaBeans Java Platform Enterprise Edition чи Java EE раніше відома як Java 2 Platform Enterprise Edition чи J2EE до версії 1.5 це програмна платформа частина Javaплатформи для розробки і запуску розподілених Javaпрограм з багаторівневою архітектурою що базуються на ком
18120. Транзакції в мові SQL 88.5 KB
  Тема 5: Транзакції в мові SQL Що таке транзакція Транзакція transaction може бути визначена як логічна послідовність операцій над даними яка розглядається як окрема цілісна частина роботи. У транзакції робляться або всі зміни або жодної. Транзакції підтримують ACIDвластиво
18121. Збережені процедури в Interbase/Firebird 52.5 KB
  Тема 6: Збережені процедури в Interbase/Firebird Збережені процедури Stored procedures це програми які зберігаються в метаданих бази даних і виконуються на сервері. Прикладні програми можуть викликати stored procedure для виконання заданих в них операцій. Є два види збережених процеду
18122. Java Persistence API 77.5 KB
  PAGE 1 Тема 7: Java Persistence API Java Persistence API забезпечує object/relational mapping для роботи з реляційними даними в Javaпрограмах. Java Persistence складається з трьох частин: Java Persistence API Мови запитів Query language Метаданих для object/relational mapping Entities Entity це легковісний ...
18123. JavaServer Faces (JSF) 174 KB
  Тема 8: JavaServer Faces JSF Технологія JavaServer Faces це серверний framework для webпрограм що розробляються на Java. Основні компоненти JavaServer Faces такі: API для представлення UIкомпонентів і керування їх станом; обробки подій; серверної валідації; конверсії даних; визначення навігації по
18124. Spring Framework 86 KB
  Тема 9: Spring Framework Spring є Java framework який надає розробнику сукупність сервісів для побудови масштабованих J2EE програм. Spring реалізує в собі концепцію MVC. Inversion of Control IoC Іноді можна почути терміни Inversion of Control та Dependency Injection як взаємозамінні але це не зовсім вірно. Inversion of Co...
18125. Struts Framework 175 KB
  Тема 10: Struts Framework Apache Struts це opensource framework для розробки Java EE web програм. В ньому використовується і розширюється Java Servlet API та надається базова інфраструктура для реалізації програми на основі шаблону проектування design pattern MVC. Базова платформа для використання Struts 2 вклю...
18126. Предмет та задачі фізичної електроніки 246.27 KB
  Предмет та задачі фізичної електроніки Що таке фізична електроніка Що за розділ фізики Так от: це наука котра займається вивченням властивостей електронів та іонів при швидкостях набагато менших швидкості світла. Фізична електроніка вивчає рух електронів та іонів у в...