Керiвництво программиста

Загрузка...

главная страница Рефераты Курсовые работы текст файлы добавьте реферат (спасибо :)Продать работу

поиск рефератов

Реферат на тему Керiвництво программиста

скачать
похожие рефераты
подобные качественные рефераты
1 2 3 4 5 6    



1АРХІТЕКТУРА ПРОЦЕСОРІВ 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.

Процесори 80286 випускалися в 68-виводних корпусах. Їхній інтерфейс відрізняється від 8086 застосуванням роздільних шин адреси і даних, конвейєрною адресацією, а також складом і призначенням керуючих сигналів.

Шина адреси дозволяє адресувати 16 Мб фізичної пам'яті в захищеному режимі і 1 Мб з області молодших адрес - в реальному режимі. При адресації введення-виведення процесор використає тільки біти A [0: 15] шини адреси (при цьому інші біти рівні 0). Як і в процесорі 8086, обмін по шині даних можливий байтами або словами. При побайтном обміні байт з парною адресою передається по лініям D [0: 7], з непарним - по лініям D [8-15]. Обмін словами з парною адресою відбувається по лініям D [0-15]. При адресації слова з непарною адресою процесор автоматично виконує два послідовних шиних циклу: перший по лініям D [8-15], другий - по D [0-7]. Байти шини, що беруть участь в обміні, як і для процесора 8086, визначаються сигналами A0 і BHE#.

Синхронизація процесора здійснюється зовнішнім сигналом, частота якого ділиться навпіл внутрішнім дільником для одержання сигналу внутрішньої синхронизації. На зовнішні виводи процесора цей сигнал не надходить, але його виробляє спеціальна мікросхема 82284 - генератор синхронизації для 80286. Максимальна пропускна спроможність локальної шини процесора - одне слово за кожні два цикла внутрішньої частоти.

Конвейєрна адресація, застосовувана в процесорі, передбачає можливість початку нового циклу, не чекаючи завершення фізичного обміну даними попереднього циклу. Це дозволяє скоротити число тактів чекання, необхідних для погодження з відносно повільною пам'яттю і портами, за рахунок більш раннього початку виконання дешифрації адреси влаштуванням пам'яті або введення-виведення. Конвейєрний режим дозволяє контролерам пам'яті ефективно використати швидкий сторінковий режим динамічної пам'яті і чергування банків.

Процесор 80286 не тримає на шині адреси, відповідно поточному циклу шиши на всьому його протязі. Для єдності з шиною ISA, потребуючей дійсність адреси на весь час циклу, сигнали шини адреси процесора заклацуються на регістрах.

Формування керуючих сигналів системної шини виконує зовнішня микросхема 82288 або її функціональний аналог з чипсета системної плати на підставі сигналів стану і типу циклу.

Керування тимчасовою діаграмою підрозумує затримку і розтяжку командних циклів. Розтяжка при необхідності подовжує командний цикл звертання для відносно повільних зовнішніх приладів введення-виведення і пам'яті. Зовнішні схеми з допомогою затримки сигналу готовності можуть розтягувати цикл на будь-який час. При цьому вводяться такти чекання процесора. Затримка передвизначена для зрушення початку командного імпульса системної шини відносно відповідної йому фази адресації і ідентифікації. Затримка команд здійснюється мікросхемой 82288 по сигналу CMDLY, що перевіряється по кожному спаду CLK. Необхідність затримки і розтяжки команд з'явилася в зв'язку з істотним підвищенням продуктивності (відносно 8086) локальної шини процесора. 80286 здатний генерувати шинні цикли з мінімальним періодом в два такти внутрішньої частоти. Так при частоті процесора 16 МГц шинні цикли підуть з періодом 250 нс. В повній мірі цією продуктивністю може скористуватися лише пам'ять, підключена до локальної шини. Прилади на шині ISA такого темпу не витримують. Крім того, вони звичайно вимагають певного часу відновлення - пасивного стану керуючих сигналів шини між їм командами ,що адресувалися. Керування затримкою і розтяжкой циклів в залежності від типу і адреси звертання покладається на мікросхеми чипсета системної плати, а для завдання числа тактів чекання і часу відновлення для різноманітних операцій в машинах класу AT ввели відповідні опції BIOS SETUP. Шини цикли процесора уявлені на рисунках 1.2 і 1.3.





При проектуванні процесора 80286 була поставлена задача значно підвищити продуктивність. Буфер передвиборки залишився колишнім, але влаштування передвиборки піддалося значній переробці. Коли черга команд порожня, а це трапляється після кожної інструкції передачі керування, нові байти минають через чергу не затримуючись. Крім того, при передвиборці в захищеному режимі здійснюється контроль меж сегменту кодів. Дешифратор вже подає собою окреме влаштування, що вибирає дані з черги команд і “розгортає” кожну інструкцію в 69 біт, що включають всю інформацію, необхідну процесору для виконання команди, за винятком резидентних операндів. Ці мікроинструкції розміщуються в спеціальний буфер (на 3 команди), що також здатний пропускати команди без затримки в випадку передачі керування. В дешифраторі передбачений спеціальний засіб, що дозволить попереджати шиний інтерфейс про те, що в наступному такті знадобиться цикл вибірки даних з пам'яті. В цьому випадку шиний інтерфейс не дасть почати передвиборку, виключаючи завдяки цьому втрати в продуктивності.

Блок формування адреси має два суматора: суматор зміщення і суматор фізичної адреси. Обчислення повної адреси позичає два такту і доповнюється ще одним тактом, якщо зміщення перебує з трьох елементів.

Влаштування сегментації заазнало істотних змін. Сегментні регістри тепер перебують з двох частин: 16-разрядного селектора і програмно недосяжної дескрипторної частини, що містить базову адресу, розмір і права доступу сегменту.
    продолжение
1 2 3 4 5 6    

Добавить реферат в свой блог или сайт
Удобная ссылка:

Скачать реферат бесплатно
подобрать список литературы


вверх страницы


© coolreferat.com | написать письмо | правообладателям | читателям
При копировании материалов укажите ссылку.