- •Содержание
- •Введение
- •1. История развития процессоров
- •1.1. Процессоры фирмы Intel
- •1.2. Процессоры фирмы amd
- •2. Алгоритм работы процессора
- •2.1. Устройство процессора
- •2.2. Алгоритм работы процессора
- •2.2.1. Арифметико-логическое Устройство
- •Целочисленное алу
- •Алу для чисел с плавающей точкой
- •2.2.2. Прерывания процессора
- •Заключение
- •Список используемой литературы
Целочисленное алу
Целочисленное арифметико-логическое устройство является, наверное, первым универсальным АЛУ. Это АЛУ могло работать с целыми числами и вещественными числами с фиксированной.
Не смотря на большое число команд микропроцессора, это устройство фактически все команды сводит к девяти элементарным операциям. Все оно приведены в таблице.
Элементарные операции целочисленного АЛУ. |
|||
Операция |
Обозначение |
Количество операндов |
Подсистема выполнения |
Сложение |
+ |
2 |
Сумматор |
Вычитание |
- |
3 |
Cумматор и регистр |
Логическое умножение, И |
^, &, and |
2 |
Логические схемы |
Логическое сложение, ИЛИ |
V, |, or |
2 |
Логические схемы |
Сдвиг влево |
<< |
2 |
Регистр |
Сдвиг вправо |
>> |
2 |
Регистр |
Инверсия (НЕ) |
!,not |
1 |
Логические схемы |
Увеличение на 1, инкремент |
++,inc |
1 |
Сумматор |
Уменьшение на 1, декремент |
--,dec |
1 |
Сумматор |
Именно эти операции выполняются за один такт микропроцессора, и имеют наибольшую скорость выполнения. Фактически все другие операции осуществляются с помощью этих девяти базовых. Так, умножение восьмиразрядных целых чисел A и B выполняются по следующему алгоритму:
Обнуляется результат.
Если последний разряд числа B - единица, ток результату прибавляется число A.
Число A сдвигается на разряд влево, а число B -- на разряд вправо.
Повторяются шаги со второго по третий семь раз.
Заметим, что сдвиг влево на 1 разряд соответствует умножению на два, а сдвиг вправо на один разряд - целочисленному делению на два.
Команда изменения знака числа будет следующей:
Вначале происходит инверсия числа.
После этого производится инкремент результата (т.е. к нему прибавляется единица.)
Таким образом число переводится в дополнительный код. Команда определения знака числа основывается просто на проверке самого старшего бита.
Алу для чисел с плавающей точкой
При проведении операций с плавающей точкой логика расчетов усложняется. Дело в том, что операции приходится выполнять на числах, имеющих не только разные мантиссы, но и разные порядки. Поэтому перед проведением операций над вещественными числами нужна нормализация, то есть приведение двух вещественных чисел к одному порядку.(обычно большему по величине из двух чисел). Для этих целей в арифметико-логическом устройстве с плавающей точкой отдельно производится действия с порядком, отдельно -- с мантиссой. Нормализация происходит следующим образом:
Находится разность порядков большего и меньшего числа.
Мантисса меньшего числа сдвигается вправо на число бит, равное разности, полученное на шаге 1.
После этого производятся обычные целочисленные операции с мантиссой. Далее, после получения результата вычислений иногда производится коррекция мантиссы числа с плавающей точкой. Алгоритм коррекции следующий:
Убираются все незначащие нули в левой части мантисса. Для этого осуществляется сдвиг влево мантиссы на n разрядов (n -- число незначащих нулей слева.)
После этого число n вычитается из порядка.
Как правило, операцию коррекции вызывают принудительно, а не запускают автоматически.
При работе этого устройства необходимо, чтобы ему правильно передавался и порядок, и мантиссу числа. Именно поэтому в большинстве устройств для проведения операций с плавающей точкой все операнды и результаты, а также промежуточные числа хранились в единообразной форме. Обычно ею является формат вещественных чисел с расширенной точностью, длиной 80 бит (10 байт). Преобразованием чисел в этот формат и из этого формата в формат других вещественных и целых чисел осуществляется устройством управления сопроцессора.
