Курсовая работа: Розробка операційного та керуючого автомату що виконує операцію прискореного множення
регістр Рг1 заносимо доповняльний код числа А. Зсуваємо регістр РгА вправо на один розряд. Дивимося на старший розряд числа В (РгВ[1]), якщо там 1 то заносимо в регістр Рг2 значення регістра РгА (першій частковий добуток). Зсуваємо регістр РгА вправо на один розряд. Дивимося на другий розряд числа В (РгВ[2]), якщо там 1 то заносимо в регістр Рг3 значення регістра РгА (другий частковий добуток). Зсуваємо регістр РгА вправо на один розряд. Додаємо в суматорі значення з регіс-трів Рг1, Рг2, Рг3 та формуємо проміжну суму та проміжний перенос Р. Зсуваємо регістр РгВ вліво на два розряди. Зменшуємо значення лічильника на 2.
Далі починаємо цикл:
Поки n не дорівнює 0 дивимося на старший розряд числа В (РгВ[1]), якщо там одиниця додаємо до суматора (попередня проміжної суми) вміст регістра РгА (черговий частковий добуток) та попередній проміжний перенос Р, якщо ж 0, то додаємо лише попередній проміжний перенос Р; формуємо чергову проміжну суму та проміжний перенос. Зсуваємо регістр РгА вправо на один розряд. Зсуваємо регістр РгВ вліво на один розряд. Зменшуємо значення лічильника на 1. Повторюємо цикл.
Після закінчення циклу додаємо до суматора (останньої проміжної суми), з розповсюдженням переносу, останній проміжний перенос Р. Дивимося на знак результату (СМ[0]), якщо там 1 (результат від’ємний), перетворюємо доповняльний код в прямий: інвертуємо суматор і додаємо 1. Операцію множення виконано результат знаходиться в суматорі.
1.3 Приклад множення
Візьмемо для прикладу помноження два числа:
A=0,69140625 та B= -0,80078125.
Переведемо ці числа в двійкову систему числення:
А2 =0.10110001; Адоп =0.10110001;
В2 =1.11001101; Вдоп =1.00110011.
Розглянемо приклад помноження цих чисел, за допомогою алгоритму:
СМ | РгB | ПРИМІТКИ |
0.0000000000000000 1.01001111 +0.000000000 0.0000000000 |
1.00110011 1.110011_ _ 1.10011_ _ _ 1.0011_ _ _ _ 1.011_ _ _ _ _ 1.11_ _ _ _ _ _ 1.1_ _ _ _ _ _ _ |
СM:=0; Рг1:=Адоп ; СМ:=Рг1+Рг2+Рг3; |
1.0100111100000000 +0.0000000000000000 0.00010110001 |
форм. пром. суму і пер. Р РгВ¬2; РгА®1; СМ:=СМ+РгА+Р; | |
К-во Просмотров: 268
Бесплатно скачать Курсовая работа: Розробка операційного та керуючого автомату що виконує операцію прискореного множення
|