·例6.1已知CPU结构图如P175图68所示。 指令格式为: 31242321201817 16 15 位)s(3位)「s13{)mo(2位) disp 16 位) 目的寄存器为rs 源操作数的寻址方式由mod决定: mod=00源操作数的地址=rs1(寄存器寻址) mod=01源操作数=(rs1)+disp(变址寻址) mod=10源操作数的地址=(rs1)(寄存器间接寻 址 mod=11源操作数的地址=(pc)+disp(相对寻址)
• 例6.1 已知CPU结构图如P175图6.8所示。 • 指令格式为: 31 24 23 21 20 18 17 16 15 0 op(8位) rs(3位) rs1(3位) mod(2位) imm/disp(16 位) 目的寄存器为rs。 源操作数的寻址方式由mod决定: mod =00 源操作数的地址 = rs1 (寄存器寻址) mod =01 源操作数 = (rs1)+ disp (变址寻址) mod =10 源操作数的地址 = (rs1) (寄存器间接寻 址) mod =11 源操作数的地址 = (pc)+ disp (相对寻址)
(1)画出ADD、SUB、JC指令的执行流程 JC为条件转移指令,当C=1时转移;当C=0时 取下条指令),标出相应的微操作序列。 (2)画出load指令的操作流程图,并标出相应 的微操作序列。 load指令的功能是将源操作数(源操作数有寄存 器寻址、变址寻址和寄存器间接寻址三种方式) 送目的寄存器rs; (③3)画出 store指令的操作流程图,并标出相应 的微操作序列。 store指令的功能是将目的寄存器rs的内容送源 操作数地址中(源操作数有寄存器寻址、变址寻 址和寄存器间接寻址三种方式)
· (1) 画出ADD 、SUB 、JC指令的执行流程 (J C为条件转移指令,当C=1时转移;当C=0 时 取下条指令 ),标出相应的微操作序列。 • (2) 画出load 指令的操作流程图,并标出相应 的微操作序列。 • load指令的功能是将源操作数 (源操作数有寄存 器寻址、变址寻址和寄存器间接寻址三种方式 ) 送目的寄存器rs; • (3)画出store 指令的操作流程图,并标出相应 的微操作序列。 • store指令的功能是将目的寄存器rs的内容送源 操作数地址中 (源操作数有寄存器寻址、变址寻 址和寄存器间接寻址三种方式 )
1)【例题答案】ADD、 SUB JC指令的操作流程图如图所示。 PC→AB ADS(Tl),MO=1,WR=0X取指周期cyl DB→IR,PC+1 mod =00 mod =01 mod=10 mod=l1 rsl→GR rsl→GR,disp→ALU(B rsl→GR (rs1)→ALU(A) (rs1)→ALU(A) (rs1)→ALU(A) ALU→AR M(S=A,ALU→ARsp→ALU(B) pc)→ALU(A ,ALU→pc AR→AB ADS(T),M=1,wR=0取数周期cy3 DB→DR DR→ALU(A) rs→GR,(rs)→ALU(B) ADD SUB 取目的数、执行并送结果cy4 ,ALU→GR LU→GR
(1)【例题答案】 ADD、SUB JC 指令的操作流程图如图所示。 PC→ AB ADS(T1),M/IO=1,W/R=0 取指周期 cy1 DB→ IR, PC+1 mod =00 mod =01 mod =10 mod =11 N 计 rs1→GR rs1→GR, disp→ALU(B) rs1→GR C=1 算 cy2 (rs1)→ALU(A) (rs1)→ALU(A) (rs1)→ALU(A) Y 地 +, ALU→AR M(S=A), ALU→AR disp→ALU(B) 址 (pc)→ALU(A) +, ALU→pc AR→ AB ADS(T1),M/IO=1,W/R=0 取数周期 cy3 DB→ DR DR→ALU(A) rs → GR, (rs)→ALU(B) ADD SUB 取目的数、执行并送结果 cy4 +, ALU→GR - , ALU→GR
2)【例题答案】load指令的操作流程图如图所示。 PC→AB ADS, M/I0=1, W/R=O 取指周期cy1 DB→IR,PC+1 mod=00 mod=01 mod=10 rsl→GR →GR,disp→ALU(B) rsl→GR, 算cy2 (rs1)→ALU(A) (rs1)→ALU(A) (rs1)→ALU(A) ,ALU→AR M(S=A),ALU→AR址 AR→AB ADs, M/I0=1, W/R=O 取数周期cy3 DB→DR DR→ALU(A GR 取目的数并送结果cy4 M(S=A),ALU→GI
(2 )【例题答案】 lo ad 指令的操作流程图如图所示。 PC→ AB ADS, M /IO =1, W /R=0 取指周期 cy1 D B→ IR, PC+ 1 m od =0 0 m od =0 1 m od =1 0 计 rs1→ G R rs1→ G R, disp→ A LU (B) rs1→ G R, 算 cy2 (rs1 )→ A LU (A ) (rs1 )→ A LU (A ) (rs1 )→ A LU (A ) 地 + , ALU→ A R M (S=A ), ALU→ AR 址 A R→ A B A D S, M /IO =1, W /R=0 取数周期 cy3 D B→ D R D R→ A LU (A ) rs → GR 取目的数并送结果 cy4 M (S=A ), ALU→ G R
3)【例题答案】 store指令的操作流程图如图6.10所示。 PC→AB ADS M/0=1. W/RO 取指周期cy1 DB→IR,PC+1 mod =00 mod =01 mod=10 rsl→GR rsl→GR,disp→ALU(B rsl→GR 算cy (rs1)→ALU(A 地 +,ALU→AR M(S=A),ALU→AR|址 GR 〔s)→ALU(B) M(S=B),ALU→GR rs→GR,(rs)→ALU(B) 取目的操作数cy3 M(S=B),ALU→DR ADS. M/O=1. W/R=1 执行并送结果cy4 单条指令的操作流程图可从中抽取,如P290题6.2、题6.9
(3) 【例题答案】 store 指令的操作流程图如图 6.10 所示。 PC→ AB ADS,M/IO=1,W/R=0 取指周期 cy1 DB→ IR, PC+1 mod =00 mod =01 mod =10 计 rs1→GR rs1→GR, disp→ALU(B) rs1→GR, 算 cy2 (rs1)→ALU(A) (rs1)→ALU(A) 地 +, ALU→AR M(S=A), ALU→AR 址 rs → GR (rs)→ALU(B) M(S=B),ALU→GR rs → GR ,(rs)→ALU(B) 取目的操作数 cy3 M(S=B), ALU→DR ADS,M/IO=1,W/R=1 执行并送结果 cy4 单条指令的操作流程图可从中抽取,如 P290 题 6.2、题 6.9