Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы работы микропроцессоров :: Логическое представление системной памяти вычислителя

Логическое представление системной памяти вычислителя

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

Логическая организация памяти - это представление устройств хранения данных как одномерных массивов ячеек с определенными правилами адресации.

Физическая организация памяти - способ взаимного соединения микросхем ОЗУ и ПЗУ для достижения требуемой разрядности и объема, принципы их подключения к системным шинам адреса и данных, а также протокол обмена данными.

С точки зрения логической организации все устройства в системе могут рассматриваться как последовательный набор ячеек памяти или регистров. К любому из этих элементов (ячеек) процессор обращается по его условному порядковому номеру - адресуячейки памяти или регистра порта ввода-вывода.Максимально допустимое для данного процессора количество отдельно адресуемых ячеек памяти и регистров портов или контроллеров называется адресным пространством (АП)данного процессора. Адресное пространство традиционно подразделяют на системное (основное) АП и адресное пространство ввода-вывода (АПВВ), подразумевая под этим не только различие в схемотехническом построении микросхем памяти и портов ВВ, но и различные формы адресации и протоколы передачи.

Адрес ячейки памяти или регистра порта, к которому производится обращение, процессор указывает в виде кода, выставленного на шину адреса (ША). Объем адресного пространства и потенциально возможное количество адресов ячеек в системе связаны с разрядностью m шины адреса процессора соотношением

При этом набор возможных значений адресов лежит в диапазоне . Объем АП, допустимый по разрядности ША, может быть расширен за счет использования управляющих сигналов, что позволяет одновременно иметь в системе основное АП и АПВВ, диапазоны адресов которых накладываются

Источники адресной информации различаются в зависимости от действий процессора: при чтении команд из памяти источником адресной информации, выставленной на ША, является счетчик команд PC. При этом содержимое регистра PCавтоматически изменяется на количество считанных байтов команды. В случае доступа к данным либо записи данных в память или регистры портов источником адреса является адресная часть команды (прямая адресация) или один из регистров процессора, указанный в команде (косвенная адресация).

Если емкость каждой отдельно адресуемой ячейки памяти равна одному байту, говорят, что память имеет байтную организацию. Некоторые процессоры допускают организацию памяти также в виде слов (2 байта, 16 битов), а также битовуюадресацию отдельных участков памяти.

Логически память удобно также представлять в виде сегментов - участков с различным функциональным назначением (см. рис. 3.2):

·       сегмент кода – область памяти, в которой располагают коды команд программы вычислителя, а также используемые константы;

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

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

Сегментация памяти может присутствовать или только на логическом уровне, что обусловлено удобством при разработке программ, или может поддерживаться аппаратной структурой процессора. Практически все современные микропроцессоры имеют в своем составе специальные регистры, в которых при работе содержатся начальные адреса текущих активных сегментов кода, данных и стека. Например, для процессоров серии Intel 80x86 традиционны имена этих регистров: CS, DS и SS соответственно.

Рис. 3.2. Логическая модель памяти вычислителя для разрядности адреса m=16:

1 - сегмент кода программы; 2- сегмент данных; 3 - сегмент стека;
4 - области, не используемые программным обеспечением.

При рассмотрении структуры и содержимого памяти вычислителя следует использовать некоторые общепринятые правила:

·     Поскольку разрядности шины адреса может составлять 16, 20 или более разрядов, адреса ячеек памяти и УВВ при написании программ и рассмотрении работы вычислителя принято указывать в шестнадцатеричной системе счисления. Таким образом, при разрядности шины адреса объем АП составит байт с адресами от 0000hдоFFFFh;

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

Указанный принцип размещения данных поддерживается всеми системами программирования и компиляторами с языков низкого и высокого уровня.