Курсовая работа по предмету "Математика"


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

Сложения и вычитания чисел с плавающей запятой
1. Производится выравнивание порядков чисел. Порядок меньшею (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число S-ичных разрядов, равное разности порядков чисел. 2. Производится сложение (вычитание) мантисс, в результате чего получается мантисса суммы (разности). 3. Порядок результата принимается равным порядку большего числа. 4. Полученная сумма (разность) нормализуется.
Примем, что числа с плавающей запятой имеют основание порядка S = 16. Первое слагаемое (уменьшаемое) поступает на входной регистр Рг1, второе слагаемое (вычитаемое)— на входной регистр Рг3. Знаки слагаемых хранится в триггерах знаков Тг3н1 и Тг3н2. Смещенные порядки слагаемых пересылаются в регистры РгС и РгD. Схема СОЛО применяется для сравнения и выравнивания порядков слагаемых. Сумматор См, его входные регистры РгА и РгВ и выходной регистр РгСм используются при сложении (вычитании) мантисс, а также при передаче мантисс в процедурах выравнивания порядков и нормализации результата. Операция сложения (вычитания) может быть подразделена на следующие этапы: 1) прием операндов, 2) выравнивание порядков, 3) сложение мантисс и 4) нормализация результата. Прием операндов описывается следующей микропрограммой: РгЗ: = ШИВх, РгВ: = 0, Тг3н1: = Рг3[0]
;
Рг1: = ШИВых, РгА: = 0, Тг3н2: = если сложение то Рг1[0] иначе ;
Выравнивание порядков начинается с их сравнения. Мантисса числа с меньшим порядком при выравнивании сдвигается вправо на число разрядов, равное разности порядков. Поскольку рассматриваемые числа с плавающей запятой имеют S = 16, сдвиг осуществляется шестнадцатеричными разрядами, т. е. каждый сдвиг производится на четыре двоичных разряда. При сравнении порядков возможны пять случаев:
1) (m— число разрядов мантиссы). В качестве результата суммирования сразу же может быть взято первое слагаемое, так как при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение;
2) . В качестве результата суммирования может быть взято второе слагаемое; 3) . Можно приступить к суммированию мантисс;
4) Мантисса второго слагаемого сдвигается на разрядов вправо, затем производится суммирование мантисс; 5) Перед выполнением суммирования мантисс производится cдвиг на разрядов вправо мантиссы первого слагаемого. За порядок результата при выполнении суммирования принимается больший из порядков операндов.
Выравнивание порядков осуществляется следующим образом. Смещенный порядок числа Х из РгЗ передается в регистр РгD, РгСОЛО и в счетчик, соединенный с выходом РгСОЛО. Затем в РгС передается смещенный порядок числа Y: РгС: = О, PD [0]: = 0, PгD [1 ё 7] : = Рг3 [1 ё 7]; РгСОЛО: = РгС Е PгD; Сч1: = РгСОЛО; РгС [О]: = 0, РгС [1 ё 7] = Pг [1 ё 7];
После этого начинается сравнение порядков чисел Х и Y на СОЛО и сдвиг мантиссы числа с меньшим порядком вправо,
Для того чтобы учесть случаи 1 и 2, возникающие при сравнении порядков, и не делать лишних сдвигов мантиссы, превратившейся в процессе выравнивания порядков в 0, на счетчике циклов СчЦ фиксируется предельное число сдвигов, равное количеству шестнадцатеричных цифр мантиссы: СчЦ: = 6;
При выполнении сдвига на один шестнадцатеричный разряд содержимое СчЦ уменьшается на 1. При СчЦ = 0 сдвиги прекращаются и в качестве результата берется большее слагаемое. Микропрограмма выравнивания порядков: МК:
если РгС > РгD то МК1 иначе если РгС = РгD то МКЗ иначе МК2; MK1: PгB [8 ё 31]: = PгЗ [8 ё 31]; РгСм: = П(4) См, РгСм [0 ё 3]: = 0, Сч1 : = Сч1+1
; Рг3[8 ё 31]: =РгСм[8 ё 31]; РгD: =Сч1, СчЦ: = СчЦ - 1

; если СчЦ № 0 то МК; РгВ: = 0, РгА: = Рг1, РгСм : = См; ШИВых: = РгСм; конец

; МК2: РгА[8 ё 31] : =Рг1 [8 ё31]; РгСм: = П (4) См, РгСм [0 ё 3] : = 0, Сч1 : = Сч1-1

; Рг1 [1 ё 31]: = РгСм [8 ё 31], РгD: = Сч1, СчЦ: = СчЦ - 1,

если СчЦ № 0, то МК4 иначе РгА: =0, РгВ: =Рг3, РгСм: =См, ШИВых: = РгСм, конец
; МК4: если РгС > PгD то МК2; PгD[0]: = 0, РгD[1 ё 7]: = Рг3[1 ё 7], РгС = 0; РгСОЛО : = РгС Е PгD; Сч1: = РгСОЛО

; МКЗ: РгСм: = 0, Pгl [0 ё 7] : = РгСм, РгЗ [0 ё 7] : = РгСм ;

После выравнивания порядков модули мантисс хранятся в Pгl и РгЗ в разрядах с 8-го по 31-й, их знаки в Тг3н2 и Тг3н1, а порядок результата в Сч1.
Сложение мантисс. Анализируются знаки мантисс и при равенстве знаков модули мантисс складываются. Если оказывается, что См [7] = 1, то возникло переполнение при сложении мантисс. В случае переполнения мантисса суммы сдвигается на четыре двоичных разряда (один шестнадцатеричный разряд) вправо, а порядок увеличивается на 1 (Сч1: = Сч1 + 1). Если после этого Сч1 [0] = 1, то формируется признак прерывания из-за переполнения порядка. Если переполнения нет, то в РгСм формируется результат операции, для чего содержимое Сч1 [1 ё 7] заносится в РгСм [1 ё 7], в РгСм [0] передается знак, а в РгСм [8 ё 31]— мантисса суммы. При различных знаках мантисс отрицательная мантисса передается на входной регистр сумматора в обратном коде и производится суммирование ее с прямым кодом положительной мантиссы и 1, прибавляемой к младшему разряду сумматора. Знак результата фиксируется в триггере знака. От полученного результата, если он отрицателен, берется его модуль. Если результат нормализован (См [8ё 11] №0), то на РгСм заносятся знак результата (по значению триггера знака), порядок по значению Сч1 и модуль мантиссы.
Если результат не нормализован и нет исчезновения значимости (мантисса не равна 0), производится нормализация. Мантисса результата сдвигается влево и одновременно уменьшается порядок результата (Сч1: = Сч1 - 1). При отрицательном переполнении порядка (Сч1 [0] = 1) формируется признак исчезновения порядка. Если нормализация завершается без исчезновения порядка, формируется результат операции из кода знака, порядка и мантиссы. Микропрограмма процедуры сложения мантисс: если ТгЗн № Тг3н2 то МЗ; РгА: = Рг1, РгВ: = РгЗ; РгСм: = См; если См[7] = 1 то М2; М1: РгСм [ 1 ё 7]: = Сч1 [1 ё 7]; РгСм [0] : == если Тг3н1=0 то 0 иначе 1; М: ШИВых: = РгСм; конец; М2: Сч1: =Сч1+1, РгСм : = П(4)См, РгСм[0 ё 3]: =0;
если Сч1[0]=0 то М1 иначе прерывание из-за переполнения порядка; МЗ: если Тг3н1=0 то РгА : =, РгВ: = РгЗ иначе РгА : = Рг1, РгВ: = ; РгСм : =РгА+РгВ +1; если См[0]=0 то M4; Рг3: = РгСм; РгА : =0, РгВ: =; РгСм: = РгА +РгВ +1; М4: ТгЗн1 : = РгЗ [0]; М5: если См [8 ё 11] № 0 то M1; если См № 0 то М6; РгСм: = 0, прерывание из-за потери значимости; M6: Сч1: =Сч-1, РгСм : = Л(4)См, РгСм[28ё31]: = 0; РгЗ: = РгСм; РгВ : = РгЗ, РгА: = 0; РгСм: = См; если Сч1[0]=0 то М5; РгСм: = 0, прерывание из-за исчезновения порядка;
Сложение и вычитание выполняются приближенно, так как при выравнивании порядков происходит потеря младших разрядов одного из слагаемых. В этом случае погрешность всегда отрицательна и может доходить до единицы младшего разряда. Чтобы уменьшить погрешность, применяют округление результата. Для этого может быть использован дополнительный разряд сумматора, в который после выполнения суммирован ия добавляется 1. Анализ программы на примерах Y1 = 0 1001101 110100101110011011100011 = 0 4D D2E6E3 X1 = 1 1001011 110001100101110110100111 = 1 4B C65DA7 Выравнивание порядков: МК: РгС>РгD (01001101>01001011) переход на МК1
MК1: сдвигаем мантиссу Х1 вправо на 4 разр. получаем 000011000110010111011010 и увел. порядок Х1 на 1 получаем 01001100 переход на МК МК: РгС>РгD (01001101>01001100) переход на МК1
МК1: сдвигаем мантиссу Х1 вправо на 4 разр. получаем 000000001100011001011101 и увел. порядок Х1 на 1 получаем 1001101 переход на МК МК: РгС=РгD (01001101=01001101) Порядки выравненны. Сложение мантисс: ТгЗн1 № ТгЗн2 переход на М3
М3: ТгЗн1 № 0 Ю РгВ = (00110010 111111110011100110100010); РгСм=РгА + РгВ + 1 = 01011011 110100100010000010000110; См[0] = 0 Ю переход на М1 М1: РгСм [ 1 ё 7]: = Сч1 [1 ё 7] = 1001101; РгСм [0] : == если Тг3н1=0 то 0;
ШИВых: = РгСм = 0 1001101 110100100010000010000110 = 0 4D D22086 ; КОНЕЦ. Y2 = 0 1001100 110100101110011011100011 = 0 4С D2E6E3 X2 = 0 1001101 110001100101110110100111 = 0 4D C65DA7 Выравнивание порядков: РгD > РгС Ю переход на МК2
МК2: сдвигаем мантиссу Y2 вправо на 4 разр. получаем 000011010010111001101110; уменьшаем порядок Х2 на 1 получаем 1001100; РгD = РгС Порядки выравненны. Сложение мантисс:
ТгЗн1 = ТгЗн2 Ю См = РгА + ргВ = 00000000 110100111000110000010101; переход на М1 М1: РгСм [ 1 ё 7]: = Сч1 [1 ё 7] = 1001110; РгСм [0] : == если Тг3н1=0 то 0;
ШИВых: = РгСм = 0 1001101 110100111000110000010101 = 0 4D D38C15; КОНЕЦ. 8-ми разрядный счётчик на триггерах типа D серии К155 (К155ТМ5 – 4 D-триггера)


Не сдавайте скачаную работу преподавателю!
Данную курсовую работу Вы можете использовать для написания своего курсового проекта.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем курсовую работу самостоятельно:
! Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ.
! Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу.
! Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться.
! План курсовой работы Нумерованным списком описывается порядок и структура будующей работы.
! Введение курсовой работы Что пишется в введении, какой объем вводной части?
! Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать.
! Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа.
! Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема.
! Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом.
! Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ.

Читайте также:
Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия.
Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта.
Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты.
Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести.
Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя.
Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика.

Сейчас смотрят :

Курсовая работа Основные этапы разработки и реализации управленческого решения
Курсовая работа Анализ финансового состояния
Курсовая работа Ориентировка во времени детей дошкольного возраста
Курсовая работа Миграция рабочей силы
Курсовая работа Основные направления работы классного руководителя
Курсовая работа Обучение как фактор развития личности
Курсовая работа Православное учение о Промысле Божием
Курсовая работа Учет производственных запасов
Курсовая работа Совершенствование туристско-экскурсионной деятельности в Туапсинском районе (на примере экскурсионной фирмы "Элита")
Курсовая работа Организация труда персонала
Курсовая работа Исследование конкурентной среды фирмы на примере ООО "Темп-Авто"
Курсовая работа Эффективность использования трудовых ресурсов в организации
Курсовая работа Анализ финансового состояния страховой компании
Курсовая работа Методы и формы работы социального педагога в общеобразовательном учреждении
Курсовая работа Системный подход в управлении