计算机组成原理——中央处理器

5.1.1CPU的功能

专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU。

1.CPU四方面的基本功能:指令控制,操作控制,时间控制,数据加工

5.1.2CPU的基本组成

运算器和控制器是组成CPU的两大核心部件。

afb20ddc22bf40c5bc9ba402b5b47025.jpg

 控制器 出程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。控测器的主要功能有:

(1)从指令cache中取出一条指令,并指出下 条指令在指令cache中的位置。

(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。

(3)指挥并控制CPU、数据cache和输入/输出设备之间数据流动的方向。

运算器由算术逻辆运算单元(ALU)、通用态存器、数据缓冲寄存器(DR)和程序状态字寄存器(状态条件寄存器,PSWR)组成,它是数据加工处理部件。

运算器有两个主要功能:

(1)执行所有的算术运算。

(2)执行所有的逻辑运算,并进行逻辑测试,如零测试或两个值的比较。

5.1.3 CPU中的主要寄存器

各种计算机的CPU可能有这样或那样的不同,但是在CPU中至少要有六类奇存器,如图5.1所示。这些寄存器是:数据缓冲寄存器(DR),指令寄存器(IR),程序计数器(PC),数据地址寄存器(AR),通用寄存器(R0-R3),程序状态字寄存器(PSWR)。

(1)数据缓冲寄存器(DR)数据缓的者有器对来暂时有放ALU的运算结果,或由数据在储器读出的一个数据字,或来自外部接口的一个数据字,缓冲寄存器的作用:

①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲:

②补偿CPU和内存、外围设备之间在操作速度上的差别。

(2指令寄存器(IR)直径寄存器用来保存当前正在执行的一条抬令,当执行一条指令时,先把它从很令存伴基(简称指在)读出,然后再传送至指令寄车器,洁令划分为操作码和地址码字段,中二进制数字组成。为了执行任何给定的扫令,必须对摸作码进行甚试。以受识别要求的操作,一个叫像指令详码落的部修就是做这项工作的,指令寄在器中投有书字段OP的输出就是行令详码器前输入,操作码一经详码后,即可向操作控制器发出具体操作的特定信号。

(3)程序计数器(PC)为了保证程序能够连续地执行下去,CPU必须只有某些手段来确定下一条很令的地址。而理序计数器(PC)正是起到这种作用,所以它又称为指令计数器。

(4)数据地址寄存器(AR)

(5)通用寄存器

(6)程序状态字寄存器(PSWR)

5.2指令周期

5.2.1指令周期的基本概念

1、指令周期是取出一条指令并执行这条指令的时间。db7d4838589a4e9f85d2a5ab45d88a63.jpg

 2、指令周期常常用若干个CPU周期数来表示,CPU周期又称为机器周期。CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。

8fdc214a951c4a28b4dbcff1a7d1ab4e.jpg

 3、单周期 CPU和多周期 CPU单周期CPU在一个时钟周期内完成从指令取出到得到结果的所有工作,指令系统中所有指令执行时间都以最长时间的指令为准,因而效率低,当前较少采用。多周期CPU把指令的执行分成多个阶段,每个阶段在一个时钟周期内完成,因而时钟周期短,不同指令所用周期数可以不同。以下仅讨论多周期CPU。

0715a1bb62704b6ab80fb7b1a8a89d7d.jpg

2484b151f9b04c6f89b2a216df7cddaa.jpg 

 5.2.2 MOV指令的指令周期

f52e222b847c4b96965152b2db3e7175.jpg

 1.取指周期

(1)程序计数器PC中装入第一条指令地址101(八进制);

(2)PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;

(3)从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;

(4)程序计数器内容加1,变成102,为取下一条指令做好准备;

(5)指令寄存器中的操作码(OP)被译码;

(6)CPU识别出是MOV指令。至此,取指周期结束。

2.执行指令阶段(执行周期)

MOV指令的执行周期阶段,CPU的动作如下:

(1)操作控制器(OC)送出控制信号到通用寄存器,选择R;(10)作源寄存器,选择R。作目标寄存器;

(2)OC送出控制信号到ALU,指定ALU做传送操作;

(3)OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据;

(4)OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10):

(5)OC送出控制信号,将DR中的数据10打入到目标寄存器Ro,R。的内容由00变为10:至此,MOV指令执行结束。

4e813cf677984f64b5049c53e4bbd8f5.jpg

 5.2.3LAD指令的指令周期

e4848f87332c488ba1d7b51893db5a76.jpg

 1.LAD指令的取指周期

2.LAD指令的执行周期

LAD指令的执行周期CPU执行的动作如下:

(1)操作控制器OC发出控制金令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上;

(2)OC发出操作命令,将地址码6装入数存地址寄存器AR:

(3)OC发出读命令,将数存6号单元中的数100读出到DBUS上;

(4)OC发出命令,将DBUS上的数据100装入缓冲寄存器DR;

(5)OC发出命令,将DR中的数100装入通用寄存器R,原来R;中的数10被冲掉。

1661c022cfdd49e095ab7b3176c4bbf7.jpg

 5.2.4ADD指令的指令周期

786af996d771491ca78fd409a74c8585.jpg

 5.2.5STO指令的指令周期a112a60f986d416593102ee3e22b51f9.jpg

6de427128ea14035826ac18e9c160a2e.jpg 

 5.2.6jmp指令的指令周期

611bf79e392b46c99b74d999c107fc64.jpg

 

 


版权声明:本文为m0_67784353原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。