Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LR2_CSP

.docx
Скачиваний:
0
Добавлен:
12.05.2024
Размер:
90.2 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

Московский технический университет связи и информатики

Кафедра многоканальных телекоммуникационных систем

Лабораторная работа № 2

по дисциплине

Цифровые системы передачи и методы их защиты

ИССЛЕДОВАНИЕ ЭФФЕКТОВ ОГРАНИЧЕНИЯ РАЗРЯДНОЙ СЕТКИ ПРИ ЦИФРОВОЙ КРИПТОГРАФИЧЕСКОЙ ОБРАБОТКЕ СИГНАЛОВ

Бригада №

Выполнил: студент гр. бкк2001

Проверила: Зуйкова Т.Н.

Москва 20

Постановка задачи

В среде автоматизированного проектирования программного обеспечения VisualDSP++ исследовать работу подпрограммы деления целых чисел в простых полях Галуа с учетом эффекта ограничения разрядной сетки со стороны старших разрядов.

Алгоритм вычисления остатка от деления целых положительных чисел на сигнальном процессоре ADSP-2181:

- Записать значение 32-разрядного делимого (16+16 разрядов) в пару регистров AF AY0. Значение 16-разрядного делителя записать в регистр АХ0.

- Содержимое регистра состояния ASTAT установить в 0 (при делении положительных чисел бит AQ = 0).

- Убедиться, что значение делителя не равно нулю, в противном случае завершить выполнение подпрограммы и выставить флаг невозможности деления AV = 1 (соответственно ASTAT=4).

- Проанализировать значение старшего разряда делителя.

Если значение старшего разряда делителя равно нулю, то для вычисления частного следует 17 раз выполнить команду divq AX0.

В противном случае следует сдвинуть значение делителя на один разряд вправо, например, с использованием сдвигателя, и для вычисления частного 16 раз выполнить команду divq dreg, где dreg – имя регистра, содержащего результат сдвига.

- Частное сформируется в регистре AY0.

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

- Вычислить остаток от деления по формуле:

MR = MR - AX0* AY0, где MR – делимое; AX0 – делитель; AY0 – частное.

Значение остатка будет представлено в регистре MR0.

Разработанная блок-схема алгоритма

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

Текст подпрограммы деления delen_p

Записать разработанную подпрограмму.

.section/dm vars;

.var b = 2531;

.var a = 430;

.var m = 11979;

.SECTION/PM program;

jump start; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

delen: nop;

af = pass mr1;

ay0 = mr0;

ar = pass ax0;

if gt jump deli;

llll: if lt jump deli2;

astat = 4;

rts;

deli: astat = 0;

divq ax0; divq ax0; divq ax0; divq ax0;

divq ax0; divq ax0; divq ax0; divq ax0;

divq ax0; divq ax0; divq ax0; divq ax0;

divq ax0; divq ax0; divq ax0; divq ax0;

divq ax0;

mr2 = 0;

my0 = ax0, ar = pass ay0;

mr = mr - ar * my0 (uu);

rts;

deli2: sr1 = ax0;

sr = lshift sr1 by -1(hi);

astat = 0;

divq sr1; divq sr1; divq sr1; divq sr1;

divq sr1; divq sr1; divq sr1; divq sr1;

divq sr1; divq sr1; divq sr1; divq sr1;

divq sr1; divq sr1; divq sr1; divq sr1;

mr2 = 0;

my0 = ax0, ar = pass ay0;

af = tstbit 0xf of sr0;

if ne ar = ar - 1;

ay0 = ar;

mr = mr - ar * my0 (uu);

rts;

start: nop;

dis ar_sat;

ena m_mode;

mr0=0; //x=0

my1=dm(a);

mx1=dm(b);

mx0=dm(m);

call delen;

end: nop;

jump end;

Выводы

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

Операция деления целых чисел в простых полях Галуа реализована в разработанной оригинальной подпрограмме delen.

Самостоятельно разработана блок-схема в подпрограмме delen.

Произведена проверка работы готовой подпрограммы delen на примере конгруэнтного генератора.

Произведено ознакомление с алгоритмом вычисления остатка от деления целых положительных чисел на сигнальном процессоре ADSP-2181.

Соседние файлы в предмете Цифровые системы передачи