Реферат: Керiвництво программиста
АРХІТЕКТУРА ПРОЦЕСОРІВ INTEL
1.1 Історія розвитку процесорів
Історія мікропроцесорів почалася в 1971 році, коли фірма Intel випустила перший мікропроцесор i4004. Він мав розрядність 4 біта, спроможність адресувати 640 байт пам'яті, тактову частоту 108 кГц і продуктивність 0.06 MIPS. Такий процесор вже міг працювати в якості обчислювального ядра калькулятора. Він містив 2300 транзисторів і виконувався по технології з дозволом 10 мкм. Через рік з'явився його 8-бітный “родич” - i8008, що адресує вже 16 Кб пам'яті.
В 1974 році з'явився 8-разрядный процесор i8080, що став надто популярним влаштуванням. Він вже мав частоту 2 МГц і адресував 64 Кб пам'яті. 6000 транзисторів дозволила розмістити 6-мкм технологія виготовлення. Процесор вимагав трьох джерел живлення (+5, +12 та -5 В) і складної двухтактної синхронизації. На цьому процесорі будувалися різноманітні термінали, контролери і навіть перший ПК Altair. В нашій країні запізнилою луною 8080 стали процесори 580ИК80 і КР580ВМ80, на базі яких в початку і середині 80-х років будувалося багато “саморобних” ПК.
Наступним етапом став процесор i8085 (5 МГц, 0.37 MIPS, 6500 транзисторів, 3-мкм технологія). Він зберіг популярну рєгістрову архітектуру 8080 і програмну єдність, але в нього додали порт послідовного інтерфейсу, скасували спеціальні ІС підтримки (тактового генератора і системного контролера) і декілька змінили зовнішній інтерфейс. Головним подарунком розробникам апаратури стала тільки одна живлюща напруга +5 В.
Варіацію на тему 8080 і 8085 подає процесор Z80 фірми Zilog. Зберігши програмну єдність з 8080, в нього ввели додаткові регістри, що дозволило істотно підвищити продуктивність. Результат виявився вражаючим - ще нещодавно популярні комп'ютери Sinclair, побудовані на Z80, демонстрували на іграх графіку, не гіршу ніж у РС на 16-разрядном процесорі 286.
Перший 16-разрядный процесор 8086 фірма Intel випустила в 1978 році. Частота 5 МГц, продуктивність 0.33 MIPS, але інструкції вже з 16-розрядними операндами (пізніше з'явилися процесори 8 і 10 МГц). Технологія 3 мкм, 29 тис. транзисторів, що адресує пам'ять 1 Мб. Регістрова архітектура і система команд істотно відрізнялися від 8080, але, природно, просліджуються загальні ідеї. Через рік з'явився 8088 - той же процесор, але з 8-битной шиною даних. З нього почалася історія IBM PC, що наклала свій відбиток на подальший розвиток цієї лінії процесорів. Масове розповсюдження і відчинена архітектура РС призвели до лавиноподібній появі програмного забезпечення, що розробляється крупними, середніми і дрібними фірмами і ентузіастами-одинцями. Технічний прогрес вимагав (і зараз вимагає) розвитку процесорів, але вантаж програмного забезпечення РС, що повинно працювати і на більш нових процесорах, в свою чергу вимагав забезпечення зворотної єдності. Таким чином, всі нововведення в архітектурі наступних процесорів повинні були прибудовуватись до існуючого ядра. А тут ще і сама архітектура РС “підкинула”, наприклад, складнощі з використанням векторів перериваннь. Фірма Intel зарезервувала перші 32 вектору “для службового користування”, однак на них “наїхали” переривання BIOS. Один з результатів - додатковий засіб обробки виключень сопроцесора, застосовуваний в старших моделях РС.
Процесор 80286, що знаменує наступний етап архітектури, з'явився тільки в 1982 році. Він вже мав 134 тис. транзисторів (технологія 1.5 мкм) і адресував до 16 Мб фізичної пам'яті. Його принципові новшества - захищений режим і віртуальна пам'ять розміром до 1 Гб - не знайшли масового застосування, процесор більшою частиною використовувався як дуже швидкий 8086.
Клас 32-розрядних процесорів був відкритий в 1985 році моделлю 80386 (275 тис. транзисторів, 1.5 мкм). Разрядность шини даних (як і внутрішніх регістрів) досягла 32 біт, пам'ять ,що адресується фізична - 4 Гб. З'явилися нові регістри, нові 32-битные операції, істотно доопрацьований захищений режим, з'явився режим V86, сторінкове керування пам'яттю. Процесор знайшов широке застосування в РС, і на благодатному грунті його нових властивостей став розростатись “самый великий вірус” - MS Windows з додатками. З цього часу стала помітна тенденція “позитивного зворотного зв'язку”: на появу нового процесора виробники ПО реагують випуском нових привабливих продуктів, наступним версіям якого ставає тісно в рамках цього процесора. З'являється більш продуктивний процесор, але після нетривалого восторга і його ресурси “з'їдають” і т. д. Цей “вічний рух”, кінцево, природно, але є обгрунтована підозра, що більші ресурси розбещують (або, принаймні, розслаблюють) розробника ПО, не змушуючи його напружуватися в пошуках більш ефективних засобів рішення задачі. Прикладом ефективного програмування можна лічити іграшки на Sinclair ZX-Spectrum, що реалізуються на “іграшкових” ресурсах - 8-бітном процесорі і 64 (128) Кб ОЗП. З протилежними прикладами більшість користувачів РС стикаються регулярно, але з процесором Pentium 200 і 32 Мб ОЗП на них не завжди обертають увагу.
Історія процесора 386 нагадує історію 8086: першу модель з 32-бітной шиною даних (згодом названою 386DX) змінив 386SX з 16-розрядной шиною. Він досить легко вписувався а архітектуру РС АТ, шо раніше базувалася на процесорі 286.
Процесор Intel486DX з'явився в 1989 році. Транзисторів - 1.2 млн., технологія 1 мкм. Від 386-го істотно відрізняється розміщенням на кристалі первинного кеша і вбудованого математичного сопроцесора (попередні процесори мали можливість використання зовнішніх х87 сопроцесорів). Крім того, для підвищення продуктивності в цьому СІSC-процесорі (як і в наступних) застосоване RISC-ядро. Далі з'явилися його різновиди, що відрізняються наявністю або відсутністю сопроцесора, застосуванням внутрішнього множення частоти, політикою запису кеша і іншими. Позичилися енергозбереженням (з'явився режим SMM), що відбилося і в продовженні лінії 386 процесорів (з'явився процесор Intel386SL).
В 1993 році з'явилися перші процесори Pentium з частотою 60 і 66 МГц - 32-розрядные процесори з 64-розрядной шиною даних. Транзисторів 3.1 млн., технологія 8.0 мкм, живлення 5 В. Від 486-го принципово відрізняється суперскалярною архітектурою - спроможністю за один такт випускати з конвейєрів до двох інструкцій (що, кінцево, не означає можливості проходження інструкції через процесор за півтакта або за такт). Інтерес до процесора з боку виробників і покупців РС стримувався його дуже високою ціною. Крім того, з'явився скандал з виявленою помилкою сопроцесора. Хоча фірма Intel математично обгрунтувала невисоку імовірність її прояви (раз в декілька років), вона все-таки пішла на безкоштовну заміну вже проданих процесорів на виправлені.
Процесори Pentium з частотою 75, 90 і 100 МГц, що з'явилися в 1994 році, уявили вже другу ґенерацію процесорів Pentium. При майже тому же числі транзисторів вони виконувалися по технології 0.6 мкм, що дозволило знизити потужність ,що споживається. Від першої ґенерації вони відрізнялися внутрішнім множенням частоти, підтримкою мультипроцесорних конфігурацій і мали інший тип корпуса. З'явилися версії (75 МГц в мініатюрному корпусі) для мобільних застосуваннь (в блокнотних ПК). Процесори Pentium другої ґенерації стали надто популярними в РС. В 1995 році з'явилися процесори на 120 і 133 МГц, виконані вже по технології 0.35 мкм (перші процесори на 120 МГц робилися ще по технології 0.6 мкм). В 1996-й називають роком Pentium - з'явилися процесори на 150, 166 і 200 МГц, і Pentium став рядовим процесором для РС широкого застосування.
Паралельно з Pentium розвивався і процесор Pentium Pro, що відрізнявся новинками “динамічного виконання інструкцій”, направленими на збільшення числа паралельно виконуваних інструкцій. Крім того, в його корпусі розмістили і вторинний кеш, для початку обсягом 256 Кб. Однак на 16-бітных додатках, а також в середі Windows 95 його застосування не дасть переваг. Процесор містить 5.5 млн. транзисторів ядра і 15.5 млн. транзисторів для вторинного кеша обсягом 256 Кб. Перший процесор з частотою 150 МГц з'явився в початку 1995 року (технологія 0.6 мкм), а вже в кінці року з'явилися процесори з частотою 166, 180 і 200 МГц (технологія 0.35 мкм), у яких кеш досягав і 512 Кб.
Після довгих обіцянок в початку 1997 року з'явилися процесори Pentium MMX. Розширення MMX припускає паралельну обробку групи операндів однією інструкцією. Технологія MMX закликана прискорювати виконання мультимедійних додатків, в частковості операції з зображеннями і обробку сигналів. Її ефективність викликає суперечки в середі розробників, оскільки виграш в самих операціях обробки компенсується програшем на додаткових операціях упаковки-распаковки. Крім Того, обмежена розрядність ставить під сумнів застосування MMX в декодерах MPEG-2, в яких вимагається обробка 80-бітных операндів. Окрім розширення MMX ці процесори, у порівнянні з звичайним Pentium, мають подвійний обсяг первинного кеша і деякі елементи архітектури, що запозичилися у Pentium Pro, що підвищує продуктивність процесора Pentium MMX і на звичайних додатках. Процесори Pentium MMX мають 4.5 млн. транзисторів і виконані по технології 0.35 мкм. За станом на сьогодняшній день є процесори з тактовими частотами 166, 200, 233 і 266 МГц.
Технологія MMX була з'єднана з архітектурою Pentium Pro - і в травні 1997 року з'явився процесор Pentium II. Він подає собою злегка урізаний варіант ядра Pentium Pro з більш високою внутрішньою тактовою частотою, в що ввели підтримку MMX. Труднощі розміщення вторинного кеша в одному корпусі з процесором подолали нехитрим засобом - кристал з ядром процесора і набір кристалів статичної пам'яті і додаткових схем, що реалізують вторинний кеш, розмістили на невеликій друкарській платі-картридже. Всі кристали закриті загальною кришкою і охолоджуються спеціальним вентилятором. Тактовые частоти ядра - 233, 266, 300, 333, 366, 400 і 450 МГц.
Пізнішє побачив світло спрощений варіант процесора Pentium II, назва ,що отримала Celeron. В ньому вдвічі зменшений вторинний кеш і, немовби, прибрана підтримка багатопроцесорних систем. Однак шляхом “хірургічного” втручання підтримку багатопроцесорності можна повернути. Це пояснюється тим, що в Celeron застосоване ядро Pentium II без будь-яких змін.
В 1999 році з'явився процесор Pentium III. В ньому застосоване покращене ядро процесора Pentium II, в яке додана підтримка технології MMX-2. Технологія MMX-2 підрозумує наявність 8 додаткових 128-розрядных регістрів (в попередніх процесорах регістри MMX знаходилися в мантисах регістрів сопроцесора) і виконання групових інструкцій над 4 числами в форматі короткого речовинного. Перші процесори виготовляються по технології 0.35 мкм і мають тактову частоту 400 МГц. В подальшому планується перехід на 0.18 мкм технологію і збільшення частоти до 1 ГГц.
В даний момент фірма Intel розробляє принципово нову архітектуру IA64, що відкриває клас 64-розрядных процесорів. Першим процесором що є дану архітектуру повинен стати Merced. Цей процесор буде мати 128 64-розрядных регістрів загального призначення і нову систему команд, покликану істотно підвищити продуктивність. Однак в зв'язку з величезним обсягом ПО в спеціальному режимі буде вироблятися підтримка системи команд попередніх процесорів. Merced також буде підтримувати розширення MMX-2 і додаде до нього декілька нових команд. Перші процесори будуть виготовлятися по технології 0.35 мкм і мати тактову частоту 400 МГц. В подальшому планується перехід на 0.18 мкм технологію і збільшення частоти до 1 ГГц.
1.2 Опис внутрішніх блоків
8086/88.
Найбільш простий інтерфейс мають процесори 8086/88. Вони здатні працювати в двох режимах: мінімальному і максимальному.
В мінімальному режимі процесор сам виробляє сигнали керування для зовнішньої шини. Цей режим передвизначений для побудови невеликих систем, що не використають сопроцесора, і дозволяє безпосередно до процесора підключать периферійні мікросхеми з сімейства 8085.
В РС застосовується максимальний режим, при якому сигнали керування системною шиною виробляються контролером шини 8288 по сигналам стану процесора. Всі сигнали керування активні низьким рівнем, що забезпечує можливість керування ,що розділяється шиною декількома приладами. Цикл шини позичає 4 такту (не лічивши тактів чекання).
Будь-який цикл може бути необмежено розтягнутий з допомогою сигналу готовності. Цикли звертання до портів відрізняються від циклів пам'яті використанням шини адреси. У разі звертання до портів лінії адреси A [8: 15] завжди містять нулі. Цикл підтвердження переривання аналогічний циклу читання з порту, але стан шини адреси процесором не управляється. Передача керування шиною здійснюється по сигналам RQ/GT: влаштування, що запрошує керування шиною, генерує імпульс запитання. Процесор, закінчивши черговий цикл, по тій же лінії передає імпульс підтвердження і звільняє шину. Шиною починає керувати влаштування, а по завершенні своїх операцій воно наступним імпульсом повідомляє процесору про звільнення шини. Типові шині цикли процесорів наведені на рисунку 1.1.
Процесор 8086 має 6-байтну внутрішню чергу інструкцій (іменно таку довжину має найдовша інструкція). Блок передвиборки за наявності двох вільних байт в черзі намагається її заповнити в той час, коли зовнішня шина процесора не позичена операціями обміну. Черга у процесора 8088 скорочена до 4 байт, а передвиборка виконується вже за наявності одного вільного байта. Ці відзнаки оптимизують конвейєр з урахуванням розрядності шини даних. Черга обнуляється при виконанні будь-якої команди передачі керування, навіть при переході на наступну адресу. Цією властивістю часто користуються при програмуванні керування приладами введення-виведення, що вимагають затримки між сусідніми операціями обміну. Дешифратор в даних процесорах по суті є і влаштуванням керування.
Процесор має 8 16-разрядных регістрів загального призначення і 4 16-розрядних сегментних регістра. Влаштування обчислення виконавчої адреси має двухвходовий суматор, тому при адресації зі зміщенням або, якщо відносна адреса перебує з трьох частин, вимагаються зайві такти для обчислення адреси.
80286.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--