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

 

Центральний процесор

Усі комп’ютери, планшети, ноутбуки та смартфони використовують процесор для здійснення обчислень. Цей центральний процесор отримує інструкції, виконує їх і видає результат.  Центральний процесор (The Core Processing Unit, CPU) часто називають мозком комп’ютера. Це один із кількох блоків обробки, але, мабуть, найважливіший. Центральний процесор виконує обчислення, дії та запускає програми. У старих комп’ютерах ці функції були розподілені між кількома елементами, але вдосконалення у виробництві та дизайні напівпровідникових пристроїв, призвело до того, що весь ЦП помістили на одному чіпі.

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

  1. вибірка (fetch),
  2. декодування (decode),
  3. виконання (execute).

Fetch (вибірка)
Як і можна очікувати, вибірка передбачає отримання інструкції. Інструкція представлена ​​у вигляді ряду чисел і передається в ЦП з оперативної пам'яті. Кожна інструкція є лише маленькою частиною будь-якої операції, тому ЦП повинен знати, яка інструкція наступна. Поточна адреса команди зберігається програмним лічильником (ПЛ). Потім ПЛ і інструкції розміщуються у реєстрі інструкцій (РІ). Згодом довжина ПЛ збільшується для посилання на адресу наступної інструкції.

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

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

 

Багатоядерні процесори

Ранні комп’ютери мали лише одне ядро ​​процесора, тому центральний процесор обмежувався обробкою одного набору інструкцій за раз. Ось чому ці старі комп’ютери були відносно повільними, а обробка даних забирала багато часу. З роками виробники довели одноядерні процесори до межі своїх можливостей, тому вони почали шукати інші способи покращити можливості процесора. Ось чому зараз ми маємо багатоядерні процесори, а такі фрази про технічні характеристики смартфонів, як  4-ядерний, чи 8-дерний, вже не кого не засмучують.

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

 

 

З іншого боку, розробники процесорів знайшли спосіб ще більше підвищити продуктивність, змусивши одноядерний процесор діяти так, ніби він має два ядра. Це відоме як гіперпотоковість і поширене в більшості процесорів Intel Core.

 

Мобільні процесори

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

Щоб досягти цього переходу до більшої портативності, пристрої використовують спеціально розроблені мобільні процесори. Ці процесори оптимізовані для енергоспоживання та ефективності, щоб максимально подовжити час роботи акумулятора автономного пристрою. На жаль, багато виробників назвали свої мобільні та звичайні процесори однаковими назвами, але з різними номерами діапазонів і суфіксами. Хоча стандарту немає, зазвичай мобільні процесори позначаються «U» для наднизького енергоспоживання, «HQ» для високопродуктивної графіки та «HK» для продуктивної графіки та розгону. Тож літерою «K» позначаються моделі для розгону, а «T» – для оптимізованого енергоспоживання.

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

 

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

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

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

 

Що таке процесор ARM?

 

 

Щоб подолати ці проблеми, виробники вирішили замінити архітектуру CISC (Complex Instruction Set Computing) ЦП настільних комп’ютерів на щось, що краще підходить для мобільних комп’ютерів. Процесори ARM є ідеальним вибором, оскільки вони використовують спрощений, менш енергоємний метод обробки. Це представлено в назві ARM, яка означає Advanced RISC Machine. Де RISC (Reduced Instruction Set Computing) розшифровується як скорочений набір інструкцій і діє на основі RISC-команд, які вже містять готовий набір найпростіших елементів. Це зменшує процесорну гнучкість, але в рази збільшується швидкість обробки даних, і відповідно зменшуються енерговитрати такого процесора. Як не дивно, RISC сам по собі не є технологією. Натомість це ідеологія дизайну. Процесори ARM розроблені таким чином, щоб бути максимально ефективними, приймаючи лише інструкції, які можуть бути виконані за один цикл пам’яті. Загальним процесом для ЦП, як і до цього,  є отримання, декодування та виконання інструкцій.

Говорячи про те, що таке чіпи ARM, слід відзначити такий момент, як комплексність пропонованих сучасних мобільних систем. ARM це не просто один процесор. Як правило, до нього входять: контролер оперативної пам'яті, графічний прискорювач, відеодекодер, аудіоокодек та опціонально модулі бездротового зв'язку. Така система називається однокристальною (SoC - system-on-a-chip). Іншими словами, ARM – це ціла система на одному чіпі.

Може здатися, що процесори із скороченим набором інструкцій RISC, а отже, і пристрої ARM, будуть кроком назад. Доречі, RISC спочатку був розроблений у 1980-х роках, але суттєво не вплинув на ринок. Однак компанія ARM Holdings, що розробляє процесори ARM, розробила стислий формат інструкцій.

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

Початкові розробки RISC використовували 32-розрядну архітектуру, але з 2011 року ARM Holdings включила підтримку 64-розрядної архітектури. Це було б неможливо досягти лише за допомогою RISC, але це стало можливо завдяки архітектурі набору інструкцій компанії.

Технічна конструкція процесорів ARM також спрощує виробництво та фізичний дизайн. Знижена складність блоків RISC означає, що їм потрібно менше транзисторів на мікросхемі. Як правило, більша кількість транзисторів означає підвищені потреби в електроенергії та вищу виробничу, а отже, роздрібну вартість. З цієї причини процесори ARM зазвичай дешевші, ніж традиційні настільні процесори.

 

 

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

ARM Holdings сама не виробляє жодних процесорів. Замість цього компанія створює технологію, розробляє стандарт інструкцій, а потім ліцензує ці розробки іншим виробникам. Ось чому існує так багато варіантів процесорів ARM і чому кожен з них працює по-різному.

Компанії, які розробили чіпи по технології Arm Holdings, включають: дочірню компанію Amazon.com Annapurna Labs, Analog Devices, Apple, AppliedMicro (тепер: MACOM Technology Solutions), Atmel, Broadcom, Cavium, Cypress Semiconductor, Freescale Semiconductor (тепер NXP Semiconductors), Huawei, Intel, Maxim Integrated, Nvidia, NXP, Qualcomm, Renesas, Samsung Electronics, ST Microelectronics, Texas Instruments і Xilinx. Сьогодні ліцензії на архітектуру ARM надано багатьом компаніям, зокрема Apple, Cirrus Logic, Intel, LG, Microsoft, NEC, Nintendo, Nvidia, Sony, Samsung, та багатьом іншим.

 

 

Виробники апаратного забезпечення платять ARM Holdings за основну технологію, але потім адаптують її до своїх потреб, вимог до програмного забезпечення та дизайну апаратного забезпечення. Як результат, багато продуктів містять процесори ARM. Однак їх важко порівнювати один з одним, як це було б з процесорами Intel.

Ще більше ускладнює ситуацію те, що програмне забезпечення має бути розроблено спеціально для апаратного забезпечення ARM і тому не сумісне з іншими архітектурами. Операційні відмінності між процесорами ARM і настільними комп’ютерами є одним із головних факторів, що робить ваш телефон повільнішим, ніж настільний комп’ютер. Проте, оскільки вони ефективні та недорогі, ви вже можете знайти процесори ARM навіть на деяких ноутбуках (наприклад, Samsung Galaxy Book S і Lenovo Yoga C630 13). Ці ноутбуки можуть похвалитися часом автономної роботи вище середнього, новим ультрапортативним дизайном і підтримкою підключення LTE, і, хоча продуктивність процесора не така хороша, як у їх аналогів Intel x86, він все ж таки був досить потужним для основних завдань, таких як перегляд веб-сторінок, потокове відео та обробка текстів.

 

На сьогоднішній день ARM налічують вже кілька процесорних поколінь:

Перше покоління ARM9, що можуть досягати тактової частоти 400 МГц. Ці чіпи морально застаріли, але вони все ще мають попит, наприклад, у бездротових маршрутизаторах та терміналах оплати. Набір простих команд такого чіпа дозволяє легко запускати багато Java-додатків.

Процесори ARM11 працюють з повнішим набором простих команд, і тактовою частотою до 1 ГГц. Завдяки невисокому енергоспоживанню та низької собівартості чіпи ARM11 досі застосовуються у смартфонах початкового рівня.

Сучасні чіпи архітектури ARM, що належать до сімейства ARMv7, мають флагманських представників, що вже досягли позначки у вісім ядер та тактової частоти понад 2 ГГц. Розроблені безпосередньо ARM Limited процесорні ядра належать до лінійки Cortex і більшість виробників однокристальних систем використовують їх без істотних змін. Починаючи з ARMv7, було визначено 3 профілю:

A (application) — для пристроїв, які потребують високої продуктивності (смартфони, планшети);
R (real time) - для додатків, що працюють у реальному часі;
M (microcontroller) — для мікроконтролерів і недорогих пристроїв, що вбудовуються, наприклад популярний зараз мікроконтролер Raspberry Pi PICO має саме процесор Arm Cortex M0+.

ARM Cortex A8. Історично першим процесорним ядром сімейства ARMv7 було Cortex-A8, яке лягло в основу таких відомих SoC свого часу як Apple A4 (iPhone 4 та iPad) та Samsung Hummingbird (Samsung Galaxy S та Galaxy Tab). Воно демонструє приблизно вдвічі більш високу продуктивність порівняно з попереднім ARM11, і, на жаль, вище енергоспоживання, що робить цей чіп нині вкрай непопулярним.

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

ARM Cortex-A5 та Cortex-A7. При проектуванні процесорних ядер Cortex-A5 і Cortex-A7 компанія ARM Limited мала одну і ту ж мету - досягти компромісу між мінімальним енергоспоживанням ARM11 і прийнятною швидкодією Cortex-A8. Не забули і про можливість об'єднання ядер по два-чотири - багатоядерні чіпи Cortex-A5 і Cortex-A7 (Qualcomm MSM8625 і MTK 6589).

ARM Cortex-A15 Процесорні ядра Cortex-A15 стали логічним продовженням Cortex-A9 - як результат, чіпам архітектури ARM вперше в історії вдалося приблизно порівнятися за швидкодією з Intel Atom, а це вже великий успіх. Адже не дарма компанія Canonical в системних вимогах до версії ОС Ubuntu Touch з повноцінною багатозадачністю вказала двоядерний процесор ARM Cortex-A15 або аналогічний Intel Atom.

 

Налагодження
Всі сучасні процесори ARM мають апаратні засоби налагодження, тому що без них відладчики ПЗ не змогли б виконати базові операції типу зупинки, відступу, установки контрольних точок після перезавантаження.

Архітектура ARMv7 визначає базові засоби налагодження на архітектурному рівні. До них відносяться точки зупинки, точки перегляду та виконання команд у режимі налагодження. Такі засоби були доступні з модулем налагодження EmbeddedICE. Підтримуються обидва режими – зупинки та огляду. Реальний транспортний механізм, який використовується для доступу до засобів налагодження, не є специфікованим архітектурно, але реалізація, як правило, включає підтримку JTAG.

 

Відлагоджувальні плати

Ще одним елементом дослідження ARM процесорів є такі засоби розробки, як Відлагоджувальні плати, що можна купити в інтернет-магазині evo.net.ua з доставкою саме до вас.  Вони пропонують зручний спосіб створення додатків та проектів на різних процесорах та мають всі необхідні фізичні інтерфейси, що підтримуються саме цим процесором. Налагодження зазвичай проводиться зі вбудованого до плати елемента для відладки. В наявності є великий асортимент відлагоджувальних плат від Nordic Semiconductor,

 

 

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

 

 

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

 

 

Майбутнє обчислювальної техніки на технології Arm

У наші дні будь-які сумніви в тому, що Arm може конкурувати з Intel x86 з точки зору продуктивності, поступово розвіюються завдяки Apple. Його процесори M1, M1 Pro, M1 Max та M1 Ultra забезпечують кращу швидкість у відповідних класах ЦП, навіть коли йдеться про настільні комп'ютери Mac Studio.

Тож, якщо вам потрібний потужний ноутбук чи ПК з Windows, вам краще уникати Arm та використовувати процесор Intel x86 від AMD або Intel.

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