wangf72@sina.com
计算机系统结构
Computer Architecture
华中科技大学计算机学院教育部信息存储系统重点实验室王芳计算机系统结构课程介绍
Computer Architecture 计算机系统结构 计算机体系结构
“建筑学”、“建筑物的设计或式样”,通常是指一个系统的外貌。
研究内容:
从外部来研究计算机系统
使用者所看到的物理 计算机的抽象
编写出能够在机器上正确运行的程序所必须了解到的 计算机的属性
软硬件功能分配及分界面的确定计算机系统结构
学习目的:
建立计算机系统的完整 概念
学习计算机系统的 分析方法和设计方法
掌握新型计算机系统的基本 结构 及其工作 原理
学科方向:全国重点学科
一级学科一个:计算机科学与技术
二级学科三个:计算机系统结构,计算机软件,
计算机应用技术华中科技大学系统结构学科一、存储系统结构:
1、并行存储系统( RAID、存储中间件)
2、网络存储系统(双通道网络磁盘阵列、
NAS,SAN)
3、存储安全:数据备份与灾难恢复
4、超大容量超高密度新型存储技术二、网络安全三、群集计算( CLUSTER)
四、多媒体系统技术计算机系统结构
与其他学科的交叉
主要包括:计算机组成原理,计算机操作系统,
汇编语言,数据结构,微机原理,高级语言等
内容:冯,计算机结构,超标量处理机,超流水线计算机,向量处理机,并行处理机,多处理机等
,计算机系统结构,(第二版)
郑纬民 汤志忠 编著
清华大学出版社教 材计算机体系结构参考书
1.,Computer Organization and Design,The
Hardware/Software Interface,Second
Edition”,
D.A,Patterson,John,L,Hennessy
2.,Computer Organization and Architecture
Designing for Performance,Fifth Edition”,
William Stallings
3.,Computer Architecture,A Quantitative
Approach,Third Edition”,
D.A,Patterson,John,L,Hennessy
计算机体系结构网络资源
http://www.cs.wisc.edu/~arch/www/
http://www.computerhistory.org/
http://www.cs.berkeley.edu/~pattrsn/
http://williamstallings.com/
http://www.gb.tomshardware.com/
http://mprc.pku.edu.cn/users/chengxu/org
02/index.htm
http://www.smth.edu.cn/index.html
http://bbs.pku.edu.cn/
计算机体系结构教学内容,
1.计算机系统层次结构
2.系统结构、组成与实现的定义
3.系统结构、组成与实现的三者关系
4.计算机系统结构的分类
5.计算机系统设计的定量原理
6.计算机系统结构的评价标准第一章 计算机体系结构的基本概念教学要求,
1.熟练掌握内容,
计算机系统层次结构,系统结构定义,计算机组成定义,计算机实现定义,系统结构、组成与实现的三者关系,透明性,Amdahl定律,CPU性能公式,
局部性原理,MIPS定义,MFLOPS定义。
2.掌握内容,
系统结构分类,冯 ·诺依曼计算机特征。
3.了解内容,
计算机系统结构的发展,价格、应用,VLSI和算法对系统结构的影响。
第一章 计算机体系结构的基本概念第一代 真空管 Vacuum tubes
1.0 计算机发展历史回顾
ENIAC - background
Electronic Numerical Integrator And Computer
电子数字积分器和计算机,第一台通用电子数字计算机
Mauchly and Eckert,University of Pennsylvania
Trajectory tables for weapons
Started 1943—Finished 1946 —Used until 1955
– Too late for war effort
ENIAC - details
Decimal (not binary)
20 accumulators of 10 digits
Programmed manually by switches
18,000 vacuum tubes
30 tons
15,000 square feet
140 kW power consumption
5,000 additions per second
ENIAC缺点:输入、修改程序复杂。
若程序能与数据同存于存储器,可简化编程过程。
von Neumann/Turing
Stored Program concept(设计新型计算机
ENIAC)
Princeton Institute for Advanced Studies
– IAS
Completed 1952
Von Neumann with the first Institute
computer
Alan Turing
Structure of von Neumann machine
–Main memory storing programs and data
–ALU operating on binary data
–Control unit interpreting instructions from memory and
executing
–Input and output equipment operated by control unit
IAS - details
1000 x 40 bit words
– Binary number( 39+1)
– 2 x 20 bit instructions
Set of registers (storage in CPU)
– Memory Buffer Register
– Memory Address Register
– Instruction Register
– Instruction Buffer Register
– Program Counter
– Accumulator
– Multiplier Quotient( 乘商寄存器)
EDVAC
商用计算机
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)
用于 US Bureau of Census 1950 calculations
Became part of Sperry-Rand Corporation
Late 1950s - UNIVAC II
– Faster
– More memory
UNIVAC I
UNIVAC II
IBM
Punched-card processing equipment
1953 - the 701
– IBM’s first stored program computer
– Scientific calculations
1955 - the 702
– Business applications
Lead to 700/7000 series
IBM 701
第一代计算机系统
电子管、继电器存储器,用绝缘导线连接
CPU( PC,累加器)
顺序执行定点运算
机器 /汇编语言
CPU程序控制 I/O
第二代 晶体管 Transistors
Replaced vacuum tubes
Smaller
Cheaper
Less heat dissipation
Solid State device
Made from Silicon
Invented 1947 at Bell Labs
Transistor Based Computers
Second generation machines
NCR & RCA produced small transistor
machines
IBM 7000
DEC - 1957
– Produced PDP-1
IBM 7030 (1961)
数据通道多路器
DEC PDP-1 (1960)
Estimated cost=$120,000
分立晶体二极管、三极管、铁氧 体磁芯、
用印刷电路互连
变址寄存器、浮点运算、多路存储器、
I/O处理器
带编译程序的高级语言、子程序库、批处理监控程序第二代计算机系统微电子技术的出现
Microelectronics
Literally -,small electronics”
A computer is made up of gates,memory
cells and interconnections
These can be manufactured on a
semiconductor
Generations of Computer
Vacuum tube - 1946-1957
Transistor - 1958-1964
Small scale integration - 1965 on
– Up to 100 devices on a chip
Medium scale integration - to 1971
– 100-3,000 devices on a chip
Large scale integration - 1971-1977
– 3,000 - 100,000 devices on a chip
Very large scale integration - 1978 to date
– 100,000 - 100,000,000 devices on a chip
Ultra large scale integration
– Over 100,000,000 devices on a chip
第三代计算机系统主要特征( IBM360/370,PDP-8)
微程序控制开始普及
流水线、高速缓存、先行处理机
软件上 多道程序设计、分时操作系统第四代计算机系统主要特征( IBM3090,VAX9000)
出现共享存储器、分布存储器、并行计算机
开发了用于并行处理的多处理操作系统、专用语言和编译器等第五代计算机系统主要特征( Intel Paragon)
进行大规模并行处理、采用可扩展、容许延时的系统结构
IBM 360 series(第三代 )
1964
Replaced (& not compatible with) 7000 series
First planned ―family‖ of computers( 系列的概念)
– Similar or identical instruction sets
– Similar or identical O/S
– Increasing speed
– Increasing number of I/O ports (i.e,more terminals)
– Increased memory size
– Increased cost
Multiplexed switch structure( 多路器)
IBM 360 Family
DEC PDP-8 (第三代 )
1964
First minicomputer
Did not need air conditioned room
Small enough to sit on a lab bench
BUS STRUCTURE
DEC - PDP-8 Bus Structure
OMNIBUS
Console
Controller
CPU Main Memory I/OModule I/OModule
PDP-11 (1973)
VAX-11 (1981)
Micro VAX
Growth in CPU Transistor Count
Evolution of Single-Chip Micros
1970’s 1980’s 1990’s 2010
Transistor Count 10K-
100K
100K-1M 1M-100M 1B
Clock Frequency 0.2-
2MHz
2-20MHz 20M-
1GHz
10GHz
Instruction/Cycle < 0.1 0.1-0.9 0.9- 2.0 10 (?)
MIPS/MFLOPS < 0.2 0.2-20 20-2,000 100,000
Moore’s Law---1965
Increased density of components on chip
Gordon Moore - cofounder of Intel
Number of transistors on a chip will double
every year
Since 1970’s development has slowed a little
– Number of transistors doubles every 18 months
Cost of a chip has remained almost unchanged
器件 是 系统结构发展的基础。计算机每一阶段都对应于器件重大变革。
从第一代起 ——器件速度 ↑,体积 ↓ 价格 ↓
现在,计算机主频已达 2G以上,VLSI的发展已可将一台功能强大计算机集成在一块芯片上。
芯片 集成度快速增长,使 CPU和存储器电路尺寸变小,
成本下降,芯片内电路距离变短,速度变快;芯片间连线少了,工作更可靠;并减少了电能消耗和对冷却要求。
处理器性能提高的因素:
近年来处理器速度上的真正增益来自于系统结构的改进:
包括,流水线处理技术,
并行执行技术,
推测执行技术,使将来可能需要的指令前探性地执行。用转移预测和数据流的分析,CPU在程序实际执行之前,就“推测执行”并把结果暂存起来,
尽可能使 CPU保持繁忙,达到它潜在的速度。
处理器性能提高的因素:
最合理地利用新器件,最大限度发挥其潜力,涉及并构成综合性能指标最佳的计算机系统,使计算机系统结构设计的主要任务。
1.1.1 计算机系统的层次结构
1、虚拟机概念
从不同角度看到的计算机系统属性是不同的高级语言程序员、汇编语言程序员、系统管理员、硬件设计者大部分人对计算机的认识只需要在某一个层次上
2、层次结构
第 0级由 hw实现,第 1级由微程序实现,
第 2-6级由 sw实现,由 sw实现的机器称为,虚拟机
第 2级是传统指令系统(机器语言)机器。
第 3级是操作系统机器。 操作系统是运行在第2级上的解释程序。
第 4级是汇编语言机器。
第 5级是高级语言机器。
第 6级是应用语言机器。
计算机系统层次结构应用语言机器高级语言机器汇编语言机器操作系统机器机器语言机器微程序机器第 5级第 4级第 3级第 2级第 1级第 0级 硬联逻辑机器第 6级 编程,应用语言,直接使用,人机接口好。
编程,高级语言,编译使用,人机接口较好。
编程,汇编语言,汇编使用,人机接口较差。
编程,操作系统指令,由操作系统解释执行。
编程,机器语言指令,由下一级微程序解释执行。
编程,微指令,由硬件直接执行。
编程,微指令,由硬联布线逻辑执行。
层次结构
从学科领域来划分:第 0,1级属于 计算机组织与结构,第 3-5级是 系统软件,第 6级是 应用软件 。
它们之间仍有交叉。第 0级要求一定数字逻辑基础;第 2级涉及汇编语言程序设计的内容;第 3级与计算机系统结构密切相关。
在特殊的计算机系统中,有些级别可能不存在。
透明性概念,
本来 存在 的事物或特性从 某个角度 去看却 好象不存在 。
a)对于高级语言程序设计者而言:
存储器的多体交叉
计算机内部使用寄存器的类型
指令是串行执行还是重叠流水等均透明
b)透明概念的相对性不同的计算机层次具有不同的透明性
c)透明性的相对性举例:
浮点数表示、乘法指令,
对高级语言程序员、应用程序员 透明对汇编语言程序员、机器语言程序员 不透明
数据总线宽度、微程序,
对汇编语言程序员、机器语言程序员 透明对硬件设计者、计算机维修人员 不透明计算机系统结构 两种定义定义一,Amdahl于 1964年推出 IBM360系列计算机时提出
,程序员所看到的计算机系统的属性( 外部特性 ),即概念性结构 和 功能特性”
程序员:汇编语言、机器语言、编译程序、操作系统
看到的:编写出能够在机器上正确运行的程序所必须了解到的系统结构的视点
概念结构:
地球模拟器北桥 (主桥 ):与 CPU、主存相连;南桥 (扩充桥 ):与扩充总线相连。
典型的个人计算机系统典型的服务器系统
―地球模拟器”是由日本海洋科学技术中心和宇宙开发事业团、日本原子能研究所等机构从199
7年起联合开始研制的。它把5120个超高速微处理器连接起来,每秒运算速度可高达40万亿次,相当于50万台个人用电脑的功能,占地面积3250平方米,包括建筑物在内,总投资大约4亿美元。据认为它将是目前世界上速度最快的超级计算机,用以分析和预测全球规模的气候变化及地球变化等现象。
IBM BG/L system
2005年蓝色基因 Blue Gene/L系统已经达到 360Tflop/s。系统首要应用是模拟核武器试验,通过超级计算机系统数据模拟评估核武器性能、安全性和可靠性,以补偿由限制核武器试验条约带来的空缺。
功能特性,指令系统及其执行模式 ( P4)
数据表示,硬件能够直接识别和处理的数据类型和格式;
寻址方式,最小寻址单位、寻址方式种类和地址运算等;
寄存器组织,操作数、变址、控制及专用寄存器的定义,数量和使用规则等;
指令系统,机器指令操作类型、格式,指令间排序和控制机制等;
中断系统,中断类型、中断级别和中断响应方式等;
存储系统,最小编址单位、编址方式、主存容量、最大寻址空间
处理机工作状态,定义和切换方式,如管态和目态等;
输入输出系统,连接方式、数据交换方式、数据交换过程控制等;
信息保护,包括信息保护方式和硬件对信息保护的支持等。
定义二,计算机系统结构学科主要研究 sw/hw功能分配和对 sw/hw界面的确定,
计算机系统由 sw,hw和 fw组成,它们在功能上是同等的
同一种功能可以用 hw实现,也可用 sw或 fw实现。
不同的组成只是性能和价格不同。
系统结构的视点
Computer Architecture’s Changing Definition
1950s to 1960s,Computer Architecture Course,
Computer Arithmetic
1970s to mid 1980s,Computer Architecture Course,
Instruction Set Design,especially ISA appropriate for
compilers
1990s,Computer Architecture Course:
Design of CPU,memory system,I/O system,
Multiprocessors,Networks
2010s,Computer Architecture Course,
Self adapting systems? Self organizing structures?
DNA Systems/Quantum Computing?
1,1,2 计算机系统 的组成计算机组成 是指计算机系统结构的 逻辑实现,
其任务是:在计算机系统结构确定分配给硬件子系统的功能及概念性结构后,研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。
各功能部件的性能参数匹配是计算机组成合理的重要标志。如 memory与 CPU,I/O与 CPU速度匹配。
计算机组成的设计是按期望性价比,最佳合理底把各种设备、部件组成计算机,以实现所确认的计算机系统结构。
组成设计主要包括:
确定数据通路的宽度
确定各种操作对功能部件的共享程度
确定专用的功能部件
确定功能部件的并行度
设计缓冲和排队策略
设计控制机构
确定采用何种可靠性技术
1,1,3 计算机系统的实现计算机实现 是指计算机组成的 物理实现,包括:
处理机、主存储器等部件的物理结构
器件的集成度和速度
专用器件的设计
器件、模块、插件、底版的划分与连接
信号传输技术
电源、冷却及装配技术,相关制造工艺及技术等
计算机组成 是计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等,
对传统机器程序员,其设计内容一般是透明的,
计算机实现 是指计算机组成的物理实现,它着眼于器件技术和微组装技术,
计算机系统结构,计算机组成和计算机实现三者之间的联系,
★ 计算机系统结构是系统的软硬件的界面,
★ 计算机组成是系统结构的逻辑实现,
★ 计算机实现是组成的物理实现,
应用程序操作系统系统结构实现指令系统组成编译计算机系统结构、计算机组成和计算机实现是三个不同的概念,但随着技术、器件和应用的发展,三者之间的界限越来越模糊。
1.1.4 计算机系统结构的分类常见分类方法
1、按大小划分
种类:巨型机、大型机、中型机、小型机、微型机等。
划分原则:以性能为表征,按价格来划分
存在问题:划分的标准是随时间而变化
2、按用途划分
种类:科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。
划分原则:
科学计算:浮点计算速度事务处理:字符处理、十进制运算实时控制:中断响应速度,I/0能力工作站:图形处理能力
3、按数据类型划分
种类:定点机、浮点机、向量机、堆栈机等。
4、按处理机个数和种类划分
种类:
单处理机、并行处理机、多处理机、分布处理机、关联处理机、超标量处理机、超流水线处理机,SMP(对称多处理机),MPP(大规模并行处理机)、机群( Cluster)系统等。
5、按所使用的器件划分
种类:
第一代( Valve)、第二代( Transistor)、第三代( SSI和 MSI),第四代( LSI和 VLSI)、第五代(智能计算机)等。
三种通用分类方法
1、佛林( Flynn)分类法,1966年 Michael J Flynn提出
按照指令流和数据流的多倍性特征对计算机系统进行分类指令流,机器执行的指令序列数据流,由指令流调用的数据序列,包括输入数据和中间结果多倍性 ( multiplicity):在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数
单指令流单数据流 SISD(Single Instruction Single
Datastream):传统的顺序处理机
SISD:包括单功能部件处理机,多功能部件处理机,流水线处理机 —— 标量流水线处理机
CU PU MM
CU:控制部件
PU:处理部件
MM:存储器模块
IS:指令流
DS:数据流
IS
IS
DS
单指令流多数据流 SIMD(Single Instruction Multiple
Datastream):
SIMD:包括并行处理机,阵列处理机,向量处理机,超标量处理机,超流水线处理机,即多个 PU按一定的方式互连,
在同一个 CU控制下,并行的对多个数据进行处理。
从 CU看,指令串行执行,从 PU看,数据并行执行
CU
PU3
PU2
PU1
MM3
MM2
MM1
IS
IS
DS1
DS2
DS3
多指令流多数据流 MIMS(Multiple Instruction Multiple
Datastream) 多处理机系统
MIMD:多处理机系统
CU2
CU1
CUn PUn
PU2
PU1
MMn
MM2
MM1IS1 IS1
IS2 IS2
ISn
DS1
ISn
DS2
DSn
多指令流单数据流 MISD(Multiple Instruction Single
Datastream):
几条指令对同一个数据进行不同处理,实际上不存在
CU1
CU2
CUn PUn
PU2
PU1
MM1 MM2 MMn
IS1 IS1
IS2
ISn
IS2
ISn
DS
DS
Flynn分类法得到广泛应用
主要缺点:
(1) 分类太粗
在 SIMD中包括有多处理机
对流水线处理机的划分不明确,
标量流水线为 SISD,向量流水线为 SIMD
(2) 根本问题是 把两个不同等级的功能并列对待,
通常,数据流受指令流控制,从而造成 MISD不存在
其它分类方法简介
a)冯泽云分类方法:根据并行度进行分类 (P6 )
b)Handler 分类法:根据并行度和流水线分类
计算机系统设计定量原则
软件兼容性设计方法
1,2 计算机系统的设计技术
1,2,1 软硬件取舍
1、软硬件的关系
理论上,有两种极端实现方法:
全硬件 机器,包括操作系统、高级语言、应用程序等
硬件只有 1位加法和分支操作,其他都用 软件 实现
软件与硬件实现的特点
硬件实现:速度快、成本高;灵活性差、
占用内存少
软件实现:速度低、复制费用低;灵活性好、占用内存多
关键问题:性能与价格的关系,软硬件实现在功能上等效
计算机系统结构设计者的主要任务就是要确定软硬件的分界,
软件、硬件和固件的功能分配。
软硬件比例软件硬件最少硬件 目前计算机 不可编程
发展趋势:硬件实现的比例越来越高,
硬件所占的成本越来越低发展硬件软件成本年代
Make the common case fast
The most important and pervasive principle
of computer design,In making a design
trade-off,favor the frequent case over
the infrequent case.
Frequent case is often simpler and can be
done faster than the infrequent case.
Amdahl’s Law is used to quantify this
principle.
2、从改进性能考虑软硬件取舍
Amdahl定律,系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的 使用频率 或 占总执行时间的比例 有关。在 Amdahl定律中,
加速比与两个因素有关:
,它总小于 1。
,它总大于 1。
改进后整个任务的执行时间为:
其中 To为改进前的整个任务的执行时间。
Fe? 可改进部分占用的时间改进前整个任务的执行 时间
Se? 改进前改进部分的执行 时间改进后改进部分的执行 时间
T T Fe FeSen o( )1
改进后整个系统的 加速比 为:
( 1-Fe)表示不可改进部分。
当,可改进极限受
Fe的约束。
S
To
T Fe Fe
Se
n
n


1
1( )
Se S Fen时,则 11
例,假设将某一部件的处理速度加快到 10
倍,该部件的原处理时间仅为整个运行时间的 40%,则采用加快措施后能使整个系统的性能提高多少?
解,由题意可知,Fe=0.4,Se=10,根据
Amdahl定律,
S n?

1
0 6
0 4
10
1
0 64
1 56
.
.,
.
Amdahl应用举例
1)设一个程序由 A,B两部分组成,其中 A为可并行化部分,
可由多个 CPU并行执行,A,B = 1,3,当将该程序运行于具有 4 CPU的计算机上时,该程序的性能提高多少?
Fe =?
Se = 4
代入 加速比公式:
e
e
en
o
n
S
FFT
TS


)1(
1
4
1/41/4
)1(
1 = 16/13 = 1.23
2)Amdahl的直观理解
Fe 1- Fe
T0
Tn
1- FeFe/Se
Tn
1- FeFe1/Se1
T0
1- Fe1- Fe2Fe1 Fe2
Fe2/Se2
3)设一个程序由 A,B,C三部分组成,其中 A为可并行化部分
,B为 I/O部分,C为其它部分,且 A,B,C = 1,1,2,当将该程序运行于具有 4 CPU的计算机,且更换一个速度为原来速度 2倍的磁盘时,该程序的性能提高多少?
方法 1,利用 Amdahl的直观理解求解设原来程序的总执行时间为 To,则 A,B,C的时间分别为
To/4,To/4,To/2。如下图所示:
T0
To/2To/4 To/4
Tn
To/2To/16 To/8
更换环境后上述各部分的时间分别如下图所示:
则,加速比为,S = To / ( To/16 + To/8 + To/2) = 16/11
直接利用 Amdahl定理求解先假设不更换磁盘,则 Fe1 =?,则
S1= 1/ (1-? + 1/4/4) = 16/13
在上述条件下再假设更换磁盘,此时,原来 A,B,C所占用的比例如下图所示:
To/2To/16 To/4
A’,B’,C’ = 1,4,8 Fe2 = 4/13
再次使用 Amdahl 定理,可得 S2=1/(1- 4/13 + 4/13/2) = 26/22
则总的加速比为 S = S1 * S2 = 16/13 * 26 /22 = 16/11
例题选讲( 1)
例 1.1( P10) 若考虑将系统中某一功能的处理速度加快 10倍,
但该功能的处理使用时间仅为整个系统运行时间的 40%,则采用此增强功能方法后,能使整个系统的性能提高多少?
由 Amdahl定律公式,已知,Fe=0.4,Se=10,则可得,Sn
=1.56。
它说明局部( 40%)大幅度改进( 10倍)对全局作用要小得多
( 1.56倍)。
0.0 0.5 1.0 fe
1
0
10
5
Sn
加速比 Sn与可增强性能部分 fe的关系由图中曲线可知,为使系统能获得较高性能加速比,则功能性能可增强部分必须占有较大的比例;否则,增强该功能就没有多大意义。
3,Amdahl定律的图形增大 Se和 Fe对 Sn都有提升作用;但当 Fe固定时,一味增大 Se对 Sn的作用会越来越不显著 。
4 Amdahl 定律的广泛应用
1)Amdahl定理,加快经常性事件
2)要能识别什么是“经常性事件”
3)“经常性事件”与应用环境有关,不同的环境有不同的经常性事件。
4)不同类型的经常性事件 可能有 不同的加速方法 。
5)计算机系统结构中的经常性事件及其加速方法
指令系统 (第二章 )
经常性事件,取加快方法,a)Huffman编码,使用频度高者用短指令长度
b)RISC
经常性事件,信息的存取加速方法,a)使用更快的存储器
b)使用 Cache
c)使用 NR(Network Ram)
输入 /输出系统 (第四章 ! )
经常性事件,输入 /输出加速方法,a)更高速的磁盘
b)更高速的接口
c)更快速的方法 程序查询 中断 DMA
d)链路聚合
存储系统 (第三章 )
经常性事件,指令处理加速方法,a)流水线
b)多处理机
c)向量机
d)SIMD
e)集群系统
f)更快速的 CPU
指令处理 (第五、六、八、九、十章 )
1,CPI即每条指令的平均时钟周期数,是衡量 CPU执行指令效率的重要指标。
2,CPI引入的必要性利用 Amdahl定理需要知道 Fe和 Se,在大多数情况下,Se
很难求出,因此不能直接使用 Amdahl定理的加速比公式来求整个系统的加速比。
3、程序执行时间的三个因素 (同一段程序 )
CPU时间 = (IC× CPI)/时钟频率 = (IC× CPI) × 时钟周期
CPI= CPU的时钟周期总数 /IC
CPU的时钟周期总数 =?( CPIi × Ii )
CPI =?( CPIi × Ii /IC)
五,程序执行时间 Te与 CPI ( P11)
4,CPI应用举例根据 CPU时间 = (IC× CPI)/时钟频率 = (IC× CPI) × CT 和 Amdahl
定理,可以重新计算机系统的加速比:
S = CPU时间 o / CPU时间 n =
相同程序,IC不变相同的 CPU
例:某台计算机只有 Load/Store指令能对存储器进行读 /写操作其它指令只对寄存器进行操作,根据程序跟踪实验结果,
已知每种指令所占的比例及 CPI数如下,
求平均 CPI。
CPI=1× 0.43+2× 0.21+2× 0.12+2× 0.24
=0.43+0.42+0.24+0.48=1.57
指令类型 指令所占比例 CPI
算逻指令
LOAD指令
SRORE指令转移指令
43%
21%
12%
24%
1
2
2
2
例 如果 FP操作的比例是 25%,FP操作的平均 CPI=4.0,其它指令的平均 CPI为 1.33,FPSQR操作的比例为 2%,
FRSQR的平均 CPI=20。假设有两种设计方案,分别把
FPSQR操作的 CPI和所有 FP操作的 CPI减为 2,用 CPU性能公式比较这两种设计方案。
解,CPIo = 4?25% + 1.33?75% = 2
方案 1,仅把 FPSQR的 CPI减为 2,则此时的 CPI为:
CPI1= 2 – 2%? (20 –2)= 1.64
方案 2,把所有的 FP的 CPI都减为 2,则
CPI2 = 2 – 25%?( 4 - 2) = 1.5
综上所述,方案 2更好。
访问的局部性原理
90% 10%
根据程序的最近情况,较精确地预测出最近的将来讲要用到哪些指令和数据
时间上的局部性
空间上的局部性衡量计算机的最主要的性能指标是 性能、成本性能指标:
响应时间( response time) —— 完成一个任务的全部时间,包括磁盘访问时间、存储器访问时间,I/O访问时间等
(从用户的角度看问题)
吞吐率( throughout) —— 单位时间内完成的任务数,
Bytes/S(从系统管理员的角度看问题)
六、系统结构的评价标准近十年来在性能和成本上发生的变化性能:
技术工艺的进步
CMOS VLSI在成本和和性能上超越了较老的工艺技术 (TTL,ECL)
计算机体系结构的进步,改进了低端系统的性能
RISC,Superscalar,RAID等等价格,下述原因降低了成本开发更简单
CMOS VLSI,系统更小、部件更少容量更大
CMOS VLSI,同样的设备消耗 10,000对 100,000,000元件功能联网 /局部互联技术的高速发展
1,性能评测的常用方法以 运算速度 为主
2,时钟频率(主频):用于同类处理机之间如,PentiumⅡ /450比 PentiumⅡ /300快 50%,…
3、指令执行速度 (很经典的表示方法 )
MIPS( Million Instructions Per Second),KIPS,GIPS,TIPS;
MIPS 10
6
指令条数执行时间 CPU时钟周期数
指令条数
10 6 /f
f
CPI=? 10 6
程序的执行时间 Te =
MIPS
指令条数
106
6 6 61 0 1 0 1 0
e
IC IC fM IP S
T IC C P I C Y C L E C P I

,主要用于标量计算机;
衡量机器性能的唯一可靠的标准就是真正的执行程序的时间例子,PentiumII 450的 CPI= 0.5,计算该处理机的运算速度解,已知 CPI = 0.5 f = 450MHz
MIPS = f× 106/CPI = 450× 106× 10- 6/0.5 = 900MIPS
6 6 61 0 1 0 1 0
e
IC IC fM IP S
T IC C P I C Y C L E C P I

,主要用于标量计算机;
MIPS的三个缺陷:
a) MIPS依赖于指令集,所以用它来比较指令集不同的机器的性能好坏是不准确的。
b) 在同一台机器上,它因程序不同而变化。
c) 它可能与性能相反。如具有可选硬件浮点运算部件的机器。
M F L O P S 6程序中的浮点操作次数,主要用于向量计算机执行时间 1 0 。
每秒百万次浮点操作次数分析,MFLOPS只能用来衡量机器浮点操作的性能,而不能体现机器的总体性能优点,基于操作而非指令,可以用来比较两种不同的机器。
缺点,它并不可靠,因为不同的机器上浮点运算集不同;依赖于操作类型;单个程序的值并不能反映机器的性能。
4,MFLOPS(Million floating point operations per second)
该参数基于操作而不基于指令,可以克服 MIPS的 (c)问题主要用于向量计算机
5、用基准测试程序测量计算机性能
实际应用程序
核心程序:由来源于实际程序中的少量关键程序组成
玩具基准测试程序:适用于任何计算机的由 100行左右程序代码,运行结果可以预知
6、综合基准测试程序综合考虑各种操作和各种程序的比例组成的测试程序。
七、其它性能指标
1.存储能力
寻址空间大小,216,224,232,264,...
存储容量,速度,编址单位,编址方式,寻址方式
存储系统,Lookahead? Cache? Main Memory? Online
Storage? Off-line Storage
2.字长 1~几百位
关键问题:指令字长与数据字长的协调原因:程序与数据共用同一个主存储器
早期:由指令字长决定当前:由数据字长决定,8的倍数,如,32位,64位等可变字长:任意组合
目前常用:定点、浮点、逻辑、
已有类型:向量、串、栈、树、
发展方向:自定义
4、指令系统
CISC:复杂指令集计算机
RISC:精简指令集计算机
VLIW:超长指令字
5、输入输出能力
输入输出方式
中断系统
输入输出接口
3.数据类型
6、兼容性
共分 12级,0~ 11,0级为完全不兼容,11级为自身
7、保护和诊断能力
程序与数据的保护
诊断能力:检错、纠错、冗余、自诊断能力
可靠性,RAS技术,可靠性 R、可用性 A、可维护性 S
1,2,2 软件兼容性设计方法
原因,软件相对于硬件的成本越来越贵,已积累了大量成熟的系统软件和应用软件。
软件兼容性 (即 可移植性 )种类
( 1) 向后兼容,在某一时间生产的机器上运行的目标软件能够直接运行于更晚生产的机器上。
( 2)向前兼容:
( 3) 向上兼容,在低档机器上运行的目标软件能够直接运行于高档机器上。
( 4)向下兼容:
其中向后兼容最重要,必须做到。
方法 1:系列机方法
系列机 定义:同一厂家生产的 具有 相同的系统结构,不同组成和实现 的一系列计算机系统。( 兼容机 )
实现方法,在系统结构基本不变的基础上,根据不同性能的要求和当时的器件发展情况,设计出各种性能、价格不同的计算机系统。
一种系统结构可以有多种组成,一种组成可以有多种物理实现。
如 IBM370系列机,370/115,125,135、
145,158,168等各种型号。
相同的系统结构,采用不同的组成和实现技术,不同的性能和价格。
相同的指令系统,分别采用顺序执行、
重迭、流水和并行处理方式。
相同的 32位字长,数据通道的宽度分别为 8位,16位,32位,64位。
PC系列机,8088,8086,80186,80286、
80386,80484,Pentium,PentiumII、
PentiumIII
不同工作主频:
不同扩展功能,Pentium/Pentium Pro/Pentium
MMX/
不同的 Cache,PentoumII/Celeron/Xeon
不同的字长,8位( 8088),16位( 80286)、
32位( 80386,486),64位( Pentium )。
采用系列机的主要 优点,
( 1) 软件兼容,可移植性好
( 2) 插件、接口等兼容
( 3) 便于实现机间通信
( 4) 便于维修、培训
( 5) 有利于提高产量、降低成本
采用系列机的主要 缺点,
限制了系统结构的发展方法 2:模拟与仿真 Simulation Emulation
定义,在一台现有的计算机上实现另一台计算机的指令系统。
模拟 ---全部用软件实现仿真 ---用硬件、固件或软件、硬件、固件混合实现
模拟的实现方法在 A计算机上通过 解释 方法 实现 B计算机的指令系统,即 B机器的每一条指令用一段 A机器的程序进行解释执行。
A机器称为 宿主机,B机器称为 虚拟机 。
仿真的实现方法直接用 A机器的一段 微程序解释执行 B机器的每条指令。
A机器称为 宿主机,B机称为 目标机 。
优缺点比较
模拟方法速度低,仿真方法速度高
仿真需要较多的硬件(包括控制存储器)
系统结构差别大的机器难于完全用仿真方法来实现
除了指令系统之外,还有存储系统,I/O系统、中断系统、控制台的操作等方法 3:统一高级语言
方法,采用同一种不依赖于任何具体机器的高级语言编写各种 系统软件和应用软件 。
困难,至今还没有这样一种高级语言。短期内很难实现。 ……
三种方法比较:
采用统一高级语言最好,是努力的目标
系列机是暂时性方法,也是目前最好的方法
仿真的速度低,芯片设计的负担重,目前用于同一系列机内的兼容 1/10~ 1/2的芯片面积用于仿真
1,3 计算机系统结构的发展
1,3,1 冯 ·诺依曼 (Van Nenmann)结构冯 ·诺依曼等人于 1946年提出特点,存储程序,运算器为中心,集中控制传统计算机又称为 冯,诺依曼型机器,它由运算器、控制器
、存储器、输入设备和输出设备 5部分组成运算器
( ALU)
控制器存储器输入设备 输出设备
冯诺依曼原理,程序由指令组成,并和数据一起存放在计算机中,机器一启动,能按照程序指定的逻辑顺序把指令从存储器中读出来逐条执行,自动完成由程序所描述的处理工作。
冯,诺依曼( Von Neumann)型机器结构具有如下特点( P22)
1.以运算器为数据流动中枢,以控制器为控制命令中枢;
2.存储程序并且执行,程序象数据一样可以修改;
3.存储器按地址访问,线性顺序编址;
4.程序顺序执行;
5.指令由操作码与操作数两部分组成;
6.数据用二进制编码;
7.机器由硬件与软件组成,硬件功能不能改变。
2、改进,存储程序,存储器为中心,分散控制
从基于串行算法变为适应并行算法 ——向量计算机,并行计算机、
多处理机等。
高级语言与机器语言的语义距离缩小 ——面向高级语言机器和 直接执行高级语言机器 。
硬件子系统与系统软件相适应 ——面向操作系统机器和数据库计算机 等。
从传统的指令驱动型改变为数据驱动型和需求驱动型 ——数据流机器 和归约机。
为适应特定应用环境而出现了各种 专用计算机,如快速傅里叶变换机器、过程控制计算机等。
为获得高可靠性而研制 容错计算机 。
功能分散化、专业化,出现了各种 功能分布计算机,包含外围处理机、通信处理机等。
出现了处理非数值化信息的 智能计算机,例如自然语言、声音、图形和图象处理等。
计算机系统结构的总趋势按照数据的使用过程,计算机朝着 3个方向发展。
加快 处理 的速度
加快 传输 的速度
加大 存储 的容量和加快存储的速度
加快,1、器件快
2、结构快(系统结构研究的课题)
本章小结本章从定性知识和定量知识两个方面介绍计算机系统结构的基本概念。有关重点如下:
(1) 计算机系统结构的广义定义与狭义定义( 9项内容),计算机系统结构与计算机组成的主要分工;
(2) 计算机系统的多级层次模型( 6级),以及基于该模型的透明性判断方法;
(3) 计算机实现、计算机系统设计的主要思路、模拟、仿真、虚拟机、宿主机、系列机、兼容性、并行性等重要名词的含义;
(4) 冯,诺依曼型机器的 7个特点;
(5) 现代计算机系统分类的 Flynn法( 4类);
(6) Amdahl定律;
(7) 平均周期数 CPI公式,程序执行时间 Te公式;
(8) 每秒百万指令数 MIPS公式,每秒百万浮点数 MFLOPS公式 。
习题,P33,题 12,13,14,15,19 ;
重要名词概念(自学)
[计算机系统设计的 3种主要方法 ]:
,由下往上,,,由上往下,,,由中间开始,。 ( P14)
[系列机 ]:
具有相同体系结构,不同组成和实现的一系列计算机 (P23)
[兼容性 ]
程序不经修改或少量修改就可以运行在其他计算机环境
(P24)
[模拟 ]
宿主机用一段 程序 去解释虚拟机的指令 (P24)
[仿真 ]
宿主机用一段 微程序 去解释虚拟机的指令 (P24)
[虚拟机 ]:被模拟或仿真的计算机 ( P24)
[宿主机 ],模拟或仿真其他计算机的计算机 ( P24)
[并行性 ] 求解一个问题的若干操作在时间安排上的可重叠性 。
[冯诺依曼结构 ]冯 ·诺依曼 (Van Nenmann)计算机的结构与原理 ( P22)