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 . При ініціалізації роботи ЕОМ виникає запит від машини - в якому режимі бажає працювати користувач - в реальному або віртуальному. У відповідності з цим операційна система встановлює режим роботи машини.

 


 

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

40169. БАЗОВЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ 298 KB
  1 Пример обозначения базовых логических элементов БЛЭ: 15.2 Основные сведения о БЛЭ Способы представления логических переменных: 1 Потенциальный способ  значениям логических 0 и 1 соответствуют два различных уровня напряжения и тока в связи с чем различают положительную и отрицательную логики. Основные свойства БЛЭ: 1 Нагрузочная способность ЛЭ  свойство получать сигнал от нескольких ЛЭ и одновременно быть источником информации для других элементов.3 БЛЭ транзисторнотранзисторной логики ТТЛ Схемы ТТЛ состоят из двух базовых...
40170. ГЕНЕРАТОРЫ НА ЛОГИЧЕСКИХ ЭЛЕМЕНТАХ И ТАЙМЕРЫ 766.5 KB
  Для защиты элемента ТТЛ от действия напряжения отрицательной полярности в его входной цепи установлен обратно включенный диод, который шунтирует резистор время задающей цепи. Длительность интервалов tи и Tг определяется
40171. СХЕМОТЕХНИКА УСИЛИТЕЛЬНЫХ УСТРОЙСТВ НА ТРАНЗИСТОРАХ 531 KB
  Класс применяется только в маломощных каскадах предварительных усилителях для которых К. около 07; 2 используется в усилителях средней и большой мощности; Рис.1 Входная характеристика каскада с ОЭ а; Выходная характеристика каскада с ОЭ б; Характеристика каскада в режиме А в; Характеристика каскада в режиме В г 3 происходит усиление только одной положительной полуволны усиливаемого сигнала UВХ поэтому выходной имеет прерывистый характер; недостатком является значительные нелинейные искажения UВЫХ называются...
40172. ОПЕРАЦИОННЫЕ УСИЛИТЕЛИ 328 KB
  Наличие этого напряжения приводит к нарушению условия согласно которому Uвых.V – характеризует частотные свойства усилителя при его работе в импульсных схемах измеряется при подаче на вход ОУ напряжения ступенчатой формы.3 Схема трехкаскадного ОУ Входной дифференциальный усилительный каскад уменьшает величину дрейфа усилителя позволяет получить высокое усиление высокое входное сопротивление и максимально подавить действующие на входе синфазные составляющие обусловленные изменением температуры окружающей среды изменением напряжения...
40173. АКТИВНЫЕ ФИЛЬТРЫ 83 KB
  Необходимо чтобы ОУ охваченный ООС обеспечивал заданный коэффициент усиления как в полосе пропускания. Основной параметр: полоса пропускания которая определяется по уровню падения коэффициента передачи в 141 раза на 3дб. Ширина полосы пропускания изменяется варьированием RC. Коэффициент передачи в полосе пропускания постоянный и равен Кио.
40174. ГЕНЕРАТОРЫ 102 KB
  По форме выходного напряжения классифицируются: генераторы гармонических колебаний и генераторы негармонических колебаний импульсные или релаксацоинные. Ku=U2 U1=Kuωejφkω где Kuω=U2ω U1ω – модуль коэффициента усиления на частоте ω; φkω=ψ2ωψ1ω – сдвиг фаз между выходным и входным напряжениями Ku на частоте ω; Bu=U1’ U2’=Buωejφbω где Buω=U1’ω U2’ω – модуль коэффициента передачи на частоте ω; φbω=ψ1ωψ2ω – сдвиг фаз между выходным и входным напряжениями четырёхполюсника Bu на частоте ω. Если на входе...
40175. ИСТОЧНИКИ ВТОРИЧНОГО ЭЛЕКТРОПИТАНИЯ 269 KB
  Классификация: 1 устройства согласования уровня напряжения служат для преобразования постоянного или переменного напряжения одного уровня в напряжение другого уровня. 2 устройства согласования стабильности напряжения: сглаживающие фильтры служат для стабилизации мгновенного значения пульсирующего напряжения тока и стабилизаторы – служат для стабилизации среднего значения выходного тока напряжения или мощности. 3 устройства согласования частоты: выпрямители – преобразователи напряжения переменного тока в напряжение содержащее...
40176. Портфельное инвестирование 24.5 KB
  Если у вас куплены акции двух и более разных компаний из разных отраслей то такое инвестирование можно назвать портфельным. Чтобы достичь успеха в портфельном инвестировании необходимо грамотно подбирать бумаги компаний. Если инвестор нацелен на получение максимальной прибыли то и риски будут весьма велики в такой портфель войдет большинство примерно 8090 процентов акции молодых динамично развивающихся компаний с большими перспективами роста. Когда вы нацелены на хорошую прибыль но не готовы принять на себя большие риски тогда...
40177. Финансовые риски, связанные с вложениями определение, классификация 32 KB
  Финансовые риски связанные с вложениями определение классификация. Финансовые риски связаны с вероятностью потерь финансовых ресурсов т. Под финансовыми рисками понимается вероятность возникновения непредвиденных финансовых потерь снижения прибыли доходов потери капитала и т. Финансовые риски подразделяются на три вида: 1.