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

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

Основные характеристики реального режима






· объем адресуемой памяти - 1 Мб (=220, у них 20-разрядная шина адреса)

· поддерживается выполнение всего одной программы Þ нет потребности в организации защиты программ от взаимного вли­яния

· поддерживается сегментированная модель памяти (оперативная память делится на отдельные участки – сегменты)

· сегмент имеет длину не более 64 Кбайт (216 )

· адрес сегмента располагается в одном из сегментных регистров

· отсутствуют аппа­ратные средства контроля доступа к сегменту Þ любая программа может обратиться к любому адресу в памяти.

· формирование физического адреса происходит по правилам реального режима:

Например:

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

 

 

30. Понятие сегментированной модели памяти. На какие сегменты делится ОП? (л7).

Память делится на непрерывные области памяти, называемые сегментами.

Сама программа может обращаться только к данным, которые находятся в этих сегментах.

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

 

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

 

Операционная система (а не сама программа) размещает сегменты программы в ОП по определенным физическим адресам, а значения этих адресов записывает в определенные места, в зависимости от режима работы микропроцессора:

· в реальном режиме адреса помещаются непосредственно в специальные сегментные регистры (cs, ds, ss, es, gs, fs);

 

Для доступа к данным внутри сегмента обращение производится относительно начала сегмента линейно, т.е. начиная с 0 и заканчивая адресом, равным размеру сегмента. Этот адрес называется смещением (offset).

Таким образом, для обращения к конкретному физическому адресу ОП необходимо определить адрес начала сегмента и смещение внутри сегмента.

Физический адрес принято записывать парой этих значений, разделенных двоеточием

segment: offset

Например, 0040:001Ch; 0000:041Ch; 0020:021Ch; 0041:000Ch.

Пример:

Адрес, локализующий положение сегмента в оперативной памяти, содержится в одном из специальных сегментных регистров процессора, но он тоже 16-разрядный. Для того, чтобы при помощи этого адреса можно было перекрыть все пространство ОЗУ (в реальном режиме 1 Мб), со стороны младшего байта его дополняют четырьмя нулями.

Например, если содержимое сегментного регистра: 0001.1101.1000.1111 (или 1D8F16) то адрес начала соответствующего сегмента будет равен: 0001.1101.1000.1111.0000 (или 1D8F016). Таким образом можно искусственно разделить всю память на сегменты, начинающиеся по адресам, кратным 1610. Предположим, что внутрисегментное смещение нашей ячейки задано числом 1001.1011.0010.0101 или 9В2516, в этом случае ее реальный адрес будет равен сумме адреса сегмента и внутрисегментного смещения: 1D8F016+9B2516 = 2741516 (рис. 4).

 

32. Понятие стековой памяти. Способы записи LIFO, FIFO. Для чего используется стековая память? (л7)

Стек реализуется на базе оперативной памяти. Элементы стека расположены в оперативной памяти,

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

Т.о. существуют два способа записи в стек:

 

а) при первом способе порядок считывания слов соответствует правилу LIFO: последним поступил, первым ушел.

Б) при втором способе порядок считывания слов соответствует правилу FIFO ("first-in-first-out") –по принципу: первым пришел, первым ушел.

 

Элементы стека располагаются в области памяти, отведенной под стек, начиная с вершины стека (т.е. с его максимального адреса) по последовательно уменьшающимся адресам. Адрес верхнего, доступного элемента хранится в регистре-указателе стека SP. Как и любая другая область памяти программы, стек должен входить в какой-то сегмент или образовывать отдельный сегмент. В любом случае сегментный адрес этого сегмента помещается в сегментный регистр стека SS. Таким образом, пара регистров SS:SP описывают адрес доступной ячейки стека: в SS хранится сегментный адрес стека, а в SP - смещение последнего сохраненного в стеке данного.

Операции со стеком поддерживаются двумя регистрами:

1. Регистр сегмента стека (SS). Стеки размещаются в памяти. Количество стеков в системе ограничивается только максимальным числом сегментов. Размер стека не может превышать 4 Гбайт, что соответствует максимальному размеру сегмента (232) бита для процессора i486. В каждый момент времени доступен только один стек, значение сегмента которого содержится в регистре SS. Регистр SS автоматически используется процессором для выполнения всех операций со стеком.

2. Регистр указателя стека (SP). В регистре SP содержится относительный адрес вершины стека в текущем сегменте стека. Его значение используется командами PUSH (добавление в стек) и POP (извлечение из стека), при вызове подпрограмм и при возврате исключениями и прерываниями. При занесении элемента размером в слово (2байта) в стек (смотри Рисунок), процессор уменьшает значение регистра SP на 2, а затем записывает следующий элемент по адресу новой вершины (SP -2)., а содержимое SP уменьшается еще на2 (SP-4) и т.д.. При извлечении данных из стека, процессор копирует элемент в выходную переменную, расположенный по адресу вершины, а затем увеличивает значение регистра указателя стека. Иными словами, стек растет вниз, в сторону уменьшения адресов.

Оперативная память
адрес содержимое  
   
   
   
... ...
SP элементы <=вершина стека
SP - 2 стека  
SP - 4  
... ...
-2  

Рисунок. Стеки

push X ~ SP:= SP − 2; m [SP]:= X;pop X ~ X:= m [SP]; SP:= SP + 2;

Здесь через m[SP] обозначается содержимое слова памяти с адресом SP (m - сокращение от memory ).

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

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







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



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

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

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