Блок выравнивания порядков

Страница: 1/2

Введение.

Процесс, который привел к появлению современных компьютеров, был чрезвычайно быстрым. Одним из самых важных достижений, приведших к революции в персональных компьютерах, было изобретение полупроводника или транзистора в 1948 году.

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

В ранних моделях компьютеров использовались только числа в форме с фиксированной запятой. В дальнейшем возникла необходимость использования чисел с плавающей запятой, для этого сначала применялись сопроцессоры. В настоящее время благодаря появлению новой технологии MMX позволяющей процессору обрабатывать числа и с фиксированной и с плавающей запятыми, резко возросла скорость работы компьютера со средствами мультимедиа: графикой звуком и т.д.

Алгоритм.

При сложении мантисс необходимо чтобы веса единиц одноимённых разрядов мантиссы чисел были одинаковыми. Для этого мантиссы сдвигаются относительно друг друга, так чтобы их порядки стали равными. Чтобы при выравнивании порядков не получить мантиссы больше 1, их сдвигают в сторону большего порядка.

В блок по двум шинам данных вводятся мантиссы и порядки чисел 1 и 2.

МА- Мантисса первого числа.

МВ- Мантисса второго числа.

РА- Порядок первого числа.

РВ- Порядок второго числа.

Затем из порядка первого числа вычитается порядок второго числа: получаем H-Разность порядков. Далее в зависимости от знака полученного результата:

1. при H>0 увеличиваем PA до PB, P=PA+H.

2. при H<0 увеличиваем PA до PB, P=PA+H.

3. при H=0 коррекция не нужна.

Рс- Порядок результата.

Затем производится проверка на возможность переполнения, которое возможно, если смещение превысит 10 позиций, т.е. разрядность мантиссы. Для этого |H| сравнивается с 10, если |H|>10, то выдаётся сигнал переполнения. Если |H|<10 , то переполнения нет.

Далее необходимо выполнить сдвиг мантиссы соответствующей меньшему порядку, влево на количество знаков равное H, т.е. Разность порядков.

Таким образом, мы имеем выровненный порядок и две мантиссы одна из которых, сдвинута в соответствии с изменившемся порядком. Эти три величины подаются на выход.

Блок-схема алгоритма.

Flowchart: Data: Ввод мантисс и порядков MA, MB, PA, PB.

Flowchart: Alternate Process: МA на H

Блок-схема алгоритма.

Описание блок-схемы алгоритма.

1.С 16 разрядной двунаправленной шины данных одновременно принимаются порядок и мантисса числа “А”.

2.Порядок и мантисса числа “А” преводятся в дополнительный код.

3.с шины данных одновременно принимаются порядок и мантисса числа “B”.

4.Порядок и мантисса числа “B” преводятся в дополнительный код.

5.Из порядка числа “А” вычитается порядок числа “В”.

6.Разность порядков сравнивается с 10.

7.Если разность ³10, то в зависимости от знака, выровненный порядок равен порядку числа “В” при отрицательной разности

и порядку числа числа “А” при положительной разности.

8.соответственно мантисса числа “А” и мантисса числа “В” =0.

9.Если разность порядков <10, то она сравнивается с 0 и если она =0, то порядки чисел равны и сдвиг не требуется.

10.Если разность ¹0, то она заносится в вычитающий счётчик.

11.В зависимости от знака сдвигается мантисса числа “А” при отрицательной разности и мантисса числа”В”.

12.Уменьшенная на счётчике разность сравнивается с 0 и если

она =0,цикл завершается, и в зависимости от знака порядок Рс=Ра

при М>0 и Рс=Рв при М<0. Если М¹0 цикл повторяется.

Реферат опубликован: 24/10/2006