Talk:List of ARM processors

Latest comment: 1 year ago by 217.82.134.35 in topic ARM2, ARM3 relationship to ARM250

Cortex release dates

edit

Request: A date for the release of each Cortex architecture will be very helpful. http://en.wikipedia.org/w/index.php?title=Talk:List_of_ARM_microprocessor_cores&action=submit# — Preceding unsigned comment added by 82.80.111.149 (talk) 16:03, 10 January 2013 (UTC)Reply

You can search through press releases at http://www.arm.com/about/newsroom/
You can contact ARM at http://www.arm.com/contact-us/
SbmeirowTalk22:14, 10 January 2013 (UTC)Reply
I added a release timeline for all Cortex cores. Older cores still need to be added. • SbmeirowTalk17:45, 4 April 2014 (UTC)Reply
Thanks for that, but the layout made it a little difficult to read. So I broke the cores into columns for the embedded, real-time, and application cores. And each year is restricted to a single row. I think this makes it easier to read and understand the information. Now, to add older cores. Should third-party cores be included? --Imroy (talk) 05:10, 6 April 2014 (UTC)Reply
Thanks, better way of viewing it. • SbmeirowTalk05:18, 6 April 2014 (UTC)Reply
I started adding older cores. I hid cores with comments until a date can be determined for those cores. • SbmeirowTalk06:55, 6 April 2014 (UTC)Reply

Again, I think a single combined table looks much better than lots of small tables. It fits much better with calling the section a "timeline", allowing readers to see the information quickly and easily.

How about this?

Year Classic cores   Cortex Cores
ARM7 ARM8 ARM 9 ARM10 ARM11 Embedded Real-time Application
1996 ARM810
1997 ARM9TDMI
1998 ARM7TDMI(-S)
2002 ARM1136J(F)-S
2003 ARM966E-S
ARM968E-S
ARM1156T2(F)-S
ARM1176JZ(F)-S
2004 Cortex-M3
2005 Cortex-A8
2006 ARM996HS
2007 Cortex-M1 Cortex-A9
2009 Cortex-M0 Cortex-A5
2010 Cortex-M4 Cortex-A15
2011 Cortex-R4
Cortex-R5
Cortex-R7
Cortex-A7
2012 Cortex-M0+ Cortex-A53
Cortex-A57
2013 Cortex-A12
2014 Cortex-A17

--Imroy (talk) 13:20, 14 April 2014 (UTC)Reply

Sorry that I didn't reply sooner. I didn't see this table when you posted it. Yes, your unified table looks better, except (1) the double vertical line isn't needed between classic and cortex, (2) we need to pull my comments out into a one comment section so we'll all know which cores are missing, (3) I wonder if a 64bit App Core column should be added on the right side (thoughts?), (4) should rows be added for the missing years (thoughts?), (5) should we plan for older cores on the left side or just start with ARM7 (I think skipping ARM6 and older is fine otherwise too many columns and rows) (thoughts?). • SbmeirowTalk19:02, 19 April 2014 (UTC)Reply

ARM2, ARM3 relationship to ARM250

edit

The ARM250 is not more related to the ARM2 than the ARM3. In fact it is an ARM3 without the cache. "It is interesting to notice that the ARM3 doesn't 'perform' faster - both the ARM2 and the ARM3 average 0.56 MIPS/MHz. The speed boost comes from the higher clock speed, and the cache." http://www.heyrick.co.uk/assembler/proctype.html Maybe the ARM250 should be put in the ARM3 Family? Jonpatterns (talk) 14:33, 8 April 2013 (UTC)Reply

Indeed the core of ARM3 (called "ARM2aS" in the ARM250 Data Sheet) was also used for the ARM250 (so both have SWP/SWPB and MSR/MRS and both give the same processor ID 0x41560300). While the DMIPS/MHz of ARM2 (if combined with a MEMC1a) and ARM250 are identical (0.33 DMIPS/MHz according to the !SICK application by me for RISC OS) the ARM3 does perform better (0.44 DMIPS/MHz according to !SICK). VLSI Technology Inc. claims in the "Acorn RISC Machine (ARM) Family Data Manual" (the only Data Sheet for the ARM3 I know of) when describing the "ARM-3 Daughter Card":
"This is a daughter card that connects to the Blue Streak board. It contains a VL86C020 processor with 4 Kbytes of instruction and data cache on-chip. This card contains a PLCC adapter that lets it replace the processor chip on the Blue Streak. The new processor runs at 20 MHz, but uses the same 8 MHz memory subsystem of the unmodified Blue Streak. Most programs then run 2.5 - 3.0 times faster than the original processor, when the cache is enabled."
Furthermore the ARM250 Data Sheet claims "10 MIPS (peak) @ 12 MHz" while the ARM Family Data Manual of VLSI doesn't mention any MIPS figure for the ARM3 (called VL86C020 by VLSI) and claims for the ARM2:
"The computer shown in Figure 1 is partitioned into four circuits: the VL86C010 Acorn RISC Machine (ARM) processor, VL86C110 Memory Controller (MEMC), VL86C310 Video Controller (VIDC), and VL86C410 I/O Controller (IOC). These four circuits together form a full 32-bit microcomputer system with performance in the 5 to 6 million-instructions-per-second (MIPS) range.
...
The VLSI Technology, Inc. system is "centered" around the memory, with each element designed to use the bandwidth efficiently without making large demands that require premium memory components. The video display is integrated into the design to utilize the main memory for display area, eliminating the need for expensive add-on video cards. The system operates with a 24 MHz clock that yields a basic processor cycle of 8 MHz (125 ns). Even at this speed, the memory system uses Inexpensive 120 ns access time page-mode DRAMs."
But MIPS and MIPS/MHz are only of academic value anyway. Or as VLSI did put it, back in 1990:
"Inherent in the concept of RISC processors is the notion that more instructions are required to implement the same functions that could be done by fewer instructions with a complex instruction set computer (CISC) processor. In most cases even when more instructions are needed by RISC processors, the function can still be performed quicker on RISC processors than CISC processors. This is causing the industry to doubt the Million Instruction Per Second (MIPS) ratings of RISC processors, for good reason. MIPS are often used exclusively as a means of benchmarking performance. A better measure of performance is to time actual execution of real-world problems, independent of the number of instructions required to implement the function." 217.82.134.35 (talk) 05:46, 7 March 2023 (UTC)Reply

Cortex-M with Cache

edit

ARM doesn't sell a design for cache for M0-M4, but they did keep all the signals you'd need to hook one up available, and so there are some Cortex-M cores with caches, just not caches designed by ARM[1]. Most Cortex-M's running on flash have a very small instruction prefetch cache like ART on STM32[2], and some Cortex-M's with external memory interfaces have general-purpose(both instructions and data) caches[3]. Could we phrase this better instead of "No Cache"? Maybe "Optional caches" or "SoC-provided caches"? Rsaxvc (talk) 05:49, 16 March 2014 (UTC)Reply

References

Refactor ARM Core Tables?

edit

Would it make sense to refactor the "Cache (I / D), MMU" of ARM Cores Designed by ARM" column into multiple columns? It seems like it has become overgrown with things like TCM, ECC and MMU extensions all in the same column. Trustzone also appears in multiple columns, perhaps because it has no home. Rsaxvc (talk) 04:54, 30 September 2014 (UTC)Reply

It's a tough call of what columns to add, since not all flavors have some features. ECC/Parity are related to Cache and TCM, so it belongs in those columns. Possibly: Cache, TCM, MMU, FPU, Instruction Set. Another thing to consider is duplicating a section, so we can support more columns. I think more people should respond and we get a game plan together, like agree on a column list from left to right before a major overhaul starts! The bigger the table, the more work and risk of mistakes, so best to not get in a big hurry. • SbmeirowTalk05:55, 30 September 2014 (UTC)Reply

References

edit

We use reference #43 ("Relative Performance of ARM Cortex-A 32-bit and 64-bit Cores". Retrieved 5 May 2017.) Which in turn uses this Wikipedia article as reference. Quote from the article: "To do so, I’ve simply use DMIPS/Mhz (Dhrystone MIPS/Megahertz) values listed on Wikipedia."

I don't feel I should edit this out without someone verifying this.