Re: microcontroller programming -- how to begin
- From: Rich Grise <richgrise@xxxxxxxxxxx>
- Date: Sat, 03 Jun 2006 03:24:27 GMT
On Fri, 02 Jun 2006 20:17:52 +0200, David wrote:
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.
I got nostalgic for the 6502; it's a very neat processor for little stuff;
it's got like 256 general purpose registers called "page 0" which live in
RAM, right next to the 256-byte stack. So, I went looking, and there's
VHDL and Verilog cores for it all over the place! (I made a keyboard
interface with one once. :-) )
Cheers!
Rich
.
- Follow-Ups:
- Re: microcontroller programming -- how to begin
- From: David
- Re: microcontroller programming -- how to begin
- References:
- Re: microcontroller programming -- how to begin
- From: Ken Smith
- Re: microcontroller programming -- how to begin
- From: David
- Re: microcontroller programming -- how to begin
- From: Ken Smith
- Re: microcontroller programming -- how to begin
- From: David
- Re: microcontroller programming -- how to begin
- Prev by Date: Re: op-amp as a comparator
- Next by Date: Re: microcontroller programming -- how to begin
- Previous by thread: Re: microcontroller programming -- how to begin
- Next by thread: Re: microcontroller programming -- how to begin
- Index(es):
Relevant Pages
|