中央处理器(指令执行)笔记

CPU结构如下图所示,其中有一个累加寄存器AC,一个状态条件寄存器和其他4个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。
这里写图片描述

  1. 标明图中a,b,c,d这四个寄存器的名称
    a为DR,b为IR,c为AR,d为PC
    因为:
    d:d框旁边有“+1”信号,可得d为程序计数器PC[绿色圈圈]
    b:因为b送入微操作信号发生器,故为b为指令寄存器IR
    c:因为d->c,可得c为地址寄存器AR[黄色箭头]
    a:因为a<->ALU、a->c,可得a为数据寄存器DR[红色箭头]
  2. 简述指令从主存取出到产生控制信号的数据通路
    PC->AR->主存储器M->IR->微操作信号发生器
    从主存储器M中取出指令存入指令寄存器,后通过译码器微程序的入口地址产生第一个控制信号,接着根据下址字段找到下一条微指令。
  3. 简述数据在运算器和主存之间进行存/取访问的数据通路
    写:ALU->AC->DR->主存储器M
    运算结果先存入AC,后通过DR送入主存储器M
    读:主存储器M->DR->ALU
    将主存储器M中的数据通过DR送入ALU,经过运算后先存入AC

设有主频为16MHz的微处理器,平均每条指令的执行时间为两个机器周期,每个机器周期由两个时钟脉冲组成。问:

  1. 存储器为“0等待”,求出机器速度。(“0等待”表示存储器可在一个机器周期完成读/写操作,因此不需要插入等待时间)
    首先解释一下MIPS:
    非人话版:单字长定点指令平均执行速度 Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数
    说人话版:CPU在一秒钟之类能执行多少百万条指令,其中M指的是百万,IP指的是指令,S是指的复数,英语好的盆友肯定很好理解的
    由题意我们能够知道平均每条指令的执行时间为2*2=4个时钟脉冲
    而CPU的频率为16MHz,即一秒钟能产生16百万个时钟脉冲,那么16M/4=4M,所以机器每秒执行4MIP条指令,即机器速度为4MIPS
  2. 假如每两个机器周期中有一个是访存周期,需要插入1个机器周期的等待,求机器速度。
    由题意平均每条指令的执行时间为两个机器周期,而本小题中说到“每两个机器周期中有一个是访存周期,需要插入1个机器周期的等待”,因此一条指令的执行时间=两个机器周期+一个机器周期,则平均每条指令的执行时间为(2+1)*2=6个时钟脉冲
    接下来的做法和上题相似,16M/6=2.67M,即机器每秒执行2.67MIP条指令,即机器速度为2.67MIPS

猜你喜欢

转载自blog.csdn.net/caoyang_he/article/details/80875241