Signals

ALU

  • ALU will always increment PC by 4
  • ALUOp: Holds the next operation for the ALU to perform. Only passes part of the instruction (func part of R-Type instructions, the rest is resolved from the instruction register)
  • ALUSrcA: 1 bit signifying that the Input A into the ALU is:
    • Coming from PC(0)
    • Coming from register file(1)
  • ALUSrcB: 2 bits signifying that input B is:
    • Coming from register file(0)
    • Coming from constant value(1)
    • Coming from instruction register(2)
    • Coming from shifted instruction register(3)
  • RegWrite: A flag indicating if we are writing into the register file
  • RegDST: Holds the destination address of our register write

Instruction Register

  • PCWrite: Writing the ALU output to PC
  • PCWriteCond: Holds the ALU output and writes only if ALU’s zero condition is true
  • IorD: a flag determining if we are reading or writing
  • IRWrite: The register data to be written
  • PCSource: Holds the new value of PC

Memory

  • MemRead: A flag indicating the processor is reading from memory
  • MemWrite: A flag indicating the processor is writing to memory
  • MemToReg: A flag indicating the processor is recieving data from memory and not a register