- •Тверь 2004
- •Введение
- •Арифметика цвм Формы представления чисел в эвм
- •Представление чисел со знаком в эвм
- •Переполнение разрядной сетки
- •Модифицированные коды.
- •Умножение двоичных чисел в форме с плавающей запятой
- •Умножение чисел с фиксированной запятой на дсдк, схема 1
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 1
- •Умножение двоичных чисел с фиксированной запятой на дсдк, схема 2
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 2
- •Умножение двоичных чисел с фиксированной запятой на дсдк, схема 3
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 3
- •Умножение двоичных чисел с фиксированной запятой на дсдк, схема 4
- •Умножение двоичных чисел с фиксированной запятой на дсок, схема 4
- •Деление двоичных чисел с плавающей запятой.
- •Деление двоичных чисел с фиксированной запятой с восстановлением остатка
- •Деление двоичных чисел с фиксированной запятой без восстановления остатка.
- •Алгоритмы перевода чисел из системы счисления с основаниемpв систему счисления с основаниемq Перевод правильной дроби из кода д1 в двоичную систему счисления
- •Перевод правильной дроби из двоичной системы счисления в код д1
- •Перевод целого числа из кода д1 в двоичную систему счисления
- •Перевод целого двоичного числа в код д1
- •Основные сведения о конечных цифровых автоматах
- •Абстрактная теория цифровых автоматов
- •Совмещенная модель автомата (с-автомат)
- •Функционирование цифрового автомата во времени
- •Канонический метод структурного синтеза цифровых автоматов
- •Элементы памяти в цифровых автоматах
- •Проектирование автомата Мили Кодированная таблица переходов-выходов
- •Проектирование автомата Мура
- •Принцип микропрограммного управления в цифровых автоматах
- •Алгоритм отметки гса и построение автомата Мура
- •Тривиальная реализация цифрового автомата
- •Кодирование состояний. Гонки в автомате
- •Замена входных переменных и кодирование состояний
- •Кодирование микрокоманд
- •Матричная реализация комбинационных схем и автоматов
Переполнение разрядной сетки
При выполнении арифметических операций возможно получение результата, не помещающегося в разрядной сетке машины. Такие ситуации должны быть обработаны соответствующим образом. Прежде всего, необходимо сформулировать критерии переполнения разрядной сетки.
При сложении чисел с одинаковым знаком получается результат другого знака.
При сложении двух чисел имеется перенос из старшего числового разряда в знаковый разряд, но отсутствует перенос из знакового разряда.
При сложении двух чисел имеет место перенос из знакового разряда, но отсутствует перенос из старшего числового разряда в знаковый.
При наличии обоих переносов (из старшего числового разряда в знаковый и из знакового разряда) переполнение разрядной сетки отсутствует.
При наличии очень жестких ограничений на разрядность аппаратных средств эти критерии позволяют обнаруживать переполнение разрядной сетки. Однако, более удобный критерий переполнения имеет место при использовании модифицированных кодов.
Модифицированные коды.
В модифицированных кодах вслед за знаковым разрядом вводится разряд переполнения, имеющий формат цифр используемой системы счисления. Т.е. в двоичной системе счисления разряд переполнения занимает один бит. В десятичной и шестнадцатеричной – четыре бита. В восьмеричной – три бита. При выполнении алгебраического сложения первый знаковый разряд, он обозначается Sg1, всегда сохраняет правильное значение знака результата. Разряд переполнения служит для контроля переполнения разрядной сетки.
В двоичной системе счисления запись числа в модифицированном коде имеет вид:
Sg1Sg2.c1,c2,…,cn, гдеc1,c2,…,cn– числовые разряды,Sg1Sg2 – два знаковых разряда, каждый из которых занимает один бит, точка между знаковой и числовой частью служит исключительно для удобства чтения чисел, так как в разрядной сетке регистра отсутствует какой-либо разделитель этих двух частей в записи числа. Положение запятой при такой записи обозначается только в пояснениях, которые содержатся в сопровождающей документации.
Критерий переполнения разрядной сетки формулируется следующим образом:
=0 Sg1=Sg2.
Если Sg1Sg2, иSg1=0, говорят о положительном переполнении разрядной сетки.
Если Sg1Sg2, иSg1=1, говорят об отрицательном переполнении разрядной сетки.
В случае чисел с фиксированной запятой положительное переполнение разрядной сетки является фатальным и сопровождается выработкой требования прерывания. Отрицательное переполнение разрядной сетки не требует прерывания. В этом случае результату присваивается значение 0.
При представлении чисел в форме с плавающей запятой данные представляются в нормализованном виде. Нарушение нормализации означает, что мантисса результата вычислений не удовлетворяет заданному диапазону значений. Как было отмечено выше, допустимые значения нормализованной мантиссы находятся в диапазоне p-1|m| < 1. Поэтому переполнение разрядной сетки мантиссы называетсянарушением нормализации справа, критерием нарушения нормализации справа является=1 (=1Sg1Sg2).
Переполнение разрядной сетки требует выполнения определенных действий: если Sg1Sg2, необходимо выполнить арифметический сдвиг мантиссы на один разряд вправо и прибавить единицу к значению порядка. Поскольку при сложении двух чисел может произойти переполнение разрядной сетки не более, чем на один разряд, процедура нормализации при этом занимает один такт автоматного времени.
Если нарушена левая часть приведенного неравенства, говорят о нарушении нормализации слева. Критерием нарушения нормализации слева является величина.
=1 Sg2=c1. Т.е. в случае равенства значений знакового разряда и старшего числового разряда при отсутствии переполнения разрядной сетки. Очевидно,=1 означает, что значение мантиссы меньше, чем р-1. Для нормализации числа требуется выполнить сдвиг мантиссы на один разряд влево и вычесть 1 из значения порядка.
Положительное переполнение разрядной сетки порядка сопровождается выработкой требования прерывания. При отрицательном переполнении разрядной сетки вырабатывается машинный нуль, т.е. порядок и мантисса обнуляются.