Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Представление чисел в форме с фиксированной точкой



В этом случае положение точки фиксируется в определённом месте разрядной сетки и не меняет своего положения. Обычно подразумевается, что точка находится перед старшим разрядом, или после младшего. В первом случае это дробные числа, во втором – целые (рисунок 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

знак Xn Xn-1 Xn-2 ∙ ∙ ∙ ∙ ∙ ∙ X3 X2 X1 X0

(а)

2 -1 2-2 2 -3 2 - n 2 2 - n -1 2 -n

знак X1 X2 X3 ∙ ∙ ∙ ∙ ∙ ∙ Xn-2 Xn-1 Xn

(б)

Рисунок. 2.1–Представление двоичного числа в форме с фиксированной точкой: а) целого числа; б) числа по модулю меньше 1.

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

Дробное число меньше единицы на 32-разрядной сетке с диапазоном представления чисел 0 ³ X ³ 1- 2-31 , выглядит следующим образом:

2-1 2-2 2-30 2-31

знак Х1 Х2 Х30 Х31

 

Значения целых чисел на такой же 32− разрядной сетке лежат в пределах 0 £ X £ 231-1, что соответствует диапазону от 0 до 2, 15 × 109.

230 229 21 20

знак Х29 Х28 Х2 Х1

 

Видно, что диапазон чисел, представленных в формате с фиксированной точкой достаточно узок и не может использоваться во многих инженерных и научных расчетах.

 

Представление числа в форме с плавающей точкой

 

В этом случае число Х записывается в разрядную сетку в виде двух групп цифр (рисунок 2.2). Одна группа характеризует порядок числа, другая – мантиссу: X = P n × M.

где P – основание системы счисления;

n – порядок числа, указывающий положение точки в числе;

М – мантисса (дробное число).

знак мантиссы знак порядка

 

Х0 Y0 Y6 Y5 Y4 Y1 Х24 Х23 Х2 Х1

порядок 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).

знак смещённый порядок модуль мантиссы

  Р` M

63 62 52 51 (а) 0

знак смещённый порядок модуль мантиссы

  P` M

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). Единичное значение самого старшего бита (знак) является признаком отрицательного числа, которое хранится в дополнительном коде.

  • Двоично-десятичные числа (BCD — Binary Coded Decimal):

a) 8-разрядные упакованные (Packed BCD), содержащие два десятичных разряда в одном байте;

b) 8-разрядные неупакованные (Unpacked BCD), содержащие один десятичный разряд в байте.

  • Строки байт, слов и двойных слов (Bit String, Byte String, Word String, Double Ward String) длиной до 4 Гбайт.
  • Указатели:

a) длинный указатель (48 бит) – 16-битный селектор (или сегмент) и 32-битное смещение;

b) короткий указатель – 32-битное смещение;

c) просто указатель–16-битный селектор и 16-битное смещение.

16-разрядные процессоры не поддерживают учетверенные слова всех типов, битовые поля и строки, строки двойных слов.

один бит

1. Байт без знака (8 бит)

знак

2. Байт со знаком (8 бит)

 

7 0 7 0 7 0

3.Строка байт N-й байт ∙ ∙ ∙ ∙ 1-й байт 0-й байт

 

15 8 7 0

4. Слово без знака (два байта) 1-й байт 0-й байт

 

знак 15 8 7 0

5. Слово со знаком (два байта)   1-й байт 0-й байт

 

15 0 15 0 15 0

6. Строка слов N-е слово ∙ ∙ ∙ ∙ 1-е слово 0-е слово

 

31 24 16 15 7 0

7. Двойное слово без знака 3-й байт 2-й байт 1-й байт 0-й байт

 

знак 31 24 16 15 7 0

8. Двойное слово cо знаком   3-й байт 2-й байт 1-й байт 0-й байт

 

31 0 31 0 31 0

9. Строка двойных слов N-е слово ∙ ∙ ∙ 1-е слово 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 бит порядок.

  • Упакованные двоично− десятичные 80− битные числа (18 десятичных разрядов и знак).
  • Упакованные действительные числа одинарной точности, в формате с плавающей точкой.
  • Упакованные целые числа, знаковые и беззнаковые:

a) упакованные байты − восемь байт;

b) упакованные слова − четыре слова;

c) упакованные двойные слова − два двойных слова;

d) учетверенное слово − одно слово.

Форматы некоторых из перечисленных данных приведены на рисунке 2.5.

 

 

§ Упакованные целые числа (обрабатываются блоком ММХ):

56 55 48 47 40 39 3 2 31 24 23 16 15 8 7 0

Число 7 Число 6 Число 5 Число 4 Число 3 Число 2 Число 1 Число 0

a) упакованные байты (восемь байт);

63 48 47 32 31 16 15 0

Число 3 Число 2 Число 1 Число 0

b) упакованные слова (четыре слова);

63 32 31 0

Число 1 Число 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− Диапазоны чисел, обрабатываемые процессорами

Размер регистра Наличие знака Диапазон данных
Десятичные Шестнадцатиричные
нет 0 ÷ 255 00 ÷ FFH
да - 128 ÷ + 127 80H ÷ 7FH
нет 0 ÷ 65535 0000H ÷ FFFFH
да -32768 ÷ + 32767 8000H ÷ 7FFFH
нет 0 ÷ 4294967295 00000000H ÷ FFFFFFFFH
    да - 2147483648 ÷ + 2147483647   80000000 ÷ 7FFFFFFFH
    нет     0000000000000000H ÷ FFFFFFFFFFFFFFFFH
    да -9223372036854775808 ÷ 8000000000000000 ÷ 7FFFFFFFFFFFFFFFH

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 1477; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.034 с.)
Главная | Случайная страница | Обратная связь