Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
19.03.2016
Размер:
197.09 Кб
Скачать

3. Управляющая информация

3.1. Понятие машинной команды.

«Управляющая информация» по назначению и содержанию намного сложнее «данных», представляет из себя иерархическую структуру со строго подчиненными функциональными связями основных ее компонентов. Центральным элементом этой иерархической структуры является машинная команда (МК), которая является двоичным кодом определенной длины. Структура МК непосредственно связана с принципом организации и построения устройств, входящих в состав ЭВМ. Машинная команда, как правило, состоит из двух частей: операционной (КОП) и адресной (Рис.3.1.).

Коп

Адресная часть

Рис.3.1. Структура машинной команды

В операционной части содержится код операции. Чем длиннее операционная часть, тем большее количество операций можно в нёй закодировать. В современных ЭВМ длина этого поля равна 8 двоичным разрядам, что, в свою очередь, позволяет рассчитывать на систему машинных команд, общим числом- 256 различных команд. В адресной части машинной команды содержится информация о адресах операндов. Это либо значения адресов ячеек ОП, в которых размещаются сами операнды (абсолютная адресация), либо информация, по которой процессор определяет значения адресов операндов в ОП (относительная адресация). Абсолютная адресация использовалась только в машинах 1-ого и 2-ого поколений. Начиная с машин 3-его поколения, наряду с абсолютной, используется относительная адресация. По количеству адресов в адресной части МК делятся на одноадресные, двухадресные, трехадресные и четырехадресные

В ЭВМ 1-го и 2го поколения использовались все структуры машинных команд, приведенные на Рис.3.2. В полях А1, А2, А3 находились значения абсолютных адресов ячеек ОП, в которых соответственно размещались 1-ый, 2-ой и 3-ий операнды, в поле А4 адрес ячейки ОП, где размещалась машинная команда, которая должна была выполняться следующей. От использования четырехадресных машинных команд отказались достаточно быстро по причине их информационной избыточности: уже тогда в основном использовался естественный порядок выполнения машинных команд - участок ОП отведённый ОС для программы заполнялся командами, которые выполнялись одна за другой. Наряду с обычными командами существовали команды условной и безусловной передачи управления, которые обеспечивали переход в любую точку программы. При выборе структуры машинных команд ЭВМ 3-го поколения была выбрана структура с переменным числом адресов в адресной части, т.е. было принято решение использовать одноадресные, двухадресные и трехадресные машинные команды.

Коп

А1

Коп

А1

А2

Коп

А1

А2

А3

Коп

А1

А2

А3

А4

Рис. 3.2. Структуры машинных команд

Одновременно с этим в машинах 3-го поколения, наряду с абсолютной адресацией стали использовать и относительную адресацию, т.к. при объёме ОП 4 гбайта на каждый абсолютный адрес потребовалось бы 32 двоичных разряда или 4 байта. Таким образом, длина трёхадресной команды с абсолютной адресацией ОП составила бы 3*4+1 =13 байтов = 104 двоичных разряда. Использование относительной адресации позволило ограничиться максимальной длиной машинной команды формата SS в 6 байтов. При количественном составе программ в несколько десятков тысяч машинных команд, экономия ОП получается ощутимая. Абсолютная адресация используется для адресации быстродействующей памяти, работающей в одном ритме с процессором и входящей в состав процессора, получившей название сверхоперативной памяти (СОП), имеющей малый объем- 16 ячеек по 32 двоичных разряда-всего 64 байта Рис 2.2.

3.2.Форматы команд 32–х разрядных ЭВМ

Усложнение логической организации машин 3-его поколения, наличие большого количества форматов данных, 2-х типов запоминающих устройств ОП и СОП, использование абсолютной и относительной адресации, одно, двух и трехадресных команд, явилось следствием появления 5-ти типов машинных команд. Характеристика форматов команд 32-х разрядных ЭВМ представлена в табл. 3.1.

Таблица 3.1

Усл. обозначе-ние

фор-

мата

Название

машинной

команды

Формат и структура команды

Значение

0 и 1-го

разрядов

КОП

1

2

3

4

RR

Регистр–регистр

КОП R1 R2

0 7 8 11 12 15

00

RX

Регистр –индексный

регистр

КОП R1 X2 B2 D2

0 7 8 1112 1516 19 20 31

01

RS

Регистр–память

КОП R1 R3 B2 D2

0 7 8 1112 1516 19 20 31

10

SI

Память–непосред-

ственный операнд

КОП I2 B1 D1

0 7 8 15 16 19 20 31

10

SS

Память–память

КОП L B1 D1 B2 D2

0 7 8 15 16 19 20 31 32 3540 47

11

Форматы команд 32-х ЭВМ

В графе 3 таблицы приведены форматы и структуры машинных команд. Используемые условные обозначения полей в машинных форматах повторяются. В разрядах с «0»-го по «7»-й размещается 8-разрядный код операции (КОП). В самых левых разрядах, «0» и «1»-м, находится двухбитный код длины машинной команды (графа 4) (табл. 3.1).

Поскольку каждый формат имеет фиксированную длину, то при прочтении информации, содержащейся в «0» и «1»-м разрядах, в блоке управляющих регистров центрального процессора осуществляется определение длины машинной команды. Из табл. 3.1 следует, что для внутри машинного представления машинных команд используются поля, состоящие из целого количества байт, кратного двум или машинному полуслову. После считывания первых двух байтов и анализа значений «0» и «1»-го разрядов, схемам процессора, управляющим выборкой команд из ОП, становится известно, сколько еще пар байтов необходимо считать в регистр команд, чтобы зафиксировать в нем машинную команду, которая должна выполняться процессором в данный момент времени: если в «0» и «1»-м разрядах – 00, то это – команда RR и больше ничего не надо считывать, если- 01 или -, то это – одна из команд RX, RS, SI и необходимо считать еще следующие 2 байта из ОП, если в «0» и «1»-м разрядах – 11, то процессор получает информацию о том, что из ОП необходимо считать еще два раза по 2 байта, чтобы выбрать команду SS из памяти полностью. При помощи восьми разрядов поля КОП осуществляется кодировка следующей информации: в правых четырех битах – разряды с «0»-го по «3»-й – содержится код группы команд для определенного типа формата данных или управления, в левых четырех битах – разряды с «4»-го по «7»-й – находится номер команды в группе. Развернутая система машинных команд ЭВМ 3-го и 4-го поколений содержит 176 различных машинных команды при потенциальных возможностях восьмиразрядного двоичного кода операции- 256 (Приложение 1).

Индексы условных обозначений остальных полей соответствуют номерам операндов, следовательно, команды RR, RX, SS являются 2- адресными, а команда RS – 3-адресной, SI – одноадресной, так как в поле I2 находится не информация для определения адреса 2-го операнда, а его непосредственное значение. Поля, обозначенные буквой R, обозначают, что местом нахождения операндов являются регистры РОН, а сами значения полей соответствуют номерам РОН, в которых размещаются операнды. При помощи В1 и В2 обозначаются поля, где содержатся номера РОН, в которых соответственно находятся значения базовых адресов 1 и 2-го операндов. В полях D1 и D2 находятся абсолютные значения смещений 1 и 2-го операндов относительно базовых адресов в 16-тиричной СС. В поле L команды SS указывается длина операндов, адреса которых определяются при помощи содержимого регистра В1 и смещения D1- для первого операнда и содержимого регистра В2 и значения смещения D2- для второго операнда. Команда RR имеет наименьшую длину – 2 байта, или полуслово; RX, RS, SI – 4 байта (одно машинное слово); SS – 6 байт (1,5 машинных слова). Поля R1, R2, R3, В1, В2 имеют длину четыре двоичных разряда, что является достаточным для указания номера РОН. Поля D1, D2 имеют длину 12 двоичных разрядов (3 тетрады), что достаточно, чтобы зафиксировать значение смещения младшего байта поля ОП, закрепленного за переменной относительно базового адреса, которое может принимать значение от 00016 до FFF16. Для размещения машинной программы операционной системой выделяется один или несколько стандартных блоков ОП, координаты которых задаются при помощи базовых адресов.

Поскольку в качестве альтернативного размещения данных при рассмотрении машинных команд появилось такое запоминающее устройство, как СОП, или РОН, то необходимо по всем форматам данных сформулировать правила их размещения в РОН. Форматы «С» и «P» являются форматами переменной длины, для их представления в СОП могут использоваться либо 4-байтные РОН, либо 8-байтные, спаренные РПЗ. Размещение в СОП переменных, объявленных в форматах «F» и «E», сводится к закреплению за ними одного из регистров РОН, причем для формата «F» регистрация знака осуществляется в «0»-м бите, а мантиссы в виде дополнительного кода в разрядах с «1»-го по «31»-й, для формата «E» регистрация знака числа осуществляется в «0»-м бите, характеристики числа – в разрядах с «1»-го по «7»-й, мантиссы- с «8»-го по «31»-ый.

Размещение переменных, объявленных в формате «D», осуществляется аналогично формату «E» в одном из спаренных регистров РПЗ с номерами 0, 2, 4, 6 с той лишь разницей, что для мантиссы отводятся разряды с «8»-го по «31»-й младшего регистра и разряды с «0»-го по «31»-й старшего регистра. Для переменных, объявленных в формате «H», в разрядах с «0»-го по «15»-й РОН записываются «0», в «16»-м разряде регистрируется знак числа, а с «17»-го по «31»-й записываются разряды дополнительного кода числа.

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

3.3. RR –« регистр-регистр»

Длина команды 16 двоичных разрядов или полуслово. R1, R2 – номера РОН, в которых находятся соответственно 1-ый и 2-ой операнды. Результат операции записывается в регистр общего назначения, адрес которого находится в поле R1.

Задание 1. Используя формат команды RR, заполнить поля команды информацией, представленной в 16-ой СС и представить внутреннее содержимое задействованных РОН до и после выполнения операции. КОП=1А-операция сложения чисел, представленных в форме с фиксированной запятой (формат F ), R1=3, R2=4, О1=+32410 – значение первого операнда, О2=+30010- значение второго операнда.

Этапность выполнения Задания 1:

1.Записать 16-ое представление полей машинной команды:

1 А

3

4

0 7 8 11 12 15

  1. Представить в 16-ой СС значения О1, О2 и результата РЗ:

О1=+32410=14416 , О2=+30010=12С16 , РЗ=62410=27016

  1. В соответствии с правилами внутри машинного представления чисел в формате F, представить содержимое используемых РОН до и после выполнения операции в 16- ой СС (Рис.3.3). Номера РОН располагаются справа от самих регистров и имеют значения от 0 до F в 16-ой СС. Сами РОН развернуты в виде 4-х байтов и их содержимое представлено двумя 16-ми цифрами.

Содержимое РОН до выполнения Содержимое РОН после выполнения

машинной команды. машинной команды.

0

0

1

1

2

2

00

00

01

44

3

00

00

02

70

3

00

00

01

2C

4

00

00

01

2C

4

5

5

6

6

7

7

8

8

9

9

A

A

B

B

C

C

D

D

E

E

F

F

Рис.3.3.Содержимое РОН до и после выполнения машинной команды.

3.4. RX - «регистр–индексный регистр»

Команды формата RX имеют длину 4 байта, двухадресные, предназначены выполнения операций над переменными типа массив. 1-й операнд размещается в РОН по адресу, который находится в поле R1, адрес 2-го операнда определяется по формуле:

А2 = [В2] + [Х2] + D2 , (3.1)

где В2 – номер РОН, в котором находится значение базового адреса, Х2 –номер РОН, D2 – абсолютное значение смещения «0»-го элемента массива относительно базового адреса, т. е. фактически получается, что выражение в котором находится значение индекса переменной, определяемое по формуле:

Х2 = L*I (3.2)

где L – длина переменной в байтах, I – номер элемента в массиве (для одномерного массива),

Первый операнд размещается в РОН, номер которого находится в поле R1. Результат операции РЗ помещается на место 1-го операнда в РОН.

Задание 2. Используя формат команды RX, заполнить поля команды информацией, представленной в 16-ричной СС и представить внутреннее содержимое использованных РОН и полей ОП до и после выполнения операции. КОП = 5В – операция вычитания чисел, представленных в форме с фиксированной запятой, формат «F», R1=1, В2=2. Значение первого операнда О1 = +686210, значение второго операнда, который является элементом массива с номером 4, О2 = +356210. Содержимое Х2 должно быть равно 4*4 = 1610 = 1016. 2. Выполнение операции вычитания сводится к следующим действиям: из значения операнда, который находится в 1-м регистре общего назначения, вычесть значение операнда, являющегося 4-м элементом переменной типа «массив», объявленной в формате «F». Адрес младшего байта поля ОП, в котором размещается 2-й операнд, определяется по формуле (3.1). Результат помещается по адресу первого операнда в регистр общего назначения с номером 1.

Этапность выполнения задания 2:

1. Записать 16-ричное представление полей машинной команды:

5 В

1

2

3

4 0 0

0 7 8 1112 1516 1920 31

2. Представить в 16-ричной СС значения О1, О2 и результата

РЗ:

О1=+686210=+8АСЕ16, О2=+356210=+DЕА16,

РЗ=+330010=+СЕ416

3. В соответствии с правилами внутри машинного

представления чисел в формате «F» представить содержимое

задействованных РОН до и после выполнения операции в

16- ой СС. Номера РОН располагаются справа от самих

регистров и имеют значения от 0 до F в 16-ричной СС. Сами

РОН развернуты в виде 4 байтов и их содержимое

представлено 16-ричными цифрами (рис. 3.4).

До выполнения После выполнения

машинной команды машинной команды

0

0

00

00

СЕ

1

00

00

Е4

1

00

00

00

10

2

00

00

00

10

2

00

АЕ

А0

00

3

00

АЕ

А0

00

3

4

4

5

5

6

6

7

7

8

8

9

9

A

A

B

B

C

C

D

D

E

E

F

F

Рис. 3.4. Содержимое РОН до и после выполнения

машинной команды

4. Исполнительный адрес 2-го операнда определяется по

формуле (3.1) и будет иметь значение

А2(4) =00АЕА00016+40016+1016=00АЕА41016

5. Адрес байта поля ОП, начиная с которого размещается «0»-й

элемент массива 2-й переменной, определяется по формуле 3.2

и будет иметь значение:

А2(0)= 00АЕА00016+40016=00АЕА40016

До выполнения После выполнения

машинной команды машинной команды

00000000

000000000

00000001

000000001

0-й

элемент

массива

F F

00АЕА410

0-й

F F

00АЕА410

F F

00АЕА411

элемент

F F

00АЕА411

F F

00АЕА412

массива

F F

00АЕА412

9 1

00АЕА413

9 1

00АЕА413

1-й

элемент

массива

F F

00АЕА414

1-й

F F

00АЕА414

F F

00АЕА415

элемент массива

F F

00АЕА415

F 0

00АЕА416

F 0

00АЕА410

5 7

00АЕА417

5 7

00АЕА410

2-й

элемент

массива

0 0

00АЕА418

2-й

элемент

массива

0 0

00АЕА410

0 0

00АЕА419

0 0

00АЕА410

F D

00АЕА41A

F D

00АЕА410

A 9

00АЕА41B

A 9

00АЕА410

3-й

элемент

массива

F F

00АЕА41C

3-й

элемент

массива

F F

00АЕА410

F F

00АЕА41D

F F

00АЕА410

D B

00АЕА41E

D B

00АЕА410

A 5

00АЕА41F

A 5

00АЕА410

4-й элемент

массива

0 0

0 0

0 D E A

00АЕА420

00АЕА421

00АЕА422

00AEA423

4-й

элемент

массива

0 0

0 0

0 D E A

00АЕА420

00АЕА421

00АЕА422

00АЕА423

FFFFFFFF

FFFFFFFF


Рис. 3.5. Содержимое ОП до и после выполнения машинной команды

6. Содержимое поля ОП, в котором размещается 2-й операнд,

будет неизменным и после завершения выполнения машинной

команды (рис. 3.5).

Анализ содержимого полей ОП, в которых размещаются значения «0», «1» и «3»-го элементов переменной типа «массив» А2, дает основание сделать выводы о том, что они являются отрицательными числами, так как в знаковых разрядах находится «1», элементы «2» и «4»-й являются положительными числами, поскольку их знаковые разряды имеют значение «0». 4-й элемент массива, выступающий в данной операции в качестве 2-го операнда, после завершения операции своего значения не меняет. В заключение можно отметить, что формат RX – единственный, который может работать с индексными переменными.

3.5. RS – «регистр–память»

Команды формата RS имеют длину 4 байта, трехадресные, предназначены для выполнения арифметических операций над переменными в любых числовых «форматах данных». Среди команд формата RS есть команды передачи управления, логические операции, команды сдвига слова влево, арифметического сдвига двойного слова влево и т. д. В командах формата RS «1»-й операнд размещается в РОН, адрес которого находится в поле R1, адрес «2»-го операнда определяется по формуле:

А2= [В2] + D2 (3.3)

где В2 – номер РОН, в котором находится значение базового адреса «2»-го операнда, D2 – абсолютное значение смещения младшего байта поля ОП, закрепленного за «2»-м операндом, относительно базового адреса. Результат операции РЗ помещается в РОН, номер которого находится в поле R3 машинной команды.

Задание 3. Используя формат команды RS, заполнить поля команды информацией, представленной в 16-ричной СС, и представить внутреннее содержимое использованных РОН и полей ОП до и после выполнения операции. КОП = AF – операция вычитания чисел без нормализации, представленных в форме с плавающей запятой (формат «D»), R1 = 0, R3 = 2, В2 = 4.Значение первого операнда О1 = +27210, значение второго О2 = +13810. Смещение 2-го операнда относительно базового D2 = А00. Выполнение операции вычитания сводится к следующим действиям: из значения операнда, который находится в «0»-м регистре общего назначения, вычесть значение операнда, который находится 8-ми байтном поле ОП, адрес которого определяется по формуле (3.3). Результат операции помещается в РПЗ с номером 2.

Этапность выполнения задания 3:

1. Записать 16-ое представление полей машинной команды:

A F

0

2

4

A 0 0

0 7 8 11 12 1516 2324 31

2. Представить в 16-ричной СС значения О1, О2 и результата РЗ:

О1 = +27210= 11016, О2 = +13810 = +8А16, РЗ = 13410 = +8616.

3. В соответствии с правилами внутри машинного представления

чисел

в формате «D» представить содержимое используемых РПЗ, имеющих

четные номера 0 и 2, до и после выполнения операции в 16-ричной СС

(рис. 3.6).

До выполнения После выполнения

машинной команды машинной команды

43

11

00

00

0

43

11

00

00

0

00

00

00

00

1

00

00

00

00

1

00

00

00

00

2

42

86

00

10

2

00

00

00

00

3

00

00

00

00

3

00

А0

00

00

4

00

А0

00

00

4

5

5

6

6

7

7

8

8

9

9

A

A

B

B

C

C

D

D

E

E

F

F

Рис. 3.6. Содержимое РОН до и после выполнения машинной команды

4. Исполнительный адрес 2-го операнда определяется по формуле (3.3) и будет иметь значение:

А2 = 00А0000016 + А0016 = 00А00А0016.

5. Содержимое поля ОП, в котором размещается 2-й операнд, будет неизменным после завершения выполнения машинной команды (рис. 3.7).

До выполнения После выполнения

машинной команды машинной команды

00000000

000000000

00000001

000000001

4 2

00A00A00

4 2

00A00A00

8 A

00A00A01

8 A

00A00A01

0 0

00A00A02

0 0

00A00A02

2-й

операнд

0 0

00A00A03

2-й

операнд

0 0

00A00A03

0 0

00A00A04

0 0

00A00A04

0 0

00A00A05

0 0

00A00A05

0 0

0 0

00A00A06

0 0

00A00A06

00A00A07

0 0

00A00A07

FFFFFFFF

FFFFFFFF

Рис. 3.7. Содержимо

Рис. 3.7. Содержимое ОП до и после выполнения машинной команды

3.6. SI – «память – непосредственный операнд»

Команда одноадресная, в адресной части размещаются поля В1 и D1, по содержимому которых осуществляется определение поля ОП, в котором находится значение 1-го операнда. В отличие от других машинных команд в данной машинной команде заниматься определением адреса 2-го операнда нет необходимости. Значение 2-го операнда находится в поле I2, т.е. 2-й операнд находится не в ОП или РОН, а в самой команде. Результат выполненной машинной команды помещается по адресу 1-го операнда А1, который определяется по формуле:

А1 = [В1] + D1 (3.4)

Можно привести практический пример использования этой команды: если при наборе текста в текстовом редакторе обнаруживается ошибка в каком-то слове, исправление сводится к замене одной буквы на другую, т.е. вместо буквы «а» необходимо поставить букву «и». В. С точки зрения внутри машинного представления информации, необходимо поменять содержимое байта ОП, в котором находится значение символа «а» в коде ДКОИ, на значение символа «и», что фактически эквивалентно записи значения I2 (двоичного представления символа «и» в коде ДКОИ) в однобайтное поле ОП с адресом А1, в котором до выполнения команды находилось двоичное представление символа «а». Для машинных команд формата SI характерно выполнение команд «пересылка непосредственная» -КОП = MVI. Вполне очевидным является факт однобайтности операндов А2, поскольку поле I2 имеет фиксированную длину восемь двоичных разрядов. Такими параметрами обладают только символьные и логические переменные.

Задание 4. Используя формат команды SI, заполнить поля команды информацией, представленной в 16-ричной СС, и представить внутреннее содержимое использованных РОН и полей ОП до и после выполнения операции. КОП=92 – операция записи содержимого поля I2= 02 в байт ОП с адресом А1 = (В1) + D1= 00А0000016 + 50016 = 00А0050016, где В1 = 4, (В1) = 00А0000016, смещение 1-го операнда относительно базового D1 = 500.

Этапность выполнения задания 4:

1. Записать 16-ричное представление полей машинной команды:

9 2

0

2

4

5 0 0

0 7 8 1112 1516 2324 31

2. Выполнение операции сводится к следующим действиям: содержимое разрядов с 8-го по 15-й машинной команды должно быть записано в байт ОП с номером или адресом А1 = 00А0050016 .

3. В соответствии с правилами внутри машинного представления, представить содержимое РОН с номером 4, являющегося базовым для 1-го операнда, до и после выполнения операции в 16-ричной СС (рис. 3.8).

До выполнения После выполнения

машинной команды машинной команды

00

00

00

00

0

00

00

00

00

0

00

00

00

00

1

00

00

00

00

1

00

00

00

00

2

00

00

00

00

2

00

00

00

00

3

00

00

00

00

3

00

А0

00

00

4

00

А0

00

00

4

5

5

6

6

--

--

F

F

Рис. 3.8. Содержимое РОН до и после выполнения машинной команды

До выполнения После выполнения

машинной команды машинной команды

00000000

000000000

00000001

000000001

1-й операнд

0 2

00A00500

1-й операнд

0 2

00A00500

0 0

00A00501

0 0

00A00501

0 0

00A00502

0 0

00A00502

0 0

00A00503

0 0

00A00503

0 0

00A00504

0 0

00A00504

FFFFFFFF

FFFFFFFF

Рис. 3.9. Содержимое ОП до и после выполнения машинной команды

4. Содержимое поля ОП, закрепленное за 1-м операндом, с адресом А1 = 00А0050016 до и после выполнения машинной команды представлено на рис. 3.9.

3.7. SS-«память-память»

Команда SS – самая длинная команда, ее длина – 48 двоичных разрядов, 6-ть байтов, или три машинных полуслова. Команда двухадресная, операнды находятся в ОП, результат помещается по месту «1»-го операнда. В поле L указываются значения размеров полей ОП, закрепленных за операндами О1 и О2, в полях В1, В2 – номера РОН, в которых находятся значения их базовых адресов, а полях D1, D2 – значения смещений относительно базовых адресов соответственно 1 и 2-го операндов. Команды формата SS используются для выполнения арифметических и логических операций над переменными, объявленными в форматах «Р», «H», «F», «E», «D» и др.

Задание 5. Используя формат команды SS, заполнить поля команды информацией в 16-ой СС и представить внутреннее содержимое использованных РОН и полей ОП до и после выполнения операции. КОП = FA – операция сложения целых десятичных чисел, представленных в форме с фиксированной запятой (формат «Р»). Для представления значений операндов использовать поля ОП длиной по два байта, соответственно L = 2 . Значение 1-го операнда О1 = +5610, значение 2-го операнда О2 = +3410. Базовые адреса 1 и 2-го операндов В1 = 00АА000016, В2 = 00ЕЕ000016, смещения операндов относительно базовых адресов D1 = 60016, D2 = 90016. После выполнения операции результат помещается по месту 1-го операнда.

Этапность выполнения задания 5:

1. Записать 16-ричное представление полей машинной команды:

F A

0 2

2

6 0 0

3

9 0 0

0 78 15 16 23 24 31 32 35 36 47

2. Выполнение операции сложения сводится к следующим действиям: значения 1 и 2-го операндов суммируются. Результат операции РЗ = 9010 помещается в ОП на место 1-го операнда.

3. Содержимое РОН с номерами 2 и 3, в которых находятся значения базовых адресов 1 и 2-го операндов до и после выполнения операции в 16-ричной СС приведено на рис. 3.10.

До выполнения После выполнения

машинной команды машинной команды

00

00

00

00

0

00

00

00

00

0

00

00

00

00

1

00

00

00

00

1

00

АА

00

00

2

00

АА

00

00

2

00

ЕЕ

00

00

3

00

ЕЕ

00

00

3

00

00

00

00

4

00

00

00

00

4

5

5

6

6

7

7

8

8

9

9

A

A

B

B

C

C

D

D

E

E

F

F

Рис. 3.10. Содержимое РОН до и после выполнения

машинной команды

4. Исполнительный адрес «1»-го операнда определяется по формуле (3.4) и будет иметь значение:

А1 = 00АА000016 + 60016 = 00А0060016 .

Исполнительный адрес второго операнда определяется также по формуле (3.4) и будет иметь значение:

А2 = 00ЕЕ000016 + 90016 = 00А0090016.

5. Содержимое полей ОП, закрепленных за 1 и 2-м операндами до и после завершения выполнения машинной команды представлено на рис. 3.11.

На основании подробного рассмотрения 5 форматов машинных команд, можно сделать выводы о том, что ассемблированная форма представления «управляющей информации» для 32-, 64-разрядных машин идентична ассемблерам, которые используются в 16-разрядных микроконтроллерах. Причем у 16-разрядных микроконтроллеров может быть значительно больший по объему набор команд (до 256). Инвариантность «форматов команд» по отношению к емкости основной памяти обеспечивается за счет использования относительной адресации. При таком способе адресации предельный объем памяти определяется исходя из максимально возможных значений базовых адресов.

До выполнения После выполнения

машинной команды машинной команды

00000000

000000000

00000001

000000001

1-й

операнд

0 5

6 С

00A00600

00A00A01

1-й

операнд

9 0

0 С

00A00600

00A00601

2-й операнд

0 3

4 С

00A00900

00A00901

2-ой операнд

0 3

4 С

00A00900

00A00901

FFFFFFFF

FFFFFFFF

Рис.3.11. Содержимое ОП до и после выполнения машинной команды.

В современных 32-разрядных ЭВМ выборка машинных команд из памяти в центральный процессор осуществляется порциями по 2 байта. Применение команд различных форматов, в особенности с короткими адресами, относящимися к регистровой памяти, кроме отмеченного выше сокращения частоты обращения к основной памяти, способствует уменьшению объемов программ и экономии адресного пространства ОП.

Соседние файлы в папке УМК ФДПО АСВК