Смекни!
smekni.com

Методические указания Пенза 1997 удк 681 06 (стр. 2 из 8)

Таблица 1

Сложение и вычитание чисел с фиксированной точкой

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваивания Признаки, вырабатывае­мые в результате выполнения МО и комментарии
1 Запись исходных чисел в регистры ОА: - числа в дополнительном коде РСМ:=|х|2 Р1:=|y|2; - модули исходных чисел РСМ:=|х| Р1:=|y| Запись модулей исходных чисел производится для организации сложения и вычитания чисел без знака, поэтому в знаковом разряде регистров устанавливаются нули
2 Сложение и вычитание исходных чисел в дополни­тельном коде: - сложение целых чисел и простых дробей РСМ:= РСМ+Р1; - вычитание целых чисел и простых дробей
Сигнал переполнения разрядной сетки сумматора определяется по формуле
.
При V=1 фиксируется пе­реполнение. Единица, пред­ставляющая младший
раз­ряд имеет вес: для целых - 20, для простых дробей - 2-n

Продолжение табл.1

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваивания Признаки,вырабатываемые в результате выполнения МО и комментарии

3
Сложение и вычитание исходных чисел без знака по модулю ( для целых по модулю 2n, для простых дробей по модулю 20): - сложение целых чисел и простых дробей РСМ:=РСМ+Р1; - вычитание целых чисел и простых дробей
Сигнал переполнения разрядной сетки опреде­ляется как в п. 2. При V=0 знак регистра сумматора определяет знак результата: - при РСМ(0)=0 результат положительный; - при РСМ(0)=1 результат отрицательный и представлен в виде дополнения до модуля (2n или 20)
4 Получение отрицательного результата в прямом виде: - для целых чисел и простых дробей
См. комментарий в п.2

Таблица 2

Сложение и вычитание чисел с плавающей точкой

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваивания Признаки, вырабатываемые в результате выполнения МО и комментарии
1 Запись исходных чисел в регистры мантисс и порядков ОА: РСМм:=[Mx]2; Р1м:=[My]2; РСМp:=[Рx]2; Р1p:=[Рy]2 Исходные числа представ­лены в дополнительном коде
2 Вычитание порядков исход­ных чисел: Px - Py=k;
При Px - Py=0 выпол­няется сложение или вычитание мантисс без их денормализации. При Px - Py>0 произво­дится денормализация ман­тиссы My. При Px-Py<0 производится денормализация мантиссы Mx

Продолжение табл.2

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки,вырабатываемые в результате выполнения МО и комментарии
3 Завершение операции сло­жения или вычитания при Px - Py > Pmax.доп. и Px - Py < Pmin.доп. : - при Px - Py > Pmax.доп. результату операции z присваи­вается значение слагаемого x Mz := Mx, Pz = Px; - при Px - Py < Pmin.доп. результату операции z присваи­вается значение слагаемого y Mz = My, Pz = Py При сдвиге мантиссы My или Mx вправо при выравнивании порядков она выйдет за пределы разрядной сетки, поэтому результат сложения или вычитания будет равен тому слагаемому, мантисса которого не должна сдвигаться. Для первого условия значения кодов в РСМм и РСМp не изменяются. Для второго условия после сброса регистров РСМм и РСМp в нуль выполняются операции РСМм := РСМм + Р1м ; РСМp := РСМp + Р1p
4 Сложение или вычитание мантисс при Px - Py = 0 Mz=Mx+My; РСМм:=РСМм+Р1м;
При V=1 возникает нарушение нормализации влево. При z0=z1 возникает нарушение нормализации вправо и вырабатывается сигнал HR=1

Продолжение табл. 2

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки,вырабатываемые в результате выполнения МО и комментарии
5 Денормализация слагаемого y. При Px-Py>0 мантисса My сдвигается вправо на k разрядов M¢y:=ARS(My,k). Для реализации k сдвигов в СчТ заносится величина k = Px - Py, СчТ:= РСМp. После каждого сдвига мантиссы My вправо Р1м := ARS(Р1м,1), из СчТ вычитается единица СчТ := CчТ - 1 Результату сложения (вы­читания) присваивается по­рядок первого слагаемого Pz = Px. В связи с этим после занесения в СчТ величины k порядок Px в РСМp восстанавливается пу­тем выполнения операций: Px - Py + Py = Px, РСМp := РСМp + Р1p

Продолжение табл. 2

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки,вырабатываемые в результате выполнения МО и комментарии
6 Денормализация слагаемого x. При Px-Py<0 мантисса Mx сдвигается вправо на k разрядов M¢x:=ARS(Mx,k). Для реализации k сдвигов в СчТ заносится величина k = Px - Py , CчТ : =РСМp. После каждого сдвига мантиссы Mx вправо, РСМм := ARS(РСМм,1) в СчТ прибавляется единица, т.к. величина k отрицательная, СчТ := СчТ + 1 Результату сложения (вы­читания) присваивается по­рядок второго слагаемого Pz = Py. В связи с этим в РСМp заносится Py путем выполнения операций: РСМp := 0; РСМp := РСМp + Р1p
7 Сложение или вычитание мантисс слагаемых после денормализации одной из них Mz=M¢x+M¢y; РСМм:=РСМм+Р1м;
Признаки формируются в соответствии с п.4. M¢x и M¢y - мантиссы слагаемых после их денормализации

Продолжение табл. 2

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваивания Признаки,вырабатываемые в результате выполнения МО и комментарии
8 Нормализация мантиссы результата Mz вправо при V=1 и коррекция его порядка: Pz:=Pz+1; РСМм:=ARS(РСМ,1); РСМp:=РСМp+1 Возможны особые случаи: - при Pz>Pmax.доп. вырабатывается сигнал пере­полнения порядка OV=1; - при Pz<Pmin.доп. вырабатывается сигнал антипереполнения порядка Uп=1

9 Нормализация мантиссы результата Mz влево при HR=1 и коррекция его порядка: Pz:=Pz-i; РСМм := ALS(РСМм,i); РСМp := РСМp-1 Возможны особые случаи как в п.8. Вычитание константы i из порядка результата осуще­ствляется за i тактов: в каждом такте вычитается по единице; такты вычитания выполняются до тех пор, пока сигнал HR не станет равным нулю

Таблица 3

Умножение чисел с фиксированной точкой

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
1 Запись исходных чисел в регистры ОА: - числа в прямом коде (модули чисел) Р1:=|x|, Р2:=|y|; - числа в дополнительном коде Р1:=[x]2, Р2:=[y]2 Для чисел в прямом коде в знаковые разряды регистров устанавливаются нули
2 Проверка исходных чисел на нуль В результате проверки на нуль при x=0 или y=0 вырабатывается сигнал нулевого результата
3 Установка регистров РС и РСМ в нуль: РС:=0; РСМ:=0 Установка регистров РС и РСМ в нуль связана с тем, что в первом такте умножения осуществляется сложение множимого с нулем
4 Запись в счетчик тактов числа тактов умножения СчТ:=n

Продолжение табл. 3

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
5 Определение кода знака произведения и его запись в регистр произведения: - для чисел в прямом коде код знака частного определяется по формуле z0=x0 Å y0 и заносится в разряд знака регистра РСМ после выполнения тактов умножения РСМ(0):=z0 ; - для чисел в дополнительном коде код знака частичного и окончательного произведения формируется после очередного сдвига по формуле
Для чисел в дополни­тельном коде код знака частичного и окончательного произведений формируется автоматически после каждого арифметического сдвига вправо и корректируется при переполнении в сумматоре: при V=1 код знака РСМ(0) меняется на обратный

Продолжение табл. 3

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
6 Сложение в сумматоре для чисел в прямом и дополните­льном коде производится в каждом такте умножения, если очередная цифра множителя равна единице РСМ:=РСМ+Р1 при Р2(n)=1 Для чисел в дополни­тельном коде после каждого сложения определяется сигнал переполнения в сумматоре, по которому корректируется код знака в регистре РСМ после очередного сдвига (см.п.5)
7 Сдвиг вправо в регистрах РС, РСМ и Р2 производится: - в каждом такте умножения после сложения в сумматоре или при наличии очередной цифры множителя, равной нулю РСМ:=ARS (РСМ,1); Р2:=RS (Р2,1); - в конце тактов умножения для целых чисел в дополни­тельном коде, если в Р2 был записан множитель со знаком: (n+1)-й сдвиг Сдвиг вправо в регистрах РСМ и Р2 арифметический для чисел в дополнительном коде. После каждого сдвига значение кода знака в РСМ(0) корректируется (см. п.5). Дополнительный (n+1)-й сдвиг обеспечивает для целых чисел установку произведения в регистрах РСМ и Р2 так, чтобы в n-м разряде регистра Р2 был зафиксирован его младший разряд. Для простых дробей (n+1)-й сдвиг не производится

Продолжение табл. 3