
- •7 Форма представления чисел с фиксированной точкой
- •8 Форма представления чисел с плавающей точкой
- •9 Форматы двоично-десятичных чисел
- •10. Машинные коды
- •Прямой код
- •Обратный код
- •. Дополнительный код
- •11 Составные части компьютера
- •12 Логические элементы
- •13. Триггеры
- •2.12.2. Асинхронный rs-триггер
- •2.12.3. Синхронный rs-триггер
- •2.12.3. Двухтактный rs-триггер
- •14 Асинхронный и синхронный d-триггеры
- •17. Дешифраторы
- •18 Одноразрядный сумматор
- •Полусумматор
- •19. Многоразрядные сумматоры
- •20 Двоично-десятичные сумматоры
- •21 Мультиплексоры
- •22. Демультиплексоры
- •23. Регистры
- •24 Счетчики
- •25 Двоично-десятичные счетчики
- •26 Классификация архитектур системы команд
- •27 Классификация по составу и сложности команд
- •28 Классификация по месту хранения операндов
- •29 Архитектура с выделенным доступом к памяти
- •30 Типы команд
- •Команды пересылки данных
- •Операции с целыми числами
- •Операции с числами в форме с плавающей запятой
- •Логические операции
- •Операции сдвигов
- •Операции с десятичными числами
- •Simd-команды
- •Команды для работы со строками
- •Команды преобразования
- •Команды ввода/вывода
- •Команды управления системой
- •Команды управления потоком команд
- •31 Формат команд
- •Длина команды
- •Разрядность полей команды
- •32 Выбор адресности команд
- •33. Способы адресации операндов
- •Непосредственная адресация
- •Прямая адресация
- •Косвенная адресация
- •Регистровая адресация
- •34 Косвенная регистровая адресация
- •Адресация со смещением
- •Относительная адресация
- •35 Базовая регистровая адресация
- •Индексная адресация
- •Страничная адресация
- •Блочная адресация
- •36 Распространенность различных видов адресации
- •Способы адресации в командах управления потоком команд
- •37 Функциональная организация фон-неймановской вычислительной машины
- •38 Устройство управления
- •39 Арифметико-логическое устройство
- •40 Основная память
- •Модуль ввода/вывода
- •41. Стандартный цикл команды
- •42 Организация шин
- •43 Шины «процессор-память»
- •Шина ввода/вывода
- •44 Системная шина
- •45 Иерархия шин
- •46 Арбитраж шин
- •47 Протокол шины
- •48 Методы повышения эффективности шин
- •49 Стандартизация шин
Регистровая адресация
Регистровая адресация (РА) напоминает прямую адресацию. Различие состоит в том, что адресное поле инструкции указывает не на ячейку памяти, а на регистр процессора (рис. 2.65). Адрес регистра в дальнейшем будем обозначать буквой R. Обычно размер адресного поля в данном случае составляет три или четыре бита, что позволяет указать соответственно на один из 8 или 16 регистров общего назначения (РОН).
Рис. 2.65. Регистровая адресация
Двумя основными преимуществами
регистровой адресации являются:
короткое адресное поле в команде и
исключение обращений к памяти. Малое
число РОН позволяет сократить длину
адресного поля команды, то есть
.
Кроме того,
,
где
– время выборки операнда из регистра
общего назначения, причем
.
К сожалению, возможности по использованию
регистровой адресации ограничены малым
числом РОН в составе процессора.
34 Косвенная регистровая адресация
Косвенная регистровая адресация (КРА) представляет собой косвенную адресацию, где исполнительный адрес операнда хранится не в ячейке основной памяти, а в регистре процессора. Соответственно, адресное поле команды указывает не на ячейку памяти, а на регистр (рис. 2.66).
Рис. 2.66. Косвенная регистровая адресация
Достоинства и ограничения косвенной регистровой адресации те же, что и у обычной косвенной адресации, но благодаря тому, что косвенный адрес хранится не в памяти, а в регистре, для доступа к операнду требуется на одно обращение к памяти меньше. Эффективность косвенной регистровой адресации можно оценить по формулам:
;
, (2.16)
где
– разрядность регистров общего
назначения.
Адресация со смещением
При адресации со смещением исполнительный адрес формируется в результате суммирования содержимого адресного поля команды с содержимым одного или нескольких регистров процессора (рис. 2.67).
Адресация со смещением предполагает, что адресная часть команды включает в себя, как минимум, одно поле ( ). В нем содержится константа, смысл которой в разных вариантах адресации со смещением может меняться. Константа может представлять собой некий базовый адрес, к которому добавляется хранящееся в регистре смещение. Допустим и прямо противоположный подход: базовый адрес находится в регистре процессора, а в поле указывается смещение относительно этого адреса. В некоторых процессорах для реализации определенных вариантов адресации со смещением предусмотрены специальные регистры, например базовый или индексный. Использование таких регистров предполагается по умолчанию, поэтому адресная часть команды содержит только . Если же составляющая адреса может располагаться в произвольном регистре общего назначения, то для указания конкретного регистра в команду включается дополнительное поле R (при составлении адреса более чем из двух составляющих в команде будет несколько таких полей). Еще одно поле R может появиться в командах, где смещение перед вычислением исполнительного адреса умножается на масштабный коэффициент. Такой коэффициент заносится в один из РОН, на который и указывает это дополнительное поле. В наиболее общем случае адресация со смещением подразумевает наличие двух адресных полей: и R.
Рис. 2.67. Адресация со смещением
В рамках адресации со смещением имеется еще один вариант, при котором исполнительный адрес вычисляется не суммированием, а конкатенацией (присоединением) составляющих адреса. Здесь одна составляющая представляет собой старшую часть исполнительного адреса, а вторая – младшую.