Лекции по информатике - Память

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

Бит - единица измерения количества информации и объема памяти. Измеряет минимальное количество информации, для кодирования которой достаточно одного двоичного разряда. Память ЭВМ состоит из элементов, способных запоминать значения битов (0 или 1). Такой выбор кода записи в вычислительной технике связан с тем, что в физическом мире наиболее просто реализуются системы, обладающие двумя устойчивыми состояниями. [От англ. BI (nary digi) T - binary-двоичный и digit-знак, цифра]

Минимальная адресуемая порция информации в памяти называется ячейкой памяти. Но что значит "адресовать", чтобы разобраться с этим для начала посмотрим в таблицу, в которой указана длина ячейки памяти в битах для разных вычислительных машин:

Основное преимущество ячеек памяти, как уже отмечалось выше, в том, что мы можем их адресовать, т.е. любая ячейка памяти имеет свой уникальный номер, по которому компьютер всегда может непосредственно по адресу обратиться к содержимому ячейки. Бит таким свойством не обладает (конечно если нам надо обратиться к 2057-му биту в компьютере IBM, то мы обращаемся к 257 байту и выделяем у него 1 бит (такие средства у компьютера есть), но как вы видите адресуем мы именно байт, а не бит).

Иногда последовательно идущие байты объединяют в более крупные структуры. Рассмотрим их:

На компьютере Intel *86 дополнительно есть:

Слово (word) - состоит из 2 байт. Снизу указана последовательность следования байт (сначала идет байт с номером 0, потом 1,2,..).

Отметим "экзотическую" особенность представления чисел в данных компьютерах: числа размером в слово и двойное слово хранятся в памяти в перевернутом виде. Если на число отведено слово памяти, то старшие(левые) 8 битов хранятся в о втором байте слова, а младшие (правые) 8 битов - в первом байте; в терминах шестнадцатеричной системы: первые две цифры числа хранятся во втором байте слова, а две последние - в первом байте. Например, число 98 = 0062h (h означает hexadecimal - шестнадцатеричный) храниться в памяти так (А - адрес слова):

Зачем это сделано? Как известно, сложение и вычитание многозначных чисел мы начинаем с действий над младшими цифрами. С другой стороны, первые модели ПК (с процессором 8080) были 8-разрядными, в них за раз можно было считать из памяти только один байт. Поскольку в этих условиях многозначное число нельзя считать из памяти сразу, то в первую очередь приходиться считывать байт, где находятся младшие цифры числа, а для этого надо, чтобы такой байт хранился в памяти первым. По этой причине в первых моделях ПК и появилось "перевернутое" представление чисел. В последующих же моделях, где уже можно было сразу считать из памяти все число, ради сохранения преемственности, ради того, чтобы ранее составленные программы могли выполняться на новых ПК, сохранили это "перевернутое" представление. Поэтому на рисунке слова такая странная нумерация байтов. Т.е. старшая часть числа записывается во второй байт. Далее на рисунках числа под байтами означают порядок их записи в память.

Двойное слово (Double Word) - состоит из 4 байт

Для компьютеров Dec PDPII

Двойное слово также имеет размер 4 байта, но порядок следования байт другой:

Для компьютеров Motorola, IBM 370

Слово - имеет размер 4 байта и порядок следования байт прямой. Кроме этого слово подразделяется на 2 полуслова, каждое длиной 2 байта.

Компьютеры Dec VAX

Слово также имеет размер 4 байта, но порядок следования байт в слове обратный

Вернемся к компьютерам Intel и подробнее рассмотрим такую структуру как байт. По принятым соглашениям биты в байтах нумеруются справа налево(см рис.), но вообще для компьютеров это не верно (для IBM-370 порядок следования обратный):

Слава Антонов © 2002 — August 13, 2008
Индекс цитирования 197-577-902 ICQ-статус
Hosted by uCoz