- •Тверь 2004
- •Введение
- •Арифметика цвм Формы представления чисел в эвм
- •Представление чисел со знаком в эвм
- •Переполнение разрядной сетки
- •Модифицированные коды.
- •Умножение двоичных чисел в форме с плавающей запятой
- •Умножение чисел с фиксированной запятой на дсдк, схема 1
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 1
- •Умножение двоичных чисел с фиксированной запятой на дсдк, схема 2
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 2
- •Умножение двоичных чисел с фиксированной запятой на дсдк, схема 3
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 3
- •Умножение двоичных чисел с фиксированной запятой на дсдк, схема 4
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 4
- •Деление двоичных чисел с плавающей запятой.
- •Деление двоичных чисел с фиксированной запятой с восстановлением остатка
- •Деление двоичных чисел с фиксированной запятой без восстановления остатка.
- •Алгоритмы перевода чисел из системы счисления с основаниемpв систему счисления с основаниемq Перевод правильной дроби из кода д1 в двоичную систему счисления
- •Перевод правильной дроби из двоичной системы счисления в код д1
- •Перевод целого числа из кода д1 в двоичную систему счисления
- •Перевод целого двоичного числа в код д1
- •Основные сведения о конечных цифровых автоматах
- •Абстрактная теория цифровых автоматов
- •Совмещенная модель автомата (с-автомат)
- •Функционирование цифрового автомата во времени
- •Канонический метод структурного синтеза цифровых автоматов
- •Элементы памяти в цифровых автоматах
- •Проектирование автомата Мили Кодированная таблица переходов-выходов
- •Проектирование автомата Мура
- •Принцип микропрограммного управления в цифровых автоматах
- •Алгоритм отметки гса и построение автомата Мура
- •Тривиальная реализация цифрового автомата
- •Кодирование состояний. Гонки в автомате
- •Замена входных переменных и кодирование состояний
- •Кодирование микрокоманд
- •Матричная реализация комбинационных схем и автоматов
Умножение двоичных чисел с фиксированной запятой на дсдк, схема 3
Схема Горнера в этом случае имеет вид:
[C]д = [A]д (b12-1+b22-2+…+bn2-n-1)=( [A]д *2-n) (b12n-1+b2 2n-2+…+bn-1 2+bn –SgB 2n)=
=[A ‘]д* (b12n-1+b2 2n-2+…+bn-1 2+bn –SgB 2n)=
=SgB([ A ‘]д+b1([A ‘]д 2n-1)+b2([A ‘]д 2n-2 )+…+bn-1([A ‘]д 2)+bn [A ‘]д
(8)
Из выражения (8) следует, что
множимое в начале выполнения операции сдвигается на nразрядов вправо; поэтому регистр А должен иметь двойную точность;
при умножении на отрицательный множитель выполняется одна коррекция в конце выполнения операции умножения;
разряды множителя анализируются, начиная с младшего разряда;
множимое в каждом цикле умножения сдвигается на один разряд влево.
Пример. Пусть А=0,1101, В=-0,1011. С учетом сказанного выше. РгА после сдвига на n-4 разряда влево содержит число 0,0000 1101, [B]д=1.0101. Процедура выполнения умножения приведена в таблице 5.
Таблица 5 Умножение на ДСДК, схема 3
СМ |
РгА |
РгВ |
СТ |
Комментарии |
0.0000.0000 |
0.0000.1101 |
1.0101 |
4 |
СМ:=0, РгА:= [A ‘]д, РгВ:= [В]д, СТ:=4, |
+0.0000.1101 0.0000.1101 |
|
|
|
РгВ[4]=1? ДА СМ:=СМ+РгА, |
|
0.0001 1010 |
-1.010 |
3 |
СТ=0? НЕТ РгА:=L(1) РгА, РгВ:=R(1)РгВ, СТ:=СТ-1, |
|
0.0011 0100 |
--1.01 |
2 |
РгВ[4]=1? НЕТ Пропускаем такт подсуммирования. Выполняем сдвиги РгА и РгВ и декремент счетчика. |
0.0000 1101 +0.0011 0100 0.0100 0001 |
|
|
|
РгВ[4]=1? ДА СМ:=СМ+РгА, |
|
0.0110 1000 |
---1.0 |
1 |
СТ=0? НЕТ РгА:=L(1) РгА, РгВ:=R(1)РгВ, СТ:=СТ-1, |
|
0.1101 0000 |
----1. |
0 |
РгВ[4]=1? НЕТ Пропускаем такт подсуммирования. Выполняем сдвиги РгА и РгВ и декремент счетчика. |
0.0100 0001 +1.0011 0000 1.0111 0001 |
|
|
|
СТ=0? ДА Проверяем значение знака В. Так как SgB=1, выполняем коррекцию. СМ:=СМ+РгА, |
Ответ: [C]д=1.0111 0001. Или в естественной записи С=-0.1000 1111.
Умножение двоичных чисел с фиксированной запятой на дсок, схема 3
Схема Горнера в этом случае имеет вид:
[C]о = [A]о (b12-1+b22-2+…+bn2-n-SgB +SgB 2-n)=
( [A]o *2-n) (b12n-1+b2 2n-2+…+bn-1 2+bn –SgB 2n + SgB)=
=[A ‘]o* (b12n-1+b2 2n-2+…+bn-1 2+bn –SgB 2n + SgB)=
=SgB([ A ‘]o 2n + b1([A ‘]o 2n-1)+b2([A ‘]o 2n-2 )+…+bn-1([A ‘]o 2)+bn [A ‘]o +SgB [A]o.
(9)
Из (9) заключаем, что в этом случае вначале выполняется коррекция +SgB[A]o, а затем все происходит так же, как в предыдущем примере. Пример выполнения умножения приведен в таблице 6.
Таблица 6 Умножение двоичных чисел на ДСОК, схема 3
СМ |
РгА |
РгВ |
СТ |
Комментарии |
1.1111 1111 +1.1111 0010 1.1111 0001 + 1 1.1111 0010 |
1.1111 0010 |
1.0100 |
4 |
СМ:=0, РгА:= [A’]o, РгВ:=[B]o, СТ:=4, |
|
|
|
SgB=1?ДА Выполняем первую коррекцию. СМ:=СМ+РгА,
| |
|
1.1110 0101 |
-1.010 |
3 |
РгВ[4]=1? НЕТ Пропускаем такт подсуммирования. СТ=0? НЕТ РгА:=L(1) РгА, РгВ:=R(1)РгВ, СТ:=СТ-1, |
|
1.1100 1011 |
--1.01 |
2 |
РгВ[4]=1? НЕТ Пропускаем такт подсуммирования. СТ=0? НЕТ РгА:=L(1) РгА, РгВ:=R(1)РгВ, СТ:=СТ-1, |
1.1111 0010 +1.1100 1011 1.1011 1110 |
|
|
|
РгВ[4]=1? ДА СМ:=СМ+РгА, здесь уже подсуммирована единица, спадающая со знакового разряда. |
|
1.1001 0111 |
---1.0 |
1 |
СТ=0? НЕТ РгА:=L(1) РгА, РгВ:=R(1)РгВ, СТ:=СТ-1, |
|
1.0010 1111 |
----1. |
0 |
РгВ[4]=1? НЕТ Пропускаем такт подсуммирования. СТ=0? НЕТ РгА:=L(1) РгА, РгВ:=R(1)РгВ, СТ:=СТ-1, |
1.1011 1110 +0.1101 0000 0.1000 1111 |
|
|
|
СТ=0? ДА РгВ[4]=1 ДА Выполняем вторую коррекцию СМ:=СМ+РгА, Конец. В сумматоре находится результат умножения. |