22989

Віртуальна пам’ять. Мікропроцесор 80286

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Мікропроцесор 80286 Як добре відомо процесор може безпосередньо працювати лише з тією інформацією яка записана в його оперативній пам’яті. Однак об’єм оперативної пам’яті у сучасних ЕОМ порівняно невеликий і часто виявляється недостатнім для розв’язання більшменш складних задач. Віртуальна організація пам’яті дає користувачеві практично необмежений об’єм пам’яті.

Украинкский

2013-08-04

4.24 MB

0 чел.

Лекція №18

Віртуальна память.

Мікропроцесор 80286

 Як добре відомо, процесор може безпосередньо працювати лише з тією інформацією, яка записана в його оперативній памяті. Вихідним джерелом цієї інформації є жорсткий диск, з якого вона списується при ініціалізації роботи ЕОМ, і може модифікуватися і поповнюватися в процесі роботи машини. Однак обєм оперативної памяті у сучасних ЕОМ порівняно невеликий і часто виявляється недостатнім для розвязання  більш-менш складних задач.

Віртуальна організація памяті дає користувачеві практично необмежений обєм памяті. Ідея віртуальної памяті полягає в тому щоб залучити до поточної роботи з процесором увесь обєм дискової памяті, який у сучасних жорстких дисків може складати десятки гігабайтів.

Коли процесорові, що працює в режимі віртуальної памяті, потрібна інформація, якої у даний момент немає у оперативній памяті, але є на диску, він (тобто процесор) копіює з диска в оперативну память той блок, в якому знаходиться потрібна інформація.  Такі блоки мають назву сегментів і можуть мати довільний обєм. А старий, вже непотрібний сегмент повертається на диск разом з усіма внесеними до нього змінами.

 На зміну  сегментів потрібний, звичайно, певний час і можуть виникнути сумніви, чи не надто сповільнить роботу ЕОМ таке часте “перестрибування” від одного сегменту до іншого. Однак, на щастя, структура більшості програм така, що потрібні для виконання програми слова не дуже віддалені одне від одного в адресному просторі (це і є згадувана вище локальність програми) і перехід від одного сегменту до іншого відбувається не дуже часто.

Що ж стосується адресації  процесора до великого адресного простору, то тут особливих труднощів не виникає, бо сучасні мікропроцесори мають змогу адресуватися до адресного простору, що набагато перевищує реальний обєм оперативної памяті. Так наприклад, при 32-розряднній шині адреси можна звертатися до обємів памяті у 4 гігабайти, що буває цілком достатнім для розвязання будь-яких задач.

Головна ж проблема полягає в тому, щоб упорядковано упоруватися і підтримувати порядок у тому величезному “хазяйстві”, яке являє собою обєм віртуальної памяті. Дійсно, при роботі   межах одного сегменту  особливих проблем не виникає  (як це мало місце, наприклад при роботі з МП-86, де обєм сегменту не перевищував 64кбайт). При роботі ж з віртуальною памяттю доступний для користувача обєм збільшується на кілька порядків.

 Друга проблема полягає у тому, щоб при одночасному знаходженні у дисковій памяті багатьох сегментів і оперування з ними не допустити плутанини і вторгнення програм у “чужі” сегменти. Так наприклад, сегменти  операційної системи (а особливо її ядро) мають бути надійно захищені від можливих випадкових вторгнень з боку прикладних програм. А для прикладних програм у мультипрограмному режимі повинні бути встановлені привілеї і пріоритети, за якими супервізор буде вводити їх у дію. Все це має бути враховано при організації віртуальної памяті.  

Зясувавши необхідність і ідею здійснення віртуальної памяті, розглянемо тепер деякі аспекти її реалізації. Схема організації віртуальної памяті зображена на рис.18.1.

Логічна адреса, за якою складається фізична адреса шуканого байта, в МП-86 складається з базової адреси програмного сегмента (ця адреса зберігається в регістрах CS,DS, тощо) і ефективної адрес ЕА (зміщення у сегменті). Підсумовуючи належним чином ці дві частини логічної адреси, ми одержуємо фізичну адресу.

В мікропроцесорах, починаючи з МП-286, де можлива віртуальна память, справа набагато складніша, тому що обєм віртуальної памяті тут набагато більший, аніж фізична память в МП-86. В цих процесорах весь обєм віртуальної памяті поділений на велику кількість сегментів. Кожний з цих сегментів має певні атрибути, що його характеризують: початкову (базову) адресу, обєм, захищеність, доступність, привілеї. Всі ці відомості про сегмент зібрані в так званому дескрипторі сегмента - вісьмибайтовому слові, яке описує і характеризує всі параметри і властивості даного сегмента. Це начебто ярлик або пашпорт цього сегмента. Вміст дескрипторів записаний в дисковій памяті за певними адресами. Це начебто каталог програмних сегментів.

При підготовці задачі до розвязання операційна система складає список  (таблицю) адрес  дескрипторів  тих сегментів, котрі будуть використані і задіяні при розв’язанні задачі. Складання таких таблиць відбувається на етапі компонування програми.

Ці таблиці бувають двох типів: глобальна таблиця дескрипторів (GDT) і локальні таблиці дескрипторів (LDT).  Таблиця GDT - одна в системі. До неї записуються дескриптори сегментів, які можуть бути задіяні при виконанні багатьох задач. Звичайно в GDT знаходиться перелік сегментів операційної системи, котрі можуть знадобиться для даної задачі.

Таблиць LDT може бути багато. Ці таблиці містять перелік сегментів програм, що працюють під керівництвом операційної системи, тобто прикладних програм окремих задач. Таблиці дескрипторів в МП-286 можуть мати обєм від 8 байтів до 64 кілобайтів, тобто можуть містити від одного до 8192 дескрипторів. Кожній таблиці відповідає свій базовий регістр GDTR та  LDTR  в котрих записані базові адреси відповідних таблиць.

Логічна адреса, за якою складається певна фізична адреса, складається з двох частин: ефективної адреси і селектора, який тепер виконує функції колишньої базової адреси. Селектор дозволяє однозначно відшукати потрібний програмний сегмент і визначити його базову адресу.

В селекторі міститься 13-бітовий індекс, який являє собою зміщення для шуканого дескриптора у відповідній таблиці дескрипторів. Цей індекс підсумовується з базовою адресою таблиці (яка міситься в регістрах GDTR або LDTR) і таким чином одержується адреса дескриптора. За цією адресою дескриптор відшукується і копіюється у кеш-пам’ять дескрипторів, де одночасно можуть бути розміщені чотири таких дескриптори.

Основну частину 64-бітового (тобто 8-байтового) дескриптора складає 24-розрядна базова адреса шуканого сегмента. По ній визначається і обирається сегмент. А ефективна адреса дає зміщення шуканого байта у цьому сегменті.

Таким  чином знайомий нам принцип складання адреси як “база + зміщення” використовується тут двічі. Спочатку на такий спосіб відшукується дескриптор: його адреса формується шляхом підсумовування бази таблиці дескрипторів і зміщення в ній, яке знаходиться в селекторі. Знайдений дескриптор містить базову адресу бажаного сегмента, а зміщення (тобто ефективна адреса потрібної комірки пам’яті) міститься у логічній адресі.

В залежності від важливості для функціонування машини усі сегменти, що знаходяться у пам’яті, мають різний ступінь захищеності і права доступу до них. Всього є 4 ступені захищеності. Найвища захищеність (0) надана сегментам що складають ядро операційної системи, захищеність першого порядку (1) надається решті операційної системи; найнижчі рівні (2 та 3) - прикладним програмам. Рівень захищеності даного сегмента зафіксований в спеціальних бітах його дескриптора.

З другого боку, в селекторі, у двох його наймолодших бітах записане право доступу до сегментів. Операційна система порівнює право на доступ записане в селекторі з рівнем захищеності записаним в дескрипторі шуканого сегмента. Сегмент викликається лише у тому разі, якщо права на  доступ не нижчі від рівня захищеності сегмента.

Додатковим методом захисту є порівняння ефективної адреси з розміром сегмента, записаним в його дескрипторі. Якщо ефективна адреса виявиться більшою за розмір сегмента, то операційна система розцінить це як помилку.

Всі ці міроприємства надійно захищають найвідповідальніші сегменти пам’яті, а також сегменти прикладних програм.

Як це ми зазначали з самого початку, процесор може працювати лише з тими сегментами, які  записані в оперативну пам’ять машини. Якщо ж програмою буде виданий запит на логічну адресу, якої немає в операційній пам’яті і яка знаходиться на диску, то операційна система провадить таку процедуру:

процесор перевіряє таблицю дескрипторів і виявляє, що такого сегмента в операційній пам’яті немає;

відсутність сегмента викликає переривання;

виконується запис  з диска потрібного сегмента в режимі ПДП;

операційна система корегує таблицю дескрипторів;

керування передається перерваній програмі.

При переповнення операційної пам’яті операційна система повертає сегменти, що давно не використовувались, на диск.

Для  кращого розуміння того, що являє собою дескриптор,  можна запропонувати таку аналогію:

“Пошук книги в бібліотеці і пошук комірки пам’яті в ЕОМ у захищеному режимі”

Пошук книги

Пошук комірки памяті

Потрібна шафа у картотеці

Регістр базової адреси таблиці дескрипторів

Номер шухлядки на потрібну тему

Селектор

Картка в шухлядці

Дескриптор сегмента

Книга

Сегмент

Номер потрібної сторінки

Зміщення в сегменті (ефективна адреса)

Мікропроцесор 80286

Випуск мікропроцесорів типу 80286 розпочався у 1983р. і досяг свого максимума у 1989р. Цей процесор є подальшім вдосконаленням МП-86, але на відміну від нього містить деякі принципові новації і характеризується такими параметрами:

розрядність шини даних 16 (але допускає роботу з однобайтовими операндами);

розрядність шини адреси 24, отже процесор може адресуватися до 2 24 = 16 Мбайт фізичних адрес і до 2 30 = 1 Гбайт  у режимі віртуальної адресації;

тактова частота для його різновидів складає від 12 до 16 МГц. Це забезпечує швидкість обміну з памяттю більш від 12 Мбайт/сек і продуктивність 1.2 MIPS ( мільйонів команд за секунду). Зауважимо, що мікропроцесор МП-86 мав продуктивність лише 0.33 MIPS.

Процесор 80286 має чотирьохрівневу систему захисту програм і даних. Його система команд дещо розширена порівняно з МП-86 та МП-88, отже МП-286 може вільно виконувати програми складені для його “молодших братів”, але не навпаки.

Процесор МП-286 містить 130 000 транзисторів, він розташований у керамічному корпусі з 68 виводами і живиться напругою +5В. На основі цього процесора виготовлялась ПЕОМ типу PC/AT, яка набула у свій час великого поширення.

Структурна схема мікропроцесора 80286 зображена на рис. 18.2 і в основних рисах подібна до схеми МП-86. Вона також складається з шинного інтерфейсу, оперативного пристрою та керуючого пристрою. Від шинного інтерфейсу МП-86 пристрій спряжіння з системною шиною у МП-286 відрізняється розрядністю шини адрес та тим, що ША і ШД в нього не мультиплексовані. Це дозволяє робити конвеєрізацію адреси, дещо виграючи завдяки цьому у швидкодії. Від шинного інтерфейсу крім ША та ШД відходять також виводи керуючих сигналів ,,, CLK, READY, RESET, та інші. Передбачені також виводи для спряжіння з математичним співпроцесором 80287. До складу шинного інтерфейсу входить також черга команд у 6 байтів. Після декодування одержані мікрокоманди не потрапляють безпосередньо на операційний блок процесора, а проходять через чергу мікрокоманд (3 регістри по 69 бітів). Черги команд і мікрокоманд дозволяють більш економно використовувати машинний час виконавчих блоків.

Операційний (виконавчий) пристрій, у принципі, майже нічим не відрізняється від відповідного пристрою МП-86 і містить вже добре знайомі нам 16/8-розрядні робочі регістри AX,BX,CX,DX, шістнадятирозрядні базові і індексні регістри і регістр ознак. Невеликою відміною є те, що АЛП доповнено пристроями множення і ділення, які дозволяють робити ці операції апаратним шляхом.

Основна специфіка МП-286 зконцентрована у пристрої формування адрес. Тут, окрім знайомих нам чотирьох сегментних регістрів  CS, DS, SS та ES, є ще ціла низка регістрів і суматорів для формування фізичної адреси при роботі з віртуальною пам’яттю. Це регістри базової адреси таблиць дескрипторів,  регістри селектора і ефективної адреси, суматори фізичної адреси і адреси дескрипторів і кеш дескрипторів. У віртуальному режимі регістрами селектора служать сегментні регістри CS, DS, SS та ES. Крім всього цього в пристрої формування адрес є ще компаратор, який порівнює біти права на доступ з відповідними бітами захищеності сегмента.

Мікропроцесор 80286 може працювати у двох режимах: реальному і віртуальному. В реальному режимі він функціонує практично так само як і МП-86, тільки трохи швидше. Система команд, способи адресації і все інше цілком тотожні з МП-86. В реальний режим МП-286 входить одразу після включення  або після перезапуску.

З реального режиму у віртуальний мікропроцесор переводиться командою LMSM.  Ця команда завантажує слово стану, котре встановлює біт РЕ = 1 в керуючому регістрі СR0. Після того, як МП-286 перейшов у віртуальний режим, повернути його у реальний режим можна апаратним шляхом встановивши РЕ = 0 або шляхом перезапуску. Це можна зробити так:

  встановлення

  у віртуальний

       режим

MOV AX,CR0

OR AX,1

MOV CR0,AX

  виходження  з

віртуального               режиму

MOV AX,CR0

AND AX,0FFFE

MOV CR0,AX

У віртуальному режимі використовуються усі характерні можливості МП-286: розширення адресного простору за допомогою віртуальної пам’яті (звідки і назва ”віртуальний режим”). Формування фізичної адреси відбувається тепер вже не просто підсумовуванням базової і ефективної адреси, а значно складніше - через дескриптори.

Процесор МП-286 може працювати сумісно зі співпроцесором  80287. Продуктивність такого тандему при виконанні  математичних  програм істотно зростає.

У віртуальному режимі звичайна дискова операційна система MS-DOS вже не працює. Доводиться користуватися більш складними операційними системами, наприклад, UNIX або XENIX 286 . При ініціалізації роботи ЕОМ виникає запит від машини - в якому режимі бажає працювати користувач - в реальному або віртуальному. У відповідності з цим операційна система встановлює режим роботи машини.

 


 

А также другие работы, которые могут Вас заинтересовать

36812. Определение общей жесткости воды г. Симферополя методом комплексиметрии 52.5 KB
  Тема: Определение общей жесткости воды г. Умения: Учиться проводить исследования общей жесткости воды г. Различают временную устраняемую и постоянную жесткость воды. Сумма временной и постоянной жесткости воды определяет ее общую жесткость.
36813. Приготовление раствора точной заданной концентрации 69.5 KB
  Тема: Приготовление раствора точной заданной концентрации. Умения: Используя рациональные способы ведения технологических процессов учиться готовить растворы различной концентрации уметь рассчитывать массу вещества массу раствора нормальность и титр. Титр показывает сколько граммов вещества растворено в 1мл раствора. Как приготовить 250мл 01 Н раствора перекристаллизованной чистой двухосновной щавелевой кислоты Н2С2О4 2Н2О которую используют для...
36814. ИЗУЧЕНИЕ ПОГЛАЩЕНИЯ СВЕТА 916.5 KB
  КРАТКАЯ ТЕОРИЯ Прохождение света через вещество ведет к возникновению колебаний электронов вещества под воздействием электромагнитного поля волны и сопровождается потерей энергии этой волны затрачиваемой на возбуждение колебаний электронов. Поэтому интенсивность падающего света по мере проникновения волны в вещество уменьшается. Действительно интенсивность световой волны прошедшей среду толщиной d уменьшается по закону: I=I0ekd 1 где I0 –...
36815. Моделирование командных генераторов гармонических сигналов 55.5 KB
  Цель работы: определить схемы с помощью которых можно задать воздействие и рассчитать их параметры. схема моделирования Определим параметры модели: задание сигнала 2. схема моделирования Определим параметры модели: Таким образом данная схема не реализует синусоидальный сигнал невозможно скомпенсировать косинусоидальную составляющую. схема моделирования Определим параметры модели: задание сигнала 4.
36816. Информационно – образовательная среда вуза 73.5 KB
  Содержание работы: Задание №1 Сформируйте электронный глоссарий по тематике Информационно – образовательная среда: База данных Банк данных Дистанционное обучение Индивидуальный образовательный маршрут Индивидуальная образовательная траектория Информатизация образования Информационная деятельность Информационная подготовка Информационно – коммуникационная среда Информационно – коммуникационная предметная среда Информационно – методическое обеспечение учебно – воспитательного процесса Информационнообразовательная...
36817. Изучение возможностей работы в текстовом редакторе MS Word 64 KB
  проделайте следующие операции: Создайте тестовый документ с помощью меню Файл Создать. Установите параметры и размеры страницы открыв диалоговое окно Параметры страницы в меню Файл. Чтобы отменить ваши неправильные действия воспользуйтесь командой Отменить из меню Правка. Чтобы вернуть отмененное действие воспользуйтесь командой Повторить из меню Правка.
36818. ВЫБОР МЕТОДОВ И СРЕДСТВ ИЗМЕРЕНИЙ ЛИНЕЙНЫХ РАЗМЕРОВ 327 KB
  Лабораторная работа № 1 ВЫБОР МЕТОДОВ И СРЕДСТВ ИЗМЕРЕНИЙ ЛИНЕЙНЫХ РАЗМЕРОВ Цель работы: учебная получить навыки работы с нормативными документами для выбора методов и средств измерений линейных размеров; практическая выбрать для измерения линейных размеров детали выданной руководителем в соответствии с номером подгруппы соответствующие универсальные измерительные средства и указать их метрологические характеристики.80 всех видов измерений составляют линейные измерения. Любой линейный размер может быть измерен различными...
36819. ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ MATLAB. ОДНОМЕРНЫЕ РАСПРЕДЕЛЕНИЯ ТЕОРИИ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКОЙ СТАТИСТИКИ 93.5 KB
  Язык программирования Matlab является интерпретатором. Это значит, что каждая инструкция программы распознается и тут же исполняется. Этап компиляции полной программы отсутствует. Интерпретация означает, что Matlab не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов (файлов с расширением m)
36820. Определение уровня качества технических средств защиты информации 146.5 KB
  Цель работы Изучение методов определения показателей качества технических средств защиты информации и практическое определение их уровня качества с использованием комплексных показателей. Основные понятия термины и определения теории качества Технические средства защиты информации ТСЗИ в большинстве случаев представляют собой радиоэлектронные устройства РЭУ предназначенные для обнаружения и подавления прослушивающих устройств шифрования и кодирования информации защиты информации в возможных каналах утечки. Поэтому знание методов...