Hey im struggling with a Task. Anyone here to help me to solve this question?
Consider the appearance of the Mic-1 and discuss the following changes. Go For example, ask whether the micro-architecture is still fundamentally working and which one Changes occur on the lines and what effects on the micro-programs or Would arise to MIR.
(a) We want to add another flag, for example the carry flag.
(b) We would like to add another (read and write) register.
(c) We remove the TOS register.
(d) We are removing the MDR register
There is no carry bit/flag in the basic design, so this is not adding another carry bit — just more generally adding another flag/bit.
But, yes, if you add such a flag, the existing microcode for the existing micro machine will still fundamentally function.
Discussion
But this newly added flag would be useless without at least one other operation to use or test the new flag perhaps similar to the way the existing flags (N,Z) can be tested (e.g. via conditional branch in micromachine).
This architecture uses horizontal microcode, so to add an operation to test the carry flag, one would expand the micro instruction set from 36 bits to 37 bits.
JAMN
andJAMZ
are the existing bits to test N & Z, and you'd add a new bit forJAMC
to test the carry flag in the same manner.Once the micromachine instruction is widened to 37 bits, the existing microcode will have to be modified to insert 0's for existing instructions, in order for them to continue working as they were, thought that would be simple from certain point of view (insert zeros in that column for all existing microinstructions in the microprograms).
Further, you'd want to add an IJVM instruction that used the new
JAMC
micromachine feature, to offer the regular machine code / assembly program access to the new carry flag functionality. Such a new instruction could either simply test the carry flag and branch, or, it could provide an ADD with Carry, for multi-word arithmetic (or offer both), and some of this might also indicate further changes to the micromachine (such as a new ALU operation for ADD with Carry).Yes, merely adding another register would not break the machine.
Fundamentally the micromachine and microprogram would continue to work, but of course, to take advantage of the new register, additions to the B bus encoding field in the microarchitecture would be necessary (to allow the new register to be read: to be placed on the B bus), but existing program would continue to work.
Also, additional bits in the horizontal microcode would also be necessary (analogous to the TOS bit in the microarchitecture that enables capturing the C bus value in TOS) — as per the above discussion, widening the microinstruction size would alter the existing microprogram, though with an easy fix (widen existing microprogram with 0's for those new bits).
Yes, the offering of the micro architecture would be broken in several places and the existing IJVM microprogram would surely break.
Yes, without the MDR, data cannot be written read or written between main memory and the microprogram.