Архитектура arm. в борьбе за рынок пк
Содержание
- 1 ARM предыдущих поколений
- 2 Items found in this area
- 3 ARM Limited
- 4 Описание архитектур сравниваемых процессоров
- 5 Типы архитектур сравниваемых процессоров
- 6 Debugging tools
- 7 Первый спарринг
- 8 Cortex-A comparison (Armv8-A)
- 9 Разновидности процессоров ARM
- 10 Item acquisition
- 11 По закону «Архимеда»
- 12 ARM big.LITTLE
- 13 Загрузка с TrustZone
- 14 Особенности процессоров NVIDIA, TI, Qualcomm, Marvell
ARM предыдущих поколений
На мобильном рынке довольно распространены процессоры ARM11. Они построены на базе архитектуры ARMv6 и ее модификаций. Она характеризуется 8-9-стадийными конвейерами, поддержкой Jazelle, способствующей ускорению обработки Java-кода, потоковых инструкций SIMD, Thumb-2.
XScale, процессоры ARM10E, ARM9E основаны на архитектуре ARMv5 и ее модификациях. Максимальная длина конвейера составляет 6 стадий, Thumb, Jazelle DBX, Enhanced DSP. Чипы XScale имеют кэш второго уровня. Процессоры использовались в смартфонах середины нулевых, сегодня их можно найти в некоторых недорогих мобильниках.
Процессор DEC StrongARM SA-110
ARM9TDMI, ARM8, StrongARM – представители ARMv4, обладающей 3-5 стадийным конвейером, поддерживающей Thumb. ARMv4, например, можно было найти в первых классических iPod.
ARM6 и ARM7 относятся к ARMv3. В этой архитектуре впервые появился блок FPU, было реализована 32-битная адресация памяти, а не 26-битная, как в первых образцах архитектуры. Формально ARMv2 и ARMv1 были 32-битными чипами, но в действительности активно работали только с 26-битным адресным пространством. Кэш впервые появился в ARMv2.
Items found in this area
Item | |
---|---|
Bone HelmetBone HelmetArmour: 197Energy Shield: 38Requires Level 73, 76 Str, 76 IntMinions deal (15-20)% increased Damage | 73 |
Steel RingSteel RingRequires Level 80Adds (3-4) to (10-14) Physical Damage to Attacks | 80 |
Garb of the EphemeralGarb of the EphemeralSavant’s RobeQuality: +20%Energy Shield: (327-381)Movement Speed: -3%Requires Level 56, 600 Str, 752 Int<One to three random Synthesis implicit modifiers>(180-230)% increased Energy Shield+600 Strength and Intelligence RequirementGain a Divine Charge on Hit+10 to maximum Divine ChargesYou gain Divinity for 10 seconds on reaching maximum Divine ChargesLose all Divine Charges when you gain DivinityNearby Allies’ Action Speed cannot be modified to below base valueNearby Enemies cannot deal Critical StrikesExceptional men and women of strong will can flicker a spark,but something much greater is needed to unleash the wildfire of true divine flames. | 56 |
ARM Limited
Компания ARM, фактически, является монополистом в своей области, и подавляющее большинство современных смартфонов и планшетов на различных мобильных операционных системах используют процессоры именно на архитектуре ARM. Производители чипов лицензируют у ARM отдельные ядра, наборы инструкций и сопутствующие технологии, причём стоимость лицензий значительно разнится в зависимости от типа процессорных ядер (это могут быть как маломощные бюджетные решения, так и ультрасовременные четырёхъядерные и даже восьмиядерные чипы) и дополнительных компонентов. Годовой отчёт о прибыли ARM Limited за 2006 год показал выручку в 161 миллион долларов за лицензирование около 2,5 миллиардов процессоров (в 2011 году этот показатель составил уже 7,9 млрд), что означает примерно 0,067 долларов за один чип. Впрочем, по озвученной выше причине, это очень усреднённый показатель из-за разницы в ценах на различные лицензии, и с тех пор прибыль компании должна была вырасти многократно.
В настоящее время ARM-процессоры имеют очень широкое распространение. Чипы на этой архитектуре используются повсюду, вплоть до серверов, но чаще всего ARM можно встретить во встраиваемых и мобильных системах, начиная с контроллеров для жёстких дисков и заканчивая современными смартфонами, планшетами и прочими гаджетами.
Описание архитектур сравниваемых процессоров
x86-64 (ia32/x86/i386/amd64/EM64T/Intel/AMD)
x86 — CISC архитектура, созданная компанией Intel, о которой знают все. Современный вариант архитектуры пошёл со времён 32-битного процессора Intel 386. Крупные игроки: Intel, AMD и VIA (а ещё тут появился какой-то Zhaoxin).
ARM
ARM — RISC архитектура разрабатываемая компанией ARM Limited с середины 80х годов. Текущие версии 32-битных ARM ядер: armv6 (ARM1136J(F)-S), armv7 (Cortex A9, Cortex A15), armv8 (CortexA53, CortexA57, Cortex A72 и выше). Процессоры данной архитектуры широко используются в мобильных телефонах, планшетах, встраиваемых устройствах, одноплатных компьютерах. Процессоры энергоэффективные и достаточно производительные.
MIPS
MIPS — RISC система команд и микропроцессорных архитектур, разработанных компанией MIPS Computer Systems. Процессоры данной архитектуры как и ARM используются в мобильных телефонах, планшетах, встраиваемых устройствах и т.д. Но почему-то больших объёмов устройств по сравнению с ARM она не достигла. Но процессоры на архитеткуре MIPS часто можно встретить в роутерах, ну и в медиа проигрывателях, а ещё она использовалась в процессоре приставки Play Station 1. Текущие реализации: 32-битная MIPS32 и 64-битная MIPS64.
Типы архитектур сравниваемых процессоров
CISC
CISC (Complex instruction set computing) — архитектура, в которой небольшой набор регистров, команды различной длины, операции кодируются одной командой.
RISC
RISC (Reduced instruction set computing) — процессорная архитектура, в которой инструкции упрощены и имеют фиксированную длину (например, 32 бита), что позволяет повысить производительность. Имеет большое число регистров.
VLIW
VLIW (very long instruction word) — архитектура процессоров с очень большой инструкцией. Одна инструкция содержит в себе много простых инструкций, которые могут исполняться разными блоками процессора. Всё это сильно упрощает архитектуру, но усложняет компилятор. Неэффективный код может порождать не полностью заполненные инструкции, что сильно снижает производительность программы.
Debugging tools
JTAG and/or SWD debug interface host adapters (in alphabetical order):
- CMSIS-DAP by mbed.
- Crossconnect by Rowley Associates.
- DSTREAM by ARM Ltd.
- Green Hills Probe and SuperTrace Probe.
- iTAG by iSYSTEM.
- I-jet by IAR.
- Jaguar by Crossware.
- J-Link by SEGGER Supports JTAG and SWD. Supports ARM7, ARM9, ARM11, Cortex-A, Cortex-M, Cortex-R, Renesas RX, Microchip PIC32. Eclipse plug-in available. Supports GDB, RDI, Ozone debuggers.
- J-Trace by SEGGER. Supports JTAG, SWD, and ETM trace on Cortex-M.
- JTAGjet by Signum.
- LPC-LINK by Embedded Artists (for NXP) This is only embedded on NXP LPCXpresso development boards.
- LPC-LINK 2 by NXP. This device can be reconfigured to support 3 different protocols: J-Link by SEGGER, CMSIS-DAP by ARM, Redlink by Code Red.
- Multilink debug probes, Cyclone in-system programming/debugging interfaces, and a GDB Server plug-in for Eclipse-based ARM IDEs by PEmicro.
- OpenOCD open source GDB server supports a variety of JTAG probes OpenOCD Eclipse plug-in available in GNU ARM Eclipse Plug-ins.
- AK-OPENJTAG by Artekit (Open JTAG-compatible).
- AK-LINK by Artekit.
- RLink by Raisonance.
- ST-LINK/V2 by STMicroelectronics The ST-LINK/V2 debugger embedded on STM32 and development boards can be converted to SEGGER J-Link protocol.
- TRACE32 Debugger and ETM/ITM Trace by Lauterbach.
- ULINK by Keil.
Debugging tools and/or debugging plug-ins (in alphabetical order):
- GNU ARM Eclipse J-Link Debugging plug-in.
- GNU ARM Eclipse OpenOCD Debugging plug-in.
- Memfault Error Analysis for post mortem debugging
- Percepio Tracealyzer, RTOS trace visualizer (with Eclipse plugin).
- SEGGER SystemView, RTOS trace visualizer.
Первый спарринг
Главным соперником ARM со стороны х86 является Intel Atom, а теперь к ним можно прибавить еще и платформу AMD Brazos. Сравнение х86 и ARM провёл Вэн Смит, который создал тестовые пакеты OpenSourceMark, miniBench и один из соавторов SiSoftware Sandra. В «забеге» приняли участие Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050. Частоты чипов х86 были снижены, но у них все равно оставалось преимущество за счет более совершенной памяти.
Результаты оказались весьма интересными. ARM-чип оказался также быстр, как и конкуренты в целочисленных операциях, при этом расходуя меньше энергии. Здесь нет ничего удивительного. Изначально архитектура была и достаточно быстрой и экономичной. В операциях с плавающей точкой ARM уступила х86. Здесь сказался традиционно мощный блок FPU, имеющийся у чипов Intel и AMD. Напомним, что в ARM он появился относительно недавно. Задачи, ложащиеся на FPU, занимают в жизни современного пользователя значительно место – это игры, кодирование видео и аудио, другие потоковые операции. Конечно, тесты, проведенные Вэном Смитом, сегодня уже не так актуальны. ARM значительно усилила слабые стороны своей архитектуры в версиях Cortex-A9 и особенно Cortex-A15, которая, например, уже может выполнять инструкции безусловно, распараллеливая решение задач.
Cortex-A comparison (Armv8-A)
Feature | Cortex-A32 | Cortex-A34 | Cortex-A35 | Cortex-A53 | Cortex-A55 | Cortex-A57 | Cortex-A65 | Cortex-A65AE | Cortex-A72 | Cortex-A73 | Cortex-A75 | Cortex-A76 | Cortex-A76AE | Cortex-A77 | Cortex-A78 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Instruction set architecture and extensions | Armv8-A AArch32 only | Armv8-A AArch64 only | Armv8-A | Armv8-A | Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product | Armv8-A | Armv8-AAArch64 onlyArmv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only) | Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product | Armv8-A | Armv8-A | Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product | Armv8-AAArch64,AArch32 at EL0Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product | Armv8-A AArch64, AArch32 at EL0Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product |
Armv8-A AArch64 AArch32 at EL0Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product |
Armv8-A, Armv8.1 extensions, Armv8.2 extensions, Cryptography extensions, RAS extensions, Armv8.3 (LDAPR instructions only), Armv8.4 Dot Product |
Pipeline | In order | In order | In order | In order | In order | Out of order | Out of order | Out-of-order | Out of order | Out of order | Out-of-order | Out-of-order | Out-of-order | Out-of-order | Out-of-order |
Superscalar | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||
Neon and Floating Point Unit | Optional | Optional | Optional | Optional | Optional | Included | Included | Included | Included | Included | Included | Included | Included | Included | Included |
Floating Point Unit only | N/A | N/A | N/A | N/A | N/A | Included | Included | Included | Included | Included | Included | Included | Included | Included | Included |
Cryptography Unit | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional |
Physical Addressing (PA) | 40-bit | 40-bit | 40-bit | 40-bit | 40-bit | 40-bit | 44-bit | 44-bit | 44-bit | 40-bit | 44-bit | 40-bit | 40-bit | 40-bit | 40-bit |
Dual Core Lock-Step (DCLS) | No | No | No | No | No | No | No | Yes (in safety-mode) | No | No | No | No | Yes (in safety-mode) | No | No |
L1 I-Cache / D-Cache | 8KB-64KB | 8KB-64KB | 8K-64KB | 8KB-64KB | 16KB-64KB | 48KB/32KB | 16KB to 64KB | 16KB to 64KB | 48KB/32KB-64KB | 32KB/32KB-64KB | 64KB | 64KB | 64KB | 64KB | 64KB |
L2 Cache | 128KB-1MB | 128KB-1MB | 128KB-1MB | 128KB-2MB | 64KB-256KB | 512KB-2MB | 64KB to 256KB | 64KB to 256KB | 512KB-4MB | 256KB-8MB | 256KB to 512KB | 256KB to 512KB | 256KB to 512KB | 256KB to 512KB | 256KB to 512KB |
L3 Cache | NA | NA | NA | NA | Optional From 256KB to 4MB |
NA | Optional 512KB to 4MB | Optional 512KB to 4MB | NA | NA | Optional 512KB to 4MB | Optional 512KB to 4MB | Optional 512KB to 4MB | Optional 512KB to 4MB | Optional 512KB to 4MB |
ECC / Parity | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | L2 only | Yes | Yes | Yes | Yes | Yes |
LPAE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Bus Interfaces | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI | ACE or CHI |
ACP | Optional | Optional | Optional | Optional | Optional | Yes | Optional | Optional | Optional | Yes | Optional | Optional | Optional | Optional | Optional |
Peripheral Port | Optional | Optional | Optional | Optional | Optional | Optional | Optional | Optional | |||||||
Functional Safety Support | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ASIL D systematic | ||
Security | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone | TrustZone |
Interrupt Controller | External GICv3 |
External GICv3 |
External GICv3 |
External GICv3 |
External GICv4 |
External GICv3 |
External GICv4 |
External GICv4 |
External GICv3 |
External GICv3 |
External GICv4 |
External GICv4 |
External GICv4 |
External GICv4 |
External GICv4 |
Generic Timer | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A | Armv8-A |
Разновидности процессоров ARM
Архитектура | Коммерческое название | Распространенные виды | Запуск Linux |
ARMv4 | ARM7 | ARM7TDMI | Нецелесообразно |
ARMv5 | ARM9 | ARM926EJ-S | Да |
ARMv6 | ARM11 | ARM1176JZF-S | Да |
Cortex-M0 | Cortex-M0 | Нет | |
ARMv7 | Cortex-M | Cortex-M3 | Нецелесообразно |
Cortex-A | Cortex-A9 | Да | |
Cortex-R | Cortex-R4 | Да | |
ARMv8 | Cortex-A | Cortex-A53 | Да |
- Микроконтроллеры отличаются наличием на кристалле Flash-памяти и рабочего ОЗУ. Применяются для задач относительно малой автоматизации.
- Application Processor преимущественно пользуется внешней памятью — DDRAM и Flash. Мы их дальше будем называть просто — процессоры. Масштаб задач у них больше.
Item acquisition
This map can only drop from maps Tier 14 or higher. It may also be sold by Zana or offered as her .
Upgrade paths
This item can be acquired through the following upgrade paths or vendor recipes:
Amount | Ingredient | GeneralNotes | Type |
---|---|---|---|
8 | The Encroaching DarknessThe Encroaching Darkness8MapCorruptedNo matter where your dreams take you, Nightmare follows close behind. | random corrupted Map | Automatic |
8 | Otherworldly IncubatorOtherworldly IncubatorAdds an incubated Unique Map item to an equippable itemItem drops after killing %1% monstersUnique Map ItemRight click this item then left click an item to apply it. The Incubated item drops after killing a specific number of monsters. | random Map | Automatic |
4 | Jack in the BoxJack in the Box4ItemTurn the crank, close your eyes, and pray to the gods for a pleasant surprise. | random item | Automatic |
По закону «Архимеда»
Вернемся, однако, к истории Acorn. Если не считать нелепой ссоры с отцом ZX Spectrum, дела у компании в 1983 году шли неплохо: BBC Micro был продан полуторамиллиардным тиражом, и прибыль Acorn подскочила с трех тысяч фунтов до почти девяти миллионов. Билл Гейтс даже предлагал Хаузеру портировать MS-DOS и фирменный интерпретатор BASIC на BBC Micro, но Хаузер отказался.
Команда собственных разработчиков Acorn росла, а учредители подумывали о том, что пора перейти на новый виток развития: вместо компьютеров на основе восьмиразрядных чипов выпускать машины помощнее — с шестнадцатиразрядными ЦП.
В качестве варианта рассматривались процессоры National Semiconductor, но Роберт Уилсон посетил израильскую штаб-квартиру этой компании и остался недоволен: «У них там над чипом работает по сто человек, и все равно то и дело ошибки». Следом Уилсон отправился в американскую фирму Western Design Center, где увидел ровно противоположенную картину: процессоры разрабатывали небольшие группы инженеров, причем почти что в домашних условиях. Уилсон задался вопросом: а нужно ли покупать чужой процессор, если можно сделать собственный? Пример WDC показывал, что это не так сложно, как может показаться.
Идею в Acorn приняли благосклонно, и работа закипела. Уилсон придумал набор инструкций, а Фербер с небольшой командой разработал архитектуру будущего процессора. Именно тогда было принято судьбоносное решение использовать новомодный принцип RISC.
Схема одного из первых процессоров RISC
Первый в истории процессор ARM (Acorn RISC Machine) был выпущен в 1985 году, но компьютера на его основе так и не появилось. Его продавали в качестве дополнения к BBC Master — у этой продвинутой версии BBC Micro был специальный интерфейс для подключения сопроцессоров. В комплект также входил набор для разработки программ для RISC.
Следующую инкарнацию процессора — ARM 2 ждала куда более интересная судьба: он лег в основу уникальной машины под названием Archimedes, впервые поступившей в продажу в 1987 году. ARM 2 имел 32-разрядную архитектуру, а адресная шина поддерживала 26 разрядов, и таким образом могло быть адресовано до 64 Мб оперативной памяти (огромное пространство по тем временам и несерьезное по нынешним). Частота ARM 2 сейчас тоже вряд ли кого-нибудь поразит, да и 1985 году 8 МГц можно было считать средним показателем. Вышедший примерно в то же время Intel 80368 работал на вдвое большей частоте, но это не значит, что вдвое эффективнее. 386-й выдавал лишь на миллион операций больше — пять против четырех у ARM 2. Вот оно, преимущество RISC!
Archimedes стоил приличных денег — от 800 фунтов стерлингов (с учетом инфляции и в пересчете на сегодняшние рубли получилось бы не меньше ста тысяч), но пользовался определенной популярностью благодаря мощности, хорошему видеоадаптеру (режимы до 256 цветов) и восьмиканальной звуковой карте. По сути, это был этакий британский Macintosh — рабочая станция для издательств и телестудий.
ARM big.LITTLE
ARM big.LITTLE
В качестве высокотехнологичного решения проблемы энергопотребления современных процессоров ARM предлагает технологию big.LITTLE, суть которой заключается в объединении на одном чипе ядер различных типов, как правило, одинакового количества энергосберегающих и высокопроизводительных.
Существует три схемы работы ядер различного типа на одном чипе: big.LITTLE (миграция между кластерами), big.LITTLE IKS (миграция между ядрами) и big.LITTLE MP (гетерогенный мультипроцессинг).
big.LITTLE (миграция между кластерами)
Первым чипсетом на архитектуре ARM big.LITTLE стал процесссор Samsung Exynos 5 Octa. В нём используется оригинальная схема big.LITTLE “4+4”, что означает объединение в два кластера (отсюда и название схемы) на одном кристалле четырёх высокопроизводительных ядер Cortex-A15 для ресурсоёмких приложений и игр и четырёх энергосберегающих ядер Cortex-A7 для повседневной работы с большинством программ, причём в один момент времени могут работать ядра только одного типа. Переключение между группами ядер происходит практически мгновенно и незаметно для пользователя в полностью автоматическом режиме.
big.LITTLE IKS (миграция между ядрами)
Более сложная реализация архитектуры big.LITTLE — объединение нескольких реальных ядер (как правило двух) в одно виртуальное, управляемое ядром операционной системы, которое решает, какие задействовать ядра — энергоэффективные или производительные. Разумеется, виртуальных ядер также несколько — на иллюстрации приведен пример схемы IKS, где в каждом из четырёх виртуальных ядер находятся по одному ядру Cortex-A7 и Cortex-A15.
big.LITTLE MP (гетерогенный мультипроцессинг)
Схема big.LITTLE MP является наиболее “продвинутой” — в ней каждое ядро является независимым и может включаться ядром ОС по необходимости. Это значит, что если используются четыре ядра Cortex-A7 и столько же ядер Cortex-A15, в чипсете, построенном на архитектуре ARM big.LITTLE MP, смогут работать одновременно все 8 ядер, даже несмотря на то, что они разных типов. Одним из первых процессоров такого типа стал восьмиядерный чип компании Mediatek — MT6592, который может работать на тактовой частоте 2 ГГц, а также записывать и воспроизводить видео в разрешении UltraHD.
Будущее
По имеющейся на данный момент информации, в ближайшее время ARM совместно с другими компаниями планирует наладить выпуск big.LITTLE чипов следующего поколения, которые будут использовать новые ядра Cortex-A53 и Cortex-A57. Кроме того, бюджетные процессоры на ARM big.LITTLE собирается выпускать китайский производитель MediaTek, которые будут работать по схеме “2+2”, то есть, использовать две группы по два ядра.
Загрузка с TrustZone
TrustZoneгостевой
- включения и выключения ядер процессора (в ARMv8-A это происходит через PSCI — часть ARM Trusted Firmware, а в ARMv7 — по-разному для каждого производителя процессоров);
- хранения ключей, данных банковских карт и т.п.;
- хранения ключей полнодискового шифрования;
- операций с криптографией;
- отображения DRM-контента.
- стартует предзагрузчик в ROM. Он загружает ключи для проверки подписи TEE из ROM;
- предзагрузчик загружает в память образ TEE, проверяет подпись. Если проверка прошла успешно, запускается TEE;
- TEE настраивает режимы Secure и Non-Secure. Далее TEE загружает основной загрузчик ОС и переходит на него в режиме Non-Secure. Сам TEE остается в режиме Secure и ждет;
- загрузчик основной ОС загружает ОС как обычно;
- ОС вынуждена время от времени вызывать функции TEE для выполнения некоторых задач.
Особенности процессоров NVIDIA, TI, Qualcomm, Marvell
Лицензируя ARM направо и налево, разработчики усиливали позиции своей архитектуры за счет компетенций партнеров. Классическим примером в данном случае можно считать NVIDIA Tegra. Эта линейка систем-на-чипе имеет в основе архитектуру ARM, но у NVIDIA уже были свои весьма серьезные наработки в области трехмерной графики и системной логики.
NVIDIA Tegra
ARM дает своим лицензиарам широкие полномочия по переработке архитектуры. Соответственно инженеры NVIDIA получили возможность совместить в Tegra сильные стороны ARM (вычисления CPU) и собственной продукции – работа с трехмерной графикой и т.д. В результате Tegra обладают высочайшей для своего класса процессоров производительностью в 3D. Они на 25-30% быстрее PowerVR, используемых Samsung и Texas Instruments, а также почти в два раза превосходят Adreno, разработку Qualcomm.
Другие производители процессоров на базе архитектуры ARM усиливают те или иные дополнительные блоки, совершенствуют чипы, чтобы добиться более высоких частот и производительности.
Qualcomm Snapdragon
Например, Qualcomm не использует референсный дизайн ARM. Инженеры компании серьезно переработали его и назвали Scorpio – именно он лежит в основе чипов Snapdragon. Отчасти дизайн был переработан с целью освоения более тонких техпроцессов, чем предусмотрено стандартным IP ARM. В результате первые Snapdragon выпускались по нормам 45 нм, что обеспечило им более высокие частоты. А новое поколение этих процессоров с заявленными 2.5 ГГц и вовсе может стать самым быстрым среди аналогов на базе ARM Cortex-A9. Также Qualcomm применяет собственное графическое ядро Adreno, созданное на базе разработок, приобретенных у AMD. Так что в некотором роде Snapdragon и Tegra – враги на генетическом уровне.
Samsung Hummingbird
Samsung при создании Hummingbird также пошла по пути оптимизации архитектуры. Корейцы совместно с компанией Intrinsity изменили логику, благодаря чему сократилось количество инструкций необходимых для выполнения некоторых операций. Таким образом удалось выиграть 5-10% производительности. Кроме того, был добавлен динамический кэш второго уровня и мультимедийное расширение ARM NEON. В качестве графического модуля корейцы использовали PowerVR SGX540.
Процессор OMAP 4 производства Texas Instruments
Texas Instruments в новых сериях OMAP на базе архитектуры ARM Cortex-A добавила специальный модуль IVA, ответственный за ускорение обработки изображений. Он позволяет быстрее обрабатывать данные, поступающие с сенсора встроенной камере. Кроме того, он подключен к ISP и содействует ускорению видео. В OMAP также применяется графика PowerVR.
Apple A4
Apple A4 обладает большим кэшем в 512 Кбайт, в нем используется графика PowerVR, а само ARM-ядро построено на базе варианта архитектуры, переработанного Samsung.
Apple A5
Двухъядерный Apple A5, дебютировавший в iPad 2 в начале 2011 года, базируется на архитектуре ARM Cortex-A9, также, как и в предыдущий раз оптимизированной Samsung. По сравнению с А4 новый чип обладает удвоенным объемом кэш-памяти второго уровня — его увеличили до 1 Мбайт. Процессор содержит двухканальный контроллер оперативной памяти, обладает улучшенным видеоблоком. В результате его производительность в некоторых задачах вдвое выше, чем у Apple A4.
Marvell предлагает чипы на базе собственной архитектуры Sheeva, которая при ближайшем рассмотрении оказывается гибридом XScale, некогда купленной у Intel, и ARM. Данные чипы обладают большим по сравнению с аналогами объемом кэш-памяти, снабжены специальным мультимедийным модулем.
Сейчас лицензиаты ARM производят только чипы на базе архитектуры ARM Cortex-A9. При этом, хотя она и позволяет создавать четырехъядерные варианты, NVIDIA, Apple, Texas Instruments и другие пока ограничиваются моделями с одним или двумя ядрами. Кроме того, чипы работают на частоте до 1.5 ГГц. Cortex-A9 позволяет делать двухгигагерцовые процессоры, но опять же производители не стремятся быстро наращивать частоты — ведь пока рынку хватит и двухъядерников на 1.5 ГГц.
По-настоящему многоядерными должны стать процессоры на базе Cortex-A15, но они если и анонсированы, то на бумаге. Их появления в кремнии стоит ожидать в следующем году.
Современные процессоры лицензиатов ARM на базе Cortex-A9: