410 likes | 585 Views
计算机系统结构 主讲: 任国林 Email : renguolin@seu.edu.cn. 第一章 系统结构基础. 第一节 引言. 一、计算机系统的性能与系统结构. 1 、计算机系统性能 思考①:你到珠江路买计算机时,除价格外,你考虑的性能是什么?为什么?. * 处理能力 — MIPS 或 MFLOPS 、吞吐率等; ( 注意:主频、主存容量等仅为软件性能的 相关参数 ). * 其它能力 -- 正确性、可靠性、兼容性等。 ( 注意:品牌仅为你对 “ 其它能力 ” 及厂家售后服务质量的 信任程度 ).
E N D
计算机系统结构 主讲:任国林 Email:renguolin@seu.edu.cn
第一节 引言 一、计算机系统的性能与系统结构 1、计算机系统性能 思考①:你到珠江路买计算机时,除价格外,你考虑的性能是什么?为什么? *处理能力—MIPS或MFLOPS、吞吐率等; (注意:主频、主存容量等仅为软件性能的相关参数) *其它能力--正确性、可靠性、兼容性等。 (注意:品牌仅为你对“其它能力”及厂家售后服务质量的信任程度) 思考②:对思考①,在性能与价格之间,你决策的依据(感觉)是什么?
2、计算机系统性能与系统结构 (1)计算机换代标志 器件、系统结构、软件技术等成为换代主要标记。 即系统的功能、性能有很大的飞跃。 (2)系统结构在计算机系统中的作用 系统效率 = 器件效率(即速度)×系统结构效率 例1:1965~1975年间,器件速度提高10倍,系统效率提高100倍,系统结构效率提高100/10=10倍。 系统结构的简单理解: 系统功能的软硬件划分、部件组织的结构与技术。 思考③:让你设计一个计算机系统(同等硬件成本)时,你将如何划分软硬件功能?实现硬件功能时部件如何组织?如何评价你的方案?如何优化你的方案? (本课程的主要内容)
二、课程目标 1、课程目标 (1)计算机系统结构的研究 ·掌握系统结构的基本概念、包含内容及设计原理; ·掌握系统结构相关内容的技术、分析及优化设计方法; ·了解系统结构的性能设计原理及最新技术。 (2)计算机并行处理技术的研究 ·流水线技术的分析及设计; ·互连网络技术分析; ·并行处理机及多处理机技术分析。
2、课程学习方法 (1)从系统设计者角度,分析和评价系统结构 掌握系统结构相关内容对系统性能的影响因素; 掌握系统结构相关内容的性能分析方法。 (2)通过剖析Pentium系列相关技术,掌握系统结构设计方法 掌握系统结构基本内容的相关技术及设计方法; 掌握系统结构优化设计及并行处理技术。 △系统结构的分析、设计和优化方法是本课程的重点! 3、参考教材 [1]《计算机系统结构》,张晨曦等,高等教育出版社,第三版 [2]《计算机系统结构》,郑纬民等,清华大学出版社,第二版 [3]《并行计算机系统结构》,白中英等,科学出版社
第二节 系统结构的基本概念 一、计算机系统层次结构 1、计算机系统=软件+硬件/固件 *软件—用计算机语言编写的程序; *计算机语言的发展— 机器语言→汇编语言→…→应用语言, 高级语言以低级语言为基础。 2、从计算机语言角度划分计算机系统 *层次结构图—(见下页) *OS级虚拟机器—OS是计算机系统软硬件资源的管理机构(平台),为高级语言的使用和实现提供所需的基本操作和数据结构(传统机器所没有的),故作为一级虚拟机器存在。 转下页
计算机语言实现技术 L6:应用语言级 翻译(应用程序包) 虚拟机器 L5:高级语言级 软件 翻译(编译程序) L4:汇编语言级 翻译(汇编程序) L3:操作系统级 软硬件 交界面 部分解释 硬件 L2:机器语言级 实际机器 解释 固件 L1:微程序机器级 硬件直接执行 L0:电子线路 计算机系统层次结构图 *计算机语言实现的两种技术—翻译、解释 回上页
二、计算机系统结构概念 1、计算机系统结构 (1)基本定义 程序员所看到的计算机的属性,即概念性结构和功能特性。 *问题:程序员的语言不同层次→看到的同一计算机系统的系统结构不同! (2)精确定义 --Amdahl提出 机器语言程序员或编译程序编写者所看到的计算机的属性。 概念性结构--系统的软、硬件功能界面; (其上为软件、其下为硬件实现) 功能特性—界面的功能分配,即界面的接口或组织。
计算机系统的设计思路: ·从上向下—从软件(应用需求)→硬件,周期长(好几年)、需求变化严重影响系统效率、不能利用最新软件技术; ·从下而上—从硬件→软件,周期长(好几年)、不能利用最新硬件技术、软件效率低; *问题:为什么将此定义作为计算机系统结构的精确定义? ☆从中间开始—从软硬件界面开始设计→软件和硬件,周期短、能利用最新软硬件技术、但对设计人员要求高。 该方法使对系统结构的研究占重要地位! *相关基本概念:a.软、硬件功能在逻辑上是等价的; b.软、硬件功能分配变化范围很宽; c.透明性分析方法。
存储管理程序 文件管理程序 作业管理程序 进程管理程序 信息保护 注:作业管理包含用户界面功能。 操作系统级机器 设备管理程序 程序员看到的属性 指令系统 输入设备触发程序执行 CPU MEM 机器语言级机器 键盘接口 显卡 … 磁盘接口 键盘 显示器 … 磁盘 (3)计算机系统结构的主要内容 a)操作系统级、机器语言级机器的关联 回下页 回13页
信息保护 机器状态 中断系统 程序员看到的属性 指令系统 存储系统 I/O系统 b)计算机系统结构的主要内容 *数据表示—硬件能直接识别和处理的数据类型; *寻址规则—最小寻址单元、寻址方式及其表示; *寄存器组织—各种寄存器功能、数量及其表示; *指令系统—机器指令的类型、格式,指令间排序及控制; *存储系统—主存编址方式、程序员可用最大空间等; *I/O结构—包括I/O编址方式、I/O最大空间,数据传送方式、格式及I/O操作的状态表示等; *中断系统—中断的类型、中断响应的硬件功能等; *机器工作状态定义和切换—系统态/用户态的组织与管理; *信息保护—保护方式、硬件支持等。 转上页
(4)系统结构概念的实质 是定义系统中软硬件间的功能界面及其接口。 2、计算机组成 *定义:计算机系统的设计人员看到的基本属性; 是系统结构的逻辑实现。 *包含内容:数据通路宽度、专用部件设计、各种OS共享程度、功能部件并行度、控制机构组成方式、排队与缓冲技术、预估与预判技术、可靠性技术等。 *计算机组成的实质:如何合理地实现分配给硬件的功能。 (是组成原理课程主要研究的内容) 3、计算机实现 主要研究器件技术与微组装技术; 是计算机组成的物理实现。 (是数字电路等课程主要研究的内容) 转11页
4、三者之间关系 (1)三者关系 一种系统结构应可以有多种计算机组成; 一种计算机组成应可以有多种计算机实现。 例:三者关系 系统结构 计算机组成 计算机实现 乘法功能 是否有乘法指令 乘法器/加法+移位 物理实现 主存系统 容量、编址方式 速度、措施 器件、电路 总线系统 带宽、时延 线数、传输控制 介质、线距 (2)三者关系对系统结构设计的要求 a.系统结构设计不应对组成、实现技术有过多或不合理的限制; b.三者的内容不同时期会有所变化。
DS1 PU1 MM1 DS IS IS CU MM PU … … CU DSn IS PUn MMm SISD IS SIMD IS1 DS IS1 IS1 DS1 IS1 CU1 MM1 CU1 MM1 PU1 PU1 … … … … … … ISn ISn ISn DS ISn DSn MMm MMm CU1 PU1 CU1 PU1 MISD MIMD 三、系统结构的分类 1、按“流”分类 *弗林分类法:按指令流和数据流的多倍进行性分类; 有SISD、SIMD、MISD、MIMD四种类型。 *特点:性能依次提高,对流水线处理机分类不明确。
2、按并行级及流水线分类 *汉德勒分类法: 在三个层次上按并行程度及流水线处理程度分类。 层次— PCU(处理器或宏流水) K级 ALU(算逻部件或指令流水) D级 BLC(位级电路或操作流水) W级 描述— T(C)=〈K×K’,D×D’,W×W’〉 其中:K为PCU数、K’为可组成流水的PCU数, D为每个PCU中ALU数、D’为可组成流水的ALU数, W为ALU或PE字长,W’为所有ALU或单PE流水线段数。 *特点:对并行及流水线的程度有清晰的描述。 注--①流水属并行的一种类型,但有所不同; ②并行程度越好,性能越高。
3、按控制方式分类 *类型:共有4种 控制流方式—顺序执行(如冯·诺依曼模型); 数据流方式—所有指令中操作数到位即可运算, 无序执行(↓,源→目的求解过程); 规约方式—当需要该指令结果时,该指令才会执行, 无序执行(↑,目的→源→目的求解过程), 规约方式与数据流方式刚好相反; 匹配方式—由谓词模式匹配驱动指令的执行, 适合非数值型数据应用(如符号), 主要用于智能型计算机。 *特点:除控制流方式外,其它的并行程度较好。
四、系统结构的设计步骤 1、需求分析 在应用环境、所用语言种类及特性、对OS的特殊要求、所用外设特性、技术经济指标、市场分析等方面进行分析。 2、需求说明 形成包括设计准则、功能说明、器件性能说明等。 └→造价/可靠性/可扩展性/兼容性/速度等方面的原则 3、概念性设计 进行软、硬件功能分析,确定机器级界面。 4、具体设计 机器级界面各方面的确切定义,可考虑几种方案。 5、反复进行评价及优化设计
第三节 定量分析基础 一、计算机性能的主要标准 *计算机性能:正确性、可靠性和工作能力。 ·正确性:与数学计算结果比较,通常认为是正确的。 ·可靠性:用平均无故障时间表示,通常认为是可靠的。 ·工作能力: 响应时间—指任务从输入到结果输出的所有时间, 反映CPU、I/O系统及OS等的总体性能; 吞吐率—指单位时间内能处理的作业或任务数量, 反映系统的多任务处理性能。 回22页
1、响应时间 响应时间指一个任务从输入到输出的总时间。 T响应=TCPU+TI/O访问+TMEM访问 TCPU=T系统CPU+T用户CPU=IN*CPI*TC 响应时间能够反映系统软硬件的总体性能。 *人们通常用其他标准替代响应时间,但不够准确。 (1)MIPS(每秒百万次指令) --替代标准一 *缺点:MIPS不能反映指令功能强弱(如向量指令)。 *处理:常用相对MIPS表示,定义VAX-11/780机为1MIPS。 回下页
(2)MFLOPS(每秒百万次浮点运算) --替代标准二 思考:如何表示浮点操作功能强弱(如+/-与×/÷)? 答:正则化方法关联不同操作(如+/-为1个,×/÷为4个)。 *MFLOPS与MIPS关系:1MFLOPS≈3MIPS。 *缺点:只能反映浮点操作能力,不能反映系统整体性能。 2、吞吐率 指单位时间内处理作业(或任务)的数量。 吞吐率= n÷n个任务总时间 吞吐率能够反映软硬件系统对多任务的处理能力。 附、利用率指标 利用率= ∑各部件工作时间÷(T时间×部件数) 利用率不直接反映系统性能,但对系统优化有极大作用。 转上页
S A系统 B系统 n 1 3、多机系统的性能指标 除单机系统的性能指标外,多机系统还有性能加速比及性能可扩放性两个指标。 (1)性能加速比 --某处理器数的性能 其中:p问题规模大小,n处理机数,h为通信开销。 *注意:为避免性能失真,T(p,1)应选择最优串行算法。 (2)性能可扩放性 --不同处理器数的性能趋势 *定义:系统性能加速比S随处理机数n增加而增长的比例。 S=f(n) *影响因素:处理机数,时钟频率,问题规模大小,处理机间互连等 转19页
二、性能评测技术 1、分析技术 *方法:在一定假设条件下,找出计算机系统参数与性能指标之间的某种函数关系,按其工作负载的驱动条件列出方程,用数学方法求解。 *特点:具有理论的严密性,可节约人力和物力。 *数学工具:用相关数学模型进行分析。 *发展:从脱离实际的假设发展到近似求解。 近似求解算法—聚合法、均值分析法、扩散法等。 *应用:可应用于设计中系统的分析与评价。
例1—分析影响用户CPU时间的因素。 TCPU=IN×CPI×TC 其中,IN--为程序包含指令总数,CPI--为各指令平均所需时钟周期数,TC--为始终周期时长 影响用户CPU时间的因素: TC--取决于器件及计算机组成; CPI—与计算机组成及指令系统有关; IN—与指令系统及编译技术有关。 例2—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.2INA×TCA B机:TCPUB=0.8INA×((0.2/0.8)×2+(1- 0.2/0.8)×1)×1.15TCA=1.15INA×TCA 结果:B机比A机工作速度快。 回27页
2、模拟技术 *方法: ⑴按被评价系统的运行特性建立系统模型; ⑵按系统可能有的工作负载特性建立工作负载模型; ⑶用语言编写模拟程序,模仿被评价系统的运行; ⑷设计模拟实验,依照评价目标,选择与目标有关的因素,得出实验值,再进行统计、分析。 *特点:可解决分析技术中不能数学建模时的评价问题。 *应用:可应用于设计中或实际应用中系统的分析与评价; 可与分析技术相结合,构成一个混合系统。 △注意:分析和模拟技术最终均须通过测量技术验证。
3、测量技术 *方法:通过基准测试程序对系统进行实际性能评价。 *基准测试程序: 有实际应用程序、核心程序、合成测试程序三个层次。 第一个层次—用于测试系统总体性能; 后两个层次--用于测试部件(如CPU、I/O系统等)性能。 基准测试程序—具有三个层次的测试程序组,典型的有SPEC程序组,具有测试多个应用领域、三个层次的测试程序。 *应用:只能应用于实际使用中系统的分析与评价; 通常根据系统的设计需求(应用领域)选择基准测试程序组中的部分测试程序进行测量。 思考:如何评价多个测试程序的结果? 答:有多种方法,其中调和平均方法最接近实际性能,参见陆鑫达主编的《计算机系统结构》。
大概率事件优先原则的应用 三、性能设计基本准则 1、大概率事件优先原则 *思想:对大概率事件赋予它优先的处理权和资源使用权,以获得全局的最优结果。 该原则是系统设计中最重要和最常用的原则。 *举例:如何减小CPU性能中的平均CPI? 其中,n—为指令系统指令类型数,CPIi—第i种指令的CPI, IN—为程序包含指令总数, Ii—为程序中使用第i种指令的次数 减小平均CPI→减小频繁使用(Ii/IN较大)指令的CPI 转24页
Sp 10 5 fe 0 0.5 1.0 2、阿姆达尔(Amdahl)定律 *思想:系统中对某部件采用某种更快执行方式,所获得的系统性能的改变程度,取决于这种方式被使用的频率,或所占总执行时间的比例。 其中,fe为改进部分所占百分比,re为改进部分性能提高倍数 *举例:若fe=0.4、re=10,则SP=1.56; 若fe=0.1、re=10,则SP=1.10。 *应用:可在定量分析时使用该定律查找“性能瓶颈”。 性能瓶颈—改进某部件性能后,系统性能急剧提高时,该部件为性能瓶颈。
3、程序访问局部性原理 程序执行中呈现出频繁重复使用那些“簇聚”的数据和指令的规律。 *特点:反映在时间局部性和空间局部性上。 例—int A[100], Sum=0; for (int i=0; i<100; i++) Sum += A[i]; 时间局部性--近期被访问的信息,可能很快被访问; 空间局部性--与被访问地址相邻的地址上的信息可能会很快被访问。 *应用:是层次存储体系设计的基础。 4、软硬件取舍原则 ①在现有软硬件条件下,有助于提高系统的性能/价格; ②尽量不限制计算机组成和实现技术; ③能够为编译程序和操作系统的实现提供好的支持。
输入设备 存储器 输出设备 注:① 数据线路 控制信号 ② 运算器+控制器=CPU 运算器 控制器 第四节 计算机系统结构发展 一、冯·诺依曼模型系统结构的发展 1、组成 2、特点 • 存储器为一维线性空间、按地址访问— • 指令和数据均以二进制表示— • 采用存储程序原理—数据、指令存放于同一存储器中执行 • 指令串行执行—后继指令或地址由当前指令生成 • 单处理机结构,以运算器为中心 回下页
3、缺点 ·两个瓶颈:CPU—存储器,指令串行执行 ·机器语言与高级语言间语义差别较大 4、发展 ·采用多体交叉存储器,增加存储带宽, 采用分离的指令、数据存储器,减少访问冲突 ·程序运行中不允许被修改→动态再定位加载程序 ·采用流水线、多CPU等方法,开发并行性 采用数据流技术,减少并行性中的冲突 ·增加新的数据表示,进一步支持高级语言 ·以存储器为核心,使I/O设备和CPU可并行工作 转上页
虚拟机 宿主机 虚拟机机器语言 ③统一高级语言 高级语言级 高级语言级 ②解释机器语言 ①统一机器语言 机器语言级 机器语言级 宿主机解释程序 微程序级 微程序级 二、影响系统结构发展的相关因素 1、软件对系统结构发展的影响 主要体现在软件可移植性问题上。 *解决方法:通常有如下三种方法 (1)系列机 *实现软件可移植性思路:通过统一或扩展机器语言。 *系列机:具有相同系统结构或对原系统结构进行扩充,具有不同的组成或实现技术的机器。 回下页
机器档次 (如小型机)高 向上兼容 当前机器(如P4)上的软件 向下兼容 (如嵌入式系统)低 向前兼容 向后兼容 发布时间 2005年 2006年 2009年 *软件兼容种类:向上/下、向前/后兼容。 对系列机的要求—保证向后兼容,力争向上兼容! *对系统结构影响1:系列机思想使得新的组成与实现技术很快得到应用→大量兼容产品出现,推动了系统结构发展。 *对系统结构影响2:为保持软件兼容性→要求系列机的系统结构基本不变,又限制了系统结构的发展。 转上页
(2)模拟与仿真 *模拟:用存放在主存中的机器语言解释程序解释虚拟机指令系统实现软件移植。 同时需模拟存储系统、I/O系统、操作系统的操作. *仿真:用微程序直接解释虚拟机指令系统。 同时需解释I/O系统、操作系统等的操作。 *差别: ·解释语言不同—机器语言/微程序; ·解释程序存放位置不同—主存/控存; ·是否有硬件参与方面不同—无/有。 *对系统结构影响:对系统结构的发展无限制, 但模拟和仿真后系统性能不佳。
虚拟机VM1 虚拟机VMn … 应用程序 应用程序 OS内核 OS内核 虚拟机监控器VMM 物理硬件(CPU、主存、I/O等) (3)统一高级语言 存在很大困难,可争取汇编语言级的统一。 *解决方案1:采用统一的中间语言(如Java),通过解释执行以适应不同的系统结构。 *解决方案2:采用标准的开放系统(具有可移植性、交互操作性),用硬件抽象层技术适应不同的系统结构。 *对系统结构影响: 对系统结构的发展无限制, 但相关功能特性的接口一致。
价格 巨型机 大型机 中、小型机 微型机 等性能线 时间 2、应用对系统结构发展的影响 *应用背景:应用领域、功能及性能要求有所不同。 *应用需求:高速度、大容量、大吞吐率。 *系统结构设计思路: 分成不同级别的系统,以提高性能/价格。 巨、大型机—研究专用系统结构、组成技术; 其它型机—研究通用系统结构(吸纳先进结构与技术). *系统结构发展趋势: ·保持价格基本不变,提高性能; ·保持性能基本不变,降低价格。 *对系统结构影响: ·专用系统结构—无限制; ·通用系统结构—如何有效实现专用结构→通用结构。
3、器件对系统结构发展的影响 *器件使用方法: 通用片→现场片→半用户片→用户片。 *对系统结构影响: ·器件的发展推动了系统结构与组成技术的发展; 如—器件性能、使用方法影响系统结构及组成方法, 器件性/价提高,使结构、组成下移速度更快, 器件的发展,推动算法、语言的发展 ·系统结构的发展要求器件不断发展。 如—新结构的使用,取决于器件发展能否提供可能 提高器件性能/价格,要求改变器件逻辑设计方法。
三、系统结构中并行性的发展 1、并行性 指能在同一时刻或同一时间间隔内完成≥2种工作的特性。 并行性包含同时性和并发性两个特性。 (1)并行性等级划分 *从执行程序角度分:指令内、指令间(ILP)、线程级、任务或过程级、作业或程序级; *从处理数据角度分: 位串字串、位并字串、位串字并、全并行; *从信息加工步骤分:存储器操作并行、处理器操作步骤并行、处理器操作并行、任务或作业并行。
(2)并行性开发途径 *时间重叠:从时间上开发并行性(并发性), 多个处理过程轮流重叠使用同一部件的各部分; 例—流水线技术 *资源重复:从空间上开发并行性(同时性), 同时使用重复设置的资源,以提高系统性能; 例—多CPU、双核CPU *资源共享:从软件上开发并行性(并发性), 多个任务轮流顺序使用同一硬件设备。 例—网络打印机
2、并行性发展 (1)从单处理机方向看 *时间重叠:分离及细化功能部件→流水线→功能不同的宏流水处理机→异构型多处理机系统; *资源重复:多操作部件和多体存储器→相联及并行处理机→同构型多处理机系统; *资源共享:多道程序及分时OS→虚拟机→处理机互连→分布处理系统。 (2)从多机系统方向看 *功能专用化:最低耦合系统→专用外围处理机→专用语言处理机→异构型多处理机系统; *多机互连:紧耦合系统→可重构及容错系统→同构型多处理机系统; *网络化:松耦合系统→局域网→分布处理系统。
第一章课后复习思考题 ⑴计算机系统结构的精确定义、实质是什么?计算机系统结构包含哪些内容?与计算机组成、实现的关系如何? ⑵计算机系统结构有哪几种主要分类方法?特征是什么? ⑶计算机系统性能指标主要有哪些?评测性能的方法有哪些? ⑷计算机系统结构设计的4个准则的内容、含义是什么? ⑸从软件、应用及器件对系统结构发展的影响角度,分析Intel系列处理器设计者的成功之处与苦衷。 ⑹开发计算机系统并行性的途径有哪些?