Problem Statement:
|
It's time to take a trip down memory-lane,
and see what life must have been like in the "old" days.
For this project you will create a set of instruction code formats for a
fictitious machine using the following parameters:
- Word length is 16 bits
- Instructions include
- ld - load a register from memory
- st - store a register into memory
- sethi -load the xx most significant bits of
a register
- andcc, orcc, orncc - bitwise logical and, or and
nor
- srl - shift right
- addcc - add
- call - call subroutine
- jmpl - jump and link
- be, bneg, bcs, bvs, ba - branch if equal, if negative,
on carry, on overflow and always
- Any other additional operations you believe are
necessary
- Eight (8) registers, %r0 through %r7
- %r0 is always 0
- Program counter, instruction register & stack
pointer
|
Task Specifics:
|
- Based on the requirements above, create a set of instruction
code formats.
- Write a justification/explanation for each choice
you make in your design.
- Given this design, include a discussion of how this
will affect CPU design, if at all.
- Submit your set of formats, your justification/explanation,
and your discussion on CPU design.
|