CPU


CPU

在这里插入图片描述
CPU实质包括运算器和控制器两大部分
根据上图可以知道,CPU的功能需求决定了它的结构

  1. 取指令:需要一个寄存器存放当前指令的地址
  2. 分析指令:需要存放当前指令的寄存器,对指令操作码进行译码的部件
  3. 执行命令:需要有一个能发出各种操作命令序列的控制部件CU
  4. 完成算术运算和逻辑运算:需要有存放操作数的寄存器和实现算逻运算的部件ALU
  5. 为了处理异常和特殊请求:需要中断系统

可见,CPU由上面四大部分组成(ALU,CU,寄存器,中断系统),如图二(CPU与系统总线),将图二细化,又可以得到图三(CPU与内部总线)


一丶ALU

针对每一种算术运算,都必须一个相应的基本硬件配置,其核心部件是加法器和寄存器。完成需要的逻辑运算时,也需要相应的逻辑电路,这些算术运算的电路 ( 定点运算 ,浮点运算)和逻辑运算的电路配置被集成在ALU,下面主要讲加法器

一丶ALU电路

在这里插入图片描述
三个输入: A i,B i表示两个输入数据, Ki控制本次运算类型
一个输出: F i结果

注:组合逻辑电路,没有记忆的,为了能够保存,Ai,Bi, Fi需要连接寄存器

二丶并行加法器

在这里插入图片描述
n+1个全加器(Full Adder)组成,两个n+1位数以并行的方式完成运算
三个输入: A i,B i(ALU电路的A i,B i一样的)两个数的响应位,C i来自低位的进位,
两个输出: S i相应位输出结果,C i-1向高位的进位
Si的产生
指出某一位输出结果是1还是0(三位为1或者只有一位是1,其他均为0,Si就是1)
参与的A i,B i,C i-1,这里的Ci-1是由低位产生的进位,只有低位进位产生,结果才能产生,所以需要提高Ci-1生成的速度,就能提高加法器的速度
C i的生成
3个输入为1或者2个为1且1个为0 产生1

影响加法器速度的瓶颈就是加法器中进位链

进位链(传送进位的电路)

① 串行进位链

串行进位链是指并行加法器中的进位信号采用串行传递,上面的所示的并行加法器就是典型的串行进位(下面公式德摩根律,图由右往左看)
在这里插入图片描述

② 并行进位链

并行进位链是指并行加法器中的进位信号是同时产生(又称先行进位、跳跃进位),理想的并行进位器是n位全加器的n为同时产生

在这里插入图片描述
但这样随着n越大,电路越复杂,实现越困难,所以为了降低复杂度,并行进位链不是很理想的,它引入了串行进位链的一些想法。通常有单冲分组和双重分组

单重分组跳跃进位

在这里插入图片描述

双重分组跳跃进位

在这里插入图片描述

图中共分两大组,每个大组内包含四个小组,第一大组 C31,C27 ,C23,C19是同时产生的,第一大组 C15,C11 ,C7,C3也是同时产生的,第一大组和第二大组的进位C15采用串行进位方式,各小组的最高进位是同时产生的,小组内的其他进位也是同时形成(小组内的其他进位和最高进位不是同时产生)


二丶CU

在这里插入图片描述

指令的操作码是决定CU发出不同的控制信号的关键,为了简化控制单元的逻辑,将存放在IR的n位操作码经过一个译码电路产生2n个输出,这样,每对一种操作码便有一个输出送至CU(若指令的操作码长度可变,指令译码线路将更复杂)
CU的时钟输入实际是一个脉冲序列,其频率即为机器的主频,它使CU能按一定的节拍(T)发出各种控制信号。节拍的节拍的宽度应满足数据信息通过数据总线从源到目的地的所需时间,以时钟为计数脉冲,通过一个计数器,又称节拍发生器,便可产生一个与时钟周期等宽的节拍序列。如果将指令译码和节拍发生器从CU中分离出来,便可以简化控制单元框图,也就是上面的图b

标志:指令正确执行必须有的,比如跳转上一条指令运行结果的标志,就是本条指令是否发生跳转的依据

CPU外部控制信号:系统总线信号可以控制CU
CPU内部控制信号:到系统总线控制信号(内部和外部信号)和CPU内部部件控制信号
一个时钟脉冲:发一个操作命令或一组同时执行的操作命令

指令周期

在这里插入图片描述

取指令周期
PC把地址给MAR,MAR通过地址总线送给存储器,存储器知道指令地址,CU把控制信号通过控制总线送到存储器,存储器执行读操作,把相应的数据通过数据总线送到MDR中,MDR当中的指令送到IR中,CU再将指令+1(无跳转)
间址周期
MDR(可以从IR,看CPU的设计)当中的地址码送给MAR,MAR通过地址总线送给存储器,CU把控制信号通过控制总线送到存储器,,存储器执行读操作,把相应的数据通过数据总线送到MDR中,这时候MDR保存的是操作数的地址
执行周期
不同
中断周期
① 保存程序断点:CU给出地址放到MAR中,MAR通过地址总线送给存储器,存储器知道指令地址,CU把控制信号通过控制总线送到存储器,存储器执行写操作,PC保存到MDR,MDR通过数据总线送到存储器中
② 形成中断服务程序:CU将中断服务程序的入口地址送给PC
③ 硬件关中断

如何知道CPU处理是在哪个阶段呢
在这里插入图片描述

Ⅰ丶组合逻辑设计

微操作的节拍安排

假设机器采用同步控制,每个机器周期包括三个节拍
安排位操作需要注意三条原则
① 微操作的 先后顺序不得 随意 更改
② 被控对象不同 的微操作 尽量安排在 一个节拍 内完成
③ 占用 时间较短 的微操作 尽量 安排在 一个节拍 内完成 并允许有先后顺序

在这里插入图片描述

在这里插入图片描述
MDR-M(MAR)的逻辑电路
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Ⅱ丶微程序设计

在这里插入图片描述

多路选择:多个来源选择

  1. 下地址:由微指令的顺序控制字段给出地址
  2. 由指令操作码字段OP经过微地址形成部件,给出对应的这条指令他的执行阶段所对应的微程序在控制单元的首地址
  3. 顺序执行+1操作
  4. 微程序入口:第一条微程序的入口地址,中断周期对应的微程序首地址,间址周期对应的微程序首地址都可以通过硬件产生
  5. 分支逻辑:由分支逻辑判断是否转移,来选择上面4个数据源的一个作为CMAR的输入,经过译码,把存储器的内容放入CMDR

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yilyil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值