Talk:ARM architecture

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing / Hardware (Rated B-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by Computer hardware task force (marked as High-importance).

Most popular unqualified?[edit]

"most popular 32-bit one in embedded systems". I know 8-bit (eg. PIC) and other non-ARM are popular. As the smallest ARMs are now like a grain of dust without packaging it doesn't make sense to me to use 8 or 16 bit for size reasons (or maybe not cost, even ARM has open source implementation of older versions). Numbers might be hard to come by (for others; for ARM), but could it be the most popular embedded period, by now? And even just most popular? ARM-based OSes probably have the largest installed base by (about) now, counting Android plus iOS or even maybe just Android. I know some (realtime) systems might have more than one (8-bit) core but so do non-realtime Android. comp.arch (talk) 13:21, 23 April 2014 (UTC)

ARM is easily the "number 1" embedded processor. The number of ARM as primary processor in smartphones is small compared to overall ARM count. Since ARM is a core, it's also embedded in IC chips that aren't known as microcontroller chips, such as 802.11 wireless chips, which some use an internal ARM to do the high-level work, so it makes it harder to determine a total ARM count. The best source for total numbers is ARM Holdings at • SbmeirowTalk • 17:45, 23 April 2014 (UTC)
IF it's numer 1 embedded processor, regardless of bitness, it's probably the number one period. Anyone know of another type of processor with over 50 billion processors? Intel? AMD? Fair to combine them, x86? And x86-64? Not sure what is the post popular embedded arch. but it is probably not x86 (although it is also used). What was the last known most popular processor (embedded or not)? I don't like to say ARM is most popular unless it is true, and preferably that I can source it. I don't like to get reverted and people arguing here. Would do as a source? It striclty doesn't say most popular (I think), would challengers have to point to more popular of just say "not in source"? comp.arch (talk) 18:59, 23 April 2014 (UTC)
"What is the most popular embedded architecture"? Possibly ARM, possibly Intel 8051 and successors, possibly something else (but I suspect not). Guy Harris (talk) 21:30, 23 April 2014 (UTC)
"If you are making 10 million power supplies, it may be necessary to use an 8051 processor at 40 cents each, despite the additional engineering effort it takes to implement a phase-locked-loop in software."[1]
Would that be about the lowest cost CPU? Assuming that and ALL ARM's cost just average $1, 125 billion or more have to have been sold of 8051 or any other architecture or all dirt-cheap microcontrollers combined to sell for more in dollars. Would those volumes be credible? [The market would be split among many 8-bits, how many popular approx?] I think I'll claim ARM most popular and see if it sticks.. comp.arch (talk) 22:12, 23 April 2014 (UTC)
By volume is 50 billion credible for others or combined? comp.arch (talk) 22:40, 23 April 2014 (UTC)
"April 2002 the billionth personal computer was shipped. The second billion mark was supposedly reached in 2007."[2] Assuming 3 billion by now x86, it would have to sell on average 16,6 times higher than ARM to make more money. Assuming average x86 CPU $200, gives $12 for ARM (but includes microcontrollers). comp.arch (talk) 22:52, 23 April 2014 (UTC)
You can get an ARM-based NXP LPC810 for $0.50 at quantity 10,000 or $0.84 for quantity Q100, see Mouser. • SbmeirowTalk • 23:30, 23 April 2014 (UTC)
Hmm, that low.. thanks. Anyone know approx price range for ARM microcontrollers and for non-microcontrollers? And any guess about how many of the 50 billion are microcontrollers? As none of the 8-bit architectures have use for other than microcontrollers (by now or ever, the same ones) I guess they are all cheap, any guess at the top (and bottom) price? And same for 16-bit and would they sell in big volumes? comp.arch (talk) 23:52, 23 April 2014 (UTC)
"Would that be about the lowest cost CPU? " No. "Most popular" would be about the highest volume CPU, regardless of the cost. The lower cost of implementations of a given instruction set architecture might make it more popular than architectures with more expensive implementations, but popularity means "how many", not "how cheap". Guy Harris (talk) 03:33, 24 April 2014 (UTC)
8-bit processors are now probably of use only for microcontrollers; "ever" is another matter - there was a time when most personal computers had 8-bit processors. But we're asking about now, not "ever".
So the relevant questions are "how many ARM cores get sold per year?", "how many 8051 cores get sold per year?" and, if there are any conceivable competitors to ARM and 8051 in the "most popular ISA" competition, "how many cores implementing them get sold per year?" Guy Harris (talk) 03:41, 24 April 2014 (UTC)
If per year, my guess is that ARM is most popular (that is by volume) for sure in recent years. ARM has the advantage of embedded plus other uses. [Well maybe you want to count Android as embedded.] x86 has embedded uses, would it be used much that way by now? MIPS also, but mostly now. 8051 would only be embedded. The 8-bits I remember, Z80 and 6502 where popular but not microcontrollers and hardly much used now. I was thinking most popular ever, comulative over the years but per year or since some point is also interesting and easier to estimate. Would you think 8051 end similar would still be popular in recent years? comp.arch (talk) 20:13, 24 April 2014 (UTC)
"Would that be about the lowest cost CPU?" was about would 8051 be the lowest cost CPU, if not anyone know which one is lowest cost or lower than 40 cents (in volume). I was just assuming the lowest cost CPU(s)/ISA would probably be most popular for embedded. I'm just not sure where to start Googling for a potentially more popular CPU. And estimating most "popular", as in selling most in dollars seems to have been misguided, probably not ARM (yet) and difficult to estimate as usually not sold separately. comp.arch (talk) 20:25, 24 April 2014 (UTC)
Excellent questions, Guy Harris, and ones I think Wikipedia articles should answer. I recently added[3] such information to the PIC microcontroller article.
I would really like similar referenced numbers for other popular architectures added to their respective Wikipedia articles.
I agree with comp.arch that it is unnecessary and misleading for the article to state that something is "the number 1 embedded processor" when it is actually "the number 1 processor" without qualification.
I would really like sources to confirm or deny the statements Sbmeirow made claiming "ARM is easily the "number 1" embedded processor. The number of ARM as primary processor in smartphones is small compared to overall ARM count."
This ARM architecture article already references "The Two Percent Solution" (2002) which states 8-bit processors, selling over 3 billion new chips per year, outsold 32-bit and 64-bit processors combined by over 5 to 1. That seems to contradict Sbmeirow's statements, but I wouldn't be surprised if things have changed since 2002 -- can anyone find more recent data from a reliable source?
Do 4-bit CPUs still outsell 32-bit CPUs in unit volume?[4]
Since Microchip was the number 5 microcontroller manufacturer in 2009 (number 4 in 2010 after after NEC and Renesas merged in 2010)[5], and as far as I can tell all of the top 10 processor manufacturers sell mostly 8-bit processors, it seems likely to me that there still exists at least one 8 bit processor architecture that outsells any one 32 bit processor architecture.
As long as our sources use the qualifier "most popular 32-bit processor", and our sources seem to be saying that 8-bit processors outsell ARM processors in any given year, I think this article should also use the qualifier "32-bit" or "at least 32 bits" or similar. --DavidCary (talk) 02:53, 18 June 2014 (UTC)
As you can see from Figure 3 in "The Two Percent Solution", 4-bit are way behind 8-bit, because I assume they had no advantage on them (in 2002). I assume they will not gain any ground, while 32-bit has (for embedded). For the same reason 32-bit should be growing at the expense of 8-bit (and 16-bit)? Following the money, who sells more in dollars seems to be easier that figuring out who sels most quantity. And you can't rely on only one manufacturer for any architecture and I'm not sure where to start looking, but I expect ARM to be the most produced architecture, with no DSP selling more or any other processor architecture except maybe a handful of candidates in the 8-bit category. Two or three to look into? comp.arch (talk) 11:32, 18 June 2014 (UTC)
I did some checking that surpriced me in several ways (4-bit CPUs no longer sold it seems). Ordering by Unit price gives you $0.34800 as the lowest but it isn't! The lowest priced ARM there I could find is at $0.62 if you buy a SINGLE unit down to 0.36400 at quantity of 3,880+.[6] I found no 8051 there lower priced. The lowest cost microcontroller I've found so far is a PIC at $0.42 down to 0.31 at quantity 5000+. PIC microcontroller: "By 2013, Microchip was shipping over one billion PIC microcontrollers every year", but 10 billion ARM chips where sold in 2013. Are there clones of PIC (that sell in numbers)? Even being cheaper/est(?) doesn't seem to help to sell more than ARM. Is there anyone much lower priced than this 15% cheaper one? Maybe I'm comparing apples to oranges? Just looked at price and assumed you would pay more for ARM as you get more, do you get less? Anything important you can't get with an ARM (or if similar spec, are they then much more expensive)? "8-bit MCUs are the only MCUs that are readily available in PDIP packages"[7][8] comp.arch (talk) 15:53, 18 June 2014 (UTC)
The smallest ARM Cortex-M0 and Cortex-M0+ have become very cheap in the last year, and likely will replace large numbers of 8-bit and 16-bit microcontrollers. NXP LPC8xx, Cypress PSoC4, ST STM32F0xx families are all very cheap. • SbmeirowTalk • 18:27, 18 June 2014 (UTC)
Does anyone have a problem with me changing the article to not qualify ARM being the most popular architecture, as there are 10 billion processors a year (not sure about cumulative - then 50 billion ARM)? In 2009, the 8-bit segment (the only contender (left)), was about as big as the 32-bit one (the much faster growing segment), is very fragmented (in it 8051 at 65% of 8-bit seems not enough) while the 32-bit segment is much less so (ARM 75%). See also: Talk:List of common microcontrollers#Which microcontroller (architecture)would be most popular? And which dead? comp.arch (talk) 15:48, 23 June 2014 (UTC)
I'm a little confused -- there's one reference in the article for 10 billion ARM-powered chips shipped in 2013; but I see other references[9][10] that seem to indicate about 4 billion 32-bit MCUs shipped in 2013, out of 17 million total units.[11] Doesn't that imply that ARM sales must have been less than 4 billion in 2013?
If you can find a reference that supports the ARM being the most popular architecture, please add it to the article.
Meanwhile, as long all the references we have so far qualify it as the most popular 32-bit architecture, then why don't we say that?
Thank you for pointing out to me, with a link, that ARM processors have now fallen under $1. I find that fascinating.
Even with ARM processors practically free, there are still a few situations where it makes sense to use something other than ARM.
Rather than list them here, I went ahead and stuck some of them into the microprocessor article,[12] with a reference that lists a few more reasons.
I agree -- Talk:List of common microcontrollers is a better place to continue this discussion. --DavidCary (talk) 08:17, 28 June 2014 (UTC)

I did the math, in dollars ARM processor (not all, excluding at least standalone microcontrollers - not included on non-microcontroller chips) took at least 41.0% (most likely half way up to, but at most 45.3%) of the amount the whole of the x86 (non-embedded..) market sells for (possibly even Intel's number include Itanium..). ARM and x86 (and Itanium?) take up almost all of the CPU market, making ARM approaching a third fast.[13]

This CPU market as a whole is divided: 27.4% ARM plus Freescale and TI (2.9% combined in ARM and what? PowerPC for Freescale and? TI what in addition to ARM?), Intel 68% and AMD 4.8% (x86 and some Itanium?). VIA tiny (not in top 10, Itanium if included in Intel for sure larger I assume).

Note 1, this is not the whole of "ARM" market, they sell a lot in embedded, I would think a lot more than x86 (neither in these numbers). Note 2, I assume you can't or they don't exclude GPUs and non-ARM stuff from the numbers (don't know for sure, maybe not?) - Intel wouldn't(?). Note 3, this does not disprove ARM most popular, gives it great credibility unless the average ARM chip costs less than (conservatively) 37.6% of average Intel/AMD x86 (may be calculating this wrong, or 40.2% of Intel CPUs). Note as the numbers for Intel/AMD include servers CPUs etc. we are not talking just Atom/tablet CPUs.

Qualcomm gained 29% in a year, in dollars just over double of the AMD loss in x86 market..

When ARM embedded is added, ARM might sell most in dollars, have to find my numbers again for ARM and would need numbers for rest of embedded in dollars.. (assume not many x86 there anymore..) comp.arch (talk)

Multi-threaded ARMs - and custom in general[edit]

How difficult is it to do a custom version of ARM (like Apple's A7) and multi-threading in particular (seems more invasive/difficult). And how much (all?) is changed in the most custom versions? I hardly believed all when that was mentioned..

ARM has no multihreaded (SMT/"hyperthreaded") ARM version core that I know of. I started looking as most others have gone that route. I found (include somehow in this article - too soon?):

"Broadcom said in October it will roll out SoCs with quad-threaded, quad-issue, out-of-order cores made in a FinFET process, presumably the 14/16 nm node. That process won't be broadly available from foundries until sometime next year"[14]

"Broadcom is designing a custom quad-issue, quad-threaded, out-of-order ARMv8 processor that Gwennap expects will "raise the bar" in single and multi-core performance. The core will power SoCs aimed at server, comms, storage, and security systems. The fact the core is being designed in a 16 nm FinFET process suggests first parts may not ship until late 2014."[15]

"ARM used the event to describe enhancements to the Corelink interconnect for creating multicore ARM SoCs. In a keynote at the event, Gwennap said limits in memory bandwidth and pinouts remain the chief bottleneck for comms SoCs."

"The PowerPC still dominates in today's comms chips, followed by the x86 and MIPS. ARM only has "a toehold" today and could take five to ten years to rise up the ranks"[see chart, but note this is on comm chips, not about the full market; any reason ARM (even 32-bit) can't dominate this market?]

Probably non-ARM(?): "Taiwan-based Andes described its N1337 core [..] Separately, Andes unveiled FlashFetch a technique for handling repeated code sequences to reduce power and increase performance on flash-based MCUs using just 9,000 additional gates. For flash running at a quarter the host CPU speed, performance is improved from 54 to 120 percent while cutting power use of the flash in half"

"AMD's Hierofalcon will pack four to eight 64-bit ARM Cortex A57 CPU cores along with 10GBase-KR Ethernet and PCI Express Gen 3 links, targeting communications and storage systems. The 28nm device will go up against Intel's 22nm Rangeley"[16]

"The same thing is happening at Freescale and Broadcom -- all the major embedded guys are moving toward ARM," at the expense of MIPS and PowerPC."48-core SoCs ARM chips - two chips can be connected for 96 cores. comp.arch (talk) 11:47, 30 June 2014 (UTC)

ARM in baseband and in cars (and IoT/RFID?)[edit]

Besides having usually many cores (for eg. Android), baseband usually (always?) has a RTOS and a separate CPU - actually a microcontroller but most often (always?) on the same SoC - that can be ARM Cortex-R as of 2011[17] Any idea how common that is? First of, is it always (in most, recent phones) software defined radio (that is did pure ASIC stop being uses long ago? 2G?). I think Broadcomm is big in this, would they use ARM for it? Would ARM's rule (much of the market)?

Microcontrollers in cars have grown in numbers for years. That is the biggest users of uC (or about). Renesas is big in engine control(and they also sell ARM in cars), but most manufacturers have switched to making ARM. Not sure how many uC are needed for the engine itself, but even if non-ARM (Renesas) is more popular there is that 1 out of 70-300?

IoT might not be big yet to challenge ARM (or could most go with ARM). But there are huge numbers of RFIDs. I'm just not sure they have uC. Not passive ones? Active? Maybe, but only passive is huge in numbers. I only used number I would find regarding ARM popularity and assume the take RFID into account if needed. Would they mauke not do that and not think if them as an uC market? Anyway, might not matter if that market is divided among CPU archs, and even if not. How big is that market? Anyone guess? Not bigger in dollar or popularity I guess. comp.arch (talk) 20:59, 24 July 2014 (UTC)

What relevance has all this to the article? Your link about baseband seems just 'another application' of ARM. The production of ARM chips is several orders of magnitude greater than the number of cars produced worldwide and most RFIDs are passive devices. Chris55 (talk) 11:46, 25 July 2014 (UTC)
Sorry, just want to be really sure RFIDs do not put "ARM most popular" in question. For "most popular microcontroller architecture" (not just most popular 32-bit), how popular they are in cars are critical as a big segment. All smartphones have baseband and if say some non-ARM were dominant in that segment would also puts same into question (I think I can safely assume x86 in not more popular there in in embedded in general uC). Just trying to get a picture/know where to look for sources. ARM seems to be most popular however you slice it (and soon most sold also in dollars). comp.arch (talk) 12:12, 25 July 2014 (UTC)
Sounds like you're doing OR. But as for baseband processors, a quick look shows that at least half the manufacturers in the article use ARM so you may have some difficulty knocking it off its perch. I assume some companies still produce 4 and 8-bit processors but I'm not sure it's the same market. And do you know what worldwide vehicle production is? A mere 87m. Chris55 (talk) 15:45, 25 July 2014 (UTC)
Yes, OR - but ok to confirm (and really hard to get numbers, at least on 4-bits - the "underground"-market). 87m×50=4.3 billion microcontrollers in cars is a huge number (and for sure?) the biggest market for microcontrollers.[18]. Even if ARM had half of that if would be huge. "The first car to use a microprocessor was the 1978 Cadillac Seville. The chip, a modified 6802"[19] (an 8-bit - makes 4-bit unlikely in cars). For Luxury cars: "the number of microcontrollers has leveled off at about 100 per automobile, and prices for those microcontrollers have dropped rapidly" (see in comment for Nov 2013 ref I couldn't post because of protection filter). Midrange in developed market has about $350/3=$167 worth of Application processors (MCUs) - ARMs much?. comp.arch (talk) 16:48, 25 July 2014 (UTC)
I've never owned a luxury car, though I've driven in a few. But I'd dispute your "makes 4-bit unlikely in cars". The most important issue in cars is reliability and that is inversely proportional to the number of states (to some power). So keeping things simple is highly important. And if there are 100/car, I'd bet most are 4- or 8-bit or less. Chris55 (talk) 22:58, 25 July 2014 (UTC)
A bit of-topic, but sources I put here and all I've seen say 8-, 16- and 32-bit. Just as TV remote controls use (maybe not even anymore?, not just the fancy ones) I can see 4-bit in car remotes. I meant unlikely, not as in not a single one, but at least very few in numbers. Still I'm compsci (not electrical engineer - only wannabe) and not disputing reliably argument (but seems wrong for 4-/8-bit that I've seen) personally, but 4-bits are not sold anymore except of-the-radar (in Asia made in old process) and the automotive manufacturers I checked (eg. Renesas) do not sell them. comp.arch (talk) 18:57, 26 July 2014 (UTC)
Of topic: "for baseband processors, a quick look shows that at least half the manufacturers in the article use ARM", I couldn't really see that from the article. If you meant the RTOS listed, than the support ARM but also MIPS and PowerPC. And the list might not be complete.. But for the manufactures actually it's a "two horse race" (only for LTE?)[20] and I can't really see what RTOS use or if they use ARM. Another way is looking at what Apple and Samsung do and you are pretty much covered. Both use ARM but would the broadband also? I assume using MIPS or PoerPC for that could work but really no reason why to do that (on same SoC?) Excluding Intel is ok, maybe they'll use x86 (that nobody else seems to do) in their otherwise x86 chips?! comp.arch (talk) 19:20, 26 July 2014 (UTC)
"production of ARM chips" is 10 billion, not far of car uC figure. And I assume but do not know ARM might count cores, not chips to inflate numbers. Would like to know how many chips and cores and the division of uC to non-uC. And how many Cortex-R (that are a tailor-fit and targetted at cars). comp.arch (talk) 19:04, 26 July 2014 (UTC)
I think that Talk:List of common microcontrollers is a better place for this discussion of the popularity of 4-bit, 8-bit, 16-bit, and 32-bit chips. --DavidCary (talk) 02:29, 25 August 2014 (UTC)

What is an "extension"?[edit]

The article contains several times the word "extension", but its meaning is not clear. In pre-ARMv8, extensions were implemented via the coprocessor interface. But in ARMv8, I would say that, for instance, VFP is no longer an extension since VFP has always been there in this version (ditto for some other technologies). — Vincent Lefèvre (talk) 15:55, 21 August 2014 (UTC)

Well VFP is not versioned in ARMv8 as there is only one version there. It is however strictly optional. And I just found out the Cryptography Engine is also strictly optional. And 32-bit AArch32 backward-compatible ISA. What that means, I guess, is just that things such as these could be left out of the silicon chip (but are in all current and proposed implementation I think. FPGAs?), but hardly ever would (network chips have been mentioned; ARMv8-R actually leaves out the non-optional (in ARMv8-A) 64-bit stuff though.. but it isn't strictly the same architecture as ARMv8-A), and if you would try do use the associated instructions (you can check first to make sure they exist in control registers) you will get an illegal instruction (could possibly be trapped and handled?). All these things in ARMv8 are optional, but the word extension there is maybe not appropriate. For ARMv7 some things are also always included, only an extension in the sense of addition to say ARMv6. The first ARM2 had a coprocessor interface for some extensions such as usable for (but not limited to) floating-point. That interface in defined in the instruction set, but it seems to me it has mostly not/never? actually been used to control an external coprocessor - it has been on the same die. [Then there are new instructions, "extensions" if you will or defined in new versions of architectures that do not use the coprocessor interface.] comp.arch (talk) 12:11, 22 August 2014 (UTC)
Note: by "version", I meant ARMv8 (as opposed to ARMv7, ARMv6, etc.).
If a feature is well-specified and has some official status, I don't think that "extension" is the right word, even if it can be optional. For instance, many standards have optional features, but one doesn't say that these are extensions. IMHO, an "extension" has a connotation of (1) being specified/provided by third-party, or (2) being absent from the initial specification (e.g. of ARMv8, if one is talking about ARMv8), or (3) possibly using an interface designed for (1) and/or (2) — in this latter case, the word "extension" would refer here more to the way the feature is implemented than to the feature itself.
Vincent Lefèvre (talk) 20:45, 22 August 2014 (UTC)