Tuesday, November 6, 2012

Unfreezing the Architecture

A few posts ago, I stated that I planned to freeze the architecture as soon as I got the microcode assignments worked out.  There has been a change of plans.

I am now considering using Warren Toomey's Mack architecture, shown in this forum post.  It is a simpler 16-bit half-address design.

Advantages of switching:
  • A 16-bit architecture will help with the implementation of various compilers and coding in general.
  • Implementing the computer will be much simpler.
  • The 4 general registers, each of which can also be used as an address, will be much more flexible.
  • It has an essentially 1-cycle design, making it that much more simpler to build, profile, and time.
  • With an advanced memory controller, certain aspects of memory management become much simpler.
Disadvantages:
  • It can only load the first general register with an immediate value.
  • There is no indexed addressing.
  • It has no native stack, though one of the general registers can be used.
  • Working around various "features" of the design (no interrupts, no reading or writing program memory) will require a much more complex memory controller.
  • It will become much more repetitive to build because of the 16 bits.
Those are the basic advantages/disadvantages I've seen.
I've also been coding a few basic Forth primitives in Mack, and it seems much simpler and shorter than in my 6502-esque ISA, mainly because of the extra registers and native 16-bit.  Undoubtedly, something like Small-C will become much easier to code too.

Anyways, I'll think on it a few more days.

No comments:

Post a Comment