

ARM: The Democratization of the CPU - anderzole
http://mobilelocalsocial.com/2010/03/arm-the-democratization-of-the-cpu/

======
jacquesm
Interesting 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
Very 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.

------
protomyth
It 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
Not 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.

~~~
mansr
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. 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.

~~~
koenigdavidmj
>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 (2 __5). The size of a register and the number of registers are
completely independent.

~~~
sparky
>> 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.

------
10ren
Windows 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
Unless the Windows software is .NET code - in which case Jazelle RCT on ARM
provides a performant solution for bytecode languages.

~~~
vog
With 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.

