QA13-

本文详细介绍了Y86处理器的指令执行流程,包括取指、译码、执行、访存、写回和更新PC六个阶段,并以HALT、NOP和IraddqV,rB指令为例,阐述了不同指令的微操作实现。同时,讨论了Y86的硬件结构,包括组合逻辑、时序逻辑、控制逻辑和信号连接线,以及如何通过时钟信号控制状态单元的更新。此外,还提及了SEQ原则,即从不回读,确保指令执行的顺序性和正确性。
摘要由CSDN通过智能技术生成

Q&A 13


Y86的SEQ分哪几个阶段?各阶段的主要过程是什么?

取指:从指令存储器读取指令
译码:读程序寄存器
执行:计算数值或地址
访存:读或写数据
写回:写程序寄存器
更新PC:更新程序计数器


对Y86的SEQ阶段分析,12条指令的微操作实现的共同点有哪些?

所有的指令有相同的格式,都按照6个阶段顺序执行
每一阶段的微操作,按照顺序有3-8种
每一条指令在各阶段执行时,根据指令类型按顺序执行不同的微操作


Y86的硬件结构包括哪些?

硬件单元(组合、时序逻辑)、控制逻辑、信号连接线
组合逻辑:硬件单元间传播,不用CLK,有延迟
计算逻辑(ALU、PCINC)
读逻辑( PC、CC、RF、imem、dmem)
硬件单元的时序逻辑-状态单元:都在CLK上升沿时更新。控制阻断
时钟寄存器:PC、CC、STAT的更新
随机访问存储器:RF写、dmem写


怎么理解SEQ原则-从不回读?

所谓CPU顺序实现SEQ:一个时钟变化,引发一个经过组合逻辑的流,从而执行整个指令
一条新指令的执行,即一个CLK是把上一条指令计算结果-状态单元更新,然后其值进行组合逻辑(新指令的计算)的传播
要控制CPU中活动的顺序,只需要用CLK控制寄存器和内存
所有6个阶段的所有步骤的状态更新同时发生(逐级延迟)
且只在时钟上升开始下一个周期时。
当前时钟/指令n结束,下一时钟/指令n+1没有到上升沿前,状态单元的数据-状态并不是本指令/时钟n执行的结果,仍然是上一时钟/指令n-1的结果
指令n的执行结果,到下一指令n+1的上升沿才更新到转状态单元


HALT、NOP的微操作?新增C0指令Iraddq V,rB的微操作?

$ $halt
取指icode:ifun ← \leftarrow M1[PC]读指令字节
译码
执行Stat ← \leftarrow HLT
访存
写回
更新PC
$ $nop
取指icode:ifun ← \leftarrow M1[PC]读指令字节
valP ← \leftarrow PC+1计算下一个PC
译码
执行
访存
写回
更新PCPC ← \leftarrow valP
$ $iraddq V,rB
取指icode:ifun ← \leftarrow M1[PC]读指令字节
rA:rB ← M 1 \leftarrow M_{1} M1[PC+1]读寄存器字节
valC ← M 8 \leftarrow M_{8} M8[PC+2]读立即数8个字节
valP ← \leftarrow PC+10计算下一个PC
译码valB ← \leftarrow R[rB]读操作数B
执行valE ← \leftarrow valB+valC
Set CC
访存
写回R[rB] ← \leftarrow valE
更新PCPC ← \leftarrow valP
注意:execute中的运算是valB OP valA,而不是valA OP valB
M1[PC] 表示从PC开始的内存中读取一个字节的数据
V=====valC,指令中V是加数,是ALUA的一个输入
这些微操作都有现成的硬件结构,所以不需要改动状态单元,但控制逻辑需要稍微调整

取指逻辑的need_valC的HCL

need_valC:这个指令包括一个常数字吗?
bool need_valC = icode in { IIRMOVQ,IRMMOVQ,IMRMOVQ,IJXX,ICALL };


硬件单元:
运算逻辑: ALU、PCINC、
时钟寄存器:PC、CC、STAT、
随机访问存储器:RF、IMEM、DMEM
读操作-看成组合逻辑-有地址就有输出
随机访问存储器:RF、imem/dmem可以用特殊的时钟电路来模拟
时钟寄存器:PC、CC、STAT、
写操作:需要时钟信号控制,控制阻断
RF、DMEM、PC、CC、STAT
控制逻辑:每一阶段每一步骤的微操作,在硬件上的映射
在不同硬件单元之间传送数据
操作硬件单元,使得对不同指令执行指定的微操作
组合逻辑:不需要任何时序或控制,只要输入变化了,值就通过逻辑门网络传播
时序逻辑:需要时钟信号控制,进行更新-把输入锁存到输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值