Presentation is loading. Please wait.

Presentation is loading. Please wait.

计算机系统结构 主讲:任国林 Email:renguolin@seu.edu.cn.

Similar presentations


Presentation on theme: "计算机系统结构 主讲:任国林 Email:renguolin@seu.edu.cn."— Presentation transcript:

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系列处理器设计者的成功之处与苦衷。 ⑹开发计算机系统并行性的途径有哪些?


Download ppt "计算机系统结构 主讲:任国林 Email:renguolin@seu.edu.cn."

Similar presentations


Ads by Google