|
|
clipka wrote:
> * Did you think about how to implement a stack (and subroutine calls)?
Yes: With great difficulty. ;-)
There are instructions to load and save the PC. Your "stack pointer" is
going to be a RAM register rather than a CPU register. You'll have to
manually incriment/decriment it, which will be absurdly tedious. But it
can be done.
> * The address space is not only piffling, but outright insufficient,
> especially given the limited instruction set;
Well, there is that.
I'm not seriously expecting to make a usable computer out of it. I'll
just be amazed if it actually ****ing works at all! Currently it works
in the simulator, but I don't think the simulator is taking gate delays
into account, and I'm really not sure how that affects all the
edge-triggered circuits I've used. (!!) There's also the minor detail
that even the trivial little design I have now is going to take an
absurd number of gates to realise in hardware...
> some things you could do about it:
>
> - As your commands are all 2 bytes wide, you can require that they be
> 16-bit aligned, so you can increase address space available for programs
> to 512 bytes (=256 instructions).
In other words, make memory 16-bit addressible rather than 8-bit
addressible.
> - Harvard architecture.
That could work...
The other possibility, of course, is to just connect up more address
lines. Makes little or no difference in software, but in hardware I
suddenly have to put a hell of a lot more wires together. ;-)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
|