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.

Saturday, November 3, 2012

A Change of Plans

As you may recall, I had planned to get the model working in a simulator before actually constructing it.  However, after reviewing the activities of the last weeks, I have found that I prefer doing actual things than using the simulator.  With that said, I plan to begin hardware construction as soon as I can get the chips and plan finalized.

I still think that a microcode model is worth it, however, to debug any mistakes in the microcode or code.

You should see some actual stuff happening really soon.  I am looking forward to it!