计算机系统结构课件第1章
i 1 i
T
i
T
最大并行度的表示方法:
处理机名(m,n)
冯泽云分类法(续)
按冯泽云分类法,可分为:
(1)字串位串 (WSBS) 串行计算机;m=1,n=1;如:EDVAC(1,1)
(2)字并位串 (WPBS) 传统单处理机;m=1,n>1;如:Pentium(32,1) (3)字串位并 (WSBP) 并行计算机、MPP、相联计算机;m>1,n=1; 如:MPP(1,16384),STARAN(1,256) (4)字并位并 (WPBP) 全并行计算机;m>1,n>1; 如:ASC(64,32),IILIAC IV(64,64),PEPE(32,288), Cmmp(16,16) 主要缺点: 仅考虑数据并行,没有考虑指令的并行
第1章 计算机系统结构的基本概念
本章要回答的问题是: 什么是“计算机系统结构”? 研究的主要问题是什么? 与其他课程的关系如何?
1.1 计算机系统结构
1 计算机系统的层次结构 虚拟计算机: 从不同角度所看到的计算机系统属性是不同的 主要观察者: 应用程序员、高级语言程序员、汇编语言程序员、系 统管理员、硬件设计人员 对计算机系统的认识应该建立在某一个层次上
( 4 25% ) ( 1.33 75%) 2.0
25%
F
其他操作 CPI 其他 = 1.33 CPI 原系统 =2.0
改进方案 1: 将FP中的FPSQR的CPI由原来的20变为2。
FP操作,25%
改进前:
23%
2%
75%
FPSQR操作,CPI=20 CPI 原系统 =2.0
M M … M M
CU1 CU2 … CUn
DS1 DS2
PU1
PU2 … PUn
IS1
IS2
IS2
ISn
DSn
ISn
控制部件和处理部件均并行工作,多数据流
Flynn分类法的特点
(1)应用广泛 (2)分类太粗 在SIMD中包括有多种处理机 对流水线处理机的划分不明确,标量流水线为SISD,向 量流水线为SIMD (3)根本问题是把两个不同等级的功能并列对待,数据流 受指令流控制,造成MISD不存在 (4)非冯计算机的分类?其他新型计算机的分类
或: 定义: CPI: IC: 则:
每条指令执行时所花费的平均时钟周期数 程序执行的指令条数
CPI=CPU时钟周期数 / IC CPU时钟周期数=CPI×IC CPU时间 =(CPI×IC)/频率
CPI是评价CPU性能的重要指标 例: 8088 CPI=20
80486 Pentium II CPI=2 CPI=0.3
分析: 尽管将该部件的速度加快了10倍,但整个系统的加速比 仅提高了1.56倍。 原因:该部件的原处理时间仅为整个运行时间的40%,所 占比例不大。
例1.2 求浮点数的平方根(FPSQR),设其占整个时间的20%。 方案1: 改进硬件,速度加快10倍。 方案2: 改进FP指令,速度加快2倍。设FP指令占50% 解: 按方案1 可改进部分 20% 不可改进部分 80% 1/10 不可改进部分 80%
Flynn(弗林)分类法 基本思想: 按照指令流和数据流的多倍性特征进行分类 指令流:机器执行的指令序列。 数据流:由指令流调用的数据序列。 多倍性(multiplicity):在系统性能瓶颈部件上同时处 于同一执行阶段的指令或数据的最大可能个数。
四种类型: 单指令流单数据流 SISD 单指令流多数据流 SIMD 多指令流单数据流 MISD 多指令流多数据流 MIMD
例: Cray1: 1个CPU, k =1 , k′=1 12个相当于ALU或PE的处理部件,d = 12 最多8级流水线, d′=8 字长为64位,w = 64 可以实现1~14位流水线, w′= 1~14 则Cray1表示为: t(Cray1)=( 1,12×8,64(1~14) )
1.2
计算机系统的设计技术
提高CPI的途径: 提高CPU频率、减少指令条数。 为了计算CPI,要计算CPU时钟周期总数:
n
CPU时钟周期总数 (CPI i I i )
而: CPU时间 [ (CPIi I i )] 时钟周期长度
n i 1 i 1
所以: CPI
(CPI I )
i 1 i i
DS1 DS2 DSn
MM … MM
Flynn(弗林)分类法(续) (3) 多指令流单数据流 MISD
DS
MM …
IS1
CU1 CU2 … CUn
DS
PU1 PU2
IS2
ISn
MM
PUn
控制部件和处理部件均并行工作,单数据流
Flynn(弗林)分类法(续) (4) 多指令流多数据流 MIMD
IS1
冯泽云分类法
基本思想
用最大并行度对计算机系统进行分类
最大并行度Pm: 单位时间内能处理的最大二进制位数。 设同时处理的字宽为n,位宽为m,则最大并行度定义为: Pm=m×n
平均并行度Pa:设每个时钟周期 △ti 内能同时处理的二进位数为 Pi ,则 T 个时钟周期内的平均并行度为:
Pa
P t
4 计算机系统结构的分类 通常分类
(1) 按性价比划分 以性能为特征,按价格来划分: 巨型、大型、中型、小型、 微型机。 问题:划分的标准是随时间而变化,每5年左右降低一个等级。 (2) 按应用领域划分
科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。
(3) 按应用领域划分 单处理机、并行处理机、多处理机、分布处理机、关联处理 机、超标量处理机、超流水线处理机、SMP(对称多处理机)、 MPP(大规模并行处理机)、机群(Cluster)系统等。
例1.1
假设将某系统的某一部件的处理速度加快到10倍, 但该部件的原处理时间仅为整个运行时间的40%,则采 用加快措施后能使整个系统的性能提高多少? 解: 已知:Fe =0.4,Se=10,求Sn。依 Amdahl定律: 1 Sn 1.56 1 0.4 0.4 / 10
可改进部分 40% 不可改进部分 60% 1/10 不可改进部分 60%
透明性: 定义:本来存在的事物或属性,从某种角度看似乎不存在 例:CPU类型、型号、主存储器容量等 对应用程序员 对系统程序员、硬件设计人员等 例:浮点数表示、乘法指令 对高级语言程序员、应用程序员 对汇编语言程序员、机器语言程序员 例:数据总线宽度、微程序 对汇编语言程序员、机器语言程序员 对硬件设计人员、计算机维修人员
1.2.2 CPU的性能公式
(1) CPI ——每条指令执行时所花费的平均时钟周期数 基本概念 CPU时间: 一个程序所花的CPU时间,不包括I/O等待时间 CPU时钟周期: CPU运行的时钟的周期,是频率的倒数 CPU时间 = CPU时钟周期数/频率 CPU时间 = CPU时钟周期数×时钟周期长
已知:Fe =0.4,Se=10,则:
按方案2
Sn
1 1.22 1 0.2 0.2 / 10
可改进部分 50%
不可改进部分 50%
1/2
已知:Fe =0.5,Se=2,则:
不可改进部分 50%
1 Sn 1.33 1 0.5 0.5 / 2
分析:
方案2成本较低,且效果更好。
—— 加快经常性事件原理
在计算机系统结构中,加快经常性事件的速度原理是普遍 原则,Amdahl定律就是用来解决这个问题的。
Amdahl定律:
系统中某一部件,由于采用某种更快的执行方式后,整个系统性 能的提高与这种执行方式的使用频率或占用总执行时间的比例有关, 用加速比
Sn
表示:
加速比: Sn = 改进后的性能/改进前的性能 或: Sn = 改进前执行某任务时间/改进前执行某任务时间
Handler (汉德勒 )分类法
基本思想
根据并行度和流水线分类 把计算机硬件结构分成三个层次,并分别考虑它们的可并行性和 流水处理程度: (1)程序级k:程序控制部件(PCU)的个数; (2)操作级d:算术逻辑部件(ALU)或处理部件(PU)的个数; (3)逻辑级w:每个算术逻辑部件包含的逻辑线路(ELC)的套数。
基本观念: 计算机系统由软件、硬件和固件组成,它们在功能上是同 等的。 同一种功能可以用硬件实现,也可以用软件或固件实现。 但他们的系统结构是相同的。 基本问题: 不同的组成将导致不同的性能和价格 系列计算机概念: 相同系统结构,不同组成和实现的一系列计算机系统
3 计算机组成与实现 计算机组成(Computer Organization) 内容: 计算机系统结构的逻辑实现。如:确定数据通路的宽度; 各种操作对功能部件的共享程度;专用的功能部件;功能部 件的并行度;设计缓冲和排队策略;设计控制机构;采用何 种可靠性确定技术 计算机实现 内容: 计算机组成的物理实现。处理机、主存储器等部件的物 理结构。如:器件的集成度和速度;专用器件的设计;器件、 模块、插件、底版的划分与连接;信号传输技术;制造工艺 及技术等
Amdahl定律:
T0 改进前执行时间 改进前: 改进后:
A:
可改进部分
B:改进后
C:不可改进部分
C:不可改进部分
Tn 改进后执行时间 定义 Fe = A / T0, 即可改进部分占的比例, ≤1 Se = A / B,即改进前后的比例, ≥1 于是, Amdahl定律写为: 加速比:
T0 1 Sn Tn (1 Fe ) Fe / Se
改善系统结构的性能的主要目标: “快” 器件“快”
器件的发展会受到器件自身制造工艺的影响,存在极限
结构“快” 处理: 采用并行处理的方式(指令、时间、空间)
存储: Cache,存储容量大,可靠性高
传输: 传输快,准确