[Coco] Good old days with many CPUs Re: Midwest VCF

gene heskett gheskett at wdtv.com
Tue Sep 27 20:16:29 EDT 2011


On Tuesday, September 27, 2011 07:53:13 PM Steve Bjork did opine:

> The stacks tell the story...
> 
> The TI9900 CPU gets a Zero for 0 stack pointers

I may be screwing this up because I still do not fully grok the TI9900's 
architecture...

Why does it need a stack? Multitasking task switching is as simple as 
switching the contents of the pointer register so it points at a different 
register image.  The pointer register is I believe, also in memory. I think 
and the TI9900 literally has no registers of its own other than a fixed 
memory location for the register image pointer.  No process ever knows if 
its running or stopped because when that set of registers, which includes 
its program counter, just sit there while the register pointer is pointing 
at a different register image and executing that process.

That may not be a 100% accurate picture, and I'll duck and run but it 
should be good enough for this discussion.  ;)

> The 6502 CPU gets 1/2 because their stack is an 8-bit pointer. (Too easy
> to overflow)

And probably the biggest reason I've called it drain bamaged from the kim-1 
days..  The other reason is the 8 bit conditional branch limit.  The Z80 
also suffers from this "within the page" limit, so conditional branches to 
anyplace in its address space are a 2 step process, loading up the stack.  
Needlessly IMO.

> The Z80 CPU get a One for a 16-bit stack pointer.

It's been yonks Steve, since I last played with a Z80, but didn't the dual 
register set, switchable with the $EB command, include a 2nd stack pointer?  
I don't remember after 30 years of staying away from it if at all possible.

> The 6809 CPU gets a Two for 2 stack pointers (system and user, both with
> index)
> the 680X0 CPU get a Two (or better) for One system stack and up to 7
> User stacks pointers.
> 
> I would not want to write OS-9 for any CPU with a stack score of less
> than 2.

On that we agree violently.  ;-)  In fact, I'm not convinced it would even 
be possible.

[...]

Cheers, gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
<Hydroxide> knightbrd: from knightbrd.brain import * :)
<knghtbrd> Oh gods if it were that easy ..
<knghtbrd> from carmack.brain import OpenGL



More information about the Coco mailing list