From: invalid on
"Pertti Kellomaki" <pertti.kellomaki(a)tut.fi> wrote in message
news:hfnmce$d5m$1(a)news.cc.tut.fi...
> Jon Kirwan wrote:
>> It's kind of nice to have an architecture that is basically an
>> "invisible man" for studying cpu design. Everything exposed to view.
> I thought that was the purpose in life for the RCA 1802.
> I am a software guy, and even I can see the muxes.

A really weird design ISTR where the architect had lost sight of the
fundamental nature of the hardware which is to move around and
operate on data.

A full set of BOTH branch and skip instructions BUT 8 16-bit
registers that could only be copied to each other in bytes passing
through the accumulator!


From: Coos Haak on
Op Wed, 9 Dec 2009 09:06:31 -0000 schreef invalid:

> "Pertti Kellomaki" <pertti.kellomaki(a)tut.fi> wrote in message
> news:hfnmce$d5m$1(a)news.cc.tut.fi...
>> Jon Kirwan wrote:
>>> It's kind of nice to have an architecture that is basically an
>>> "invisible man" for studying cpu design. Everything exposed to view.
>> I thought that was the purpose in life for the RCA 1802.
>> I am a software guy, and even I can see the muxes.
>
> A really weird design ISTR where the architect had lost sight of the
> fundamental nature of the hardware which is to move around and
> operate on data.
>
> A full set of BOTH branch and skip instructions BUT 8 16-bit
> registers that could only be copied to each other in bytes passing
> through the accumulator!

You lost count, there were 16 16-bit registers ;-)
--
Coos
From: Pertti Kellomaki on
invalid wrote:
> A really weird design

I can agree to that. But I still miss the feeling when
on a sunny spring day you could just decide to start
using R5 as your program counter and RA as the stack
pointer, and the next day on a whim switch to using RB
and R7 instead. None of the "your PC is your PC"
straight jacket stuff ;-)

For those who don't know Cosmac, there is no fixed PC
and fixed stack pointer. Instead, there are 16 general
purpose 16 bit registers, and two 4 bit registers that
determine which registers function as the PC and the SP.
One can do neat coroutines and subprogram calls simply
by changing which register is the PC.

To get back to the subject, it would probably be feasible
to construct a mechanical equivalent of the processor
if one were really determined.
--
Pertti
From: Meindert Sprang on
"Pertti Kellomaki" <pertti.kellomaki(a)tut.fi> wrote in message
news:hfq9d5$lr3$1(a)news.cc.tut.fi...
> For those who don't know Cosmac, there is no fixed PC
> and fixed stack pointer. Instead, there are 16 general
> purpose 16 bit registers, and two 4 bit registers that
> determine which registers function as the PC and the SP.
> One can do neat coroutines and subprogram calls simply
> by changing which register is the PC.

This reminds me of an idea I once had about having a CP, a Contect Pointer.
This would be a pointer to an arbitrary RAM location where the entire
processor context is stored. This would make context switching in a
multitasking environment very fast compared to the usual pushing and popping
of all processor registers.

Meindert


From: Pertti Kellomaki on
Meindert Sprang wrote:
> This reminds me of an idea I once had about having a CP, a Contect Pointer.
> This would be a pointer to an arbitrary RAM location where the entire
> processor context is stored.

You would love the TI TMS9900, where registers were kept in RAM:
<http://en.wikipedia.org/wiki/Texas_Instruments_TMS9900>
--
Pertti