Представление данных в памяти ЭВМ — это представление данных в форме битового набора, то есть комбинации нулей и единиц.
Введение
Сутью информационной обработки в электронной вычислительной машине (ЭВМ) является взаимодействие начальных (исходных) данных, являющихся операндами, и командного потока, заложенного в программе, для получения на выходе потока итоговых результатов. Процесс взаимодействия операндов и команд в компьютере состоит из процедур их сохранения, выборки для выполнения, непосредственно исполнение операции взаимодействия и далее хранение результатов, которые могут быть промежуточными или итоговыми.
Сохранение и информационная выборка должны предполагать некоторый описанный способ обращения к командам и операндам, и, следовательно, использование адресной информации, то есть, кодов адреса, признаков поиска и так далее. Сама ЭВМ, её внутренние модули и подсистемы, а также режимы их функционирования должны быть идентифицированы и, следовательно, должна быть предоставлена информация о текущем состоянии модулей (в виде кодов) и режимах их работы. Коды состояний и адресные данные формируют внутренние потоки операндов.
Представление данных в памяти ЭВМ
Основными типами операндов, являющихся информационными единицами, являются следующие типы:
- Операнды числового типа.
- Операнды символьного типа, то есть коды символов.
- Операнды логического типа.
К дополнительным типам операндов относятся следующие типы:
- Операнды, являющиеся битовыми полями.
- Операнды, являющиеся битовыми и байтовыми строками.
- Операнды, являющиеся символьными (тестовыми) строками.
- Операнды, являющиеся адресами (кодами адресов) и дескрипторами-указателями.
- Операнды, представляющие собой коды состояний и коды команд.
К производным типам операндов, которые являются информационными единицами, относятся следующие:
- Операнды, являющиеся массивами данных (различных кодов).
- Операнды, являющиеся файлами с графическими изображениями, аудио- и видеоинформацией.
Каждый из типов операндов в ЭВМ может существовать в конкретном формате, а именно, в стандартном или нестандартном формате.
Стандартными числовыми форматами являются следующие:
- Формат чисел с фиксированной запятой.
- Формат чисел с плавающей запятой.
- Логический формат.
В свою очередь числа с фиксированной запятой делятся на:
- Целые числа с разными основаниями системы счисления, а именно, с основанием два (q=2), и реже с основанием восемь и шестнадцать. Кроме того, они могут иметь знак и не иметь его, а также быть двоично-десятичными в различных кодах.
- Дробные числа.
- Смешанные числа.
Нестандартными форматами чисел являются:
- Форматы чисел в недвоичной системе счисления, к примеру, в троичной.
- Формат чисел, имеющих переменные основания, а также имеющих иррациональные основания.
- Формат чисел в непозиционной системе счисления.
- Логарифмический формат чисел.
- Другие форматы.
Базовыми в сегодняшних ЭВМ считаются целочисленные форматы, имеющие знак и без него, которые являются кратными байту. То есть это 16-ти разрядное слово, 32-х разрядное двойное слово и 64-х разрядное четверное слово.
Форматы смешанного и дробного типа сегодня практически не используются или встречаются очень редко. Также почти не используется модифицированная форма представления числа со знаком и представление отрицательного числа в обратном коде.
Формат чисел без знака подразумевает, что все операнды, являющиеся числами, не могут иметь отрицательные значения. При осуществлении действий с такими числами особое внимание уделяется признакам переполнения разрядной сетки.
Использование целых чисел, которые обычно упакованы, сопряжено с обработкой мультимедийных данных. Команды выполняют обработку всех этих чисел в параллельном режиме.
Использование целых двоично-десятичных чисел сопряжено, как правило, с проблемами бухгалтерии и статистики. В этом случае применяется метод кодирования всех десятичных цифр при помощи эквивалентного двоичного числа, состоящего из четырёх битов, то есть двоично десятичным кодом. Как правило, применяется стандартный метод кодирования 8,4,2,1, где цифры являются весами разрядов. Остальные комбинации используются для отображения знаков и допустимых служебных символов.
Основным недостатком применения чисел в формате с фиксированной запятой считается ограниченный диапазон отображения чисел в разрядной сетке, и, как следствие, появляется вероятность переполнения разрядной сетки. Это требует использования операции масштабирования.
Этой проблемы нет в «нормальном» формате представления чисел, то есть, число делится на два набора цифр, а именно, мантиссу и порядок. Таким образом, число А можно представить следующей формулой:
$A = ± M_A • d^{±P_a}$, где:
- $M_A$ является модулем мантиссы.
- $P_a$ является модулем порядка числа $A$.
- $d$ является основанием характеристики.
Из данной формулы вытекает, что если изменяется модуль мантиссы, то меняется и модуль порядка, что и считается «плаванием» запятой. Это и определило имя формата.
В сегодняшних ЭВМ, чтобы упростить операции связанные с порядком числа, их приводят к формату целого положительного числа, используя специальный смещённый порядок. То есть, к фактическому порядку числа прибавляется целое положительное число, именуемое смещением, которое следует выбрать равным половине представимого диапазона порядков. Смещённый порядок должен занимать все биты в поле порядка, включая и тот, который был предназначен для занесения знака порядка.
Как правило, разрядность ячеек памяти ЭВМ равняется одному байту, а фактическая длина кодов чисел может составлять один, два, четыре, восемь или шестнадцать байтов. При сохранении таких числовых данных в памяти их байты помещаются в набор ячеек, имеющих смежные адреса. Причём чтобы получить доступ к этому числу, следует указать лишь самый маленький из набора адрес.