Сведения о микрооперациях и принципах их выполнения (в операционном автомате) при реализации отдельных арифметических операций, представлены в виде таблиц (1-6).
Таблица 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 не станет равным нулю
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...