Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 9.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
154.11 Кб
Скачать

Организация внутренней памяти

Память современных ПК имеет байтовую структуру. Байт – это группа из девяти связанных битов. Эта группа представляет собой единицу объема информации, хранимой в оперативной памяти ивнешних устройствах (например на диске). Каждый бай т содержит 8 бит для хранения данных и один – для хранения данных проверки четности. Но., поскольку поверка четности реализуется на аппаратном уровне, то в программировании под байтом понимают группу из 8-ми связанных битов. Согласно правилу контрля четности, количество бит, находящихся в единичном состоянии в одном байте, должно всегда быть четным. Например, если байт содержит 00101010 (три единичных бита), то девятый бит, содержащий значение четности, устанавливается процнссором в 0. Если 01100000, то бит четности устанавливается в 1. Когда инструкция ссылаетяс на определенный байт в памяти, то процессор проверяет выполнение правила четности для этого байта. Если оно не выполняется. Система считает, что данные были поврждены, и ывводит сообщение об ошибке поверки четности. Эта ошибка может быть результатом ошибки аппаратуры или электрической помехи, в любом случае это редкое событие.

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

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

  • Слово – 2 байта

  • Двойное слово –4 байта

  • Счетверенное слово – 8 байт

  • Параграф - 16 байт

  • Килобайт 1024 байта

  • Мегабайт

  • Гигабайт

Биты в слове обозначаются цифрами от 0 до 15 справа налево.

Т. О. Адресуются байты, а обрабатываются слова. В качестве адреса слова используется адрес байта с наименьшим номером. И очевидно, что адрес слов уже не будет меняться через единицу – приращение зависит от длины машинного слова (Intel – 2 байт /Intel 8086, на его безе 286, 386, 486, Pentium и т.д. Говорят – процессоры архитектуры х86).

Каким образом хранятся в памяти многобайтовые данные? Возможно два способа:

12

34

56

78

12

34

56

78

78

56

34

12

N

N+1

N+2

N+3

N

N+1

N+2

N+3

А. Байт с наиболее значащей частью сохраняется в память по наименьшему адресу – прямое размещение байтов (big-endian)

В. Байт с наиболее значащей частью сохраняется в память по наибольшему адресу – обратное размещение байтов (little-endian)

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

Например 16-ричное число 0529Н (это 10-тичное 1315) хранится в памяти как 2905Н. То есть старший байт (05) хранится в ячейке с большим адресом, младший – с меньшим. При извлечении из памяти процессор переставляет байты, помещая их в регистр в виде 0529Н

регистр

05

29

память

29

05

адрес

04А26

04А27