计组—中央处理器(CPU)

cpu的功能

程序是一个指令序列 ,这个序列告诉计算机应该执行什么样的操作,在什么地方找到用来操作的数据。一旦把程序装入内存,就可以由计算机来自动完成取指令和执行指令操作。用来完成此项工作的部件称为中央处理器即CPU。

1.数据缓冲寄存器(DR)

数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字或者来自外部接口的一个数据字;

作用:

(1)作为CPU和内存、外部设备之间信息传送的中转站

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

2.指令寄存器(IR)

保存当前正在执行的一条指令;

说明:当执行一条指令时,先把它从内存取到缓冲寄存器中,然后在传送至指令寄存器。指令划分为操作码地址码,由二进制数字组成;为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作指令译码器就是做这项工作的。指令寄存器中操作码字段的 输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。(即将指令寄存器中操作码字段送入译码器,决定接下来该做什么样的操作)

3.程序计数器(PC)

用来存放下一条指令的地址

说明:在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此PC的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址(即PC+1)。

4.地址寄存器(AR)

用来保存当前CPU正在访问的内存单元的地址。

说明:由于内存和CPU之间存在着操作速度 上的差别,所以必须使用地址寄存器来保存地址信息,直到内存的读/写操作完成。

同样,如果我们把外围设备的设备地址作为像内存的地址单元那样来看待(外设与内存统一编址),那么当CPU和外围设备交换信息时,我们同样使用地址寄存器和数据缓冲寄存器。

5.通用寄存器(R)

通用寄存器最常用来做累加寄存器(AC)

6.状态条件寄存器(PSW)

状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标志(Z)等;通常由1位二进制数表示。

 

指令执行过程

指令周期:CPU从内存取出一条指令并执行这条指令的时间总和。即取指+执行

CPU周期:又称机器周期,用从内存读取一条指令字的最短时间定义

时钟周期:即 T周期,一个CPU周期包含若干个时钟周期

注:指令周期包含若干CPU周期,一个CPU周期包含4个时钟周期;指令的执行是以CPU周期为单位的(技术不需要一个周期仍然需要分配一个周期)

 

执行流程:

1.先把内存中指令序列的首地址送入PC

2.将地址送入地址寄存器,然后PC+1

3.通过地址总线将地址寄存器中的指令地址传给内存,从内存中获取该地址的内容

4.将内存中的指令地址的数据送入CPU中的缓存寄存器,然后将指令数据送入指令寄存器,操作码段送入指令译码器进行译码(指令译码后取指令阶段结束,进入执行阶段;控制器向其他部件发出执行请求)

5.进入下一个取指操作(循环步骤1)

 

微命令和微操作

计算机中的部件分为控制部件和执行部件;

控制部件:控制器

执行部件:运算器、存储器、外设

微命令:控制部件通过控制线向执行部件发出的各种控制命令

微操作:执行部件接受微命令后所进行的操作

执行部件通过反馈线向控制部件反映操作情况,以便控制部件根据执行部件的“状态”来下达新的微命令,这叫做“状态测试”。

相容性微操作:同时或在同一个CPU周期内可以并行执行的微操作。(操作之间没有相互依赖关系)

互斥性微操作:不能同时或不能在同一个CPU周期内可以并行执行的微操作。

 

微指令和微程序

微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合

微程序:实现一条机器指令功能的许多条微指令组成的序列

 

注:程序由指令构成,一个指令就是一个微程序,微程序由多条微指令组成,微指令是在一个CPU周期内,实现一组操作功能的微命令组合,一个微命令就是一根控制线(即一个二进制位);微操作是执行部件接收到微命令后执行的操作

 

微程序控制器

微程序控制器主要由控制存储器(控存)微指令寄存器地址转移 逻辑三大部分组成。

控制存储器:用来 存放实现全部 指令系统的微程序 ,是一种只读存储器。一旦微程序固化,机器运行时则只读不写。

微指令寄存器

微指令寄存器用来存放由控制存储器读出的一条微指令信息。

 

微指令具体得执行流程(多路转移:根据P测试字段确定是否需要分支转移):

 

1.指令寄存器中的微指令地址通过地址转移 逻辑送入微地址寄存器

2.微地址寄存器将指令地址送入控制存储器,从控制存储器中读出一条具体的微指令

3.将读出的微指令中的P测试字段和控制字段送入微命令寄存器;然后将默认的下一条微指令的地址 送入微地址寄存器(让下一条微指令做好执行准备)

4.根据 控制字段中微命令信号(0、1二进制微命令)向不同的 执行部件发送微命令

5.执行完后将反馈结果反馈给地址转移逻辑

6.如果执行完后一切都正常(即P测试字段不进行测试或者P测试的结果为继续执行下一条默认指令),那么将会从微地址寄存器中开始继续执行已准备好的下一条微指令 

7.如果P测试 字段要测试且测试到有溢出等标志,需要处理该溢出等问题,则不能默认按顺序执行下一条微指令;根据P测试反馈的情况地址转移逻辑会形成新的微指令地址并将其送入微地址寄存器,替换掉 之前默认的下一条微指令地址,这样 就打乱了原有的执行顺序

 

微程序控制方式 下程序的完整执行过程

 

微命令编码

微命令 编码是指对微指令中的操作控制字段采用的表示 方法。

1.直接表示法 

其特点是操作控制字段中的每一位代表一个微命令。这种方法优点是简单直观,其输出直接用于控制。缺点是微指令字较长,因而使控制存储器容量较大。

2.编码表示法

编码表示法是把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。

注:n位二进制 编码能表示2^n - 1条微指令;如采用3位 编码则只能表示2^3  -1 =7条微指令 

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值