Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОС 2.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
2.92 Mб
Скачать

41. Формат представления двоичных чисел в процессоре.

Формат данных определяет длину представления данных в процессоре. Он зависит от разрядности ячеек памяти и регистров, в которых хранятся данные.

Различают следующие форматы:

  • байт,

  • полуслово,

  • слово,

  • двойное слово,

  • расширенное слово.

Основными являются: слово, двойное слово, расширенное слово.

Слово отображает содержимое одной из n-разрядных ячеек памяти или одного из n-разрядных регистров. Длина слова n измеряется в битах и по величине равна разрядности соответствующей ячейки памяти данных или регистра.

Двойное слово отображает содержимое пары соседних n-разрядных ячеек памяти или 2n-разрядного регистра или пары соседних n- разрядных регистров. Длина двойного слова равна 2n битам. Двойное слово обеспечивает представление данных с удвоенной точностью.

Расширенное слово отображает содержимое k-разрядного регистра и характеризует внутреннее представление данных-результатов промежуточных вычислений. Длина расширенного слова всегда больше длины слова, что позволяет повысить точность вычислений.

Байт и полуслово отображают содержимое соответствующих частей ячейки памяти данных или регистров.

Например, в процессорах ADSP-21xx длина слова – 16 бит, длина двойного слова 32 бита, длина расширенного слова – 40 бит, В процессорах TMS32064x длина слова 32 бита, длина двойного слова 64 бита.

42. Формы представления двоичных чисел в процессоре. Представление чисел с фиксированной точкой в форматах «слово», «двойное слово», «расширенное слово».

Существуют две алгебраические формы записи вещественных и целых чисел:

  • обычная, например,

700, 45.66, -0.0075;

  • показательная, например,

.

Соответственно двум алгебраическим формам записи вещественных и целых чисел – обычной и показательной - различают две формы представления чисел в процессорах:

  • с фиксированной точкой,

  • с плавающей точкой.

Целые числа представляются только в форме с фиксированной точкой.

В зависимости от формы представления вещественных чисел различают процессоры

  • с фиксированной точкой (ФТ)

  • с плавающей точкой (ПТ).

Точка разделяет целую и дробную части вещественного двоичного числа. Она представляется чисто логически.

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

Если число задано в форме с плавающей точкой, то её позиция зависит от значения числа.

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

Рассмотрим представление чисел с фиксированной точкой в форматах слово и двойное слово.

Слово

MSB-Most Significant Bit - старший бит, LSB – Least Significant Bit – младший бит

Двойное слово

MSP – Most Significant Portion – старшее слово, LSP - Least Significant Portion – младшее слово

Рассмотрим представление различных чисел в форматах слово и двойное слово.

1. Целое число со знаком.

MSB- знаковый разряд, (MSB=0, если число положительное, MSB=1, если число отрицательное) остальные биты являются значащими. Значащие биты выравниваются по правому краю формата,

LSB – младший значащий разряд.

В лишних старших битах целого числа со знаком происходит расширение знака, т.е. все лишние старшие биты заполняются значением старшего знакового бита MSB.

Пример №1.

Требуется представить число N10 = 15 в двоичном дополнительном коде в форматах слово и двойное слово, если длина слова n = 8.

Решение. При n = 8 количество значащих бит равно n-1=7. Так как число положительное, знаковый бит равен нулю.

Поэтому в формате слово

N2 = 00001111.

В формате двойное слово количество значащих бит равно 2n-1=15. Поэтому в формате двойное слово

N2 = 0000000000001111.

Пример №2.

Требуется представить число N10 = -15 в двоичном дополнительном коде в форматах слово и двойное слово, если длина слова n = 8.

Решение.

Способ №1. Сначала представим в формате слово абсолютную величину отрицательного числа и получим 00001111. После этого находим N2 путём инвертирования всех разрядов и прибавления единицы младшего разряда:

Способ №2. Находится абсолютная величина числа –15 в двоичной системе счисления с учётом необходимого количества значащих бит 01111. Путём инверсии двоичных разрядов и прибавления единицы младшего разряда получим 10001. В формате 8 – разрядного слова остаются незаполненными три значащих разряда, примыкающие к знаковому. Их заполняет расширением знака. В результате получим

N2 = 11110001.

В формате двойное слово получим

N2 = 1111111111110001.

2. Беззнаковое число - целое число, имеющее положительный знак по умолчанию. MSB – старший значащий разряд.

Пример. Требуется представить беззнаковое число N10 = 131 в формате слово при n=8.

Решение. Находим двоичное число 10000011 и размещаем его, начиная с разряда MSB:

N2=10000011.

3. Вещественное дробное число

MSB- знаковый разряд, (MSB=0, если число положительное, MSB=1, если число отрицательное) остальные биты являются значащими.

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

Пример №1.

Требуется представить число N10 = 0.31 в двоичном дополнительном коде в форматах слово и двойное слово, если длина слова n = 8.

Решение. В формате слово количество значащих бит равно 7. Находим 7 значащих бит двоичного числа

0100111.

Так как число положительное, то в формате слово получим

N2=00100111.

Десятичный эквивалент полученного числа равен 0.304688, т.е. отличается от исходного десятичного числа.

В формате двойное слово количество значащих разрядов равно 2n-1=15, поэтому находим 15 значащих разрядов двоичного числа

010011110101110.

Так как число положительное знаковый разряд равен нулю. Окончательно получим

N2 =0010011110101110.

Десятичный эквивалент этого числа равен 0.309998.

Пример №2.

Требуется представить число N10 = -0.31 в двоичном дополнительном коде в форматах слово и двойное слово, если длина слова n = 8.

Решение. Находим двоичное число в формате слово, соответствующее абсолютной величине числа N10,

00100111.

После инверсии разрядов этого числа и прибавления единицы младшего разряда получим

11011001.

Десятичный эквивалент этого числа равен –0.3125.

Находим двоичное число в формате двойное слово, соответствующее абсолютной величине числа N10,

0010011110101110.

После инверсии разрядов этого числа и прибавления единицы младшего разряда получим

1101100001010010.

Десятичный эквивалент этого числа равен –0.309998.

Рассмотрим представление чисел в формате расширенное слово.

Расширенное слово при k>2n

MSP - Most Significant Portion – старшее слово, LSP - Least Significant Portion – младшее слово, EXT - Extention - расширение

Расширенное слово при n<k<2n

LSP - Least Significant Portion – младшее слово, EXT - Extention – расширение

Для целых чисел со знаком в расширении EXT происходит расширение знака, т.е. все биты автоматически заполняются значением знака знакового бита MSB слова MSP:LSP.

Дробное число размещается в MSP:LSP части расширенного слова, как в двойном слове, а в расширении EXT происходит расширение знака.

При размещении в слове EXT:MSP:LSP смешанного числа биты распределяются следующим образом:

  • Знаковый бит располагается в старшем бите расширения EXT,

  • Остальные биты расширения EXT и старший бит слова MSP:LSP отводятся для целой части числа, значащие биты целой части числа выравниваются по правому краю. Оставшиеся свободными биты заполняются расширением знака.

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

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

Пример. Требуется представить смешанное число 2.31 в формате расширенное слово, которое состоит из слова длиной n = 8 и расширения из 4 бит. Находим значащие разряды целой (10) и дробной части числа (0100111). Количество разрядов дробной части равно n-1. Целая часть числа занимает младший бит расширения и старший бит слова. Так как число положительное, то старшие разряды расширения заполняем нулями. В результате получим

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]