计组 第五讲 中央处理器

CPU中央处理器

控制程序按设定方式执行

功能

  • 指令控制 顺序寻址 跳跃寻址

    控制程序的执行顺序

  • 操作控制

    产生和发送各操作信号

  • 时间控制 维持各类操作的时序关系

    控制指令或操作的实施时间

  • 数据加工 由ALU完成具体的运算

    对数据进行算术逻辑运算


组成

  • 运算器
  • 控制器
  • 片内Cache

运算器的重要功能

  • 执行所有的算术运算
  • 执行所有的逻辑运算,并进行逻辑测试

ALU、通用寄存器组、标志寄存器


控制器的主要功能

  • 从内存中取出一条指令,并指出下条指令的存放位置 PC程序计数器、IR
  • 对指令进行译码,产生相应的操作控制信号。CU、时序电路、操作控制器
  • 控制CPU、内存和输入/输出设备之间数据流动;


CPU中的寄存器

数据缓冲寄存器(DR)

暂时存放ALU的运算结果或CPU与外界传送的数据

作用

  • 作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲
  • 补偿CPU和内存、外围设备之间在操作速度上的差别

通用寄存器

功能:暂时存放ALU运算的数据或结果

CPU中的通用寄存器可多达16个,32个,甚至更多


状态条件寄存器(PSW)

保存各种状态和条件控制信号

  • u进位标志©
  • 溢出标志(V)
  • 零标志(Z)
  • 符号标志(N)

每个信号由一个触发器保存,从而拼成一个寄存器


地址寄存器(AR)

保存当前CPU所访问数据的内存单元地址

主要用于解决主存/外设和CPU之间的速度差异,使地址信息可以保持到主存/外设的读写操作完成为止


程序计数器(PC)

始终存放下一条指令的地址,对应于指令Cache的访问

放的是指令的地址!!!

其内容变化分两种情况

  • 顺序执行(计数功能)

    PC+1PCPC+1\rightarrow PC

  • 转移执行(寄存功能)

    (指令OPR)PC(指令OPR)\rightarrow PC


指令寄存器(IR)

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

指令寄存器中操作码字段的输出就是指令译码器的输入。

放的是指令!!!



操作控制器与时序产生器

数据通路

寄存器之间传送信息的通路

操作控制器

根据指令操作码和时序信号,产生各种操作控制信号

建立正确地数据通路,从而完成指令的执行

根据设计方法不同,操作控制器可分为

  • 硬布线控制器:采用时序逻辑技术实现
  • 微程序控制器:采用存储逻辑实现
  • 前两种方式的结合

时序产生器

对各种操作实施时间的控制




指令周期

指令周期

是CPU从内存中取出一条指令,并执行的时间总和


CPU周期

又称机器周期,一般为从内存读取一条指令字的最短时间

一个CPU周期可以完成CPU的一个基本操作


时钟周期

也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位



一个完整的指令周期由若干机器周期构成

取指周期——间址周期——执行周期——中断周期

所有指令的第一个机器周期必为取指周期

一个基本的CPU周期包含4个时钟周期,对于某些CPU周期可以包含更多的时钟周期

不同指令的指令周期所包含的时钟周期个数不一定相同

教材上,间址周期和执行周期统称为执行周期


MOV R0,R1

MOV是一条RR型指令,它需要两个CPU周期

取指周期

  • 从存储器中取出指令

  • 程序计数器PC加1

  • 译码或测试指令操作码,发出控制信号

执行周期

在控制信号的作用下,将R1中的数据经过ALU送入R0;

computerComposition_5_1


LAD R1,6

LAD指令是RS型指令,需要访存获取操作数

共包含三个CPU周期

  • 取值周期

  • 间址周期

    从IR的地址码字段获取操作数地址(或者通过计算获得EA)

  • 执行周期

    访存获取操作数送入通用寄存器R1

computerComposition_5_2


LADR1,6指令周期中的控制信号

1.LAD取指周期

CPU动作与取MOV指令的取值周期中一样

2.LAD指令的执行周期

  • (1)

IRDBUSARIR\rightarrow DBUS\rightarrow AR

该过程为寻址周期

IR读

AR锁存

  • (2)

ARABUS数据CacheAR\rightarrow ABUS\rightarrow 数据Cache

译码并启动

  • (3)

数据CacheDBUSDRR1数据Cache\rightarrow DBUS\rightarrow DR\rightarrow R1;


ADD R1,R2

ADD指令的指令周期由两个CPU周期组成

  • 取指周期(略)

  • 执行周期

    • 从寄存器R1、R2中取出数据,作为源操作数
    • 将两数据送往ALU,并使ALU进行加运算
    • 结果保存到R1中

STO R2,(R3)

STO指令是RS型指令,需要3个CPU周期

  • 取指周期(略)
  • 间址周期
    • 根据R3中的地址寻址所要访问的存储单元
  • 执行周期
    • 将寄存器R2中的数据送入指定的存储单元;

JMP 100

JMP指令是一条无条件转移指令,用来改变程序的执行顺序

JMP指令的执行需要两个CPU周期

  • 取指周期(略)
  • 执行周期
    • 使用JMP指令中的直接地址为PC赋值;



用方框图语言表示指令周期

方框

代表一个CPU周期;

方框中的内容表示数据通路的操作或某种控制操作

菱形

通常用来表示某种判别或测试

时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期

~(公操作符号)

表示一条指令已经执行完毕,转入公操作

所谓公操作就是一条指令执行完毕后,CPU所开始的一些操作,比如对外围设备请求的处理等




时序发生器

时序信号的作用:使计算机准确、迅速、有条不紊地工作(CPU的时间表)

CPU通过时序控制来识别指令和数据

指令周期的第一个CPU周期——取指周期 从存储单元中取出的一定是指令,需要送往IR指令寄存器

指令周期的其他CPU周期——执行周期 从存储单元中取出的一定是数据,需要送往运算器


时序信号的体制

电位—脉冲制

脉冲到达之前,电平信号必须要稳定


硬布线控制器的时序信号

常采用主状态周期-节拍电位-节拍脉冲三级体制

微程序控制器的时序信号

一般采用节拍电位-节拍脉冲二级体制

环形脉冲与节拍脉冲共同作用产生各控制信号的时序

控制器的控制方式

  • 同步控制方式

在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变

  • 异步控制方式

每条指令、每个操作控制信号需要多少时间就占用多少时间

  • 联合控制方式

①大部分操作序列为固定的机器周期,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束

②机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定




微程序控制器

微指令

微地址

微指令周期

取微指令的时间+执行微指令的时间