[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: life extension of old computers thanks to opensource Contiki



Matthew Russotto wrote:
In article <43e9c237$0$11067$e4fe514c@news.xs4all.nl>,
Peter de Vroomen <peterv[at][spamblock]jaytown[dot]com> wrote:

Learning to code in ARM assembler is by no means a useless skill, as it
is directly applicable to modern-day engineering tasks.

No, of course not, but optimizing for a RISC processor is simply more
challenging than optimizing for a CISC processor. If you want to learn
assembly, it's best to start with a CISC processor, learn the basics, and
then step up to the RISC processor.


For optimization difficulty, RISC or CISC makes little difference;
superscalar or not is the big difference, and both CISC and RISC
machinese are superscalar nowadays.  So even leaving branches out of
it, you have to maintain multiple parallel cycle counts.  Add the fact
that memory access isn't constant (depending on cache) and you have a
real bear of a problem.

Bingo.

PowerPC assembler -- or ARM, for that matter, -- is much easier to
learn than x86 simply because x86 is still a 32-bit patch on a 16-bit
extension of an 8-bit machine, and its instruction set shows it.  The
paucity of registers doesn't help either, though the direct-to-memory
instructions do.

They don't help if you want to go fast...you just have to find a way
to trick the CISC-to-microcode translator to do what you really want
it to do, in spite of the CISC interface.  (The fact that the rules
change from generation to generation makes this quite problematic.)

And about 'RISC architecture'... Of course these days the differences
between RISC and CISC are pretty muddy.


About the only constant in RISC seems to be the lack of memory addressing
modes for any instructions other than loads and stores.  That is, you
can't do arithmetic or branch based on a memory location.

There are a few other things...  fixed/regular instruction formats,
constant instruction execution time, large general register files,
data aligned on natural boundaries, all instructions implementable
by a simple combinatoric logic data path, etc.

-michael

Music synthesis for 8-bit Apple II's!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."