计算机组成原理:指令系统、CPU数据通路信号(例题

在这里插入图片描述

分析:

  1. 由题目可知操作码占4位,所以支持的操作指令为\(2^4\)种指令
  2. 操作数占6位,其中寻址3位,寄存器编号3位,所以最多有\(2^3\)个通用寄存器
  3. 主存大小为128KB,机器字长为16位,且按字编址,所以有\(\frac{128KB}{2B} \quad = 2^{16}\)个存储单元,即MAR至少16位
  4. 机器字长为16为,那么MDR至少也是16位
  5. 存器字长为16 位,PC 可表示的地址范围为\([0, 2^{16}-1]\),Rn可表示的相对偏移量为\([-2^{15} ,2^{15}-1]\),而主存地址空间为\(2^{16}\),因此转移指令的目标地址范围为[0000H, FFFH]\(([0, 2^{16}-1])\)
  6. add:0010,寄存器间接寻址:001,R4:100,寄存器间接寻址且自增:010,R5:101,0010 0011 0001 0101B = 2315H
  7. 指令的功能是将 R4 的内容所指的存储单元的数据与 R5的内容所指的存储单元的数据相 加,并将结果送入 R5的内容所指的存储单元中。(R4)=1234H,(1234H)=5678H;(R5)= 5678H,(5678H)=1234H;执行加法操作5678H+1234H=68ACH。之后R5自增;
    该指令执行后,R5和存储单元5678H的内容会改变,R5的内容从5678H变为5679H,存 储单元 5678H中的内容变为该指令的计算结果68ACH

在这里插入图片描述

分析:

1.由题意,执行周期内有间址和执行指令两种微操作
2.\(C_1到C_4为取指令和指令译码,C_5到C_7为间址,C_8到C_{10}为执行阶段\)

\[\begin{array}{c|c|c} 时钟&功能&有效控制信号\\ \hline C_1&(PC)->MAR&PC_{out},MAR_{in}\\ \hline C_2&(MAR)->MDR,PC + 1&MDR_{in},MemR,PC + 1\\ \hline C_3&MDR->IR&MDR_{out}, IR_{in}\\ \hline C_4&指令译码&--\\ \hline C_5&(R_1)->MAR&R1_{out},MAR_{in}\\ \hline C_6&M(MAR)->MDR&MemR,MDR_{in}E\\ \hline C_7&M(MDR)->A&MDR_{out},A_{in}\\ \hline C_8&(A) + (R_1)->AC&R0_{out},AC_{in},CU向ALU发送ADD信号\\ \hline C_9&(AC)->MDR&AC_{out},MDR_{in}\\ \hline C_{10}&(MDR)->M(MAR)&MDR_{out},MemW \end{array} \]

在这里插入图片描述
在这里插入图片描述

分析:

  1. \([-513]_补\) = 1111 1101 1111 1111,负数补码右移数值位从高填1,为1111 1110 1111 1111,转16进制后,(R1) = FEFFH
  2. 由于是5段流水线方式,周期为5,有4条指令,5 + 4 - 1 = 8个周期
  3. \(I_3\)的ID段被阻塞是由于\(I_3\)\(I_2\)存在数据相关,\(I_3\)要等到\(I_2\)执行结束将结果回写到寄存器后,\(I_3\)才能读取寄存器的内容;\(I_4\)的IF段被阻塞是由于下一条指令的IF段必须与上一条指令的ID段并行执行,而\(I_3\)的ID段被阻塞;
    4.分析:取数a,x,x左移一位,相加后存到x中

\[\begin{array}{c|c|c} &指令&过程\\ \hline I_1&LOAD&R_1,[x]\\ \hline I_2&LOAD&R_2,[a]\\ \hline I_3&SHI&R_1\\ \hline I_4&ADD&R_1,R_2\\ \hline I_5&STORE&R_2,[x]\\ \end{array}\]

在这里插入图片描述
由于\(I_3\)的ID段需要访问寄存器,所以要等到\(I_1\)的WB段结束后才可以执行

posted @ 2023-06-07 20:12  347Foricher  阅读(86)  评论(0编辑  收藏  举报