Память современных ПК имеет байтовую структуру. Байт – это группа из девяти связанных битов. Эта группа представляет собой единицу объема информации, хранимой в оперативной памяти и на внешних устройствах (например, на диске). Каждый байт содержит 8 бит для хранения данных и один – для хранения данных проверки четности. Но, поскольку поверка четности реализуется на аппаратном уровне, то в программировании под байтом понимают группу из 8-ми связанных битов. Согласно правилу контроля четности, количество бит, находящихся в единичном состоянии в одном байте, должно всегда быть четным. Например, если байт содержит 00101010 (три единичных бита), то девятый бит, содержащий значение четности, устанавливается процессором в 0. Если 01100000, то бит четности устанавливается в 1. Когда инструкция ссылается на определенный байт в памяти, то процессор проверяет выполнение правила четности для этого байта. Если оно не выполняется система считает, что данные были повреждены, и выводит сообщение об ошибке поверки четности. Эта ошибка может быть результатом ошибки аппаратуры или электрической помехи, в любом случае это редкое событие.
Все ячейки памяти пронумерованы. Номер ячейки называют ее адресом. Зная адрес ячейки можно совершать две основные операции:
1) прочитать информацию из ячейки с определенным адресом;
2) записать информацию в байт с определенным адресом.
Чтобы выполнить одну из этих операций необходимо, чтобы от процессора к памяти поступил адрес ячейки, и чтобы байт информации был передан от процессора к памяти при записи, или от памяти к процессору при чтении. Все сигналы должны передаваться по проводникам, которые объединены в шины.
По шине адреса передается адрес ячейки памяти, по шине данных – передаваемая информация. Как правило, эти процессы проходят одновременно.
Для работы ОЗУ используются еще 3 сигнала и соответственно 3 проводника. Первый сигнал называется запрос чтения, его получение означает указание памяти прочесть байт. Второй сигнал называется запрос записи, его получение означает указание памяти записать байт. Передача сразу обоих сигналов запрещена. Третий сигнал – сигнал готовности, используемый для того, чтобы память могла сообщить процессору, что она выполнила запрос и готова к приему следующего запроса.
Адрес в машинах с байтовой организацией стал относиться к отдельному байту, и байты получили возрастающие на единицу номера.
Но длина обрабатываемых данных может быть больше, чем один байт. То есть программа может рассматривать группу из более чем одного байта как единицу данных. Группа байт, хранящих определенное значение, обычно называется полем, или элементом данных. Процессор поддерживает следующие форматы данных