Інститут перепідготовки кадрів p>
Уральського Державного Технічного Університету p>
Кафедра мікропроцесорної техніки p>
Оцінка роботи p>
Члени комісії p> < p> Огляд процесора I80X86 p>
Курсова робота p>
Пояснювальна записка p>
Керівник к.т.н. доцент І. Е. Мясников p>
Слухач p>
Група СП-913 А. А. Соколов p>
ЄКАТЕРИНБУРГ p>
1997 p>
ЗМІСТ p>
ПОСТАНОВКА ЗАВДАННЯ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... -
ЗМІСТ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
ВСТУП ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4
1. КОРОТКИЙ ОГЛЯД процесорів фірми INTEL ... ... ... ... ... ... ... ... ... ... ... 5
1 ПРОЦЕСОР i8086 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4
2 ПРОЦЕСОР i8088 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
3 ПРОЦЕСОР i80286 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
4 ПРОЦЕСОР i80386 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10
2. ОСНОВНІ ХАРАКТЕРИСТИКИ i80286 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11
2.1 Режим реальної адресації ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12
2.2 Режим захисту ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
2.3 співпроцесор i80287 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14 p>
2.3.1 Умови програмування i80287 ... ... ... ... ... ... ... ... ... 15
3. Основні характеристики i80386 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
3.1 32-бітна архітектура ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
3.2 Високопродуктивна технологія ... ... ... ... ... ... ... ... ... ... ... ... 18
3.3 Забезпечення роботи з віртуальною пам'яттю ... ... ... ... ... 20
3.4 Механізми захисту ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21
3.5 Сумісність з мікропроцесорами 8086/80286 ... ... 22
3.6 Способи адресації ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23
3.7 Головні типи даних ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 24 p>
3.7.1 Типи даних математичного співпроцесора ... 25висновок ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 26
БІБЛІОГРАФІЧНИЙ СПИСОК ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 27 p>
ВСТУП p>
Процесори фірми INTEL є не найкращим рішенням дляперсональних комп'ютерів, але завдяки тому, що i80х86 успадковують всівластивості попередніх моделей - вони одержали саме широке поширення всвіті. Поряд з INTEL аналогічні процесори випускають і інші фірми - AMD,
Texas Instruments, Cyrix, NexGen, Motorola та інші. Багато хто з нихвідрізняються не тільки кількістю елементів на кристалі, але і системоюкоманд, архітектурою. p>
1. КОРОТКИЙ ОГЛЯД процесорів фірми INTEL p>
1.1 ПРОЦЕСОР i8086 p>
У 1976 році фірма Intel почала посилено працювати надмікропроцесором i8086. Розмір його регістрів було збільшено в два рази, щодало можливість збільшити продуктивність у 10 разів порівняно з 8080.
Крім того, розмір інформаційних шин був збільшений до 16 розрядів, щодало можливість збільшити швидкість передачі інформації на мікропроцесор із нього в два рази. Розмір його адресної шини також був істотно збільшений
- До 20 біт. Це дозволило 86-му прямо контролювати 1М оперативноїпам'яті. Як прямий нащадок i8080, i8086 успадкував велику частину безлічійого команд. Регістри цього процесора були розроблені таким чином, щовони могли обробляти як 16-ти бітні значення, так і 8-ми бітні - такожяк це робив i8080. Пам'ять i8086 була також дороблена спеціальнимчином. Весь мегабайт оперативної пам'яті не представлявся єдиним полем,а був розділений на 16 сегментів величиною за 64К. Таким чином, пам'ять 8086можна було уявити, як об'єднану разом пам'ять кількох i8080.i8086 працював з кожним сегментом окремо, не дозволяючи великимінформаційним структурам переходити через кордони сегментів. У певномусенсі i8086 випередив свій час. Малі комп'ютери грунтувалися на 8-мибітної архітектури, пам'ять була дуже дорога, були потрібні додаткові
16-ти бітні мікросхеми. Використання цього процесора передбачалося в 16 --ти бітних пристроях, які не виправдовували свою ціну в той час. p>
1.2 ПРОЦЕСОР i8088 p>
Через рік після презентації 8086, Intel оголосив про розробкумікропроцесора i8088. Він був дуже схожим на i8086:
16-бітові регістри, 20 адресних ліній, той же набір команд - все те ж, завинятком одного, - шина даних була зменшена до 8 біт. Це дозволялоповністю використовувати широко поширені в той час 8-бітні елементитехнічного забезпечення. p>
Як крок назад в історії розробки мікропроцесорів i8088 мігзагубитися в історії, як це було з i8085, не реши IBM реалізувати свійперший персональний комп'ютер на його базі. Вибір IBM був зрозумілий. Восьмибітна шина даних дозволяла використовувати наявні на ринку мікросхеми.
Шістнадцяти бітна внутрішня структура давалаважливі переваги в порівнянні з існуючими мікропроцесорами. Якприймач 80-го мікропроцесора, i8088 міг розуміти незначнодопрацьовані програми, що працюють з CP/M. За великим рахунком, всі ціпереваги були тимчасовими, а в деяких випадках і ілюзорними. Алевосьми бітний чіп був ще й не дорогим. Останнє стало важливішимаргументом, ніж 16-бітові регістри і легко адаптуються програми CP/M.
Отже, i8088 з'явився базою для розробки сімействамалих комп'ютерів. Він підготував грунт для швидкого створення суміснихнастільних комп'ютерів. p>
Потенційно 8086 був в два рази продуктивність, і майже повністюсумісний з i8088. Мікропроцесори i8088 і i8086 сумісні, але невзаємозамінні. Вісім додаткових біт даних вимагали 8-мидодаткових проводів. Таким чином підключення цих двох мікросхем булорізним. Комп'ютер розроблявся або під один мікропроцесор, або підінший. p>
Ось деякі витяги з технічного опису IBM PC XT:
Серцем системної плати є мікропроцесор Intel 8088. Цей процесорє версією 16 - бітного процесора Intel 8086 з 8-бітовимвиходом на зовнішню магістраль і є програмно сумісним зпроцесором 8086. Таким чином, 8088 підтримує 16-бітні операції,включаючи множення і ділення, і підтримує 20-бітну адресацію (до 1
Мбайта пам'яті). Він також працює в максимальному режимі. Тому всистему може бути доданий співпроцесор. Процесор працює з тактовоючастотою 4.77 МГц. Ця частота, яка виходить з частотикварцового генератора
14.31818 МГц, ділиться на 3 тактовим генератором процесора і на 4 дляотримання сигналу кольоровості 3.58 МГц, необхідного для кольоровоготелебачення. При тактовою частотою 4.77МГц цикл обміну по магістралі
8088 становить чотири періоди по 210 нс. або 840 нс. Цикл вода/виводувимагає п'яти тактів по 210 нс. і становить 1.05 мкс.
Процесор підтримується набором багатофункціональних пристроїв забезпечуючичотири канали 20-бітного прямого доступу до пам'яті, три 16-бітових каналутаймерів-лічильників і вісім пріоритетних рівнів переривання ... p>
ЦП 8088 комп'ютера IBM PC проводить вибірку команди за адресою,інтерпретує її, виконує дію, необхідний цією командою, (наприклад,додавання двох чисел), потім переходить до виконання наступної команди. Якщонаступна команда не направить процесор 8088 безпосередньо допевній комірці пам'яті, щоб виконати записану там команду,процесор буде рухатися від однієї команди до іншої по осередках пам'яті,розташованим послідовно (крок за кроком). Найбільш суттєва різницяміж покроковим виконанням програми (послідовності команд) іпокрокової роботою комп'ютера полягає в тому, що комп'ютер IBM можевиконувати близько мільйона таких кроків на секунду ... p>
У міру того, як з'явилися мікропроцесори, що складаються з багатьохтисяч дискретних елементів, з'явилася можливість реалізації додатковихфункцій в рамках однієї мікросхеми. При розробці комп'ютера, кріммікропроцесора, використовуються і інші додаткові пристрої:контролери переривань, таймери та контролери шин. Функції цих пристроївтехнічно можна реалізувати в одному корпусі з мікропроцесором.
Однак ці можливості ніколи не реалізуються на практиці. Мікропроцесор,як і всі додаткові пристрої, може використовуватися не тільки вкомп'ютерах. p>
У міру розвитку комп'ютерної індустрії, ринком була проведенаоптимізація розподілу функцій між пристроями. І кожен пристрійрозвивалося в напрямку реалізації своїх функцій. Intel продовжувавудосконалювати свої мікропроцесори. У 1982 році був представлениймікропроцесор i80186. Цей чіп став базовим для створення цілої низкисумісних комп'ютерів та реалізації турборежіма. Так само був створениймікропроцесор i80188 - приймач i8088. p>
1.3 ПРОЦЕСОР i80286 p>
Презентація IBM персонального комп'ютера AT в 1984 році сфокусувалавсю увагу на інший мікропроцесор - i80286. Сам по собі мікропроцесорбув представлений ще в 1982 році. Природно в 8086 і 80286 багато спільного,але i80286 володіє такими додатковими якостями, які відразупривернули пильну увагу всіх пов'язаних з комп'ютерною індустрією.
Новий мікропроцесор використовуєповну 16-розрядну шину даних і 16-бітові внутрішні регістри. Він буврозроблений для роботи з частотою в 6 Мгц, а потім 8 і 10 МГц. Більш того,i80286 здатний реалізовувати свої функції швидше, ніж це випливає зпростого зростання частоти. p>
Зрештою, найбільшою перевагою i80286 було те, що вінмав здатність працювати з додатковою пам'яттю. Замість 20-розрядноїадресної шини i8088/i8086, i80286 мав 24-розрядну шину. Цідодаткові 4 розряди давали можливість збільшити максимум адресуєтьсяпам'яті до 16 М. i80286 дозволив також використовувати віртуальну пам'ять. Назваговорить саме за себе, що віртуальна пам'ять організується не на якихосьокремих фізичних чіпах. Більше того, інформація зберігається десь узовнішньої пам'яті, але система забезпечує прямий доступ до неї. i80286 забезпеченийспеціальними засобами, що дають йому можливість відрізняти, до реальноїабо віртуальної пам'яті відноситьсябудь-який байт. Ці засоби реалізуються додатковими схемами, включеними вмікропроцесор. Вони дають можливість працювати з 1Г пам'яті, що включає всебе 16М фізичної пам'яті і 1008М віртуальної. p>
Теоретично i80286 мав подолати бар'єр адресується пам'яті в
1М, який був встановлений попередніми моделями. Але насправді цяможливість не була реалізована. p>
Проблема була частково в традиціях, а частково в сумісності. Кочасу появи i80286 IBM PC мала гарантований успіх. Для i8088,i8086 було розроблено величезну програмне забезпечення. Умови використаннявикористання цих розроблених програм ставив під сумнів використаннянового чіпа. Для забезпечення сумісності з раніше розробленими чіпамирозробники i80286 забезпечили його роботу у двох режимах: в реальному ізахищеному. Реальний режим був скопійований з режиму роботи i8086. Причомурозробники працювали так сумлінно, що внесли до реального режиму іобмеження по використанню тільки 1М пам'яті. p>
Щоб використовувати поліпшені можливості Intel 80286, фірмарозробила захищений режим. Хоча була відсутня програмна сумісністьз i8086, цей режим дозволяв використовувати всі 16М і навіть 1Г віртуальноїпам'яті в програмах, що працюють в захищеному режимі. p>
Точно так само як і i8086 свого часу, i80286 давав такі величезніресурси пам'яті, потреба в яких ще не назріла до того часу.
Тому цей режим не відразу був визнаний широким колом користувачів.
Знадобилося майже три роки, що минули з моменту презентації першого АТ іпоявою операційної системи OS/2, що працює в цьому режимі, іознаменувала собою початок його широкого застосування. p>
Були дві причини повільної популяризації захищеного режиму. Дляпрограмістів, що працюють в DOS, істотним було питання переходуміж реальним і захищеними режимами. Intel розробив перехід міжрежимами тільки в одному напрямку. Мікропроцесор починав роботу тількив реальному режимі, коли відбувалося тестування всіх 16М пам'яті, але длявикористання цього ресурсу необхідно було перейти в захищений режим.
Інакше користувач міг задовольнятися тільки 1М пам'яті. Зворотногопереходу від захищеного режиму до реального не існує - потрібноперезавантаження. p>
Крім того, захищений режим реалізовував тільки частково сподіванняпрограмістів. Вся величезна пам'ять i80286 була розділена на сегменти за
64К. Замість того, щоб вільно використовувати весь ресурс пам'яті,програмістам доводилося мудрувати, щоб подолати ці бар'єри міжсегментами. p>
1.4 ПРОЦЕСОР i80386 p>
i80386 був створений в 1985 році. i80386 був створений при повнійясності всіх вимог, що пред'являються до мікропроцесорах і комп'ютерам.i80386 мав усі позитивні якості своїх попередників. Всімікрокоду i80286 входили в безліч мікрокоманд i80386. Тому старепрограмне забезпечення могло використовуватися з i80386. Але разом з тим уi80386 були додаткові можливості. Особливо приваблювала можливістьпрацювати без обмеження пов'язаного з сегментацією пам'яті. Розмірирегістрів і шини даних були збільшені до 32 біт. Інформація передаваласяі оброблялася в два рази швидше, ніж у 16-бітного i80286. p>
З самого початку розробники 80386 ставили перед собою завдання створитишвидкий чіп. При його створенні використовувалася CHMOS технологія. Першіi80386 почали працювати з найвищою частотою, досягнутої для i80286. Потімз'явилася 20 Мгц модель. У 1985 році межа була відсунутий до 25 МГц. Анезабаром і до 33 МГц. p>
Зі збільшенням шини даних до 32 біт, число адресних ліній такожбуло збільшено до 32. Саме по собі це розширення дозволиломікропроцесору прямо звертатися до 4Гб фізичної пам'яті. Крім того, вінміг працювати з 16 трильйонів байт віртуальної пам'яті. Мікропроцесор маввсе необхідне для реалізації останнього. Величезна перевага дававспосіб організації пам'яті i80386. До неї можна було звертатися, як до одноговеликим полем, доступному для програм. Тобто структури даних іпрограми могли бути обсягом у цілу пам'ять. Поділ пам'яті насегменти можливо, але не обов'язково. Сегменти можуть бути довільні, а необмежені по64К. p>
Крім того, i80386 забезпечений 16 байтами кеш-пам'яті. Це спеціальновбудоване поле пам'яті використовується для зберігання кількох командмікропроцесора. Незалежно від вироблюваних мікропроцесором розрахунків,спеціальна схема завантажує в цю пам'ять код програмного забезпечення,перш ніж в ньому з'явиться необхідність. Ця невелика кеш-пам'ять допомагаєпроцесору працювати більш швидко без затримок, пов'язаних з очікуваннямзавантаження чергової команди з оперативної пам'яті.
Для того щоб забезпечити сумісність з попередніми мікропроцесорами із величезною бібліотекою DOS-програм i80386 був розроблений таким чином,щоб бути, як можна більше схожим на i8086 і i80286. Як і йогопопередники, i80386 дозволяв працювати в захищеному режимі зобмеженням адресується пам'яті в 1М. У цьому режимі він завантажував і виконуваввсі програми, розроблені на процесорах попередніх поколінь. p>
З реального режиму i80386 міг бути переведений в захищений режим, девін функціонував подібно до 80286, за винятком об'єму пам'яті. У цьомурежимі в розпорядженні програміста було більше пам'яті, і він міг більш гнучкоманіпулювати нею, бо міг змінювати розміри сегмента. p>
На противагу i80286 - i80386 міг переходити з одного режимув іншій без перезавантаження машини, а за допомогою команд програмногозабезпечення. p>
Новий режим, названий віртуальним режимом 8086 (Virtual mode), дававi80386 особливо великі свободи з використання багатозадачних ОС. У цьомурежимі цей процесор працював не як один 8086, а як необмежену їхкількість в один і той же час. Цей режим дозволяв процесору розбиватипам'ять на безліч віртуальних машин, кожна з яких працювала так, якніби вона була окремим комп'ютером на 8086 чіпі. p>
2. ОСНОВНІ ХАРАКТЕРИСТИКИ i80286 p>
Мікропроцесор i80286 передбачає 24-розрядну адресацію, 16 --розрядний інтерфейс пам'яті, розширений набір команд, функції ПДП іпереривань, апаратне множення і ділення чисел з плаваючою комою,об'єднане управління пам'яттю, 4-рівневу захист пам'яті, віртуальнеадресний простір на 1 гігабайт (1 073 741 824 байти) для кожного завданняі два режимироботи: режим реальної адресації, сумісний з мікропроцесором i8086, ірежим захищеної віртуальної адресації. p>
2.1 Режим реальної адресації p>
У режимі реальної адресації фізична пам'ять мікропроцесораявляє собою безперервний масив обсягом до одного мегабайта.
Мікропроцесор звертається до пам'яті, генеруючи 20-розрядні фізичніадреси. 20-розрядний адреса сегменту пам'яті складається з двох частин: старшої
16-розрядної змінної частини та молодшої 4-розрядної частини, яка завждидорівнює нулю. Таким обр?? зом, адреси сегментів завжди починаються з числа,кратного 16. У режимі реальної адресації кожен сегмент пам'яті маєрозмір 64 Кбайта і може бути лічений, записаний або змінений. Якщо операндиданих або команд спробують виконати циклічний повернення до кінцясегмента, може статися переривання або виникнути винятковаситуація; наприклад, якщо молодший байт слова зміщений на FFFF, а старший байтдорівнює 0000. Якщо в режимі реальної адресації інформація, що міститься всегменті, не використовує всі 64 КБайт, незайнятого простору можебути надано іншому сегменту в цілях економії фізичної пам'яті. p>
2.2 Режим захисту p>
Режим захисту передбачає розширене адресний простірфізичної та віртуальної пам'яті, механізми захисту пам'яті, нові операції зпідтримки операційних систем і віртуальної пам'яті. Режим захистузабезпечує віртуальний адресний простір на 1 гігабайт для кожноїзавдання у фізичному адресному просторі на 16 Мегабайт. Віртуальнепростір може бути більше фізичного, тому що будь-яке використанняадреси, який не розподілений у фізичній пам'яті, викликає виникненнявиняткову ситуацію, яка потребує перезапуску. p>
Як і режим реальної адресації, режим захисту використовує 32-розрядніпокажчики, що складаються з 16-розрядного шукача і компонентів зміщення.
Шукач, однак, визначає індекс у резидентної таблиці пам'яті, а нестарші 16 розрядів адреси реальної пам'яті. 24-розрядний базовий адресабажаного сегменту пам'яті отримують з таблиць пам'яті. Для отриманняфізичної адреси до базового адресою сегменту додається 16-розряднезсув. Мікропроцесор автоматично звертається до таблиць, коли врегістр сегмента завантажується шукач. Усі команди, що виконують завантаженнярегістра, звертаються до таблиць пам'яті без додаткової програмноїпідтримки. Таблиці пам'яті містять 8-байтові значення, званіописувачем. p>
2.3 співпроцесор i80287 p>
Математичний співпроцесор i80287 дозволяє йому виконувати швидкісніарифметичні та логарифмічні операції, а також тригонометричніфункції з високою точністю. Співпроцесор працює паралельно змікропроцесором, це скорочує час обчислень, дозволяючи співпроцесоравиконувати математичні операції, в той час як мікропроцесорзаймається виконанням інших функцій. Співпроцесор працює із сімома типамичислових даних, які діляться на наступні три класи: p>
- програмні цілі числа (3 типу); p>
- десяткові цілі числа (1 тип); p>
-- дійсні числа (3 типу). p>
2.3.1 Умови програмування i80287 p>
співпроцесор пропонує розширений набір регістрів, команд і типівданих для мікропроцесора. Співпроцесор має вісім 80-розряднихрегістрів, які еквівалентні ємності сорока 16-розрядних регістрів вмікропроцесорі. У регістрах можна зберігати під час обчислень тимчасові іпостійні результати, що скорочує витрати пам'яті, підвищуєшвидкодію, а також покращує можливості доступу до шини. p>
Простір регістрів можна використовувати як стек або якпостійний набір регістрів. При використанні простору як стекаробота ведеться тільки з двома верхніми стекові елементами. У наступнійтаблиці показано подання великих і малих чисел в кожному типі даних. p>
ТИПИ ДАНИХ p>
| Тип даних | Число | Число вірних значущих |
| | Бітів | цифр |
| Ціле слово | 16 | 4 |
| Короткий ціле | 32 | 9 |
| Довге ціле | 64 | |
| | | 19 |
| Упаковане десяткове | 80 | |
| короткий | | 18 |
| Дійсне довге | 32 | |
| | | 6-7 |
| Дійсне | 64 | |
| тимчасове | | 15-16 |
| Дійсне | 80 | |
| | | 19 | p>
3. Основні характеристики i80386 p>
Мікропроцесор 80386 дає розробнику систем великечисло нових та ефективних можливостей, включаючи продуктивність від 3 до
4 мільйонів операцій у секунду, повну 32-розрядну архітектуру, 4 гігабітні
(2 байт) фізична адресний простір і внутрішнє забезпечення роботиз сторінкової віртуальною пам'яттю. p>
Незважаючи на введення в нього останніх досягнень мікропроцесорноїтехніки, 80386 зберігає сумісність по об'єктному коду з програмнимзабезпеченням, у великій кількостінаписаним для його попередників, 8086 і 80286. Особливий інтереспредставляє таку властивість 80386, як віртуальна машина, якадозволяє 80386 перемикатися у виконанні програм, керованихрізними операційними системами, наприклад, UNIX і MS-DOS. Ця властивістьдозволяє виробникам оригінальних систем безпосередньо вводитиприкладне програмне забезпечення для 16-бітових машин в системі на базі 32 --бітних мікропроцесорів. p>
Об'єднуючи в собі продуктивність суперміні ЕОМ і низьку вартість і функціональну гнучкість мікропроцесора, 80386 може відкрити новіринки для мікропроцесорних систем. p>
Застосування, неприпустимі насамперед через невисокий швидкодіїмікропроцесорів або не економності використання суперміні ЕОМ, сталитепер практично здійсненні завдяки 80386. Такі новітнізастосування, як машинне зір, розпізнавання мови, інтелектуальніроботи та експертні системи, які до недавнього часу в основному настадії експерименту, тепер можуть бути запропоновані на ринку. p>
Для ТГО, щоб задовольнити вимоги майбутніх застосувань, маломати 32-бітові регістри, команди і шини. Ці основні властивості єлише відправною точкою для 80386. p>
3.1 32-бітна архітектура p>
32-бітна архітектура 80386 забезпечує програмні ресурси,необхідні для підтримки "великих" систем, якi характеризуються операціями звеликими числами, великими структурами даних, великими програмами (абовеликим числом програм) і т.п. Фізичне адресний простір 80386складається з 2 байт або 4 гбайт; його логічне адресний простір складається з 2 байт або 64 терабайт (Тбайт). Вісім 32-бітових загальних регістрів 80386 взаємозамінне можуть бути використані як операнди команд і якзмінні різних способів адресації. p>
Типи даних включають в себе 8 -, 16 - або 32-бітні цілі і порядкові, упаковані і неупаковані десяткові, покажчики, рядки біт, байт,слів і подвійних слів. Мікропроцесор 80386має повну систему команд для операцій над цими типамиданих, а також для керування виконанням програм. Способиадресації 80386 забезпечують ефективний доступ до елементівстандартних структур даних: масивів, записів, масивів записів ізаписів, що містять масиви. p>
3.2 Високопродуктивна технологія p>
32-бітна архітектура не гарантує високої продуктивності.
Реалізація потенціалу архітектури вимагає новітньої мікроелектронноїтехнології, точного розподілу функцій та уваги до зовнішніх операціяхкристала, особливо до взаємодії процесора з пам'яттю. Включенняцих властивостей забезпечує 80386 найвищу проізвідітельность попорівнянні з будь-яким іншим існуючим мікропроцесором. p>
Мікропроцесор 80386 реалізований за допомогою технології фірми Intel CH
MOSIII - технологічного процесу, що поєднує в собі можливостівисокої швидкодії технології HMOS з малим споживанням технологіїКМОП. Використання геометрії 1,5 мкм і верств металізації дає 80386 більш
275000 транзисторів на крісталлле. P>
Мікропроцесор 80386 розділений всередині на 6 автономно іпаралельно працюючих блоків з відповідною синхронізацією. Всівнутрішні шини, що з'єднують ці блоки, мають розрядність 32 біт.
Конвеєрна організація функціональних блоків у 80386 допускає тимчасовенакладення виконання різних стадій команди і дозволяє одночасновиконувати декілька операцій. Крім конвеєрної обробки всіх команд, в
80386 виконання низки важливих операцій здійснюється спеціальнимиапаратними вузлами. Блок множення/ділення 80386 може випонять 32-бітнемноження за 9-41 такт синхронізації, в залежності від числа значущих цифр;він може розділити 32-бітові операнди за 38 тактів (у разі чисел беззнаків) або за 43 такту (у разі чисел із знаками). Регістр груповогозсуву 80386 може за один такт зрушувати від 1 до 64 біт. p>
У багатьох 32-бітних застосуваннях, у таких як, наприклад,Перепрограмміруємая ЕОМ колективного користування, потрібноперетворення логічних адрес у фізичні та безпека пам'яті за допомогоюблоку керування пам'яттю, БУП. В інших застосуваннях, наприклад, в системахуправління в реальному часі, що не потрібно. Для більшостімікропроцесорних систем з 32-бітної архітектурою такий поділфункцій реалізується шляхом використання додаткового корпусу блокууправління пам'яттю. На відміну від них БУП 80386 входить до складу процесора,як один з двох функціональних блоків конвеєрної структури. Операційнасистема, яка керує роботою БУП, дозволяє, наприклад, системі реальногочасу обходити сторінкове перетворення. Введення управління пам'яттювсередину кристалу дає підвищену продуктивність в системах,використовують БУП і не призводить до її зниження в тих сістмах, які БУП НЕвикористовують. Такі характеристики стали можливі завдякизниження затримок поширення, використання внутрішньогополуперіодного тактірованія і паралельної роботи. p>
Ще одна властивість, необхідне в одних застосуваннях і непотрібне в інших, це обробка великих чисел, особливо варифметичних операцій з плаваючою комою з одинарною і подвійнийточністю. Операнд з плаваючою комою мають велику довжину, а необхіднийнабір команд для операцій над ними є досить складним; дляреалізації стандартного набору операцій з плаваючою комою відповіднозі стандартом IEEE754 потрібно декілька тисяч транзисторів. У цих ціляхв 80386 є апаратне забезпечення спільної роботи з окремимматематичним співпроцесором. До 80386 може бути підключенийматематичний співпроцесор або 80287, або більш продуктивний 80387.
Для прикладного програмного забезпечення співпроцесори прозорі; вонилише розширюють архітектуру 80386 за допомогою регістрів, типів даних таоперацій, необхідних стандартом IEEE754. Комбінація 80386 та 80387 можевиконувати 1,8 мільйон операцій. p>
32-бітний процесор, що працює з частотою 16 мгц, маєбільшу швидкодію, ніж більшість швидкодіючих пам'ятей,внаслідок чого його продуктивність може бути обмежена часомдоступу до пам'яті. 80386 був спроектований так, щоб з максимальноюефективністю використовувати як найбільш швидкодіючі статистичні
ОЗУ, так і недорогі динамічні ОЗУ. Для звернення до швидкої пам'яті,наприклад типу кеш, 80386 виробляє двотактний магістральний цикл дляадреси/даних. (Пам'яті типу кеш 80386 можуть мати будь-який об'єм відмінімального корисного 4 кбайт до максимального, який охоплює всіфізична адресний простір). Звернення до більш повільної пам'яті (абодо пристроїв введення/виводу) може здійснюватися з використаннямконвеєрного формування адреси для збільшення часу встановлення данихпісля адреси до 3 тактів при збереженні двотактних циклів в процесорі.
Внаслідок внутрішнього конвеєрного форморованія адреси при виконаннікоманди, 80386, як правило, обчислює адресу і визначає наступниймагістральний цикл під час поточного магістрального циклу. Вузолконвеєрного формування адреси передає цю інформацію в випереджальнупідсистему пам'яті, дозволяючи, тим самим, одному банку пам'яті дешіфріроватьНаступне магістральний цикл, у той час як інший банк реагує напоточний магістральний цикл. p>
3.3 Забезпечення роботи з віртуальною пам'яттю p>
Віртуальна пам'ять дозволяє ставити максимальний обсяг програми абогрупи програм в залежність від наявного адресного простору надиску, а не від об'єму фізичної пам'яті (ОЗУ), яка в даний часприблизно в 400 разів дорожче. З випливає звідси гнучкостівиграють виробники устаткування (які можуть поставляти вироби,відрізняються лише в конфігураціях пам'яті і в рівні продуктивності),програмісти (які можуть надавати управління зберіганням програмопераційних систем і уникати написання програм з перекриваютьсяструктурами) і кінцеві користувачі (які можуть вводити нові йвеликі за обсягом прикладні програми, не побоюючись дефіциту пам'яті). p>
Віртуальна пам'ять реалізується операційною системою звідповідної апаратурною підтримкою. Мікропроцесор 80386забезпечує роботу з системами віртуальної пам'яті з сегментної абосторінкової організацією. Сегментна віртуальна пам'ять більше підходить дляневеликих 16-бітових систем, у яких обсяг сегмента не перевищує 64кбайт. 80386 забезпечує роботу з сегментами об'ємом до 4 гбайт; тому вбільшості великих систем на базі 80386 системи віртуальної пам'яті будутьвикористовувати можливість сторінкового запиту. Для кожної сторінки
80386 виробляє біти присутності, зайнятості або реєстрації звернення,які необхідні для ефективної реалізації віртуальної пам'яті зсторінковими запитами. У разі звернення до неіснуючої сторінці
80386 автоматично робить перехід до операційної системи, якщоопераційна система вважала з диска відсутню сторінку, 80386виконує команду повторно. Висока продуктивність в роботі звіртуальною пам'яттю забезпечується в 80386 використанням внутрішньої кеш -пам'яті для зберігання сторінкової інформації. Ця кеш-пам'ять (званабуфером перегляду трансляції, TLB) містить інформацію про розподіладрес 32 сторінок, що використовувалися останніми. Сторінки віртуальноїпам'яті 80386 мають об'ем 4 кбайт, зберігаючи одночасно розподіл 128кбайт пам'яті, буфер TLB дозволяє 80386 перетворити адреси всерединікристала, не звертаючись до що зберігається в пам'яті таблиці сторінок. У типовихсистемах 98-99% пошуку адрес буде здійснюватися через буфер TLB. p>
3.4 Механізми захисту p>
Виконуючи 3-4 мільйони операцій у секунду, 80386 має достатньообчислювальної потужності для забезпечення найбільшскладних систем, що складаються з сотень або тисяч програмних модулів. У такихсистемах питання полягає не в тому, чи будуть помилки, а в тому як їх нактіі повозможності швидко усунути і наскільки їх дія може бутиобмежена. Такі системи можуть бути швидко налагоджені і зроблені більшенадійними при серійному освоєнні, якщо процесор буде перевіряти кожнукоманду за критерієм захисту. При цьому ступінь і тип використовуваної захистузалежить від конкретного застосування. Зазвичай прості системи реального часупрацюють досить добре без використання захисту. Різні вимоги дозахисту можуть бути найбільш повно задоволені за допомогою набору вибіркововикористовуваних функцій захисту, введених в 80386: p>
- поділ адресних просторів завдань; p>
- введення 0-4 рівнів привілеїв; p>
- використання привілейованих команд (наприклад, HALT); p>
- поділ сегментів за типами (наприклад, кодовий сег мент або сегмент даних); p>
- введення прав доступу до сегментів і сторінок (наприклад, право тільки читання або тільки виконання ); p>
- перевірка меж сегменту. p>
Для збереження максімельной продуктивності всі перевірки захисту в
80386 виконуються одночасно з виконаннямкоманди. p>
3.5 Сумісність з мікропроцесорами 8086/80286 p>
Два покоління процесорів сімейства 86 передують процесору 80386 -
80286 і 8086, з кожним з них 80386 сумісний на рівні двійкових кодів.
Завдяки такій сумісності заощаджуються програмні витрати,забезпечується швидкий вихід на ринок і доступ до обширної бібліотеціпрограмного забезпечення, написаного для машин на базі мікропроцесорівсімейства х86. p>
Мікропроцесор 80386, звичайно, може виконувати програми для 8086, вінтакож може одночасно виконувати програми для 80286 та 80386. Однакнайбільш важливою властивістю сумісності 80386 представляється властивість,зване VIRTUAL 86 (віртуальний 86), що встановлює захищенуструктуру для 8086 усередині системи завдань 80386. Доповнюючи властивістьвіртуального 8086 сторінкової організацією пам'яті, 80386 може закріпити закожної завданням віртуального 8086 1 мбайтное адресний простір в будь-якійгалузі фізичного адресного простору 80386. Більш того, якщоопераційна система 80386 забезпечує роботу з віртуальною пам'яттю, тозавдання віртуального 8086 можуть переноситися з диска і назад як будь-якіінші завдання. Таким чином, властивість віртуального 8086 дозволяє
80386 одночасно виконувати програми, написані для трьох поколіньсімейства 86. p>
3.6 Способи адресації p>
Мікропроцесор 80386 забезпечує реєстрову і безпосереднюадресацію операндів, що містяться, відповідно, в регістрах абокомандах. Інше більш важливим є здатність 80386 забезпечуватирізні способи адресації необхідні для ефективного звернення до такихелементам структур даних в пам'яті як масиви, записи (структури),масиви записів і записи, що містять масиви. При цьому програма визначає поле зміщення в логічному адресу за одним із способів адресації пам'яті в
80386. Процесор 80386 обчислює поле зміщення логічного адреси затакою формулою: зміщення = база + (Ідекс X масштаб) + відхилення p>
Для обчислення зміщення можуть бути використані будь-якіабо всі змінні бази, індексу і відхилення. Змінні бази та індексує величинами, що зберігаються в загальних регісрах, а величина відхиленняміститься в команді. Для зберігання бази або індексу може бути використанийбудь-який загальний реєстр.
Величина в індексному регістрі може бути отмаштабірована (помножена)коефіцієнти 1,2,4 або 8, що дає можливість робити посилання на елементимасиву або запису відповідної довжини. Величина відхилення може матирозрядність 8 або 32 біт і інтерпретується процесспром як величина ззнаком в додатковому коді. p>
Розумні комбінації бази, індексу і відхилення дають наступні способиадресації пам'яті 80386: p>
- пряма: використовується тільки відхилення; p>
- регістрівая непряма: використовується тільки база; p>
- базова: використовується база + відхилення; p>
- індексний: використовується індекс (у масштабі); p>
- індексний з відхиленням: використовується індекс (у масштабі) + відхилення; p>
- базова індексний: використовується база + індекс (у масштабі); p>
- базова індексний з відхиленням: використовується база + індекс p>
(у масштабі) + відхилення; p>
3.7 Головні типи даних p>
У табл. 3.7.1 перераховані типи даних і команди, які забезпечуєпроцесором 80386. У цій таблиці наведено лише найбільш вживанікоманди. Варіанти команд, такі як (у разі циклічного зсуву)циклічний зсув вправо і циклічний зрушення через перенесення, також опущені. p>
Таблиця 3.7.1 p>
Головні типи даних і команди p>
| Тип | Розрядність | Команди |
| Ціле, | 8, 16, 32 | Пересилка, обмін, |
| | Біт | перетворення, перевірка, |
| порядкове | | порівняння, переклад, зсув, |
| | | Подвійний зсув, циклічний |
| | | Зсув, заперечення, логічне |
| | | "І", "або", що виключає |
| | | "Або". |
| | | Додавання, віднімання, |
| | | Множення, ділення, |
| | | Збільшення на 1, зменшення |
| | | На 1, переклад (пересилання з |
| | | Розширенням знаку/нуля) |
| Неупаковані | 1 цифра | Корекція для складання, |
| | | |
| десяткове | | віднімання, множення, ділення |
| Упакування | 2 цифри | Корекція для складання, |
| | | |
| десяткове | | вирахування |
| Рядок | 0-4гбайт | Пересилка, завантаження, |
| | Слів, | |
| (байт, слів, | подвійних слів | запам'ятовування, порівняння, |
| | | |
| подвійних слів) | | перегляд, повтор |
| Рядок біт | 1-4гбіт | Перевірка, перевірка і |
| | | Установ-|
| | | Ка, перевірка і гасіння, |
| | | Про-|
| | | Верка і доповнення, |
| | | Перегляд, |
| | | Вставляння, вилучення |
| Локальний | 32 біт | (див. порядкове) |
| | | |
| покажчик | | |
| Глобальний | 48 біт | Завантаження |
| | | |
| покажчик | | | p>
Примітка. p>
Локальний покажчик - 32 бітне зміщення в сегменті,певному однією з реєстрованих пар сегмента/дескриптора. Глобальнийпокажчик - це повний логи