Мегаобучалка Главная | О нас | Обратная связь


Деление чисел с фиксированной точкой



2019-12-29 271 Обсуждений (0)
Деление чисел с фиксированной точкой 0.00 из 5.00 0 оценок




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

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

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

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

п/п

Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания

Признаки, вырабатываемые в результате выполнения МО и комментарии
5

Определение кода знака частного и его запись в регистр частного:

- для чисел в прямом коде код знака частного определяется по формуле z0=x0Åy0. Р2(n):=z0;

- для чисел в допол­нительном коде код знака частного определяется по результату пробного вычита­ния (сложения) таким образом:

для y0=1 ;

для y0=0 z0=C0;

- код знака частного зано­сится в младший разряд регистра Р2 перед выпол­нением тактов деления

Для чисел в прямом коде код знака частного формируется комбинацион­ной схемой, реализующей сложение по модулю 2 кодов знаков делимого и делителя.

Для чисел в дополни­тельном коде код знака частного формируется авто­матически в результате ана­лиза на переполнение

6

Сдвиг влево в регистрах РСМ и Р2 выполняется:

- после пробного вычитания (сложения) в сумматоре;

- после вычитания или сложения в сумматоре в каждом такте деления

РСМ:=ALS(РСМ,1);

Р2:=ALS(Р2,1)

 

         

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

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
7 Сложение или вычитание в сумматоре после анализа на переполнение для чисел в прямом коде: - при С=0 выполняется сложение РСМ:=РСМ+Р1; - при С=1 выполняется вычитание После каждого сложения или вычитания вырабаты­вается сигнал С, по которому определяется значение оче­редной цифры частного: zi=Ci
8 Сложение или вычитание в сумматоре после анализа на переполнение для чисел в дополнительном коде: - при РСМ(0)=y0 вы­полняется вычитание ; - при РСМ(0) y0 вы­полняется сложение РСМ:=РСМ+Р1 После каждого сложения или вычитания вырабатывается сигнал С, по которому определяется в зависимости от знака делителя очередная цифра частного: zi=Ci при y0 =0; при y0=1
9 Вычитание из счетчика тактов единицы СчТ:=СчТ-1 Вычитание единицы из счетчика тактов выполняется после каждого такта деления. При СчТ=0 вырабатывается сигнал окончания тактов деления

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

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
10 Коррекция частного при делении чисел в допол­нительном коде производится после окончания тактов деления путем прибавления единицы к содержимому реги­стра частного в следующих случаях: - при делении ненацело для z0=1; - при делении нацело для y0 = 1 P2 := P2 + 1 Коррекция частного при делении чисел в прямом коде не требуется

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

п/п

Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания

Признаки, вырабатываемые в результате выполнения МО и комментарии
11

Восстановление последнего остатка делимого для чисел в дополнительном коде произво­дится, если знаки остатка и делимого не совпадают. Для этой цели:

- при РСМ(0) y0 вы­полняется сложение в сум­маторе

РСМ:=РСМ+Р1;

- при РСМ(0)=y0 вы­полняется вычитание в сум­маторе

.

Для чисел в прямом коде восстановление последнего остатка производится, если он отрицательный, выполнением операции сложения в сумматоре

РСМ:=РСМ+Р1

Признаком отрицательного остатка делимого для прямого кода является появление нуля в регистре C

         

Таблица 6

Деление чисел c плавающей точкой

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
1 Запись исходных чисел в регистры мантисс и порядков ОА: - числа в прямом коде (модули чисел) РСМм(0/n):=|Mx(0/n)|, Р2м(0/n-1):=|Mx(n+1/2n)|, Р1м:=[My], РСМp:=[Px]2, Р1p:=[Py]2; - числа в дополнительном коде РСМм(0/n):=[Mx(0/n)]2, Р2м(0/n-1):=[Mx(n+1/2n)]2, Р1м:=[My]2, РСМn:=[Px]2 ,Р1n:=[Py]2 Мантиссы делимого распо­лагаются так, чтобы старший разряд мантиссы распо­лагался в старшем разряде РСМ после кода знака делимого. Для чисел в прямом коде в знаковые разряды регистров устанавливаются нули
2 Проверка исходных чисел на нуль Осуществляется так же как и для чисел с фиксированной точкой
3 Пробное вычитание (сложе­ние) для анализа на пере­полнение выполняется так же как и для деления двоичных чисел с фиксированной точкой При наличии переполнения для чисел с плавающей точкой осуществляется вос­становление мантиссы дели­мого с последующей ее денормализацией

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

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
4 Восстановление мантиссы делимого после пробного вычитания (сложения) при РСМ(0)1=x0. Для этой цели в сумматоре выполняется: - сложение, если при анализе на переполнение выполнялось вычитание РСМм:=РСМ(0)1+P1м; - вычитание, если при анализе на переполнение выполнялось сложение При отсутствии перепол­нения формируется код знака частного для чисел в допол­нительном коде и осуще­ствляется сдвиг в РСМ и Р2 после чего начинаются такты деления чисел обоих кодов
5 Денормализация мантиссы делимого после анализа на переполнение производится при РСМ(0)1=x0 сдвигом мантиссы Mx вправо на 1 разряд и увеличением порядка Px на единицу P¢x=Px+1; M¢x:=ARS(Mx,1); РСМp:=РСМp+1 Знак мантиссы делимого после сдвига сохраняется, так как сдвиг арифметический

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

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
6 Деление мантисс после анализа на переполнение осуществляется по алгоритму деления чисел с фиксиро­ванной точкой (для p=0); при этом необходимо иметь в виду, что при наличии перепол­нения деление мантисс может производиться только после восстановления мантиссы делимого и ее денормализации Mz:=M¢x/My Если переполнение имело место, то код знака частного для мантисс в дополни­тельном коде может сфор­мироваться только в резуль­тате первого такта деления, выполняемого после денор­мализации делимого. В результате деления нор-мализованных мантисс и в случае деления денормали-зованных мантисс результат деления представляется в нормализованном виде

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

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
7 Определение кода знака частного и его запись в регистр частного. Если переполнения не было, то определение кода знака частного и его запись в регистр Р2 производится так же как и для чисел с фиксированной точкой. Если переполнение было, то код знака частного для мантисс в дополнительном коде определяется только в результате первого такта деления мантисс после денормализации делимого. Запись кода знака частного в младший разряд регистра Р2 при наличии переполнения осуществляется только после первого такта деления Р2(n):=z0 Для чисел в прямом коде наличие сигнала перепол­нения не влияет на опреде­ление кода знака частного, так как он определяется по формуле z0=x0 Å y0
8 Восстановление последнего остатка делимого и коррекция частного Производится так же как и при делении чисел с фиксированной точкой

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

№ п/п Наименование МО, условия ее выполнения и представле­ние в операторах присваи­вания Признаки, вырабатываемые в результате выполнения МО и комментарии
9 Определение порядка ре­зультата с учетом возможной денормализации делимого Pz=P¢x-Py Возможны особые случаи: - при Pz > Pmax.доп. вырабатывается сигнал пере­полнения порядка ОV=1; - при Pz < Pmin.доп. вырабатывается сигнал анти­переполнения Uп=1

 

На рис. 4 для примера представлен фрагмент ГСА операции сложения двоичных чисел с плавающей точкой - сложение мантисс после выравнивания порядков слагаемых и нормализация результата сложения. Для этого фрагмента ГСА в целях его завершенности предполагается, что начальному оператору соответствует размещение результатов выполненных микроопераций выравнивания порядков слагаемых в регистрах РСМм и Р1м, а конечному оператору - микрооперации записи результатов сложения в ОЗУ. Во фрагменте ГСА использованы два возможных способа записи логических условий: в первом случае значение сигнала переполнения разрядной сетки мантисс V, равное единице, свидетельствует о нарушении нормализации результата сложения мантисс влево; во втором случае условие нарушения нормализации результата сложения мантисс вправо записано в виде отношения HR = 0, при его ложности производится нормализация мантиссы результата влево.

Рис. 4 Фрагмент ГСА операции сложения чисел с плавающей точкой




2019-12-29 271 Обсуждений (0)
Деление чисел с фиксированной точкой 0.00 из 5.00 0 оценок









Обсуждение в статье: Деление чисел с фиксированной точкой

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (271)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)