Re: the stack
- From: "Rod Pemberton" <do_not_have@xxxxxxxxxxxxx>
- Date: Mon, 31 Dec 2007 16:24:46 -0500
"Phil Carmody" <thefatphil_demunged@xxxxxxxxxxx> wrote in message
news:87d4snm340.fsf@xxxxxxxxxxxxxxxxxxxxxxx
"Rod Pemberton" <do_not_have@xxxxxxxxxxxxx> writes:news:f45b4608-fafa-4fd3-b73d-d34d84e4287d@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<bob@xxxxxxxxxxxxxx> wrote in message
theI was just wondering why the stack grows downwards on x86 processors.
The short answer: it was designed that way.
The 8086 was compatible with the 8080. Stanley Mazor of the 8080 design
team designed the 8080 stack that way:
"Deleting the on-chip stack saved chip area, but was a net advantage to
8086."user -now the stack had unlimited size. I defined the stack as growing
downward from the high end of memory; this facilitated indexing into the
stack and simplified displaying the stack. This was abandoned on the
thehttp://www.xnumber.com/xnumber/Microcomputer_invention.htm
By "abandoned ...," I think he means the stack was put back on-chip for
8086.
Or does he mean that it being stuck at the high end of memory
was abandoned, as it could now reside in arbitrary locations?
That was my first thought: that the stack was SP based on x86 and not fixed
to top of memory (which I'm assuming from his statement since I don't know
much about the 8080... Altair's and Imsai's were a couple of years before I
got into computers.). But, after a reread, I said "What, that doesn't make
too much sense... Why would he mention something trivial and irrelevent
like the stack being at the top of memory being 'abandoned'? Using the word
'abandoned' would be overkill. Now, if he was talking about testing out
ideas in silicon..." The rest of the article indicated most of their
changes were intended to give a 10x speedup. So, the smallest contributors
to performance lost on-chip silicon. I suspect the designers found an in
memory stack with the 8080 to be an order of magnitude slower than an on
chip stack considering the memory speeds (500ns or slower) of the era. The
6502 (a year and a half or so after the 8080) was the first microprocessor
with a pipeline (not CPU - apparently the Cray CDC 6600) so it probably
wasn't much more than one order of magnitude. Anyway, I'd assume that once
the designers had more silicon work with, they put it back on the silicon.
I'd have to do some research to find out for sure, but it's a highly
plausible assumption to me...
Rod Pemberton
.
- References:
- the stack
- From: bob
- Re: the stack
- From: Rod Pemberton
- Re: the stack
- From: Phil Carmody
- the stack
- Prev by Date: Re: asm grep
- Next by Date: Re: NASM page
- Previous by thread: Re: the stack
- Next by thread: Memory dump program
- Index(es):
Relevant Pages
|