Числа со смещенным порядком

Для упрощения операций над порядками их сводят к действиям над целыми положительными числами. Для чего используют представления чисел со смещённым порядком. При записи числа к его порядку прибавляется целое число 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-02-24; просмотров: 2841;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.018 сек.