русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 2184; Нарушение авторских прав


Адресация операндов

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

Количество методов адресации в различных процессорах может быть от 4 до 16. Рассмотрим несколько типичных методов адресации операн­дов, используемых сейчас в большинстве микропроцессоров.


Память

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

Рис. 3.1.Непосредственная адресация.

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



Рис.3.2. Прямая адресация.

Регистровая адресация(рис. 3.3) предполагает, что операнд (входной или выходной) находится во внутреннем регистре процессора. Например, команда может состоять в том, чтобы переслать число из нулевого регистра и первый. Номера обоих регистров (0 и 1) будут определяться кодом ко­манды пересылки.

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

Рис. 3.4.Косвенная адресация.

Реже встречаются еще два метода адресации.

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

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

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

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



<== предыдущая лекция | следующая лекция ==>
Регистры процессора | Сегментирование памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.