Структура основной памяти оп

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

ОП
00000FFF=409510
00001000=409610
Нулевой блок ОП
Первый блок ОП
Второй
10242
00001FFF=8191
00002000=819210
00002FFF
FFFFF000
FFFFFFFF
8 шестнадцатеричных разрядов ХХХХХ ХХХ XXXXX XXX
Номер блока ОП
Смещение относительно начала блока или базового адреса
структура основной памяти оп - student2.ru структура основной памяти оп - student2.ru

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

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

А=[В]+D (2.1)

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

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

Структура и организация СОП

СОП также является адресной памятью, каждая ячейка имеет свой собственный адрес или номер (Рис.2.2). У этой памяти есть и другое название– регистры общего назначения ( РОН). Она состоит из 16-ти 32-х разрядных регистров общего назначения. Поскольку, среди числовых форматов «данных», есть форматы, которые могут иметь длину 8 байт, то разработчикам современных ЭВМ пришлось базе тех же стандартных, соседних РОН, только спаренных по два, условно выделить четыре регистра с плавающей запятой (РПЗ) с уникальными четными номерами 0,2,4,6. РПЗ с номером 0-это спаренные РОН с номерами 0 и 1, 2-это 2 и 3, 4-это 4 и 5, 6-это 6 и 7.

Номер регистра Двоичный адрес регистра (R) РОН РПЗ
A B C D E F 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0 63   0 63   0 63   0 63    

Рис 2.2. Структура СОП.

Использование СОП позволяет повысить среднюю скорость выполнения операций, поскольку СОП имеет меньший цикл обращения по сравнению с ОП. СОП используется для временного хранения операндов и результатов арифметических операций, а также для хранения базовых адресов и индексов переменных типа массив (констант модификации адресов) при формировании исполнительных (абсолютных) адресов ОП. Вопрос двойного назначения регистров с номерами 0, 2, 4 и 6, использующихся в машинных командах, решается при помощи полей кодов операций (КОП), в которых заложена информация о форматах «данных», обработка которых будет осуществляться при помощи данной команды.



Наши рекомендации