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

4.2 Представление элементарных данных в озу

Различными типами элементарных данных являются символы, целые числа, вещественные числа и логические данные.

Поскольку память компьютера имеет байтовую структуру, к ней привязывается представление любых данных. Неделимая совокупность байт, обрабатываемая как единое целое, называется машинным словом.

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

Запоминающие устройства (ЗУ), в которых доступ к данным осуществляется по адресу ячейки, где они хранятся, называются устройствами с произвольным доступом (RAM – Random Access Memory). Время поиска нужной ячейки, а также время считывания/записи в ЗУ произвольного доступа одинаково для всех ячеек, независимо от адреса.

Например, особенности представления всех типов элементарных данных с помощью 16-битного машинного слова.

Представление чисел обсуждалось ранее, в первой части учебного пособия (знак, число или для нормализованной формы знак порядка – порядок – знак мантиссы – мантисса).

Символ – машинное слово делится на 2 группы по 8 бит (байт), в которые и записываются двоичные коды символов (рисунок 4.1). В слове могут быть записаны одновременно 2 символа. Операции над символами: отношение (   и изменение с одного кода на другой.

Все остальные действия производятся со сложными символьными данными.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Л огические данные могут принимать одно из 2-х значений (0 или 1): 0 соответствует логическому нулю False, а 1- логической единице True.

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

Значения элементарных данных формируются в ходе исполнения программы и имеют физическое представление в ОЗУ.

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

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

Адреса могут быть абсолютными – в этом случае они не изменяются при загрузке программы в ОЗУ (именно такой способ адресации применяется в исполнимых файлах с расширением .com). Однако размер таких программ не может превышать 64 кБ.

В исполнимых файлах с расширением .exe на этапе трансляции устанавливается относительные адреса данных, которые конкретизируются при размещении программы в ОЗУ – это несколько замедляет начало исполнения, зато снимает ограничения на размер программы.

Ячейка (или блок ячеек) памяти, содержащая адрес другой ячейки памяти, называется указателем (pointer). Таким образом, элемент данных может храниться в какой либо ячейке памяти, а адрес этой ячейки – в указателе, при помощи которого можно позже получить эти данные. То есть значение указателя сообщит нам, где искать данные. В некотором смысле указатель указывает на данные, отчего и получил такое название.

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