- ARM архитектурата е RISC дизайн с ниска консумация на енергия, използван във всичко - от микроконтролери до пълни компютри.
- Успехът му се основава на прост набор от инструкции, лицензиране от трети страни и енергийна ефективност, далеч превъзхождаща x86.
- ARM се използва в мобилни телефони, таблети, Chromebook, Mac компютри с Apple Silicon и множество операционни системи като Android, iOS, Windows и Linux.
- RISC-V се очертава като отворена алтернатива на ARM, но все още изостава значително по отношение на поддръжката от производителите и софтуерната екосистема.

La ARM архитектурата е преминала от захранване на прости джаджи до захранване на лаптопи, настолни компютри и сървъри.Ако някога сте използвали телефон с Android, iPhone, Raspberry Pi или скорошен Mac, вече сте работили с процесори, базирани на този дизайн, дори и да не сте били наясно с него.
В следващите редове ще разгледаме това спокойно Какво точно представлява ARM архитектурата в компютрите, как работи, откъде идва и защо променя пейзажа в сравнение с x86 архитектурата на Intel и AMD?Ще обсъдим и връзката му с RISC-V, ролята му в Windows, macOS и Linux, както и защо големите производители са се насочили стремглаво към този тип процесори.
Какво е ARM архитектура и на какво е базирана?
Когато говорим за ARM, имаме предвид архитектура на набор от инструкции RISC (Reduced Instruction Set Computing), предназначен за процесори с ниска консумация на енергия, но все по-мощни, използвани от малки микроконтролери до персонални компютри и центрове за данни.
За разлика от CISC архитектурите като x86/x86-64 (вижте Разлики между процесорите Intel и AMD), ARM избира по-опростен, по-компактен и високоефективен набор от инструкцииТова позволява процесори с по-малко транзистори, по-малка вътрешна сложност и много по-ниска консумация на енергия, което е ключово за ултралеките мобилни и лаптопи.
Важен момент е, че ARM Holdings (сега Arm Ltd.) не произвежда процесориКомпанията проектира архитектурата и ядрата, след което лицензира тази технология на трети страни (Apple, Qualcomm, Samsung и др.), които я интегрират в собствените си SoCs, като добавят графични процесори, контролери на паметта, модеми и други персонализирани блокове.
На практика това означава, че Съществуват стотици варианти на ARM процесори с доста различно поведение и производителност един от друг.Въпреки че всички те споделят една и съща база от инструкции, което позволява разработването на съвместими операционни системи и приложения.
Кратка история на ARM: от Acorn до пазарно господство

Историята на ARM започва през 1983 г., когато Acorn Computers решава да разработи нов процесор въз основа на опита с MOS 6502Чипът, използван в много от персоналните им компютри по това време. Проектът е ръководен от Софи Уилсън и Стив Фърбър.
Тяхната цел беше да създадат усъвършенстван, но вътрешно много прост процесор, без микрокод и с ясна RISC философияПрез 1985 г. те завършват проектирането на първия прототип, ARM1, а през 1986 г. пристига ARM2, първата комерсиална версия, използвана в компютри като Acorn Archimedes.
ARM2 имаше 32-битова шина за данни, 26-битово адресно пространство и 16 32-битови регистъра с общо предназначениеЕдин от тези регистри е бил използван като програмен брояч (PC), като някои битове са били разпределени за флагове за състояние. Технически, той е бил изключително прост: около 30 000 транзистора и никаква кеш памет.
Тази простота се претвори в нелепо ниска консумация на енергия за времето и производителност, превъзхождаща тази на Intel 286ARM3, неговият наследник, добави малък 4 KB унифициран кеш, който значително подобри повтарящия се достъп до паметта.
В края на 80-те, Apple започва сътрудничество с Acorn по нови версии на ARM ядротоЗа да се избегнат опасения от други производители, през 1990 г. е създадена независимата компания Advanced RISC Machines (ARM), отговорна за проектирането и лицензирането на бъдещи поколения процесори.
От този етап се появи ARM6, представен през 1991 г., използван от Apple в Newton (ARM 610) и от Acorn в RiscPC. Ядрото остана изненадващо просто: само 35 000 транзистораТова позволи интегрирането му с различни периферни устройства и формирането на персонализирани системи.
Мащабният скок на ARM на потребителския пазар идва с... ARM7TDMI, който се използва в милиони мобилни телефони, преносими конзоли и вградени системиМеждувременно Digital (DEC) лицензира дизайна и създава StrongARM, способен да работи на 233 MHz, консумирайки около 1 W, което е важен етап в ефективността.
С течение на времето тази технология премина в ръцете на Intel, която я интегрира в своите решения от семейството Intel i960 и XScale, докато други гиганти като Freescale, IBM, Texas Instruments, Nintendo, Philips, Samsung, STMicroelectronics или Atmel Те също така лицензират ARM архитектурата.
Днес Приблизително три четвърти от 32-битовите процесори в света включват ARM ядраГоворим за масивно присъствие: твърди дискове, рутери, играчки, автомобили, телевизори, мобилни телефони, таблети, лаптопи и все по-често персонални компютри и сървъри.
Основни семейства ARM процесори
През десетилетията ARM е пуснала различни семейства и версии на своята архитектура (ARMv1, v2, v3 и др.), всяка от които с Подобрения в производителността, капацитет на паметта, кеш памети, поддръжка на плаваща запетая и допълнителни функции.
Първите поколения, като например ARM1, ARM2 и ARM3 (ARMv1 и ARMv2)Те се фокусираха върху предоставянето на много прост 32-битов процесор за компютри като BBC Micro с ARM копроцесор, Acorn Archimedes или RiscPC. Тези чипове нямаха пълен MMU (в някои случаи използваха външен MEMC) и имаха малко или никакъв кеш.
Със семейството ARM6 (ARMv3) Направен е скок към пълно 32-битово адресиране и са включени ядра като ARM600 или ARM610, някои с вграден кеш и специфични шини за копроцесори с плаваща запетая.
Те пристигат по-късно ARM7 и ARM7TDMI (ARMv3 и ARMv4T)Тези ядра поддържат 16-битовия набор от инструкции Thumb, разполагат с 3-степенен конвейер и се предлагат във варианти с кеш, MMU или MPU. Те формират основата на популярни продукти като Game Boy Advance, Nintendo DS, Apple iPod и вградени системи от NXP, Atmel и Psion.
Междувременно семейството се появява StrongARM (ARMv4), резултат от сътрудничеството с DEC, което се фокусира върху постигането висок MIPS на ват за PDA и малки компютри (Apple Newton 2×00, iPAQ, Zaurus и др.), с относително големи за времето L1 кеш памети и пълна MMU.
По-късно, сериалът ARM9, ARM9E и ARM10E (ARMv4T и ARMv5) Те въвеждат по-дълбоки конвейери, подобрения в DSP инструкциите, по-широка поддръжка на Thumb, възможности на Jazelle за изпълнение на Java байткод в хардуер и по-големи, конфигурируеми кеш памети. Тези ядра се използват в мобилни телефони, цифрови фотоапарати, мрежови устройства, преносими конзоли и безброй други системи върху чипове (SoC).
Важен клон е XScale (ARMv5TE), придобита от Intel, предназначена за приложни процесори и мрежови процесори с високи честоти, щедри L1/L2 кеш памети и в някои случаи RAID ускорители или много специфични функции за I/O.
Con ARM11 (ARMv6) Той въвежда конвейер с до 9 етапа, SIMD поддръжка, Thumb-2, Jazelle DBX, подобрения в DSP и технологии за сигурност, като TrustZone. Тези ядра са били използвани в добре познати устройства като първия iPhone, iPod touch от ранно поколение, някои телефони Nokia Nseries, игрови конзоли и първия Raspberry Pi.
Великата модерна революция идва със семейството Кораособено в профилите на приложения ARMv7-A и по-късните версии. Ядра като Cortex-A5, Cortex-A8, Cortex-A9 и техните многоядрени варианти (MPCore) се превръщат в де факто стандарт в смартфони, таблети, смарт телевизори и леки лаптопи.
Тези ядра включват суперскаларно изпълнение, дълбоки конвейери, NEON (SIMD), VFP за плаваща запетая, усъвършенстван Thumb-2 и TrustZoneТе присъстват в SoC-та като серията OMAP на Texas Instruments, Exynos на Samsung, Tegra на Nvidia, Snapdragon на Qualcomm или Apple A4/A8 и техните наследници.
В областта на вградените устройства и микроконтролерите се открояват следните семейства: Cortex-R (профил в реално време) и Cortex-M (профил на микроконтролер)с варианти като Cortex-R4, Cortex-M0, M1, M3 и M4, предназначени за критични системи, индустриален контрол, автомобилна и потребителска електроника, където предвидимостта на времето за реакция и ефективността са от първостепенно значение.
Набор от инструкции на ARM: RISC, условни оператори и режими на палец
Наборът от инструкции на ARM е проектиран от самото начало като Чист RISC: прости инструкции с фиксиран размер, които в много случаи могат да бъдат изпълнени в рамките на един тактов цикълКлючът е компилаторът да генерира ефективни последователности с малко, силно атомарни инструкции.
Една много специфична характеристика е, че в класическите 32-битови режими, Всяка инструкция включва код на условие в най-високите си 4 бита.Това позволява на практика всяка инструкция да бъде условна (изпълнява се само ако са изпълнени определени флагове), намалявайки нуждата от преходи и предотвратявайки образуването на мехурчета в малки блокове код с чести условия.
Освен това, ARM позволява комбиниране на аритметични/логически операции с изместване и завъртане на регистри в една инструкцияНапример, нещо еквивалентно в C на „a += (j << 2);“, може да се изрази като единична ARM инструкция, която добавя изместена стойност към регистъра, спестявайки инструкции и достъп до паметта.
Друго предимство е това Наборът от адреси поддържа режими преди и след инкрементиране, относително адресиране и други гъвкави форми.Тези характеристики са рядкост в други архитектури, също считани за RISC. Всичко това допринася за намаляване на общия брой инструкции и подобряване на производителността на цикъл.
Класическата архитектура определя 16 видими за програмиста регистъра, 32 бита (R0-R15)По принцип те са симетрични, въпреки че R15 се използва като програмен брояч (PC), R14 обикновено действа като регистър на връзките (адрес за връщане на подпрограми или изключения), а R13 се използва като указател на стека.
ARM има два основни режима на изпълнение: ARM режим (32-битови инструкции) и Thumb режим (16-битови инструкции)ARM режимът предлага повече мощност (по-пълен набор от инструкции), но генерира по-голям код; Thumb режимът намалява наполовина размера на всяка инструкция, подобрявайки плътността на кода и в много случаи производителността на системи с по-тесни шини на паметта.
Палецът е основно подмножество от най-използваните инструкции в ARM игратаПървият процесор, който го включва, е ARM7TDMI и оттогава на практика всички следващи семейства (ARM9, XScale, Cortex и др.) включват поддръжка за Thumb или неговата еволюция Thumb-2.
Към това се добавя Jazelle DBX, технология, която позволява изпълнението на Java байткод директно на хардуер на определени ядра (тези, чието име включва "J", като например ARM926EJ-S). Тази функционалност имаше за цел да ускори виртуалните машини на Java на устройства с ограничени ресурси.
Ключови предимства на ARM архитектурата
Популярността на ARM не е случайна: тя отговаря на комбинация от енергийна ефективност, гъвкавост на дизайна, цена и производителност, достатъчна за повечето приложения.
От една страна, тъй като е RISC архитектура с относително малък набор от инструкции и без тежък микрокод, ARM ядрата могат да бъдат произведени с много по-малко транзистори, отколкото еквивалентен x86 дизайнПо-малко транзистори означават по-малка консумация на енергия, по-малко топлина и по-малки, по-евтини чипове.
Това позволява ARM процесорите предлагат много добра производителност с минимална консумация на енергияТова е от решаващо значение за мобилни телефони, таблети, ултралеки лаптопи, IoT устройства и вградени системи, захранвани от батерии или с термични ограничения.
Моделът на лицензиране също работи в негова полза: ARM продава интелектуалната собственост на своите ядра на всички видове производителикоито могат да ги персонализират, да ги обединяват с други блокове (графичен процесор, модем, AI ускорители) и да създават SoC, напълно адаптирани към техните продукти.
Това води до Огромна екосистема от производители, с непрекъснати подобрения в производителността и ефективността, и много широка гама от продукти за почти всяка ниша: от ултраевтини микроконтролери до 64-битови процесори за сървъри.
В обобщение, ARM предлага Ниска консумация на енергия, ниска цена, добра плътност на кода, зрели инструменти и повече от приемлива производителност, която непрекъснато се подобрява.Не винаги достига суровите нива на производителност на x86 във висок клас геймърски настолни компютри, но в повечето сценарии не е необходимо.
32-битов и 64-битов ARM: последна еволюция
Първите ARM дизайни бяха 32-битови и в продължение на десетилетия Те доминираха на пазара на вградени и мобилни устройстваВъпреки това, от 2011 г. насам, Arm въведе архитектури с вградена 64-битова поддръжка (ARMv8 и следващи версии), отваряйки вратата за много по-тежки натоварвания.
Преминаването към 64 бита в ARM не е дошло за сметка на изоставяне на ефективността на RISC, а по-скоро... Това е постигнато благодарение на по-сложния дизайн на съвременния набор от инструкции.Това улеснява много по-големи адреси на паметта и аритметични операции с разширена прецизност, нещо, което вече е от съществено значение за мобилните телефони от висок клас и, разбира се, за компютрите и сървърите.
Намалената сложност в сравнение с x86 остава предимство: Дори в 64-битовите си версии, ARM процесорите поддържат по-малко транзистори за същата задача.Това се изразява в по-ниски производствени разходи и по-ниско потребление.
В областта на персоналните компютри това се материализира в процесори като Apple Silicon (M1, M2, M3…) и новите Snapdragon X Elite от Qualcomm, които комбинират високопроизводителни ядра с високоефективни ядра и интегрирана графика, способни да се конкурират с много x86 лаптопи при изпълнение на общи задачи.
Използване на ARM в компютри, лаптопи и други устройства
Традиционно, ARM процесорите бяха запазени за смартфони, таблети, смарт телевизори, рутери, преносими конзоли и джаджи където ниската консумация на енергия беше ключова и не беше необходима пълна мощност на настолния компютър.
Но това се променя бързо. От една страна, Устройства като Raspberry Pi демонстрираха, че ARM система може да функционира перфектно като настолен микрокомпютър или мини компютър за офис приложения с подходяща операционна система (обикновено Linux) за офис задачи, сърфиране и леко програмиране.
Виждали сме и ние по-мощни ARM-базирани продукти като NVIDIA Tegra X1, използвана от Nvidia в техния Shield TV и най-вече от Nintendo в Switch, където балансът между графична производителност и консумация на енергия е от основно значение.
В сферата на усъвършенстваните таблети, Apple, със своите чипове от серията A (а по-късно и от серията M), показа, че добре проектираният ARM SoC може да осигури впечатляваща производителност. в творчески приложения, офис работа и тежка многозадачност, без да е необходимо агресивно осветяване на вентилаторите.
Microsoft, от своя страна, интегрира ARM процесори в устройства като Surface Pro X и други варианти на семейството Surfaceзалагайки на леки, тихи устройства с вградена LTE свързаност, които могат да се конкурират с традиционните лаптопи за мобилна работа.
Паралелно, Google силно промотира ARM в своята екосистема от Chromebook.Chrome OS, базирана на Chromium и Android, е добре пригодена за тази архитектура, предлагайки достъпни, леки лаптопи с отличен живот на батерията. Много производители на Chromebook избират ARM SoCs именно за да увеличат максимално живота на батерията и да намалят разходите.
ARM и операционни системи: Windows, macOS, Linux и други
Въпреки че много хора свързват ARM единствено с мобилни телефони, Повечето основни операционни системи вече имат зряла поддръжка за тази архитектура., както във вградени варианти, така и в настолни и сървърни среди.
В мобилен терен, Android и iOS работят почти изключително на ARM от години.Възползвайки се от предимствата си за ефективност, Apple, с прехода към Apple Silicon, внедри тази философия и в своите настолни и преносими компютри, изоставяйки процесорите Intel x86.
На Mac компютри с ARM процесори, Apple предлага Rosetta 2, система за превод, която позволява изпълнението на приложения, компилирани за Intel с изненадващо добра производителност. Това значително улесни прехода, до степен, че днес почти всички съответни приложения вече имат оригинална версия за ARM.
В екосистемата на Microsoft, Windows е експериментирал с няколко подхода към ARM.Windows CE и Windows Embedded Compact поддържаха ARMv5, v6 и v7 в продължение на години в света на вградените системи. По-късно се появи Windows 8 RT за ARM таблети, като първия Surface, със скромни резултати поради софтуерни ограничения.
Windows 10 и Windows 11 отиват още една крачка напред, предлагайки ARM версии с емулация на x86 приложенияВ Windows 11 емулацията и производителността са се подобрили значително, въпреки че все още има проблеми със съвместимостта с някои класически настолни софтуерни програми.
Междувременно, Linux и UNIX-подобните системи приеха ARM доста ентусиазирано.Дистрибуции като Debian, Ubuntu, Arch Linux, Kali, Manjaro, Gentoo и Oracle Linux предлагат официални образи за различни ARM SoCs, включително Raspberry Pi и други платки.
От страна на BSD, FreeBSD, NetBSD и OpenBSD поддържат множество ARM платформиИсторически системи като RISC iX са работили на машини Acorn, базирани на ARM2/ARM3. Освен това, Solaris и други варианти на UNIX също са имали имплементации за тази архитектура.
В областта на операционните системи в реално време и вградените операционни системи, ARM присъства в Android (в случай на вградени устройства), Windows CE/Embedded, .NET Micro Framework, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus, QNX, RTEMS, ThreadX, VxWorks, uTasker, MQX и много другиСписъкът е огромен, защото почти всяка съвременна RTOS предлага поддръжка за поне един от ARM профилите.
Intel, ARM и вдъхновението зад архитектурата big.LITTLE
Класически процесори за настолни компютри и лаптопи, особено тези от Intel и AMD, Те използват CISC x86/x86-64 архитектури с по-големи и по-сложни ядра от години.захранвани от мощни енергийни източници и специфични охладителни системи.
За разлика от това, ARM дизайните за мобилни телефони и вградени SoCs отдавна са избрали хетерогенни архитектури от типа big.LITTLE, комбинирайки мощни и ефективни ядра в един и същ чип, за да адаптира консумацията на енергия според натоварването.
Тази идея директно вдъхнови Intel за новото поколение хибридни процесори Core, които комбинират високопроизводителни ядра (P-ядра) с високоефективни ядра (E-ядра) в един пакет. Въпреки че не използват ARM, те възпроизвеждат подхода, въведен от ARM, за да подобрят ефективността и цялостната производителност.
Що се отнася до пряката конкуренция, Доскоро ARM беше ограничен до настолните компютри, предназначени за много специфични проекти или екосистемата на Apple.Въпреки това, със Snapdragon X Elite и други подобни проекти, Qualcomm и други производители възнамеряват да оспорят x86 в масовите лаптопи.
Най-голямата пречка за ARM в традиционните персонални компютри остава... Съвместимост на софтуера и, в случай на игри, зависимостта от графични процесори и драйвери, оптимизирани за x86Докато AMD и Intel запазват господството си в производството на специализирани графични карти и високопроизводителни процесори, светът на игрите ще остане силно обвързан с x86.
ARM срещу RISC-V: Две различни RISC архитектури
През последните години то придоби голяма видимост RISC-V, друга RISC архитектура, която се конкурира директно с ARM на много фронтовеПодобно на ARM, RISC-V е насочен към устройства с ниска консумация на енергия, но се различава в един ключов аспект: това е отворена и безлицензионна ISA.
докато Използването на x86-64 или ARM означава плащане на авторски права на Intel, AMD или Arm Ltd.Всяка компания или физическо лице може да проектира, произвежда и продава RISC-V процесори, без да плаща лицензионни възнаграждения за набора от инструкции. Това прави RISC-V особено привлекателен за държави и производители, търсещи технологична независимост и намаляване на разходите.
Към днешна дата, по отношение на чистите възможности, Както ARM, така и RISC-V имат 64-битови разширения и поддръжка за пълни операционни системи.ARM вече е добре установен в Android, iOS, macOS и Linux, докато RISC-V започва да получава официална подкрепа в Android (Google го рекламира като архитектура от най-високо ниво) и в Linux дистрибуции като Ubuntu или Fedora.
В областта на поддръжката на производителя, ARM продължава да има огромно предимство.Почти всички смартфони, таблети и интелигентни устройства, предлагани днес, използват ARM, докато повечето настоящи RISC-V чипове все още са насочени към разработка, микроконтролери и много специфични продукти.
Да, RISC-V очевидно печели по отношение на цена и свобода на дизайнаТъй като няма разходи за лицензиране, е по-лесно да се създават ултраевтини или силно персонализирани продукти, което обяснява интереса на страни като Китай или Русия към приемането на тази архитектура в собствените си проекти.
Ако трябваше да изберем „победител“ точно сега, ARM остава превъзходен по отношение на екосистемата, наличния софтуер и зрялосттаRISC-V обаче е многообещаващ конкурент за бъдещето, особено в областта на нискобюджетните устройства, интернет на нещата, рутерите, персоналните компютри от начално ниво и бюджетните смартфони.
Гледайки голямата картина, ARM архитектурата се е утвърдила като един от крайъгълните камъни на съвременните изчисления.Той захранва всичко - от мобилните телефони, които използваме всеки ден, до ултралеки лаптопи, Chromebook-и, Mac-ове с Apple Silicon и огромен брой вградени устройства. Неговата RISC философия, комбинацията от енергийна ефективност и повече от достатъчна производителност, моделът на лицензиране и широката поддръжка на операционни системи обясняват защо той доминира в толкова много сегменти, дори когато нови предложения като RISC-V започват да се появяват като отворена алтернатива в света на процесорите.