X86 процесорів
У 1976 року фірма Intel початку посилено працювати над мікропроцесором i8086. Розмір його регістрів збільшили вдвічі, що підвищило продуктивність удесятеро проти 8080. З іншого боку, розмір інформаційних шин збільшили до 16 розрядів, що підвищило швидкість передачі на мікропроцесор і із нього двічі. Розмір його адресної шини також був істотно збільшений — до 20 біт. Це дозволило б 86-му прямо… Читати ще >
X86 процесорів (реферат, курсова, диплом, контрольна)
Інститут Перепідготовки Кадров.
Уральського Державного Технічного Университета.
Кафедра мікропроцесорної техники.
Оцінка работы.
Члени комиссии.
ОГЛЯД ПРОЦЕСОРІВ I80X86.
Курсова работа.
Пояснювальна записка.
Керівник к.т.н. доцент І. Є. Мясников.
Слушатель.
Група СП-913 А. А. Соколов.
ЕКАТЕРИНБУРГ.
ПОСТАНОВКА ЗАВДАННЯ … — ЗМІСТ … 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.
2.3.1 Умови програмування i80287 … 15 3. До основних рис i80386 … 16 3.1 32-битная архітектура … 17 3.2 Високопродуктивна технологія … 18 3.3 Забезпечення роботи з віртуальної пам’яттю … 20 3.4 Механізми захисту… 21 3.5 Сумісність з мікропроцесорами 8086/80 286… 22 3.6 Способи адресації… 23 3.7 Головні типи даних… 24.
3.7.1 Типи даних математичного співпроцесора… 25 висновок … 26 БІБЛІОГРАФІЧНИЙ СПИСОК… 27.
Процесорам фірми INTEL не є найкращим рішенням для персональних комп’ютерів, але тому, що i80×86 успадковують все властивості попередніх моделей — вони мали саме стала вельми поширеною в світі. Поруч із INTEL аналогічні процесори випускають інші фірми — AMD, Texas Instruments, Cyrix, NexGen, Motorola та інші. Чимало їх ми відрізняються як кількістю елементів на кристалі, а й системою команд, архитектурой.
1. КОРОТКИЙ ОГЛЯД ПРОЦЕСОРІВ ФИРМЫ INTEL.
1.1 ПРОЦЕСОР i8086.
У 1976 року фірма Intel початку посилено працювати над мікропроцесором i8086. Розмір його регістрів збільшили вдвічі, що підвищило продуктивність удесятеро проти 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.31 818 МГц, ділиться на 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 і 80 286 багато спільного, але i80286 має такими додатковими якостями, що відразу залучили пильна увага всіх що з комп’ютерної індустрією. Новий мікропроцесор використовує повну 16-разрядную шину даних, і 16-битные внутрішні регістри. Він був розроблений до роботи із частотою в 6 МГц, та був 8 і десяти МГц. Понад те, 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 80 286, фірма розробила захищений режим. Хоча була відсутня програмна сумісність з i8086, цей режим дозволяв використовувати усі 16 М і навіть 1 Г віртуальної пам’яті програми, що працюють у захищеному режиме.
Так само як і i8086 свого часу, i80286 давав такі величезні ресурси пам’яті, необхідність яких не назріла на той час. Тому цей режим не відразу визнано широким колом користувачів. Знадобилося майже 3 роки, що минув з презентації першої АТ і появою ОС OS/2, яка працює цьому режимі, і що ознаменувала собою початок його широкого применения.
Були дві причини повільної популяризації захищеного режиму. Для програмістів, що працюють у DOS, істотним було питання переходу між реальним і захищеними режимами. Intel розробив перехід між режимами тільки одного напрямі. Мікропроцесор починав роботу лише у реальному режимі, коли відбувалося тестування всіх 16 М пам’яті, але для використання цього ресурсу потрібно було перейти в захищений режим. Інакше користувач міг задовольнятися лише 1 М пам’яті. Зворотного переходу від захищеного режиму реальному немає - потрібно перезагрузка.
З іншого боку, захищений режим реалізовував лише частково сподівання програмістів. Уся величезна пам’ять i80286 поділили на сегменти по 64К. Замість вільно використовувати весь ресурс пам’яті, програмістам доводилося мудрувати, щоб ці бар'єри між сегментами.
1.4 ПРОЦЕСОР i80386.
i80386 було створено 1985 року. i80386 створили за цілковитої ясності всіх своїх вимог, що висуваються до микропроцессорам і комп’ютерів. i80386 мав все позитивні властивості своїх попередників. Усі микрокоды i80286 входили у безліч микрокоманд i80386. Тому старе програмне забезпечення могло використовуватися з i80386. Але з тим у i80386 були додаткових можливостей. Особливо приваблювала можливість працювати без обмеження що з сегментацією пам’яті. Розміри регістрів і шини даних було збільшено до 32 біт. Інформація передавалася і оброблялася вдвічі швидше, ніж в 16-битного i80286.
З початку розробники 80 386 ставили собі завдання створити швидкий чіп. У його створенні використовувалася CHMOS технологія. Перші i80386 почали працювати з найвищої частотою, досягнутої для i80286. Потім з’явилася 20 МГц модель. У 1985 року межа була відсунуть до 25 МГц. А згодом і до 33 Мгц.
Зі збільшенням шини даних до 32 біт, число адресних ліній також було збільшено до 32. Саме собою це розширення дозволило микропроцессору прямо звертатися до 4Гб фізичної пам’яті. З іншого боку, він міг працювати із 16-го трильйонами байт віртуальної пам’яті. Мікропроцесор мав усе необхідне для реалізації останнього. Величезне перевагу давав спосіб організації пам’яті i80386. До неї можна було звертатися, як одного великому полю, доступному для програм. Тобто структури даних, і програми були обсягом цілу пам’ять. Поділ пам’яті на сегменти можливо, але. Сегменти може бути довільні, а чи не обмежені по64К.
З іншого боку, i80386 оснастили 16 байтами кеш-пам'яті. Це спеціально вбудоване полі пам’яті використовується для зберігання кількох команд мікропроцесора. Незалежно від вироблених мікропроцесором розрахунків, спеціальна схема завантажує у цю пам’ять код програмного забезпечення, перш ніж ньому з’явиться необхідність. Ця невеличка кеш-пам'ять допомагає процесору працювати спритніше без затримок, що з очікуванням завантаження черговий команди з оперативної пам’яті. Щоб забезпечити сумісність з мікропроцесорами і із великою бібліотекою DOS-программ i80386 розробили в такий спосіб, щоб бути, якнайбільше схожим на i8086 і i80286. Як і його попередники, i80386 дозволяв працювати у захищеному режимі з обмеженням адресуемой пам’яті в 1 М. У цьому вся режимі він завантажував і виконував все програми, розроблені на процесорах попередніх поколений.
З реального режиму i80386 міг стати переведений в захищений режим, де він функціонував подібно 80 286, крім обсягу пам’яті. У цьому вся режимі у розпорядженні програміста було пам’яті, і міг гнучкіше маніпулювати нею, бо міг змінювати розміри сегмента.
На противагу 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.
Мікропроцесор 80 386 дає розробникові систем велике число нові й ефективних можливостей, включаючи продуктивність від 3 до 4 мільйонів операцій на секунду, повну 32-битную архітектуру, 4 гигабитное (2 байт) фізичне адресне простір і внутрішнє забезпечення роботи зі страничной віртуальної памятью.
Попри введення у нього останніх досягнень мікропроцесорної техніки, 80 386 зберігає сумісність по об'єктному коду із програмною забезпеченням, було багато написаним щодо його попередників, 8086 і 80 286. Особливу увагу представляє таке властивість 80 386, як віртуальна машина, яке дозволяє 80 386 переключатися у виконанні програм, керованих різними операційними системами, наприклад, UNIX і MS-DOS. Це властивість дозволяє виробникам оригінальних систем безпосередньо вводити прикладне програмне забезпечення для 16-битных машин системі з урахуванням 32- бітних микропроцессоров.
Об'єднуючи у собі продуктивність супермини ЕОМ і низька вартість будівництва і функціональну гнучкість мікропроцесора, 80 386 може відкрити нові ринки для мікропроцесорних систем.
Застосування, неприпустимі колись через невисокого швидкодії мікропроцесорів або ощадливості використання супермини ЕОМ, стали тепер здійсненні завдяки 80 386. Такі новітні застосування, як машинне зір, розпізнавання промови, інтелектуальні праці та експертні системи, колишні донедавна здебільшого стадії эксперемента, тепер можуть бути запропоновані на рынке.
Для тго, щоб задовольнити вимогам майбутніх застосувань, мало мати 32-битные регістри, команди, і шини. Ці основні властивості є лише відправною точкою для 80 386.
3.1 32-битная архитектура.
32-битная архітектура 80 386 забезпечує програмні ресурси, необхідних підтримки «великих «систем, характеризуемых операціями з великими числами, великими структурами даних, великими програмами (чи великою кількістю програм) тощо. Фізичне адресне простір 80 386 складається з 2 байт чи 4 гбайт; його логічне адресне простір складається з 2 байт чи 64 терабайт (тбайт). Вісім 32-бітних загальних регістрів 80 386 може бути взаимозаменяемо використані як операнды команд як і перемінні різних способів адресации.
Типи даних містять у собі 8-, 16- чи 32-битные цілі і порядкові, упаковані і неупаковані десяткові, покажчики, рядки біт, байтів, слів і подвійних слів. Мікропроцесор 80 386 має систему команд для операцій над цими типами даних, і навіть керувати виконанням програм. Способи адресації 80 386 забезпечують ефективний доступом до елементам стандартних структур даних: масивів, записів, масивів записів і записів, містять массивы.
3.2 Високопродуктивна технология.
32-битная архітектура не гарантує високої продуктивності. Реалізація потенціалу архітектури вимагає новітньої мікроелектронної технології, точного поділу функцій й до зовнішніх операціям кристала, особливо взаємодії процесора з пам’яттю. Включення цих властивостей забезпечує 80 386 найвищу произвидительность по порівнянню з іншою існуючим микропроцессором.
Мікропроцесор 80 386 реалізований з допомогою технології фірми Intel CH MOSIII — технологічного процесу, яка об'єднує можливості для високого швидкодії технології HMOS малим споживанням технології кмоп. Використання геометрії 1,5 мкм і верств металізації дає 80 386 більш 275 000 транзисторів на кристаллле.
Мікропроцесор 80 386 розділений всередині на 6 автономно і паралельно працюючих блоків із відповідної синхронізацією. Усі внутрішні шини, що з'єднують ці блоки, мають розрядність 32 біт. Конвеєрна організація функціональних блоків в 80 386 допускає тимчасове накладення виконання різних стадій команди, і дозволяє одночасно виконувати кілька операцій. Крім конвеєрної обробки всіх команд, в 80 386 виконання низки важливих операцій здійснюється спеціальними апаратними вузлами. Блок умножения/деления 80 386 може выпонять 32-битное множення за 9−41 такт синхронізації, залежно від кількості значущих цифр; може розділити 32-битные операнды за 38 тактів (у разі чисел без знаків) чи 43 такту (у разі чисел зі знаками). Регістр групового зсуву 80 386 може один такт зрушувати від 1 до 64 бит.
Багато 32-бітних цілях, в як, наприклад, перепрограммируемые ЕОМ колективного користування, потрібно перетворення логічних адрес в фізичні і захист пам’яті з допомогою блоку управління пам’яттю, БУП. За інших цілях, наприклад, в системах управління у часі, це потрібно. Більшість мікропроцесорних систем з 32-битной архітектурою такий поділ функцій реалізується шляхом застосування додаткового корпусу блоку управління пам’яттю. На відміну від нього буп 80 386 входить до складу процесора, як із двох функціональних блоків конвеєрної структури. Операційна система, управляюча роботою БУП, дозволяє, наприклад, системі реального часу обходити страничное перетворення. Запровадження управління пам’яттю всередину кристала дає підвищену продуктивність в системах, використовують БУП і призводить до її зниженню у його систмах, які БУП не використовують. Такі характеристики відбуваються завдяки зниження затримок поширення, використанню внутрішнього полупериодного тактирования і паралельної работы.
Ще один властивість, необхідне тільки в цілях і требующееся за іншими, це обробка великих чисел, особливо у арифметичних операції з плаваючою коми з одинарної і подвійний точністю. Операнды з плаваючою коми мають велику довжину, а необхідний набір команд для операцій з них є досить складною; для реалізації стандартного набору операцій із плаваючою коми згідно зі стандартом IEEE754 потрібно кілька тисяч транзисторів. У цих цілях в 80 386 є апаратне забезпечення спільної з окремим математичним співпроцесором. До 80 386 то, можливо підключений математичний співпроцесор або 80 287, або більш продуктивний 80 387. Для прикладного програмного забезпечення сопроцессоры прозорі; вони лише розширюють архітектуру 80 386 з допомогою регістрів, типів даних, і операцій, необхідних стандартом IEEE754. Комбінація 80 386 і 80 387 може виконувати 1,8 мільйон операций.
32-битный процесор, яка з частотою 16 мгц, має більше швидкодія, ніж безліч швидкодіючих пам’ятей, вследствии що його продуктивність то, можливо обмежена часом доступу до пам’яті. 80 386 спроектували те щоб з максимальною ефективністю використовувати як найбільш швидкодіючі статистичні ОЗУ, і недорогі динамічні ОЗУ. Для звернення до швидкої пам’яті, наприклад типу кеш, 80 386 виробляє двотактний магістральний цикл для адреса/данных. (Пам'яті типу кеш 80 386 може мати будь-який обсяг від мінімального корисного 4 кбайт до максимального, який усе фізичне адресне простір). Звернення до більш повільної пам’яті (чи до пристроям ввода/вывода) може виконуватися лише з використанням конвеєрного формування адреси збільшення часу установки даних після адреси до 3 тактів за збереження двухтактных циклів у процесорі. У результаті внутрішнього конвеєрного форморования адреси у виконанні команди, 80 386, зазвичай, обчислює адреса київська і визначає наступний магістральний цикл під час поточного магістрального циклу. Вузол конвеєрного формування адреси передає цю випереджувальну інформацію в підсистему пам’яті, дозволяючи, цим, одному банку пам’яті дешифрировать наступний магістральний цикл, тоді як іншому банку реагує на поточний магістральний цикл.
3.3 Забезпечення роботи з віртуальної памятью.
Віртуальне пам’ять дозволяє ставити максимальний обсяг програми чи групи програм, у залежність від наявного адресного простору на диску, а чи не від обсягу фізичної пам’яті (ОЗУ), що у час приблизно 400 разів дорожче від. З яка витікає звідси гнучкості виграють виробники устаткування (які можуть опинитися поставляти вироби, відмінні лише конфігураціях пам’яті й у рівні продуктивності), програмісти (які можуть опинитися надавати управління зберіганням програм операційним системам і уникати написання програм з перекрывающимися структурами) і кінцеві користувачі (що потенційно можуть вводити нові, і великі за обсягом прикладні програми, не побоюючись нестачі памяти).
Віртуальне пам’ять реалізується операційній системою з відповідної апаратурною підтримкою. Мікропроцесор 80 386 забезпечує роботи з системами віртуальної пам’яті з сегментной чи страничной організацією. Сегментна віртуальна пам’ять більше адресований невеликих 16-битных систем, у яких обсяг сегмента вбирається у 64 кбайт. 80 386 забезпечує роботи з сегментами обсягом до запланованих 4 гбайт; у більшості великих систем з урахуванням 80 386 системи віртуальної пам’яті будуть використовувати можливість сторінкового запиту. Для кожної сторінки 80 386 виробляє біти присутності, зайнятості чи реєстрацію звернення, що необхідні ефективної реалізації віртуальної пам’яті зі страничными запитами. Що стосується звернення до неіснуючої сторінці 80 386 автоматично робить перехід до операційній системі, якщо операційна система вважала з диска відсутню сторінку, 80 386 виконує команду повторно. Висока продуктивність регулярно працюють з віртуальної пам’яттю забезпечується в 80 386 використанням внутрішньої кешпам’яті для зберігання страничной інформації. Ця кеш-пам'ять (звана буфером перегляду трансляції, TLB) містить інформацію розподілу адрес 32 сторінок, які використовувалися останніми. Сторінки віртуальної пам’яті 80 386 мають про «їм 4 кбайт, зберігаючи одночасно розподіл 128 кбайт пам’яті, буфер TLB дозволяє 80 386 перетворити адреси всередині кристала, не звертаючись до що зберігається у пам’яті таблиці сторінок. У типових системах 98−99% пошуку адрес здійснюватиметься через буфер TLB.
3.4 Механізми защиты.
Виконуючи 3−4 мільйона операцій на секунду, 80 386 має можливість досить обчислювальної потужності задля забезпечення самих складних систем, які з сотень чи тисяч програмних модулів. У цих системах проблема полягає в тому, чи буде помилки, суть у тому як його накти і повозможности швидко усунути і наскільки їхні дія може відбуватися бути обмежена. Такі системи може бути швидко налагоджені і більш надійними при серійному освоєнні, якщо процесор перевірятиме кожну команду критерієм захисту. У цьому ступінь і тип використовуваної захисту залежить від конкретного застосування. Зазвичай прості системи реального часу працюють досить добре без використання захисту. Різні вимоги до захисту може бути найповніше задоволені з допомогою набору вибірково використовуваних функцій захисту, уведених у 80 386:
— поділ адресних просторів задач;
— запровадження 0−4 рівнів привілеїв ;
— використання привілейованих команд (например, HALT);
— поділ сегментів за типами (наприклад, кодовий пєг мент чи сегмент данных);
— запровадження прав доступу до сегментам і сторінкам (наприклад, право лише читання або тільки исполнения);
— перевірка кордонів сегмента.
Задля збереження максимельной продуктивності всі перевірки захисту у 80 386 виконуються разом з виконанням команды.
3.5 Сумісність з мікропроцесорами 8086/80 286.
Два покоління процесорів сімейства 86 передують процесору 80 386 — 80 286 і 8086, з кожним із них 80 386 сумісний лише на рівні двійкових кодів. Завдяки такій сумісності економляться програмні витрати, забезпечується швидкий вихід ринку й доступу до великої бібліотеці програмного забезпечення, написаного для машин з урахуванням мікропроцесорів сімейства х86.
Мікропроцесор 80 386, звісно, може виконувати програми для 8086, він він може одночасно виконувати програми для 80 286 і 80 386. Проте найважливішим властивістю сумісності 80 386 представляється властивість, зване VIRTUAL 86 (віртуальний 86), встановлює захищену структуру для 8086 всередині системи завдань 80 386. Доповнюючи властивість віртуального 8086 страничной організацією пам’яті, 80 386 може закріпити за кожної завданням віртуального 8086 1 мбайтное адресне простір у будь-якій області фізичного адресного простору 80 386. Понад те, якщо операційна система 80 386 забезпечує роботи з віртуальної пам’яттю, то завдання віртуального 8086 можуть переноситися з диска і навпаки як будь-які інші проблеми. Отже, властивість віртуального 8086 дозволяє 80 386 одночасно виконувати програми, написані до трьох поколінь сімейства 86.
3.6 Способи адресации.
Мікропроцесор 80 386 забезпечує регістрову і безпосередню адресацію операндов, що є, відповідно, в регістрах чи командах. Eще важливішим є здатність 80 386 забезпечувати різні способи адресації необхідних ефективного звернення до таких елементам структур даних у пам’яті як масиви, записи (структури), масиви записів і запис, містять масиви. У цьому програма визначає полі усунення в логічному адресі однієї зі способів адресації пам’яті в 80 386. Процесор 80 386 обчислює полі усунення логічного адреси по такої формули: усунення = база + (идекс X масштаб) + отклонение.
Для обчислення усунення можна використовувати будь-які або всі перемінні бази, індексу і відхилення. Змінні бази й індексу є величинами, хранящимися у загальних регисрах, а величина відхилення міститься у команді. Для зберігання бази чи індексу можна використовувати будь-який загальний регістр. Розмір в індексному регістрі то, можливо отмаштабирована (помножена) коэффициэнтом 1,2,4 чи 8, що дозволяє робити посилання елементи масиву чи записи відповідної довжини. Розмір відхилення може мати розрядність 8 чи 32 біт і інтерпретується процесспром як величина зі знаком в додатковому коде.
Розумні комбінації бази, індексу і відхилення дають такі способи адресації пам’яті 80 386:
— пряма: використовується лише отклонение;
— регистривая непряма: використовується лише база;
— базова: використовується база + отклонение;
— індексна: використовується індекс (в масштабе);
— індексна з відхиленням: використовується індекс (в масштабе)+отклонение;
— базова індексна: використовується база + індекс (в масштабе);
— базова індексна з відхиленням: використовується база + индекс.
(масштабу) + отклонение;
3.7 Головні типи данных.
У табл. 3.7.1 перераховані типи даних, і команди, забезпечувані процесором 80 386. У таблиці наведено лише найбільш употребимые команди. Варіанти команд, такі як (у разі циклічного зсуву) циклічний зрушення вправо і циклічний зрушення через перенесення, також опущены.
Таблиця 3.7.1.
Головні типи даних, і команды.
| Тип | Разрядность|Команды | |Ціле, | 8, 16, 32 |Пересылка, обмен, | | |біт |перетворення, перевірка, | |порядковое | |сравнение, перевод, зрушення, | | | |подвійний зрушення, циклічний | | | |зрушення, заперечення, логічне| | | | «і «, «чи », який виключає | | | | «чи ». | | | |Складання, віднімання, | | | |множення, розподіл, | | | |збільшення на 1, зменшення | | | |на 1, переклад (пересилання з | | | |розширенням знака/ноля) | |Неупакованное| 1 цифра |Корекція для складання, | | | | | |десяткове | |вирахування, умножения, деления| |Упаковане | 2 цифри |Корекція для складання, | | | | | |десяткове | |вирахування | |Рядок | 0−4гбайт |Пересилання, завантаження, | | |слів, | | |(байтов, слов,|двойных слов|запоминание, порівняння, | | | | | |подвійних слів)| |перегляд, повтор | |Рядок біт | 1−4гбит |Перевірка, перевірка і | | | |установ- | | | |ка, перевірка і гасіння, | | | |про- | | | |вєрка і доповнення, | | | |перегляд, | | | |уставляння, вилучення | |Локальний | 32 біт | (див. Порядковое) | | | | | |покажчик | | | |Глобальний | 48 біт | Завантаження | | | | | |покажчик | | |.
Примечание.
Локальний покажчик — 32 бітне усунення у сегменті, певному одній з реєстрованих пар сегмента/дескриптора. Глобальний покажчик — це повний логічний адресу, що з селектора і смещения.
Многобайтные елементи можуть розміщатися з будь-якої світової адреси байта в залежність від структури магістралі, для звернення до операндам, розміщеними за адресою, не кратним довжині операнда в байтах, можуть знадобитися додаткові магістральні цикли. Тож високої продуктивності, яка від структури магістралі, більшість програм орієнтують словные операнды з подвійних слів межах подвійних слів і т.п.
3.7.1 Типи даних математичного сопроцессора.
Математичний співпроцесор 80 287 чи 80 387 додають до типам даних, і командам процесора 80 386 свої, наведені у табл.3.7.1.1 У багатьох прикладних завдань вхідні розміру й одержувані результати зберігаються у вигляді типів цілих, дійсних чи упакованих десяткових, а проміжних величин є тип даних проміжне дійсне, розширений діапазон і точність що його складних обчисленнях зводять до мінімуму помилки округлення, переповнення і зникнення порядку. У відповідність до такий моделлю математичний співпроцесор виробляє більшу частину обчислень над проміжними величинами, хранящимися у його регістрах. При завантаженні будь-якого типу даних в регистровый стік, цей тип автоматично змінюється на проміжний дійсний. Проміжна справжня величина в регістрі, своєю чергою, то, можливо переведена будь-якій іншій тип з допомогою команди запоминания.
Таблиця 3.7.1.1.
Головні типи даних, і команди математичного сопроцессора.
|Команды | Тип | Розрядність | |Завантаження, запам’ятовування, |Ціле | 16,32,64 біт | |порівняння, складання, віднімання, | | | |множення, розподіл | | | |Завантаження, запам’ятовування |Упаковане | 18 цифр | | | | | | |десяткове | | |Завантаження, запомонание, порівняння |Справжнє| 32,64 біт | |складання, віднімання, множення, | | | |розподіл | | | |Складання, віднімання, множення, |Проміжне | 80 біт | |розподіл, вилучення квадратного | | | |кореня, масштабирование залишку, |дійсне| | |обчислення частини цілого, зміна | | | |знака, обчислення абсолютної | | | |величини, виділення порядку й | | | |мантиси, порівняння, огляд, | | | |перевірка, обмін, арктангенс, 2−1,| | | |Y*LOG (X+1), Y*LOG (X), завантаження | | | |константи (0.0, П, тощо.) (80 387| | | |додає синус, косинус, синус і| | | |косинус, неупорядковане | | | |порівняння). | | | | | | | | | | |.
ЗАключение
.
Винахід процесорів i80386 і i80286 було великим кроком у поліпшенні архітектури та продуктивності процесорів фірми Intel, зараз ці процесори морально застаріли й нині переважно використовуються про контроллерах, а також у побутової технике.
БІБЛІОГРАФІЧНИЙ СПИСОК.
1. В.Л. ГРИГОР'ЄВ «Мікропроцесор i80486» БІНОМ Москва 1993.
2. М. ГУК «Апаратні кошти IBM PC» Пітер Санкт-Петербург 1997.