ВУЗ:
27
отсутствии переноса в этот разряд или перенос в знаковый
разряд при отсутствии переноса из разряда знака, то
имеется переполнение разрядной сетки, соответственно при
отрицательной и положительной суммах. Если нет
переноса из знакового разряда и нет переноса в знаковый
разряд суммы или есть оба эти переноса, то переполнения
нет. Если в знаковом разряде содержится 0, то сумма
положительна и представлена в прямом коде, а если в
знаковом разряде содержится 1, то сумма отрицательна и
представлена в дополнительном коде.
При выполнении алгебраического сложения
(Z = X + Y) поступившие в АЛУ коды операндов находятся
на входных регистрах РгВ и РгА сумматора. Код суммы
формируется на выходах схемы См и фиксируется в
регистре РгСм.
Операция алгебраического вычитания
Z = X – Y = X + (-Y)
может быть сведена к изменению знака вычитаемого Y и
операции алгебраического сложения. Если вычитаемое Y
после изменения знака становится отрицательным
операндом, то это число необходимо перевести в
дополнительный код, что выполняется следующей
процедурой: принятый в Рг1 код числа передается
инверсно в РгА и при сложении осуществляется
подсуммирование 1 в младший разряд сумматора.
28
Передача информации в регистрах АЛУ
производится отдельными микрооперациями,
инициируемыми управляющими сигналами. Слово из Рг1 в
РгА может быть передано в прямом (при сложении) или в
инверсном (при вычитании) кодах.
Алгоритм сложения и вычитания чисел с
фиксированной точкой приведен на рис. 2.2.
Микрооперации в блоках, выполняемые в разных тактах,
разделяются горизонтальной чертой.
Рисунок 2.2 - Алгоритм сложения и вычитания
чисел с фиксированной запятой
Начало
РгВ:=ШИВх
Рг1:=ШИВх
1
См:=РгА+РгВ;Пр
РгА:=Рг1
РгСм:=См
3
2 сложение
да
нет
См:=РгА+РгВ+1;Пр
РгА:=Рг1
РгСм:=См
4
нет
5 Пр=11
да
ШИВых:=РгСм
6
РгСм:=0;
Прерыв. из-за переполн.
7
Конец
отсутствии переноса в этот разряд или перенос в знаковый Передача информации в регистрах АЛУ разряд при отсутствии переноса из разряда знака, то производится отдельными микрооперациями, имеется переполнение разрядной сетки, соответственно при инициируемыми управляющими сигналами. Слово из Рг1 в отрицательной и положительной суммах. Если нет РгА может быть передано в прямом (при сложении) или в переноса из знакового разряда и нет переноса в знаковый инверсном (при вычитании) кодах. разряд суммы или есть оба эти переноса, то переполнения Алгоритм сложения и вычитания чисел с нет. Если в знаковом разряде содержится 0, то сумма фиксированной точкой приведен на рис. 2.2. положительна и представлена в прямом коде, а если в Микрооперации в блоках, выполняемые в разных тактах, знаковом разряде содержится 1, то сумма отрицательна и разделяются горизонтальной чертой. представлена в дополнительном коде. При выполнении алгебраического сложения Начало (Z = X + Y) поступившие в АЛУ коды операндов находятся РгВ:=ШИВх 1 на входных регистрах РгВ и РгА сумматора. Код суммы Рг1:=ШИВх формируется на выходах схемы См и фиксируется в нет 2 сложение регистре РгСм. да Операция алгебраического вычитания РгА:=Рг1 РгА:=Рг1 Z = X – Y = X + (-Y) 3 См:=РгА+РгВ;Пр 4 См:=РгА+РгВ+1;Пр РгСм:=См РгСм:=См может быть сведена к изменению знака вычитаемого Y и операции алгебраического сложения. Если вычитаемое Y да 5 Пр=11 после изменения знака становится отрицательным нет операндом, то это число необходимо перевести в 6 ШИВых:=РгСм РгСм:=0; 7 Прерыв. из-за переполн. дополнительный код, что выполняется следующей Конец процедурой: принятый в Рг1 код числа передается инверсно в РгА и при сложении осуществляется Рисунок 2.2 - Алгоритм сложения и вычитания чисел с фиксированной запятой подсуммирование 1 в младший разряд сумматора. 27 28
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »