Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Представление чисел в форме с фиксированной точкой
В этом случае положение точки фиксируется в определённом месте разрядной сетки и не меняет своего положения. Обычно подразумевается, что точка находится перед старшим разрядом, или после младшего. В первом случае это дробные числа, во втором – целые (рисунок 2.1). По абсолютному значению числа представлены в диапазонах: в первом случае –.11111…1 ≤ X ≤ . 0000…00, что соответствует десятичным значениям 1-2- n ≤ X ≤ 0, во втором случае – 11111...11. ≥ Х ≥ 0000…00. что соответствует десятичным значениям 2n – 1 ≥ X ≥ 0, где n – количество разрядов. Если значение числа превышает верхнюю границу диапазона, то произошло переполнение разрядной сетки. 2 n 2 n -1 2 n - 2 23 22 21 20
(а) 2 -1 2-2 2 -3 2 - n – 2 2 - n -1 2 -n
(б) Рисунок. 2.1–Представление двоичного числа в форме с фиксированной точкой: а) целого числа; б) числа по модулю меньше 1. Достоинство формы представления с фиксированной точкой в том, что выполнение арифметических операций выполняется значительно проще, чем операции над числом с плавающей точкой, что значительно упрощает схемотехнику процессоров, однако требует предварительного выравнивания масштабов представления данных. Дробное число меньше единицы на 32-разрядной сетке с диапазоном представления чисел 0 ³ X ³ 1- 2-31 , выглядит следующим образом: 2-1 2-2 2-30 2-31
Значения целых чисел на такой же 32− разрядной сетке лежат в пределах 0 £ X £ 231-1, что соответствует диапазону от 0 до 2, 15 × 109. 230 229 21 20
Видно, что диапазон чисел, представленных в формате с фиксированной точкой достаточно узок и не может использоваться во многих инженерных и научных расчетах.
Представление числа в форме с плавающей точкой
В этом случае число Х записывается в разрядную сетку в виде двух групп цифр (рисунок 2.2). Одна группа характеризует порядок числа, другая – мантиссу: X = P n × M. где P – основание системы счисления; n – порядок числа, указывающий положение точки в числе; М – мантисса (дробное число). знак мантиссы знак порядка
порядок n мантисса M
Рисунок 2.2− Представление двоичного числа в форме с плавающей точкой Мантисса всегда меньше 1, и её знак соответствует знаку числа. Порядок Р - всегда целое число, а его значение определяет положение точки в числе. Если изменяется порядок числа, то изменяется и положение точки в числе, то есть точка как бы плавает в изображении числа. Знак порядка определяет целое число или дробное. Если для порядка отведено 7 разрядов (со знаком), то при использовании обычного дополнительного кода, порядок может быть любым числом в диапазоне от – 64 до + 63. Если же N = 16, то в этой разрядной сетке можно представлять числа от 16-64 до 1663, что в десятичной системе соответствует диапазону от 10-77 до 1076. Для выполнения операций над числами, представленными в форме с плавающей точкой, необходимо иметь специальное арифметико-логическое устройство для выполнения операций над порядком. причем необходимо нормализовать числа и выровнять их порядки. Поэтому скорость выполнения операций над такими числами меньше, чем в случае с фиксированной точкой. Числа со смещенным порядком Для упрощения операций над порядками их сводят к действиям над целыми положительными числами. Для чего используют представления чисел со смещённым порядком. При записи числа к его порядку прибавляется целое число N – смещение. При этом N = 2 k, где k – количество разрядов для изображения порядка. Таким образом получаем смещённый порядок Р` = Р + N (рисунок 2.3). Если количество разрядов порядка равно 6, то N = 64, и смещенный порядок Р` будет принимать значения от Р` = 127 (при Р = 63), до Р`= 0 (при Р = - 64). знак смещённый порядок модуль мантиссы
63 62 52 51 (а) 0 знак смещённый порядок модуль мантиссы
79 78 64 63 (б) 0 Рисунок 2.3 − Представление числа с плавающей точкой: а) формат короткого слова; в) формат длинного слова Типы данных 32 − разрядных ЭВМ Современные процессоры непосредственно поддерживают (используют в качестве операндов) знаковые и беззнаковые целые числа, строки байт, строки цифр и символов, битовые строки и числа с плавающей точкой. Слова записываются в двух смежных байтах, и адресом слова является адрес его младшего байта. Двойные слова расположены в четырёх смежных байтах, начиная с младшего, адрес которого есть адрес двойного слова. В некоторых других процессорах применяют и обратный порядок. На рисунке 2.4 представлены форматы данных, обрабатываемые 32− разрядными процессорами, ниже приведены типы данных, используемые CPU ЭВМ. Форматы данных CPU § Бит (Bit) – единица информации. Бит в памяти задается базой (адресом слова) и смещением (номером бита в слове). § Битовое поле (Bit Field) – группа до 32 смежных бит, располагающихся не более чем в 4 байтах. § Битовая строка (Bit String) –набор смежных бит длиной до 4 Гбит. § Байт (Byte) –8 бит. § Числа без знака: байт/слово/двойное/учетверенное слово (Unsigned Byte/ Word/Double Word/Quade Word), 8/16/32/64 бит. § Целые числа со знаком: байт/слово/двойное/учетверенное слово (Integer Byte/ Word/Double Word/Quade Word). Единичное значение самого старшего бита (знак) является признаком отрицательного числа, которое хранится в дополнительном коде.
a) 8-разрядные упакованные (Packed BCD), содержащие два десятичных разряда в одном байте; b) 8-разрядные неупакованные (Unpacked BCD), содержащие один десятичный разряд в байте.
a) длинный указатель (48 бит) – 16-битный селектор (или сегмент) и 32-битное смещение; b) короткий указатель – 32-битное смещение; c) просто указатель–16-битный селектор и 16-битное смещение. 16-разрядные процессоры не поддерживают учетверенные слова всех типов, битовые поля и строки, строки двойных слов. один бит
знак
7 0 7 0 7 0
15 8 7 0
знак 15 8 7 0
15 0 15 0 15 0
31 24 16 15 7 0
знак 31 24 16 15 7 0
31 0 31 0 31 0
10. Учетверённое слово без знака: 63 48 47 32 31 16 15 8 7 0
11. Учетверённое слово со знаком: 63 48 47 32 31 16 15 8 7 0 знак
Рисунок 2.4− Форматы целых данных 32− разрядных процессоров.
Форматы данных FPU Числа в формате с плавающей точкой и упакованные 80-битные BCD-числа обрабатываются блоками FPU процессоров класса 486 и выше, а также сопроцессорами 8087/287/387. BCD числа (Binary Coded Decimal) – это двоично- десятичное числа, в которых каждая десятичная цифра записана четырех битовым двоичным кодом. Упакованные 64-битные и 128-битные данные обрабатываются процессорами с ММХ и SSE. Ниже перечислены форматы данных, обрабатываемых блоками FPU/MMX и ХММ.
a) одинарной точности (Single Precision), 32 бит — 23 бит мантисса, 8 бит порядок; b) двойной точности (Double Precision), 64 бит — 52 бит мантисса, 11 бит порядок; c) повышенной точности (Extended Precision), 80 бит — 64 бит мантисса, 15 бит порядок.
a) упакованные байты − восемь байт; b) упакованные слова − четыре слова; c) упакованные двойные слова − два двойных слова; d) учетверенное слово − одно слово. Форматы некоторых из перечисленных данных приведены на рисунке 2.5.
§ Упакованные целые числа (обрабатываются блоком ММХ): 56 55 48 47 40 39 3 2 31 24 23 16 15 8 7 0
a) упакованные байты (восемь байт); 63 48 47 32 31 16 15 0
b) упакованные слова (четыре слова); 63 32 31 0
c) упакованные двойные слова (для ММХ); 63 0
d) учетверенное слово.
§ Действительные числа в формате с плавающей точкой: 31 30 23 22 0
a) одинарной точности; Знак порядка 63 62 52 51 0
b) двойной точности; Знак порядка 79 78 64 63 0
c) повышенной точности Знак порядка 127 96 95 64 63 32 31 23 22 0
знаки порядков d) упакованные числа с плавающей точкой одинарной точности. Рисунок 2.5− Форматы данных обрабатываемые процессорным блоком FPU/MMX и XMM
В зависимости от разрядности регистров процессора, в них размещаются числа различного диапазона. В таблице 2.4 представлены значения чисел, в естественной форме, которые можно разместить в регистрах процессора. Таблица 2.4− Диапазоны чисел, обрабатываемые процессорами
Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1477; Нарушение авторского права страницы