Question: Microinstruction I have to write following Micro Instruction: JUMP DIRECT: The last 24 bits of the IR give a memory address. The machine-language instruction stored
Microinstruction I have to write following Micro Instruction:
JUMP DIRECT: The last 24 bits of the IR give a memory address. The machine-language instruction stored at that address is the next one to be executed.
JUMP REGISTER OFFSET: The last 24 bits of the IR are added to the value in the general register given by the IR zone 3. The low 24 bits of this sum are the address of the next instruction to be executed.
CONDITIONAL JUMP DIRECT: The last 24 bits of the IR are make an address. The IR zone 3 specifies a register. If the value of the specified register is non-zero, then jump to the instruction given by the last 24 bits in the IR. Otherwise, just proceed to the instruction that follows this one.
CONDITIONAL JUMP REGISTER LT: If the value in the general register given by the IR zone 1 is < the value of the register given by the IR zone 0, this instruction jumps to the location given by the low 24 bits of the value in the register given by the IR zone 2. Otherwise, it proceeds with the next instruction.
CONDITIONAL JUMP REGISTER GT: If the value in the general register given by the IR zone 1 is > the value of the register given by the IR zone 0, this instruction jumps to the location given by the low 24 bits of the value in the register given by the IR zone 2. Otherwise, it proceeds with the next instruction.
CONDITIONAL JUMP REGISTER EQ: If the value in the general register given by the IR zone 1 is equal to the value of the register given by the IR zone 0, this instruction jumps to the location given by the low 24 bits of the value in the register given by the IR zone 2. Otherwise, it proceeds with the next instruction.
CONDITIONAL JUMP REGISTER NEQ: If the value in the general register given by the IR zone 1 is not equal to the value of the register given by the IR zone 0, this instruction jumps to the location given by the low 24 bits of the value in the register given by the IR zone 2. Otherwise, it proceeds with the next instruction. Guide Line:
1. Always have your first microinstruction be placed at location 0. You can go to other locations in subsequent instructions.
2. Use just one machine language instruction for your machine language program.
What this instruction has in it will depend on the assignment.
3. Make sure that your last microinstruction has as its next address either all 0s or all 1s. If your program branches,
make sure that all final instructions have either all 0s or all 1s for their next address field.
(The microarchitecture halts after running a microinstruction that then tries to move on to microaddress 0 or microad- dress 1023.)
4. The first microinstruction for each microprogram should load the machine language instruction from memory and place
it in the IR. It should also increment the PC.
By default the machine language instruction will be located at address 0 and the value of the PC will be initialized to
0. However, this first microinstruction should not assume that the value of the PC is 0. Instead, it should increment
the value of the PC by one from whatever value is currently in it.
This is the site we use to check if the those instructions would work: http://galadriel.csci.morningside.edu/~campbell/microarch/mcsciRunExt.html Thanks in advance.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
