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

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

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





Обмен информацией между процессором и оперативной памятью при работе компьютера осуществляется с помощью трех шин: шины адреса (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; просмотров: 1570. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

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

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

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

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