Re: microcontroller programming -- how to begin



Ken Smith wrote:
In article <447f2e71$1@xxxxxxxxxxxxxxx>, David <david@xxxxxxxxx> wrote:
Ken Smith wrote:

[....]
It's true that the AVR, like the PIC and the 8051, are Harvard, while the x86 is von Neumann. But that's only one aspect of the architecture - in many other ways, they are completely different.

Ok lets discuss those differences.

And since you are happy count the PIC and AVR as similar because they both have registers

Yes, they both use the concept of the register. ie: a very special memory location that can be used in ALU operations. There have been a few attempts at processors where there are no "registers" in that all operations took data from RAM and put the result into RAM. IIRC: The Intel 432 was an example of this.

or because they both execute instructions sequentially,

I was thinking of a bit slice design that did not have this property when I wrote that. In some "very long instruction word" designs, the address of the next instruction in encoded in each instruction. These machines are light years different from things like PICs or x86s.


There are certainly processor architectures that use significantly different architectures, making the PIC and AVR seem similar in comparison. I have read of several processor designs (some only theoretical, others made in practice) that use two, three or four stacks instead of having any data registers. But I think it's reasonable to divide architectures in groups according to the number of general purpose registers. RISC architectures like the MIPs, PPC and AVR, along with hybrids like the MSP430 and the 68k have multiple orthogonal registers. Accumulator-based designs like the PIC or the COP8 have a single main register. A third group has several specialised registers, like the x86 and the Z80. And a forth group has no registers at all, like the MARC4.

I guess how "different" two architectures are depends on what you see as important in the design, and is always a subjective measure. But I think most people who have looked at the ISAs for the PIC, the 8051 and the AVR will see each as very significantly different, with the 8-bit width of the ALU being about the only common factor.
.



Relevant Pages

  • Re: microcontroller programming -- how to begin
    ... There have been a few attempts at processors where there are no "registers" in that all operations took data from RAM and put the result into RAM. ... In some "very long instruction word" designs, the address of the next instruction in encoded in each instruction. ... There are certainly processor architectures that use significantly different architectures, making the PIC and AVR seem similar in comparison. ... I have read of several processor designs that use two, three or four stacks instead of having any data registers. ...
    (sci.electronics.design)
  • Re: How AMD will take on Intel Woodcrest: twice the FPUs
    ... It might be worth having more execution ... parallel designs for the future. ... cannot design 3 new architectures. ... consider how badly outclassed x86 is by every halfway reasonable ...
    (comp.sys.ibm.pc.hardware.chips)
  • Re: microcontroller programming -- how to begin
    ... happy count the PIC and AVR as similar because they both have registers ... In some "very long instruction word" designs, ... There are certainly processor architectures that use significantly ... like the x86 and the Z80. ...
    (sci.electronics.design)
  • Re: [RFC][GIT PULL][PATCH 0/10 -tip] cpu_debug patches 20090613
    ... read complete state (dump all registers like for MTRR, ... And I did this for complete X86 CPU registers and info: ... available for many architectures (I CCed some architecture maintainers ... so that they can also specify issues they face when supporting new ...
    (Linux-Kernel)
  • Re: FreeRTOS context switch time
    ... In shared bus architectures where multiple bus masters ... Interesting - if you visualise a typical port, it's just a D style latch ... round the lack of rmw instructions, thus making a virtue from necessity. ... Greenfield Designs Ltd ...
    (comp.arch.embedded)