Amiga.org
Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: freqmax on April 11, 2014, 06:53:00 AM
-
Many here has some experience with m68k and the orthogonally instruction set etc. So I wonder for those that got experience on ARM too. How "nice" is it to deal with?
-
ARM is a famous RISC CPU. This brings simpler instruction set. And it is easier to learn.
There are some common ideas and implementations in 6502 CPU, and RISK CPU's. If you know 6502 (or 6510) it will speed up the thinks.
-
Many here has some experience with m68k and the orthogonally instruction set etc. So I wonder for those that got experience on ARM too. How "nice" is it to deal with?
The ARM instruction set... Or I should say the AArch32, is fascinating. It would have to put it next to MIPS for beauty, and next to the 68k for practicality! You need to check out things like the conditional instruction prefix (basically a way to retire an instruction deep in the pipeline for free) and that you can get some shifts for free, no to mention the banked registers for ultra low latency interrupt handling, to see how awesome it is!
It's actually a shame the Commodore engineers didn't put the original ARM2 in the Amiga*.
Aarch64 on the other hand is a much darker beast, not designed to be looked upon with human eyes, but does seem to be an amazingly well designed instruction set.
*Total fantasy on my part, since the ARM2 (the first practical ARM chip), wasn't ready until about '87 and there is no way the Hi Torro team could have known about it let alone secured samples/supply, or would they have wanted to risk (excuse the pun) their design on such a chip. Plus, using an ARM would have required twice as much memory in the Amiga then it originally shipped with, something cost sensitive Commodore would have freaked out about.
-
It's fairly elegant, although it has some annoyances (for instance, as on most RISC architectures, you can't load a register with an immediate value the size of the machine word - ARM makes you do it a byte at a time.) Still, some of its nice features (like the built-in barrel-shifter that can be applied to any operand) are astonishingly good.
-
ARM is a famous RISC CPU. This brings simpler instruction set. And it is easier to learn.
There are some common ideas and implementations in 6502 CPU, and RISK CPU's. If you know 6502 (or 6510) it will speed up the thinks.
The people who designed it did love the 6502, although I'm not sure it helps much. People say the 6502 and 68000 are risc-like, but they are not not. I would put the arm in the same category.
MIPS R3000 is definitely RISC, it's my personal favourite but delay slots make it hard to get your head around if you've used CISC before.
-
@CommodoreJohn
Oddly, the 6502/6510 instruction set is really very close the the PDP 11's.
-
The 6502? Not hardly - it's an accumulator-oriented architecture with special-purpose registers where the 11 has a large (for the time) set of entirely orthogonal registers (you can even do math on the program counter!) The 68000 owes a good deal to the 11, but the 6502 owes more to the PDP-8 (even down to the "zero page" mode.)
-
Having programmed both in assembly, I seen a lot of similarities. Granted the PDP 11/40 is a mini and the 6502 is a micro with fewer options. The 11/40 had only 64kb and the 11/60 had paged 128kb..