Lab3_moya
.docxФедеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
Ижевский Государственный Технический университет имени М. Т. Калашникова
Кафедра «Вычислительная техника»
Отчет
по лабораторной работе №3
по дисциплине Вычислительные Системы
на тему «Систолический процессор для распознавания образов»
Выполнил: студент гр. М02-781-01
Парыгин М.А.
Проверил: Петухов К. Ю.
Ижевск, 2013
-
ЗАДАНИЕ
-
Задачи:
-
Необходимо провести экспериментальные исследования работы систолического процессора для распознавания образов.
-
Путем многократных исследований добиться устойчивого распознавания искаженных символов.
-
Найти максимальное количество вводимых искажений, при котором обеспечивается устойчивое распознавание символов.
-
Результаты исследований свести в таблицу.
-
Вычислить конвейерный такт. Сделать вывод о работе систолического процессора, доказать повышение производительности по сравнению с обычным процессором.
-
Исходное задание:
Количество символов: 4;
Количество эталонов: 4;
Количество ошибок: 2.
Рисунок 1.2.1 – Изображение эталонов
Рисунок 1.2.2 - Зашумленные символы (количество ошибок = 2)
-
ТЕОРИЯ
-
Сравнивающая ячейка
-
Рисунок 2.1.1 – Структурная схема сравнивающей ячейки.
-
Вычислительная ячейка
Рисунок 2.2.1 – Структурная схема вычислительной ячейки.
-
Описание работы процессора
Частичные суммы продвигаются слева направо с накоплением, и затем из крайних правых ячеек поступают в сравнивающие ячейки. Идентификаторы полных сумм в сравнивающих ячейках задерживаются на 17 тактов (l0+к-1=10+8-1, k-размер по вертикали). Начало загрузки идентификатора отмечается сообщением "НАЧАЛО ЗАГРУЗКИ ИДЕНТИФИКАТОРОВ".
В каждую сравнивающую ячейку (за исключением самой первой верхней) слева поступает частичная сумма и справа идентификатор этой суммы. Сверху поступает из верхней сравнивающей ячейки сумма и соответствующий ей идентификатор. Из этих двух сумм выбирается наименьшая сумма и соответствующий идентификатор и предается в нижнюю сравнивающую ячейку.
Рисунок 2.3.1 – Структурная схема систолического процессора
Рисунок 2.3.2 – Схема систолического процессора
Все ячейки, представленные на экране, кроме крайнего правого ряда, являются вычисляющими. Крайний правый ряд представляет собой сравнивающие ячейки.
Вычислительные ячейки состоят из следующих полей:
1) Первое сверху число - матрица X (распознаваемый символ).
2) Второе число - частичная сумма.
З) Третье число - матрица M (эталон).
Сравнивающие ячейки:
1) Верхнее число - расстояние эталонного вектора от неизвестного.
2) Нижнее число - идентификатор соответствия между эталонным вектором и неизвестным.
Стрелки, направленные вниз, означают продвижение компонентов входных векторов Xf и выделены желтым цветом в активном состоянии.
Стрелки, направленные влево, означают продвижение идентификаторов и выделены желтым цветом в активном состоянии.
Стрелки, направленные вправо, означают продвижение частичных сумм и выделены желтым цветом в активном состоянии.
Стрелки, направленные вверх, означают продвижение компонентов векторов эталонов Mi и выделены желтым цветом в активном состоянии.
В крайнем правом ряду, где находятся сравнивающие ячейки, две стрелки направлены вниз. Крайняя левая стрелка означает продвижение вычисленного расстояния Kjf f-го входного вектора Xf до ближайшего j-го эталона. Стрелки выделены желтым цветом в активном состоянии и серым цветом в пассивном состоянии.
Диагональное смещение входных и эталонных компонентов на вводе осуществляется для обеспечения взаимно синхронизации, т.е. для обеспечения их встречи в нижний момент времени в требуемой по алгоритму ячейке ВЯ. При этом необходимо синхронизировать потоки компонент входных векторов. Это достигается следующими способами :
1) Диагональным смещением входных данных при вводе в систолическую матрицу.
2) Разделением элементов при загрузке в матрицу входных данных ( и ) одним временным интервалом-подциклом продвижения в матрице.
3) Диагональной начальной загрузкой векторов эталонов.
4) Поочередным постраничным продвижением компонентов векторов в каждом подцикле в течении первых L подциклов.
Тем самым гарантируется, что первая входная компонента X11 встретится с требуемой компонентой эталона m11 в левый верхний угол ВЯ. В дальнейшем ввод всех эталонных векторов повторяется циклически в виде организованного в ромб массива из LxK компонент.
-
ХОД РАБОТЫ
-
Вводим в программу syst_dc входные данные:
-
Задаем эталоны:
Рисунок 3.1.1 - Эталоны
Задаем символы (количество ошибок =2):
Рисунок 3.1.2 – Символы
-
Демонстрация работы систолического процессора в пошаговом режиме:
Рисунок 3.2.1 – Результаты распознавания
Рисунок 3.2.2 – Результаты прогона систолического алгоритма
-
Повышение уровня зашумленности.
Повышаем уровень зашумленности (увеличиваем значение количества ошибок) распознаваемого символа.
3.3.1. Количество ошибок равно 6:
Рисунок 3.3.1.1 – Результаты распознавания (Все символы правильно распознаны)
3.3.2. Количество ошибок равно 10
Рисунок 3.3.2.1 – Результаты распознавания (Все символы правильно распознаны)
-
3. Количество ошибок равно 13
Рисунок 3.3.3.1 – Результат распознавания (Все символы правильно распознаны)
3.3.4. Количество ошибок равно 15
Рисунок 3.3.4.1 – Результат распознавания (При уровне зашумленности, равном 15, символ «М» распознан не правильно, установлено соответствие с эталоном №2 (Символ «Ш»))
3.3.5. Количество ошибок равно 18
Рисунок 3.3.5.1 - Результат распознавания (При уровне зашумленности, равном 18, символы «М», «И» распознаны не правильно, установлено соответствие с эталонами №2, 3 соответственно (Символы «Ш», «А»))
3.3.6. Количество ошибок равно 20
Рисунок 3.3.6.1 - Результат распознавания (При уровне зашумленности, равном 20, символы «М», «И», «Ш» распознаны не правильно, установлено соответствие с эталонами №2, 3,1 соответственно (Символы «Ш», «А», «И»))
Прекращаем увеличивать количество ошибок. При уровне зашумленности, равном 20 распознается только один символ, т.е. 25%.
ВЫВОДЫ
В ходе выполнения лабораторной работы были распознаны заданные эталонные образы с помощью систолического процессора при разных уровнях зашумления. В результате можно сделать вывод, что систолический процессор позволяет распознать до 100% символов при низком уровне зашумленности, до 13 ошибок, в зависимости от точки наложения ошибки. При высоком уровне зашумленности, до 20 ошибок, возможность распознавания составляет 25-50%. Систолический процессор ускоряет процесс выполнения задачи распознавания образов в сравнении с обычным процессором за счет параллельных вычислений.