Re: PIC vs ARM assembler (no flamewar please)



On Feb 20, 2:14 pm, Jim Granville <no.s...@xxxxxxxxxxxxxxxxxxxxxx>
wrote:
rickman wrote:
Using RAM for registers in the way that the TMS9900 did is a concept
that had its time and the world has moved on. It made sense when
register and memory has nearly the same speed. Now that memory is the
speed bottleneck for CPUs, it would be horribly slow to implement.

I think you missed my uC = microcontroller. (AVR <> CPU)
What you state is correct for megabyte CPUs, with all the cahce and
SDRAM fruit, but certainly NOT true for single chip microcontrollers.

CPUs being pressed into uC service, is one of the drawbacks with some
approaches. Quick and dirty, yes, efficent, no.

I understand. The TMS9995 was much closer to an MCU with onboard RAM
and it still was much slower than register based CPUs.

The TMS9900 used a pointer register (that's right, registers did not
go away) to point to the first register in memory. An ADD would then
take three memory accesses to complete rather than one clock cycle.
Even if you put the memory on chip, you either have to limit the
location of the registers to a special bank of fast, multiport memory
(register bank) or you have to accept multiple memory cycles for a
single instruction, even when working in registers.

Sounds like a poor example of how anyone would do this today.

Look at the XC166, and eZ8, for examples of how you can do
very efficent memory overlays.

In a uC, you are talking of a few K's of memory, so speed should
not be an issue at all.

But for RAM to be as efficient as a register file it has to be triple
ported so you can read two operands and write back another... or you
have to go to an accumulator based design. Once you have triple
ported RAM, you have just added a register file! A rose by any other
name still smells as sweet...



.



Relevant Pages

  • Re: what is the meaning of registers,internal memory?
    ... Unlike RAM, these little scratch pads as I mentioned are tucked away ... RAM = Random Access Memory, ... number of CPUs on a memory bus, and eliminates the bottlenecks with many ... NUMA systems are not clusters however, ...
    (comp.lang.asm.x86)
  • Re: can somebody help me with the problem with tasm models
    ... When Intel created the x86 originally, ... registers...now, when addressing memory with something like "", this ... valid...the rest aren't yet wired in and are ignored in memory addressing ... "offset" register, this would give a 20-bit address...if, in time, they ...
    (alt.lang.asm)
  • Re: SMP & memory question
    ... > Question regarding how SMP systems allocate memory... ... In an SMP system the memory is a single shared pool. ... All CPUs share equal ... that setup each CPU has its own RAM but can access all the RAM connected ...
    (comp.os.linux.hardware)
  • Re: a question for mr dark science or anyone else with the knowledge
    ... speeds are as fast as they're going to go. ... Any faster and the CPUs will ... So without a system that has special BIOS memory features and special ... remaining address space for your RAM. ...
    (comp.graphics.apps.lightwave)
  • Re: Calculating checksums...
    ... - it's a word memory reference using a register address ... lods - it's the lods instruction ... parens are a memory reference. ... programming and why, with the end of the 68k, teaching assembly ...
    (alt.lang.asm)

Loading