Тридцять років тому, 8 червня 1978 року, під амбіційним гаслом "провісника зорі нової епохи" корпорація Intel представила свій перший 16-розрядний мікропроцесор 8086. Надто бундючно? Мабуть, але в здібностях передбачення Intel не відмовиш. Сходження 8086 починалося досить повільно, проте архітектура, покладена в основу цього процесора, - пізніше вона стала популярною під ім'ям x86 - в кінцевому підсумку зуміла домогтися одного з найбільш вражаючих успіхів в історії комп'ютерних технологій.
Під архітектурою x86 розуміється набір машинних команд, використовуваних мікропроцесорами, які випускаються Intel і рядом інших компаній. Конструктори процесорів x86, починаючи від першого зразка 8086, рухаючись далі в напрямку моделей 80186, 80286, 80386, 80486 і різних варіантів Pentium і, закінчуючи сучасними багатоядерними процесорами і процесорами для мобільних додатків, поступово розширювали початковий набір інструкцій x86, але всякий раз зберігали зворотну сумісність з попередніми членами сімейства. Протягом трьох десятиліть з моменту появи процесора 8086 архітектура x86 безперервно розвивалася, освоївши крім настільних ПК сферу серверів, портативних комп'ютерів і суперкомп'ютерів. На цьому шляху інженери Intel зуміли здолати і відсунути на узбіччя цілий ряд конкуруючих архітектур. Навіть на тих ринках, де традиційно правили бал конкуренти (наприклад, в Apple Macintosh довгий час встановлювалися процесори Motorola PowerPC), позиції x86 в останні роки помітно зміцнилися.
Яким же чином архітектурі Intel вдалося завоювати комп'ютерний світ? Звернемося до історії.
Перші кроки
Першим мікропроцесором Intel була 4-розрядна модель 4004, створена в 1971 році для японського калькулятора. Слідом за нею досить швидко був розроблений 8-розрядний чіп 8008, а в 1975 році і 8-розрядний чіп 8080. Процесори 8080 встановлювалися в ПК Altair 8800, які можна було замовити поштою.
Трьома роками пізніше дебютував 16-розрядний процесор 8086. Вибір корпорації IBM, яка вирішила зайнятися виробництвом персональних комп'ютерів, упав на 8088 - один з варіантів 8086. Поява на початку 80-х років ПК на базі цих процесорів додало архітектурі x86 колосальний імпульс і допомогло їй перетворитися в галузевий стандарт, яким вона є і сьогодні.
Інженер-електротехнік, конструктор мікросхем, а тепер ще й виконавчий віце-президент Intel Патрік Гелсингер поворотною точкою в історії галузі ПК - моментом, який дійсно сприяв помітному її прискоренню розвитку, - вважає появу в 1985 році 32-розрядної архітектури 80386. В той час доцільність відмови від 16-розрядної адресації, яка застосовувалася в випускалися раніше моделях, представлялася зовсім не очевидною. "Навіщо нам 32-розрядна адресація? - лунали звідусіль вигуки. - Це доля міні-комп'ютерів і мейнфреймів". У той період розробники Intel піддавалися гострій критиці за "непотрібну марнотратність".
Приблизно в цей же час компанія Compaq Computer анонсувала ПК з процесором 386, послабивши тим самим гегемонію корпорації IBM на ринку персональних комп'ютерів. IBM ж випускала тільки комп'ютери з 16-розрядними процесорами 80286, які працювали в три рази повільніше.
Кажуть, в IBM відкинули нові процесори 386, тому що в світі тоді просто не було 32-розрядних програм, які давали можливість отримати помітну вигоду з розширеною адресації. Крім того, IBM просувала власну 16-розрядну операційну систему OS / 2.
"IBM тоді володіла архітектурою від верху до низу і контролювала її, - згадує Гелсингер, один з учасників команди розробників 386. - Здійснивши самостійний перехід до наступного покоління, вона могла б придбати монопольне становище єдиної компанії, яка пропонує повномасштабне рішення без будь-яких гарантій сумісності існуючих поколінь з подальшими. Але з появою процесора 386 ситуація кардинально змінилася. з вертикальної галузь перетворилася в горизонтальну, і це відкрило перед нами весь світ ".
Слідом в 1989 році був випущений процесор 486. Потім, зрозумівши, що цифр на торговельну марку може і не вистачити, представники Intel в 1993 році відмовилися від сформованою традицією вибору імен та замість 586 назвали процесор п'ятого покоління Pentium. Під маркою Pentium на світ з'явилося одразу кілька поколінь процесорів (Pentium Pro, Pentium II, Pentium D і ряд інших). У якийсь момент процесори молодшого класу з архітектурою x86 вирішено було назвати Celeron, а старшого - фігурують сьогодні під торговою маркою Core 2.
Незважаючи на зміну назв - не кажучи вже про вдосконалення конструкції, що дозволила добитися величезного прогресу в частині підвищення швидкодії та ефективності, а також зниження енергоспоживання - всі вони створені на базі набору інструкцій x86, який вперше з'явився в процесорі 8086 і продовжує розширюватися до цього день.
Складові рецепту успіху
Чому ж архітектура x86 протягом такого тривалого часу користується успіхом, відсуваючи в бік, а в деяких випадках і повністю витісняючи конкуруючі мікропроцесорні архітектури? Перш за все, архітектура x86 з'явилася в дуже вдале для дебюту час. До 1978 року галузь вже протягом декількох років здійснювала перехід від великих і дорогих мейнфреймів до маленьких і дешевих міні-комп'ютерів. Черговим логічним кордоном в цьому ланцюзі переходів і стали настільні комп'ютери.
Далі, архітектура x86 підтвердила правило, сформульоване в 1965 році Гордоном Муром, який згодом обійняв посаду голови ради директорів корпорації Intel. Суть його висловлювання полягала в тому, що продуктивність мікропроцесорів буде подвоюватися через кожні півтора-два роки при незмінній вартості. Прогноз, який пізніше охрестили законом Мура, і справді виявився вірним, а архітектура x86 отримала повсюдне поширення, починаючи від центрів обробки даних і закінчуючи робочими місцями співробітників організацій і житлами кінцевих користувачів.
Процесор 8086 і його послідовники продовжували зміцнювати відносини між двома головними першопрохідцями галузі настільних ПК. У 1972 році юні Білл Гейтс і Пол Аллен без особливого успіху намагалися розробляти інтерпретатор мови Basic для процесора 8008. Завершити цю роботу їм вдалося вже для більш потужного процесора 8080, на базі якого в 1975 році був побудований мікрокомп'ютер Altair.
З цього фактично і розпочалася співпраця між Intel і Microsoft, на основі якого згодом була створена гігантська база програмного забезпечення, що продовжує диктувати напрямки розвитку галузі. З усіх факторів, що забезпечили успіх архітектури x86, мабуть, жоден з них не грає такої важливої ролі, як наявні запаси програмного забезпечення. Кращим підтвердженням справедливості цього твердження є нинішній занепад RISC-процесорів.
Ризики, пов'язані з RISC-архітектурою
В кінці 80-х і початку 90-х років серйозною загрозою для архітектури x86 стало наступ процесорів RISC (Reduced Instruction Set Computing) зі скороченим набором інструкцій, до числа яких належали продукти Sun SPARC, IBM / Apple / Motorola PowerPC, а також процесори MIPS . Ідея полягала в тому, що при виконанні простих інструкцій, які займають один цикл процесора, комп'ютер починає працювати набагато швидше, ніж при обробці інструкцій процесорів зі складним набором команд (Complex Instruction Set Computing, CISC). А саме до категорії CISC і належали всі представники архітектури x86.
Технічні експерти, преса і конкуренти Intel в один голос стверджували, що з часом процесори CISC втратять своє становище. "Для нас це був важкий час, - визнає Гелсингер. - Інженери Intel приступили навіть до розробки свого власного RISC-процесора. Але ні i860, ні якоїсь іншої RISC-процесор так і не зуміли наблизитися до безроздільної гегемонії архітектури x86" .
І ось як це пояснює Гелсингер, провідний архітектор 80486: "За день до офіційної презентації процесора 486, яка відбулася 10 квітня 1989 року, його вже чекали програми на мільярди доларів. І хоча CISC-архітектура x86 по швидкості дещо поступалася RISC-процесорів, до той час, як програмне забезпечення для RISC-машин нарешті з'явилося, ми зуміли помітно збільшити продуктивність машин x86. У нас було колосальне економічну перевагу, пов'язане з володінням величезною базою вже встановленого програмного забезпечення і больш м числом розробників. RISC-машини так ніколи і не змогли добитися аналогічних результатів ".
За іронією долі, брак програмного забезпечення для RISC-систем, а також швидке зростання продуктивності процесорів 80486 і Pentium привели до того, що i860 розділив долю інших RISC-процесорів. Спроба створення альтернативної повномасштабної мікропроцесорної архітектури була помилкою, і пізніше в Intel це визнали.
"Разом з тим розробка RISC-архітектури породила безліч інновацій, - зазначив професор Каліфорнійського університету в Берклі Девід Паттерсон, який в 80-і роки був одним з найяскравіших" провідників "таких новаторських рішень. - Наприклад, в архітектурі VAX корпорації Digital Equipment не було нічого від RISC, і вона поступово вичерпала себе. Що ж стосується Intel, вона зуміла увібрати популярні ідеї RISC, підтримуючи при цьому свою стару архітектуру, для якої вже була створена величезна база програмного забезпечення. і частина цих ідей згодом знайшла тражение в чудовій організації виробництва Intel ".
"Катастрофа з плаваючою комою"
Мабуть, не меншу загрозу, ніж RISC, таїв у собі кризу, що вибухнула влітку 1994 року, коли інженери Intel, які займалися тестуванням, виявили недолік в схемі обчислень з плаваючою комою нового процесора Pentium. Помилки виникали так рідко, а їх вплив був настільки незначним, що в Intel вирішили просто виправити їх і запустити процесор назад у виробництво, що не відкликаючи вже готові дефектні чіпи.
Однак кілька місяців потому професор математики Томас Найслі виявив в своєму ПК дефект. Як визнавали пізніше в Intel, він просто не зміг знайти в корпорації людини, яка хоча б вислухав його скарги. Тоді Найслі розмістив результати свого дослідження в Internet. Через короткий час на корпорацію обрушилася найсильніша хвиля критики, яка серйозно зашкодила репутації Intel і змусила її відкликати вже випущені процесори. В результаті збитки Intel склали майже півмільярда доларів.
"Це був дуже болючий удар, але в кінцевому підсумку ми навчилися вести себе так, як це належить компанії, яка випускає товари для споживчого ринку", - згадує колишній старший віце-президент Intel Альберт Ю.
Змішування і підгонка
Наступний визначальний момент в історії архітектури x86, за свідченням професора Університету Карнегі-Меллона і наукового консультанта Intel Тода Маурі, настав в 1995 році. Корпорація Intel представила мікропроцесор Pentium Pro, в якому з'явився цілий ряд радикальних удосконалень. У процесор була закладена можливість попередньої вибірки потоку інструкцій, визначення того, які з них знадобляться в подальшому, і виконання їх в більш зручній для себе послідовності. В результаті корисне навантаження на процесор збільшилася, а в поєднанні з новою, дуже швидкої кеш-пам'яттю, багатьом додаткам це обіцяло істотне підвищення продуктивності.
"Принципова різниця полягала в тому, що розробники використовували переваги RISC-архітектури, не вносячи змін в сам набір інструкцій, - зазначив Маурі. - Вони виконали це, перетворивши інструкції x86 в набірмікрооперацій. В результаті користувачі отримали RISC-машину всередині машини x86, і в один прекрасний день це допомогло Intel ліквідувати відставання в продуктивності ".
Pentium Pro розроблявся шляхом низхідного проектування. "Спочатку конструктори приступили до створення проекту швидкої машини, а вже потім задумалися про те, як втиснути в її рамки архітектуру x86", - пояснив Маурі.
"Подібний підхід - пошук хороших ідей поза рамками архітектури x86 і повернення до цих ідей згодом - в кінцевому підсумку спрацював, - зауважив Гелсингер. - Поява Pentium стало помітним кроком вперед в частині розвитку архітектури. Ми взяли найкращі ідеї, закладені в міні-комп'ютери і мейнфрейми, і впровадили їх у себе, творчо переосмисливши ".
На відміну від мейнфреймів, у яких обчислювальні компоненти розміщувалися на досить великій площі, пакування їх в рамках крихітного чіпа, що відрізняється дуже високим ступенем інтеграції, допомогло їх конструкторам отримати додаткову гнучкість, підвищуючи обчислювальну потужність своїх виробів. З роками продуктивність кремнієвих мікросхем росла відповідно до закону Мура, в той час як системи взаємних зв'язків компонентів удосконалювалися не так швидко.
зростання конкуренції
Intel так і не вдалося позбутися від конкуренції навіть на своєму домашньому полі x86. У 1987 році в Кремнієвій долині була заснована дислокувалася на Тайвані компанія VIA Technologies, яка почала продавати набори мікросхем з базовою логікою. Її продукція, що використала в тому числі і технологію x86, призначалася для установки в материнські плати та інші електронні компоненти. Сьогодні VIA випускає досить широкий набір продуктів, позиціонуючи свої процесори x86 на ринку мобільних і вбудованих пристроїв з низьким енергоспоживанням.
Компанія Advanced Micro Devices, що займає сьогодні друге місце в світовому рейтингу виробників мікропроцесорів, стала складати серйозну конкуренцію Intel, починаючи приблизно з 2000 року. Протягом 80-х і 90-х років AMD виступала скоріше як наслідувача і не доставляла Intel серйозного занепокоєння. (Сьогодні, за оцінками аналітиків Mercury Research, AMD належить приблизно 15% ринку процесорів з архітектурою x86, призначених для установки в настільні та портативні комп'ютери).
Технічний прорив AMD зробила в 2000 році, представивши архітектуру x86-64 - 64-розрядне розширення набору інструкцій x86. Забезпечення повної сумісності означало, що користувачі нових машин x86-64 могли без проблем запускати на своїх комп'ютерах і старі 32-розрядні програми.
Приблизно в цей же час корпорація Intel представила 64-розрядний процесор Itanium, розроблений фахівцями Intel і HP для організації суперскалярні обчислень. Цей процесор не забезпечував прямий сумісності з 32-розрядних програмним забезпеченням, призначеним для архітектури x86. На виклик AMD інженери Intel відповіли створенням власного 64-розрядної розширення набору інструкцій x86, що отримав назву EM64T, тільки в 2004 році. Активність маркетингової служби AMD і преси, яка стверджувала, що Intel зазнала поразки на ринку 64-розрядних обчислень, в кінцевому підсумку співслужили AMD службу.
"Ми стали свідками того, як гнучкість набору інструкцій x86 була спрямована проти Intel, - зауважив Паттерсон. - Навіть в умовах домінування Intel на ринку інша компанія зуміла поставити новий напрямок розвитку архітектури x86".
Екстремальні досліди
Сьогодні архітектура x86 освоює і екстремальні області. У квітні Intel підписала угоду з компанією Cray про спільну розробку нових суперкомп'ютерів на основі процесорів Intel x86. (До цього моменту інженери Cray вже використовували в своїх комп'ютерах 64-розрядні процесори AMD Opteron з архітектурою x86.)
На форумі розробників IDF, що пройшов на початку квітня в Шанхаї, Intel анонсувала процесор Atom, найменший чіп з архітектурою x86. Його споживана потужність не перевищує 2,5 ват, в той час як типовий процесор для портативного комп'ютера споживає близько 35 ват. Поставки Atom для невеликих портативних і настільних комп'ютерів вже почалися. Що ж потрібно зробити розробникам архітектури x86, для того щоб забезпечити її процвітання або хоча б виживання протягом наступних 30 років? Існують сили, які вже в найближчому майбутньому принципово змінять конструкцію мікропроцесорів (див. "Архітектура x86: що далі" ). Але мало хто думає, що представники поважної і шанованої архітектури x86 повністю зникнуть з ринку. "Я не бачу причин, які супроводжували б таким же гучній успіху якогось іншого набору інструкцій, тому що на платформі x86 працює занадто багато цінного програмного забезпечення", - зазначив Маурі.
Ретроспектива: коротка історія x86
Давайте кинемо погляд на події та технології, які сприяли розвитку архітектури Intel x86, і згадаємо основні віхи її 30-річного царювання.
1947: У лабораторії Bell Labs винайдений транзистор.
1965: Гордон Мур з компании Fairchild Semiconductor публікує в Журналі Electronics статтю, в Якій стверджує, что число транзісторів в напівпровідніковіх мікросхемах буде подвоюватіся через кожні два роки. Стосовно до мікропроцесорах, кількість транзисторів подвоюється через кожні півтора-два роки на протязі ось вже три десятки років.
1968: Додати Мур, Роберт Нойс і Енді Гроув заснували компанію Intel, з тим щоб розвивати бізнес INTegrated ELectronics.
1969: Intel анонсує свій перший продукт, першу в світі мікросхему статичної пам'яті RAM +1101 на основі структури "метал-оксид-напівпровідник" (МОП). Ця подія знаменує собою закінчення ери пам'яті на магнітних сердечниках.
1971: Додати Intel випускає перший в світі мікропроцесор, 4-розрядний 4004, розроблений інженером Федеріко Феджін. Чіп, що складався з 2 тис. Транзисторів, призначався для японського калькулятора, але в далекоглядної рекламі Intel цей пристрій називалося "мікропрограмним комп'ютером на одному кристалі".
1972: Intel анонсує 8-розрядний процесор 8008. Юні Білл Гейтс і Пол Аллен намагаються розробляти для нього мову програмування, але він виявляється недостатньо потужним.
1974: Додати Intel представляє 8-розрядний процесор 8080, який містить 4500 транзисторів і по продуктивності десятикратно перевершує свого попередника.
1975: Додати 8080 знаходить свій перший комп'ютер. Поява моделі Altair 8800 стає початком революції ПК. Гейтс і Аллен розробляють для процесора 8080 інтерпретатор Altair Basic, який згодом отримає назву Microsoft Basic.
1976: Додати Архітектура x86 змушена відступити, після того як Стів Джобс і Стів Возняк представили комп'ютер Apple II на базі 8-розрядного процесора Motorola 6502. Процесори конкурента Intel використовував також виробник ПК Commodore.
1978: Intel представляє 16-розрядний мікропроцесор 8086.
1979: Розробники Intel випускають дешевшу версію 8086 - процесор 8088 з 8-розрядної шиною.
1980: Intel представляє математичний співпроцесор 8087.
1981: Корпорація IBM вибирає для свого ПК процесор Intel 8088. Згодом в Intel назвали це "найбільшою перемогою за весь час існування своєї компанії".
1982: Intel випускає 16-розрядний процесор 80286 на 134 тис. Транзисторах.
1984: IBM проектує на базі процесора 80286 ПК другого покоління PC-AT. Комп'ютер, що працює під управлінням операційної системи MS-DOS, на найближчі десять років стає фактичним стандартом в світі ПК.
1985: Intel відмовляється від випуску пам'яті DRAM, вирішивши повністю зосередитися на мікропроцесорах, і представляє 32-розрядний процесор 80386. Новий процесор містить 275 тис. Транзисторів і здатний одночасно виконувати відразу кілька програм.
1986: Компанія Compaq Computer випереджає IBM, випускаючи ПК на основі процесора 80386.
1987: Заснована компанія VIA Technologies, яка планує поставляти набори мікросхем базової логіки для архітектури x86.
1989: Intel випускає процесор 80486, що містить 1,2 млн транзисторів, з вбудованим математичним співпроцесором. Згідно з прогнозами Intel, після 2000 року на ринку повинні з'явитися багатоядерні процесори.
Кінець 80-х років: Архітектура x86, що відноситься до категорії CISC, піддається атаці з боку конкуруючих архітектур RISC, серед яких виділяються процесори Sun SPARC, IBM / Apple / Motorola PowerPC і MIPS. Intel відповідає створенням власного RISC-процесора i860.
1990: Compaq випускає перший сервер на базі ПК з процесором 80486.
1993: Intel представляє процесор Pentium, виконаний за суперскалярной технології, що працює на частоті 66 МГц і має 3,1 млн. Транзисторів.
1994: AMD і Compaq формують альянс, мета якого полягає в оснащенні комп'ютерів Compaq мікропроцесорами Am486.
1995: На ринку з'являється "могильник" RISC-архітектури, процесор Pentium Pro, що володіє принципово новими можливостями. Він підтримує функції прогнозування вибірки інструкцій і виконання їх в зручній для себе послідовності. Все це в поєднанні з неймовірно швидкої кеш-пам'яттю і подвійними незалежними шинами дозволяє істотно підвищити продуктивність ряду додатків.
1997: Додати Intel представляє 64-розрядну процесорну технологію Epic. На ринку з'являється чіп Pentium MMX, що підтримує функції обробки графіки, аудіоінформації та голосу і призначений для додатків цифрового сигнального процесора.
1998: Додати Intel представляє недорогий процесор Celeron.
1999: VIA набуває компанії Cyrix і Centaur Technology.
2000: На ринку дебютує процесор Pentium 4, що містить 42 млн транзисторів.
2003: Додати Компанія AMD представляє x86-64, 64-розрядне розширення набору інструкцій x86.
2004: Додати AMD демонструє двоядерний процесор.
2005: Додати Intel поставляє свій перший двоядерний процесор.
2005: Додати Apple анонсує переклад комп'ютерів Macintosh з процесорів PowerPC, що поставляються компаніями Freescale (колишнє напівпровідниковий підрозділ Motorola) і IBM, на сімейство процесорів Intel x86.
2005: Додати AMD ініціює антимонопольний розгляд, звинувачуючи Intel у використанні свого становища і порушення вільної конкуренції. (У 2008 році судовий процес входить в нову фазу.)
2006: Dell оголосила про випуск систем на базі процесорів AMD.
8086. Надто бундючно?Яким же чином архітектурі Intel вдалося завоювати комп'ютерний світ?
Навіщо нам 32-розрядна адресація?
Що ж потрібно зробити розробникам архітектури x86, для того щоб забезпечити її процвітання або хоча б виживання протягом наступних 30 років?