Мікропроцесор. Організація пам’яті

Центральний процесор – електронний блок або мікросхема, що виконує машинні інструкцій (коди програм), головна частина апаратного забезпечення комп’ютера або програмованого логічного контролера. Іноді називають мікропроцесором або просто процесором.

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

З часів винаходу мікросхеми в 1959 році в світі було розроблено велику кількість різних процесорів, універсальних і спеціалізованих, з різним ступенем інтеграції тощо. Однак будь-який процесор складається з арифметико-логічного пристрою (АЛП, Arithmetic and Logic Unit, ALU), пристрою керування (Control Unit, CU) і системних регістрів (System Register.) Саме в цій конфігурації будувалася знаменита універсальна механічна обчислювальна машина Чарльза Беббіджа.


Загальна схема процесора

АЛП є одним з основних пристроїв процесора. Він виконує одну з основних функцій мікропроцесора – обробку даних і обчислення.

Пристрій керування служить для управління роботою комп’ютерної системи в цілому і роботою центрального процесора (співпроцесора) зокрема. Основне ж його завдання – дешифрування надходжуючих у процесор команд і формування сигналу на виконання тих чи інших операцій в арифметико-логічному пристрої.

Системні регістри призначені для тимчасового зберігання операндів та результатів обчислень. Але не дивлячись на своє "єдине" призначення, ці пристрої розрізняються за своїми функціями. За ними регістри можна розділити на регістри даних, акумулятори, адресні і сегментні регістри, регістри стеків, покажчики та лічильники команд, регістри прапорців та інші.

Головними характеристиками ЦПУ є: тактова частота, продуктивність, енергоспоживання, норми літографічного процесу використовуваного при виробництві (для мікропроцесорів) та архітектура.

Тактова частота – частота синхронізуючих імпульсів синхронної електронної схеми, тобто кількість синхронизирующих тактів, що надходять ззовні на вхід схеми за одну секунду. Тактова частота характеризує продуктивність підсистеми, тобто кількість виконуваних операцій в секунду. Однак системи з однією і тією ж тактовою частотою можуть мати різну продуктивність, тому що на виконання однієї операції в різних системах може вимагатися різну кількість тактів, а крім того, системи, що використовують конвеєрну і паралельну обробку, можуть на одних і тих же тактах виконувати одночасно кілька операцій.

Літографія – це технологія друку схем на комп’ютерних мікросхемах. Для того, щоб поміщати в мікросхеми все більше і більше транзисторів, виробники напівпровідникових пристроїв змушені постійно зменшувати їх розмір.

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


Процес виготовлення процесора за допомогою фотолітографії

Основою будь-якого виробництва чіпів є підкладка, яка потім проходить через кілька сотень кроків – залежно від необхідного продукту до 500, деякі з кроків повторюються багато разів. Справа в тому, що на підкладку шар за шаром наноситься складна структура. На початку процесу виробництва перед нами знаходиться тільки шар кремнію у вигляді підкладки товщиною близько міліметра. Потім поверхня кремнію окислюється за допомогою пари. Одержаний оксид кремнію формує основу для подальшого процесу травлення. Потім на підкладку наноситься шар фоторезиста. За допомогою літографії на підкладку переноситься потрібний шаблон. Нарешті, в умовах високих температур і спеціального хімічного складу незахищений фоторезист твердне. Відкриті ділянки фоторезиста видаляються на наступному етапі. Після цього хімікати вибірково діють на ті ділянки оксиду кремнію, які не захищені фоторезистом.

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

Історія розвитку мікропроцесорів

В 1978 році Intel створила 3-мікронний процесор 8086, що працював з частотою 5 МГц і був розігнаний до 10 МГц в наступній версії. 8086 містив 29000 транзисторів. Це був перший 16-розрядний мікропроцесор Intel, який і поклав початок 16-розрядної ері, хоча і не був першим у світі 16-бітним процесором. Здатність підтримувати програми, написані для 8008, 8080 і 8085 і підтримка 1 МБ ОЗП передбачили миттєвий і безумовний успіх 8086. Наступним за ним був 8088.

8086
Intel 8086

Лінійка процесорів Motorola m68k використовувалася на різних системах, від калькуляторів Texas Instruments, TI-89, до критичних систем управління космічними шатлами. На базі процесорів m68k було побудовано безліч платформ персональних комп’ютерів, найвідомішими з яких є: Apple Macintosh, Commodore Amiga і Atari ST. Треба відзначити, що популярний КПК Palm також спочатку використовував процесори Motorola.

Перший передсерійний чіп XC68000 був випущений 1979 року.

Процесори першого покоління Motorola MC68000 (1979 рік, 8-16 МГц) були гібридом 16/32-бітного чіпа, що мав 68000 транзисторів. На базі даного процесора були побудовані Apple Lisa та Macintosh.

MC68000
Motorola 80286

1982 року Intel порадувала світове співтовариство новим процесором – 80286, створеним по 1,5-мікронній технології, що мав грандіозне число транзисторів (134000 штук) і підтримував 16 МБ пам’яті. Перші 286-і працювали з тактовою частотою 6 МГц, яка, як і у випадку оригінального 8086, була згодом подвоєна. Однак 286 відразу ж у два рази перевищив по ефективності 8086. Протягом десятиліття 286-і процесори стали синонімом IBM PC. Разом з 286 процесором був введений так званий захищений режим роботи, при якому контролюється обсяг доступної оперативної пам’яті.

20286
Intel 80286

1982 року AMD підписала контракт на виробництво і продаж процесорів 8086 і 8088. А вже на наступний рік AMD випустила Am286 (1983 рік, 8 – 20 МГц) – точний (аж до числа пінів) клон інтелівського 286, але який працював з більш високою частотою. Новий процесор Am286 від AMD був не просто швидший – він був швидший майже в два рази. Його тактова частота становила 20 МГц. Так що Am286 цілком можна розглядати як «перший удар» в конкурентній боротьбі, яка триває між двома цими компаніями вже майже 30 років.

Am286
AMD Am286

В 1984 році Motorola випускає повністю 32-розрядний процесор другого покоління MC68020. Процесор мав близько 200000 транзисторів, частоту  12.5 – 33 МГц  та дозволяв адресувати до 4 Гб пам’яті. Використовувався в комп’ютерах Apple Macintosh II.

MC68020MC68020
Motorola MC68020

Процесор Intel 386 (1985 рік), який, на відміну від більш «бюджетного» варіанту 386SX, згодом отримав назву 386DX, спочатку працював з тактовою частотою в 16 Мгц. Потім швидкодію було подвоєно до 33 МГц, а число транзисторів – до 275000. Таким чином, 386 став першим інтеловским 32-розрядним процесором. Він міг використовувати вже 4 ГБ пам’яті, а також перемикатися між захищеним і реальним режимами. Також був доданий віртуальний режим, який дозволяв виконувати програми, які не працюють в захищеному режимі.

386DX386DX
Intel i386DX

Наступний 32-бітний процесор Motorola MC68030 був випущений 1987 року. Процесор мав частоту до 33 МГц (модель MC68030s включала також версії 40 та 50 МГц). Основними особливостями були вбудовані в чіп набір інструкцій та кеш для даних об’ємом по 256 байт. Процесор мав вбудований MMU (memory management unit – блок керування пам’яттю) але не мав FPU (floating-point unit – модуль операцій з плаваючою точкою).

До кінця 80-х років Intel встигла випустити ще один процесор – 486DX (1989 рік, 25 – 100 МГц). Він став першим процесором з вбудованим математичним співпроцесором і першим, який подолав планку в 1 мільйон транзисторів – число транзисторів у ньому склало 1.2 млн. Так як і 386, 486DX міг адресувати до 4 ГБ пам’яті, мав вбудований кеш, оптимізований набір команд і шину більшої пропускної спроможності. Новий процесор знайшов застосування не тільки в ПК, а й в серверах.

486
Intel i486DX

1990 року Motorola випускає процесор третього покоління MC68040, який вже включав FPU. Це був перший процесор компанії, що мав конвеєрну архітектуру. Максимальна частота складала 40 МГц. Пізніше була випущена модифікація 68LC040, що був бюджетною версію свого попередника, але без FPU. Це робило його дешевшим та менш енергоспоживчим.

68LC040
Motorola 68LC040

Завдавши Intel перший пробний удар у вигляді Am286, в 1991 році компанія AMD виводить на ринок новий процесор Am386 (12 – 40 МГц), що був точною копією 386, але з тактовою частотою вище, ніж в інтелівського оригіналу. Intel доклала всіх зусиль, щоб перешкодити продажу AMD нових процесорів, стверджуючи, що угода по x86 стосувалося тільки 80286 і попередніх моделей. AMD виграла процес, і, хоча Intel вже випустила у продаж наступний – 486 CPU, Am386 видавав ту ж продуктивність за істотно меншу ціну.

Am386
AMD Am386

PowerPC (або скорочено PPC) – мікропроцесорна RISC-архітектура, створена в 1991 році альянсом компаній Apple, IBM і Motorola, відомим як AIM.

1992 року було представлено PPC 601 – перший 32-бітний процесор даної серії. З тактовою частотою від 50 до 80 Мгц та кешем першого рівня в 32 кб даний процесор став основою для комп’ютера Apple Power Macintosh, випущеного 1994 року. Пізніше вийшли його модифікації 601v та 601+ з частотою 90-120 МГц.

PowerPC 601
IBM PowerPC 601

Випущений 1993 року PowerPC 603 став першим 32-розрядним процесором, який повністю базувався на новій архітектурі PowerPC. Даний процесор, який мав частоту від 80 до 200 МГц (160 – 240 МГц в модифікації 603e), став прототипом PPC 750, більш відомого як PowerPC G3.

PowerPC 603
Motorola PowerPC 603

П’яте покоління інтелівських процесорів – Pentium – не тільки отримало нову назву, а й підняло архітектуру х86 на новий рівень. Не маючи можливості запатентувати серійні номери, Intel вводить назву Pentium (1993 рік, 60 – 233 МГц), виключивши таким чином копіювання числового номера її нового 586 чіпа іншими виробниками. У Pentium був втілений ряд вдосконалень, спрямованих на вирішення декількох проблем в попередніх процесорах, що помітно обмежували їх продуктивність. Головними нововведеннями стали 64-розрядна шина, два виконавчих модуля, значно покращений модуль обчислень з плаваючою точкою (FPU) і більша тактова частота. За час виробництва Pentium технологія виготовлення цих процесорів змінилася з 0.8 до 0.3 мк, тим самим число транзисторів було збільшено з 3.1 до 4.5 млн.

Intel Pentium 75
Intel Pentium 75

Останній у «війні клонів» Am486 (1993 рік, 60МГц – 233МГц) від AMD дебютував майже на чотири роки пізніше інтелівського 486 і на один місяць пізніше початку випуску Pentium. Щоб зробити його конкурентноздатним, AMD довелося знизити ціну, піднявши при цьому тактову частоту в порівнянні з інтеловским 486.

Am486
AMD Am486

Незважаючи на незначне оновлення специфікацій, Pentium Pro (1995 рік) був помітно поліпшений у порівнянні з оригінальним Pentium. Фактично, Pentium Pro продемонстрував не просто набір поліпшень, а нову архітектуру, а приставка Pro «додала» ще один мільйон транзисторів (тепер їх стало 5.5 млн). Але більш важливим стало додавання первинної кеш-пам’яті в 256 КБ, яка потім була збільшена до 1 МБ. Поки ще не інтегрована безпосередньо в ядро процесора, кеш-пам’ять працювала на тій же частоті, що і CPU – між 150 і 200 МГц. Але введення нової кеш-пам’яті крім позитивних моментів, принесло і проблеми процесору: розміщувалася вона на окремому кристалі, що вело до подорожчання виробництва. Тим не менш, випуск 32-розрядних Pentium Pro грав помітну роль – почалася епоха занепаду 16-розрядних процесорів і ОС.

pentium pro 200 mhzPentium Pro 200 mhz
Intel Pentium Pro 200

У 1996 році Intel починає продаж процесорів Pentium MMX. Приставка "MMX" означала поліпшення мультимедіа-можливостей процесора, але за загальновизнаною думкою вона так і не виправдала покладених на процесор надій.

Пропонуючи легкі можливості оновлення для 486 комп’ютерів, Am5x86 від AMD був насправді 486DX з внутрішнім множником x4. Це дозволяло процесору досягати швидкодії в 133 МГц і забезпечувати сумісність з більшістю існуючих під 486 системних плат. При цьому продуктивність Am5x86 була не гірше, ніж у Pentium 75. Але що дійсно відрізняло Am5x86, так це перше використання оцінки продуктивності (PR – Performance Rating). Надалі ця тактика зіграє ще більшу роль. AMD продавала ці процесори під маркою Am5x86-P75, надаючи покупцеві інформацію про те, що це еквівалент Pentium 75.

Am5x86-P75
AMD Am5x86-P75

Intel сама «допомогла» конкурентам, уклавши ліцензійну угоду, яка відкрила шлях до розробки і випуску клонів їх продукції. Але цю помилку компанія не збиралася повторювати, приступивши до випуску лінійки Pentium. У результаті AMD і всі інші не могли тепер просто робити клони інтелівської продукції та продавати як власну. У зв’язку з цим і був створений K5 від AMD (75 – 133 МГц) – перша спроба власної розробки процесорів наступного покоління. Але, як і передбачалося, ще в процесі проектування виникло ряд проблем, що викликали затримку випуску чіпа. У результаті К5 вийшов у світ тільки в 1996 році. Технічно більш досконалий по відношенню до Pentium, К5 містив 4.5 млн транзисторів, 5 модулів цілочисельних операцій, значно потужніший модуль передбачення умовних переходів і 16 КБ кеш (в два рази більше, ніж у Pentium). На жаль для AMD, принциповим недоліком K5 стала низька тактова частота і тому процесор не зміг нанести очікуваний нокаут Pentium.

amd k5-pr166
AMD K5-PR166

В той час як K5 від AMD легко забувся, просування процесора K6 (166 – 300 МГц) пройшло більш гладко, і його чекав теплий прийом користувачів. Частково це відбулося завдяки зусиллям розробника Вінода Дхама (Vinod Dham), який відомий як «батько Пентіума». Містер Дхам залишив Intel в 1996 році, щоб перейти в NexGen, яку згодом придбала AMD. Компанія NexGen фактично проектувала те, що могло б стати К6, включаючи інструкції MMX і блок для операцій з плаваючою точкою. Запущений у квітні 1997 року К6, поряд з придбанням NexGen, ще раз дав зрозуміти, що AMD як і раніше залишається одним з головних гравців серед розробників центральних процесорів.

AMD K6 200Mhz
AMD K6 200 MHz

Першою реалізацією 64-бітної PowerPC архітектури став PowerPC 620. Процесор мав частоту 120-150 МГц (в більш пізніших моделях – до 200 МГц) та кеш другого рівня до 128 кб.

PowerPC 7xx (більш відомий як PowerPC G3) розроблявся під комп’ютери фірми Apple (PowerMac, PowerBook, iMac, iBook) та мав частоту до 366 МГц.

PowerPC G3
IBM PowerPC 750 (PowerPC G3)

Щоб збільшити обсяги виробництва, Intel переміщує вторинний кеш в зовнішній чіп. Таке виконання мало в два рази зменшити швидкість кеш-пам’яті порівняно з швидкістю процесора. В останніх Pentium II Intel намагалася компенсувати зниження швидкості збільшенням кешу з 256 КБ до 512 КБ. Це робилося не тільки з метою зниження ціни (на початку випуску Pentium II коштував чималі гроші), але також щоб упакувати процесор в єдиний контактний блок для системних плат з новим процесорним роз’ємом Slot1. Pentium II вперше був проведений по 0.35-мкм технології, яка згодом була замінена на 0.25-мкм. Він містив 7.5 млн транзисторів і міг адресувати 64 ГБ пам’яті. До того ж, Pentium II став родоначальником перших процесорів Xeon, реалізованих в 1998 році. Але, на відміну від Pentium II, у Xeon обсяг L2 кешу досяг 2 МБ.

Pentium II
Intel Pentium II

Для того, щоб заповнити нішу на ринку процесорів початкового рівня Intel випустила в 1998 році процесор Celeron (266 МГц – 3.2 ГГц) зі значно меншою продуктивністю і з набагато більш «бюджетною» ціною. Пізніше, в ігрових версіях х86 кілька моделей Celeron стали справжньою спокусою для любителів заощадити на процесорі шляхом його розгону. Але перші Celeron на ядрі Pentium II викликали прохолодну реакцію в основної маси користувачів. У першу чергу, це було обумовлено відсутністю вторинного кеша, що дозволяв збільшити продуктивність. Пізніше Intel реалізувала іншу версію з вторинним кешем обсягом 128 КБ, що в деяких випадках дозволило збільшити продуктивність в два рази. Комбінація повнокровного вторинного кеша зі швидкістю чіпа і здатністю до розгону зробили Celeron хітом серед маси розгону процесорів.

Celeron 2,53
Intel Celeron 400 MHz

Продовжуючи успіх К6, K6-2 (233 – 500 МГц) був випущений компанією AMD в 1998 році. Він мав інший модуль ММХ і нові інструкції SIMD, більш відомі як 3DNow! Ці нововведення на деякий час зробили AMD лідером в середовищі 3D-додатків, поки Intel не «засяяв» знову з власним набором команд SSE. Тим не менш, К6-2 став цілком привабливим апгрейдом для власників системної плати з Super Socket 7. Пізніше AMD випустив K6-2+, в якому додав 128 КБ вторинної кеш-пам’яті і зменшив технологічний процес з 250 нм до 180 нм.

Останній в лінійці K6, К6-3 (350 – 570 МГц) від AMD, був анонсований на початку 1999 року як останній процесор для системних плат з Socket 7. Але К6-3 не довелось поніжитися в променях успіху, так як Intel випустив новий процесор Pentium III всього через кілька днів. Значним кроком вперед в K6-3 були 256 КБ вторинної кеш-пам’яті і більш ніж в два рази збільшене число транзисторів – з 9.3 млн до 21.3 млн. К6-3 був успішної розробкою, але її швидко забули, так як AMD випустила серію Athlon.

У 1999 Intel випускає Pentium III (450 – 1.4 ГГц). Детальніші інструкції SSE дозволили виконувати до чотирьох обчислень одинарної точності з плаваючою точкою одночасно, що підвищило ефективність обробки 3D-зображень, потокового відео та інших мультимедійних завдань в порівнянні з Pentium II.

Pentium III
Intel Pentium III 1 GHz

Пізніше Intel випустила Pentium III Coppermine. Coppermine мав інтегровані 256 КБ вторинної кеш-пам’яті, що працювали з частотою ядра, подвоєний конвеєр та інші поліпшення, що призвели до підвищення продуктивності в декілька разів у порівнянні з першим Pentium III.

Інший PIII чіп, названий Tualatin, мав більш високу тактову частоту, більший об’єм кеш-пам’яті, менший розмір кристала і більш низьке енергетичне споживання. Tualatin забезпечив початкову структуру інтелівських мобільних процесорів Pentium-M, які пізніше призвели до появи Core i7.

Pentium III Xeon, інтелівський процесор для серверів не відрізнявся принципово від аналогів для настільних комп’ютерів, хоча пізніше для PIII Xeon кеш-пам’ять була збільшена до 2 МБ і була реалізована підтримка чотирьох-ядерної конфігурації.

В 1999 році виходить PowerPC 7400 з частотою 350 – 500 МГц, що відкриває серію 32-бітних процесорів PowerPC G4, розроблених для комп’ютерів Apple. Пізніше вийшли моделі з тактовою частотою до 2 ГГц та кешем другого рівня до 1 Мб.  

PowerPC 7400
Motorola PowerPC 7400 (PowerPC G4)

Найбільш помітною серією центральних процесорів в історії AMD і, безумовно, найбільш важливою в недавній історії компанії стала лінійка Athlon (1999 рік, 500 – 1.4 ГГц), яка завдала Intel досить нищівного удару. Дірк Мейер, що згодом став виконавчим директором AMD, керував командою, яка розробила Athlon з вторинної кеш-пам’яттю в 512 КБ. Стартувавши з 500 МГц, AMD випередив Intel і першим підкорив важливий рубіж в 1 ГГц. Через деякий час AMD ще більше удосконалив Athlon і дав новій версії ім’я Thunderbird. Нова ревізія ядра разом з підвищенням продуктивності L2 кеша і рядом інших поліпшень, зробили новий процесор ще більш якісним. Разом з цим AMD ввів Socket A (462) – один з найбільш успішних у всі часи сокетів в системних платах.

AMD Athlon 900
AMD Athlon 900

В 2000 році на додачу до інтелівського Celeron AMD випускає процесор Duron (350 – 1.8 ГГц) і підкорює «бюджетний» сектор ринку. Перші Duron мали повільну шину з 100 МГц і урізаним кешем, що й визначало їхню низьку вартість. Duron випускався тільки з 64 КБ вторинної кеш-пам’яті (на відміну від звичних на той час 256 або 512 КБ). Діапазон частот лежав в області від 600 МГц до 950 МГц. Наступне покоління процесорів Duron вироблялося на базі архітектури Athlon XP, в них також була додана підтримка інструкцій SSE. Фінальна версія Duron використовувала більш швидку шину (133 МГц) і тактову частоту до 1.8 ГГц.

Intel все більше уваги приділяла збільшенню тактової частоти, і для досягнення цієї мети в результаті ввела в Pentium 4 (2000 рік, 1.40 – 3.8 ГГц) надзвичайно довгу конвеєрну архітектуру. З одного боку, це дійсно дозволяло підвищувати тактову частоту, з іншого – з’являлася велика ймовірність того, що для виконання команди потрібно результат попередньої команди, а це означало перезавантаження конвеєра. Але Pentium 4 зовсім не був поганий і він підтримував набори інструкцій SSE2 і SSE3. А в комбінації з HyperThreading, Pentium 4 чудово справлявся як з мультимедійними і тематичних завданнями, так і з кодами, оптимізованими під нове ядро. А використання графічних карт для 3D-графіки ще більше покращувало продуктивність, таким чином, процесор Р4 заклав основу для розвитку ігрових інструментів. Пізніше в Pentium 4 підняли тактову частоту до рекордних цифр. Intel припускала, що цього вдасться домогтися за допомогою ядра Prescott – першого чіпа, виготовленого по 90 нм технології. Але Prescott дав лише незначне підвищення продуктивності, на противагу голосним рекламним обіцянкам, а в ігрових тестах значно поступався процесорам AMD.

Pentium 4 515
Pentium 4 515

Частина сімейства Athlon, після ревізії XP (2001 рік, 650 – 2.25 ГГц) і додавання інструкцій SSE, стала ще одним агресивним кроком в маркетингу AMD. XP підтримував eXtreme Performance і чудово ладнав з Windows XP. Крім того, AMD повернулася до використання системи Performance Rating (PR) для маркування процесорів. Офіційно, PR від AMD мало характеризувати продуктивність процесора XP по відношенню до ядра Thunderbird, так що теоретично AMD Athlon XP 1800+ повинен був мати таку ж продуктивність, як і Thunderbird на частоті 1.8 Ггц. Однак, на практиці ця абревіатура помилково використовувалася набагато ширше, наприклад, в якості покажчика на відповідний інтелівський процесор – багато в чому через збіг абревіатур «Pentium Rating» і «Performance Rating».

Інші версії процесора – Thoroughbred або T-Bred – були реалізовані зі зміною технології виготовлення з 180 нм до 130 нм. Пізніше моделі також збільшили свої шини від 100 МГц (Thunderbird) і 133 МГц (XP) до 166 МГц (T-Bred).

Але найпопулярніший Socket A Athlon був створений на основі ядра Barton, що з’явився в 2003 році і обіцяв величезні можливості розгону. Зокрема, інтерес викликала перша версія процесора – Barton 2500+, яка поставлялася з розблокованим множником. При збільшенні значення множника більшість процесорів Barton 2500+ могли легко досягати продуктивності флагманської моделі AMD 3200 +.

Athlon Xp 2500+ Barton.
Athlon XP 2500+ Barton

PowerPC G5 – останній процесор з сімейства PowerPC, який використовувався в комп’ютерах сімейства Apple Macintosh. На момент своєї появи перевершував будь-який існуючий у той час процесор компанії Intel. Однак IBM так і не змогла надати Apple, мобільну версію даного процесора. В результаті в ноутбуках компанії Apple, використовувалися більш старі чіпи – PowerPC G4. Для того щоб не відстати від конкурентів, Apple в 2005 році оголосила про перехід на процесори Intel.

IBM PowerPC 970MP
IBM PowerPC 970MP (PowerPC G5)

Запущені у виробництво в 2002 році, PowerPC 970 були виконані по 130 нм техпроцесу і працювали на частотах від 1,4 до 1,8 ГГц. Вони містили 58 млн транзисторів. Процесор на 2 ГГц вийшов в 2003 році.

PowerPC 970MP, що вийшов в 2005 – двоядерний процесор, мав частоту 2,5 ГГц. Спочатку випускався по 90 нм, а в кінці по 65 нм техпроцесу. Цим процесором оснащувалися останні Power Mac G5.

Там, де не справлявся Duron, йому на зміну приходив Sempron (2004 рік, 1.4 – 2.3 ГГц) – «бюджетний» конкурент від AMD інтелівському процесору Celeron. Подібно до Duron, більшість Sempron мали «урізану» вторинну кеш-пам’ять. Sempron продовжували еволюціонувати разом з головними лінійками процесорів  AMD і продовжують існувати зараз.

Вершиною успіху AMD став 64-розрядний процесор Athlon 64 (2004 рік, 1.0 – 3.2 ГГц), призначений для основної маси користувачів. Не без деяких початкових зусиль А64 став першим підходящим процесором для системних плат Socket 754, які потребували підтримки двоканальної пам’яті і для сервер-орієнтованої Socket 940, що вимагала буферизації пам’яті. Хоча А64 запропонував власну 64-розрядну основу, він був також повністю сумісний з 32-бітним кодуванням без будь-якої помітної втрати в продуктивності. Це було дуже важливо для користувачів Windows, які все ще жили в 32-розрядному.

Athlon 64 3200+
AMD Athlon 64 3200+

Невдала архітектура NetBurst остаточно здала свої позиції в останньому бренді Intel Pentium D (2005 рік, 2.66 – 3.73 ГГц). Процесори Pentium D, що містили два одноядерних процесора, трансформувалися згодом у багатоядерні модулі. Не настільки елегантний, як двоядерна розробка AMD, Pentium D пропонував пристойну багатозадачну продуктивність, хороші можливості для розгону за порівняно невисокою ціною. Pentium D забезпечив прихильникам Intel впевнену альтернативу AMD.

Intel Pentium D
Intel Pentium D з двома одноядерними процесорами

Продовжуючи домінувати на ринку настільних ПК, серія процесорів Athlon 64 X2 (2006 рік, 1.0 ГГц – 3.2 ГГц) від AMD містила два ядра в одному кристалі, які одночасно використовували інтегрований контролер пам’яті. Ця внутрішня структура обміну даними забезпечувала величезну перевагу в продуктивності в порівнянні з інтелівською двоядерною конфігурацією, у якої ядра здійснювали комунікацію через загальну шину. У серії X2 були додані SSE3 команди, але, що більш важливо, AMD зберегла сумісність нового чіпа з Socket 939.

Прокинувшись від «сплячки», Intel починає штурмувати процесорний світ зі своєю новою архітектурою Core 2 (2006 рік, 1.8 – 3.2 ГГц). Замість концентрації на досягненні максимальної тактової частоти, Intel сфокусувався на більш високій продуктивності його процесорного конвеєра. Це означало повернення до більш низьких тактових частот, але з іншого боку, підвищувало продуктивність процесорів.

Перший Core 2 Duos буквально підірвав ринок зі своїми 167 млн?транзисторів, 65 нм технологією, 2 МБ вторинної кеш-пам’яті і 1,066 МГц частотою шини. Незважаючи на дебют з невисокими частотами 1.86 МГц і 2.13 МГц (Е6300 і Е6400 відповідно), продуктивність, а також агресивна цінова політика зробили Core 2 бажаним і популярним. Пізніше Core 2 був переведений на 45 нм технологію виготовлення. Так з’явилася версія Penryn, в якій 820 млн транзисторів було упаковано в чотирьохядерному процесорі, що працює з частотою, що досягає 3.2 ГГц.

core 2 duo e6550
Intel Core 2 Duo E6550

Повернення імені Pentium на даному етапі може здатися дивним, але Intel все ж таки зважилася на це. Хоча те, що Pentium Dual-Core (2006 рік, 1.4 – 2.8 ГГц) базується на інтелівській технології Core, а не на більш ранньому процесорі Pentium або Pentium D, дійсно збиває з пантелику. Перші процесори Pentium Dual-Core були націлені на ринок ноутбуків, але потім стали використовуватися і в ПК.

Передавши пальму першості в продуктивності інтелівській архітектурі Core 2, AMD, проте, сподівалася здійснити ривок на ринку з майбутнім процесором Barcelona, який був згодом перейменований у Phenom (2007 рік, 1.8 – 3.0 ГГц). Але ранні версії Phenom містили баги і часто давали збої в роботі. Не можна сказати, щоб Phenom був такою вже поганою архітектурою – у нього, безсумнівно, були і власні переваги: кілька SIMD інструкцій, включаючи MMX, Enhanced 3DNow!, SSE, SSE2, SSE3 і SSE4a, 4-ядерний процесор і непогана продуктивність. Але все це поступалося рівню останніх процесорів Intel, до того ж, AMD програли Intel в ціновій політиці.

Процесор Core i7 (2008 рік, 2.66 – 3.2 ГГц) ще більше зміцнив занепокоєння AMD, яка все ще сподівалася поборотися за створення архітектури, здатної конкурувати з Core 2. Тим часом Core i7 (раніше відомий під ім’ям Nehalem) залишився поза конкуренцією. А Intel тим часом остаточно відійшов від традиційної шини на користь QuickPath Interconnect, яка була аналогом HyperTransport від AMD. Це двухточечне міжкомпонентне з’єднання (point-to-point interconnect), що дозволяло набагато швидше здійснювати зв’язок між процесором і різними підсистемами.

Intel Mobile Core i7-720QM
Intel Mobile Core i7-720QM

Phenom II (2008 рік, 2.5 – 3.0 ГГц) – це те, чим повинен був стати оригінальний Phenom. Разом з потроєним об’ємом кеш-пам’яті третього рівня (6 МБ замість 2 МБ), підтримкою DDR3 і видаленням "багів", Phenom II закрив пролом в продуктивності з інтелівською лінійкою Core 2. Але в AMD і раніше залишалася проблема: Intel вже здійснив наступний крок, а AMD поки нічого було запропонувати користувачам як конкурента Core i7.

Мобільні рішення

Не можна проігнорувати також інтелівську серію Atom (2008 рік), яка стала рушійною силою в суперпопулярних сьогодні нетбуках (мобільний варіант) і неттопах (десктопи). З точки зору «заліза» одноядерні чіпи Atom мають всього 47 млн транзисторів, 512 КБ вторинної кеш-пам’яті і граничну тактову частоту 1.86 ГГц.


Intel Atom

Серія Intel Atom поступово завойовує ринок комп’ютерних пристроїв з низьким споживанням енергії. На цьому тлі продукції VIA не приділяється належної уваги. І хоча лінійка Nano (2008 рік, 1 ГГц – 1.8 ГГц) від VIA поки не досягла рівня продажів Atom, але з певних тестів Nano показують більш високу продуктивність, хоча і споживають трохи більше енергії. Процесори Nano працюють в діапазоні частот від 1 ГГц до 1.8 ГГц з 533 МГц або 800 МГц шиною, мають вторинну кеш-пам’ять до 1 МБ і підтримують інструкції MMX, SSE, SSE2, SSE3 і SSSE3.

VIA Nano 3000
VIA Nano 3000

NVIDIA Tegra – процесор, який об’єднує функції цілого комп’ютера в одному чіпі, розроблений компанією NVIDIA як платформа для виробництва мобільних інтернет-пристроїв (Mobile Internet Device, MID), таких як смартфони, смартбуки, комунікатори, КПК та ін. Кристал Tegra поєднує в собі ARM-процесор, графічний процесор, медіа-і DSP-процесори, контролери пам’яті і периферійних пристроїв, маючи при цьому низьке енергоспоживання.

Перша модель серії APX 2500 Tegra була анонсована 12 лютого 2008

Tegra
nVidia Tegra

Наступне покоління – Tegra 2 було офіційно представлено на виставці Consumer Electronics Show (CES) 7 січня 2010 року – був продемонстрований процесор Tegra 250.

NVIDIA Tegra 250
nVidia Tegra 250 (Tegra 2)

Процесор об’єднує 8 спеціалізованих ядер, два з яких мають ARM-архітектуру Cortex-A9 і працюють на частоті 1 ГГц, а також графічний процесор, медіа- і DSP-процесори, контролери пам’яті і периферійних пристроїв. Компанія називає Tegra 2 першим у світі двоядерним процесором мобільних пристроїв.

На початку листопада 2011 року компанія представила третє покоління мобільних чіпів Tegra 3 під кодовою назвою "Kal-El". Nvidia Tegra 3 містить в собі 5 ядер Cortex A9 з яких чотири високопродуктивних ядра, частота яких становить 1,5 ГГц і одне додаткове супроводжує ядро, призначене для рішення простих задач з метою підвищення енергоефективності процесора.

Архітектура ARM (Advanced RISC машина, Acorn RISC машина, вдосконалена RISC-машина) – сімейство ліцензованих 32-бітних і 64-бітних мікропроцесорних ядер розробки компанії ARM Limited.

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

Apple A4 – мікропроцесор фірми Apple, що використовується в різних вироблених нею пристроях.

Анонсована 27 січня 2010 модель мікропроцесора працює на частоті 1 ГГц, має максимальну споживану потужність 500-800 мВт, кеш L2 об’ємом 512 Кбайт, основне ядро з модифікованою архітектурою ARM Cortex A8 та інтегроване графічне ядро PowerVR SGX 535.


Apple A4

Apple A5 – двоядерний мікропроцесор компанії Apple, побудованих за принципом PoP (Package on package), являє собою систему на кристалі (SoC) і призначений для установки в нові інтернет-планшети IPad 2 і новий iPhone 4S (планується також, що він буде встановлюватися в IPod Touch 5 і Apple TV 2).

Архітектура сучасних процесорів

AMD Fusion – кодова назва мікропроцесорної архітектури, яка була розроблена американською компанією AMD. Суть проекту «AMD Fusion» полягає в об’єднанні центрального багатозадачного універсального процесора з графічним паралельним багатоядерним процесором в одному кристалі. Процесори, що створюються за такою мікроархітектурою, називаються APU.

Sandy Bridge – мікроархітектура процесорів, розроблена фірмою Intel. Заснована на 32-нм технологічному процесі. Анонсовано 3 січня 2011. Процесори цієї архітектури продаються на ринку під торговими марками Core i7/Core i5/Core i3/Pentium/Celeron.

Перший дизайн ядер на основі цієї архітектури являє поєднання процесора з частотою до 3,5 ГГц, з 2-4 ядрами і високопродуктивного GPU з частотою до 1,35 ГГц (Intel HD Graphics 2000, для серії K – HD Graphics 3000), також у чіп інтегрований північний міст набору системної логіки (контролер PCI Express 2.0 і двоканальний контролер пам’яті стандарту DDR3 SDRAM з частотою до 1333 МГц). Кожне ядро має по 256 КБ кеша другого рівня і до 8 МБ об’єднаного кешу третього рівня. Процесор знаходиться на одній кремнієвій підкладці площею 216 мм². Енергоспоживання цього дизайну не виходить за межі 95 Вт для топових моделей. До кінця 2011 року Intel планує перевести процесори всіх цінових сегментів на архітектуру Sandy Bridge.

Ivy Bridge – кодова назва процесорної мікроархітектури, що розробляється корпорацією Intel. Фактично, це варіант ядра Sandy Bridge, виконаний по технологічному процесу 22 нм. Реліз перших процесорів на даній архітектурі очікується 8 квітня 2012 року.

Архітектура мікропроцесорів

Під архітектурою процесора розуміється сумісність з певним набором команд їх структури  і способу виконання. Архітектура процесора – це набір властивостей і якостей, притаманний цілому сімейству процесорів, як правило, випускається протягом багатьох років (інакше кажучи – «внутрішня конструкція», «організація» цих процесорів). Є різні класифікації архітектур процесорів, як по організації (наприклад, за кількістю та швидкості виконання команд: RISC, CISC), так і за призначенням (наприклад, спеціалізовані графічні).

Більшість сучасних процесорів для персональних комп’ютерів в загальному засновані на тій чи іншій версії циклічного процесу послідовної обробки даних, винайденого Джоном фон Нейманом. Дж. фон Нейман придумав схему побудови комп’ютера в 1946 році. Відмінною особливістю архітектури фон Неймана є те, що інструкції і дані зберігаються в одній і тій же пам’яті.

Етапи циклу виконання:

  1. Процесор виставляє число, що зберігається в регістрі лічильника команд, на шину адреси і віддає пам’яті команду читання.
  2. Виставлене число є для пам’яті адресою; пам’ять, отримавши адресу і команду читання, виставляє вміст, що зберігається за цією адресою, на шину даних і повідомляє про готовність.
  3. Процесор отримує число з шини даних, інтерпретує його як команду (машинну інструкцію) зі своєї системи команд і виконує її.
  4. Якщо остання команда не є командою переходу, процесор збільшує на одиницю (в припущенні, що довжина кожної команди дорівнює одиниці) число, що зберігається в лічильнику команд; в результаті там утворюється адреса наступної команди.

Даний цикл виконується незмінно, і саме він називається процесом (звідки і пішла назва пристрою).

Під час процесу процесор зчитує послідовність команд, що містяться в пам’яті, і виконує їх. Така послідовність команд називається програмою і представляє алгоритм роботи процесора. Черговість зчитування команд змінюється у разі, якщо процесор зчитує команду переходу, – тоді адреса наступної команди може виявитися іншою. Іншим прикладом зміни процесу може служити випадок отримання команди зупинка або перемикання в режим обробки переривання.

Швидкість переходу від одного етапу циклу до іншого визначається тактовим генератором. Тактовий генератор виробляє імпульси, що слугують ритмом для центрального процесора. Частота тактових імпульсів називається тактовою частотою.

Конвеєрна архітектура була введена в центральний процесор з метою підвищення швидкодії. Зазвичай для виконання кожної команди потрібно здійснити деяку кількість однотипних операцій, наприклад: вибірка команди з ОЗУ, дешифрування команди, адресація операнда в ОЗУ, вибірка операнда з ОЗУ, виконання команди, запис результату в ОЗУ. Кожну з цих операцій зіставляють одному ступіню конвеєра.

Наприклад, конвеєр мікропроцесора з архітектурою MIPS-I містить чотири стадії:

  • отримання і декодування інструкції,
  • адресація і вибірка операнда з ОЗУ,
  • виконання арифметичних операцій,
  • збереження результату операції.


Принцип роботи конвеєрної архітектури

Після звільнення k-го ступіня конвеєра вона відразу приступає до роботи над наступною командою. Якщо припустити, що кожен ступінь конвеєра витрачає одиницю часу на свою роботу, то виконання команди на конвеєрі завдовжки в n ступенів займе n одиниць часу, однак у самому оптимістичному випадку результат виконання кожної наступної команди буде проходити через кожну одиницю часу.

Фактори, що знижують ефективність конвеєра:

  • Простій конвеєра, коли деякі ступіні не використовуються (напр., адресація і вибірка операнда з ОЗУ не потрібні, якщо команда працює з регістрами).
  • Очікування: якщо наступна команда використовує результат попередньої, то остання не може почати виконуватися до виконання першої (це долається при використанні позачергового виконання команд – out-of-order execution).
  • Очищення конвеєра при попаданні в нього команди переходу (цю проблему вдається згладити, використовуючи модуль передбачення переходів).

Модуль передбачення умовних переходів — пристрій, який визначає напрям розгалужень (передбачає, виконається умовний перехід, чи ні) в програмі, що наразі виконується. Входить до складу мікропроцесорів, які мають конвеєрну архітектуру. Передбачення розгалужень дозволяє робити попередню вибірку інструкцій та даних з пам’яті, а також виконувати інструкції, які розташовані після умовного переходу до того, коли він буде виконаний. Модуль передбачення є невід’ємною частиною усіх сучасних суперскалярних мікропроцесорів, бо в більшості випадків (точність передбачення переходів в сучасних процесорах перевищує 90%) дозволяє оптимально використовувати обчислювальні ресурси процесора.


Модуль передбачення умовних переходів

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


Суперскалярна архітектура

Частковим вирішенням цієї проблеми є, наприклад, технологія Hyper Threading. У процесорах з використанням цієї технології кожен фізичний процесор може зберігати стан відразу двох потоків, що для операційної системи виглядає як наявність двох логічних процесорів. Фізично у кожного з логічних процесорів є свій набір регістрів і контролер переривань, а інші елементи процесора є загальними. Коли при виконанні потоку одним з логічних процесорів виникає пауза, то управління передається потоку в іншому логічному процесорі. Таким чином, поки один процес чекає, наприклад, дані з пам’яті, обчислювальні ресурси фізичного процесора використовуються для обробки іншого процесу.


HyperThreading

Концепції проектування процесорів

CISC (Complex instruction set computer) – обчислення зі складним набором команд. Характеризується наступним набором властивостей:

  • нефіксоване значення довжини команди;
  • арифметичні дії кодуються в одній команді;
  • невелике число регістрів, кожен з яких виконує строго певну функцію.

Типовими представниками є процесори на основі x86 команд (виключаючи сучасні Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, які є гібридними) і процесори Motorola MC680x0.

RISC-процесори (Reduced instruction set computer) – обчислення із спрощеним набором команд. Архітектура процесора, в якій швидкодія збільшується за рахунок спрощення команд, щоб їх декодування було простіше, а час виконання – меншим. Перші RISC-процесори навіть не мали команд множення і ділення. Це також полегшує підвищення тактової частоти і робить більш ефективною суперскалярність.

Спочатку RISC-архітектура важко приймалися на ринку через відсутність програмного забезпечення для них. Ця проблема була швидко вирішена перенесенням UNIX-подібних операційних систем (SunOS) на RISC-архітектуру.

На даний час багато архітектур процесорів є RISC-подібними, наприклад, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER і PowerPC.

MISC-процесори (Minimum instruction set computer) – обчислення з мінімальним набором команд.

Збільшення розрядності процесорів привело до ідеї вкладання декількох команд в одне велике слово. Процесори, що утворюють «комп’ютери з мінімальним набором команд» (MISC), як і процесори RISC, характеризуються невеликим числом команд, що найчастіше зустрічаються. Порядок виконання команд розподіляється таким чином, щоб максимально завантажити маршрути, по яких проходять потоки даних. Таким чином архітектура MISC об’єднала разом суперскалярну і VLIW-концепції. Компоненти процесора прості і працюють на високих частотах.

VLIW-процесори (Very long instruction word) – дуже довге командне слово. Характеризується тим, що одна інструкція процесора містить кілька операцій, які повинні виконуватися паралельно.


Архітектура VLIW

У чистому вигляді архітектуру VLIW мають процесори TriMedia фірми Philips і сімейство DSP C6000 фірми Texas Instruments.

Мікропроцесор Intel Itanium має 64-бітну систему команд «з явним паралелізмом», яка є одним з варіантів VLIW.

VLIW також отримала гарне поширення на ринку GPU, так, відеопроцесори AMD/ATI Radeon починаючи з R600 і до сучасних мають VLIW архітектуру. В останньому поколінні (Southern Islands) компанія AMD/ATI відійшла від підходу VLIW.

Архітектура фон Неймана має недолік – вона послідовна. Який би величезний масив даних не вимагалося б обробити, кожен його байт повинен буде пройти через центральний процесор, навіть якщо над усіма байтами потрібно провести одну і ту ж операцію. Для подолання цього недоліку пропонувалися і пропонуються архітектури процесорів, які називаються паралельними. Паралельні процесори використовуються в суперкомп’ютерах.

Можливими варіантами паралельної архітектури можуть служити (за класифікацією Флінна):

  • SISD – один потік команд, один потік даних;
  • SIMD – один потік команд, багато потоків даних;
  • MISD – багато потоків команд, один потік даних;
  • MIMD – багато потоків команд, багато потоків даних.

Основні набори інструкцій процесорів:

MMX (Multimedia Extensions – мультимедійні розширення) – комерційна назва додаткового набору інструкцій, що виконують характерні для процесів кодування/декодування потокових аудіо/відео даних дії за одну машинну інструкцію. Вперше з’явився в процесорах Pentium MMX. Розроблений у першій половині 1990-х.

3DNow! — розширення для набору інструкцій платформи x86, яку розробила компанія Advanced Micro Devices (AMD). Це розширення додає SIMD інструкції до базового набору інструкцій x86, що дозволяє йому виконувати прості векторні операції, що в сумі підвищувало продуктивність багатьох графічних додатків. Перший мікропроцесор із підтримкою 3DNow! — AMD K6-2, був представлений в 1998 році.

SSE (англ. Streaming SIMD Extensions, потокове SIMD-розширення процесора) — це SIMD набір інструкцій, розроблених Intel, і вперше представлених у процесорах серії Pentium III як відповідь на аналогічний набір інструкцій 3DNow! від AMD, який був представлений роком раніше.

SSE2 (англ. Streaming SIMD Extensions 2, потокове SIMD-розширення процесора) — це SIMD набір інструкцій, розроблених Intel, і вперше представлених у процесорах серії Pentium 4.

SSE3 (англ. Streaming SIMD Extensions 3, потокове SIMD-розширення процесора) — це SIMD набір інструкцій, розроблених Intel, і представлених 2 лютого 2004 року у ядрі Prescott процесора Pentium 4. У 2005 AMD представила свою реалізацію SSE3 для процесорів Athlon 64.

Кеш-пам’ять процесора

Кеш (cache) – проміжний буфер з швидким доступом, що містить інформацію, яка може бути запрошена з найбільшою ймовірністю. Доступ до даних в кеші йде швидше, ніж вибірка вихідних даних з оперативної (ОЗП) і швидше зовнішньої (жорсткий диск або твердотільний накопичувач) пам’яті, за рахунок чого зменшується середній час доступу і збільшується загальна продуктивність комп’ютерної системи.

Більшість сучасних мікропроцесорів для комп’ютерів і серверів мають як мінімум три незалежних кеша: кеш інструкцій для прискорення завантаження машинного коду, кеш даних для прискорення читання і запису даних, і буфер асоціативної трансляції (TLB) для прискорення трансляції віртуальних (математичних) адрес у фізичні, як для інструкцій, так і для даних. Кеш даних часто реалізується у вигляді багаторівневого кешу (L1, L2, L3).

Збільшення розміру кеш-пам’яті позитивно впливає на продуктивність майже всіх програм.

При доступі процесора в пам’ять спочатку здійснюється перевірка, чи зберігає кеш запитувані з пам’яті дані. Для цього проводиться порівняння адреси запиту зі значеннями всіх тегів кешу, в яких ці дані можуть зберігається. Випадок збігу з тегом будь-якої кеш-лінії називається попаданням в кеш (cache hit), зворотний же випадок називається кеш промахом (cache miss). Відношення кількості попадань в кеш до загальної кількості запитів до пам’яті називають рейтингом попадань (hit rate), воно є мірою ефективності кеша для обраного алгоритму або програми.

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

Однією з проблем є фундаментальна проблема балансу між затримками кеша і інтенсивністю попадань. Великі кеші мають більш високий відсоток попадань але, разом з тим, і велику затримку. Щоб послабити протиріччя між цими двома параметрами, більшість комп’ютерів використовує кілька рівнів кешу, коли після маленьких і швидких кешей знаходяться повільніші великі кеші (зараз – сумарно до 3 рівнів в ієрархії кешей). У поодиноких випадках реалізують 4 рівні кеш-пам’яті.

Багаторівневі кеші зазвичай працюють в послідовності від менших кешей до великих. Спочатку відбувається перевірка найменшого та найвидшого кешу першого рівня (L1), у разі попадання процесор продовжує роботу на високій швидкості. Якщо менший кеш дав промах, перевіряється наступний, трохи більший і повільніший кеш другого рівня (L2), і так далі, поки не буде запиту до основного ОЗП.

У міру того, як різниця затримок між ОЗП і найшвидшим кешем збільшується, в деяких процесорах збільшують кількість рівнів кешу (в деяких – до 3х рівнів на кристалі).

Організація пам’яті комп’ютера

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

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

До теперішнього часу створено безліч пристроїв, призначених для зберігання даних, заснованих на використанні різних фізичних ефектів. Універсального рішення не існує, у кожного є свої переваги і свої недоліки, тому комп’ютерні системи зазвичай оснащуються кількома видами систем зберігання, основні властивості яких обумовлюють їх використання і призначення.

У більшості сучасних ПК розглядається наступна ієрархія пам’яті:

  • Регістри процесора, організовані в регістровий файл – найбільш швидкий доступ (близько 1 такту), але розміром лише в декілька сотень або, рідко, тисяч байт.
  • Кеш процесора 1го рівня (L1) – час доступу порядку декількох тактів, розміром в десятки кілобайт.
  • Кеш процесора 2го рівня (L2) – більший час доступу (від 2 до 10 разів повільніше L1), близько півмегабайта або більше.
  • Кеш процесора 3го рівня (L3) – час доступу близько сотні тактів, розміром в декілька мегабайт (у масових процесорах використовується з недавнього часу).
  • ОЗУ системи – час доступу від сотень до, можливо, тисячі тактів, але величезні розміри в кілька гігабайт, аж до десятків. Час доступу до ОЗУ може змінюватись для різних його частин у випадку комплексів класу NUMA (з неоднорідним доступом в пам’ять).
  • Дискове сховище – багато мільйонів тактів, якщо дані не були закешовані або забуферизовані заздалегідь, розміри до декількох терабайт.
  • Третинна пам’ять – затримки до декількох секунд або хвилин, але практично необмежені обсяги (стрічкові бібліотеки).

Класифікація типів пам’яті:

  • Доступні операції з даними: тільки для читання, для читання/запису;
  • Енергозалежність: енергозалежна, енергонезалежна;
  • Метод доступу: послідовна, довільна;
  • Організація адресного доступу: реальна, віртуальна, оверлейна.