Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Сегментная адресация и сегментная структура программ






Организация электронно-вычислительных машин

Преподаватель: Карельская Катерина Александровна, доцент каф. ЭВМ, к.т.н.

7 семестр – зачёт + курсовая работа

 

Лекция 1

Сегментная адресация и сегментная структура программ

Важнейшей характеристикой любого процессора является разрядность его внутренних регистров, а так же внешних шин адреса и данных.

Процессор i8086 имеет 16-ти разрядную внутреннюю архитектуру и 16-ти разрядную шину данных.

Максимальное целое число (либо данное, либо адрес), с которым может работать процессор составляет 216 -1 = 64 кбайта.

Адресная шина процессора содержит 20 линий, а соответствует адресному пространству 220 = 1Мбайт.

Чтобы получить физический двадцати разрядный адрес ячейки, необходимо выполнить следующее:

Взять физический адрес начала сегмента в памяти и сложить его со смещением. Таким образом, получается физический 20ти разрядный адрес адресуемой ячейки.

 

Таким образом, диапазон адресуемых ячеек составляет 1 Мбайт.

 

32-ти разрядные процессоры (Pentium) имеют 32-ти разрядную адресную шину, а это соответствует адресному пространству в 232 = 4 Гбайт, но описанный способ сегментной адресации не позволяет выйти за пределы одного Мбайта. Для преодоления такого ограничения 32-ти разрядные процессоры используют два режима работы: реальный режим (режим реального адреса) и защищенный режим (режим виртуального защищенного адреса).

В реальном режиме процессор функционируют как i8086 с повышенным быстродействием. Может обращаться лишь к одному мегабайта адресного пространства. Остальная памяти (даже если она установлена) не используется.

Защищенный режим всё равно использует сегменты и смещения в них, но начальные адреса сегментов не вычисляются, а извлекаются из специальных таблиц (называют «Таблицы дескрипторов сегментов»).

Каждый дескриптор сегмента занимает 8байт, из которых 4 байта (32 бита) отводится под сегментный адрес. И тем самым обеспечивается полное использование 32-х разрядного адресного пространства.

 

Итак, сегмент – это логическое образование, которое накладывается на требуемые участки физического адресного пространства. Размер сегмента находится в пределах от 0 до 64 кбайт.

 

Любая выполнимая программа должна обязательно состоят из сегментов, которых обычно три (три типа сегментов): сегмент команд, сегмент данных, сегмент стеков.

Каждого вида сегментов может быть несколько.

 

CS – сегмент команд - обеспечивает адресацию к сегменту, в котором находятся программные коды.

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

SS – сегмент стека.

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

 

Регистры общего назначения – РОН:

AX (15-0) – аккумулятор = AH (15-8) + AL (7-0)

BX (15-0) – базовый регистр

CX (15-0) - счетчик

DX (15-0) - регистр данных

Программист может использовать РОН по своему усмотрению для временного хранения любых объектов и выполнением над ними требуемых операций. Регистры допускают независимое обращение к младшему и старшему байтам.

(Предпочтительно использовать АХ).

 

Регистры-указатели:

SI – индекс источника

DI – индекс приемника

BP – указатель базы

SP – указатель стека

Основные назначение: хранить индексы (то есть смещения) относительно некоторых базы. Адрес базы находится обычно в ВХ.

 

Регистр флагов: включается шесть флагов состояния и три бита управления состояния процессора.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.