110,533
社区成员
408复习这个问题查了好多资料,目前个人的理解是,唐书的这句话
MDR存储器寄存器,是用来存放即将往存储单元中写入或者取出的数据,其位数等于存储字长。
中的"存储字长"非严格定义的存储单元的二进制位数(例如若主存按字节编址,则存储单元的二进制位数为1B,存储单元也非严格定义上),而是"字存储单元"的字长,也就是4B(若主存按字节编址,则一个字存储单元的定义为4个字节存储单元为一个字存储单元,且此字存储单元的地址为每个字节存储单元组合中地址最小的那个字节存储单元的地址,例如地址为0,1,2,3的字节存储单元组合为一个字存储单元,而这个字存储单元的地址为0,而后面的字存储单元的地址就是4,8...若为按字编址,则字存储单元的地址为0,1,2...)。
所以这里MDR的位数与按字节编址的字存储单元的字长相等,而不是狭义上的按字节编址的存储单元的字长。
很多考试题例如408往年真题中经常这样使用"存储字长",所以我总结为这样一套说法,不知与楼主看的白中英版机组是否是一个解释。
楼主的第二个问题:
cpu的取指令的微操作序列如下:
在同步控制的cpu中,一个时钟周期只可以在内部总线(单总线)进行一个微操作,由于在PC中的内容需完整的传到MAR中,才可以进行自增,有时序,此时cpu内部总线被占用且内容为当前指令的地址,而PC自增不需要占用总线,有CU的微命令就可以进行自增操作,所以一般被安排到T1节拍中,可认为是与操作M(MAR)->MDR是同时进行的,但也可在T2节拍((MDR)->IR)中进行,因为不占用内部总线,所以可在取指周期任意安排,通常定义为取指周期末。
序列中T2节拍占用了两个均占用总线的操作,原因是两个操作很快,几乎只需一个节拍就可完成。