On 2021-02-04 2:23 a.m., Arno Griffioen wrote:
On Wed, Feb 03, 2021 at 05:33:56PM -0800, Larry McVoy
wrote:
I have to admit that I haven't looked at ARM
assembler, the M1 is making
me rethink that. Anyone have an opinion on where ARM lies in the pleasant
to unpleasant scale?
'Different' is what I would call it..
Years ago I did a bunch of assembly hacking on the original ARM2 used in the
Archimedes A3000, which was an amazingly fast CPU for the time.
The thing that stood out on these CPU's to me, which was wildly different
to what I was used to (M68K, 6502, Z80/8080, VAX), was the fact that
many instructions were (somewhat) composeable.
Aka. you can/could add varuous logical operations like AND, OR, etc. 'into' an
instruction like a load or store and it would take the same number of clock
cycles to execute it all in 1 go.
That is immediately reminiscent of DG Nova, PDP-8 (and to a tiny extent,
PowerPC).
That was great for doing data manipulation at very high rates for the time
compared to the common CISC CPU's as you did not need to go through multiple
fetch and modify cycles.
Reminiscent of some VLIW setups, but still more 'human readable' :)
The original ARM1/2/3 design did have some oddities like status bits being
encoded in the top of the (23) address bits, which meant that later versions of
the original design had to do some memory tricks to use a bigger address
space and keep compatilibity to the original code.
I suspect the current common ARM revisions since the move to the StrongARM
(ARM4) architecture, when DEC got involved and ARM became a standalone chip
design firm, have long fixed those oddities.
Probably still retains the way in which it encodes it's instructions to make
a lot of common logic operations while shuffling data more efficient though..
ARM MCUs also have the "bit manipulation engine" for a similar goal, I
think.
--Toby
Having said that.. (and bringing it more back to TUHS instead of COFF ;) )
The ARM2 and ARM3 based machines could already run UNIX with Acorn selling
RISC iX for a short time, which was a 4.3BSD port done in the late 80's
and early 90's.
Very few of those were ever used/sold though as the Acorn Archimedes series
of machines were quite a bit more expensive than more widespread CISC machines.
Most were found in the UK and often in universities and the like.
Bye, Arno.