Логическое представление системной памяти вычислителя
При рассмотрении структуры памяти вычислительного устройства удобно также пользоваться понятиями физической и логической организации.
Логическая организация памяти - это представление устройств хранения данных как одномерных массивов ячеек с определенными правилами адресации.
Физическая организация памяти - способ взаимного соединения микросхем ОЗУ и ПЗУ для достижения требуемой разрядности и объема, принципы их подключения к системным шинам адреса и данных, а также протокол обмена данными.
С точки зрения логической организации все устройства в системе могут рассматриваться как последовательный набор ячеек памяти или регистров. К любому из этих элементов (ячеек) процессор обращается по его условному порядковому номеру - адресуячейки памяти или регистра порта ввода-вывода.Максимально допустимое для данного процессора количество отдельно адресуемых ячеек памяти и регистров портов или контроллеров называется адресным пространством (АП)данного процессора. Адресное пространство традиционно подразделяют на системное (основное) АП и адресное пространство ввода-вывода (АПВВ), подразумевая под этим не только различие в схемотехническом построении микросхем памяти и портов ВВ, но и различные формы адресации и протоколы передачи.
Адрес ячейки памяти или регистра порта, к которому производится обращение, процессор указывает в виде кода, выставленного на шину адреса (ША). Объем адресного пространства и потенциально возможное количество адресов ячеек в системе связаны с разрядностью m шины адреса процессора соотношением
При этом набор возможных значений адресов лежит в диапазоне . Объем АП, допустимый по разрядности ША, может быть расширен за счет использования управляющих сигналов, что позволяет одновременно иметь в системе основное АП и АПВВ, диапазоны адресов которых накладываются
Источники адресной информации различаются в зависимости от действий процессора: при чтении команд из памяти источником адресной информации, выставленной на ША, является счетчик команд PC. При этом содержимое регистра PCавтоматически изменяется на количество считанных байтов команды. В случае доступа к данным либо записи данных в память или регистры портов источником адреса является адресная часть команды (прямая адресация) или один из регистров процессора, указанный в команде (косвенная адресация).
Если емкость каждой отдельно адресуемой ячейки памяти равна одному байту, говорят, что память имеет байтную организацию. Некоторые процессоры допускают организацию памяти также в виде слов (2 байта, 16 битов), а также битовуюадресацию отдельных участков памяти.
Логически память удобно также представлять в виде сегментов - участков с различным функциональным назначением (см. рис. 3.2):
· сегмент кода – область памяти, в которой располагают коды команд программы вычислителя, а также используемые константы;
· сегмент данных – область, предназначенная для размещения информации, обрабатываемой вычислителем и, как правило, изменяемой в процессе работы (данные с измерителей, промежуточные и конечные результаты вычислений, выходная информация);
· сегмент стека– участок памяти для временного хранения данных и адресной информации, при работе с которым программист использует протоколпоследовательногодоступа к информации.
Сегментация памяти может присутствовать или только на логическом уровне, что обусловлено удобством при разработке программ, или может поддерживаться аппаратной структурой процессора. Практически все современные микропроцессоры имеют в своем составе специальные регистры, в которых при работе содержатся начальные адреса текущих активных сегментов кода, данных и стека. Например, для процессоров серии Intel 80x86 традиционны имена этих регистров: CS, DS и SS соответственно.
Рис. 3.2. Логическая модель памяти вычислителя для разрядности адреса m=16:
1 - сегмент кода программы; 2- сегмент данных; 3 - сегмент стека; 4 - области, не используемые программным обеспечением.
При рассмотрении структуры и содержимого памяти вычислителя следует использовать некоторые общепринятые правила:
· Поскольку разрядности шины адреса может составлять 16, 20 или более разрядов, адреса ячеек памяти и УВВ при написании программ и рассмотрении работы вычислителя принято указывать в шестнадцатеричной системе счисления. Таким образом, при разрядности шины адреса объем АП составит байт с адресами от 0000hдоFFFFh;
· если для размещения в памяти некоторого информационного объекта требуется несколько соседних ячеек памяти, то адресом этого объекта (адресом команды, числа, массива и т.п.) считают адрес его первого байта, причем для чисел принят следующий принцип размещения в памяти: младший байт числа должен располагаться по младшему адресу; следовательно, адресом числа является адрес его младшего байта.
Указанный принцип размещения данных поддерживается всеми системами программирования и компиляторами с языков низкого и высокого уровня.
|