home .. forth .. misc mail list archive ..

Re: Re: intro


On 14 Nov 1997, Dan C. Rinnert wrote:

> KC5TJA,kc5tja@topaz.axisinternet.com,Internet writes:
> >Anybody else share the hobby of building home-made processors?
> 
> That's something I'm interested in.  Any tips for beginners?

Yes.

1) ALWAYS have a clean distinction between functional units in your CPU.
Design your CPU as you'd design a Forth program -- always abstracting.
Unlike analog electronics, digital circuits make this quite easy.

2) ALWAYS keep timing parameters in mind.  I can't tell you how difficult
it was to get my first 4-bit execution unit running...

3) ALWAYS treat the CPU as if it were a PERIPHERAL on the bus, not the
bus-master proper.  This means the CPU will use an external bus arbiter,
but that's OK -- it makes for better bus design anyway.

4) The CPU *ALWAYS* has the least bus priority anywhere.  Otherwise,
things like sound peripherals and video peripherals would loose all of
their data streams before they could refresh themselves.

5) KISS.  Don't strive for too much too fast.  My first CPU was a 4 bit
unit that could only address 128 bytes of RAM (256x4), and had eight
instructions (load/store accumulator, display accumulator, hide display,
increment accumulator, decrement accumulator, jump if zero, and no
operation).  Theoretically, my first CPU was Turing complete, but with
only 256 addressable nybbles, it didn't do too much... :)

6) RE-USE EXISTING DESIGNS.  If the bus arbiter for the 4-bit architecture
worked like a dream, then use the same technology for the 8-bit and 16-bit
CPUs you build!! :)

7) DOCUMENTATION, DOCUMENTATION, DOCUMENTATION.  I'm literally kicking
myself everyday because I never recorded my results when I built my 4 and
8 bit units.  I wish I had, because then I could write to magazine
articles on the subject.

I even pondered the concept of a GNU Processor Architecture, of a freely
redistributable and GNU copylefted processor architecture design.
Unfortunately, with me having so little time, it never took off.

=============================================================================
"Tongue Tied and Twisted, Just an Earthbound Misfit..." - Pink Floyd

Long live the AMIGA!!                 HAM Radio: KC5TJA/6, Tech +, 146.730MHz
http://www3.axisinternet.com/~kc5tja                         Grid Square DM13

Project Leader: Dolphin Operating System (mailing list: ddg@axisinternet.com)

PGP block temporarily unavailable...  Another is coming soon.