The descriptive text of the MIPS machine and the 16-bit ALU
Regarding the 16-bit ALU design:
The ALU design is composed of 16 1-bit ALUs. Each 1-bit ALU performs 5 functions AND, OR, Addition, Subtraction and Rotate left one bit.
The ALU has 3-bit control lines, 2 bits for the ALU operation control line, which determines which one from the 5 operations will be executed at the ALU. The other 1-bit is for the Binvert control line, which determines if the operation is addition (Binvert = 0) or subtraction (Binvert = 1).
In addition it has two 16-bit inputs, a 16-bit output, a 1-bit overflow and a 1-bit Zero output, which is set to 1 when all bits of the Result are 0.
Regarding the MIPS machine components, it is composed of the following components:
Register file which contains 4 registers, 16-bit long, numbered 0 - 3.
Program counter PC: 16 bits.
Instruction Memory: Byte addressing, 16-bit word and 16-bit address.
Data Memory: Byte addressing, 16-bit word and 16-bit address.
ALU: 16 bit.
ALU control unit.
Main control unit.
Sign extend unit.
2 Shift left units (for the purpose of branch and jump).
Multiplexes.
AND gate for the branch logic.
Regarding the MIPS machine performance, it typically performs the following:
4 R-format Instructions (add, sub, and, or), which execute the operation on two registers values and write the result on the third register.
6 I-format Instructions (lw, sw, beq, bne, addi, rol),which has an address /immediate field that needs a sign extend unit to extend the 8 bit address/offset or value to a 16 bit value as an input to the ALU.
A j-format instruction (Jump) which has only the address field in addition to the opcode field.
Regarding the control signals derived from each instruction:
Each control signal is a 1 bit control signal except for the ALU Op signal which is 3 bits.
Signal name
Effect when deasserted (0)
Effect when asserted (1)
RegWrite
None
The register