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

Лекция № 5 (29.03.12)

Система команд процессора

Команда, выполняемая процессором, в общем случае состоит из кода операции (КОП) и адресной части, которая определяет используемые операции – операнды.

Операнды могут быть следующих типов:

  1. Непосредственные, т.е. заданные в команде. Являются 8-ми, 16-ти, 32-х разрядными константами, задаваемыми в адресной части команды.

  2. Регистровые, расположенные в регистрах. Могут быть в одном из программно доступных регистров процессора (поле R), либо подразумевается неявно от операции.

  3. Операнды, расположенные в памяти. Адресуются номером (адресом) начального байта операнда, адрес операнда и операнды могут быть длинной от одного до нескольких байтов. Разрядность адреса может быть 24, 31, 64 бита. Операнды могут быть фиксированы и переменной длинны. Переменная длина операнда указывается в поле команды L. Часто используются операнды фиксированной длины – байт, полуслово (2 байта, адрес кратный 2-м), слово (4 байта – адрес кратен 4-м), двойное слово (8 байт, адрес кратен 8), учетверенное слово (16 байт, адрес кратен 16-ти).

Команда одной из ЭВМ имеет длину один, 2, или 3 полуслова и могут использовать различные форматы ( с фиксированной запятой – целые и дробные, с плавающей запятой).

Длина команды определяется двумя старшими битами кода операции:

  • 00 – одно полуслово,

  • 01 -2 полуслова

  • 10 – 2 полуслова

  • 11 – 3 полуслова

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

Новые команды получены путем добавления второго кода операции в шестой байт команд. Разряд 40 – 47. Генерация адресов операндов, размещенных в памяти основана на косвенно регистровой операции, когда адрес берется из регистра заданное полем R в команде или при вычислении с использованием содержимого базового регистра (B), содержимого индексного регистра (X) и смещения, указанного в поле D в байтах. A=B+X+D. Это делается для динамического использования памяти и рационального ее распределения. Широко используется переменный состав команд.

Основные составляющие (чего – не понятно, препод не раскололся)

  • Код операции (КОП)

  • Индексы, указывающие на первый, второй, третий и четвертый операнды команды.

  • R1, R2, R3 – номера регистров.

  • B1, B2, B4- номера базовых регистров.

  • X2 – номер индексного регистра

  • D1, D2, D4, DL1, DH1, DL2, DH2 – смещение, L – младшая часть смещения, H – старшая часть смещения.

  • M1, M2, M4 - поля маски

  • I2 – поля непосредственных операндов.

  • L, L1, L2 – поля длин операндов.

Нулевые значения номеров базового и индексного регистров означает их отсутствие при формировании адреса.

В системе команд Z архитектуры предусмотрено 5 классов операций:

  1. Целочисленная двоичная арифметика, логические операции, команды переходов и т.д.

  2. Десятичные (операции над десятичными числами).

  3. С плавающей точкой.

  4. Команды управления – операции для управления работой процессора

  5. Операции ввода/вывода

Класс основных команд включает команды Z архитектуры с фиксированной точкой. Предусмотрены операции над целыми числами со знаком и без знака, логические операции. Десятичные команды выполняют операции в десятичной арифметике, и эти операнды размещаются всегда в основной памяти. И имеют формат SS (память – память). Длина операндов определяется длиной поля L команды.

Форматы данных

Параметры и диапазоны чисел с плавающей точкой.

Параметры и диапазон

Короткий формат (32 бита)

Длинный формат (54 бита)

Расширенный формат (128 бит)

Разрядность порядка (количество разрядов, которое отводится под порядок)

8

11

15

Разрядность мантиссы

23

52

112

Максимальный порядок

127

1023

16383

Минимальный порядок

-126

-1022

-16382

Смещение порядка

127

1023

16383

Модуль максимального числа

Примерно 3, 41^38

Примерно 1,8*10^308

1,2*10^4932

Наименьшее число

1,4 * 10^-45

4,9*10^-324

6,5*10^-4956

Целые числа

Положительные числа представляются в прямом коде со знаковым разрядом равным нулю. Отрицательные числа в дополнительном коде со знаковым разрядом равным 1.

Полуслово

Слово

Двойное слово

Учетверенное слово

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]