5 ms·
ARM: The Democratization of the CPU
- protomyth 17y agoIt amazes me to read some weird political take on what is simply a decent business strategy for embedded CPUs. You still have to pay licensing fees and such. Democracy is a strange word to use. Also, as to W7 and the full OS X on ARM, is there a 64-bit variant of the ARM instruction set. We seem to be passing 4G on the desktop and portable market (look at the new Atom chips).
- hga 17y agoNot to my knowledge. For their current low power niche I doubt the case is compelling, especially since you can buy MIPS 64 bit IP that's I gather is at least a bit stingy in power consumption. Also note that to make this work, you might need on the order of say 6 GB of physical RAM just to break even given that a canonical pointer doubles in size. Given that there's a lot of work in the ARM world for reduced, 16 bit or mostly so instruction sets ("Thumb") to run the CPU when it's basically idle and most of it is powered down, I suspect it'll be a long time until we see a 64 chip from them. Especially since their market is 5-9 billion parts per year; people who want a 64 bit chip are in the noise.
- protomyth 17y agoI figured, so I just don't see W7 or the full OS X on ARM. It took too long to get to 64-bit, I just don't see them going back with the full OS.
- mansr 17y agoA 64-bit instruction set is about more than just the size of a pointer. A 64-bit CPU has 64-bit general-purpose registers, and it has versions of arithmetic and logic instructions operating on these. Because 32 bits is enough for most purposes, instructions must also have a variant operating only on the lower half of the registers, the upper half being either ignored or sign-extended from the lower as appropriate. This makes the CPU core a fair bit more complicated, meaning larger silicon footprint are higher power consumption. I agree a 64-bit ARM is unlikely in the immediate future. Extending the physical address space beyond 4GB is possible without any changes to the instruction set. See x86 PAE for an example. In short, the MMU translates a 32-bit virtual address into a wider physical address. This allows running multiple processes with a total memory requirement of more than 4GB. As the vast majority of applications never need more than 4GB of virtual space anyway this isn't much of a restriction in practice. I reckon this kind of thing is something we might see in an ARM core relatively soon, at least if they keep growing in the netbook market.
- anamax 17y ago> This makes the CPU core a fair bit more complicated, meaning larger silicon footprint are higher power consumption. Is 5% a "fair bit"? I ask because the MIPS folks said that their 64 bit instruction set cost them less than 5%. And yes, their 64 bit CPUS supported both their 64 and 32 bit ISAs.
- koenigdavidmj 17y ago>A 64-bit instruction set is about more than just the size of a pointer. A 64-bit CPU has 64-bit general-purpose registers, and it has versions of arithmetic and logic instructions operating on these. No. x86_64 only has sixteen general purpose registers, and 64-bit MIPS still has 32 (one is hardwired to zero, so really 31). Registers in the instruction set are bit-mapped---with five bits you get 32 registers (25). The size of a register and the number of registers are completely independent.
- sparky 17y ago>> A 64-bit CPU has 64-bit general-purpose registers > No. x86_64 only has sixteen general purpose registers Right, but they're still 64 bits wide, like he said.
- timthorn 17y agoThumb is about encoding instructions within 16 bits; it's not about the addressable memory, and it's not about running parts of the CPU in idle - that's an orthogonal issue. The main advantage of a 16 bit instruction is that it is twice as dense in the instruction cache, reducing cache misses - which are extremely expensive in terms of power consumption.
- jacquesm 17y agoInteresting tidbit about the first ARM ever made (the acronym ARM stands for 'Acorn Risc Machine'). When Acorn first decided to create their own more powerful cpu than the 6502 and the 65C02 that were powering the BBC model B as well as the 'tube' co processor they simulated the whole thing on a BBC micro. When they finally had their first silicon delivered the first batch of chips simply worked. Now, of course this CPU was orders of magnitude simpler than modern day CPUs but still, I thought it was pretty impressive.
- hga 17y agoVery impressive, especially for that era. They then used the good chips from that batch to help make the first commercial one. I also liked how they very strongly desired that its waste heat be below the limit for a plastic package (1 W), and that due to the general lack of tools for that at the time, they used good olf fashioned Victorian conservatism, which resulted in a 0.1 W chip (!). Which of course set them up for vast success in the mobile market. A great example about how far a good combination of ambition and humility can take you.
- mnbvgfhjk 17y agoThe OS that went with it (RISC-OS) was pretty special aswell. Easily better than the monochrome Mac of the same era. Had some features that we haven't caught up with yet on windows - like filetypes which are registered independant of extention.
- 10ren 17y agoWindows software, the key benefit of Windows, won't be compatible with a Windows on ARM, without a x86 simulator (slow) or a re-compiler of executables (tricky).
- timthorn 17y agoUnless the Windows software is .NET code - in which case Jazelle RCT on ARM provides a performant solution for bytecode languages.
- vog 17y agoWith some luck, .NET code runs in Mono, so you don't even need a Windows to run it. So if .NET was really the killer app, BSD and Linux would be applicable, too, and those run fine on many architectures. Thus, I think the real "key benefit" are still the native Windows applications. Also, don't forget that most modern computer games use the graphics card more than the CPU, and ARM will have more trouble to compete more with modern graphics cards than with x86.