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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное

учреждение высшего профессионального образования

“Ижевский Государственный Технический Университет им. М.Т.Калашникова”

Кафедра “Вычислительная техника”

ОТЧЕТ

по лабораторным работам №1,2

по дисциплине Вычислительные Системы

на тему: «Систолический процессор для умножения полиномов»,

«Систолический процессор для умножения матриц»

Выполнил:

студент гр. М02-784-1

Щукин О.П.

Проверил:

к.т.н., доцент

Петухов К.Ю.

Ижевск, 2013

I умножение полиномов

  1. Цель работы и задание:

1.1 Цель работы:

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

2 Провести экспериментальные исследования работы такого процессора.

1.2 Задание

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

Степень полинома А равна 5.

Степень полинома В равна 4.

Полином А: (1; 3; 5; 7; 9).

Полином В: (2; 4; 6; 8; 0).

  1. Теория

2.1 Краткая информация о работе ячейки:

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

в результате свертки коэффициентов исходных полиномов:

(1)

где C0 = A0*B0, C1 = A1*B0 + A0*B1, C2 = A2*B0+A1*B1+A0*B2, ...

… C2n-2 = An-1 * Bn-1, C2n-1 = 0.

Поэтому целесообразно в каждом ОЭ систолического процессора выполнять одинаковую операцию умножения и накапливающего сложения:

С=С+А*В.

Для умножения - сложения выбираются только такие пары коэффициентов AL и Bj, сумма индексов которых равна индексу искомого коэффициента Ci (1):

i = L + j, где j = i - L.

Рисунок 1 – Структура операционного элемента

На рисунке 1 показана структурная схема операционного элемента систолического процессора для умножения полиномов.

В составе каждого ОЭ имеются 4 регистра для временного хранения операторов al и bj и промежуточного результата С, а также для долговременного хранения операнда bj, записываемого в RG3 по микрооперации P.

RG1 – используется для хранения исходных коэффициентов полинома al, запись коэффициента происходит по синхросигналу s1.

RG2 - используется для хранения исходных коэффициентов полинома bj, запись коэффициента происходит по синхросигналу s.

RG3 – используется для долговременного хранения операнда {bj}, запись операнда происходит по микрооперации р.

RG4 – используется для хранения накопленной суммы.

БУ (блок умножения) – предназначен для выполнения однотактного быстрого умножения, осуществляет перемножение операнда {al} с операндом {bj} и передачу произведения на блок сложения.

БС (блок сложения) – предназначен для накапливающего суммирования, осуществляет сложение.

Для систолического умножения двух полиномов n таких ОЭ соединяются каскадно.

Исходные коэффициенты двух полиномов вводятся последовательно слева - направо в крайней левой ОЭ0 в виде двух последовательностей чисел:

an-1, ... , a3, a2, a1, a0 ───────>,

bn-1, ... , b3, b2, b1, b0 ───────>,

а коэффициенты результата произведения полиномов считываются с левого крайнего ОЭ0 последовательно справа - налево (встречно исходным данным) в виде последовательности чисел:

<──────── c0, c1, c2, c3, ... , c2n-2.

Числа bj вводятся в каждом синхротакте, а числа al - в два раза медленнее, через один такт. Результаты образуются слева на входе через один синхротакт S.

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