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

6.3.4.5 Циклический сдвиг вправо операнда х при взвешенном суммировании

Данные, поступающие на вход Х при операции взвешенного суммирования или маскирования, могут быть подвергнуты циклическому смещению на один бит вправо. Это смещение необходимо для того, чтобы компенсировать неудобства, которые возникают из-за невозможности разбиения данных, подаваемых на вход X рабочей матрицы, на элементы нечетной разрядности, в частности на элементы разрядности 1 бит. Так как регистр sb2 не позволяет задать побитовое разбиение данных на входе Х, необходим дополнительный преобразователь для того, чтобы обеспечить обработку старших битов при двухбитовом разбиении. Это преобразование обеспечивает циклический сдвиг вправо на один бит. В этом случае старшие биты двухбитовых слов становятся младшими.

Рис. 1-12 Порядок выполнения преобразований над данными в ВП.

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

Циклический сдвиг вправо осуществляется на один бит. При этом разбиение на элементы не учитывается, то есть сдвигается целиком все слово. Его младший бит становится самым старшим (63-им), первый нулевым, второй первым и т.д.

Циклический сдвиг работает при любом разбиении матрицы на строки, влияет только на данные, поступающие на вход Х, встречается только в командах взвешенного суммирова­ния и логического маскирования. Активизируется устройство циклического сдвига при испо­льзовании в векторной команде ключевого слова shift, расположенного перед операндом X.

6.3.4.6 Порядок выполнения преобразований над данными на вп

При выполнении вычислений на векторном процессоре помимо рабочей матрицы и векторного АЛУ могут использоваться также блоки, выполняющие маскирование, функции активации, циклический сдвиг данных. Если несколько устройств задействованы в одной векторной инструкции, то необходимо знать, в какой последовательности выполняются преобразования над данными.

В зависимости от того, направляются ли данные на обработку в векторное АЛУ или в рабочую матрицу, они проходят через разные вычислительные блоки:

Примечание На Рис. 1-11b регистр сдвига может использоваться только в операции логического маскирования (см. 1.4.3.Операция маскирования).

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

6.4. Описание и порядок пользования программой nmCalculator запустить nmCalculator

6.4.1 Общие сведения о программе

NMCalculator – интерактивный помощник разработчикам программного обеспечения для процессора Л1879ВМ1. Программа может быть полезна и программистам, осваивающим язык ассемблера и методы программирования векторного узла процессора. Данное прило­жение является, в некотором смысле, программной моделью векторного узла. В программе нет полного соответствия реальным аппаратным ресурсам процессора Л1879ВМ1, однако, такое абстрагирование упрощает процесс разработки программ, позволяя программисту сосредоточиться на решении основной задачи. NMCalculator предоставляет разработчику возможность сформировать векторную команду и сразу же получить результат. Программа способна эмулировать векторные команды в которых задействуется векторное АЛУ, или рабочая матрица (операции взвешенного суммирования). Пользовательский интерфейс программы состоит из двух частей:

- слева расположены элементы управления, с помощью которых можно сформировать векторную команду, ввести исходные данные и получить отчёт о текущем состоянии регистров;

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

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

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