Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сегментация памяти и вычисление адресов

Размещение байт и слов в памяти

ЛАБОРАТОРНЫЕ РАБОТЫ

Память логически организована как одномерный массив байт, каждый из которых, имеет 20-битовый физический адрес в диапазоне от 00000 – до FFFFF. Любые два смежных байта в памяти могут рассматриваться как одно 16-ти разрядное слово. Младший байт слова всегда имеет меньший адрес, а старший – больший адрес. Адресом слова считается адрес его младшего байта.

 

Пространство памяти емкостью 1Мбайт рассматривается как набор сегментов, определяемых программным путем. Сегмент состоит из смежных ячеек памяти, и является независимой и отдельно адресуемой единицей памяти емкостью 64 Кбайт. Каждому сегменту программой назначается начальный (базовый) адрес, являющийся адресом первого байта сегмента в пространстве памяти. Начальные адреса четырех сегментов, выбранных в качестве текущих, записываются в сегментные регистры CS, DS, SS, ES.

Сегментные регистры

Регистр CS – сегментный программный (кодовый) регистр;

DS – регистрдля обращения к сегменту данных;

SS – регистр для обращения к сегменту стека;

ES – регистр для обращения к дополнительным данным.

Для обращения к командам и данным, находящимся в других сегментах, необходимо изменить содержимое сегментных регистров, что позволяет использовать все пространство памяти. Сегментные регистры инициализируются в начале программы путем засылки в них соответствующих констант.

В сегментном регистре хранится 16 старших разрядов 20-битового начального адреса сегмента. Четыре младших бита адреса принимаются равными нулю и дописываются справа к содержимому сегментного регистра при вычислении физических адресов ячеек памяти. Поэтому начальные адреса сегментов всегда кратны 24 =16. Сегменты могут быть соседними (смежными), неперекрывающимися, частично или полностью перекрывающимися. Физическая ячейка памяти может принадлежать одному или нескольким сегментам.

Физический адрес ячейки памяти представляет собой 20-ти битовое число в диапазоне 00000 – FFFFF, которое однозначно определяет положение каждого байта в пространстве памяти емкостью 1Мбайт.

Логический адрес ячейки памяти состоит из двух 16-ти битовых без знаковых значений: начального адреса сегмента, который называется базой, и внутрисегментного смещения EA, которое определяет расстояние от начала сегмента до адресуемой ячейки. Для вычисления физического адреса база сегмента сдвигается влево на 4 разряда и суммируется со смещением EA.

Смещение ЕА – эффективный адрес, вычисляемый в соответствии с заданным способом адресации.

Сегментная структура памяти обеспечивает возможность создания позиционно независимых или динамически перемещаемых программ, что необходимо в мульти программной среде. Это позволяет произвольно перемещать программу в адресном пространстве памяти, изменяя только содержимое сегментных регистров.

Стек организуется в ОЗУ по принципу скользящей вершины и его положение в ОЗУ определяется содержимым регистров SS (база) и SP (смещение). Регистр SS хранит базовый адрес текущего сегмента стека, а регистр SP указывает на вершину стека, т.е. содержит смещение вершины стека в стековом сегменте. При каждом обращении к стеку пересылается одно слово, причем содержимое SP изменяется автоматически: при записи в стек слова содержимое SP уменьшается на два, а при чтении из стека – увеличивается на два.

 

 

<== предыдущая лекция | следующая лекция ==>
Переупорядочивание команд | Регистры микропроцессора и форматы команд
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 1338; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.