Розділ 6. Повстанці з Кембриджа (ARM)
Маленьке містечко в Англії
У 1978 році, в той самий рік, коли Стівен Морс у Каліфорнії квапливо проектував 8086, в англійському університетському містечку Кембридж двоє друзів засновували компанію. Вона називалася Acorn Computers. Її засновники — Герман Гаузер, австрійський фізик, і Кріс Каррі, колишній співробітник британської компанії Sinclair, відомої своїми калькуляторами.
Acorn робила маленькі мікрокомп’ютери для аматорів — на основі готових чіпів від Mostek і MOS Technology. Бізнес був скромним, доки в 1981 році не сталося диво.
BBC (так-так, та сама Британська телерадіомовна корпорація) запускала освітню програму “BBC Computer Literacy Project” — мали показувати глядачам, як працювати з комп’ютером. Для цього потрібен був “офіційний BBC-комп’ютер”, який вони могли б рекомендувати глядачам купувати. BBC проводила тендер. Acorn виграла.
Так народився BBC Micro — комп’ютер, який стояв у кожній британській школі 1980-х. Через нього пройшло ціле покоління британських програмістів. Він зробив Acorn національним героєм.
І саме він поставив перед компанією питання, з якого почалося все: що далі?
Проблема, з якою зустрілися всі
BBC Micro був на 8-бітному процесорі 6502 (той самий, що в Apple II і Commodore 64). До середини 80-х стало очевидно: 8 біт замало. Майбутнє за 16 і 32 бітами. Acorn потрібен був 32-бітний процесор для наступного покоління своїх комп’ютерів.
Інженери Acorn — Софі Вілсон (архітектор системи інструкцій) і Стів Ферберн (мікроархітектура, апаратна реалізація) — поглянули на ринок. Кандидати: - Intel 80286 (1982): 16 біт, доступний. - Motorola 68000 (1979): 16/32 біти, потужний, дорогий. - National Semiconductor 32016: 32 біт, новий, повний помилок.
Після кількох тижнів аналізу інженери прийшли до Гаузера з рекомендацією: жоден із цих процесорів не годиться для того, що ми хочемо зробити. Усі вони занадто складні, занадто повільні, занадто дорогі.
Гаузер запитав: чи могли б ви зробити свій?
Це — поворотний момент усієї історії. Ферберн і Вілсон були скромними інженерами в маленькій британській компанії. Вони не були випускниками MIT чи Stanford. Не мали мільярдів доларів, які мали Intel і Motorola. Гаузер запитав у них щось абсолютно нерозумне.
Вони відповіли: так. І додали умову — час: 18 місяців. Команда: дванадцять людей.
Як спроектували перший RISC-процесор у світі
Ферберн і Вілсон вирушили у Каліфорнію, до Western Design Center — маленької компанії, яка робила удосконалені версії 6502. Хотіли подивитися, як виглядає процесорна лабораторія “професіонала”. Те, що побачили, їх здивувало: невеликий гараж, кілька інженерів, прості інструменти. Якщо вони можуть — то й ми можемо, подумали англійці.
Тоді ж, у 1980-х, в академічному світі зародилася ідея під назвою RISC (Reduced Instruction Set Computer). Її просували Девід Паттерсон у Берклі і Джон Геннессі у Стенфорді. Суть: замість процесора з сотнями складних інструкцій (CISC, як 8086 чи 68000), зробити процесор із жменькою простих інструкцій, кожна з яких виконується за один такт. Простіший декодер, простіший конвеєр, набагато швидший процесор у середньому.
Ферберн і Вілсон ухопилися за цю ідею. Перший процесор Acorn, ARM1 (Acorn RISC Machine), розроблявся з нуля з відкритими підручниками з RISC на столах.
Перший прототип запустили в квітні 1985-го. І тут трапилася знаменита подія, яка стала легендою серед інженерів.
Процесор, що працював без живлення
Інженери підключили перший ARM1 до тестового стенду. Подали живлення. Чіп запрацював. Тести пройшли. Все добре.
А потім один з інженерів, Стів Ферберн, помітив дещо дивне. Чіп працював навіть коли він від’єднав живлення.
Виявилося, що в материнській платі тестового стенду була помилка: дріт живлення процесора не був підключений правильно. Процесор отримував живлення тільки через паразитні струми на сигнальних лініях. Він працював на потужності в кілька мікроватів.
Ця історія поширилася по всій компанії. Стало очевидно: вони випадково зробили процесор з феноменально низьким енергоспоживанням. Не тому, що ставили це за мету. А тому, що архітектура RISC, без накопиченого баласту складних інструкцій, природно споживала мало енергії.
Тоді цього не оцінили. Усім потрібна була швидкість, не низьке енергоспоживання. Хто міг знати, що через 25 років саме ця властивість зробить ARM найпоширенішим процесором у світі?
Від Acorn до Apple
ARM1 і його наступник ARM2 використовувалися в комп’ютерах Acorn Archimedes — потужних, але нішевих машинах, які жодного разу не вийшли поза Британію. Acorn повільно занепадала.
Але в 1990 році сталася друга поворотна подія. Apple вже три роки шукала процесор для свого нового продукту — кишенькового комп’ютера під назвою Newton MessagePad (проект стартував 1987-го). Стів Сакоман, перший керівник проекту, пробував кілька варіантів — нічого не підходило за енергоспоживанням. Тоді колега запропонував поглянути на ARM.
Apple зацікавилась настільки, що запропонувала: вийдіть з Acorn в окрему компанію, яка ліцензує дизайн процесорів іншим. Acorn погодилась. Так у 1990 році народилася ARM Limited — спільне підприємство Acorn, Apple і VLSI Technology.
Це була унікальна модель. ARM сама не виробляла чіпів. Вона продавала ліцензії на свої дизайни. Будь-яка компанія могла купити ліцензію, додати свої модифікації і виготовити чіп на власному заводі (або замовити в TSMC).
Це було геніально. Замість того, щоб конкурувати з Intel самотужки, ARM зробила своїм союзником усю індустрію. Texas Instruments, Qualcomm, Samsung, Nvidia, Apple — всі стали ліцензіатами ARM.
Newton, до речі, провалився. Apple не використала його належним чином. Сакоман пішов з компанії ще 1990-го, проект кілька разів переходив з рук в руки і помер аж у 1998-му, коли Стів Джобс після повернення закрив усю лінійку. Але насіння було посіяне. ARM-чіпи продовжували вдосконалюватись.
Революція, якої майже ніхто не помітив
У 1990-х ARM пробивався в кишенькову електроніку. Texas Instruments використовував ARM у мобільних телефонах Nokia. Nokia 6110 (1997) — один з перших масових телефонів на ARM. Потім PalmPilot. Потім ще десятки моделей. До 2000-го ARM був у переважній більшості телефонів світу.
Але це залишалося нішевим успіхом. Мобільні телефони — це не настільні комп’ютери. Intel домінувала у “справжньому” обчисленні: десктопи, ноутбуки, сервери. ARM сприймався як “чіп для іграшок”.
А потім, 9 січня 2007 року, на сцену вийшов Стів Джобс і показав iPhone.
iPhone працював на ARM-процесорі (Samsung S5L8900, на основі ARM11). Першим масовим смартфоном — революцією — Apple обрала ARM, а не Intel. І не тому, що Intel не пропонували. Apple розглядала Intel XScale — ARM-варіант Intel, успадкований від StrongARM. Але переговори 2005-го зайшли в глухий кут: Пол Отелліні, тодішній CEO Intel, не повірив у обсяги, відмовився знижувати ціну, а в 2006-му Intel загалом продала XScale компанії Marvell. Apple лишилася з ARM напряму.
Слідом за iPhone пішли всі. Android-телефони — на ARM. Планшети — на ARM. Розумні годинники — на ARM. Розумні колонки, IoT-пристрої, дрони, автомобільна електроніка — все на ARM.
До 2020 року виробництво ARM-чіпів становило близько 22 мільярдів на рік. Для порівняння: x86 — менше пів мільярда. Тобто ARM-чіпів виробляли в 50 разів більше, ніж x86.
Але Intel і AMD продовжували міцно тримати десктопи, ноутбуки, сервери. ARM було важко пробитись у “справжній” обчислювальний світ. Не тому що технічно не міг — а тому що там панувала Windows і весь софт писали для x86.
Аж до 2020-го.
Apple Silicon: ARM штурмує фортецю
10 листопада 2020 року Apple оголосила перші Mac на власних ARM-процесорах: MacBook Air, MacBook Pro 13”, Mac mini на чіпі Apple M1.
Перші огляди вийшли як грім серед ясного неба. M1: - На 50% швидший за порівнянний Intel-чіп у MacBook Air. - Вдвічі менше енергії на ту саму роботу. - Холодний у Mac mini без вентилятора. - 18 годин роботи від батареї в новому MacBook Air.
Це були цифри, які здавалися неможливими у світі x86. Apple показала, що ARM не просто “достатньо хороший” для мобільних — він кращий за x86 в багатьох задачах. Особливо коли мова йде про продуктивність на ват енергії.
Як Apple це зробила? Кілька причин:
- Глибока вертикальна інтеграція. Apple проектує і чіп, і ОС, і компілятор разом. Може оптимізувати на всіх рівнях.
- Спеціалізовані прискорювачі. M1 має окремі блоки для відео, машинного навчання, шифрування. Ці завдання не виконуються на загальному CPU.
- Архітектура ARM сама по собі ефективніша. Менше декодера, менше старого баласту, простіший конвеєр.
- Об’єднана пам’ять (unified memory). CPU і GPU діляться однією пам’яттю — не треба копіювати дані з RAM у відеопам’ять і назад.
Це був той самий маленький інженерний секрет, який Acorn випадково винайшли в 1985-му: проста архітектура природно ефективна. 35 років знадобилось індустрії, щоб це визнати.
Що далі: серверна революція
Якщо ARM перемагає на десктопі, наступний фронт — сервери. Тут ситуація ще цікавіша.
Amazon Graviton. У 2018 році Amazon Web Services запустила свій перший ARM-процесор для хмарних серверів, Graviton. У 2019 — Graviton 2 (на 64 ядра). У 2021 — Graviton 3. У 2023 — Graviton 4 (96 ядер).
Реклама була простою: ті самі задачі, що на Intel/AMD Xeon, виконуються на 20-40% дешевше на Graviton. Економія колосальна. До 2023-го значна частина AWS-послуг працювала на Graviton.
Ampere Altra. Стартап Ampere Computing зробив 80-ядерні і 128-ядерні ARM-сервери для хмарних провайдерів і корпоративних клієнтів. Microsoft Azure їх купує. Oracle Cloud — теж.
NVIDIA Grace. NVIDIA, відома відеокартами, у 2021-му оголосила про свій ARM-процесор Grace, оптимізований для роботи з GPU в AI-центрах. Тепер у датацентрі для AI-навчання можна мати ARM-CPU поряд із NVIDIA-GPU, і вони поводяться як єдине ціле.
Microsoft. У листопаді 2023-го на конференції Ignite Microsoft анонсувала свій власний ARM-чіп Cobalt 100 для хмарних сервісів (загальний реліз — жовтень 2024-го). Якщо найбільший в світі виробник Windows інвестує в ARM-сервери — це сигнал.
Сервери — найбільший прибутковий ринок процесорів у світі. І ARM його захоплює. Повільно, без шуму, але неухильно.
RISC-V: відкрите повстання
Поки ARM завойовує сервери, на сцену виходить ще один гравець. RISC-V — відкрита (open-source) архітектура процесора, без роялті, без ліцензій.
Народилась RISC-V у 2010 році в Берклі, у тій самій лабораторії Девіда Паттерсона, який придумав сам термін RISC у 1980-х. Студенти Паттерсона вирішили: ARM крута, але вона закрита. Платиш ARM Holdings ліцензію, щоб робити чіпи. Чи можемо ми зробити повністю відкриту архітектуру, яку будь-хто може взяти, модифікувати, виробляти безкоштовно?
Так і зробили. RISC-V (вимовляється “ріск-файв”) — це специфікація, яка лежить у відкритому доступі. Будь-який інженер може спроектувати свій процесор за цією специфікацією. Будь-який завод може його виготовити. Без ліцензії, без роялті, без юридичних застережень.
Хто інвестує в RISC-V? - Китай — інвестує мільярди. Геополітична причина: США можуть заборонити продаж ARM-чіпів Китаю (як зараз обмежують NVIDIA). Китайцям потрібна архітектура без американського контролю. Уже є китайські RISC-V чіпи від Alibaba, Sipeed, T-Head. - Європа — Європейський Союз вкладається в RISC-V як шлях до “цифрового суверенітету”. European Processor Initiative (EPI) робить серверні чіпи на RISC-V. - Індія — теж активно розвиває RISC-V як національну стратегію. - Стартапи — Tenstorrent (керівник — той самий Джим Келлер, легендарний архітектор з Apple, AMD і Intel), SiFive, Esperanto.
До 2024 року вже є RISC-V чіпи у продакшні: всередині деяких NVIDIA-відеокарт як допоміжні процесори, у багатьох IoT-пристроях, у деяких смарт-картках і шифрувальному обладнанні.
Прогноз? Десь у середині 2030-х RISC-V може стати третьою великою архітектурою поряд з x86 і ARM. Можливо, найбільшою, якщо тенденція триватиме.
Що з цього винести
- ARM народився у маленькій британській компанії як побічний проект 12 інженерів. Усе сучасне залізо — їхні нащадки.
- Простота перемогла складність. RISC-архітектура, яка здавалася академічною грою у 1980-х, у 2020-х витісняє CISC-архітектуру з усіх ринків.
- Енергоспоживання — найбільша перевага ARM. Те, що було дрібницею у 1985-му, стало вирішальним у 2007-му (мобільні), 2020-му (Apple Silicon) і 2024-му (хмарні сервери).
- ARM-модель — продавати ліцензії, а не чіпи — створила найбільшу процесорну екосистему в історії. Десятки виробників, мільярди чіпів на рік.
- RISC-V — наступний крок. Повністю відкрита архітектура без власника. Геополітично вирішить долю обчислювальної техніки на наступні 30 років.
- x86 — вже не король. Він королем був з 1980-х до 2010-х. Це чималий період, але і йому скоро кінець.
У наступному розділі повертаємось до пам’яті — точніше, до тієї брехні плоскої пам’яті, на якій тримається вся ілюзія програмування. Подивимось, як насправді працює віртуальна пам’ять, що таке NUMA, чому Spectre існує, і чому твоя програма може бути в тисячі разів повільнішою за теоретичний максимум, навіть не виходячи за межі одного ядра.