Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Алгоритм сложения и вычитания чисел с плавающей запятой





Сложение и вычитание чисел с плавающей запятой производится по формуле:

Z = ,

где pX, pY и pZ – порядки чисел X, Y и Z соответственно;

mX, mY и mZ – мантиссы чисел X, Y и Z.

При выполнении операций сложения / вычитания необходимы следующие действия:

1. Произвести выравнивание порядков чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числасдвигается вправо на число S -ричных разрядов, равное разности порядков чисел.

2. Произвести сложение (вычитание) мантисс, в результате чего получается мантисса суммы (разности).

3. Порядок результата принимается равным порядку большего числа.

4. Полученная сумма (разность) нормализуется.

Алгоритм операции сложения / вычитания в многофункциональном АЛУ (рис. 4.2) подразделяется на следующие этапы:

- прием операндов X и Y;

- выравнивание порядков операндов pX и pY;

- сложение мантисс mX и mY;

- нормализация результата Z.

Преобразование информации в функциональных узлах АЛУ производится отдельными микрооперациями, инициируемыми управляющими сигналами. Этапы выполнения на блок-схеме разделены пунктирной линией. Микрооперации в блоках, выполняемые в разных тактах, разделяются горизонтальной чертой.

Прием операндов

Данная процедура выполняется в блоках 1 – 5. Первое слагаемое (уменьшаемое) X в первом такте поступает на входной регистр Рг1, второе слагаемое (вычитаемое) Y во втором такте поступает на регистр Рг2. Знак первого слагаемого фиксируется в триггере знака ТгЗн1, а знак второго слагаемого в случае суммирования заносится без изменений в триггер знака ТгЗн2, а в случае вычитания триггеру ТгЗн2 присваивается инверсное значение знака второго слагаемого. В счетчике циклов СчЦ фиксируется предельное число сдвигов, равное количеству разрядов мантиссы (m = 24). Смещенные порядки слагаемых, каждый из которых занимает семь битов, передаются из Рг1 и Рг2 в регистры РгС и РгD для последующего сравнения и выравнивания порядков, а нулевые разряды регистров РгС и РгD не используются и обнуляются.

Выравнивание порядков (блоки 6 – 18) выполняется в случае, если порядки операндов не равны, и начинается со сравнения порядков для поиска большего из них. За порядок результата при выполнении суммирования принимается больший из порядков операндов.

При сравнении порядков возможны пять случаев:

1. рX – рY > т (m - число разрядов мантиссы). Из условия видно, что значение первого слагаемого значительно превышает значение второго слагаемого. В качестве результата принимается первое слагаемое, так как при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение.

2. рY - рX > т. Второеслагаемого значительно больше первого. В качестве результата суммирования принимается второе слагаемое.

3. рX – рY = 0. Порядки чисел равны. Можно приступить к суммированию мантисс.

4. рX – рY = k1 (k1 < т). Порядок слагаемого X больше порядка слагаемого Y, но их разница не превышает количество разрядов мантиссы числа. Мантисса слагаемого Y сдвигается на k1 разрядов вправо, затем производится суммирование мантисс.

5. pY – рX = k2 (k2 < т). Порядок слагаемого Y больше порядка слагаемого X. Перед выполнением суммирования мантисс производится сдвиг на k2 разрядов вправо мантиссы слагаемого X.

Схема СОЛО производит суммирование содержимого регистров РгС и РгD или вырабатывает признаки (РгС > РгD, РгС < РгD, РгС = РгD).Значение меньшего порядка из соответствующего регистра передается в счетчик Сч1, где в дальнейшем данное значение будет увеличиваться на единицу при каждом сдвиге мантиссы числа вправо. Затем в предварительно обнуленный регистр (РгС или РгD) заносится значение большего порядка. Таким образом, в счетчике Сч1 находится значение меньшего порядка, которое после каждого сдвига мантиссы проверяется на равенство со значением большего порядка.

Если РгС > РгD, то схема СОЛО вырабатывает соответствующий признак и производятся следующие действия: осуществляется сдвиг мантиссы операнда, находящегося в регистре Рг2, на 1 разряд вправо, а значение счетчика Сч1 увеличивается на 1.

Для сдвига мантиссы второго операнда необходимо содержимое регистра Рг2 присвоить регистру РгВ, а регистр другого операнда (РгА) в данном случае остается обнуленным. После этого осуществляются суммирование содержимого входных регистров сумматора и передача результата в регистр сумматора РгСм со сдвигом вправо. Таким образом, произошел сдвиг мантиссы числа вправо.

 

 

 

 


Рис. 4.2. Алгоритм сложения и вычитания

Date: 2016-02-19; view: 1016; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию