Структура основной памяти (ОП)

ОП является адресной памятью, состоит из огромного количества 8-разрядных ячеек, каждая из которых имеет свой уникальный 16-ричный адрес.

Структура ОП приведена на рис. 5.1. Реализация относительной адресации связана с условным разбиением ОП на блоки по 4096 байтов. Справа от структуры ОП в общем виде представлена структура адреса произвольного байта ОП.

 

ОП
00000000==00 =
00000FFF=409510
00001000=409610
«0»-ой блок ОП блок ОП
«1»-ый блок ОП блок ОП
«2»-ой блок ОП
«10242-1»-ый блок ОП
00001FFF=8191
00002000=819210
00002FFF
FFFFF000
FFFFFFFF
Структура адреса ячейки ОП ХХХХХ ХХХ XXXXX XXX
Номер блока ОП
Смещ. отн. начала бл. или баз. адреса

Рис. 5.1. Блочная организация ОП

 

Формирование адреса осуществляется при помощи двух частей: пять старших битов соответствуют номеру блока, а три младших – смещению относительно начала блока. Начало каждого блока совпадает с адресом ее первого байта, значение которого кратно 4096. Этот адрес получил называние базового. Поскольку объем блока равен 4096, то базовым может считаться адрес. кратный 4096, или адрес, в котором 3 младшие шестнадцатеричные цифры равны 0. Отсчет блоков начинается с 0.

Самые верхние 4096 байтов образуют «0» блок ОП. Понятие базового адреса используется при вычислении абсолютных или исполнительных адресов операндов, размещающихся в ОП. В пределах каждого блока адрес любого байта определяется 12-ти разрядным двоичным или 3-х разрядным 16-ричным числом, которое называется смещением и обозначается в машинных командах латинской буквой «D». Смещение может принимать значение от ООО16 до FFF16. Если при помощи выражения [В] обозначить содержимое регистра СОП, в котором находится значение базового адреса, то значение любого абсолютного адреса «А» ОП можно определить по формуле

 

А=[В]+D, (5.1)

где А, [В] и D представляются в 16-ричной системе счисления.

 

Если программы и данные располагаются в нескольких блоках основной памяти, то в регистрах общего назначения приходится хранить несколько базовых адресов (БА). Местом хранения базовых адресов являются регистры общего назначения СОП. Применение относительной адресации упрощает процесс перемещения программ в ОП. Для этого достаточно поменять значения базовых адресов в регистрах СОП. Распределение ОП и назначение БА осуществляется автоматически управляющей программой операционной системы. При программировании на машинно-ориентированных языках (Ассемблерах) программистам, как правило, самим приходится назначать базовые адреса и распределять основную память. Эти операции приходится выполнять и при составлении программ для микроконтроллеров. Назначение нескольких базовых адресов для одной и той же программы происходит в тех случаях, когда объем программы и данных требуют объема, большего, чем 4096 байтов. Распределение ОП между несколькими программами, исходя из блочной организации памяти, осуществляется исключительно блоками со стандартными объемами 4096 байтов. При оперировании с «данными», имеющими длины полуслов, слов или двойных слов, в качестве абсолютных адресов в командах выступают адреса самых младших байтов полей ОП, закрепленных за этими переменными.








Дата добавления: 2016-03-15; просмотров: 894;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.