Структура і набір команд процесора intel80X86

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

НОУ СПО «Коледж ІМТ»
                   
Курсова робота

Структура і набір команд процесора intel80X86

                                     
виконав студент групи
                                      перевірив:
Іжевськ 2007
ЗМІСТ
ЗМІСТ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 2
ВСТУП ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
1. КОРОТКИЙ ОГЛЯД ПРОЦЕСОРІВ ФІРМИ INTEL ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... 3
1.1 ПРОЦЕСОР i8086 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
1.2 ПРОЦЕСОР i8088 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
1.3 ПРОЦЕСОР i80286 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... 5
1.4 ПРОЦЕСОР i80386 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... 6
2. ОСНОВНІ ХАРАКТЕРИСТИКИ i80286 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2.1 Режим реальної адресації ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 8
2.2 Режим захисту ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 9
2.3 Співпроцесор i80287 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... ... ... ... ... 9
2.3.1 Умови програмування i80287 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... 9
3. Основні характеристики i80386 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10
3.1 32-бітна архітектура ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... ... ... ... ... ... ... 11
3.2 Високопродуктивна технологія ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... ... ... ... ... 11
3.3 Забезпечення роботи з віртуальною пам'яттю ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... ... 13
3.4 Механізми захисту ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14
3.5 Сумісність з мікропроцесорами 8086/80286 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .... ... 15
3.6 Способи адресації ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 15
3.7 Головні типи даних ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... 16
3.7.1 Типи даних математичного співпроцесора ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
висновок ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 19
СПИСОК ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20

Введення

Процесори фірми INTEL є не найкращим рішенням для персональних комп'ютерів, але завдяки тому, що i80х86 успадковують всі властивості попередніх моделей - вони одержали саме широке поширення в світі. Поряд з INTEL аналогічні процесори випускають і інші фірми - AMD, Texas Instruments, Cyrix, NexGen, Motorola та інші. Багато хто з них відрізняються не тільки кількістю елементів на кристалі, а й системою команд, архітектурою.
1. КОРОТКИЙ ОГЛЯД ПРОЦЕСОРІВ ФІРМИ INTEL
1.1 ПРОЦЕСОР i8086

У 1976 році фірма Intel почала посилено працювати над мікропроцесором i8086. Розмір його регістрів був збільшений у два рази, що дало можливість збільшити продуктивність в 10 разів у порівнянні з 8080. Крім того, розмір інформаційних шин був збільшений до 16 розрядів, що дало можливість збільшити швидкість передачі інформації на мікропроцесор і з нього в два рази. Розмір його адресної шини також був істотно збільшений - до 20 біт. Це дозволило 86-му прямо контролювати 1М оперативної пам'яті. Як прямий нащадок i8080, i8086 успадкував велику частину безлічі його команд. Регістри цього процесора були розроблені таким чином, що вони могли обробляти як 16-ти бітні значення, так і 8-ми бітові - також як це робив i8080. Пам'ять i8086 була також доопрацьована спеціальним чином. Весь мегабайт оперативної пам'яті не представлявся єдиним полем, а був розділений на 16 сегментів величиною по 64К. Таким чином, пам'ять 8086 можна було уявити, як об'єднану разом пам'ять кількох i8080. i8086 працював з кожним сегментом окремо, не дозволяючи великим інформаційним структурам переходити через кордони сегментів. У певному сенсі i8086 випередив свій час. Малі комп'ютери грунтувалися на 8-ми бітної архітектурі, пам'ять була дуже дорога, потрібні додаткові 16-ти бітні мікросхеми. Використання цього процесора передбачалося в 16-ти бітних пристроях, які не виправдовували свою ціну в той час.

1.2 ПРОЦЕСОР i8088
Через рік після презентації 8086, Intel оголосив про розробку мікропроцесора i8088. Він був дуже схожим на i8086:
16-бітові регістри, 20 адресних ліній, той же набір команд - все те ж, за винятком одного, - шина даних була зменшена до 8 біт. Це дозволяло повністю використати широко поширені в той час 8-бітові елементи технічного забезпечення.
Як крок назад в історії розробки мікропроцесорів i8088 міг загубитися в історії, як це було з i8085, не виріши IBM реалізувати свій перший персональний комп'ютер на його базі. Вибір IBM був зрозумілий. Восьми бітна шина даних дозволяла використовувати наявні на ринку мікросхеми. Шістнадцяти бітна внутрішня структура давала
важливі переваги в порівнянні з існуючими мікропроцесорами. Як приймач 80-го мікропроцесора, i8088 міг розуміти незначно допрацьовані програми, що працюють з CP / M. За великим рахунком, всі ці переваги були тимчасовими, а в деяких випадках і ілюзорними. Але восьми бітний чіп був ще і не дорогим. Останнє стало більш важливим аргументом, ніж 16-бітові регістри і легко адаптуються програми CP / M. Отже, i8088 з'явився базою для розробки сімейства
малих комп'ютерів. Він підготував грунт для швидкого створення сумісних настільних комп'ютерів.
Потенційно 8086 був в два рази производительней, і майже повністю сумісний з i8088. Мікропроцесори i8088 і i8086 сумісні, але не взаємозамінні. Вісім додаткових біт даних вимагали 8-ми додаткових проводів. Таким чином підключення цих двох мікросхем було різним. Комп'ютер розроблявся або під один мікропроцесор, або під інший.
Ось деякі витяги з технічного опису 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-бітових каналу таймерів-лічильників і вісім пріоритетних рівнів переривання ...
ЦП 8088 комп'ютера IBM PC виробляє вибірку команди за адресою, інтерпретує її, виконує дію, необхідну цією командою, (наприклад, додавання двох чисел), потім переходить до виконання наступної команди. Якщо наступна команда не направить процесор 8088 безпосередньо до певної комірки пам'яті, щоб виконати записану там команду, процесор буде рухатися від однієї команди до іншої по осередках пам'яті, розташованим послідовно (крок за кроком). Найбільш істотна різниця між покроковим виконанням програми (послідовності команд) та покрокової роботою комп'ютера полягає в тому, що комп'ютер IBM може виконувати близько мільйона таких кроків на секунду ...
У міру того, як з'явилися мікропроцесори, що складаються з багатьох тисяч дискретних елементів, з'явилася можливість реалізації додаткових функцій в рамках однієї мікросхеми. При розробці комп'ютера, крім мікропроцесора, використовуються і інші додаткові пристрої: контролери переривань, таймери і контролери шин. Функції цих пристроїв технічно можна реалізувати в одному корпусі з мікропроцесором. Однак ці можливості ніколи не реалізуються на практиці. Мікропроцесор, як і всі додаткові пристрої, може використовуватися не тільки в комп'ютерах.
З розвитком комп'ютерної індустрії, ринком була проведена оптимізація розподілу функцій між пристроями. І кожен пристрій розвивалося в напрямку реалізації своїх функцій. Intel продовжував удосконалювати свої мікропроцесори. У 1982 році був представлений мікропроцесор i80186. Цей чіп став базовим для створення цілого ряду сумісних комп'ютерів і реалізації турборежим. Так само був створений мікропроцесор i80188 - приймач i8088.
1.3 ПРОЦЕСОР i80286
Презентація IBM персонального комп'ютера AT в 1984 році сфокусувала всю увагу на інший мікропроцесор - i80286. Сам по собі мікропроцесор був представлений ще в 1982 році. Природно у 8086 і 80286 багато спільного, але i80286 володіє такими додатковими якостями, які відразу привернули пильну увагу всіх пов'язаних з комп'ютерною індустрією. Новий мікропроцесор використовує
повну 16-розрядну шину даних і 16-бітові внутрішні регістри. Він був розроблений для роботи з частотою в 6 Мгц, а потім 8 і 10 МГц. Більш того, i80286 здатний реалізовувати свої функції швидше, ніж це випливає з простого зростання частоти.
У кінцевому рахунку, найбільшою перевагою i80286 було те, що він мав здатність працювати з додатковою пам'яттю. Замість 20-розрядної адресної шини i8088/i8086, i80286 мав 24-розрядну шину. Ці додаткові 4 розряди давали можливість збільшити максимум адресної пам'яті до 16 М.
i80286 дозволив також використовувати віртуальну пам'ять. Назва говорить сама за себе, що віртуальна пам'ять організується не на якихось окремих фізичних чіпах. Більше того, інформація зберігається десь у зовнішній пам'яті, але система забезпечує до неї прямий доступ. i80286 забезпечений спеціальними засобами, які дають йому можливість відрізняти, до реальної або віртуальної пам'яті відноситься
будь-який байт. Ці кошти реалізуються додатковими схемами, включеними в мікропроцесор. Вони дають можливість працювати з 1Г пам'яті, що включає в себе 16М фізичної пам'яті і 1008М віртуальною.
Теоретично i80286 мав подолати бар'єр адресної пам'яті в 1 М, який був встановлений попередніми моделями. Але насправді ця можливість не була реалізована.
Проблема була частково в традиціях, а частково в сумісності. До часу появи i80286 IBM PC мала гарантований успіх. Для i8088, i8086 було розроблено величезну програмне забезпечення. Відмова від використання цих розроблених програм ставив під сумнів використання нового чіпа. Для забезпечення сумісності з раніше розробленими чіпами розробники i80286 забезпечили його роботу в двох режимах: у реальному і захищеному. Реальний режим був скопійований з режиму роботи i8086. Причому розробники працювали так сумлінно, що внесли в реальний режим і обмеження по використанню тільки 1М пам'яті.
Щоб використовувати поліпшені можливості Intel 80286, фірма розробила захищений режим. Хоча була відсутня програмна сумісність з i8086, цей режим дозволяв використовувати всі 16М і навіть 1Г віртуальної пам'яті в програмах, що працюють в захищеному режимі.
Точно так само як і i8086 свого часу, i80286 давав такі величезні ресурси пам'яті, потреба в яких ще не назріла до того часу. Тому цей режим не відразу був визнаний широким колом користувачів. Знадобилося майже три роки, що минули з моменту презентації першої АТ і появою операційної системи OS / 2, що працює в цьому режимі, і ознаменувала собою початок його широкого застосування.
Були дві причини повільної популяризації захищеного режиму. Для програмістів, які працюють в DOS, істотним було питання переходу між реальним і захищеними режимами. Intel розробив перехід між режимами тільки в одному напрямку. Мікропроцесор починав роботу тільки в реальному режимі, коли відбувалося тестування всіх 16М пам'яті, але для використання цього ресурсу необхідно було перейти в захищений режим. Інакше користувач міг задовольнятися лише 1 М пам'яті. Зворотного переходу від захищеного режиму до реального не існує - потрібно перезавантаження.
Крім того, захищений режим реалізовував тільки частково сподівання програмістів. Вся величезна пам'ять i80286 була розділена на сегменти по 64К. Замість того, щоб вільно використовувати весь ресурс пам'яті, програмістам доводилося мудрувати, щоб подолати ці бар'єри між сегментами.

1.4 ПРОЦЕСОР i80386
i80386 був створений в 1985 році. i80386 був створений при повній ясності всіх вимог, що пред'являються до мікропроцесорах і комп'ютерів. i80386 мав усі позитивні якості своїх попередників. Всі мікрокоду i80286 входили в безліч мікрокоманд i80386. Тому старе програмне забезпечення могло використовуватися з i80386. Але разом з тим у i80386 були додаткові можливості. Особливо приваблювала можливість працювати без обмеження пов'язаного з сегментацією пам'яті. Розміри регістрів і шини даних були збільшені до 32 біт. Інформація передавалася і оброблялася в два рази швидше, ніж у 16-бітного i80286.
З самого початку розробники 80386 ставили перед собою завдання створити швидкий чіп. При його створенні використовувалася CHMOS технологія. Перші i80386 почали працювати з найвищою частотою, досягнутої для i80286. Потім з'явилася 20 Мгц модель. У 1985 році межа була відсунута до 25 МГц. А незабаром і до 33 МГц.
Зі збільшенням шини даних до 32 біт, число адресних ліній також було збільшено до 32. Саме по собі це розширення дозволило мікропроцесору прямо звертатися до 4Гб фізичної пам'яті. Крім того, він міг працювати з 16 трильйонами байт віртуальної пам'яті. Мікропроцесор мав усе необхідне для реалізації останнього. Величезна перевага давав спосіб організації пам'яті i80386. До неї можна було звертатися, як до однієї великої полю, доступному для програм. Тобто структури даних і програми могли бути обсягом в цілу пам'ять. Поділ пам'яті на сегменти можливо, але не обов'язково. Сегменти можуть бути довільні, а не обмежені по64К.
Крім того, i80386 забезпечений 16 байтами кеш-пам'яті. Це спеціально вбудоване поле пам'яті використовується для зберігання кількох команд мікропроцесора. Незалежно від вироблених мікропроцесором розрахунків, спеціальна схема завантажує в цю пам'ять код програмного забезпечення, перш ніж в ньому виникне потреба. Ця невелика кеш-пам'ять допомагає процесору працювати більш швидко без затримок, пов'язаних з очікуванням завантаження чергової команди з оперативної пам'яті.
Для того щоб забезпечити сумісність з попередніми мікропроцесорами і з величезною бібліотекою DOS-програм i80386 був розроблений таким чином, щоб бути, як можна більше схожим на i8086 і i80286. Як і його попередники, i80386 дозволяв працювати в захищеному режимі з обмеженням адресної пам'яті в 1 М. У цьому режимі він завантажував і виконував всі програми, розроблені на процесорах попередніх поколінь.
З реального режиму i80386 міг бути переведений в захищений режим, де він функціонував подібно 80286, за винятком обсягу пам'яті. У цьому режимі в розпорядженні програміста було більше пам'яті, і він міг більш гнучко маніпулювати нею, бо міг змінювати розміри сегмента.
На противагу i80286 - i80386 міг переходити з одного режиму в іншій без перезавантаження машини, а за допомогою команд програмного забезпечення.
Новий режим, названий віртуальним режимом 8086 (Virtual mode), давав i80386 особливо великі свободи для Вашого багатозадачних ОС. У цьому режимі цей процесор працював не як один 8086, а як необмежену їх кількість в один і той же час. Цей режим дозволяв процесору розбивати пам'ять на безліч віртуальних машин, кожна з яких працювала так, як ніби вона була окремим комп'ютером на 8086 чіпі.
2. ОСНОВНІ ХАРАКТЕРИСТИКИ i80286
Мікропроцесор i80286 передбачає 24-розрядну адресацію, 16-розрядний інтерфейс пам'яті, розширений набір команд, функції ПДП і переривань, апаратне множення і ділення чисел з плаваючою комою, об'єднане управління пам'яттю, 4-рівневу захист пам'яті, віртуальний адресний простір на 1 гігабайт (1 073 741 824 байти) для кожної задачі і два режими
роботи: режим реальної адресації, сумісний з мікропроцесором i8086, і режим захищеної віртуальної адресації.
2.1 Режим реальної адресації
У режимі реальної адресації фізична пам'ять мікропроцесора являє собою безперервний масив об'ємом до одного мегабайта. Мікропроцесор звертається до пам'яті, генеруючи 20-розрядні фізичні адреси. 20-розрядний адреса сегмента пам'яті складається з двох частин: старшій 16-розрядної змінної частини та молодшої 4-розрядної частини, яка завжди дорівнює нулю. Таким чином, адреси сегментів завжди починаються з числа, кратного 16. У режимі реальної адресації кожен сегмент пам'яті має розмір 64 Кбайта і може бути лічений, записаний або змінений. Якщо операнди даних або команд спробують виконати циклічний повернення до кінця сегменту, що також призупинити або виникнути виняткова ситуація, наприклад, якщо молодший байт слова зміщений на FFFF, а старший байт дорівнює 0000. Якщо в режимі реальної адресації інформація, що міститься в сегменті, не використовує всі 64 КБайт, простір, який ви може бути надано іншому сегменту з метою економії фізичної пам'яті.

2.2 Режим захисту
Режим захисту передбачає розширене адресний простір фізичної і віртуальної пам'яті, механізми захисту пам'яті, нові операції з підтримки операційних систем і віртуальної пам'яті. Режим захисту забезпечує віртуальний адресний простір на 1 гігабайт для кожного завдання у фізичному адресному просторі на 16 Мегабайт. Віртуальний простір може бути більше фізичного, тому що будь-яке використання адреси, який не розподілений у фізичній пам'яті, викликає виникнення виняткової ситуації, що вимагає перезапуску.
Як і режим реальної адресації, режим захисту використовує 32-розрядні покажчики, що складаються з 16-розрядного шукача і компонентів зміщення. Шукач, однак, визначає індекс у резидентної таблиці пам'яті, а не старші 16 розрядів адреси реальної пам'яті. 24-розрядний базовий адресу бажаного сегмента пам'яті отримують з таблиць пам'яті. Для одержання фізичної адреси до базової адреси сегмента додається 16-розрядне зміщення. Мікропроцесор автоматично звертається до таблиць, коли в регістр сегменту завантажується шукач. Усі команди, що виконують завантаження регістра, звертаються до таблиць пам'яті без додаткової програмної підтримки. Таблиці пам'яті містять 8-байтові значення, звані опису.
2.3 Співпроцесор i80287
Математичний співпроцесор i80287 дозволяє йому виконувати швидкісні арифметичні та логарифмічні операції, а також тригонометричні функції з високою точністю. Співпроцесор працює паралельно з мікропроцесором, це скорочує час обчислень, дозволяючи сопроцессору виконувати математичні операції, в той час як мікропроцесор займається виконанням інших функцій. Співпроцесор працює з сімома типами числових даних, які діляться на наступні три класи:
- Виконавчі цілі числа (3 типи);
- Десяткові цілі числа (1 тип);
- Дійсні числа (3 типу).

2.3.1 Умови програмування i80287

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

ТИПИ ДАНИХ

Тип даних
Число бітів
Число вірних значущих цифр
Ціле слово
16
4
Коротке ціле
32
9
Довге ціле
64
19
Упаковане десяткове короткий
80
18
Дійсне довге
32
6-7
Дійсне тимчасове
64
15-16
Дійсне
80
19
3. Основні характеристики i80386

Мікропроцесор 80386 дає розробнику систем велике
число нових і ефективних можливостей, включаючи продуктивність від 3 до 4 мільйонів операцій у секунду, повну 32-бітову архітектуру, 4 гигабитное (2 байт) фізична адресний простір і внутрішнє забезпечення роботи з сторінкової віртуальною пам'яттю.
Незважаючи на введення в нього останніх досягнень мікропроцесорної техніки, 80386 зберігає сумісність з об'єктного коду з програмним забезпеченням, у великій кількості
написаним для його попередників, 8086 і 80286. Особливий інтерес представляє така властивість 80386, як віртуальна машина, що дозволяє 80386 переключатися у виконанні програм, керованих різними операційними системами, наприклад, UNIX і MS-DOS. Ця властивість дозволяє виробникам оригінальних систем безпосередньо вводити прикладне програмне забезпечення для 16-бітових машин в системі на базі 32-бітних мікропроцесорів.
Об'єднуючи в собі продуктивність суперміні ЕОМ і низьку вартість і функціональну гнучкість мікропроцесора, 80386 може відкрити нові ринки для мікропроцесорних систем.
Застосування, неприпустимі перш через невисокий швидкодії мікропроцесорів або не економності використання суперміні ЕОМ, стали тепер практично здійсненні завдяки 80386. Такі новітні застосування, як машинне зір, розпізнавання мови, інтелектуальні роботи та експертні системи, що були до недавнього часу в основному на стадії експерименту, тепер можуть бути запропоновані на ринку.
Для тго, щоб задовольнити вимогам майбутніх застосувань, мало мати 32-бітові регістри, команди і шини. Ці основні властивості є лише відправною точкою для 80386.

3.1 32-бітна архітектура

32-бітова архітектура 80386 забезпечує програмні ресурси, необхідні для підтримки "великих" систем, якi характеризуються операціями з великими числами, великими структурами даних, великими програмами (чи великою кількістю програм) тощо Фізичне адресний простір 80386 складається з 2 байт або 4 гбайт; його логічний адресний простір складається з 2 байт або 64 терабайт (Тбайт). Вісім 32-бітних загальних регістрів 80386 може бути взаимозаменяемо використані як операнди команд і як змінні різних способів адресації.
Типи даних містять у собі 8 -, 16 - або 32-бітові цілі і порядкові, упаковані та неупаковані десяткові, покажчики, рядки біт, байт, слів і подвійних слів. Мікропроцесор 80386
має систему команд для операцій над цими типами
даних, а також для управління виконанням програм. Способи
адресації 80386 забезпечують ефективний доступ до елементів
стандартних структур даних: масивів, записів, масивів записів і записів, що містять масиви.


3.2 Високопродуктивна технологія

32-бітова архітектура не гарантує високої продуктивності. Реалізація потенціалу архітектури вимагає новітньої мікроелектронної технології, точного поділу функцій і уваги до зовнішніх операціях кристала, особливо до взаємодії процесора з пам'яттю. Включення цих властивостей забезпечує 80386 найвищу проізвідітельность в порівнянні з будь-яким іншим існуючим мікропроцесором.
Мікропроцесор 80386 реалізований за допомогою технології фірми Intel CH MOSIII - технологічного процесу, що об'єднує в собі можливості високої швидкодії технології HMOS з малим споживанням технології кмоп. Використання геометрії 1,5 мкм і верств металізації дає 80386 більш 275000 транзисторів на крісталлле.
Мікропроцесор 80386 розділений всередині на 6 автономно і
паралельно працюючих блоків з відповідною синхронізацією. Всі внутрішні шини, що з'єднують ці блоки, мають розрядність 32 біт. Конвеєрна організація функціональних блоків в 80386 допускає тимчасове накладення виконання різних стадій команди і дозволяє одночасно виконувати декілька операцій. Крім конвеєрної обробки всіх команд, в 80386 виконання низки важливих операцій здійснюється спеціальними апаратними вузлами. Блок множення / ділення 80386 може випонять 32-бітове множення за 9-41 такт синхронізації, залежно від кількості значущих цифр, він може розділити 32-бітові операнди за 38 тактів (у разі чисел без знаків) або за 43 такту (у разі чисел зі знаками). Регістр групового зсуву 80386 може за один такт зрушувати від 1 до 64 біт.
У багатьох 32-бітових застосуваннях, у таких як, наприклад,
перепрограмувальні ЕОМ колективного користування, потрібно
перетворення логічних адрес у фізичні і захист пам'яті за допомогою блоку управління пам'яттю, БУП. В інших застосуваннях, наприклад, в системах управління в реальному часі, це не потрібно. Для більшості мікропроцесорних систем з 32-бітної архітектурою такий поділ функцій реалізується шляхом використання додаткового корпусу блоку управління пам'яттю. На відміну від них буп 80386 входить до складу процесора, як один з двох функціональних блоків конвеєрної структури. Операційна система, що керує роботою БУП, дозволяє, наприклад, системі реального часу обходити сторінкове перетворення. Введення управління пам'яттю всередину кристала дає підвищену продуктивність в системах, що використовують БУП і не призводить до її зниження в тих систм, які БУП не використовують. Такі характеристики стали можливі завдяки
зниження затримок поширення, використання внутрішнього
полупериодного тактирования і паралельної роботи.
Ще одна властивість, необхідне в одних застосуваннях і не
вимагається в інших, це обробка великих чисел, особливо в арифметичних операціях з плаваючою комою з одинарною та подвійною точністю. Операнди з плаваючою комою мають велику довжину, а необхідний набір команд для операцій над ними є досить складним; для реалізації стандартного набору операцій з плаваючою комою у відповідності зі стандартом IEEE754 потрібно декілька тисяч транзисторів. У цих цілях в 80386 є апаратне забезпечення спільної роботи з окремим математичним співпроцесором. До 80386 може бути підключений математичний співпроцесор або 80287, або більш продуктивний 80387. Для прикладного програмного забезпечення співпроцесори прозорі, вони лише розширюють архітектуру 80386 з допомогою регістрів, типів даних і операцій, необхідних стандартом IEEE754. Комбінація 80386 і 80387 може виконувати 1,8 мільйон операцій.
32-бітний процесор, що працює з частотою 16 мгц, має
більшу швидкодію, ніж більшість швидкодіючих пам'ятей, внаслідок чого його продуктивність може бути обмежена часом доступу до пам'яті. 80386 був спроектований так, щоб з максимальною ефективністю використовувати як найбільш швидкодіючі статистичні ОЗУ, так і недорогі динамічні ОЗУ. Для звернення до швидкої пам'яті, наприклад типу кеш, 80386 виробляє двотактний магістральний цикл для адреси / даних. (Пам'яті типу кеш 80386 може мати будь-який об'єм від мінімального корисного 4 кбайт до максимального, що охоплює всі фізична адресний простір). Звернення до більш повільної пам'яті (або до пристроїв вводу / виводу) може проводитися з використанням конвеєрного формування адреси для збільшення часу встановлення даних після адреси до 3 тактів при збереженні двотактних циклів в процесорі. Внаслідок внутрішнього конвеєрного форморованія адреси у виконанні команди, 80386, як правило, обчислює адресу і визначає наступний магістральний цикл під час поточного магістрального циклу. Вузол конвеєрного формування адреси передає цю випереджальну інформацію в підсистему пам'яті, дозволяючи, тим самим, одному банку пам'яті дешифрировать наступний магістральний цикл, у той час як інший банк реагує на поточний магістральний цикл.

3.3 Забезпечення роботи з віртуальною пам'яттю

Віртуальна пам'ять дозволяє ставити максимальний обсяг програми або групи програм в залежність від наявного адресного простору на диску, а не від об'єму фізичної пам'яті (ОЗП), яка в даний час приблизно в 400 разів дорожче. З витікає звідси гнучкості виграють виробники обладнання (які можуть поставляти вироби, що відрізняються лише в конфігураціях пам'яті і в рівні продуктивності), програмісти (які можуть надавати управління зберіганням програм операційних систем і уникати написання програм з перекриваються структурами) і кінцеві користувачі (які можуть вводити нові та великі за обсягом прикладні програми, не побоюючись дефіциту пам'яті).
Віртуальна пам'ять реалізується операційною системою з
відповідної апаратурної підтримкою. Мікропроцесор 80386
забезпечує роботу з системами віртуальної пам'яті з сегментною або сторінкової організацією. Сегментна віртуальна пам'ять більше підходить для невеликих 16-бітових систем, в яких обсяг сегмента не перевищує 64 кбайт. 80386 забезпечує роботу з сегментами обсягом до 4 гбайт; тому в більшості великих систем на базі 80386 системи віртуальної пам'яті будуть використовувати можливість сторінкового запиту. Для кожної сторінки 80386 виробляє біти присутності, зайнятості або реєстрації звернення, які необхідні для ефективної реалізації віртуальної пам'яті з сторінковими запитами. У разі звернення до неіснуючої сторінці 80386 автоматично робить перехід до операційної системи, якщо операційна система вважала з диска відсутню сторінку, 80386 виконує команду повторно. Висока продуктивність в роботі з віртуальною пам'яттю забезпечується в 80386 використанням внутрішньої кеш-пам'яті для зберігання сторінкової інформації. Ця кеш-пам'ять (звана буфером перегляду трансляції, TLB) містить інформацію про розподіл адрес 32 сторінок, що використовувалися останніми. Сторінки віртуальної пам'яті 80386 мають об'ем 4 кбайт, зберігаючи одночасно розподіл 128 кбайт пам'яті, буфер TLB дозволяє 80386 перетворити адреси всередині кристалу, не звертаючись до зберігається в пам'яті таблиці сторінок. У типових системах 98-99% пошуку адрес буде здійснюватися через буфер TLB.

3.4 Механізми захисту

Виконуючи 3-4 мільйони операцій за секунду, 80386 має достатньо обчислювальної потужності для забезпечення найбільш
складних систем, що складаються з сотень або тисяч програмних модулів. У таких системах питання полягає не в тому, чи будуть помилки, а в тому як їх накті і повозможності швидко усунути і наскільки їх дія може бути обмежена. Такі системи можуть бути швидко налагоджені й зроблені більш надійними при серійному освоєнні, якщо процесор буде перевіряти кожну команду за критерієм захисту. При цьому ступінь і тип захисту залежить від конкретного застосування. Зазвичай прості системи реального часу працюють досить добре без використання захисту. Різні вимоги до захисту можуть бути найбільш повно задоволені за допомогою набору вибірково використовуваних функцій захисту, введених в 80386:
- Поділ адресних просторів завдань;
- Введення 0-4 рівнів привілеїв;
- Використання привілейованих команд (наприклад, HALT);
- Поділ сегментів за типами (наприклад, кодовий сег
мент або сегмент даних);
- Введення прав доступу до сегментів і сторінок (наприклад, право тільки читання або тільки виконання);
- Перевірка меж сегменту.
Для збереження максімельной продуктивності всі перевірки захисту в 80386 виконуються одночасно з виконанням
команди.

3.5 Сумісність з мікропроцесорами 8086/80286

Два покоління процесорів сімейства 86 передують процесору 80386 - 80286 і 8086, з кожним з них 80386 сумісний на рівні двійкових кодів. Завдяки такій сумісності економляться програмні витрати, забезпечується швидкий вихід на ринок і доступ до великої бібліотеці програмного забезпечення, написаного для машин на базі мікропроцесорів сімейства х86.
Мікропроцесор 80386, звичайно, може виконувати програми для 8086, він також може одночасно виконувати програми для 80286 і 80386. Однак найбільш важливою властивістю сумісності 80386 представляється властивість, зване VIRTUAL 86 (віртуальний 86), встановлює захищену структуру для 8086 всередині системи завдань 80386. Доповнюючи властивість віртуального 8086 сторінкової організацією пам'яті, 80386 може закріпити за кожним завданням віртуального 8086 1 мбайтное адресний простір в будь-якій галузі фізичного адресного простору 80386. Більш того, якщо операційна система 80386 забезпечує роботу з віртуальною пам'яттю, то завдання віртуального 8086 можуть переноситися з диска і назад як будь-які інші завдання. Таким чином, властивість віртуального 8086 дозволяє
80386 одночасно виконувати програми, написані для трьох поколінь родини 86.

3.6 Способи адресації

Мікропроцесор 80386 забезпечує реєстрову і безпосередню адресацію операндів, що містяться, відповідно, в регістрах або командах. Eще більш важливим є здатність 80386 забезпечувати різні способи адресації необхідні для ефективного обігу до таких елементів структур даних у пам'яті як масиви, записи (структури), масиви записів і записи, що містять масиви. При цьому програма визначає поле зміщення в логічному адресі за одним із способів адресації пам'яті в 80386. Процесор 80386 обчислює поле зміщення логічногоадреси за такою формулою:
зміщення = база + (Ідекс X масштаб) + відхилення
Для обчислення зміщення можуть бути використані будь-які
або всі змінні бази, індексу і відхилення. Змінні бази та індексу є величинами, що зберігаються в загальних регісрах, а величина відхилення міститься в команді. Для зберігання бази або індексу може бути використаний будь-який загальний реєстр.
Величина в індексному регістрі може бути отмаштабірована (помножена) коеффіціентом 1,2,4 або 8, що дає можливість робити посилання на елементи масиву або записи відповідної довжини. Величина відхилення може мати розрядність 8 або 32 біт і інтерпретується процесспром як величина зі знаком в додатковому коді.
Розумні комбінації бази, індексу і відхилення дають такі способи адресації пам'яті 80386:
- Пряма: використовується тільки відхилення;
- Регістрівая непряма: використовується тільки база;
- Базова: використовується база + відхилення;
- Індексний: використовується індекс (в масштабі);
- Індексний з відхиленням: використовується індекс (в
масштабі) + відхилення;
- Базова індексний: використовується база + індекс (в масштабі);
- Базова індексний з відхиленням: використовується база + індекс
(У масштабі) + відхилення;
3.7 Головні типи даних

У табл. 3.7.1 перераховані типи даних і команди, що забезпечуються процесором 80386. У цій таблиці наведено лише найбільш вживані команди. Варіанти команд, такі як (у разі циклічного зсуву) циклічний зсув вправо і циклічний зсув через перенесення, також опущені.


Таблиця 3.7.1

Головні типи даних і команди
Тип
Розрядність
Команди
Ціле,
порядкове









8, 16, 32 біт










Пересилка, обмін, перетворення, перевірка, порівняння, переклад, зсув, подвійний зсув, циклічний зсув, заперечення, логічне "і", "або", виключає "або".
Додавання, віднімання, множення, ділення, збільшення на 1, зменшення на 1, переклад (пересилання з розширенням знаку / нуля)
Неупаковані
десяткове
1 цифра

Корекція для складання,
віднімання, множення, ділення
Упаковане
десяткове
2 цифри

Корекція для складання,
віднімання
Рядок
(Байтів, слів,
подвійних слів)
0-4гбайт слів,
подвійних слів

Пересилання, завантаження,
запам'ятовування, порівняння,
перегляд, повтор
Рядок біт



1-4гбіт



Перевірка, перевірка і установ-
ка, перевірка і гасіння, про-
Вєрка і доповнення, перегляд,
вставляння, вилучення
Локальний
покажчик
32 біт

(Див. Порядкове)

Глобальний
покажчик
48 біт

Завантаження

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

Математичний співпроцесор 80287 чи 80387 додають до типів даних і командам процесора 80386 свої, наведені в табл.3.7.1.1 У більшості прикладних задач вхідні величини і одержувані результати зберігаються у вигляді типів цілих, дійсних або упакованих десяткових, а проміжних величин є тип даних проміжне дійсне, розширений діапазон і точність якого у складних обчисленнях зводять до мінімуму помилки округлення, переповнення і зникнення порядку. Відповідно до такої моделі математичний співпроцесор виробляє більшу частину обчислень над проміжними величинами, що зберігаються в його регістрах. При завантаженні
будь-якого типу даних в регістровий стек, цей тип автоматично змінюється на проміжний дійсний. Проміжна дійсна величина в регістрі, у свою чергу, може бути
переведена в будь-який інший тип за допомогою команди запам'ятовування.


Таблиця 3.7.1.1

Головні типи даних і команди математичного співпроцесора
Команди
Тип
Розрядність
Завантаження, запам'ятовування, порівняння, додавання, віднімання, множення, ділення
Ціле


16,32,64 біт


Завантаження, запам'ятовування

Упаковане
десяткове
18 цифр

Завантаження, запомонаніе, порівняння додавання, віднімання, множення, ділення
Дійсне


32,64 біт


Додавання, віднімання, множення, ділення, витяг квадратного кореня, масштабування залишку, обчислення частини цілого, зміна знака, обчислення абсолютної величини, виділення порядку і мантиси, порівняння, огляд, перевірка, обмін, арктангенс, 2-1, Y * LOG (X +1), Y * LOG (X), завантаження константи (0.0, П, і т.д.) (80387 додає синус, косинус, синус і косинус, невпорядкована порівняння).
Проміжне
дійсне












80 біт














Висновок
Винахід процесорів i80386 і i80286 було великим кроком у поліпшенні архітектури і продуктивності процесорів фірми Intel, зараз ці процесори морально застаріли і в основному використовуються про контролерах, а так само в побутовій техніці.

СПИСОК

1. В.Л. ГРИГОР'ЄВ "Мікропроцесор i80486" БІНОМ Москва 1993
2. М. ГУК "Апаратні засоби IBM PC" Пітер Санкт-Петербург 1997
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
97.1кб. | скачати


Схожі роботи:
Система команд Структура слова команд Синтаксис команд Групи команд
Функціональна організація і система команд процесора
Призначення та функції процесора структура і функціонування мікропроцесора
Набір і відбір персоналу
Нотний набір і верстка
Набір обробних дощок Яблуко
Відбір та набір персоналу ТОВ ТЕРМОРОС
Пушкін набір літератури і шпор до вступних іспитів
Набір відбір і наймання персоналу як невід`ємна частина системи управління
© Усі права захищені
написати до нас