Форматы команд и способы адресации ЭВМ

Содержание

Слайд 2

Способы адресации ЭВМ Понятия: Исполнительный адрес операнда – двоичный код номера

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

Понятия:
Исполнительный адрес операнда – двоичный код номера ячейки памяти,

служащей источником или приемником операнда. Этот код подается на адресные входы ОП, и по нему происходит фактическое обращение к указанной ячейке.
Адресный код команды – двоичный код в адресном поле команды, из которого необходимо сформировать исполнительный адрес операнда.
Способ адресации – это метод формирования исполнительного адреса по адресному коду команды.
Отсутствие адресной арифметики в КОП – неявная адресация.
Единицы информации:
Байт – минимально адресуемая часть памяти – 8 бит.
Слово – совокупность нескольких смежных байтов, общее число битов в которых равно разрядности ЭВМ.
Поле – непрерывная по возрастающим значениям адресов последовательность байтов в ОП. За адрес поля принимается адрес крайнего левого байта поля. Использование поля той или иной длины определяется типом команды, адресующейся к этому полю.
Параграф – совокупность 16 смежных байтов ОП. Адрес параграфа должен быть кратен 16. Только для x86-ой архитектуры.
Страница – некоторая совокупность байтов. Величина ее зависит от класса ЭВМ.
Сегмент – это область ОП, начинающаяся с границы параграфа и имеющая размер до 64Кбайт. Для архитектуры x86
Слайд 3

Способы адресации: Непосредственная – операнд располагается непосредственно в адресном поле команды;

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

Непосредственная – операнд располагается непосредственно в адресном поле команды; используется

при выполнении арифметических операций, операций сравнения и для загрузки команд в регистры;
Прямая – в адресном поле команды указывается адрес операнда в памяти (либо номер регистра, содержащего операнд).
Косвенная – код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а его адрес, называемый указателем; для выборки операнда необходимо двукратное обращение к памяти: 1. извлечь адрес операнда; 2. извлечь сам операнд;
Индексная – к формируемому исполнительному адресу прибавляется значение специального регистра – индекса.
Слайд 4

Способы формирования адресов ячеек памяти можно разделить на: абсолютные – двоичный

Способы формирования адресов ячеек памяти можно разделить на:

абсолютные – двоичный код

адреса ячейки памяти может быть целиком извлечен либо из адресного поля команды, либо из какой-нибудь другой ячейки в случае косвенной адресации;
относительные – двоичный код адресной ячейки памяти образуется из нескольких составляющих:
Б – код базы,
И – код индекса,
С – код смещения..
При относительной адресации применяется способ вычисления адреса путем суммирования кодов, составляющих адрес.
А = Б + И + С
А = Б + С
А = И + С
Слайд 5

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

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

Слайд 6

Косвенная адресация. При косвенной адресации код команды указывает адрес ячейки памяти,

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

При косвенной адресации код команды указывает адрес ячейки памяти,

в которой находится не сам операнд, а его адрес, называемый указателем.
Слайд 7

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

Индексная адресация.

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

элементами массива.
Адрес i-того операнда в массиве определяется как сумма начального адреса массива операнда, задаваемого смещением S, и индекса I , записанного в одном из регистров регистровой памяти, называемым индексным регистром.
Адрес индексного регистра задается в команде полем адреса индекса Аи.
В каждом i-том цикле содержимое индексного регистра изменяется на постоянную величину, как правило, это 1.
Слайд 8

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

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

схеме:

Автоиндексная адресация
При автоиндексации косвенный адрес, находящийся в регистре РП, автоматически увеличивается (автоинкрементная адресация), или уменьшается (автодекрементная адресация) на постоянную величину до или после выполнения операции.
Существует достаточное количество способов адресации с использованием базы и смещения. В этом случае исполнительный адрес формируется путем сложения двух компонент – базового адреса и смещения. Базовый адрес загружается в специальный регистр базы. Для определения смещения используют уже перечисленные способы адресации.
Разновидностью прямой и косвенной адресации является регистровая – адресное поле команды указывает не на ячейку памяти, а на регистр:
Прямая регистровая – операнд непосредственно размещается в регистре;
Косвенная регистровая – регистр содержит адрес операнда памяти.

Слайд 9

Стековая адресация Для чтения записи доступен только один регистр v вершина

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

Для чтения записи доступен только один регистр v вершина стека.

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

Запись в стек производится с использованием автодекрементной адресации, а чтение - с использованием автоинкрементной адресации.

Слайд 10

Представление данных и машинные операции. Операнды – это данные, которыми оперируют

Представление данных и машинные операции.

Операнды – это данные, которыми оперируют машинные

команды.
К наиболее общим (базовым) типам операндов можно отнести:
адреса,
числа,
символы,
логические данные.
ВМ обеспечивает обработку и более сложных информационных единиц:
графических изображений,
аудио-,
видео-,
анимационной информации.
Среди цифровых данных можно выделить две группы:
целые типы, используемые для представления целых чисел, внутри могут быть представлены несколькими форматами;
вещественные типы для представления рациональных чисел, для представления чисел используется форма с плавающей запятой (ПЗ).
Слайд 11

Беззнаковые и знакопеременные целые числа. X - число q – основание

Беззнаковые и знакопеременные целые числа.

X - число
q – основание системы счисления

или база
Х = ±an-1…a1a0a-1a-2…a-r

Q-r = |X| = qn – q-r

Слайд 12

А2 = 111100002 2n - 1 А = 1 × 27

А2 = 111100002 

2n - 1

А = 1 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 +

1 × 21 + 1 × 20 = 1 × 28 - 1 = 25510

200210 = 111110100102 

А = 2n-1 - 1

2n - |А| + |А| = 0

Пример:

- в ячейках памяти

- максимальное значение целого, т.е.

- пример в прямом коде

- в ячейках памяти

- максимальное положительное число

- дополнительный код

Слайд 13

2n-1 - |А| А = - 2n-1 А = 231 -

2n-1 - |А|

А = - 2n-1

А = 231 - 1 =

2 147 483 64710

А = -231 = - 2 147 483 64810

- отрицательное число в дополнительном коде

- минимальное отрицательное число

- минимальное целое положительное число для длинных целых чисел со знаком

- минимальное целое отрицательное число для длинных целых чисел со знаком

Достоинства представления чисел в формате с фиксированной запятой:
а) простота и наглядность представления чисел,
б)простота алгоритмов реализации арифметических операций.
Недостаток представления чисел в формате с фиксированной запятой - небольшой диапазон представления величин.

Слайд 14

Целочисленные форматы с фиксированной запятой, принятые в микропроцессорах фирмы Intel: Байт

Целочисленные форматы с фиксированной запятой, принятые в микропроцессорах фирмы Intel:
Байт (целое

со знаком) – 8 бит, бит с номером 7 – знак;
Слово (целое со знаком) – 16 бит, бит с номером 15 – знак;
Двойное слово (целое со знаком) – 32 бита, бит с номером 31 – знак;
Байт (целое без знака) – 8 бит;
Слово (целое без знака) – 16 бит;
Двойное слово (целое без знака) – 32 бита;
Ближний указатель – 32 бита, хранит смещение или линейный адрес;
Длинный указатель или логический адрес – 48 бит, биты с номерами 47-32 хранят селектор сегмента, а биты с номерами 31-0 – смещение.