21年(威海)计算机考研重要内容精讲

2020-02-15 16:04:29 87 中国考研网

21年山东计算机考研高频考点汇总:指令执行过程

  指令执行过程

  1.指令执行的时序

  计算机工作的过程是取指令、分析指令、执行指令三个基本动作的重复。考虑到所有的器件中(寄存器、存储器)存储器的速度最慢,因此,取最慢的器件工作时间(周期)作为整个工作的最长同步标准。

  计算机的工作时序是按照存储器的工作周期划分的。每个存储器工作周期又称为机器周期。因此,每个机器周期至少完成一个基本操作。一般最长的操作是访问存储器(读/写),这个时间也用于访问外设接口(寄存器)。如果,某个操作,比如利用运算器执行一次运算,如果不访问存储器,即使占用的时间很短,但是,也必须为其划分一个机器周期。因此,机器周期是计算时序划分的最大单位。

  现在我们为计算机的执行时间进行最基本的划分:由于计算机不断地重复执行每个指令,所以,我们将执行的时间划分为一条一条指令执行所占用的时间,如下:

  执行指令执行指令执行指令执行指令执行指令

  我们将每指令占用的时间称为指令周期。由于每条指令的功能不一样,因此执行的时间也不同,指令周期长短不一样。

  而每条指令的执行,又可以是取指令,分析指令,执行指令。由于取指令必须访问存储器,所以占用一个机器周期。分析指令是由指令译码电路完成的,所占用的时间极短,无需分配一个完整的机器周期。一般是在取指周期后期(结束之前的很短时间内)就可以完成。指令的执行较为复杂:可能不访问存储器;访问一次存储器;访问两次存储器等。因此,可能是一个机器周期到几个机器周期。

  因此,每条指令的执行过程如下:

  取指周期执行周期执行周期执行周期执行周期

  第一个机器周期总是取指周期,而指令的地址总是从PC中获得,当发出读取存储器命令后,指令总是从数据总线DB送回,CPU接受到指令之后,将指令放在指令寄存器IR之中。指令在IR中一直保留到取下一条指令为止。

  第二个机器周期开始,根据指令有所不同:

  执行一次ALU运算:分配一个机器周期。

  执行访问一次存储器:分配一个机器周期。

  所以,根据指令执行的不同情况,将会得到不同指令执行所占用的机器周期。

  根据每个机器周期完成的任务不同,我们将每个机器周期按照任务命名。如同用取指周期命名第一个机器周期一样。

  2.指令执行过程举例

  假设指令格式如下:

  操作码rs,rdrs1imm(Disp)

  rs,rd,rsl为通用寄存器地址;imm(或disp)为立即数(或位移量)。

  加法指令功能:将寄存器(rs)中的一个数与存储器中的一个数(其地址为(rsl)+disp)相加,结果放在寄存器rd中,rs与rd为同一寄存器。

  加法指令完成以下操作:

  ①取指周期

  从存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。

  程序计数器加1,为下一条指令作好准备。

  控制器发出的控制信号:PC→AB,W/R=0,M/IO=1;DB→IR;PC+1。

  ②计算地址周期

  计算数据地址,将计算得到的有效地址送地址寄存器AR。

  控制器发出的控制信号:rsl→GR,(rsl)→ALU,disp→ALU(将rsl的内容与disp送ALU);“+”(加法命令送ALU);ALU→AR(有效地址送地址寄存器)。

  ③取数周期

  到存储器取数。

  控制器发出的控制信号:AR→AB,W/R=0,M/IO=1;DB→DR(将地址寄存器内容送地址总线,同时发访存读命令,存储器读出数据送数据总线后,打入数据寄存器)。

  ④执行周期

  进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C。

  控制器送出的控制信号:rs,rd→GR, (rs)→ALU,DR→ALU(两个源操作数送ALU);

  ALU→rd(运算结果送寄存器rd)


声明:
(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。
(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。