Th, 3 November 2016, 19:55

A student writes:

> Hi Dr. Patt,
> While I was planning out additions to the datapath for Lab 4 I found myself
> wondering if I could reduce the number of control signals and storage
> elements needed for a certain part of the lab, but then realized that I
> would have to add additional muxes and logic to compensate for the reduced
> amount of control that the microinstructions have to handle this part.
> As a result, I was wondering what the relative costs of various parts of
> the microarchitecture are, such as additional control signals,
> microinstruction size, muxes, and registers, and how they should be
> balanced.
> For the aforementioned part of the lab, I was cutting down the needed
> number of control signals and registers at the cost of requiring additional
> logic. Was this trade actually good?
> Sincerely,
> <<name withheld to protect the student who wants to know the tradeoffs>>

I appreciate the question, but for purposes of EE460N, I am more concerned
that you get the lab done correctly than that you worry excessively about
the tradeoffs.

I am sending this to the class in case anyone else is worrying too much at this
point about the tradeoffs.

However, since you asked...

You are correct, microcode takes up space and so shorter microinstructions are
better than longer ones.  And you are also correct, extra muxes create extra
propogation delay which could increase cycle time.  So, what to do?  The
answer is always: it depends!

The first consideration is almost always cycle time.  So, if adding muxes
makes the propogation delay the critical path, thereby increasing cycle time,
it is a bad idea.  If it doesn't increase cycle time, it is good to do provided
the extra area consumed by the muxes is not greater than the extra area consumed
by the microcode.

Since you do not really know which path is the critical path, you can do Lab 4
without worrying about this.  I am concerned that you produce a solution
(which requires extra data path, extra state machine, extra microsequencer,
and extra control signals) that works!

Good luck finishing lab 4 this weekend.

Yale Patt