计算机组成原理第五章 第6讲 流水CPU
2021年计算机组成原理第5章.pptx

REG间接寻址
12
10
(3)加法指令(ADD)执行过程
─需求细化
*取指令阶段:取指令+分析指令,(PC)=12H 上条指令结果
取指令操作步骤— 同取数指令(①~④,仅PC值不同)
分析指令的结果— ADD指令,R0←(R0)+(R3)
主存
②+“1”
10H 00100100
R0 17H ⑥
R1 73H
15H 10000000
16H 00010000
17H 01110011
*执行指令阶段:实现当前指令功能 ,设(R0)=17H
操作步骤— R0-⑥→MAR-⑦→MEM读-⑧→MDR-⑨→R1
REG间接寻址
11
(2)存数指令(ST)执行过程
─需求细化
*取指令阶段:取指令+分析指令,(PC)=11H 上条指令结果
*CPU功能与组成部件: 指令控制— PC、IR、ID 操作控制 时间控制 —时序系统、控制信号形成电路 数据加工— ALU及状态REG、REG组 中断处理— 中断机构
*CPU基本结构:运算器,CU、BIU、中断机构,数据通路
CPU …
…
REG0
REG(n-1)
内 部
数
ALU
据
通
状态REG
路
MAR MDR
需求细化—有序的操作串-→CPU基本操作序列-→原子操作序列
需求实现—CU实现原子操作及序列
*CPU基本操作:
部件复用→降低成本
定义—CPU内部的实现基本功能的操作 分步骤保存
要求—提供及接收操作数据的须为时序部件或MEM
*CPU基本操作的类型: REG间传送— R源→R目标 存 储 器 读 — MAR→MEM(读)→MDR 存 储 器 写 — MAR及MDR→MEM(写) 算 逻 运 算 — R源1及R源2→ALU(运算)→R结果
计算机组成原理 第五章 中央处理器

主编 薛胜军教授
计算机组成原理
第五章 中央处理器
5)地址寄存器(AR,Address Register) 地址寄存器用来保存当前CPU所访问的内存单元的地 址。由于在内存和CPU之间存在着操作速度上的差别, 所以必须使用地址寄存器来保持地址信息,直到内存的 读/写操作完成为止。当CPU和内存进行信息交换,即 CPU向主存储器存/取数据时,或者CPU从主存中读出 指令时,都要使用地址寄存器和缓冲寄存器。同样若将 外围设备的设备地址作为像内存的地址单元那样来看待, 则当CPU和外围设备交换信息时可同样使用地址寄存器 和缓冲寄存器。地址寄存器的结构和缓冲寄存器、指令 寄存器一样,通常使用单纯的寄存器结构。信息的存入 一般采用电位—脉冲式,电位输入端对应数据信息位, 脉冲输入端对应控制信号,在控制信号作用下,瞬时地 将信息打入寄存器。
1)程序计数器(PC,Program Counter) 程序计数器(PC)就是能够具体指出下一条指令的地址的部件,又称作 指令计数器。在程序开始执行前,必须将它的起始地址,即程序的第一条 指令所在的内存单元地址(程序入口)送入PC,此时PC的内容即是从内存 提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容, 以便使其保持总是将要执行的下一条指令的地址。由于大多数指令都是按 顺序来执行的,所以修改的过程通常只是简单地对PC加1。但是,当遇到 转移指令时,后继指令的地址(即PC的内容)必须从指令寄存器中的地址字 段取得。在这种情况下,下一条从内存取出的指令将由转移指令来规定。
9
主编 薛胜军教授
计算机组成原理
第五章 中央处理器
4)状态标志寄存器 状态标志寄存器用来保存由算术指令和逻辑指令运行 或测试的结果而建立的各种条件码内容,如运算结果进位 标志(C),运算结果溢出标志(V),运算结果为零标志(Z), 运算结果为负标志(N),等等。这些标志位通常分别由1位 触发器保存。除此之外,状态标志寄存器还用来保存中断 和系统工作状态等信息,以便CPU和系统能及时了解机 器运行状态和程序运行状态。 运算器的主要作用是:
白中英第五版计算机组成原理第5章

计算机组成原理
共一百零六页
(1)加法(jiāfǎ)
“ADD R2,R0”
PC→AR
取指
M→DR
DR→IR
PCo,G,ARi
R/W=R DRo,G,IRi
PC→AR M→DR DR→IR
(2)减法(jiǎnfǎ) “SUB R1,R3”
PCo,G,ARi
R/W=R
DRo,G,IRi
R2→Y
R0→X
计算机组成原理
运行标志
(biāozhì)触 发器Cr
◆ 当计算机启动时,一定 要从第1个节拍脉冲前沿 开始工作。
◆ 停机时一定要在第4个 节拍脉冲结束后关闭时 序产生器。
计算机组成原理
共一百零六页
5.3.3 控制(kòngzhì)方式
控制器的控制方式:控制不同(bù tónɡ)操作序列时序信号的方法。
1. 同步控制方式
共一百零六页
MOV指令(zhǐlìng)的指令(zhǐlìng)周期——取指
计算机组成原理
共一百零六页
MOV指令的指令周期(zhōuqī)——执行
计算机组成原理
共一百零六页
play
5.2.3 LAD指令(zhǐlìng)的指令(zhǐlìng)周期
LAD R1, 6是一条(yī tiáo)RS指令
计算机组成原理
共一百零六页
计算机组成原理
共一百零六页
5.3 时序产生器和控制(kòngzhì)方式
[思考]
用二进制码表示的指令和数据都放在内存里, 那么CPU是怎样(zěnyàng)识别出它们是数据还是指令呢?
从时间上来说:
◆ 取指发生在指令周期的第一个CPU周期;
◆ 取数发生在后面几个CPU周期,即 “执行指令”阶段。
计算机组成原理第五章 第6讲 流水CPU

双重分离式Cache,减少了等待和搬移数据时间 32位CPU,外部数据总线宽度为64位,外部地址总线宽度为36位
5.6.4 Pentium CPU
非固定长度指令格式,9种寻址方式,191条指令,兼 具有RISC和CISC特性,不过我们还是将其看成CISC SL电源管理技术 提供了更加灵活的存储器寻址结构,可以支持传统的 4k大小的页面,也可以支持4M大小的页面 动态转移预测技术 Pentium结构图
取指 译码 执行 访存 写回
5.6.3流水线中的主要问题
2.数据相关,看例子 例:两条指令发生数据相关冲突
RAW(Read After Write)写后读
ADD SUB AND
R1, R4, R6,
R2, R1, R1,
R3 R5 R7
R2+R3-->R1 R1-R5-->R4 R1^R7-->R6
此时钟周期不同于彼“时钟周期”
一个是流水理论中的概念 一个是指令周期、CPU周期中的概念
5.6.2流水CPU的结构
流水线(Pipelining)的分类
按种类分为
• • • • 指令流水线:指令步骤并行 算术流水线:运算步骤并行 存储流水线:多体交叉并行访存 处理机流水线(宏流水线):处理机级联
5.6.2流水CPU的结构
非流水线时空图
5.6.2流水CPU的结构
标量流水线时空图
5.6.2流水CPU的结构
超标量流水线时空图
5.6.2流水CPU的结构
超标量流水
具有两条以上的指令流水线 上图中流水线满载时,每一个时钟周期可以执 行2条指令 采用时间和空间并行技术
计算机组成原理第5章 中央处理器

19
第二节 一、指令执行分析 任何一条指令的执行都要经过读取指令、分析 指令和执行指令三个阶段。指令执行过程一般可分 为:1)取指令 2 3 4 5
20
图5.5
流水处理
21
二、 计算机的功能是执行程序。执行程序时,计算 机操作由一系列指令周期组成,每个周期执行一条 机器指令,而每个指令周期又由若干个机器周期组 成,一种通常的办法是分解成取指、取操作数、执 行和中断,只有取指和执行周期总是必有的。 1 2 图
10
二、时序控制方式 计算机的基本任务是执行指令。执行一条指令 的过程是分为若干步来实现的,每一步对应某些微 操作。由于不同指令所对应的微操作及繁简程度大 不相同,因而每条指令和每个微操作所需的执行时 间也不相同,这就需要引入时序信号来对这些微操 作进行定时控制。时序控制方式,就是指微操作与 时序信号之间采取何种关系。按照同步或非同步的 关系,可将时序控制方式分为同步控制和异步控制
13
计算机从取指令到执行完指令所需要的时间称 为指令周期。不同的指令,其功能不同,其指令周 期长短也就可以不同。在系统中,通常不为指令周 期设置时间标志信号,因而也不将其作为时序的一 级。时序信号通常划分为三级,即机器周期、节拍
14
图5.2
时序系统结构框图
15
3) 异步控制方式中没有统一的时钟信号,各部件 按自身固有的速度工作,通过应答方式进行联络, 常见的应答信号有准备好(READY)或等待( WAIT
16
图5.3 多级时序
17
图5.4
异步应答流程
18
在CPU中,控制器的任务是决定在什么时间、 根据什么条件、发什么命令、做什么操作。因此, 产生微命令的基本依据是时间、指令代码、状态、 外部请求等。这些信息或作为逻辑变量,经组合逻 辑电路产生微命令序列;或形成相应的微程序地址, 通过执行微指令直接产生微命令序列。按照微命令 的产生方式,可将控制器分为组合逻辑控制器和微
计算机组成原理中央处理器与流水线技术

计算机组成原理中央处理器与流水线技术计算机组成原理是计算机科学中的基础课程之一,它主要研究计算机系统的硬件组成和工作原理。
而中央处理器(Central Processing Unit,简称CPU)作为计算机的核心部件之一,承担着指令的译码、执行和数据处理等关键任务。
为了提高CPU的运行效率和性能,流水线技术被引入其中。
本文将对计算机组成原理中央处理器以及流水线技术进行探讨。
一、中央处理器的基本结构和功能中央处理器作为计算机系统的核心,它主要由控制器和运算器两部分组成。
其中,控制器负责对指令的解码和控制,而运算器则负责执行这些指令并进行数据的处理。
控制器是中央处理器的指挥中枢,它接收来自主存储器的指令,并对其进行解码和分析。
解码后的指令将被传送到运算器,根据指令的要求,运算器会执行相应的运算操作,并将结果返回到主存储器或其他设备。
运算器主要由算数逻辑单元(ALU)和寄存器组成。
ALU负责执行各种算术运算和逻辑运算,寄存器则用于存储指令和数据。
在运算过程中,ALU可以根据指令的要求,通过寄存器之间的数据传输和运算来完成各种运算操作。
二、中央处理器与流水线技术的关系为了提高CPU的执行效率和性能,流水线技术被引入其中。
流水线技术是基于指令级并行的思想,将指令的执行过程划分为多个子任务,并通过流水线的方式并行执行这些子任务,从而提高CPU的吞吐量。
1. 流水线技术的原理流水线技术将整个指令的执行过程划分为多个阶段,每个阶段完成一个特定的操作。
这些阶段依次连接在一起,形成一个流水线。
当一个指令进入流水线后,它会按照顺序经过各个阶段的处理,直至完成。
而在同一时刻,不同指令的不同阶段可以并行执行,从而提高了整个流水线的效率。
2. 流水线技术的优势流水线技术的引入使得CPU能够同时处理多条指令,提高了整体的执行效率。
同时,流水线技术还具有以下几个优点:(1)资源复用:不同阶段的操作可以使用相同的硬件资源,提高硬件资源的利用率。
计算机组成原理基础知识流水线技术和超标量处理器

计算机组成原理基础知识流水线技术和超标量处理器计算机组成原理基础知识:流水线技术和超标量处理器计算机组成原理是指计算机硬件的基本组成和工作原理。
在计算机科学与技术领域,流水线技术和超标量处理器是两个重要的概念。
本文将介绍这两种技术的基本原理和应用。
一、流水线技术流水线技术是指将一个复杂的操作分解成多个简单的子操作,并将这些子操作连续地执行,以提高计算机的指令执行效率。
在传统的自顶向下的设计方法中,计算机硬件主要包括控制器、运算器等单一功能模块,而在流水线技术中,计算机硬件被划分成多个阶段,每个阶段执行一个特定的功能子模块。
经典的流水线包括取指、译码、执行、访存和写回等阶段。
在取指阶段,计算机从存储器中读取指令;在译码阶段,计算机对指令进行解码并读取相应的操作数;在执行阶段,计算机执行相应的操作;在访存阶段,计算机对数据进行读写操作;在写回阶段,计算机将执行结果写回到寄存器或存储器。
流水线技术的优点是可以充分利用计算机硬件资源,提高指令的并行执行程度。
但是,流水线技术也存在一些问题,例如数据的相关性和冒险问题,需要通过一些技术手段来解决。
二、超标量处理器超标量处理器是一种在流水线技术基础上的改进方案。
传统的流水线技术中,每个阶段只能执行一个指令,而超标量处理器允许在同一个时钟周期内执行多个指令,以进一步提高计算机的执行效率。
超标量处理器主要依靠两个关键技术来实现多指令并行执行:乱序执行和动态调度。
乱序执行是指根据指令之间的依赖关系,按照合理的顺序执行指令,而不是按照指令在程序中的顺序执行。
动态调度是指通过硬件对指令进行调度,在不改变程序语义的前提下,尽可能地重排指令的执行顺序,以提高指令的并行度。
超标量处理器的工作原理可以简单描述为:在取指阶段,计算机从存储器中读取多个指令;在译码阶段,计算机对这些指令进行解码;在执行阶段,计算机并行执行多个指令;在访存阶段,计算机同时进行多个数据的读写操作;在写回阶段,计算机将执行结果写回到寄存器或存储器。
计算机组成原理参考答案讲解

红色标记为找到了的参考答案,问答题比较全,绿色标记为个人做的,仅供参考!第一章计算机系统概述1. 目前的计算机中,代码形式是______。
A.指令以二进制形式存放,数据以十进制形式存放B.指令以十进制形式存放,数据以二进制形式存放C.指令和数据都以二进制形式存放D.指令和数据都以十进制形式存放2. 完整的计算机系统应包括______。
A. 运算器、存储器、控制器B. 外部设备和主机C. 主机和实用程序D. 配套的硬件设备和软件系统3. 目前我们所说的个人台式商用机属于______。
A.巨型机B.中型机C.小型机D.微型机4. Intel80486是32位微处理器,Pentium是______位微处理器。
A.16B.32C.48D.645. 下列______属于应用软件。
A. 操作系统B. 编译系统C. 连接程序D.文本处理6. 目前的计算机,从原理上讲______。
A.指令以二进制形式存放,数据以十进制形式存放B.指令以十进制形式存放,数据以二进制形式存放C.指令和数据都以二进制形式存放D.指令和数据都以十进制形式存放7. 计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有“存储程序”的概念,最早提出这种概念的是______。
A.巴贝奇B.冯. 诺依曼C.帕斯卡D.贝尔8.通常划分计算机发展时代是以()为标准A.所用的电子器件B.运算速度C.计算机结构D.所有语言9.到目前为止,计算机中所有的信息任以二进制方式表示的理由是()A.节约原件B.运算速度快C.由物理器件的性能决定D.信息处理方便10.冯.诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()A.指令操作码的译码结果B.指令和数据的寻址方式C.指令周期的不同阶段D.指令和数据所在的存储单元11.计算机系统层次结构通常分为微程序机器层、机器语言层、操作系统层、汇编语言机器层和高级语言机器层。
层次之间的依存关系为()A.上下层都无关B.上一层实现对下一层的功能扩展,而下一层与上一层无关C.上一层实现对下一层的功能扩展,而下一层是实现上一层的基础D.上一层与下一层无关,而下一层是实现上一层的基础12.指令流通常是()A.从主存流向控制器B.从控制器流向主存C.从控制器流向控制器D.从主存流向主存13.以下叙述中正确的是()A.寄存器的设置对汇编语言程序是透明的B.实际应用程序的预测结果能够全面代表计算机的性能C.系列机的基本特征是指令系统向后兼容D.软件和硬件在逻辑功能上是等价的14.存储A.__程序____并按B.__地址____顺序执行,这是冯•诺依曼型计算机的工作原理。
西安电子科技大学_计算机组成原理第5章中央处理器_课件PPT

控制信号 指令译码 /控制器
F→IR
IR
总线B IR→B
设ALU的功能有: F = A + B (ADD), F = A - B (SUB), F = A + 1 (INC), F = A - 1 (DEC),
MAR F→MAR
ABUS
M
Read Write
DBUS
F→PC F→R0 F→R1
F→Rn-1
28
5了5条微指令I1~I5所发出的控制信号a~j。 设计微指令的控制字段,要求保持微指令本身的并 行性,需要最少的控制位数为______。
A. 6
B. 7
C. 8
D. 10
微指令
激活的控制信号
abcde f gh i j
I1 √
√√√
I2
√√
√√
I3
西安电子科技大学 计算机学院
计算机组成原理考研辅导
5 第 章 中央处理器
2021年9月3日 21:40:12
考研大纲
(一)CPU的功能和基本结构 (二)指令执行过程 (三)数据通路的功能和基本结构 (四)控制器的功能和工作原理
1. 硬布线控制器 2. 微程序控制器
微程序、微指令和微命令 微指令格式,微命令的编码方式 微地址的形成方式
水平型 垂直型 混合型
A1 A2 … An-1 An 判断测试字段 后续地址字段
操作控制
顺序控制
μOP 微操作码
Rd 目的地址
Rs 源地址
25
5.4 硬布线控制器和微程序控制器 二、微程序控制器 硬布线与微程序控制器的特点: 硬布线:速度快,不规整,修改及扩充困难 微程序:速度慢,规整,容易修改及扩充
白中英《计算机组成原理》(第5版)教材精讲(中央处理器 流水CPU)

5.6 流水CPUEnslow统计过:1965~1975间,反映器件性能级延迟大约为原来的1/10,而反映计算机系统性能之一的平均指令时间为1%。
结论:同一时期计算机系统性能比器件性能提高的速度快得多促使计算机性能提高的因素除了器件性能得提高外还有哪些呢?一、并行处理技术并行性(Parrelism)概念问题中具有可以同时进行运算或操作的特性。
例:在相同时延的条件下,用n位运算器进行n位并行运算速度几乎是一位运算器进行n位串行运算的n倍(狭义)(广义)含义只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性三种形式①时间并行(重叠):让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件②空间并行(资源重复):以数量取胜,它能真正的体现同时性,LSI和VLSI为其提供了技术保证。
③时间+空间并行:Pentium中采用了超标量流水线技术。
二、流水CPU的结构流水计算机的系统组成①存储器体系:主存采用多体交叉存储器;Cache②流水方式CPU:指令部件、指令队列、执行部件③指令流水线④指令队列:FIFO⑤执行部件:可以有多个采用流水线方式构成的算术逻辑部件构成,可以将定点运算部件和浮点运算部件分开。
流水线CPU时空图IF(Instruction Fetch取指),ID(Instruction Decode指令译码),EX(Execution 执行),WB(Write Back写回)具有两条以上的指令流水线上图中流水线满载时,每一个时钟周期可以执行2条指令采用时间和空间并行技术。
流水线(Pipelining)的分类按级别分为:①指令流水线,②算术流水线,③处理机流水线(宏流水线)三、流水线中的主要问题1.瓶颈问题(流水线中有速度慢的段)再分成几个段,用资源重复的方法也可以解决。
计算机组成原理第五章(白中英版)PPT课件

取出CLA指令
算术逻辑单元
ALU
累加器AC
取指 控制
操作控制器
时序产生器
执行 控制
时钟
状态 反馈
c
+ 1
c
20 CLA 21 ADD 30 22 STA 40 23 NOP 24 JMP 21
30 000 006 31 40
指令译码器
CLA
c
CLA
c 指令寄存器IR
缓冲寄存器DR
数据总线DBUS
15
2
第5章 中央处理器 计算机组成原理
5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术 5.6 硬布线控制器 5.7 传统CPU
5.8 流水CPU 5.9 RISC CPU 5.10 多媒体CPU 5.11 CPU性能评价
3
5.1 CPU的功能和组成
30 000 006 31 40
CLA
c
CLA
c 指令寄存器IR
缓冲寄存器DR
数据总线DBUS
16
5.2.3 ADD指令的指令周期
一个CPU周期 一个CPU周期 一个CPU周期
取指令 开始 PC+1
执行加 操作
取下条指 令PC+1
对指令 译码
送操作 数地址
取出操 作数
取指令阶段
执行指令阶段
17
取出并执行ADD指令
☼ 第一章 计算机系统概论 ☼ 第二章 运算方法和运算器 ☼ 第三章 存储系统 ☼ 第四章 指令系统 ☼ 第五章 中央处理器 ☼ 第六章 总线系统 ☼ 第七章 外围设备 ☼ 第八章 输入输出系统 ☼ 第九章 并行组织
计算机组成原理-流水CPU

5.8.3 流水线中的主要问题
流水过程中通常会出现以下三种相关冲突, 使流水线断流。 ➢ 1. 资源相关
▪ 资源相关是指多条指令进入流水线后在同一 机器时钟周期内争用同一个功能部件所发生 的冲突。假定一条指令流水线由五段组成。 由下表可以看出,在时钟4时,I1与I4两条 指令发生争用存储器资源的相关冲突。
上一页 返回 下一页
5.8.2 流水CPU的结构
➢ 图(d)表示超标量流水计算机的时空图。
上一页 返回 下一页
5.8.2 流水CPU的结构
➢ (a)(b)(c)(d)的动态演示请 参看CAI演示:
上一页 返回 下一页
5.8.2 流水CPU的结构
➢ 3. 流水线分类
▪ 指令流水线 指指令步骤的并行。将指令流 的处理过程划分为取指令、译码、执行、写 回等几个并行处理的过程段。目前,几乎所 有的高性能计算机都采用了指令流水线。
上一页 返回 下一页
5.8.2 流水CPU的结构
➢ 2. 流水CPU的时空图
计算机的流水处理过程非常类似于工厂中的流 水装配线。为了实现流水,首先把输入的任务 (或过程)分割为一系列子任务,并使各子任务 能在流水线的各个阶段并发地执行。当任务连 续不断地输入流水线时,在流水线的输出端便 连续不断地吐出执行结果,从而实现了子任务 级的并行性。
5.8 流水CPU
➢ 5.8.1 并行处理技术
➢ 5.8.2 流水CPU的结构
➢ 5.8.3 流水线中的主要问题
➢ 5.8.4 pentium CPU
上一页 返回 下一页
5.8.1 并行处理技术
➢ 并行性的两种含义:
▪ 同时性 指两个以上事件在同一时刻发生; ▪ 并发性 指两个以上事件在同一时间间隔内
计算机组成原理chp5详解

5.2.1 指令周期的基本概念
CAI
11
5.2.1 指令周期的基本概念
概念
指令周期:指取指令、分析指令到执行完该指令所需的全部 时间。 各种指令的指令周期相同吗?为什么?
CPU周期通常又称时钟周期
通常把一条指令周期划分为若干个机器周期,每个机器周期 完成一个基本操作。 主存的工作周期(存取周期)为基础来规定CPU周期,比如, 可以用CPU读取一个指令字的最短时间来规定CPU周期 不同的指令,可能包含不同数目的CPU周期。 一个CPU周期中,包含若干个节拍脉冲(T周期)。 单周期、多周期的概念
31
5.3.1、时序产生器作用和体制
2.
体制 组成计算机硬件的器件特性决定了时序信号的基本体制是 电位—脉冲制(以触发器为例) D为电位输入端,CP(Clock Pulse)为脉冲输入端 R,S为电位输入端 特性方程如下
D=0时,CP上升沿到来时,D触发器状态置0 D=1时,CP上升沿到来时,D触发器状态置1
48
5.4.1微程序控制原理
微指令寄存器(μIR)
用来存放从μCM取出的正在执行的微指令,它的位数同 微指令字长相等。 用来产生初始微地址和后继微地址,以保证微指令的连 续执行。 它接受微地址形成部件送来的微地址,为下一步从μCM 中读取微指令作准备。
微地址形成部件
微地址寄存器(μMAR)
12
5.2.1 指令周期的基本概念
时钟周期
在一个CPU周期内,要完成若干个微操作。这些微操作 有的可以同时执行,有的需要按先后次序串行执行。因 而需要把一个CPU周期分为若干个相等的时间段,每一 个时间段称为一个节拍脉冲或T周期。 时钟周期通常定义为机器主频的倒数。时钟周期不等于 T周期。
《计算机组成原理》6-CPU设计

6.1.2 CPU组成——CPU内部数据通路
CPU 运算器
寄存器
中断
系统
CU
时序系统
数
地
控
据
址
制
线
线
线
在确定一台计算机的总体结构的时候,主要考 虑这样以下问题:
设置哪些部件; 各部件间如何传递信息(即数据通路); 主机与外围设备之间如何实现信息传送; 如何形成微操作命令序列。 前三个问题于机器指令系统设计有密切的关系; 后一个问题涉及到设计策略,其中,数据通路结构 是总体结构设计的核心。
但这种寄存器结构使所需单元器件与连接线增多, 不利于集成度的提高。
6.1.2 CPU组成——CPU典型内部数据通路
M
移位器
D R
ALU
RN
...
锁存器
锁存器
R2
M A
R1
R
IR
PC
状
CU
…
态 信
时钟
…
息
控制信号
3)单组内总线、集成寄存器结构。为了提高寄存 器的集成度,常将寄存器组制作成为小型半导体存储 器结构,一个存储单元就相当于一个寄存器。
6.1.2 CPU组成——CPU典型内部数据通路
2)单组内总线、分立寄存器结构。它的特点是 寄存器分别独立设置,采用一组单向的数据总线, 以ALU为内部数据传送通路的中枢。由于各寄存器在 物理上彼此分立,它们的输出端均与ALU输入端的多 路选择器相连(MAR除外因为它的特殊作用使得它 只能接收地址,传送给主存),多路选择器可以采 用与或逻辑,在同一时刻最多可以选择两路输入, 送入ALU进行相应运算处理。寄存器的数据输入来自 CPU内部总线,由于寄存器彼此分离,只要发出相 应的同步打入脉冲,即可使内总线同时将数据打入 一个或多个寄存器。
流水CPU

计算机组成原理 流水CPU
图3.doc表示超标量流水计算机的时空图。
一般的流水计算机因只有一条指令流水线,所 以称为标量流水计算机。所谓超标量流水,是 指它具有两条或两条以上的指令流水线,如图 所示。当流水线满载时,每一个T可以执行2条 指令。显然,超标量流水计算机是时间并行技 术和空间并行技术的综合应用。
计算机组成原理 流水CPU
•时间并行+空间并行 指时间重叠和资源重复的综合应用,既采 用时间并行性又采用空间并行性。 显然,第三种并行技术带来的高速效益是 最好的。
计算机组成原理 流水CPU
2、 流水CPU 2.1、流水线原理 计算机的流水处理过程同工厂中的流水装配 线类似。
计算机组成原理 流水CPU
计算机组成原理 流水CPU
并行处理则使得以上各个操作能同时进行,从 而提高计算机的速度。 因此并行处理技术便成为计算机发展的主流。
计算机组成原理 流水CPU
广义上讲,并行性有两种含义: • 同时性。指两个以上事件在同一时刻发生; • 并发性。指两个以上事件在同一时间间隔内 发生。
计算机组成原理 流水CPU
2.2、流水CPU的时空图
流水线中有四个子过程:取指令(IF)、指 令译码(ID)、取操作数(EX)、进行运算( WB),每个子过程称为过程段(Si),我们假定 ,每个子过程所用的时间都相同,设为T。
入 S1 S2 S3 S4 出
IF
ID
EX WB
一个指令流水线
计算机组成原理 流水CPU
图1.doc表示非流水计算机的时空图。对非 流水计算机来说,上一条指令的四个子过程 全部执行完毕后才能开始下一条指令。因此, 每隔4个T才有一个输出结果。
计算机组成原理 流水CPU
计算机组织与结构:全面认识CPU的流水

那么其后与之相关的指令就都没有用了。这些指令必须清 除掉,然后再执行其它的指令,CPU相当于做了许多无用 功!流水线越长,一旦出错影响也就越大,比如一个指令 在最后一级出错,那么可能在后续流水线中的所有指令都 要被清除,Northwood核心处理器要浪费20级工序的时间, 而Prescott核心处理器就要浪费31级工序的时间!
• CPU的工作,可以大致分为指令的获取、解 码、运算和结果的写入四个步骤,采用流 水线设计之后,指令(好比待装配的汽车) 就可以连续不断地进行处理。
• 在同一个较长的时间段内,显然拥有流水 线设计的CPU能够处理更多的指令。
二、为什么要加长流水线?
•
Intel和AMD在桌面CPU市场上的激烈竞争,使双方都千方百计地
全面认识CPU的流水线
• 一、我们为什么需要流水线? • 借鉴了工业流水线制造的思想,现代CPU也采用了流水线
设计。在工业制造中采用流水线可以提高单位时间的生产 量;同样在CPU中采用流水线设计也有助于提高CPU的频 率。
• 以汽车装配为例来解释流水线的工作方式。 • 假设装配一辆汽车需要4个步骤:1.冲压:制作车身外壳
指令运行被延迟 • 气泡 指令运行中产生一个“打
嗝”(hiccup),在流水线中生成一个没有实 效的气泡。 • 如右图,在编号为2的时钟频率周期中, 紫色指令的读取被延迟,并且在编号为3 的时钟频率周期中解码层也产生了一个气 泡。所有在紫色指令之后的指令都被延迟 运行,而在其之前已经运行了的指令则不 受影响。 • 由于气泡使指令运行延迟了一个时钟频率 周期,完成全部4条指令的运行共需要8 个时钟频率周期。 • 而气泡处对指令的读取、解码、运行与写 回都没有实质影响。这可以使用nop代码 来完成。
计算机组成原理-流水CPU

➢ 2. 数据相关
▪ 在一个程序中,如果必须等前一条指令执行 完毕后,才能执行后一条指令,那么这两条 指令就是数据相关的。
▪ 在流水计算机中,指令的处理是重叠进行的,
前一条指令还没有结束,第二、三条指令就
陆续地开始工作。由于多条指令的重叠处理,
当后继指令所需的操作数,刚好是前一指令
的运算结果时,便发生数据相关冲突。如下
▪ 转移预测法
用硬件方法来实现,依据指令过去的行为 来预测将来的行为。通过使用转移取和顺序取 两路指令预取队列器以及目标指令cache,可 将转移预测提前到取指阶段进行,以获得良好 的效果。
上一页 返回 下一页
5.8.3 流水线中的主要问题
➢ 【例4】流水线中有三类数据相关冲突: 写后读相关;读后写相关;写后写相关。 判断以下三组指令各存在哪种类型的数 据相关。
表所示,ADD指令与SUB指令发生了数据相
关冲突。
上一页 返回 下一页
5.8.3 流水线中的主要问题
➢ 两条指令发生数据相关冲突;
上一页 返回 下一页
5.8.3 流水线中的主要问题
➢ 解决数据相关冲突的办法:
▪ 在ቤተ መጻሕፍቲ ባይዱ水CPU的运算器中设置若干运算结果 缓冲寄存器,暂时保留运算结果,以便于 后继指令直接使用,这称为“向前”或定向
上一页 返回 下一页
5.8.3 流水线中的主要问题
➢ 两条指令同时访问内存发生资源相关冲突
上一页 返回 下一页
5.8.3 流水线中的主要问题
➢ 解决资源相关冲突的办法:
▪ 一是第I4条指令停顿一拍后再启动; ▪ 二是增设一个存储器,将指令和数据分别放
上一页 返回 下一页
5.8.3 流水线中的主要问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1)I1 I2 2)I3
I4
3)I5 I6
解: 第1)组指令中,I1指令运算结果应先写入R1,然 后在I2指令中读出R1内容。由于I2指令进入流水 线,变成I2指令在I1指令写入R1前就读出R1内容, 发生RAW相关。 第2)组指令中,I3指令应先读出R3内容并存入存 储单元M(x),然后在I4指令中将运算结果写入 R3。但由于I4指令进入流水线,变成I4指令在I3 指令读出R3内容前就写入R3,发生WAR相关。 第3)组指令中,如果I6指令的加法运算完成时间早 于I5指令的乘法运算时间,变成指令I6在指令I5写 入R3前就写入R3,导致R3的内容错误,发生 WAW相关。
只要在同一时刻(同时性)或在同一时间间 隔内(并发性)完成两种或两种以上性质相 同或不同的工作,他们在时间上相互重叠, 都体现了并行性。
广义含义
5.6.1并行处理技术
三种形式
时间并行(重叠):让多个处理过程在时间上相互错 开,轮流使用同一套硬件设备的各个部件,以加快硬 件周转而赢得速度,实现方式就是采用流水处理部件 空间并行(资源重复):以数量取胜
• MESI(Modified Exclusion Share Invalid) • BTB(Branch Target Buffer) • TLB(Translation Lookaside Buffer)
流水CPU
5.6 流水CPU
人们追求计算机有很高的处理速率 促使计算机性能提高的回顾存储器性能提升方法
解决途径
硬件工艺上的提升 并行工作
• 双端口访问和多模块交叉 • 空间并行和时间并行
采用分层的存储系统
• Cache(第6节) • 虚拟存储系统(第9章)
双重分离式Cache,减少了等待和搬移数据时间 32位CPU,外部数据总线宽度为64位,外部地址总线宽度为36位
5.6.4 Pentium CPU
非固定长度指令格式,9种寻址方式,191条指令,兼 具有RISC和CISC特性,不过我们还是将其看成CISC SL电源管理技术 提供了更加灵活的存储器寻址结构,可以支持传统的 4k大小的页面,也可以支持4M大小的页面 动态转移预测技术 Pentium结构图
【例4】流水线中有三类数据相关冲突:写后读 (RAW)相关;读后写(WAR)相关;写后写 (WAW)相关。判断以下三组指令各存在哪种类型 的数据相关。
ADD R1,R2,R3;(R2)+(R3)->R1 SUB R4,R1,R5;(R1)-(R5)->R4 STO M(x), R3;(R3)->M(x) 写后读 M(x)是存储器单元 ADD R3,R4,R5;(R4)+(写后写 R5)->R3 MUL R3,R1,R2;(R1)×(R2)->R3 读后写 ADD R3,R4,R5;(R4)+(R5)->R3
解决办法:
可以推后后继指令对相关单元的读操作 设置相关的直接通路(Forwarding)
5.6.3流水线中的主要问题
3.控制相关
引起原因:转移指令
• 当前指令有跳转,但流水已经开启后续指令处理过 程。
解决办法1:延迟转移法,让跳转的指令接在 最后流水入口 解决方法2:转移预测法,用硬件预测将来的 行为,提前让转移指令进流水。
取指 译码 执行 访存 写回
5.6.3流水线中的主要问题
2.数据相关,看例子 例:两条指令发生数据相关冲突
RAW(Read After Write)写后读
ADD SUB AND
R1, R4, R6,
R2, R1, R1,
R3 R5 R7
R2+R3-->R1 R1-R5-->R4 R1^R7-->R6
5.6.3流水线中的主要问题
流水瓶颈问题(流水线中有速度慢的段)
再分成几个段 用资源重复的方法也可以解决 因为出现了相关冲突
断流问题
5.6.3流水线中的主要问题
1.资源相关:多条指令进入流水线后在同一
时钟周期内争用同一功能部件。
解决办法:后边指令拖一拍再推进;或增设一 个存储部件,指令数据分存。
• 指令流水线 • 指令队列:FIFO 第二个流水: • 执行部件:可以由多个采用流 CPU 流水 水线方式构成的算术逻辑部件 构成,可以将定点运算部件和 浮点运算部件分开。
第三个流水: 运算器流水
5.6.2流水CPU的结构
流水线CPU时空图
IF(Instruction Fetch取指) ID(Instruction Decode指令译码) EX(Execution执行) WB(Write Back写回)
• 它能真正的体现同时性 • LSI和VLSI为其提供了技术保证
时间+空间并行
• Pentium中采用了超标量流水技术
5.6.2流水CPU的结构
流水计算机的系统组成 第一个流水: 存储器体系:主存采用多体交叉 多体交叉存储 存储器;Cache
流水方式CPU:指令部件、指 令队列、执行部件
WB
ID
EX ID EX
5.6.3流水线中的主要问题
数据相关
RAW(Read After Write)写后读
• 后面指令用到前面指令所写的数据
WAR(Write After Read)读后写
• 后面指令覆盖前面指令所读的单元
WAW(Write After Write)写后写
• 两条指令写同一个单元
5.6.4 Pentium CPU
Pentium CPU (第一代)
1989年初0.8um工艺,310万晶体管 有60M和66MHz外频两种版本 5V电压,功耗20W 超标量流水线结构
• 486有一条流水线 • Pentium有U和V两条指令流水线
U流水线可以执行所有的整数和浮点指令 V流水线可以执行简单的整数和FXCH浮点指令
5.6.2流水CPU的结构
非流水线时空图
5.6.2流水CPU的结构
标量流水线时空图
5.6.2流水CPU的结构
超标量流水线时空图
5.6.2流水CPU的结构
超标量流水
具有两条以上的指令流水线 上图中流水线满载时,每一个时钟周期可以执 行2条指令 采用时间和空间并行技术
PS.
此时钟周期不同于彼“时钟周期”
一个是流水理论中的概念 一个是指令周期、CPU周期中的概念
5.6.2流水CPU的结构
流水线(Pipelining)的分类
按种类分为
• • • • 指令流水线:指令步骤并行 算术流水线:运算步骤并行 存储流水线:多体交叉并行访存 处理机流水线(宏流水线):处理机级联
5.6 流水CPU
5.6.1并行处理技术 5.6.2流水CPU的结构 5.6.3流水线中的主要问题
5.6.4
Pentium CPU
5.6.1并行处理技术
并行性(Parrelism)概念
问题中具有可以同时进行运算或操作的特性 例:在相同时延的条件下,用n位运算器进 行n位并行运算速度几乎是一位运算器进行n 位串行运算的n倍(狭义)