问答题X 纠错
假定某计算机字长16位,CPU内部结构如图所示,CPU和存储器之间采用同步方式通信,按字编址。采用定长指令字格式,指令由两个字组成,第一个字指明操作码和寻址方式,第二个字包含立即数Imm16。若一次存储访问所花时间为2个CPU时钟周期,每次存储访问存取一个字,取指令阶段第二次访存将Imm16取到MDR中,请写出下列指令在指令执行阶段的控制信号序列,并说明需要几个时钟周期。
MDRout,MARin
Read1
Read2
MDRout,MARin
Read1,(R1out,Yin)
Read2,R1out,Yin
MDRout,add,Zin
Zout,R1in
需8个时钟周期
你可能喜欢
问答题
假定某计算机字长16位,CPU内部结构如图所示,CPU和存储器之间采用同步方式通信,按字编址。采用定长指令字格式,指令由两个字组成,第一个字指明操作码和寻址方式,第二个字包含立即数Imm16。若一次存储访问所花时间为2个CPU时钟周期,每次存储访问存取一个字,取指令阶段第二次访存将Imm16取到MDR中,请写出下列指令在指令执行阶段的控制信号序列,并说明需要几个时钟周期。
问答题
假定某计算机字长16位,CPU内部结构如图所示,CPU和存储器之间采用同步方式通信,按字编址。采用定长指令字格式,指令由两个字组成,第一个字指明操作码和寻址方式,第二个字包含立即数Imm16。若一次存储访问所花时间为2个CPU时钟周期,每次存储访问存取一个字,取指令阶段第二次访存将Imm16取到MDR中,请写出下列指令在指令执行阶段的控制信号序列,并说明需要几个时钟周期。
MDRout,Yin
R1out,add,Zin
Zout,R1in
需3个时钟周期
问答题
下图给出了某CPU内部结构的一部分,MAR和MDR直接连到存储器总线(图中省略)。在两个总线之间的所有数据传送都需经过算术逻辑部件ALU。ALU可实现的部分功能及其控制信号如下:
MOVa:F=A;MOVb:F=B;
a+1:F=A+1;b+1:F=B+1
a-1:F=A-1;b-1:F=B-1
其中A和B是ALU的输入,F是ALU的输出。假定JSR(转子指令)指令占两个字,第一个字是操作码,第二个字给出子程序的起始地址,返回地址保存在主存的栈中,用SP(栈指示器)指向栈顶,按字编址,每次从主存读取一个字。请写出读取并执行JSR指令所要求的控制信号序列(提示:当前指令地址在PC中)。
问答题
在下图中,假定总线传输延迟和ALU运算时间分别是20ps和200ps,寄存器建立时间为10ps,寄存器保持时间为5ps,寄存器的锁存延迟(Clk-to-Qtime)为4ps,控制信号的生成延迟(Clk-to-signaltime)为7ps,三态门接通时间为3ps,则从当前时钟到达开始算起,完成以下操作的最短时间是多少?各需要几个时钟周期?
问答题
在下图中,假定总线传输延迟和ALU运算时间分别是20ps和200ps,寄存器建立时间为10ps,寄存器保持时间为5ps,寄存器的锁存延迟(Clk-to-Qtime)为4ps,控制信号的生成延迟(Clk-to-signaltime)为7ps,三态门接通时间为3ps,则从当前时钟到达开始算起,完成以下操作的最短时间是多少?各需要几个时钟周期?
问答题
以下是一个计算阶乘的C语言递归过程,请按照MIPS过程调用协议写出该递归过程对应的MIPS汇编语言程序,要求目标代码尽量短(提示:乘法运算可用乘法指令“mul rd,rs,rt”来实现,功能为“rd←(rs)×(rt)”)。
问答题
以下C语言程序段中有两个函数sum_array和compare,假定sum_array函数第一个被调用,全局变量sum分配在寄存器$s0中。要求写出每个函数对应的MIPS汇编表示。
问答题
说明beq指令的含义,并解释为什么汇编程序在对下列汇编源程序中的beq指令进行汇编时会遇到问题,应该如何修改该程序段?
问答题
以下程序段是某个过程对应的MIPS指令序列,其功能为复制一个存储块数据到另一个存储块中,存储块中每个数据的类型为float,源数据块和目的数据块的首地址分别存放在$a0和$a1中,复制的数据个数存放在$v0中,作为返回参数返回给调用过程。在复制过程中遇到0则停止,最后一个0也需要复制,但不被计数。已知程序段中有多个Bug,请找出它们并修改。