- •Представление информации в эвм.
- •Системы счисления.
- •3.2. Представление чисел и команд в компьютере.
- •Представление информации в ячейках.
- •Двоичная дополнительная арифметика.
- •Кодирование информации
- •Синтез операционных автоматов с общими микрооперациями
- •Арифметика с плавающей запятой. Выполнение операций с плавающей запятой
- •Алгебраическое сложение чисел, представленных в форме с плавающей запятой
- •Методы умножения двоичных чисел
- •Умножение чисел, представленных в форме с фиксированной запятой
- •Умножение чисел, представленных в форме с плавающей запятой
- •Деление двоичных чисел Деление двоичных чисел, представленных в форме с с фиксированной запятой
- •Десятичная арифметика. Выполнение операций с десятичной арифметики
- •2.Общие теоретические положения при синтезе алу
- •Практическая работа № 2
- •Практическая работа № 2
- •С ускоренным переносом
- •Арифметические операции
Синтез операционных автоматов с общими микрооперациями
Для ОА с общими микрооперациями типична следующая форма преобразований:
Z:=g(f (h (X),Y)), (1)
где g- оператор сдвига; f- оператор, реализующий бинарные логические операции и сложение; h- оператор формирования обратных ( дополнительных) кодов; X, Y и Z- слова из множества слов В= {B1, B2,…, BN}, хранимых в памяти ОА, причем в качестве аргумента X или Y может использоваться константа. Преобразование (1) удобно задавать микрокомандами вида
nX, h, nY, f, g, nZ, (2)
где nX, nY, nZ- микрооперации, задающие слова X, Y,Z из множества слов В и константы X или Y; h, f и g. В данном классе ОА логические условия обычно представляются в виде (Z), где - булева функция, аргументами которой являются двоичные переменные словаZ. Структура ОА зависит в первую очередь от набора микроопераций и ЛУ, необходимого для эффективной реализации заданного списка операций. Указанный набор обычно определяется в процессе составления СФ- микропрограмм, микрокоманды которых представляются в виде (2). При этом набор микроопераций и ЛУ формируется по мере составления микропрограммы путем введения в него дополнительных микроопераций и ЛУ, необходимость в которых порождается либо стремлением эффективно запрограммировать очередное действие путем введения новой микрооперации или ЛУ, уменьшающих время выполнения алгоритма.
Набор микроопераций и ЛУ можно определять на основе Ф- микропрограмм, описывающих алгоритмы операций, выполнение которых возлагается на синтезируемый автомат. При этом микрооперации и микрокоманды Ф- микропрограммы должны быть преобразованы к виду, соответствующему (2), с учетом ограничений налагаемых структурой ОА на совместимость микроопераций.
Арифметика с плавающей запятой. Выполнение операций с плавающей запятой
Для научно технических расчетов необходимо представлять значения в широком диапазоне ( как целые так дробные ) и с достаточно большой точностью. Указанным требованиям отвечают числа с плавающей запятой :
1 2 m 1 2 p
+ - |
Мантисса |
+ - |
Порядок |
Рис.1.6.Формат представления данных с плавающей запятой
Число состоит из мантиссы (рис.1.6.), старший разряд которой определяет знак числа, и порядка со знаком. Значение мантиссы представляется двоичной дробью, т. е. запятая фиксируется перед старшим разрядом мантиссы, и порядок – целым числом ( обычно двоичным ). Порядок указывает действительное положение запятой в числе. Код ( 4 ) представляет значение в полулогарифмической форме : X = M * 2 p , где М и Р мантисса и двоичный порядок числа. Точность представления значения зависит от числа значащих цифр мантиссы.
Для повышения точности числа плавающей запятой представляются в нормализованной форме 0,5 < = М < 1 . Признаком нормализации числа является наличие единицы в старшем разряде мантиссе. В нормализованной форма могут быть записаны все числа из некоторого диапазона за исключением нуля. Нормализованные двоичные числа с плавающей запятой ( 4 ) представляют значения в диапазоне
0.5 * 2-Pmax < = l X l < = ( 1 -2m-1)2Pmax , (3)
где Pmax = 2p-1-1 – максимальное значение порядка с предельной относительной погрешностью
бX = (2-(m-1)2P) / ( 0.5 * 2P) = 2-m ( 4)
Отсюда видно, что диапазон значений зависит в основном от числа разрядов порядка, а точность – от числа разрядов мантиссы. Ненормализованные числа имеют погрешность, превышающую ( 4 ), но за счет потери значимости диапазон представляемых значений расширяется до нуля включительно.
С целью расширения диапазона представляемых значений при фиксированной длине ( m + p ) числа в качестве основания выбираются значение d = 2k (обычно k = 3 или 4 ). При этом порядок становится d – ичным и число представляет значение X = MdP . Нормализованная мантисса d – ичного числа с плавающей запятой имеет значение, лежащее в диапазоне 1/d < = M < 1. Признаком нормализации такого числа является наличие хотя бы одной единицы в k старших разрядах мантиссы. Переход от двоичного основания к основанию 2k увеличивает предельную относительную погрешность в 2k раз ( в 8 – 16 раз ), но диапазон представляемых значений расширяется в каждую сторону в ( ( 2k)2m-1-1)/(22(m-1)-1)=2(k-1) (2(m-1)-1) раз по сравнению с (4.1). Так, при m=7 и k=4 диапазон значений расширяется примерно в 1063 раз.
В ЦВМ третьего поколения числа с плавающей запятой имеют основание 16 и представляются в двух форматах: коротком и длинном (рис 3,б). часть числа, содержащая модуль и знак порядка, называется характеристикой. Указанные числа позволяют кодировать значения, лежащие в диапазоне 10-75<=lXl<=1075 с предельной относительной погрешностью, соответственно равной 1,5*10-6 и 10-16.
Над числами с плавающей запятой выполняются четыре арифметические операции: сложение, вычитание, умножение и деление. В некоторых ЦВМ этот список расширяется за счет введения операции вычитания модулей.