How to set up smartphones and PCs. Informational portal
  • home
  • Windows phone
  • New ARM processors are ready for AI applications. How is ARM architecture different from x86

New ARM processors are ready for AI applications. How is ARM architecture different from x86

ARM processors - what they are and "what they eat with." The appearance on the market of productive mobile processors has in many ways become a real revolutionary breakthrough. It can be said that for the first time the x86 architecture has a significant competitor, which, although at the first stages it occupied only a neighboring niche, today is already beginning to seriously squeeze the position of the long-lived computer industry.

But what is the difference? What is ARM architecture and how is it different from x86? The latter, used in Intel and AMD processors, uses a set of CISC commands. Processing based on them is very functional, opens up space for programmers and hardware developers, but requires a considerable amount of energy. The essence of CISC, roughly speaking, is that each incoming command is decoded into the simplest element and only then processed.

In ARM, things are different. It operates on the basis of RISC commands, which already contain a ready-made set of simple elements. This reduces the processor flexibility, but the data processing speed increases several times, and, accordingly, reduces the power consumption of such a processor.

Hence, it turns out that x86 is a universal architecture suitable for solving many problems, while ARM requires finer sharpening of iron and the possibilities of such an architecture are somewhat more limited. However, ARM's capabilities are getting bigger and bigger. Already, such processors are suitable for standard office work, media content playback, and Internet browsing.

ARM is developing rapidly, helped by the fact that dozens of competitive brands are working on this technology through franchising, while only two corporations are working on the x86 architecture, whose representatives almost directly say that the segment is stagnant ... and You can't say the same about ARM.

Speaking about what ARM chips are, one should note such a moment as the complexity of the proposed modern mobile systems. ARM is not just one processor. As a rule, it includes: a RAM controller, a graphics accelerator, a video decoder, an audio codec, and optional wireless communication modules. Such a system is called single-chip. In other words, ARM is a chip on a chip.

To date, ARM has several processor generations:

ARM9. ARM9 chips can reach clock speeds of 400 MHz. These chips are obsolete, but still in demand. For example, in wireless routers and payment terminals. The set of simple commands of such a chip makes it easy to run many Java applications.

ARM11. ARM11 processors boast a more complete set of simple commands that expand their functionality and high clock speeds (up to 1 GHz). Due to low power consumption and low cost, ARM11 chips are still used in entry-level smartphones.

ARMv7. Modern ARM architecture chips belong to the ARMv7 family, the flagship representatives of which have already reached the mark of eight cores and a clock speed of over 2 GHz. The processor cores developed directly by ARM Limited belong to the Cortex line and most of the manufacturers of single-chip systems use them without significant changes.

ARM Cortex-A8. Historically, the first processor core of the ARMv7 family was Cortex-A8, which formed the basis of such well-known SoCs of its time as the Apple A4 (iPhone 4 and iPad) and Samsung Hummingbird (Samsung Galaxy S and Galaxy Tab). It demonstrates about twice the performance compared to the previous ARM11, and alas, higher power consumption, which makes this chip now extremely unpopular.

ARM Cortex-A9. Following Cortex-A8, ARM Limited introduced a new generation of chips - Cortex-A9, which is now the most common and occupies a middle price niche. The performance of the Cortex-A9 cores has increased by about three times compared to the Cortex-A8, and it has also become possible to combine them two or even four on a single chip.

ARM Cortex-A5 and Cortex-A7. When designing the Cortex-A5 and Cortex-A7 processor cores, ARM Limited pursued the same goal - to achieve a compromise between the minimum power consumption of ARM11 and the acceptable speed of the Cortex-A8. We didn’t forget about the possibility of combining two or four cores - multi-core Cortex-A5 and Cortex-A7 chips are gradually appearing on sale (Qualcomm MSM8625 and MTK 6589).

ARM Cortex-A15. The Cortex-A15 processor cores became a logical continuation of the Cortex-A9 - as a result, for the first time in history, ARM architecture chips managed to roughly match the performance of Intel Atom, and this is already a great success. It’s not for nothing that Canonical has specified a dual-core ARM Cortex-A15 processor or a similar Intel Atom in the system requirements for the version of Ubuntu Touch OS with full multitasking.

chips ARM a great future awaits. The number of commands, the frequency of operation, the number of cores are growing rapidly, and power consumption continues to remain low. In the future, ARM chips will be suitable for full-format multitasking, currently only found on x86 systems. However, even with the conditions of the current development vector, it is too early to say that the consumer electronics segment will completely switch to ARM chips. And the point here, first of all, is the price. The cost of mobile chips is growing exponentially, while x86 continues to get cheaper. It is the price factor, along with the difference in functionality, which will be somewhat overcome, and there is a completely understandable forecast that the developed ARM systems will not soon win an unconditional victory in the race for their consumer ...

The name ARM has certainly been heard by everyone interested in mobile technology. Many understand this abbreviation as a type of processor for smartphones and tablets, while others specify that this is not a processor at all, but its architecture. And certainly few people delved into the history of the emergence of ARM. In this article, we will try to understand all these nuances and tell you why modern gadgets need ARM processors.

A brief excursion into history

When asked for "ARM", Wikipedia gives two meanings for this abbreviation: Acorn RISC Machine and Advanced RISC Machines. Let's start in order. In the 1980s, Acorn Computers was founded in the UK, which began its activities by creating personal computers. At that time, Acorn was also called the "British Apple". A decisive period for the company came in the late 1980s, when its chief engineer took advantage of the decision of two local university graduates to come up with a new kind of reduced instruction set (RISC) processor architecture. This is how the first computer based on the Acorn Risc Machine processor appeared. Success was not long in coming. In 1990, the British entered into an agreement with Apple and soon began work on a new version of the chipset. As a result, the development team formed a company called Advanced RISC Machines, similar to the processor. Chips with the new architecture also became known as the Advanced Risc Machine, or ARM for short.

Since 1998, Advanced Risc Machine has become known as ARM Limited. At the moment, the company is not engaged in the production and sale of its own processors. The main and only activity of ARM Limited is the development of technologies and the sale of licenses to various companies to use the ARM architecture. Some manufacturers buy a license for off-the-shelf cores, others a so-called "architectural license" to produce processors with their own cores. These companies include Apple, Samsung, Qualcomm, nVidia, HiSilicon and others. According to some reports, ARM Limited earns $0.067 on each such processor. This figure is average and also outdated. Every year there are more and more cores in chipsets, and new multi-core processors outperform obsolete samples at cost.

Technical features of ARM chips

There are two types of modern processor architectures: CISC(Complex Instruction Set Computing) and RISC(Reduced Instruction Set Computing). The CISC architecture refers to the x86 processor family (Intel and AMD), while the RISC architecture refers to the ARM family. The main formal difference between RISC and CISC and, accordingly, x86 and ARM is the reduced instruction set used in RISC processors. So, for example, each instruction in the CISC architecture is transformed into several RISC instructions. In addition, RISC processors use fewer transistors and thus consume less power.


The main priority of ARM processors is the ratio of performance to power consumption. ARM has a higher performance-per-watt ratio than x86. You can get the power you need from 24 x86 cores or from hundreds of small, low power ARM cores. Of course, even the most powerful processor on the ARM architecture will never be comparable in power to the Intel Core i7. But the same Intel Core i7 needs an active cooling system and will never fit in a phone case. Here ARM is out of competition. On the one hand, it looks like an attractive option for building a supercomputer using a million ARM processors instead of a thousand x86 processors. On the other hand, the two architectures cannot be unambiguously compared. In some ways, the advantage will be for ARM, and in some ways - for x86.

However, calling ARM architecture chips processors is not entirely correct. In addition to several processor cores, they also include other components. The most appropriate term would be "single-chip system" or "system on a chip" (SoC). Modern single-chip systems for mobile devices include a RAM controller, a graphics accelerator, a video decoder, an audio codec, and wireless communication modules. As mentioned earlier, individual chipset components can be developed by third-party manufacturers. The most striking example of this is the graphics cores, which are being developed in addition to ARM Limited (Mali graphics), by Qualcomm (Adreno), NVIDIA (GeForce ULP) and Imagination Technologies (PowerVR).


In practice, it looks like this. Most budget Android mobile devices come with chipsets manufactured by the company. MediaTek, which almost invariably follows the instructions of ARM Limited and completes them with Cortex-A cores and Mali graphics (less often PowerVR).


A-brands for their flagship devices often use chipsets manufactured by Qualcomm. By the way, the latest Qualcomm Snapdragon chips (,) are equipped with fully custom Kryo cores for the central processor and Adreno for the graphics accelerator.


Concerning Apple, then for the iPhone and iPad, the company uses its own A-series chips with PowerVR graphics accelerator, which are produced by third-party companies. So, a 64-bit quad-core A10 Fusion processor and a PowerVR GT7600 graphics processor are installed.


The architecture of processors of the family is considered relevant at the time of writing the article. ARMv8. It was the first to use a 64-bit instruction set and support more than 4 GB of RAM. The ARMv8 architecture is backward compatible with 32-bit applications. The most efficient and most powerful processor core developed by ARM Limited so far is Cortex-A73, and most SoC manufacturers use it unchanged.


Cortex-A73 delivers 30% faster performance than Cortex-A72 and supports the full set of ARMv8 architectures. The maximum frequency of the processor core is 2.8 GHz.

Scope of use of ARM

The greatest glory of ARM brought the development of mobile devices. In anticipation of the mass production of smartphones and other portable equipment, energy-efficient processors came in handy. The culmination of the development of ARM Limited was 2007, when the British company renewed its partnership with Apple, and some time later, the Cupertino company introduced its first iPhone with an ARM architecture processor. Subsequently, the single-chip system based on the ARM architecture has become an invariable component of almost all smartphones on the market.


ARM Limited's portfolio is not limited to the Cortex-A family of cores. In fact, under the Cortex brand, there are three series of processor cores, which are denoted by the letters A, R, M. Core family Cortex-A, as we already know, is the most powerful. They are mainly used in smartphones, tablets, set-top boxes, satellite receivers, automotive systems, robotics. Processor cores Cortex-R are optimized to perform high-performance tasks in real time, so such chips are found in medical equipment, autonomous security systems, and storage media. The main task of the family Cortex-M is simplicity and low cost. Technically, these are the weakest processor cores with the lowest power consumption. Processors based on such cores are used almost everywhere where a device requires minimal power and low cost: sensors, controllers, alarms, displays, smart watches and other equipment.

In general, most of today's devices, from small to large, requiring a CPU use ARM chips. A huge plus is the fact that the ARM architecture is supported by many operating systems based on Linux (including Android and Chrome OS), iOS, and Windows (Windows Phone).

Competition in the market and prospects for the future

Admittedly, at the moment ARM has no serious competitors. And by and large, this is due to the fact that ARM Limited made the right choice at a certain time. But at the very beginning of its journey, the company produced processors for PCs and even tried to compete with Intel. After ARM Limited changed the direction of its activities, it was also not easy for her. Then the software monopolist represented by Microsoft, having entered into a partnership agreement with Intel, left no chance for other manufacturers, including ARM Limited - Windows simply did not work on systems with ARM processors. No matter how paradoxical it may sound, but now the situation may change dramatically, and Windows is already ready to support processors based on this architecture.


In the wake of the success of ARM chips, Intel made an attempt to create a competitive processor and entered the market with a chip Intel Atom. To do this, it took her much more time than ARM Limited. The chipset entered production in 2011, but, as they say, the train has already left. The Intel Atom is an x86 CISC processor. The company's engineers have achieved lower power consumption than ARM, but currently a variety of mobile software has poor adaptation to the x86 architecture.


Last year, Intel abandoned several key decisions in the further development of mobile systems. Actually a company for mobile devices as they have become unprofitable. The only major manufacturer that bundled their smartphones with Intel Atom chipsets was ASUS. However, Intel Atom still received massive use in netbooks, nettops and other portable devices.


ARM Limited's position in the market is unique. At the moment, almost all manufacturers use its developments. At the same time, the company does not have its own factories. This does not prevent her from standing on a par with Intel and AMD. The history of ARM includes another curious fact. It is possible that now ARM technology could belong to Apple, which was at the heart of the formation of ARM Limited. Ironically, in 1998, the Cupertinos, going through times of crisis, sold their stake. Now Apple is forced, along with other companies, to buy a license for the ARM processors used in the iPhone and iPad.

Now ARM processors are capable of performing serious tasks. In the short term, they will be used in servers, in particular, Facebook and PayPal data centers already have such solutions. In the era of the Internet of Things (IoT) and smart home devices, ARM chips have become even more in demand. So the most interesting thing for ARM is yet to come.

They thought that since a group of students managed to create a completely competitive processor, then it would not be difficult for their engineers. A trip to the Western Design Center in Phoenix showed engineers Steve Ferber and Sophie Wilson that they wouldn't need incredible resources to carry out this plan.

Wilson set about developing the instruction set by building a simulation of the new processor on a BBC Micro computer. This convinced the Acorn engineers that they were on the right track. But still, before going further, they needed more resources. It's time for Wilson to approach Acorn CEO Herman Hauser and explain what's going on. After he gave the go-ahead, a small team gathered to implement the Wilson model in hardware.

Acorn RISC Machine: ARM2

The official Acorn RISC Machine project started in October 1983. VLSI Technology ( English) was chosen as the silicon supplier because it already supplied Acorn with ROM chips and some custom integrated circuits. Development was led by Wilson and Ferber. Their main goal was to achieve low latency interrupt handling like the MOS Technology 6502. The memory access architecture taken from the 6502 allowed developers to achieve good performance without the costly implementation of the DMA module. The first processor was produced by VLSI on April 26, 1985 - then it first started working and was named ARM1. The first mass-produced processors, called ARM2, became available the following year.

Its first use was as a second processor at BBC Micro, where it was used in the development of simulation software, which completed the computer's support chips, as well as speeding up the CAD software used in the development of ARM2. Wilson optimized the ARM instruction set to run BBC BASIC. The original goal of an all-ARM computer was achieved in 1987 with the release of Acorn Archimedes.

The atmosphere around the ARM project was so secretive that when Olivetti was in talks to buy a majority stake in Acorn in 1985, they didn't talk about the development of the project until the end of the negotiations. In 1992, Acorn once again won the Queen's Award for ARM.

ARM2 had a 32-bit data bus, a 26-bit address space, and 16 32-bit registers. The program code had to lie in the first 64 megabytes of memory, and the program counter was limited to 26 bits, since the top 4 and bottom 2 bits of a 32-bit register served as flags. ARM2 became perhaps the simplest of the popular 32-bit processors in the world, with only 30,000 transistors (for comparison, the Motorola 68000 processor, made 6 years earlier, had about 70,000 transistors). Much of this simplicity is due to the lack of microcode (which in the 68000 takes up between one-quarter and one-third of the die area), and the lack of cache, as was the case with many processors of the time. This simplicity led to low power costs, while ARM was much more productive than the Intel 80286. Its successor, the ARM3 processor, already had a 4 kb cache, which further increased performance.

Apple, DEC, Intel: ARM6, StrongARM, XScale

Modern smartphones, PDAs, and other portable devices mostly use the ARMv5 version of the kernel. XScale and ARM926 (ARMv5TE) processors are now more plentiful in high-end devices than, for example, StrongARM processors and ARM9TDMI and ARM7TDMI-based ARMv4 processors, but less sophisticated devices may use older versions with lower license fees. ARMv6 processors are head and shoulders above standard ARMv5 processors. Cortex-A is designed specifically for smartphones that used to use ARM9 and ARM11. Cortex-R is designed for real-time applications, while Cortex-M is for microcontrollers.

Impact of ARM technology on the market

By the end of 2012, new models of ARM processors from Apple and Samsung had reached the performance of low-end Intel processors for laptops. In particular, the Samsung Nexus 10 tablet scored a performance rating of 2348, while the budget Intel Core Duo processor in the Apple MacAir only scores 1982.

Individual companies are announcing the development of efficient servers based on clusters of ARM processors. However, in 2012, sales of servers on ARM are vanishingly small (< 1% рынка серверов) .

ARM processors

Kernel family Architecture version Core Functions Cache (I/D)/MMU Typical MIPS @ MHz Usage
ARM1 ARMv1 (deprecated) ARM1 Not ARM Evaluation System BBC Micro processor
ARM2 ARMv2 (deprecated) ARM2 Added MUL command (multiply) Not 4 MIPS @ 8 MHz
0.33DMIPS/MHz
Acorn Archimedes, Chessmachine
ARMv2a (deprecated) ARM250 Integrated MEMC (MMU), GPU, added SWP and SWPB (swap) commands No, MEMC1a 7 MIPS @ 12 MHz Acorn Archimedes
ARM3 ARMv2a (deprecated) ARM2a First used cache 4 KB total 12 MIPS @ 25 MHz
0.50DMIPS/MHz
Acorn Archimedes
ARM6 ARMv3 (deprecated) ARM60 32-bit (rather than 26-bit) memory address space introduced for the first time Not 10 MIPS @ 12 MHz 3DO Interactive Multiplayer, Zarlink GPS Receiver
ARM600 Like ARM60, FPA10 floating point math coprocessor 4 KB total 28 MIPS @ 33 MHz
ARM610 Like ARM60, cache, no coprocessor bus 4 KB total 17 MIPS @ 20 MHz
0.65DMIPS/MHz
Acorn Risc PC 600, Apple Newton 100 series
ARM7 ARMv3 (deprecated) ARM700 8 KB total 40 MHz
ARM710 Like ARM700 8 KB total 40 MHz Acorn Risc PC 700
ARM710a Like ARM700 8 KB total 40 MHz
0.68DMIPS/MHz
Acorn Risc PC 700, Apple eMate 300
ARM7100 Like ARM710a, integrated SoC 8 KB total 18 MHz Psion Series 5
ARM7500 Like ARM710a, integrated SoC. 4 KB total 40 MHz Acorn A7000
ARM7500FE Like ARM7500, "FE" added FPA and EDO memory controllers 4 KB total 56 MHz
0.73DMIPS/MHz
Acorn A7000+ Network Computer
ARM7TDMI ARMv4T ARM7TDMI(-S) 3-stage conveyor, Thumb mode Not 15 MIPS @ 16.8 MHz
63 DMIPS @ 70 MHz
Game Boy Advance, Nintendo DS, Apple iPod, Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 and LH754xx, Actel's CoreMP7
ARM710T Like ARM7TDMI, cache 8 KB shared, MMU 36 MIPS @ 40 MHz Psion Series 5mx , Psion Revo /Revo Plus/Diamond Mako
ARM720T Like ARM7TDMI, cache 8 KB shared, MMU with fast context switching extension Fast Context Switch Extension) 60 MIPS @ 59.8 MHz Zipit Wireless Messenger, NXP Semiconductors LH7952x
ARM740T Like ARM7TDMI, cache MPU
ARMv5TEJ ARM7EJ-S 5-stage pipeline, Thumb, Jazelle DBX, advanced DSP commands none
StrongARM ARMv4 SA-110 16KB/16KB MMU 203MHz
1.0DMIPS/MHz
Apple Newton 2x00 series, Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS
SA-1100 16KB/8KB MMU 203MHz Psion netBook
SA-1110 Like SA-110, integrated SoC 16KB/8KB MMU 206MHz LART (computer), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560 series, Palm Zire 31
ARM8 ARMv4 ARM810 5-stage pipeline, static branch prediction, double-bandwidth memory 8 KB unified, MMU 84 MIPS @ 72 MHz
1.16DMIPS/MHz
Acorn Risc PC Prototype CPU Card
ARM9TDMI ARMv4T ARM9TDMI 5-stage conveyor, Thumb none
ARM920T Like ARM9TDMI, cache 16 KB/16 KB, MMU with FCSE (Fast Context Switch Extension) 200 MIPS @ 180 MHz Armadillo, Atmel AT91SAM9, GP32 , GP2X (first core), Tapwave Zodiac (Motorola i. MX1), Hewlett Packard HP-49/50 Calculators, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC TyTN, FIC Neo FreeRunner ), Samsung S3C2410 (TomTom navigation devices)
ARM922T Like ARM9TDMI, cache 8KB/8KB MMU NXP Semiconductors LH7A40x
ARM940T Like ARM9TDMI, cache 4 KB/4 KB MPU GP2X (second core), Meizu M6 Mini Player
ARM9E ARMv5TE ARM946E-S Thumb, Enhanced DSP instructions, caches variable, tightly coupled memories, MPU Nintendo DS , Nokia N-Gage , Canon PowerShot A470, Canon EOS 5D Mark II , Conexant 802.11 chips, Samsung S5L2010
ARM966E-S Thumb, Enhanced DSP instructions no cache, TCMs STM STR91xF, including Ethernet
ARM968E-S Like ARM966E-S no cache, TCMs NXP Semiconductors LPC2900
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, Enhanced DSP instructions variables, TCMs, MMUs 220 MIPS @ 200 MHz Mobile phones: Sony Ericsson (K, W series); Siemens and Benq (x65 series and newer); LG Arena, LG Cookie Fresh; TI OMAP1710... OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100...MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000 , GPH Wiz, NEC C10046F5-211-PN2-A SoC - undocumented core in the ATi Hollywood graphics chip used in the Wii, Samsung S3C2412 used in Squeezebox Duet"s Controller. Squeezebox Radio; NeoMagic MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live (NAS); Telechips TCC7801, TCC7901; ZiiLABS" ZMS-05 system on a chip; Western Digital MyBook I World Edition
ARMv5TE ARM996HS Clockless processor like ARM966E-S no caches, TCMs, MPUs
ARM10E ARMv5TE ARM1020E 6-stage pipeline, Thumb, improved DSP instructions, (VFP) 32KB/32KB MMU
ARM1022E Like ARM1020E 16KB/16KB MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, Enhanced DSP instructions, (VFP) variable, MMU or MPU Western Digital MyBook II World Edition;Conexant so4610 and so4615 ADSL SoC
Xscale ARMv5TE 80200/IOP310/IOP315 I/O Processor, Thumb, Enhanced DSP instructions
80219 400/600 MHz Thecus N2100
  • The Intel 80219 processor includes a high-speed 32-bit XScale core at 400 or 600 MHz with a 64-bit PCI-X interface
  • PCI/ PCI-X bus allows connection of Gigabit Ethernet controllers
IOP321 600 Bogo Mips @ 600 MHz Iyonix
IOP33x
IOP34x 1-2 core, RAID Acceleration 32K/32K L1, 512K L2, MMU
PXA210/PXA250 Applications processor, 7-stage pipeline PXA210: 133 and 200 MHz, PXA250: 200, 300, and 400 MHz Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90
PXA255 32KB/32KB MMU 400 Bogo Mips @ 400 MHz; 371-533MIPS@400MHz Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad
PXA263 200, 300 and 400 MHz Sony CLIÉ NX73V, NX80V
PXA26x default 400 MHz, up to 624 MHz Palm Tungsten T3
PXA27x Application processor 32KB/32KB MMU 800 MIPS @ 624 MHz Gumstix verdex, "Trizeps-Modules" PXA270 COM, HTC Universal, hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim x30, x50, and x51 series, Motorola Q, Balloon3, Trolltech Greenphone , Palm TX, Motorola Ezx Platform A728 A780 A910 A1200 E680 E680i E680g E690 E895 Rokr E2 Rokr E6 Fujitsu Siemens LOOX N560 Navigator
PXA800(E)F
PXA3XX (codenamed "Monahans") PXA31x has a hardware graphics accelerator 32KB/32KB L1, TCM, MMU 800 MIPS @ 624 MHz highscreen alex
PXA900 Blackberry 8700, Blackberry Pearl (8100)
IXC1100 Control Plane Processor
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42x NSLU2 IXP460/IXP465
ARM11 ARMv6 ARM1136J(F)-S 8-stage pipeline, SIMD, Thumb, Jazelle DBX, (VFP), improved DSP instructions variable, MMU 740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHz TI OMAP2420 (Nokia E90 , Nokia N93 , Nokia N95 , Nokia N82), Zune , BUGbase , Nokia N800 , Nokia N810 , Qualcomm MSM7200 (with integrated ARM926EJ-S [email protected] MHz, used in Eten Glofiish, HTC TyTN II , HTC Nike), Freescale i.MX31 (used in the original Zune 30gb and Toshiba Gigabeat S), Freescale MXC300-30 (Nokia E63 , Nokia E71 , Nokia E72 , Nokia 5800 , Nokia E51 , Nokia 6700 Classic, Nokia 6120 Classic , Nokia 6210 Navigator, Nokia 6220 Classic, Nokia 6290, Nokia 6710 Navigator, Nokia 6720 Classic, Nokia E75 , Nokia N97 , Nokia N81), Qualcomm MSM7201A as seen in the HTC Dream , HTC Magic , Motorola ZN5, Motorola E8, Motorola VE66, Motorola Z6, HTC Hero , & Samsung SGH-i627 (Propel Pro), Qualcomm MSM7227 used in ZTE Link, HTC Legend , HTC Wildfire S , LG P500, LG GT540,
ARMv6T2 ARM1156T2(F)-S 9-stage pipeline, SIMD, Thumb-2, (VFP), enhanced DSP instructions variable, MPU
ARMv6KZ ARM1176JZ(F)-S Like ARM1136EJ(F)-S variable, MMU+TrustZone Apple iPhone (original and 3G) , Apple iPod touch (1st and 2nd Generation) , Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100 ; Mediatek MT6573; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410 (e.g. Samsung Moment), S3C6430
ARMv6K ARM11MPCore Like ARM1136EJ(F)-S, 1-4 core SMP variable, MMU Nvidia APX 2500
Kernel family Architecture version Core Functions Cache (I/D)/MMU Typical MIPS @ MHz Applications
Cortex ARMv7-A Cortex-A5 VFP, NEON, Jazelle RCT and DBX, Thumb-2, 8-stage pipeline, In-order, 1-4 core SMP variable (L1), MMU+TrustZone up to 1500 (1.5 DMIPS/MHz) "Sparrow" (ARM code name)
Cortex-A8 VFP, NEON, Jazelle RCT, Thumb-2; 13-stage pipeline, In-order, 2 decoders variable (L1+L2), MMU+TrustZone up to 2000 (2.0 DMIPS/MHz in speed from 600 MHz to greater than 1 GHz) TI OMAP3xxx series, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPhone 3GS , Apple iPod touch (3rd Generation) , Apple iPad (Apple A4 processor), Apple iPhone 4 (Apple A4 processor), Archos 5, Archos 101, FreeScale i.MX51-SOC, BeagleBoard, Motorola Droid, Motorola Droid X, Palm Pre, Samsung Omnia HD, Samsung Wave S8500, Nexus S, Sony Ericsson Satio, Touch Book, Nokia N900, Meizu M9, ZiiLABS ZMS-08 system on a chip, Boxchip A13
Cortex-A9 Application profile, (VFP), (NEON), Jazelle RCT and DBX, Thumb-2, Out-of-order speculative issue superscalar (2 decoders); 9-12 stages conveyor MMU+TrustZone 2.5DMIPS/MHz Apple iPhone 4S , Apple iPad 2 (Apple A5), MediaTek MT6575/6515M
Cortex-A9 MPCore Like Cortex-A9, 1-4 core SMP MMU+TrustZone 10,000 DMIPS @ 2 GHz on Performance Optimized TSMC 40G (quad core?) (2.5 DMIPS/MHz per core) PlayStation® Vita , TI OMAP4430/4440, ST-Ericsson U8500, Nvidia Tegra2 , Samsung Exynos 4210, MediaTek MT6577/6517
Cortex-A15 MPCore 1-32 core SMP; Out-of-order superscalar (3 decoders); 15+ conveyor stages; VFPv4, NEON MMU, LPAE 3.5DMIPS/MHz/Core; 1.0GHz - 2.5GHz (@ 28nm )
Cortex-A7 MPCore FPU,NEON; In-order (1 decoder); 8 stages conveyor. MMU, LPAE 1.9 DMIPS/MHz/CPU; 0.8-1.5GHz (@28nm) (Broadcom, Freescale, HiSilicon, LG, Samsung, STEricsson, Texas Instruments, MediaTek)
ARMv7-R Cortex-R4(F) Embedded profile, Thumb-2, (FPU) variable cache, optional MPU 600 DMIPS @ 475 MHz Broadcom is a user, TI TMS570
ARMv7-ME Cortex-M4 (codenamed "Merlin") Microcontroller profile, both Thumb and Thumb-2, FPU. Hardware MAC, SIMD and divide instructions MPU optional 1.25DMIPS/MHz NXP Semiconductors
ARMv7-M Cortex-M3 Microcontroller profile, Thumb-2 only. hardware divide instruction no cache, optional MPU 125 DMIPS @ 100 MHz Stellaris, STM STM32, NXP LPC1700, Toshiba TMPM330FDFG, Ember's EM3xx Series, Atmel AT91SAM3, Europe Technologies EasyBCU, Energy Micro's EFM32, Actel's SmartFusion, Milandr 1986BE91T
ARMv6-M Cortex-M0 (codenamed "Swift") Microcontroller profile, Thumb-2 subset (16-bit Thumb instructions & BL, MRS, MSR, ISB, DSB, and DMB) No cache 0.9DMIPS/MHz NXP Semiconductors NXP LPC1100 , Triad Semiconductor , Melfas , Chungbuk Technopark , Nuvoton , austriamicrosystems , Milandr K1986BE2T
Cortex-M1 FPGA targeted, Microcontroller profile, Thumb-2 subset (16-bit Thumb instructions & BL, MRS, MSR, ISB, DSB, and DMB) None, tightly coupled memory optional Up to 136 DMIPS @ 170 MHz (0.8 DMIPS/MHz, MHz achievable FPGA-dependent) Actel ProASIC3, ProASIC3L, IGLOO and Fusion PSC devices , Altera Cyclone III , other FPGA products are also supported e.g. Synplicity
Kernel family Architecture version Core Functions Cache (I/D)/MMU Typical MIPS @ MHz Applications

Architecture

There has long been an ARM architecture reference guide that delimits all the types of interfaces that ARM supports, as the implementation details of each processor type can vary. The architecture has evolved over time, and since ARMv7 3 profiles have been defined: 'A' (application) - applications, 'R' (real time) - in real time, 'M' (microcontroller) - microcontroller.

Profiles may support fewer commands (commands of a certain type).

Modes

The processor can be in one of the following operating modes:

  • User mode - normal program execution mode. Most programs run in this mode.
  • Fast Interrupt (FIQ) - fast interrupt mode (shorter response time)
  • Interrupt (IRQ) - the main interrupt mode.
  • System mode - Protected mode for use by the operating system.
  • Abort mode - the mode that the processor switches to when a memory access error occurs (access to data or to an instruction at the prefetch stage of the pipeline).
  • Supervisor mode - privileged user mode.
  • Undefined mode - the mode that the processor enters when trying to execute an instruction unknown to it.

Switching the processor mode occurs when an appropriate exception occurs, or by modifying the status register.

Command set

To keep the design clean, simple, and fast, the original ARM fabrication was done without microcode, like the simpler 6502 8-bit processor used in previous microcomputers from Acorn Computers.

ARM instruction set

The mode in which the 32-bit instruction set is executed.

Thumb command set

To improve code density, processors starting with ARM7TDMI are equipped with a "thumb" mode. In this mode, the processor executes an alternate set of 16-bit instructions. Most of these 16-bit instructions are translated into normal ARM instructions. The reduction in instruction length is achieved by hiding some operands and limiting addressability compared to full ARM instruction set mode.

In Thumb mode, smaller opcodes have less functionality. For example, only branches can be conditional, and many opcodes are limited to accessing only half of the main processor registers. Shorter opcodes generally result in greater code density, although some opcodes require additional instructions. In situations where the memory port or bus width is limited to 16 bits, shorter Thumb mode opcodes are much faster than conventional 32-bit ARM opcodes, as less program code has to be loaded into the processor with limited memory bandwidth.

Hardware like the Game Boy Advance typically has a small amount of RAM available with a full 32-bit data channel. But most operations are performed through a 16-bit or narrower information channel. In this case, it makes sense to use a pedestal code and manually optimize some heavy code sections using switching to full 32-bit ARM instructions.

The first processor with a pedestal instruction decoder was the ARM7TDMI. All processors of the ARM9 family, as well as XScale, had a built-in decoder for thumb commands.

Thumb-2 instruction set

Thumb-2 is a technology that started with the ARM1156 core, announced in 2003. It extends the limited 16-bit Thumb instruction set with additional 32-bit instructions to give the instruction set extra width. The goal of Thumb-2 is to achieve Thumb code density and ARM instruction set performance at 32 bits. We can say that in ARMv7 this goal was achieved.

Thumb-2 extends both ARM and Thumb instructions with even more instructions, including bitfield manipulation, table branching, conditional execution. The new "Unified Assembly Language" (UAL) supports both ARM and Thumb commands from the same source code. The ARMv7 versions of Thumb look like ARM code. This requires caution and the use of the new if-then command, which supports the execution of up to 4 consecutive test state commands. When compiled to ARM code, it is ignored, but when compiled to code, Thumb-2 generates instructions. For instance:

; if (r0 == r1) CMP r0, r1 ITE EQ ; ARM: no code ... Thumb: IT instruction; then r0 = r2; MOVEQ r0, r2 ; ARM: conditional; Thumb: condition via ITE "T" (then); else r0 = r3; MOVNE r0, r3 ; ARM: conditional; Thumb: condition via ITE "E" (else) ; recall that the Thumb MOV instruction has no bits to encode "EQ" or "NE"

All ARMv7 chips support the Thumb-2 instruction set, and some chips, like the Cortex-m3, only support Thumb-2. The remaining Cortex and ARM11 chips support both Thumb-2 and ARM instruction sets.

Jazelle command set

Security Extensions

Security extensions marketed as TrustZone Technology are found in ARMv6KZ and other more recent application profiled architectures. It provides a low cost alternative to adding a dedicated security engine by providing 2 vCPUs supported by hardware access control. This allows the application core to switch between two states called "worlds" (to avoid confusion with possible domain names) to prevent information from leaking from the more important world to the less important one. This world switch is usually orthogonal to all other processor capabilities. Thus, each world can run independently of other worlds using the same core. Memory and peripherals, respectively, are made to fit the world of the kernel, and can use this to gain access control to kernel secrets and codes. Typical TrustZone Technology applications should run a full operating system in the less important world, and compact, security-specific code in the more important world, allowing Digital Rights Management much more control over media usage on ARM-based devices and preventing unauthorized access to the device. .

In practice, however, since the specific details of the implementation of TrustZone remain the property of the company and are not disclosed, it remains unclear what level of security is guaranteed for this threat model.

Debugging

All modern ARM processors include hardware debugging, because without them, software debuggers would not be able to perform the most basic operations such as stop, indent, set breakpoints after reboot.

The ARMv7 architecture defines basic debugging features at the architectural level. These include breakpoints, watchpoints, and executing commands in debug mode. Such tools were also available with the EmbeddedICE debug module. Both modes are supported - stop and review. The actual transport mechanism that is used to access the debugging tools is not architecturally specified, but the implementation typically includes JTAG support.

There is a separate "kernel view" debugging architecture that is not required architecturally by ARMv7 processors.

Registers

ARM provides 31 32-bit general purpose registers. Depending on the mode and state of the processor, the user has access only to a strictly defined set of registers. In ARM state, 17 registers are constantly available to the developer:

  • 13 general purpose registers (r0..r12).
  • Stack Pointer (r13) - contains the stack pointer of the program being executed.
  • Link register (r14) - contains the return address in branch instructions.
  • Program Counter (r15) - bits contain the address of the instruction being executed.
  • Current Program Status Register (CPSR) - contains flags that describe the current state of the processor. It is modified when executing many instructions: logical, arithmetic, etc.

In all modes except User mode and System mode, the Saved Program Status Register (SPSR) is also available. After an exception occurs, the CPSR register is stored in the SPSR. This fixes the state of the processor (mode, state; flags for arithmetic, logical operations, interrupt enable) at the moment immediately before the interrupt.

usr sys svc abt und irq fiq
R0
R1
R2
R3
R4
R5
R6
R7
R8 R8_fiq
R9 R9_fiq
R10 R10_fiq
R11 R11_fiq
R12 R12_fiq
R13 R13_svc R13_abt R13_und R13_irq R13_fiq
R14 R14_svc R14_abt R14_und R14_irq R14_fiq
R15
CPSR
SPSR_svc SPSR_abt SPSR_und SPSR_irq SPSR_fiq

Working with memory

Supported I/O systems

Most existing models of microprocessors implement the PCI bus and the ability to work with external dynamic random access memory (DRAM). In processors intended for consumer devices, the following are also usually integrated: USB bus controllers, IIC, AC'97-compatible sound device, device for working with SD and MMC flash media, serial port controller.

All processors have general purpose input/output (GPIO) lines. In consumer devices, “quick launch” buttons, signal LEDs, a scroll wheel (JogDial), and a keyboard can be connected to them.

OS startup process on ARM machines

Support for Unix-like systems

The ARM architecture is supported by Unix and Unix-like GNU/Linux, BSD, QNX, Plan 9, Inferno, Solaris, Mac OS X, iOS, webOS, and Android operating systems.

linux

The following distributions support ARM processors:

BSD

The following BSD derivatives support ARM processors:

Solaris

Support for other operating systems

Operating systems that run on ARM: ReactOS, FreeRTOS, Nucleus, Symbian OS, Windows CE, RISC OS, Windows RT.

ARM licensees and approximate license costs

ARM does not manufacture or sell processors based on its designs, but instead licenses the processors to interested partners. ARM offers a wide range of licensing terms that vary in cost and detail. For all license holders, ARM supplies a description of the kernel hardware, as well as a complete set of software development tools (compiler, debugger), as well as the right to sell manufactured ARM processors. Some customers are engaged in the production of processors for third-party companies.

ARM's 2006 annual report reports that the licensing of 2.5 billion units (processors) generated $161 million in revenue. This is equivalent to $0.067 per unit. However, this is a very average indicator - after all, this includes licenses for very expensive newest processors, and old cheap processors.

Notes

  1. "ARMed for the living room" .
  2. "An interview with Steve Furber"
  3. Samsung Nexus 10 - Geekbench Browser
  4. Macbook Air - Geekbench Browser
  5. Apache Benchmarks for Calxeda's 5-Watt Web Server - ARM Servers, Now!
  6. http://www.apm.com/global/x-gene/docs/2012_03_OPP%20Cloudy%20with%20a%20Chance%20of%20ARM.pdf
  7. "ARM810 - Dancing to the Beat of a Different Drum" ARM Holdings presentation at Hot Chips 1996-08-07.
  8. Register 13, FCSE PID register ARM920T Technical Reference Manual
  9. Neo1973: GTA01Bv4 versus GTA02 comparison. Archived from the original on March 13, 2012. Retrieved November 15, 2007.
  10. S3C2410. Archived from the original on 13 March 2012. Retrieved 13 January 2010.
  11. Rockbox Samsung SA58xxx series . Archived
  12. Rockbox Meizu M6 Port - Hardware Information. Archived from the original on March 13, 2012. Retrieved February 22, 2008.
  13. Datasheets - Magic Lantern Firmware Wiki
  14. STR9 - STR912 - STR912FW44 microcontroller - documents and files download page . mcu.st.com. (unavailable link - story) Retrieved April 18, 2009.
  15. Starlet.
  16. Benchmarks - Albatross. Albatross-uav.org (June 18, 2005). (unavailable link - story) Retrieved April 18, 2009.
  17. ARM1136J(F)-S - ARM Processor. arm.com. Archived
  18. Qualcomm chips kernel ARM - from phones to laptops . xi0.info. Archived
  19. Qualcomm MSM7227 RISC Chipset. pdadb.net. Archived from the original on March 13, 2012. Retrieved May 8, 2010.
  20. Goforce 6100. Nvidia.com. Archived from the original on 13 March 2012. Retrieved 18 April 2009.
  21. Mediatek MT6573. http://www.mediatek.com. ; Archived from the original on June 6, 2012. Retrieved April 18, 2009.
  22. Samsung S3C6410 and S3C6430 Series ARM Processors . Samsung. Retrieved October 8, 2009., and the Qualcomm MSM7627 as seen in the Palm Pixi and Motorola Calgary/Devour
  23. Merritt, Rick"ARM stretches out with A5 core, graphics, FPGAs" . EE Times (October 21, 2009). Archived from the original on March 13, 2012. Retrieved October 28, 2009.
  24. Clarke, Peter ARM tips plans for Swift and Sparrow processor cores . EE Times (February 3, 2009). Archived from the original on 13 March 2012. Retrieved 18 April 2009.
  25. Segan, Sascha ARM's Multicore Chips Aim for Netbooks. PC Magazine (April 9, 2009). Archived from the original on March 13, 2012. Retrieved April 18, 2009.
  26. http://pc.watch.impress.co.jp/video/pcw/docs/423/409/p1.pdf
  27. Cortex-A15 Processor-ARM
  28. Cortex-A7 Processor-ARM
  29. Benz, Benjamin Cortex Nachwuchs bei ARM. Heise.de (February 2, 2010). Archived from the original on March 13, 2012. Retrieved May 3, 2010.
  30. Clarke, Peter ARM preps tiny core for low-power microcontrollers . EE Times (February 23, 2009). Archived from the original on March 13, 2012. Retrieved November 30, 2009.
  31. Walko, John NXP first to demo ARM Cortex-M0 silicon . EE Times (March 23, 2009). Archived from the original on March 13, 2012. Retrieved June 29, 2009.
  32. ARM Powered VCAs Triad Semiconductor
  33. Cortex-M0 used in low power touch controller - 06/10/2009 - Electronics Weekly
  34. Chungbuk Technopark Chooses ARM Cortex-M0 Processor
  35. Google translate
  36. Austriamicrosystems Chooses ARM Cortex-M0 Processor For Mixed Signal Applications
  37. "ARM Extends Cortex Family with First Processor Optimized for FPGA", ARM press release, March 19, 2007. Retrieved April 11, 2007.

Surely each of you wondered: what is ARM? You can often hear this abbreviation when it comes to the device processor. And sometimes not everyone is completely clear about its essence.

Let's say right away that ARM is a company, but ARM is also a processor architecture that ARM developed.

An ARM processor is a CPU based on the RISC architecture developed by Acorn Computers in the 1980s and currently being developed by Advanced RISC Machines, hence the abbreviation "ARM". At the same time, the abbreviation ARM in relation directly to the processor architecture means Acorn RISC Machine. In other words, there are two meanings for the abbreviation ARM.

Advanced RISC Machines is a UK based company that develops, designs and licenses the ARM processor architecture. ARM is developing a method for building ARM processors, and companies such as Qualcomm and Samsung are designing their processors based on ARM. Currently, almost all devices with small dimensions and equipped with a battery have processors built on the ARM architecture.


There are several types of processor architecture: CISC, RISC, MISC. The first is distinguished by a large set of instructions, that is, CISC is designed to work with complex instructions of unequal length. RISC, on the other hand, has a reduced set of instructions that have a single format and are distinguished by a simple encoding.

To understand the difference, imagine that your personal computer has a processor from AMD or Intel with CISC architecture. CISC processors generate more than MIPS (million instructions per second, that is, the number of certain instructions executed by the processor in one second).

RICS processors have fewer transistors, allowing them to consume less power. The reduced number of instructions allows the design of simplified microcircuits. The reduced chip size results in a smaller die size, which allows more components to be placed on the processor, making ARM processors smaller and much more power efficient.

The ARM architecture is great for smartphones, for which the main thing is power consumption, while in terms of performance, ARM processors, of course, are significantly inferior to top-end solutions from Intel and AMD. At the same time, ARM processors cannot be called weak. ARM supports both 32-bit and 64-bit architectures, there is also support for hardware virtualization, advanced power management.

The main parameter when evaluating ARM processors is the ratio of performance to energy consumption, here ARM processors perform better than, for example, an x86 processor from Intel based on the CISC architecture.

Thus, in the case of supercomputers, it will be more attractive to use a million ARM processors instead of a thousand x86 processors.

According to androidcentral

The vast majority of modern gadgets use processors based on the ARM architecture, which is being developed by the ARM Limited company of the same name. Interestingly, the company itself does not produce processors, but only licenses its technologies to third-party chip manufacturers. In addition, the company also develops Cortex processor cores and Mali graphics accelerators, which we will definitely touch on in this material.

ARM Limited

The ARM company, in fact, is a monopolist in its field, and the vast majority of modern smartphones and tablets on various mobile operating systems use processors based on the ARM architecture. Chipmakers license individual cores, instruction sets and related technologies from ARM, and the cost of licenses varies significantly depending on the type of processor cores (from low-power budget solutions to cutting-edge quad-core and even eight-core chips) and additional components. ARM Limited's 2006 annual income statement showed revenues of $161 million for licensing about 2.5 billion processors (up from $7.9 billion in 2011), which translates into approximately $0.067 per chip. However, for the reason stated above, this is a very average figure due to the difference in prices for various licenses, and since then the company's profit should have grown many times over.

Currently, ARM processors are very widespread. Chips on this architecture are used everywhere, right down to servers, but most often ARM can be found in embedded and mobile systems, from hard drive controllers to modern smartphones, tablets and other gadgets.

Cortex cores

ARM develops several families of cores that are used for various tasks. For example, processors based on Cortex-Mx and Cortex-Rx (where "x" is a digit or a number indicating the exact core number) are used in embedded systems and even consumer devices such as routers or printers.

We will not dwell on them in detail, because we are primarily interested in the Cortex-Ax family - chips with such cores are used in the most productive devices, including smartphones, tablets and game consoles. ARM is constantly working on new cores from the Cortex-Ax line, but at the time of this writing, smartphones use the following ones:

The larger the number, the higher the processor performance and, accordingly, the more expensive the class of devices in which it is used. However, it is worth noting that this rule is not always observed: for example, chips based on Cortex-A7 cores have higher performance than those based on Cortex-A8. Nevertheless, if Cortex-A5 processors are already considered almost obsolete and are almost never used in modern devices, then Cortex-A15 processors can be found in flagship communicators and tablets. Not so long ago, ARM officially announced the development of new, more powerful and, at the same time, energy-efficient Cortex-A53 and Cortex-A57 cores, which will be combined on a single chip using ARM big.LITTLE technology and support the ARMv8 instruction set (“architecture version”) , but they are not currently used in mass consumer devices. Most chips with Cortex cores can be multi-core, and quad-core processors are ubiquitous in modern high-end smartphones.

Large manufacturers of smartphones and tablets usually use processors from well-known chipmakers like Qualcomm or their own solutions that have already become quite popular (for example, Samsung and its family of Exynos chipsets), but among the technical characteristics of gadgets of most small companies, you can often find descriptions like “processor based on Cortex-A7 @ 1 GHz" or "Dual Core Cortex-A7 @ 1 GHz", which won't tell the average user anything. In order to understand what the differences between such nuclei are, let's focus on the main ones.

The Cortex-A5 core is used in inexpensive processors for the most budget devices. Such devices are designed only to perform a limited range of tasks and run simple applications, but are not at all designed for resource-intensive programs and, especially, games. An example of a gadget with a Cortex-A5 processor is the Highscreen Blast, which received a Qualcomm Snapdragon S4 Play MSM8225 chip containing two Cortex-A5 cores clocked at 1.2 GHz.

Cortex-A7 processors are more powerful than Cortex-A5 chips and are more common. Such chips are made on a 28-nanometer process technology and have a large second-level cache up to 4 megabytes. Cortex-A7 cores are found mainly in budget smartphones and low-cost mid-range devices like the iconBIT Mercury Quad, and, as an exception, in the Samsung Galaxy S IV GT-i9500 with an Exynos 5 Octa processor - this chipset uses an energy-saving quad-core processor on Cortex-A7.

The Cortex-A8 core is not as common as its “neighbors”, Cortex-A7 and Cortex-A9, but is still used in various entry-level gadgets. The operating clock frequency of Cortex-A8 chips can range from 600 MHz to 1 GHz, but sometimes manufacturers overclock processors to higher frequencies. A feature of the Cortex-A8 core is the lack of support for multi-core configurations (that is, processors on these cores can only be single-core), and they are executed on a 65-nanometer process technology, which is already considered obsolete.

Cortex-A9

A couple of years ago, Cortex-A9 cores were considered the top solution and were used in both traditional single-core and more powerful dual-core chips, such as Nvidia Tegra 2 and Texas Instruments OMAP4. Currently, processors based on Cortex-A9, made according to the 40-nanometer process technology, do not lose popularity and are used in many mid-range smartphones. The operating frequency of such processors can be from 1 to 2 or more gigahertz, but usually it is limited to 1.2-1.5 GHz.

In June 2013, ARM officially introduced the Cortex-A12 core, which is based on a new 28nm process technology and is designed to replace Cortex-A9 cores in mid-range smartphones. The developer promises a 40% increase in performance compared to Cortex-A9, and in addition, Cortex-A12 cores will be able to participate in the ARM big.LITTLE architecture as productive ones along with energy-saving Cortex-A7, which will allow manufacturers to create inexpensive eight-core chips. True, at the time of this writing, all this is only in the plans, and mass production of Cortex-A12 chips has not yet been established, although RockChip has already announced its intention to release a quad-core Cortex-A12 processor with a frequency of 1.8 GHz.

For 2013, the Cortex-A15 core and its derivatives are the top solution and are used in flagship communicator chips from various manufacturers. Among the new processors made according to the 28-nm process technology and based on Cortex-A15 are Samsung Exynos 5 Octa and Nvidia Tegra 4, and this core often acts as a platform for modifications from other manufacturers. For example, Apple's latest A6X processor uses Swift cores, which are a modification of the Cortex-A15. Chips based on Cortex-A15 are capable of operating at a frequency of 1.5-2.5 GHz, and support for many third-party standards and the ability to address up to 1 TB of physical memory makes it possible to use such processors in computers (how can one not recall a mini-computer the size of a bank Raspberry Pi card).

Cortex-A50 series

In the first half of 2013, ARM introduced a new line of chips called the Cortex-A50 series. The cores of this line will be made according to the new version of the architecture, ARMv8, and will support new instruction sets, and will also become 64-bit. The transition to a new bit depth will require optimization of mobile operating systems and applications, but, of course, support for tens of thousands of 32-bit applications will remain. Apple was the first to switch to 64-bit architecture. The company's latest devices, such as the iPhone 5S, run on just such an Apple A7 ARM processor. It is notable that it does not use Cortex cores - they are replaced with the manufacturer's own cores called Swift. One of the obvious reasons for the need to move to 64-bit processors is the support for more than 4 GB of RAM, and, in addition, the ability to operate with much larger numbers when calculating. Of course, while this is relevant, first of all, for servers and PCs, but we will not be surprised if smartphones and tablets with this amount of RAM appear on the market in a few years. To date, nothing is known about plans to release chips on a new architecture and smartphones using them, but it is likely that such processors will receive flagships in 2014, as Samsung has already announced.

The Cortex-A53 core opens the series, which will be the direct “successor” of the Cortex-A9. Processors based on Cortex-A53 are noticeably superior to chips based on Cortex-A9 in performance, but at the same time, low power consumption is maintained. Such processors can be used both individually and in the ARM big.LITTLE configuration, being combined on the same chipset with a Cortex-A57 processor

Performance Cortex-A53, Cortex-A57

Processors on Cortex-A57, which will be made on a 20-nanometer process technology, should become the most powerful ARM processors in the near future. The new core significantly outperforms its predecessor, the Cortex-A15, in various performance metrics (you can see the comparison above), and according to ARM, which is seriously targeting the PC market, will be a profitable solution for mainstream computers (including laptops), not just mobile ones. devices.

ARM big.LITTLE

As a high-tech solution to the problem of power consumption of modern processors, ARM offers the big.LITTLE technology, the essence of which is to combine different types of cores on one chip, usually the same number of energy-saving and high-performance ones.

There are three schemes for the operation of different types of cores on a single chip: big.LITTLE (migration between clusters), big.LITTLE IKS (migration between cores), and big.LITTLE MP (heterogeneous multiprocessing).

big.LITTLE (migration between clusters)

The first chipset based on the ARM big.LITTLE architecture was the Samsung Exynos 5 Octa processor. It uses the original big.LITTLE “4+4” scheme, which means combining into two clusters (hence the name of the scheme) on one chip four high-performance Cortex-A15 cores for resource-intensive applications and games and four energy-saving Cortex-A7 cores for everyday work with most programs, and at one time only one type of kernel can work. Switching between groups of cores occurs almost instantly and imperceptibly for the user in a fully automatic mode.

big.LITTLE IKS (migration between cores)

A more complex implementation of the big.LITTLE architecture is the combination of several real cores (usually two) into one virtual one, controlled by the operating system kernel, which decides which cores to use - energy efficient or productive. Of course, there are also several virtual cores - the illustration shows an example of an IKS scheme, where each of the four virtual cores contains one Cortex-A7 and Cortex-A15 core.

big.LITTLE MP (heterogeneous multiprocessing)

The big.LITTLE MP scheme is the most "advanced" one - in it each core is independent and can be turned on by the OS core as needed. This means that if four Cortex-A7 cores and the same number of Cortex-A15 cores are used, in a chipset built on the ARM big.LITTLE MP architecture, all 8 cores will be able to work simultaneously, even though they are of different types. One of the first processors of this type was Mediatek's eight-core chip - MT6592, which can operate at a clock frequency of 2 GHz, as well as record and play videos in UltraHD resolution.

Future

According to currently available information, in the near future, ARM, together with other companies, plans to launch the release of next-generation big.LITTLE chips that will use the new Cortex-A53 and Cortex-A57 cores. In addition, Chinese manufacturer MediaTek is going to release budget processors on ARM big.LITTLE, which will work according to the “2 + 2” scheme, that is, use two groups of two cores.

Mali graphics accelerators

In addition to processors, ARM also develops graphics accelerators of the Mali family. Like processors, graphics accelerators are characterized by many parameters, such as the level of anti-aliasing, bus interface, cache (ultra-fast memory used to increase speed) and the number of “graphics cores” (although, as we wrote in a previous article, this indicator, despite the similarity with the term used to describe the CPU has little to no effect on performance when comparing two GPUs).

The first ARM graphics accelerator was the now unused Mali 55, which was used in the LG Renoir touch phone (yes, the most ordinary cell phone). The GPU was not used in games - only for drawing the interface, and had primitive characteristics by today's standards, but it was he who became the "ancestor" of the Mali series.

Since then, progress has come a long way, and now supported APIs and game standards are of no small importance. For example, support for OpenGL ES 3.0 is now announced only in the most powerful processors like the Qualcomm Snapdragon 600 and 800, and, if we talk about ARM products, the standard is supported by such accelerators as the Mali-T604 (it was he who became the first ARM GPU made on new microarchitecture Midgard), Mali-T624, Mali-T628, Mali-T678 and some other chips similar in characteristics. One or another GPU, as a rule, is closely related to the core, but, nevertheless, is indicated separately, which means that if the quality of graphics in games is important to you, then it makes sense to look at the name of the accelerator in the specifications of a smartphone or tablet.

ARM also has graphics accelerators for mid-range smartphones, the most common of which are Mali-400 MP and Mali-450 MP, which differ from their older brothers in relatively low performance and a limited set of APIs and supported standards. Despite this, these GPUs continue to be used in new smartphones, for example, the Zopo ZP998, which received the Mali-450 MP4 graphics accelerator (an improved modification of the Mali-450 MP) in addition to the eight-core MTK6592 processor.

Presumably, at the end of 2014, smartphones with the latest ARM graphics accelerators should appear: Mali-T720, Mali-T760 and Mali-T760 MP, which were introduced in October 2013. Mali-T720 should be the new GPU for low-end smartphones and the first GPU in this segment to support Open GL ES 3.0. Mali-T760, in turn, will become one of the most powerful mobile graphics accelerators: according to the declared characteristics, the GPU has 16 processing cores and has a truly huge processing power, 326 Gflops, but at the same time, four times less power consumption than Mali-T604 mentioned above.

The role of CPU and GPU from ARM in the market

Despite the fact that ARM is the author and developer of the architecture of the same name, which, we repeat, is now used in the vast majority of mobile processors, its solutions in the form of cores and graphics accelerators are not popular with major smartphone manufacturers. For example, it is rightly believed that flagship communicators on Android OS should have a Snapdragon processor with Krait cores and an Adreno graphics accelerator from Qualcomm, chipsets from the same company are used in Windows Phone smartphones, and some gadget manufacturers, for example, Apple, develop their own cores. . Why is this the current situation?

Perhaps some of the reasons may lie deeper, but one of them is the lack of a clear positioning of the CPU and GPU from ARM among the products of other companies, as a result of which the company's developments are perceived as basic components for use in B-brand devices, low-cost smartphones and creating based on them more mature decisions. For example, Qualcomm repeats at almost every presentation that one of its main goals when creating new processors is to reduce power consumption, and its Krait cores, being modified by Cortex cores, consistently show higher performance results. A similar statement is true for Nvidia chipsets, which are focused on games, but as for the Exynos processors from Samsung and the A-series from Apple, they have their own market due to the installation in smartphones of the same companies.

The above does not mean at all that ARM developments are significantly worse than third-party processors and cores, but competition in the market ultimately only benefits smartphone buyers. We can say that ARM offers some blanks, by purchasing a license for which, manufacturers can already modify them on their own.

Conclusion

ARM architecture microprocessors have successfully conquered the mobile device market due to their low power consumption and relatively large processing power. Previously, other RISC architectures, such as MIPS, competed with ARM, but now it has only one serious competitor left - Intel with the x86 architecture, which, by the way, although actively fighting for its market share, is not yet perceived by either consumers or by most manufacturers seriously, especially when there are actually no flagships on it (Lenovo K900 can no longer compete with the latest top-end smartphones on ARM processors).

What do you think, will anyone be able to push ARM, and how will the fate of this company and its architecture develop further?

Top Related Articles