| | Microcode or Hard-wired Logic?06/03/2009
 My first focus of attention has been the Instructions Decoder and Sequencer.
 
 It seemed at first that Microcode is the only way to go. However, a quick research via Internet showed me that such decision is far from obvious, though very attractive indeed.
 
 Microcode presents irresistible advantages to me:
 
 - Easy to understand
 - Easy to implement
 - Naturally extensible
 
 But it also has a disadvantage: It can get inefficient compared with other options such as a RISC-like hard-wired logic implementation, specially if one goes creative and build long, complex instructions. My computer will be slow for sure so I am almost obligated to compensate for that with efficiency.
 
 Nevertheless I sketched a block diagram of what it would be my Microcoded Sequencer (I prefer to call it FSM since that's what it is basically). Here it is:
 
 
 A brief explanation of the diagram is in here.
 
 The other way is hard-wired Logic... which is not obvious either.
 
 I had established that my op code is 16 bits. That is because my computer has the traditional Von Neumann architecture so data words and code words are the same width. I don't really know if there is sufficient room for field-oriented instruction encoding in 16 bits; that is something that I would need to explore.
 
 Nevertheless I also asked my self how to decode without microcode and came with this approach:
 
 
 For an explanation on how it works, click the link below:
 index.php?branch=155
 
 The fact of the matter is that I can't make a decision yet. Perhaps it is better to left this matter for later, when I had advanced the design of the CPU circuitry thus I had a better idea of what control signals I really need to produce.
 
 | 
 
 Homebuilt CPUs WebRing
JavaScript by Qirien Dhaela 
 Join the ring?
David Brooks, the designer of the Simplex-III homebrew computer, has founded the Homebuilt CPUs Web Ring. To join, drop David a line, mentioning your page's URL. He will then add it to the list. Project start date: May 13 of 2009You will need to copy this code fragment into your page.
 
 |