Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
43
Добавлен:
13.02.2015
Размер:
681.98 Кб
Скачать
    1. Язык микроопераций

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

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

Микрооперация  элементарная операция, выполняющаяся над данными, содержащимися в функциональных узлах микропроцессора, инициирующаяся одним управляющим сигналом и имеющая продолжительность один такт сигнала синхронизации.

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

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

Средства языка микроопераций. Язык микроопераций позволяет простыми и наглядными средствами представить и параллельные функциональные узлы микропроцессора (регистры, элементы ЗУ, массивы данных, шины, счётчики и др.), и элементарные операции над целыми словами либо над их частью (пересылка слова или его части, сложение двух слов, инверсия слова, сдвиг слова, инкремент слова и др.).

Слова. Описание слов состоит из называния (идентификатора) и указателя на количество разрядов. Идентификатор слова  произвольная последовательность букв и цифр, начинающаяся с буквы. Указатель количества разрядов содержит номера старшего и младшего разрядов, разделённых знаком  «÷», например:

В58 7 ÷ 0

 описание восьмиразрядного слова В5, при этом указатель на разрядность (8) может отсутствовать, если это не влияет на смысл.

Регистры. Описание идентично описанию слова и включает в себя называние (идентификатор) регистра и указатель на количество разрядов в нём. Например, описание 82-разрядного регистра для хранения числа с плавающей точкой (рис. 5.8) имеет вид: RC 81 ÷ 0.

Аналогичным образом можно привести описание отдельных полей регистра, например, только поля мантиссы  RC 63÷0 или только поля знакового разряда  RC 81.

Шины. Описание идентично описанию слова и содержит идентификатор шины Ш и указатель на количество разрядов в ней. Например, описание 16-разрядной шины, по которой происходит передача адреса физической ячейки памяти, имеет вид: ША 15 ÷ 0.

Запоминающие устройства. Структурно ЗУ состоит из слов одинаковой длины, следовательно, в его описание входит идентификатор модуля памяти и в квадратных скобках наименьший и наибольший номера ячеек памяти, а также порядок нумерации разрядов в словах. Например, описание модуля кэш-памяти первого уровня, содержащего r восьмиразрядных ячеек памяти, имеет вид: Кэш1 r–1÷0, 7÷0; i-ячейка кэш-памяти второго уровня и её k-й разряд  Кэш2 i, k.

Массивы данных. Массив  совокупность ячеек памяти определённого ЗУ, следовательно, при описании массива необходимо использовать структуру описания ЗУ, в котором расположены данные.

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

    • микрооперации над двумя словами: дизъюнкция, конъюнкция, сложение, вычитание, сравнение и др.;

    • микрооперации над одним словом: инверсия, сдвиг, инкремент, декремент, установка слова или его части и др.

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

Микрооператор одноместной операции сдвиг. Микрооперация сдвига (SHift) относится к машинным командам целочисленной арифметики, отображает сквозное перемещение бит операнда и содержит:

  • обозначение направления сдвига: вправо (Right), влево (Ltft);

  • характеристики сдвига: циклический (Rotate), циклический через флаг переноса (Rotate through Carry flag), логический (Logical), арифметический (Arithmetical);

  • число разрядов, на которое производится сдвиг.

Например, микрооперация машинной команды арифметического сдвига содержимого регистра D вправо на три разряда имеет вид

i3-5 SH RD = SH A R (3) RD

где знак «»  разделяет идентификатор и микрооператор, а также характерную особенность микрооператора (сдвиг) и характеристику операнда (регистр D); знак « =»  отображает операцию присваивания результата; i3-5  идентификатор сигнала, управляющего непосредственным исполнением сдвига, содержит номер группы и номер команды в группе (полное исполнение машинной команды может содержать несколько идентификаторов).

Микрооперация арифметического сдвига представляется идентификатором сигнала управления и микрооператором, причём микрооператор содержит все сведения о машинной команде и расположении операндов, данные которых участвуют в микрооперации.

Формула микрооператора определяет преобразование, выполняемое микрооперацией (SH A R (3)  арифметический сдвиг на три разряда) и местоположение операнда источника (RD  регистр D), над данными которого будет производиться операция.

По аналогии, микрооперация машинной команды циклического сдвига через флаг переноса содержимого регистра B влево на пять разрядов имеет вид

i SH RB = SH RoC L (5) RB.

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

Микрооператор одноместной операции конъюнкция. Микрооперация относится к машинным командам логического типа (Logical AND), отображает поразрядное умножение двух двоичных чисел, содержит характеристики двух операндов и имеет вид

i Lo RC = RB AND RC.

Если изменить вид логической операции, то, аналогично можно получить произвольную логическую либо арифметическую операцию:

дизъюнкция i Lo RD = RA OR RD,

сложение по модулю два i Lo RB = RD XOR RB,

сложение i Ar RC = RB ADD RC,

вычитание i Ar RA = RD SUB RA.

Микрооператор многоместной операции переход по условию. Микрооперация выполняет проверку признака флага нуля (FZ) и по этому условию исполняется либо сложение восьмиразрядной константы (k) с текущим содержанием регистра Е, либо к содержанию регистра Е прибавляется единица:

i Jcond RE = if FZ =0 then RE [7 ÷ 0] ADD k [7 ÷ 0];

else RE ADD 1.

Условие для выполнения перехода можно представлять как проверку состояния одного флага (FZ = 0) либо совокупности флагов (FZ = 0 и FС = 0).

Вывод. Используя средства языка микроопераций, можно сформировать последовательность действий при выполнении произвольной машинной команды.

Соседние файлы в папке Учебное_пособие_по_Схемотехнике