Студопедия — Линейная и сегментированная модели памяти.
Студопедия Главная Случайная страница Обратная связь

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

Линейная и сегментированная модели памяти.






Обмен информацией между процессором и оперативной памятью при работе компьютера осуществляется с помощью трех шин: шины адреса (AB - Address Bus), шины данных (DB – Data Bus) и шины управления (CB – Control Bus).

Аппаратный интерфейс между выходными шинами процессора и памятью компьютера в принципе одинаков практически для всех компьютеров. Процессор формирует на адресной шине, требуемый физический адрес памяти. При этом на шину управления им выдаются управляющие сигналы считывания или записи, а на шину данных поступают от процессора данные для записи в память, либо из памяти поступают запрашиваемые данные для передачи в процессор. Процессор, имеющий n проводников (разрядов) в шине адреса, может обращаться к памяти с максимальным объемом в 2 ячеек. Описанный интерфейс процессора с памятью определяет линейную или плоскую (flat) модель памяти. Каждый из 2 возможных кодов, выдаваемых процессором на шину адреса, выбирает одну определенную ячейку памяти.

Однако, код физического адреса, выдаваемого на адресную шину, не у всех процессоров совпадает с представлением адреса в командах программы. Так, в процессорах семейства х86 адрес в командах обычно представляет только одну составляющую полного физического адреса. Другая составляющая предварительно заносится в один из сегментных регистров. Эти две составляющие образуют логический или виртуальный адрес. Такое представление адреса является следствием использования так называемой сегментированной модели памяти, которая существенно отличается от линейной модели. При сегментированной модели памяти адресное пространство разделено на блоки смежных адресов, называемых сегментами, в которых размещаются программы и данные. При этом программа может обращаться только к данным, находящимся в заданных, текущих, сегментах. Начальные же адреса, используемых в данное время сегментов в адресном пространстве, определяются кодами, которые заносятся в соответствующие сегментные регистры. Обычно выделяются сегменты кода (программные сегменты), сегменты стека и несколько сегментов данных.

Логический адрес представляется в форме Seg:Offset, где Seg (Segment) – имя соответствующего сегментного регистра, а Offset – смещение в этом сегменте.

Главной задачей системы управления памятью в процессоре, является формирование из логических адресов, указываемых в программе, физических адресов, выдаваемых процессором на адресную шину компьютера.

 

2. Формирование физического адреса в МП 8086.

В МП 8086, а также при реальном режиме работы (R-режиме) всех последующих моделей процессоров семейства х86, определены четыре типа сегментов: сегмент кода (CS), где размещаются программы; сегмент стека (SS), для запоминания стековых данных и два сегмента данных, основной (DS) и дополнительный (ES). При этом все сегменты имеют один и тот же размер – 64Кбайта. Для того, чтобы определить начальные адреса этих сегментов во всём используемом адресном пространстве 1 мегабайт, необходим 20 разрядный физический адрес. Старшие 16 разрядов этого адреса размещаются в соответствующем сегментном регистре (CS, DS, SS, ES). Младшие 4 разряда этих адресов подразумеваются равными нулю. Следовательно, размещение указанных сегментов в адресном пространстве может осуществляться с дискретностью 16 байт.

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

1. В кодовом сегменте – содержимым регистра указателя

инструкций IP.

2. В сегментах данных – указывается в команде: либо некоторой константой, при прямой адресации; либо содержимым одного из индексных регистров (SI, DI), при операциях со строками, или так называемым эффективным адресом EA (при косвенной адресации). Последний, в общем случае, может являться суммой трех составляющих: содержимого базового регистра BX или BP, одного из индексных регистров SI или DI, а также некоторой константы (смещения в команде). Причем, некоторые из них могут при этом отсутствовать.

3. В сегменте стека – определяется в большинстве случаев содержимым регистра указателя стека (SP). Однако, если при формировании эффективного адреса EA, вместо регистра BX используется регистр BP, то автоматически адресуется сегмент стека SS, а не сегмент данных DS. При этом, принцип стека «первый пришел – последний вышел» игнорируется, и ячейки стекового сегмента рассматриваются как ОЗУ с произвольной выборкой.

Следует, однако, отметить, что в ряде случаев, пользуясь так называемыми префиксами замены сегментов, можно изменить сегмент, заданный по умолчанию, для которого в команде указано внутрисегментное смещение. Но это не касается сегментов CS, SS и ES.

Формирование 20-ти разрядного физического адреса из логического (виртуального), т.е. из совокупности 16 разрядного указателя начального адреса сегмента (расположенного в сегментном регистре) и 16 разрядного смещения в сегменте осуществляется следующим образом. Указатель начального адреса сегмента выбирается из соответствующего регистра, сдвигается на 4 двоичных разряда влево (т.е. умножается на 16), образуя собственно начальный адрес сегмента, и суммируясь со смещением в сегменте, указанном в команде, образует физический адрес задаваемой ячейки памяти (см. рис III.1).

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

Такая простая сегментация адресного пространства позволила использовать адресное пространство в 1Мбайт, с помощью 16 разрядных адресов, указываемых в команде. Однако она имеет и существенные недостатки, которые усложняют разработку мультизадачных систем. Они заключаются в следующем.

1. Сегменты памяти определяются только сегментными регистрами и описываются всего двумя атрибутами: начальным адресом и максимальным размером, равным 64Кбайт.

2. Размещение сегментов в памяти произвольно: сегменты могут пересекаться частично или полностью.

3. Программа может обращаться по любому адресу, как для считывания, так и записи данных, а также для выборки команд. Нет никаких препятствий для обращения даже к физически несуществующей памяти, что может привести к зависанию системы.

 

 

Рис.III.1 Формирование физического адреса МП семейства х86 в

реальном режиме работы (R-режиме).

 

Для устранения этих недостатков в МП семейства х86 дальнейших типов был введен, так называемый, защищенный режим работы процессора или P – режим. При этом режиме, в процессорах имеются гибкие средства организации сегментов с большим числом атрибутов и эффективные механизмы контроля и защиты доступа к сегментам. Однако поместить всю эту информацию в одном 16 разрядном сегментном регистре было просто невозможно. Поэтому для ее размещения были введены специальные 8 байтные структуры данных, названные дескрипторами,которые полностью описывали соответствующие сегменты. А обращение к этим дескрипторам осуществлялось через соответствующие сегментные регистры, содержимое которых, в этом случае, получило название селекторов. Поэтому, прежде чем рассматривать принципы формирования физического адреса в процессорах семейства Х86 в защищенном режиме работы, посмотрим, какие сегменты памяти определены в этом режиме, и каковы структуры дескрипторов, описывающих эти сегменты.

 







Дата добавления: 2015-08-12; просмотров: 1525. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия