Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОС 2.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2.92 Mб
Скачать

44. Формат и структура слова команды в процессорах со стандартной архитектурой. Алгебраический и мнемонический синтаксис команды.

5.3.1.Формат и структура слова команды

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

Такими действиями являются:

  • операции над данными (арифметические и логические операции, пересылки данных),

  • управление последовательностью выполнения команд (организация циклов, ветвления программы, вызов подпрограмм),

  • общее управление работой процессора (переход в состояние ожидания, возврат из прерывания, переход к началу выполнения программы).

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

Команды размещаются в n – разрядных ячейках памяти программ.

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

Формат команды в общем случае представляет собой два слова одинаковой длины n, соответствующие двум соседним n – разрядным ячейкам памяти. Первое слово называют словом команды, второе – словом расширения.

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

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

В процессорах с однословным форматом слово расширения отсутствует. В процессорах с двухсловным форматом слово расширения может отсутствовать.

Например, процессор TMS320C3x использует однословные команды с длиной слова в 32 бита, процессор ADSP2181 – однословные с длиной слова в 24 бита, процессор TMS320C28 использует однословные команды длиной 16 бит и двухсловные длиной 32 бита.

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

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

Например, команда IF MV SAT MR процессора ADSP2181 содержит условие выполнения операции насыщения (SAT) содержимого регистра умножителя MR: если бит переполнения MV=1, то операция выполняется

В поле операции записывается операция, которую должен выполнить процессор. Операциями являются сложение, вычитание, умножение, логическое «И», логическое «ИЛИ» и т.д.

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

В поле операндов дается указание на операнд.

Операнды могут указываться:

  • адресом ячейки памяти данных, в которой хранится операнд,

  • именем регистра процессора, в котором находится операнд,

  • константой, хранящейся в слове команды или в слове расширения.

В поле операндов указываются источники (источник) и приемник результата.

Например, в команде процессора ADSP2181 MR=MR+MX1*MF (SS) источниками являются регистры MX1, MF, MR, а приёмником результата – регистр MR. В данном случае MR и источник, и приёмник результата. Символ SS означает, что осуществляется перемножение чисел со знаком.

В приведенных выше примерах отсутствуют поля параллельных пересылок. Рассмотрим команду процессора ADSP 2181, в которой имеются параллельные пересылки,

MR=MR+MX0*MY0 (SS), MX0=DM(0x000A), MY0=PM(0x000B),

где 0x –префикс, указывающий на то, что адрес задается в 16-ричной системе счисления

0x000A 0000 0000 0000 1010

0x000B 0000 0000 0000 1011

Эта команда выполняет накапливающее суммирование произведений с предварительной пересылкой сомножителей из памяти данных (DM) и памяти программ (PM) во входные регистры умножителя MX0 и MY0 соответственно. Результат накапливающего суммирования содержится в выходном регистре умножителя MR. В этой команде осуществляется перемножение операндов, которые были загружены в регистры MX0 и MY0 в предыдущем цикле.

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

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

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

В качестве примера использования мнемонического синтаксиса рассмотрим команду процессора TMS320C30

ADDF3 R0, R2, R3.

В поле операции указана операция ADDF3. Рассмотрим элементы обозначения операции: ADD (addition – сложение), F (floating-point – плавающая точка), 3 (в операции участвуют 3 операнда). Таким образом, данная команда выполняет операцию сложения двух чисел с плавающей точкой, находящихся в регистрах R0 и R2, и записью результата в R3.

45. Структура слова команды в процессорах с одновременным выполнением группы команд. Форматы пакетов выборки команд при последовательном, параллельном и последовательно-параллельном выполнении команд во времени.

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

Структура слова команды в процессорах с одновременным выполнением группы команд

В поле устройства задаётся устройство, например, одно из 6 АЛУ или один из 2 умножителей, в которых выполняется операция, задаваемая командой.

В поле признака группировки указывается, выполняется ли данная команда параллельно с другими командами.

Рассмотрим, как осуществляется группировка команд. В процессорах платформы С6000 команды выбираются из памяти не по одной, а пакетами. Пакет выборки содержит 8 команд. На рисунке показан формат пакета выборки. Длина слова команды составляет 32 бита. Нулевой бит слова, обозначенный на рисунке через p, является битом признака группировки команд.

Формат пакета выборки процессоров TMS320C6000

Если во всех командах пакета выборки p = 0, то все 8 команд выполняются последовательно одна за другой.

Если во всех командах кроме последней p = 1, то все 8 команд выполняются одновременно в разных блоках.

Возможно параллельно-последовательное выполнение команд в пределах одной выборки. Состояние p = 1 в слове i – ой команды означает, что она будет объединена с (i+1) –ой командой для одновременного выполнения.

Формат пакета выборки при последовательно-параллельном выполнении команд

Первая единица при просмотре пакета выборки слева направо означает, что с данной командой будут группироваться следующие за ней команды, включая ближайший нуль (C, D, E). Исполняться параллельно будут также команды F, G, H. Следовательно, 8 команд будут выполнены за 4 цикла.

Выполнение последовательно-параллельных команд во времени

Циклы

Команды

1

A

2

B

3

C D E

4

F G H

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

Структура команд на ассемблере при наличии группировки выглядит следующим образом:

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

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

Обратимся к примеру двух параллельных команд, записанных на ассемблере

ADD .L1 A0, A1, A2;

|| SHR .S1 A3, 15, A4;

В блоке .L1 выполняется операция сложения A0 и A1. Сумма помещается в A2. В блоке .S1 операнд A3 сдвигается на 15 разрядов вправо. Результат помещается в A4.

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