Multi Cycle CPU
Jason Mars
Monday, February 4, 13
Multi Cycle CPU Jason Mars Monday, February 4, 13 Why a Multiple - - PowerPoint PPT Presentation
Multi Cycle CPU Jason Mars Monday, February 4, 13 Why a Multiple Cycle CPU? Monday, February 4, 13 Why a Multiple Cycle CPU? The problem => single-cycle cpu has a cycle time long enough to complete the longest instruction in the machine
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
IR = Memory[PC] PC = PC + 4
Monday, February 4, 13
IR = Memory[PC] PC = PC + 4
Monday, February 4, 13
IR = Memory[PC] PC = PC + 4
Monday, February 4, 13
IR = Memory[PC] PC = PC + 4
Monday, February 4, 13
A = Register[IR[25-21]] B = Register[IR[20-16]] ALUOut = PC + (sign-extend (IR[15-0]) << 2)
Monday, February 4, 13
A = Register[IR[25-21]] B = Register[IR[20-16]] ALUOut = PC + (sign-extend (IR[15-0]) << 2)
Monday, February 4, 13
A = Register[IR[25-21]] B = Register[IR[20-16]] ALUOut = PC + (sign-extend (IR[15-0]) << 2)
Monday, February 4, 13
A = Register[IR[25-21]] B = Register[IR[20-16]] ALUOut = PC + (sign-extend (IR[15-0]) << 2)
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Reg[IR[15-11]] = ALUout
Monday, February 4, 13
Reg[IR[15-11]] = ALUout
Monday, February 4, 13
Reg[IR[15-11]] = ALUout
Monday, February 4, 13
if (A == B) PC = ALUOut
Monday, February 4, 13
if (A == B) PC = ALUOut
Monday, February 4, 13
if (A == B) PC = ALUOut
Monday, February 4, 13
ALUout = A + sign-extend(IR[15-0])
Monday, February 4, 13
ALUout = A + sign-extend(IR[15-0])
Monday, February 4, 13
ALUout = A + sign-extend(IR[15-0])
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Memory[ALUout] = B
Monday, February 4, 13
Memory[ALUout] = B
Monday, February 4, 13
Memory[ALUout] = B
Monday, February 4, 13
Reg[IR[20-16]] = memory-data
Monday, February 4, 13
Reg[IR[20-16]] = memory-data
Monday, February 4, 13
Reg[IR[20-16]] = memory-data
Monday, February 4, 13
PC = PC[31-28] | (IR[25-0] <<2)
Monday, February 4, 13
PC = PC[31-28] | (IR[25-0] <<2)
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
5
Monday, February 4, 13
5 5
Monday, February 4, 13
5 5 3
Monday, February 4, 13
5 5 3 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
5 5 3 4 4
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
user code user code user code user code user code exception handler: read status register ... ... status register user code user code user code user code user code
... ... illegal inst handler: .... ... ... I/O interrupt handler: ... ...
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13
Monday, February 4, 13