第一节 基本概念码
CPU的基本构成:控制器,运算器,寄存器(cache,指令缓存)
寄存器的类型:
指令寄存器(IP)
程序计数器(PC)
数据寄存器(DR)
地址寄存器(AR)
状态寄存器(SR)
数据通路:
数据总线(单总线,双总线,多总线)

控制信号:
R1out: R1的输出控制
R1in: R1的输入控制
Yin: Y的输入控制
IRin: IR的输入控制
IRout: IR的输出控制
PCin: PC的输入控制
PCout: PC的输出控制
PC+1: PC计数更新控制
ADD: ALU加法操作控制
专用通路(如MIPS)

控制信号:
MemRead 存储器读
MemWrite 存储器写
ALUOp 运算操作码
ALUSrc ALU数据选择
PCWrite PC写
PCSource PC输入选择
RegWrite 数据寄存器写
MemtoReg 写数据选择
RegDst 写寄存器选择
Irwrite 指令寄存器
Jump 选择转移地址
三种生成控制信号方式:硬连线,微程序,阵列逻辑
指令周期,机器周期与时钟周期
第二节 指令的执行过程
一、运算指令的执行过程
专用通路结构:如add $1, $2, $3
(1) 取指令。
IR = Memory[PC]
PC = PC + 4
(2) 指令译码及读取操作数。
A = R[IR[25:21]]
B = R[IR[20:16]]
(3) 执行。
ALUoutput = A + B
(4) 写回。
R[IR[15:11]] = ALUoutput
单总线结构:如ADD R3, R1, R2
(1) PC→MAR
(2) PC+1→PC
(3) DBUS→MDR
(4) MDR→IR
(5) R1→Y
(6) R2 + Y→Z
(7) Z→R3
二、访存指令的执行过程
专用通路结构:
读操作:如lw $1, off($2)
(1) 取指令。
IR = Memory[PC]
PC = PC+4
(2) 指令译码。
A = R[IR[25:21]]
(3) 计算地址。
ALUoutput = A + Sign-extend(IR[15:0])
(4) 访存。
Memory-data = Memory[ALUoutput]
(5) 写回。
R[IR[20:16]] = Memory-data
写操作:如Store $1,offs($2)
(1) IR = Memory[PC]
PC = PC + 4
(2) A = R[IR[25:21]]
B = R[IR[20:16]]
(3) ALUoutput = A + Sign-extend(IR[15:0])
(4) Memory[ALUoutput] = B
单总线结构:
读操作:如LOAD R1,mem
(1) PC→MAR
(2) PC+1→PC
(3) DBUS→MDR
(4) MDR→IR
(5) IR(地址段)→MAR,读存储器
(6) DBUS→MDR
(7) MDR→R1
写操作:如STORE R1,mem
(1) PC→MAR
(2) PC+1→PC
(3) DBUS→MDR
(4) MDR→IR
(5) IR(地址段)→MAR
(6) R1→MDR,写存储器
三、控制指令的执行过程
无条件转移指令操作:修改PC
专用通路结构:如J Target
(1) IR = Memory[PC]
(2) PC = Target
单总线结构:如BR offs
(1) PC→MAR
(2) PC+1→PC
(3) DBUS→MDR
(4) MDR→IR
(5) PC→Y
(6) Y + IR(地址段)→Z
(7) Z→PC
条件转移指令操作,有条件地修改PC
方式:条件码,条件寄存器,比较与转移
专用通路结构:如beq $1,$2,offs
(1) IR = Memory[PC]
PC = PC + 4
(2) A = R[IR[25:21]]
B = R[IR[20:16]]
Target = PC + (Sign-extend(IR[15:0]) << 2)
(3) if(A == B) PC = Target
单总线结构:BNE offs
(1) PC→MAR
(2) PC+1→PC
(3) DBUS→MDR
(4) MDR→IR
(5) if(!Z) PC→Y; else END
(6) Y + IR(地址段)→Z
(7) Z→PC
习题:3,4
第三节 硬连线控制器
一、指令周期流程

控制信号:如ADD R3, R1, R2
T1: PCout, MemRead, PC+1, MARin ;PC MAR, PC+1 PC
T2: MDRout, IRin ;MDR IR
T3: R1out, Yin ;R1 Y
T4: R2out, ADD, Zin ;R2+Y Z
T5: Zout, R3in ;Z R3
二、硬连线控制器

条件码如算术运算的异常、内部中断等。
编码器电路的一般逻辑表达形式是:
C = T1*(INS1 + INS2 + …) + T2*(INS1 + INS2 + …) + …
固定时钟信号环形脉冲发生器:指令执行的时钟数固定。
可变长度时钟信号环形脉冲发生器:指令执行的时钟数不固定。
实现方法:用END信号,如
END = T5*ADD + T3*CLA + …