Размещение чисел с плавающей в запятой в разрядной сетке ЭВМ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Размещение чисел с плавающей в запятой в разрядной сетке ЭВМ



С плавающей запятой числа изображаются в виде X = ±M×P±r, где M - мантисса числа (правильная дробь в пределах 0,1 ≤ M < 1), r - порядок числа (целое), P - основание системы счисления. Например, приведенные выше числа с фиксированной запятой можно преобразовать в числа с плавающей запятой так: 0,3254×102, 0,36×10–2, –0,1082×103. Нормализованная форма представления имеет огромный диапазон чисел и является основной в современных ЭВМ.
Всякое десятичное число, прежде чем оно попадает в память компьютера, преобразуется по схеме:
X10→X2→X2 = M2×102r
После этого осуществляется ещё одна важная процедура:
- мантисса с её знаком заменяется кодом мантиссы с её знаком;
- порядок числа с его знаком заменяется кодом порядка с его знаком.
Указанные коды двоичных чисел - это образы чисел, которые и воспринимают вычислительные устройства.
Каждому двоичному числу можно поставить в соответствие несколько видов кодов. Существуют следующие коды двоичных чисел:
Прямой код. Прямой код двоичного числа (а это либо мантисса, либо порядок) образуется по такому алгоритму:
1. Определить данное двоичное число - оно либо целое (порядок), либо правильная дробь (мантисса).
2. Если это дробь. то цифры после запятой можно рассматривать как целое число.
3. Если это целое и положительное двоичное число, то вместе с добавлением 0 в старший разряд число превращается в код. Для отрицательного двоичного числа перед ним ставится единица. Например:
число X2 = –0,1011012→ код числа X пр = 1101101; число Y2 = +0,11011012→ код числа Yпр = 01101101.
Красным цветом выделены знаковые разряды и, кроме того, у кодов отсутствует индекс "2".
Обратный код. Обратный код положительного двоичного числа совпадает с прямым кодом, а для отрицательного числа нужно, исключая знаковый разряд, во всех остальных разрядах нули заменить на единицы и наоборот. Например: число X2 = –0,101012 → Xпр = 1 10101 → Xобр = 101010;
числоY2 = +0,11012 → Yпр = 01101 = Yобр.
Дополнительный код. Дополнительный код положительного числа совпадает с его прямым кодом. Дополнительный код отрицательного числа образуется путём прибавления 1 к обратному коду. Например:
число X2 = –0,100102 → Xпр = 110010 → Xобр = 101101 → Xдоп = 101110;
число Y2 = +0,1011 → Yпр = 01011 = Yобр = Yдоп.

 

№8 Функции способов адресации:

Обеспечить удобство вычисления адресов

Обеспечить переход содержательного адресного поля команды к логическому адресу

Обеспечить перемещаемость программных модулей или обеспечить позиционной независимости программы.

Обеспечить возможность многозадачного режима работы

2 уровневая система

КОП
Адресное поле

 

 


Вычисление в соответствии со способом адресации

 

 

3 уровневая система

КОП
Адресное поле
Вычисление в соответствии со способом адресации
«Трансляция» адреса

 

 


№9 Способы адресации

Простейшая структура адресной части команды:

Адресные поля содержат физические адреса.
1) Для ЭВМ 1 -.2 поколений были характерны небольшой обьем и значительная длина машинного слова (40...64 и более бит). Длина слова выбиралась обычно достаточной для представления числа с инженерной точностью в плавающем формате.

2) В ходе развития ЭВМ: увеличивался объем ОЗУ, а, следовательно, и длина требуемого физического адреса; желательно было вычислять / модифицировать адреса. Это давало возможность одному участку программы обрабатывать данные, расположенные в разных адресах. Перешли к следующей структуре:

Простейший вариант: физический адрес содержится в адресном регистре, а адресное поле содержит имя (код, номер) адресного регистра плюс код, обозначающий способ адресации (в данном случае косвенно-регистровую адресацию - см. далее). Длина такого поля адреса, могла быть гораздо меньше длины адреса. Например, если процессор содержит восемь регистров общего назначения и использует не более 8 разных способов адресации, длина номера регистра = 3 бита, длина кода способа адресации - также 3 бита. Адресное поле в команде будет содержать всего 6 бит.
3) При дальнейшем развитии ЭВМ - увеличивается размер адресного пространства.
При 32-разрядном адресе размер адресного пространства = 4 ГБайт. В то же время реальный обьем ОЗУ составляет 16...128 МБайт (длина физического адреса: 24...27 разрядов). Таким образом, имеет место несовпадение диапазона логических адресов (в частности, тех чисел, которые могут храниться в адресных регистрах процессора) и диапазона физических адресов, нумерующих реально существующие ячейки ОЗУ. Поэтому все более широко используется следующая схема преобразования адресов:

Прямой- исходный адрес берётся из команды или вычисляется с использованием указанного в команде значения.

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

Относительная адресация- исполнительный адрес определяется как сумма адресного кода команды и базового адреса(хранящегося в регистре базы)

Основная (оперативная) память ЭВМ обычно является адресной. Это значит, что каждой хранимой в ОП единице информации (байту, слову) ставится в соответствие специальное число - адрес, определяющий место ее хранения в памяти.

Следует различать понятия адресный код в команде Ак и исполнительный адрес Аи. Адресный код - это информация об адресе операнда, содержащаяся в команде. Исполнительный адрес - это номер ячейки памяти, к которой производится фактическое обращение. В современных ЭВМ, адресный код, как правило, не совпадает с исполнительным адресом.

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

Регистровая косвенная адресация требует предварительной загрузки регистра из ОП косвенным адресом, что связано с потерей времени (при косвенной адресации адресный код команды указывает адрес ячейки памяти, в которой находится адрес операнда или команды, таким образом, косвенная адресация может быть иначе определена как «адресация адреса»).

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

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

 



Поделиться:


Последнее изменение этой страницы: 2017-02-09; просмотров: 296; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.105.124 (0.009 с.)