Всего на сайте:
248 тыс. 773 статей

Главная | Информатика

Адресации в командном цикле  Просмотрен 354

 

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

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

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

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

  
 

Относительная адресация (рис. 44 б) предполагает формирование адреса по правилу (РС)+ΔА, где РС – содержимое программного счётчика, ΔА – число со знаком в том или ином коде (обычно в дополнительном) и обеспечивает адресацию в некоторой зоне относительно адреса текущей команды.

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

Подобная адресация не обеспечивает большого оперативного диапазона, но при малом объёме данных позволяет существенно сократить длину команды. Кроме адресации к данным относительная адресация часто используется при организации условных и безусловных переходов, то есть при адресации к командам. Например, при отрицательном результате анализа будет осуществляться переход к адресу А+1 (команда 1), при положительном – к команде 2. Использование относительной адресации эффективно при достаточно высокой квалификации программиста.

Базовая адресация напоминает относительную, но вместо РС используется специальный базовый регистр BR, содержимое которого является указателем на определённый адрес памяти (указывает на начало той или иной страницы памяти). Исполнительный адрес формируется по правилу (BR)+ ΔАB, где ΔАB – непосред–ственное смещение, размещаемое в коде команды (рис. 45 а). В ряде случаев BR адресуется неявно (в коде команды на него нет ссылки), в других случаях указывается в команде в явном виде (IBM 360).

  
 

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

Косвенная адресация (рис. 45 б) предполагает использование промежуточных преобразований косвенного адреса (КА) в табличной памяти либо в блоке регистров. В качестве табличной памяти может быть выделена зона основной памяти либо специальной косвенной памяти (КП). Косвенное преобразование в КП используется для формирования исполнительного адреса обращения к ОП. Цели этого преобразования:

- снижение разрядности адресного поля m<<n;

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

Приведённый пример характеризуется как одноуровневое косвенное преобразование. На практике может использоваться многоуровневое косвенное преобразование, когда выполняется каскадное преобразование КА в блоках КП и исполнительный адрес выбирается из последнего блока каскада.

Косвенная адресация сокращает разрядность поля КА по отношению к исполнительному адресу, если число ссылок в программе с передачей управления 2m << 2n – объёма памяти. Недостатком адресации является потеря быстродействия из-за промежуточных преобразований.

Индексная адресация является подвидом косвенной адресации, когда исполнительные адреса формируются в блоке индексных регистров. Адресация применяется при организации циклических процессов, связанных с обработкой массивов данных. В адресуемом по полю АИР кода команды (рис. 46 а) индексном регистре исполнительный адрес модифицируется как функция цикла на ±Δ при каждом проходе (в частном случае +1). Количество индексных регистров определяет мерность обрабатываемых массивов.

Непосредственная адресация предусматривает размещение операнда в адресном поле команды. Обычно используется для начальной загрузки регистров или ячеек памяти, но может применяться и в командах работы с непосредственным операндом, например, ANI A, #32h ~ A:= (A) & 32h.

 

  
 

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

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

При автоинкрементной адресации (рис. 46 б) текущий адрес формируется в виде модификации предыдущего адреса с использованием 2-х и более констант по принципу: A(i+1) = Ai + const. Например, при адресации к командам одна из констант соответствует естественному переходу, либо переходу по отрицательному результату анализа, а другие константы используются при иных результатах анализа. При логическом анализе константы могут быть +1 и +2. Адресация позволяет не использовать адресные поля и сократить длину кодов большинства команд. Для разрешения возможных конфликтных ситуаций, из-за малой величины констант, вводится команда безусловной передачи управления по определенному адресу.

Автоинкрементная адресация может использоваться как при адресации к командам, так и при адресации к данным. Во втором случае она напоминает индексную адресацию: адрес используемого операнда при очередном проходе (цикле) модифицируется на определенную константу. Небольшая величина констант (в пределах ±1, ±2, ±4) выбирается исходя из условий простоты аппаратной модификации содержимого источника адреса путём прямого подключения логических условий к счётным входам триггеров его младших разрядов.

Если константы используются со знаком «–», то адресация называется автодекрементной.

Сочетание нескольких адресаций из вышерассмотренных классифицируется как комбинированная адресация. Например, принудительно-автоинкрементная адресация, косвенно-регистровая адресация, базово-индексная адресация и т.п. В современных процессорах Intel x86 используется базово-индексная адресация со смещением и с шагом, когда исполнительный адрес формируется в виде суммы базового адреса, индексного адреса, непосредственного смещения и константы шага. Базовый адрес выбирается из базового регистра, индексный – из индексного, непосредственное смещение и признак размера шага – из кода команды. Дополнительно может быть задействовано содержимое РОН как смещение. Обычно в системе команд задействовано несколько адресаций, что создает определенное удобство как для разработчиков, так и для пользователей, позволяет повысить эффективность программирования и организации вычислительного процесса.

 

Библиографический список

 

1. Каган Б. М. Электронные вычислительные машины и системы: Учеб. пособие по специальностям «Автоматизир. системы управления», «Прикладная математика», «Электронные вычислительные машины». – 2-е изд., перераб. и доп. – М.: Энергоатомиздат, 1985. – 552 с.

2. Электронные цифровые вычислительные машины: Учеб. для вузов по специальности «ЭВМ» / К. Г. Самофалов, В. И. Корнейчук, В. П. Тарасенко; Под ред. К. Г. Самофалова. – Киев: Вища шк., 1976. – 480 с.

3. Принципы организации цифровых машин / С. А. Майоров, Г. И. Новиков. – Л.: Машиностроение, 1974. – 431 с.

4. Микропроцессоры и микроЭВМ в системах автоматического управления: Справ. / С. Т. Хвощ, Н. Н. Варлинский, Е. А. Попов; Под общ. ред. С. Т. Хвоща. – Л.: Машиностроение. Ленингр. отд-ние, 1987. – 640 с.

5. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справ. / Б. Б. Абрайтис, Н. Н. Аверьянов, А. И. Белоус и др.; Под ред. В. А. Шахнова. – М.: Радио и связь, 1988. – Т. 1. – 368 с.

6. Нестерук В. Ф. Проектирование микропроцессорных систем: Учеб. пособие. – Омск: Изд-во ОмГТУ, 1996. – 64 с.

7. Нестерук В. Ф. Цифровые модели для компьютерных технологий обучения основам организации ЭВМ: Учеб. пособие. – Омск: Изд-во ОмГТУ, 2001. – 76 с.

8. Смирнов А. Д. Архитектура вычислительных систем. – М.: Энергия, 1973. – 386 с.

Содержание

Стр.

Назначение и классификация ЭВМ………………………………………………... 3

История развития электронных цифровых вычислительных машин……………. 8

Организация операционных устройств…………………………………………….15

Организация операционной части………………………………………………….16

Пример структурной организации ОЧ для выполнения логических операций…17

Пример реализации ОЧ для суммирования чисел с фиксированной

запятой в прямых кодах …………………………………………………………….19

Организация интегральной операционной части …………………………………22

Примеры реализации операций в интегральной ОЧ………………………………25

Аппаратное наращивание интегральной ОЧ………………………………………27

Организация управляющей части…………………………………………………. 29

Типовая структура управляющей части……………………………………………35

Пример структурной реализации БМУ серии К584 ВУ1…………………………36

Интерфейсные средства микроЭВМ………………………………………………. 41

Организация системы синхронизации……………………………………………...44

Организация микроЭВМ с микропрограммным управлением…………………...48

Типовые циклы функционирования микроЭВМ…………………………………..50

Организация командного управления……………………………………………...52

Форматы и адресность команд……………………………………………………...53

Адресации в командном цикле……………………………………………………...56

Библиографический список…………………………………………………………59

 

Предыдущая статья:Типовые циклы функционирования микроЭВМ Следующая статья:ЕВРЕЙСКИЕ И МАСОНСКИЕ ОРГАНИЗАЦИИ УКРАИНЫ 1 страница
page speed (0.0175 sec, direct)