Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритм работы процессора.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
224 Кб
Скачать
☆

Целочисленное алу

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

Не смотря на большое число команд микропроцессора, это устройство фактически все команды сводит к девяти элементарным операциям. Все оно приведены в таблице.

Элементарные операции целочисленного АЛУ.

Операция

Обозначение

Количество операндов

Подсистема выполнения

Сложение

+

2

Сумматор

Вычитание

-

3

Cумматор и регистр

Логическое умножение, И

^, &, and

2

Логические схемы

Логическое сложение, ИЛИ

V, |, or

2

Логические схемы

Сдвиг влево

<<

2

Регистр

Сдвиг вправо

>>

2

Регистр

Инверсия (НЕ)

!,not

1

Логические схемы

Увеличение на 1, инкремент

++,inc

1

Сумматор

Уменьшение на 1, декремент

--,dec

1

Сумматор

Именно эти операции выполняются за один такт микропроцессора, и имеют наибольшую скорость выполнения. Фактически все другие операции осуществляются с помощью этих девяти базовых. Так, умножение восьмиразрядных целых чисел A и B выполняются по следующему алгоритму:

  1. Обнуляется результат.

  2. Если последний разряд числа B - единица, ток результату прибавляется число A.

  3. Число A сдвигается на разряд влево, а число B -- на разряд вправо.

  4. Повторяются шаги со второго по третий семь раз.

Заметим, что сдвиг влево на 1 разряд соответствует умножению на два, а сдвиг вправо на один разряд - целочисленному делению на два.

Команда изменения знака числа будет следующей:

  1. Вначале происходит инверсия числа.

  2. После этого производится инкремент результата (т.е. к нему прибавляется единица.)

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

Алу для чисел с плавающей точкой

При проведении операций с плавающей точкой логика расчетов усложняется. Дело в том, что операции приходится выполнять на числах, имеющих не только разные мантиссы, но и разные порядки. Поэтому перед проведением операций над вещественными числами нужна нормализация, то есть приведение двух вещественных чисел к одному порядку.(обычно большему по величине из двух чисел). Для этих целей в арифметико-логическом устройстве с плавающей точкой отдельно производится действия с порядком, отдельно -- с мантиссой. Нормализация происходит следующим образом:

  1. Находится разность порядков большего и меньшего числа.

  2. Мантисса меньшего числа сдвигается вправо на число бит, равное разности, полученное на шаге 1.

После этого производятся обычные целочисленные операции с мантиссой. Далее, после получения результата вычислений иногда производится коррекция мантиссы числа с плавающей точкой. Алгоритм коррекции следующий:

  1. Убираются все незначащие нули в левой части мантисса. Для этого осуществляется сдвиг влево мантиссы на n разрядов (n -- число незначащих нулей слева.)

  2. После этого число n вычитается из порядка.

Как правило, операцию коррекции вызывают принудительно, а не запускают автоматически.

При работе этого устройства необходимо, чтобы ему правильно передавался и порядок, и мантиссу числа. Именно поэтому в большинстве устройств для проведения операций с плавающей точкой все операнды и результаты, а также промежуточные числа хранились в единообразной форме. Обычно ею является формат вещественных чисел с расширенной точностью, длиной 80 бит (10 байт). Преобразованием чисел в этот формат и из этого формата в формат других вещественных и целых чисел осуществляется устройством управления сопроцессора.