|
![](/i/fill.gif) |
>>> I gather ARM is quite a popular architecture. I don't know whether
>>> that's because there's readily available chips and IP-cores, because
>>> it's low-power, or because it's really easy to program...
>>
>> Low power.
>
> Why is that? It is because there's something particular about this
> instruction set which makes it especially suitable for low power? Or is
> it merely that a lot of people have spent R&D on making low-power
> implementations of it?
The former I would guess, as even the first versions used in the Acorn
desktop machines were very low power when they probably didn't have any
budget, time or real incentive to reduce it. I'm sure since then though
there has been huge pressure and R&D expenditure to reduce it further.
This list is quite interesting:
https://en.wikipedia.org/wiki/Transistor_count
At each point in time the ARM CPU seems to have about 10x fewer
transistors than its x86 equivalent. As a very rough I guess I'd say
that means it used 10x less power. In thermal terms that is probably
enough to make the difference between needing a heatsink and fan and
working with just the bare chip.
What's also interesting is that the ARM2 had 25k transistors, yet
further down the page it claims 21k transistors are needed for a 32-bit
multiplier. Figure that one out. I think the answer is that on the ARM2
the MUL instruction was the only one (apart from the load/store multiple
register instruction) that took more than one clock cycle. As such it
probably used a much smaller circuit to do it in chunks.
It also interesting to note that even on the earliest cores you could do
an arbitrary bit-shift for free with every instruction on one of the
source registers. So if you wanted to multiply by 320 (commonly needed
in graphics algorithms of the day) you could do it with a single move
and add instruction:
result = y << 8
result = result + y << 6
Post a reply to this message
|
![](/i/fill.gif) |