一、CPU的功能组成
1.CPU的功能
●指令控制(程序的顺序控制)
●操作控制(一条指令有若干操作信号实现)●时间控制(指令各个操作实施时间的定时)●数据加工(算术运算和逻辑运算)
2.CPU的基本组成
(1)中央处理器 CPU =运算器+ cache +控制器
(2)运算器
● ALU
●通用寄存器:R0~R3
●暂存器: DR
●状态字寄存器: PSw
(3) cache
●指令 cache : PC , IBUS
●数据 cache : AR , DBUS
控制器
控制器组成:程序计数器、指令寄存器、数据缓冲器、地址寄存器、通用寄存器、状态寄存器、时序发生器、指令译码器、总线(数据通路)
●程序计数器 PC ( Programming Counter )
用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址
顺序执行时,每执行一条指令, PC 的值应加1
要改变程序执行的顺序时,一般由转移类指令将转移目标地址送往PC,可实现程序的转移
●指令寄存器 IR ( Instruction Register )
指令寄存器用来存放从存储器中取出的待执行的指令。
在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。
3.CPU中的主要寄存器
数据缓冲寄存器(DR):数据缓冲寄存器用来暂时存放ALU的运算结果,或由数据存储器读出的一个数据字,或来自外部接口的一个数据字。
指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。指令划分为操作码和地址码字段,由二进制组成。
程序计数器(PC):为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。
数据地址寄存器(AR):数据地址寄存器用来保存当前CPU所访问的数据储存器(简称库存)单元的地址。
通用寄存器:当算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。
程序状态字寄存器(PSWR):程序状态字寄存器有称状态条件寄存器,保存由算术运算指令和逻辑运算指令运算或测试结果建立的各种条件代码。
4.操作控制器与时序产生器
数据通路:许多寄存器之间传送信息的通路。
操作控制器:为数据通路的建立提供各种操作信号。根据设计方法不同,可分为时序逻辑型和存储逻辑型:
●硬布线控制器
●微程序控制器
时序产生器:提供定时和时序信号
二、指令周期
1.指令周期的基本概念
取指令-执行指令程序列
●概念
●指令周期:指取指令、分析指令到执行完该指令所需的全部时间。
●各种指令的指令周期相同吗?为什么?
● CPU 周期通常又称时钟周期
●通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。
主存的工作周期(存取周期)为基础来规定 CPU 周期,比如,可以用 CPU 读取一个指令字的最短时间来规定 CPU 周期
●不同的指令,可能包含不同数目的 CPU 周期。
●一个 CPU 周期中,包含若干个节拍脉冲( T 周期)。
●单周期、多周期的概念。
●时钟周期
●在一个 CPU 周期内,要完成若干个微操作。这些微操作有的可以同时执行,有的需要按先后次序串行执行。因而需要把一个 CPU 周期分为若干个相等的时间段,每一个时间段称为个节拍脉冲或 T 周期。
●时钟周期通常定义为机器主频的倒数。时钟周期不等于 T 周期。
指令周期
若指令字长等于机器字长等于存储字长,则访存周期等于机器周期(CPU周期)。
不采用三级时序系统时CPU周期称为时钟周期。
2. MOV指令的指令周期
MOV指令的指令周期
MOV指令执行周期
3.LAD指令的指令周期
LAD指令的指令周期
LAD指令的执行周期(寄存器间接寻址)
4.ADD指令的指令周期
第1个 CPU 周期取 ADD 指令(指令 cache )
第2个 CPU 周期执行加法运算(运算器)
5.STO指令的指令周期
STO指令的指令周期
STO指令执行周期
6. JMP指令的指令周期
JMP指令的指令周期
JMP指令执行周期
7.用方框图语言表示指令周期
用方框图语言表示指令周期
加法和减法指令周期流程图
三、流水CPU
1.并行处理技术
并行性( Parrelism )概念
●问题中具有可以同时进行运算或操作的特性●例:在相同时延的条件下,用 n 位运算器进行 n 位并行运算速度几乎是一位运算器进行 n 位串行运算的 n 倍(狭义)
●(广义)含义
●只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性
●时间并行(重叠):让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件
●空间并行(资源重复):以数量取胜
●它能真正的体现同时性
● LSI 和 VLSI 为其提供了技术保证●时间+空间并行
● Pentium 中采用了超标量流水线技术
2.流水CPU的结构
●流水线 CPU 时空图
● IF ( Instruction Fetch 取指)
● ID ( Instruction Decode 指令译码)
● EX ( Execution 执行)
● WB ( Write Back 写回)
(双发射流水)
流水线分类
●按级别分为
●指令流水线
●算术流水线
●处理机流水线(宏流水线)
3.流水线中的主要问题
●三种相关冲突:资源相关、数据相关、控制相关
●资源相关:多条指令进入流水线后在同一时钟周期内争用同一功能部件。
●解决办法:后边指令拖一拍再推进;增设一个功能部件
●数据相关
●控制相关
●引起原因:转移指令
●解决办法:延迟转移法,转移预测法