Download presentation
Presentation is loading. Please wait.
1
计算机系统结构 主讲:任国林
2
引 言 一、计算机系统性能与系统结构 1、计算机系统性能 思考①:购买计算机时,你关注的性能是什么?你如何获得 这些性能数据?
引 言 一、计算机系统性能与系统结构 1、计算机系统性能 思考①:购买计算机时,你关注的性能是什么?你如何获得 这些性能数据? *处理能力— 响应时间、吞吐率(MIPS或MFLOPS)等 (注意:CPU主频、主存容量等仅为系统性能参数) *其它能力--正确性、可靠性、兼容性、可用性等 (注意:品牌仅为你对“其它能力”的信任程度) 思考①:处理能力、其他能力,通过间接数据(硬件参数与结构)换算、公开信息评价; 思考②:性能、价格、性/价,性能看间接数据(关注结构),性能相当时看价格,配置硬件时看性能/价格。 思考②:选择机型及其配置时,你决策的依据是什么?
3
*计算机换代标志:器件、系统结构、软件技术等
2、计算机系统结构 *计算机换代标志:器件、系统结构、软件技术等 *系统结构的作用: 系统效率 = 器件效率×系统结构效率 例:1965~1975年,系统效率提高100倍,器件速度仅提高10倍; Pentium-200、PⅡ-233的iCOMP 2.0分别为142、267 *系统结构的内容: 系统功能的软/硬件划分,硬件的结构与技术 思考③:你设计某计算机系统时, 如何划分软/硬件功能? 如何组织硬件功能(结构与技术)? 如何评价你的方案? (本课程的主要内容) iCOMP-intel COmparative Microprocessor Performance,Intel微处理器性能比较指数
4
二、课程目标 1、课程目标 (1)计算机系统结构的研究 ·掌握系统结构的概念、包含内容及设计原理;
·掌握系统结构相关内容的技术、分析及优化设计方法; ·了解系统结构的性能设计原理及最新技术 (2)计算机并行处理技术的研究 ·流水线技术的分析及设计; ·互连网络技术分析; ·并行处理机及多处理机技术分析
5
2、课程学习方法 (1)从系统设计者角度,分析和评价系统结构 掌握系统结构相关内容对系统性能的影响因素; 掌握系统结构相关内容的性能分析方法 (2)通过剖析PC机相关技术,掌握系统结构设计方法 掌握系统结构基本内容的相关技术及设计方法; 掌握系统结构优化设计及并行处理技术 ※系统结构的分析、设计和优化方法是本课程的重点! 3、参考教材 [1]《计算机系统结构》,张晨曦等,高等教育出版社,第三版 [2]《计算机系统结构》,郑纬民等,清华大学出版社,第二版 [3]《并行计算机系统结构》,白中英等,科学出版社
6
第一章 系统结构基础
7
第一节 系统结构的基本概念 一、计算机系统层次结构 L6:应用语言级 L5:高级语言级 L4:汇编语言级 L3:操作系统级 软硬件 交界面
固件 软件 虚拟机器 实际机器 翻译(应用程序包) 翻译(编译程序) 翻译(汇编程序) 解释 硬件直接执行 部分解释 计算机语言实现技术 OS级虚拟机器—OS是计算机系统软硬件资源的管理机构(平台),为高级语言的使用和实现提供所需的基本操作和数据结构(传统机器所没有的),故作为一级虚拟机器存在。
8
二、计算机系统的设计思路 *由上向下方法:从软件→硬件,适合专用机的设计 特点—周期长(好几年),需求变化严重影响系统效率,
不能利用最新软件技术 →形成软、硬脱节 *由下向上方法:从硬件→软件,适合通用机的设计 特点—周期长(好几年),不能利用最新硬件技术, 软件效率低 →形成软、硬脱节 *从中间开始方法:从软/硬件交界面开始设计 特点—周期短,能利用最新软硬件技术, 对设计人员要求高 →主流设计方法 要求—不断进行交互、优化设计 →需好的评价工具及方法
9
二、计算机系统结构概念 1、计算机系统结构定义 (1)基本定义 程序员所看到的计算机的属性,即概念性结构和功能特性
*问题:程序员的语言层次不同→看到的系统结构不同! (2)精确定义 --Amdahl提出 机器语言程序员或编译程序编写者所看到的计算机的属性 概念性结构—系统的软、硬件功能界面 (其上为软件、其下为硬件实现) 功能特性—界面的功能分配,即界面的接口或组织 *实质:研究软硬件间的界面定义及其上下的功能分配
10
2、计算机系统结构的研究内容 *操作系统级、机器语言级机器的关联: 进程管理程序 作业管理程序 文件管理程序 存储管理程序 设备管理程序
信息保护 操作系统级机器 注:作业管理包含用户界面功能 输入设备触发程序执行 指令系统 程序员看到的属性 CPU … 键盘接口 键盘 显卡 显示器 MEM 磁盘接口 磁盘 机器语言级机器 回下页 回12页
11
*计算机系统结构的研究内容: 数据表示—硬件能直接识别和处理的数据类型; 寻址方式—最小寻址单元、寻址种类及规则(地址运算);
寄存器组织—寄存器的种类、数量和使用方式; 指令系统—机器指令的类型、格式,指令间排序及控制; 指令系统 程序员看到的属性 信息保护 机器状态 存储系统 I/O系统 中断系统 存储系统—主存编址单位、可编址空间,容量等; I/O结构—I/O编址方式、I/O最大空间,数据传送方式和格式、I/O操作的状态表示等; 中断系统—中断的类型、中断响应的硬件功能等; 机器工作状态定义和切换—系统态/用户态的组织与管理; 信息保护—保护方式、硬件支持等 转上页
12
*计算机组成:计算机系统的设计人员看到的基本属性
3、系统结构与组成和实现的关系 *计算机组成:计算机系统的设计人员看到的基本属性 研究内容—数据通路宽度、专用部件设计、功能部件并行度、控制机构组成、排队与缓冲技术、预估与预判技术、可靠性技术等 实质—系统结构的逻辑实现 (合理实现分配给硬件的功能) *计算机实现:研究器件技术与微组装技术 实质—计算机组成的物理实现 *系统结构、组成、实现间关系: 1 : n : m 系统结构 ──── 组成 ─── 实现 例: 系统结构 计算机组成 计算机实现 乘法功能 是否有乘法指令 乘法器/加法+移位 物理实现 主存系统 容量、编址方式 速度、措施 器件、电路 总线系统 带宽、时延 线数、传输控制 介质、线距 转10页
13
三、系统结构的分类 1、弗林分类法 *分类原理:按指令流和数据流的多倍性进行分类 *类型:SISD、SIMD、MISD、MIMD
CU … MMm DS1 IS MM1 PUn DSn PU1 SISD CU MM IS PU DS MISD … DS IS1 ISn MMm MM1 PU1 PUn CU1 CUn MIMD … DS1 IS1 ISn DSn MMm MM1 PU1 PUn CU1 CUn *特点:性能依次提高,对流水线处理机分类不明确
14
*分类原理:在三个层次、按并行程度及流水处理程度分类 层次— PCU(处理器或宏流水) K级 ALU(算逻部件或指令流水) D级
2、汉德勒分类法 *分类原理:在三个层次、按并行程度及流水处理程度分类 层次— PCU(处理器或宏流水) K级 ALU(算逻部件或指令流水) D级 BLC(位级电路或操作流水) W级 描述— T(C)=<K×K’,D×D’,W×W’> 其中:K为PCU数、K’为宏流水级数(PCU数),K’≤K D为每个PCU中ALU数、D’为指令流水级数(ALU数), W为ALU或PE字长,W’为操作流水线级数(ELC套数) *特点:对并行及流水线的程度有清晰的描述 注:①流水属并行的一种类型,但有所不同; ②并行程度越好,性能越高
15
3、按控制方式分类 *分类原理:按程序执行的控制方式分类 *分类结果:共有4种类型 控制流方式—指令按逻辑顺序执行(如冯·诺依曼模型) 数据流方式—只要操作数到位,指令即可执行, 无序执行(↓,源→目的求解过程) 规约方式—当需要该指令结果时,该指令才会执行, 无序执行(↑,目的→源→目的求解过程) 匹配方式—由谓词模式匹配驱动指令的执行, 适合非数值型数据应用,常用于智能型计算机 *特点:除控制流方式外,其它的并行程度较好
16
四、系统结构的设计步骤 1、需求分析 在应用环境、所用语言种类及特性、对OS的特殊要求、所用外设特性、技术经济指标、市场分析等方面进行分析
2、需求说明 形成设计准则、功能说明、器件性能说明等 └→造价/可靠性/可扩展性/兼容性/速度等方面的原则 3、概念性设计 进行软、硬件功能分析,确定机器级界面 4、具体设计 机器级界面各方面的确切定义,可考虑几种方案 5、反复进行评价及优化设计
17
第二节 定量分析基础 一、计算机性能的主要标准 *计算机性能:正确性、可靠性和工作能力 ·正确性:与数学计算结果比较,通常认为是正确的
·可靠性:用平均无故障时间表示,通常认为是可靠的 ·工作能力:即系统的速度,可分为峰值性能和持续性能 响应时间—指任务从输入到结果输出的所有时间, 反映CPU、I/O系统及OS等的总体性能 吞吐率—指单位时间内能处理的作业或任务数量, 反映系统的多任务处理性能 回22页
18
T响应=TCPU=T系统CPU+T用户CPU=IN×CPI×TC, CPI包含ALU、访问MEM及I/O的时间(含等待时间)
1、响应时间 *定义:指一个任务从输入到输出的总时间 T响应=TCPU=T系统CPU+T用户CPU=IN×CPI×TC, CPI包含ALU、访问MEM及I/O的时间(含等待时间) *特点:能够反映软硬件系统的总体性能,但不易测量 *影响CPI的因素: TCPU =IN×CPI×TC=IN×(p+m×k)×TC 其中,p—处理周期数/指令,m—访存次数/指令,k—访存时延 性能因子 系统属性 IN p m k TC 指令系统结构 × 编译技术 PE实现与控制技术 Cache和内存层次结构
19
*定义:指单位时间内能够处理作业(或任务)的数量 吞吐率 = n÷n个任务总时间
2、吞吐率 *定义:指单位时间内能够处理作业(或任务)的数量 吞吐率 = n÷n个任务总时间 *常用标准:对作业(或任务)的定义无法统一 MIPS(每秒百万次指令)-- MIPS不能反映指令功能强弱,常用相对MIPS表示 MFLOPS(每秒百万次浮点运算)— 约定:VAX-11/780机为1MIPS 不同操作通过正则化方法实现关联, MFLOPS只能反映浮点操作能力
20
*特点:吞吐率与I/O软硬件组织方式及OS有很大关系;
能够反映软硬件系统对多任务的响应能力 *提高吞吐率方法: 流水化--使多个作业流水处理; 并行处理--给每个P分配多个作业,各P相互协调 3、利用率 *定义:利用率=持续性能÷峰值性能 *特点:不直接表示系统性能,与前两种指标有密切关系; 对系统性能优化及结构改进起着至关重要的作用!
21
*性能加速比:多机系统相对于单机系统性能提高的比例
4、系统可扩放性 常用于评价多机系统的并行处理能力 *性能加速比:多机系统相对于单机系统性能提高的比例 其中 p--问题规模,n--处理器数量,h--通信时间 *系统可扩放性:系统性能随处理机数n增加而增长的比例 S=f(n) S n 1 B系统 A系统 衡量方法--测量不同n时的加速比, 得到性能可扩放性曲线 影响因素—结构、处理器数、问题规模、存储系统等
22
二、性能评测技术 1、分析技术 *思路:在一定假设条件下,计算机系统参数与性能指标参数之间存在着某种函数关系,按其工作负载的驱动条件列出方程,用数学方法求解后评价 *发展:从脱离实际的假设发展到近似求解 近似求解算法—聚合法、均值分析法、扩散法等 *应用:可应用于设计中系统的分析与评价 例—A机执行的程序中有20%转移指令(需2TC),转移指令都需要一条比较指令(需1TC)配合,其他指令均为1TC。B机中转移指令中包含比较指令,但TC比A机慢15%。A机、B机执行该程序时,哪个工作速度快? A机:TCPUA=INA×(0.2×2+0.2×1+0.6×1)×TCA=1.2 INA×TCA B机:TCPUB=0.8INA×((0.2/0.8)×2+(1- 0.2/0.8)×1)×1.15TCA=1.15 INA×TCA 解:TCPUA=1.2 INA×TCA ,TCPUB=1.15 INA×TCA ,B机比A机快
23
2、模拟技术 *思路:建立模拟器,模拟系统性能模型和工作负载模型,对运行后的数据进行统计、分析和评价 *方法: 按被评价系统的运行特性建立系统模型; 按系统可能有的工作负载特性建立工作负载模型; 用语言编写模拟程序,模仿被评价系统的运行; 设计模拟实验,依照评价目标,选择与目标有关因素,得出实验值,再进行统计、分析 *应用:可应用于设计中或实际应用中系统的分析与评价; 可与分析技术相结合,构成一个混合系统 △注意:分析和模拟技术最终均须通过测量技术验证
24
*思路:采用基准测试程序,对系统进行实际性能测量
3、测量技术 *思路:采用基准测试程序,对系统进行实际性能测量 *基准测试程序: 有实际应用程序、核心程序、合成测试程序三个层次 第一个层次—用于测试系统总体性能; 后两个层次--用于测试部件(如CPU、I/O系统等)性能 基准测试程序—具有三个层次的测试程序组,典型的有SPEC程序组,包含测试多个领域、三个层次的测试程序 *应用:只能应用于实际使用中系统的分析与评价; 通常根据系统的设计需求(应用领域)选择基准测试程序组中的部分测试程序进行测量
25
三、性能设计基本准则 1、大概率事件优先原则 *基本思想:对大概率事件赋予优先的处理权和资源使用权,以获得全局的最优结果
※该原则是系统设计中最重要和最常用的原则 *应用举例: 指令系统—指令操作码采用霍夫曼编码; 程序执行—使高频指令的CPI较小; 溢出处理—优化不溢出情况的处理; 存储系统—采用层次结构,虚存的TLB由高速SRAM组成
26
*思想:优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例
2、阿姆达尔(Amdahl)定律 *思想:优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例 *举例:某功能处理时间占系统时间的40%,将其处理速度加快10倍后,整个系统性能提高多少? 0.0 0.5 1.0 fe Sp 10 1 5 解—已知fe=0.4,re=10,利用Amdahl定律,则 Sp=1.56 re=10时Sp和fe的关系如右图: *应用:使用该定律可改善“系统瓶颈”性能 方法—若改善某部件性能后,系统性能急剧提高, 则该部件为“系统瓶颈”
27
*基本思想:程序执行时,呈现出频繁重复使用那些“簇聚”的数据和指令的规律,包含时间局部性和空间局部性
3、程序访问局部性原理 *基本思想:程序执行时,呈现出频繁重复使用那些“簇聚”的数据和指令的规律,包含时间局部性和空间局部性 时间局部性--近期被访问的信息,可能很快被访问 空间局部性--被访问信息的相邻信息,可能很快被访问 例— int A[100], Sum=0; for (int i=0; i<100; i++) Sum += A[i]; *应用:层次存储体系设计 4、软硬件取舍原则 ①现有软硬件条件下,所选方法有助于提高系统的性/价; ②所选方法尽量不限制计算机组成和实现技术; ③所选方法能够对编译程序和操作系统的实现提供好的支持 ①例:产品费用与研制费用和生产费用的关系,Dh/V+Mh~C×Ds/V+R×Ms 其中,C-软件需要重新设计次数;R—同一功能软件重复复制和存储次数;V—生产台数 ②例:数据表示设计不应限制数据宽度与之一一对应; 主存容量设计不应限制是否采用多体交叉存储器等 ③例:指令系统中增加OS所需指令; 根据编译要求设置一定数量通用寄存器等
28
第三节 计算机系统结构发展 一、冯·诺依曼模型系统结构的发展 1、组成与特点 5大部件组成—以运算器为中心
输入设备 存储器 运算器 控制器 输出设备 注:① 数据线路 控制信号 ② 运算器+控制器=CPU 5大部件组成—以运算器为中心 存储器为一维线性空间、按地址访问— 指令和数据均以二进制表示— 采用存储程序原理—数据和指令预先存放于同一存储器中 指令串行执行—按程序的逻辑顺序逐条执行 回下页
29
·两个瓶颈:CPU—存储器,指令串行执行 ·机器语言与高级语言间语义差别较大
2、缺点 ·两个瓶颈:CPU—存储器,指令串行执行 ·机器语言与高级语言间语义差别较大 3、发展 ·采用多体交叉存储器,增加存储带宽, 采用分离的指令、数据存储器,减少访问冲突 ·程序运行中不允许被修改→动态再定位加载程序 ·采用流水线、多CPU等方法,开发并行性 采用数据流技术,减少并行性中的冲突 ·增加新的数据表示,进一步支持高级语言 ·以存储器为核心,使I/O设备和CPU可并行工作 转上页
30
二、影响系统结构发展的相关因素 1、软件对系统结构发展的影响 *影响因素:软件可移植性 *解决方法:通常有三种 (1)系列机
机器语言级 高级语言级 微程序级 目标机 宿主机 ①统一机器语言 ③统一高级语言 ②解释机器语言 宿主机解释程序 目标机机器语言 (1)系列机 *思想:具有相同系统结构或扩充原系统结构,采用不同的组成或实现技术,来实现软件可移植性 回下页
31
*影响1:使得新的组成与实现技术很快得到应用,大量兼容产品的出现,推动了系统结构的发展
软件兼容种类—向上/向下、向前/向后兼容 发布时间 机器档次 当前机器(如P4) 向上兼容 向下兼容 (如小型机)高 向后兼容 向前兼容 2005年 年 年 (如嵌入式系统)低 系列机的要求—保证向后兼容,力争向上兼容! *影响2:为保持软件兼容性,要求系统结构基本不变,限制了系统结构的发展 转上页
32
*比较:不同—解释程序的语言及存放位置、硬件是否参与 相同—解释指令系统、存储系统、I/O系统、OS
(2)模拟与仿真 *模拟:用机器语言解释来实现软件移植 需模拟目标机指令系统、存储系统、I/O系统、OS等的操作 *仿真:用微程序直接解释另一种指令系统 需解释目标机I/O系统、OS等的操作 *比较:不同—解释程序的语言及存放位置、硬件是否参与 相同—解释指令系统、存储系统、I/O系统、OS *影响:对系统结构的发展无限制, 模拟/仿真后系统性能不佳
33
存在一定的困难,可争取汇编语言或接口/技术的统一
(3)统一高级语言 存在一定的困难,可争取汇编语言或接口/技术的统一 *方案1:采用统一的中间语言(如Java),通过解释执行以适应不同的系统结构 *方案2:采用标准的开放系统(具有可移植性、交互操作性),用硬件抽象层技术适应不同的系统结构 应用程序 OS内核 虚拟机VM1 虚拟机VMn … 虚拟机监控器VMM 物理硬件(CPU、主存、I/O等) *影响:对系统结构的发展无限制, 相关功能特性的接口要求一致
34
*应用背景:应用领域、性能、价格的要求不同 *应用需求:高速度、大容量、大吞吐率
2、应用对系统结构发展的影响 *应用背景:应用领域、性能、价格的要求不同 *应用需求:高速度、大容量、大吞吐率 *系统结构设计思路:分成不同级别的系统,以提高性/价 巨、大型机—研究专用系统结构、组成技术 其它型机—研究通用系统结构(吸纳先进结构与技术) *系统结构发展趋势: ·保持价格基本不变,提高性能 ·保持性能基本不变,降低价格 价格 时间 等性能线 巨型机 大型机 中、小型机 微型机 *对系统结构影响: 专用系统结构—无限制(应用是原动力) 通用系统结构—如何有效实现专用→通用的结构转换
35
·器件的发展推动了系统结构与组成技术的发展
3、器件对系统结构发展的影响 *器件使用方法: 通用片→现场片→半用户片→用户片 *对系统结构影响: ·器件的发展推动了系统结构与组成技术的发展 如—器件性能、使用方法影响系统结构及组成方法, 器件性/价提高,使结构、组成下移速度更快, 器件的发展,推动算法、语言的发展 ·系统结构的发展要求器件不断发展 如—新结构的使用,取决于器件发展能否提供可能 提高器件性能/价格,要求改变器件逻辑设计方法
36
三、系统结构中并行性的发展 1、并行性 指同一时刻或同一时段内完成≥2种工作的特性; *特性:同时性、并发性 (1)并行性等级划分
执行程序角度 处理数据角度 信息加工步骤 操作级 位串字串 存储器操作并行 指令级 位并字串 处理器操作步骤并行 任务或过程级 位串字并 处理器操作并行 作业或程序级 全并行 任务或作业并行
37
(2)并行性开发途径 有时间重叠、资源重复、资源共享3种 *时间重叠:从时间上开发并行性(并发性), 多个处理过程轮流使用同一部件的各部分 例—流水技术 *资源重复:从空间上开发并行性(同时性), 同时使用重复设置的资源,以提高系统性能 例—多CPU、双核CPU *资源共享:从软件上开发并行性(并发性), 多个任务共同使用同一硬件设备 例—网络打印机
38
2、并行性发展 (1)单机系统的并行性发展 *时间重叠:分离及细化功能部件→流水线→宏流水→异构MP *资源重复:多操作部件→指令级并行→阵列处理机→同构MP *资源共享:分时OS→虚拟机→分布式系统 (2)多机系统的并行性发展 有紧耦合、松耦合两种连接方式 *时间重叠:功能专用化→外围处理机→异构MP *资源重复:高可靠性→容错及可重构系统,高速度→同构MP *资源共享:网络化→多计算机系统(MPP及COW)
39
标量 顺序的 先行控制 I/E重叠 功能并行 多个功能部件 流水线 隐式向量 显式向量 存储器-存储器 寄存器-寄存器 SIMD MIMD 联想处理机 处理机阵列 多计算机 多处理机 计算机系统结构树 空间并行 时间并行
40
第一章课后复习思考题 ⑴计算机系统结构的精确定义、实质是什么?计算机系统结构包含哪些内容?与计算机组成、实现的关系如何?
⑵计算机系统结构有哪几种主要分类方法?特征是什么? ⑶计算机系统性能指标主要有哪些?评测性能的方法有哪些? ⑷计算机系统结构设计的4个准则的内容、含义是什么? ⑸从软件、应用及器件对系统结构发展的影响角度,分析Intel系列处理器设计者的成功之处与苦衷。 ⑹开发计算机系统并行性的途径有哪些?
Similar presentations