CPU

  • 总线
  • 存储器
    主存
    cache
    虚拟存储器
  • CPU
    指令系统
  • I/O设备

CPU

  • CPU
  • 一丶ALU
    • 一丶ALU电路
    • 二丶并行加法器
      • 进位链(传送进位的电路)
        • ① 串行进位链
        • ② 并行进位链
        • 单重分组跳跃进位
        • 双重分组跳跃进位
  • 二丶CU
    • 指令周期
    • Ⅰ丶组合逻辑设计
      • 微操作的节拍安排

CPU

CPU_第1张图片
CPU实质包括运算器和控制器两大部分
根据上图可以知道,CPU的功能需求决定了它的结构

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

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


一丶ALU

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

一丶ALU电路

CPU_第2张图片
三个输入: A i,B i表示两个输入数据, Ki控制本次运算类型
一个输出: F i结果

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

二丶并行加法器

CPU_第3张图片
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

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

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

① 串行进位链

串行进位链是指并行加法器中的进位信号采用串行传递,上面的所示的并行加法器就是典型的串行进位(下面公式德摩根律,图由右往左看)
CPU_第4张图片

② 并行进位链

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

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

单重分组跳跃进位

CPU_第6张图片

双重分组跳跃进位

CPU_第7张图片

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


二丶CU

CPU_第8张图片

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

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

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

指令周期

CPU_第9张图片

取指令周期
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处理是在哪个阶段呢
CPU_第10张图片

Ⅰ丶组合逻辑设计

微操作的节拍安排

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

你可能感兴趣的:(#,计算机组成)