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

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

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






· объем адресуемой памяти - 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; просмотров: 954. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

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