四川大学计算机学院 主讲:倪云竹 E-MAIL:ybamboo@163.com 计算机系统结构 四川大学计算机学院  主讲:倪云竹   E-MAIL:ybamboo@163.com.

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因:
并行计算机体系结构 东南大学计算机学院 任国林
计算机系统结构 主讲:任国林
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
2017年3月5日 单片机原理与应用 背景知识调查.
第一章 计算机体系结构的基本概念.
电子数字计算机 计算机性能 计算机硬件 计算机软件 多级层次结构
计算机系统结构教程 武汉理工大学.
第1章 导论 【学习内容】 1.1计算机系统结构的基本概念 1.2计算机性能评测价 学习目标.
计算机体系结构 Computer Architecture
计算机组成原理 东南大学计算机学院 任国林
实用操作系统概念 张惠娟 副教授 1.
计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
1.1 计算机系统简介 1.2 计算机的基本组成 1.3 计算机硬件的主要技术指标 1.4 本书结构.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
1.2 计算机体系结构的概念 计算机系统中的层次概念 1. 计算机系统=软件+硬件/固件 2. 计算机语言由低级向高级发展
计算机系统结构 西南林业大学计信学院 邢丽伟.
计算机系统结构 南京航空航天大学 计算机科学与技术学院 主讲:刘佳
计算机基础知识 丁家营镇九年制学校 徐中先.
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
存储系统.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
逆向工程-汇编语言
数据挖掘工具性能比较.
CPU结构和功能.
整合思维导图的初中英语教学设计 主讲人:卢璐.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
计算机组成与系统结构 陈泽宇 副教授.
实验七 安全FTP服务器实验 2019/4/28.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
一 测定气体分子速率分布的实验 实验装置 金属蒸汽 显示屏 狭缝 接抽气泵.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二节 C语言的特点.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
机械设计A 、B 重修 涮分 学习过,想提高?? 上课 考勤?? 平时成绩 %
本底对汞原子第一激发能测量的影响 钱振宇
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第十七讲 密码执行(1).
第十二讲 密码执行(上).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

四川大学计算机学院 主讲:倪云竹 E-MAIL:ybamboo@163.com 计算机系统结构 四川大学计算机学院  主讲:倪云竹   E-MAIL:ybamboo@163.com

提出问题: 什么是系统结构? 为什么学习系统结构? 计算机系统结构与组成原理之间的关系是什么?

为什么要学习系统结构? 设计、提高整机性能 如何提高整机性能? 学习思路:传统机器的缺陷-性能评价-改进

1、如何评价? 评价标准:加速比、吞吐率、效率 2、如何提高? 解决问题主要思路: 1)并行技术:时间并行,空间并行(提高机器性能) 2)局部性原理 包括程序的时间局部性和程序的空间局部性。

流水线 超线程 双核(多核) 超流水线 分支预测 互连网络多机系统 哈佛结构 虚拟存储系统、 CACHE存储系统(改进) 需要程序支持(openMP)多核并行设计 互连网络多机系统 哈佛结构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构 ,是一种并行的体系结构。 虚拟存储系统、 CACHE存储系统(改进) 对两个模块的改进(控制器、存储器) 处理器技术提升较快,存储设备的数据交换是瓶颈

学习目标: 建立计算机系统的完整概念 在机器指令层次学习计算机系统的性能分析方法和性能改进方法 对组成原理的重要补充和延伸 掌握提高计算机系统的整体运算性能的基本思路和方法 为将来的新知识做预备(并行程序、嵌入式)

参考书目 1. 计算机系统结构教程 张晨曦等 清华大学出版社 (2009年5月) 2.计算机系统结构 李学干 西安电子科技大学出版社 2.计算机系统结构 李学干 西安电子科技大学出版社 3.计算机系统结构 陈智勇 西安电子科技大学出版社

评分标准 期末总成绩=平时成绩×30%+期末考试成绩×70% 平时成绩(满分100分): 1. 考勤:40分,缺席一次扣5分 2. 课堂测试:60分

第1章 计算机系统结构基本概念 1.1 引言 1.2 计算机系统结构的概念 1.3 定量分析技术 1.4 计算机系统结构的发展 1.5 计算机系统结构中并行性的发展

1.1 引言 第一台通用电子计算机诞生于1946年 计算机技术的飞速发展得益于两个方面: 经历了4个发展过程: 计算机制造技术的发展 计算机系统结构的创新 经历了4个发展过程:

1.1 引言 25% 约35% 大规模集成电路和微处理器出现,以集成电路为代表的制造技术的发展 20世纪70年代末-80年代初 计算机制造技术的发展和计算机系统结构的创新 25% 1946年起的25年 原 因 每年的性能增长 时 间

1.1 引言 约20% 功耗问题(已经很大)。 可以进一步有效开发的指令级并行性已经很少。 存储器访问速度的提高缓慢。 2002年以来 RISC结构的出现,系统结构不断更新和变革,制造技术不断发展 50%以上 维持了约16年 20世纪80年代中开始 原 因 每年的性能增长 时 间

1.1 引言 摩尔定律正在走向终结… 单芯片容纳晶体管的增加,对制造工艺提出要求 CPU制造18nm技术,电子泄露问题 CPU主频已达3GHz时代,难以继续提高 散热问题(发热太大,且难以驱散) 功耗太高 摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。 有分析人士提出:当制造工艺精密到18纳米时,就已经达到技术使用极限。因为在18纳米制造工艺下,半导体制造设备的成本将过于昂贵,在其有限的生命周期内,其产能价值甚至无法弥补制造设备成本。在从20纳米向18纳米过渡期间,摩尔定律依然有效,而降至18纳米之后可能就要失效。 未来的发展:多核

1.1 引言 AMD Athlon 酷睿2双核处理器

1.1 引言 系统结构的重大转折: 从单纯依靠指令级并行转向开发线程级并行和数据级并行。

1.1 引言 近期的发展(进程级并行技术): 超线程(Hyper-Threading)技术: 利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。 双核心技术: 将两个物理处理器核心整合入一个内核 ,每个核心都使用自己独立的高速缓存。两颗独立CPU组建的系统在工作原理和性能上基本没有区别。

1.2 计算机系统结构的概念 一. 计算机系统的层次结构 虚拟机:由软件实现的机器 语言实现的两种基本技术: 翻译:先把N+1级程序全部转换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。 解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。 解释执行比编译后再执行所花的时间多,但占用的存储空间较少。

1.2 计算机系统结构的概念 从语言的角度划分层次结构 应用语言虚拟机 高级语言虚拟机 汇编语言虚拟机 操作系统虚拟机 电子线路级 用户 高级语言程序员 汇编语言程序员 系统操作员 机器语言程序员 硬件设计人员 翻译 解释 部分解释 硬件直接执行 软件 硬件或固件 机器语言(传统机器级) 微程序机器级 电子线路级

1.2 计算机系统结构的概念 二. 计算机系统结构的定义 1. 经典定义: Amdahl提出: 计算机系统结构就是程序设计者所看到的计算机的基本属性,即概念性结构与功能特性。 按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。

1.2 计算机系统结构的概念 应用语言虚拟机 高级语言虚拟机 汇编语言虚拟机 操作系统虚拟机 电子线路级 机器语言(传统机器级) 微程序机器级 电子线路级 软件 硬件或固件 用户 高级语言程序员 汇编语言程序员 系统操作员 机器语言程序员 硬件设计人员 Amdahl提出的系统结构实际上是指传统机器语言级程序员所看到的计算机属性。

1.2 计算机系统结构的概念 对于通用寄存器型机器来说,这些属性主要是指: (1)指令系统 (2)数据表示 (3)寻址规则 (4)寄存器定义 (5)中断系统 (6)机器工作状态的定义和切换 (7)存储系统 (8)信息保护 (9)I/O结构

1.2 计算机系统结构的概念 2. 广义的系统结构定义: 3. 计算机系统结构概念的实质: 指令集结构、组成、硬件 (计算机设计的三个方面) 3. 计算机系统结构概念的实质: 确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。

1.2 计算机系统结构的概念 三. 计算机组成和计算机实现 1. 计算机组成: 2. 计算机实现: 计算机系统结构的逻辑实现。即根据计算机系统结构所制订的功能,从逻辑上完成计算机的设计。这里包括各部件的逻辑实现,部件之间的互相连接以及物理机器级中的数据流和控制流的组成以及逻辑设计等。 2. 计算机实现: 计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

1.2 计算机系统结构的概念 3.系统结构、组成与实现之间的关系 同一种系统结构可以用不同组成来实现。 如:系统结构一样的计算机可以有不同的CACHE:无CACHE,有处理机片内CACHE,有片内和片外CACHE. 一种组成可以有多种物理实现。 4. 系列机 由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 例如, IBM 370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。

1.2 计算机系统结构的概念 四. 计算机系统结构的分类 (一) Flynn分类法 1. 三个重要概念: 指令流(Instruction Stream):机器执行的指令序列; 数据流(Data stream):由指令处理的数据序列; 多倍性(Multiplicity):在系统最窄的部件上,处于同一时间单位内,最多可并行执行的指令条数或处理的数据个数。

1.2 计算机系统结构的概念 2. 分类: ⑴ 单指令流单数据流(SISD——Single Instruction Single Datastream) ⑵ 单指令流多数据流(SIMD——Single Instruction Multiple Datastream) ⑶ 多指令流单数据流(MISD——Multiple Instruction Single Datastream) ⑷ 多指令流多数据流(MIMD——Multiple Instruction Multiple Datastream)

1.2 计算机系统结构的概念 3.各类结构的概念性框图: DS1 DS2 DSn PU1 PU2 PUn CU CS IS MMn MM2 ( a ) SISD ( b ) SIMD MMn MM2 MM1 IS2 CU2 CS2 PU2 IS1 CU1 CS1 PU1 DS ISn CUn CSn PUn MMn MM2 MM1 IS2 IS1 ISn CUn CSn PUn DSn CU1 CS1 DS1 PU1 CU2 CS2 PU2 DS2 ( c ) MISD ( d ) MIMD

1.2 计算机系统结构的概念 (二)冯式分类法 用系统的最大并行度对计算机进行分类。 最大并行度:计算机系统在单位时间内能够处理的最大的二进制位数。 用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字)。m×n就表示了其最大并行度。

1.3 定量分析技术 一. 计算机系统的定量原理 1. 以经常性事件为重点进行优化 优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。 使经常性事件的处理速度加快能明显提高整个系统的性能 2.Amdahl定律 加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。

1.3 定量分析技术 Amdahl定律定义了由于采用某改进方法后系统所能获得的加速比的大小。 即加速比Sn可定义为: 加速比= 系统性能改进后 系统性能改进前 总执行时间改进前 总执行时间改进后 = 即加速比Sn可定义为: Sn = T0 / Tn 式中,T0是在作为比较基准的运行条件下,计算机运行所需时间;Tn为改进后完成同样任务所需的时间。

1.3 定量分析技术 在对一个系统进行设计或改进时,总希望通过对某部件的精心设计获得较高的加速比。但是每一个部件对加速比的贡献并不相同,它完全取决于该部件在整个系统中地位的重要性。最直接体现部件重要性的衡量标准就是它在整个处理工作中所占的时间比例。 假定某部件的运行时间在全系统运行时间T0中所占的百分比为Fe,系统中其他部分运行时间所占百分比为1 - Fe。再设该部件改进前后的运行时间之比为Se,也即该部件速度提高的倍数。于是对该部件改进后,全系统的运行时间应为: Tn = T0 ( 1 – Fe ) + T0 Fe / Se = T0 ( 1 – Fe + Fe / Se )

1.3 定量分析技术 根据: Tn = T0 ( 1 – Fe + Fe / Se ) Sn = T0 / Tn 可得:AMDAHL定理

1.3 定量分析技术 例1. 设改进后的某部件运行速度是原速度的10倍,而该部件原运行时间占全系统运行时间的比例为40%,那么此项改进会使全系统的性能得到多少提升? 解:按照Amdahl定律,系统性能的提升可以用加速比表示。据题意: Fe = 0.4;Se = 10,直接使用公式,可得: 利用对加速比的计算,可以决定提高全系统性能的努力应该从何处入手,即花较小的代价,获取较大的效益。

1.3 定量分析技术 例2:在测试计算机浮点运算性能的基准测试程序中,浮点运算指令FP操作时间占全部时间的50%,其中求浮点平方根的指令FPSQR占全部运行时间的20%。为了提高全系统的性能,可以考虑两种改进方案。一是采用FPSQR硬件,将FPSQR运算速度提高10倍;另一个是加快全部浮点运算速度,使FP指令的执行速度提高2倍。试比较这两种方案的优劣。 解:分别计算两种方案所能得到的加速比 显然,提高整个浮点运算速度对全系统的性能提高更好些。

1.3 定量分析技术 Amdahl定律还揭示了: 1、性能递减规则:如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的总体性能的提升就越有限。 推论:如果只针对整个任务的一部分进行优化,那么所获得的加速比不大于1/(1-Fe)。 2、 一个“好”的计算机系统:具有高性价比的计算机系统是一个带宽平衡的系统,而不是看它使用的某些部件的性能 。

1.3 定量分析技术 3. CPU性能公式 1) 主时钟 习惯上总是以主时钟(时钟周期)TC来表示一个CPU的速度。 如: Pentium4 1.5GHz Core 2 Duo 2.13GHz 主频越高,芯片内的运行速度也越快(对相同体系结构的处理机而言)。

1.3 定量分析技术 2)CPU时间 一个程序在CPU上运行所需的时间TCPU表示为: 其中, TC 表示时钟周期时间。取决于计算机组成和实现。在微处理机中,由制作VLSI的工艺决定。 CPI 表示执行每条指令所需的平均时钟周期数。主要取决于计算机的组成和体系结构,包括指令系统的设计、指令执行过程的安排等(RISC)。 IN 表示要执行程序中的指令总数。主要取决于计算机体系结构,即指令系统的设计和编译技术。

1.3 定量分析技术 3)平均指令执行周期数CPI(Cycle Per Instruction): 上式中的CPU时间是可从某个程序执行中得到的,且指令数也与具体程序有关。显然,如果在同一个处理机上运行不同的程序,所得的CPI也可能是不同的。所以,作为衡量CPU运行速度的指标CPI,通常是一种概率统计的结果。

1.3 定量分析技术 假定通过许多程序的统计,得知程序中指令的总数为IN,其中第i类指令的执行次数为Ii或执行概率为Pi,而执行该类指令所需的时钟周期数为CPIi,而全部指令的类别数为n,该处理机的统计平均CPI就为: 或

1.3 定量分析技术 由CPU的CPI和实际的工作主频,可以转换为平均指令执行时间,这是一个可以用作CPU性能比较的指标。

1.3 定量分析技术 例1:假定某CPU的主频为500MHz,据统计,其各类指令使用的概率和执行所需时钟数列出在下表中,请确定该处理机每条指令的平均执行时间。 指令类型 出现概率(%) 执行周期数 加法、减法、移位 20 1 取数、存数 40 2 乘法、除法 5 3 浮点加、浮点减 中断 10 输入、输出

1.3 定量分析技术 解:根据 CPI = 0.2×1 + 0.4×2 + 0.05×3 + 0.2×5 + 0.1×5 + 0.05×10 = 3.15 又 每条指令平均执行时间: T = 3.15×(1/500MHz) = 3.15×2ns = 6.3ns

1.3 定量分析技术 例2:一个专门用以对CPU的多媒体处理性能进行测试的基准程序,其中用于对多媒体信息运算的时间占全部运算时间的70%。由于处理机对多媒体的处理能力不强,特别对一些实时信息的处理更是不能容忍。请寻求提高处理机多媒体处理能力的方案,并进行评估和比较。 解:首先分析一下多媒体信息处理的特点。多媒体信息处理中,大量的是对数组的运算,即同样的运算要对许多数据反复进行操作。按照传统的流水线方法必须使用许多次的循环,浪费掉大量的CPU时间。 现在分析下面的三种改进方案,并进行评价。

1.3 定量分析技术 方法一. 提高CPU的时钟频率,即减小CPU执行时间。 这最直接能想到的方案,但在实现上比较困难。

1.3 定量分析技术 方法二. 将CPU的流水线条数增加为n条,在理想情况下其运行速度可以提高n倍。 与上面同样的理由,因为速度相差太大,需要增加的流水线数目也相当大。 一方面会给工艺上带来极大的困难,甚至到不可能制作的地步。 另一方面如果流水线条数太多,指令的分配和调度也会带来许多困难,使实际效果大打折扣。

1.3 定量分析技术 方法三. 设计专门的多媒体指令及处理硬件,大幅度提高同一条指令处理大量数据的能力。 使多媒体指令全部由这个特定的部件处理,其余指令仍由原流水线处理。两个部件处于并行方式下运行,程序在该CPU上的运算时间由两个部件中较慢的那个部件决定。 如果多媒体部件对多媒体信息的处理能力提高了10倍,系统的加速比应为: 从式中可以看出,加了一个多媒体部件后系统加速比的大小 与多媒体指令所占的比例有关,所占比例越高,系统加速比越大。

1.3 定量分析技术 4. 程序的局部性原理 程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。 常用的一个经验规则:程序执行时间的90%都是在执行程序中10%的代码。 程序的时间局部性 程序即将用到的信息很可能就是目前正在使用的信息。 程序的空间局部性 程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。

1.3 定量分析技术 二. 计算机系统的性能评测 1. 执行时间和吞吐率 如何评测一台计算机的性能,与测试者看问题的角度有关。 用户关心的是:单个程序的执行时间(执行单个程序所花的时间很少) 数据处理中心的管理员关心的是:吞吐率(在单位时间里能够完成的任务很多 )

1.3 定量分析技术 执行时间可以有多种定义: 计算机完成某一任务所花费的全部时间,包括磁盘访问、存储器访问、输入/输出、操作系统开销等。 CPU时间:CPU执行所给定的程序所花费的时间,不包含I/O等待时间以及运行其他程序的时间。 用户CPU时间:用户程序所耗费的CPU时间。 系统CPU时间:用户程序运行期间操作系统耗费的CPU时间。

1.3 定量分析技术 2. 基准测试程序 基准测试程序通常用高级语言编写,由各系统自带的编译程序编译成适合在本机中运行的机器码,记下各程序运行所花费的时间,然后按一定的规则计算其执行时间。 通常可以分为两类: 1)一类用以测试系统中所用的元部件,如CPU、硬盘等。 2) 一类则用来对全系统的性能进行测试。

1.3 定量分析技术 以前常采用简化了的程序,例如: (1)核心程序 从实际运行中的程序中抽出少量关键性的循环程序段。 (2)合成测试程序 考虑到各种操作和程序的比例专门编写的。 (3)小测试程序 测试代码在100行以下。 从测试性能的角度来看,上述测试程序不可信。

1.3 定量分析技术 (1) SPEC(Standard Performance Evaluation Corporation)基准测试程序 由各种不同的真实应用程序构成, 能比较全面地反映计算机在各个方面的处理性能 。 对于测试结果的处理可以分为两个方面: 1)对每个测试程序的运行结果给出一个衡量标准。 2)对全部测量结果给出一个总体评价。

1.3 定量分析技术 作为衡量单个测试程序运行结果的一种方法,早期是将一个基准程序在DEC公司的VAX 11/780(一种超级小型机)上运行所需时间定为SPEC参考时间。这个参考时间与其他机器运行的时间相比,得到一个SPEC速率,借以表现一个系统对该程序运行时的相对速度。 例如,SPEC程序集中有一个gcc程序,他的SPEC参考时间为1482秒,如果另一个系统运行同样程序所花的时间为100秒,那么这个机器的SPEC速率就是14.82。

1.3 定量分析技术 (2)事务处理(TP)性能测试基准程序: 用于测试计算机在事务处理方面的能力,包括数据库访问和更新等。 (3) 用于测试基于Microsoft公司的Windows系列操作系统平台的测试套件

1.3 定量分析技术 3. 性能比较 1)总执行时间: 计算机执行所有测试程序的总时间 2)平均执行时间: 各测试程序执行时间的算术平均值 其中,Ti:第i个测试程序的执行时间 n:测试程序组中程序的个数

1.3 定量分析技术 3)加权执行时间: 各测试程序执行时间的加权平均值 其中,Wi:第i个测试程序在测试程 序组中所占的比重。 Ti:该程序的执行时间

1.3 定量分析技术 4. MIPS(Million Instruction Per Second),被称为每秒百万条指令 用于衡量标量处理机定点运算的速度 从定义式可以看出,系统的MIPS数值越大,表明其运行速度也越快。

1.4 计算机系统结构的发展 一、 冯·诺依曼计算机 1946年提出。现在的主流计算机仍是以存储程序为基础的冯·诺依曼计算机。

1.4 计算机系统结构的发展 1. 冯·诺依曼结构的特点 以运算器为中心。 在存储器中,指令和数据同等对待。 存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。 指令的执行是顺序的。 指令由操作码和地址码组成。 指令和数据均以二进制编码表示,采用二进制运算。

1.4 计算机系统结构的发展 2. 对系统结构进行的改进 1)输入/输出方式的改进

1.4 计算机系统结构的发展 2)采用并行处理技术 在不同的级别采用并行技术。如:微操作级、指令级、线程级、进程级、任务级等。 3)存储器组织结构的发展 相联存储器与相联处理机 通用寄存器组 高速缓冲存储器Cache 4)指令集的发展 两个发展方向: 复杂指令集计算机(CISC) 精减指令集计算机(RISC)

1.4 计算机系统结构的发展 二、软件对计算机系统结构的影响 软件的可移植性: 一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行,差别只是执行时间的不同。 我们称这两台计算机是软件兼容的。 实现可移植性的常用方法: 系列机,模拟与仿真,统一高级语言 。

1.4 计算机系统结构的发展 2、系列机与兼容机 (1)系列机 系列机是指由一个厂家或公司按照同一种系统结构而生产的一系列计算机。它们具有相同系统结构,但其组成和实现可能不同,性能参数和档次也会有所不同。 如果在一个机器上编写的程序,不加修改就可以在比较高档的机器上运行,称为向上兼容。反之,如能在低档机上运行则称为向下兼容。 通常,系列机中向上兼容是必须保证的,向下兼容往往是有条件的。

1.4 计算机系统结构的发展 (2)兼容机 兼容机的思想和系列机基本一致。是后起厂商为使自己的产品能和品牌产品匹配或能运行品牌产品的软件而生产的。 2、模拟与仿真 模拟: 指用软件的方法在一台计算机A上实现另一台计算机B的功能。A机通常称为宿主机,B机实际上不一定存在,因此称为虚拟机。

1.4 计算机系统结构的发展 3、统一高级语言 三. 器件对计算机系统结构发展的影响 四. 应用需求对计算机系统结构发展的影响 仿真: 当宿主机采用微程序控制器时,通过宿主机上的微程序来实现虚拟机指令系统中一条指令的功能。这种模拟过程不是在指令级进行,而是在宿主机的微程序水平上进行,称为仿真。 3、统一高级语言 三. 器件对计算机系统结构发展的影响 四. 应用需求对计算机系统结构发展的影响 1、应用需求对系统结构的影响 2、选择合理的性能价格比

1.4 计算机系统结构的发展 五. 系统结构的生命周期 1. 系统结构的生命周期:从诞生、发展、成熟到消亡 从硬件成熟到系统软件成熟大约需要5~7年的时间 从系统软件成熟到应用软件成熟,大约也需要5~7年时间。 再过5~7年的时间,这种系统结构就不会作为主流系统结构存在了。 2.Intel的x86系列微处理器中32位系统结构的发展

1.4 计算机系统结构的发展 硬件 系统软件 应用软件 5 ~7 年 一般发展 80386 : 1985 Win dows 32 1992 普及: 1998 位 x86(IA - ) 消亡 5~7 64 x86 出现: 2003

1.5 计算机系统结构中并行性的发展 一、并行性的概念 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。 只要在时间上相互重叠,就存在并行性。 (1)同时性:两个或两个以上的事件在同一时刻发生。 (2)并发性:两个或两个以上的事件在同一时间间隔内发生。

1.5 计算机系统结构中并行性的发展 二、并行性的实现途径 (1)时间重叠: 引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 最典型的例子:流水线技术 执行1 执行2 执行3 执行4 执行5 分析1 分析2 分析3 分析4 分析5 取指1 取指2 取指3 取指4 取指5

1.5 计算机系统结构中并行性的发展 (2)资源重复: 引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。 取指1 取指2 分析1 分析2 执行1 执行2 (3)资源共享: 这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 如:多道程序、分时系统

1.5 计算机系统结构中并行性的发展 三、并行性的等级 (1)从处理数据的角度来看,从低到高可分为: 字串位串:每次只对一个字的一位进行处理。(最基本的串行处理方式,不存在并行性) 字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。(开始出现并行性) 字并位串:同时对许多字的同一位(称为位片)进行处理。(具有较高的并行性) 全并行:同时对许多字的全部位或部分位进行处理。(最高一级的并行)

1.5 计算机系统结构中并行性的发展 (2)从执行程序的角度来看,从低到高可分为: 指令内部并行: 单条指令中各微操作之间的并行。 指令级并行: 并行执行两条或两条以上的指令。(流水线) 线程级并行: 并行执行两个或两个以上的线程。 通常是以一个进程内派生的多个线程为调度单位。

1.5 计算机系统结构中并行性的发展 任务级或过程级并行: 并行执行两个或两个以上的过程或任务(程序段)。以子程序或进程为调度单元。 作业或程序级并行: 并行执行两个或两个以上的作业或程序。

1.5 计算机系统结构中并行性的发展 四、单机系统中并行性的发展 (1)在发展高性能单处理机过程中,起主导作用的是时间重叠原理。 实现时间重叠的基础:部件功能专用化 把一件工作按功能分割为若干相互联系的部分; 把每一部分指定给专门的部件完成; 按时间重叠原理把各部分的执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作。

1.5 计算机系统结构中并行性的发展 (2)在单处理机中,资源重复原理的运用也已经十分普遍。 多体存储器 多操作部件 通用部件被分解成若干个专用部件,如加法部件、乘法部件、除法部件、逻辑运算部件等,而且同一种部件也可以重复设置多个。 只要指令所需的操作部件空闲,就可以开始执行这条指令(如果操作数已准备好的话)。 这实现了指令级并行。

1.5 计算机系统结构中并行性的发展 阵列处理机(并行处理机) 更进一步,设置许多相同的处理单元,让它们在同一个控制器的指挥下,按照同一条指令的要求,对向量或数组的各元素同时进行同一操作,就形成了阵列处理机 。 (3)在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。 如:分时系统

1.5 计算机系统结构中并行性的发展 五、多机系统中并行性的发展 多机系统遵循时间重叠、资源重复、资源共享原理,发展为3种不同的多处理机: 1. 同构型多处理机 2. 异构型多处理机 3. 分布式系统

练习: 1.计算机系统结构研究的内容不包括( ) A) 指令系统的定义 B)软硬件界面的定义 C) 加法器的结构 D) 计算机系统性能的评价 1.计算机系统结构研究的内容不包括( ) A) 指令系统的定义 B)软硬件界面的定义 C) 加法器的结构 D) 计算机系统性能的评价 2.(    )属于MIMD系统结构。 A)各处理单元同时受同一个控制单元的管理    B)各处理单元同时接受同一个控制单元送来的指令     C)多处理机和多计算机系统                D)阵列处理机

练习: 3. 以下正确的是:( ) A)机箱是计算机的外特性,属系统结构的研究范围 B)集成电路芯片的设计是计算机组成原理的研究范围 3. 以下正确的是:( ) A)机箱是计算机的外特性,属系统结构的研究范围 B)集成电路芯片的设计是计算机组成原理的研究范围 C)加法器的设计是计算机实现的研究内容 D)计算机性能评价是计算机系统结构的研究范围

练习: 4.在单指令流多数据流计算机中各处理单元必须( )。 A)以同步方式在同一时间内执行不同的指令 4.在单指令流多数据流计算机中各处理单元必须( )。 A)以同步方式在同一时间内执行不同的指令 B)以同步方式在同一时间内执行相同的指令 C)以异步方式在同一时间内执行相同的指令 D)以异步方式在同一时间内执行不同的指令 5.依据Michael J.Flynn提出的按指令流和数据流的多倍性对计算机系统分类,Illiac-IV计算机属于( ) A)SISD B)SIMD C)MISD D)MIMD

答案: 1.C 2.C 3. D 4. B 5. B

课后练习: 1. 某微处理机的主频为100MHz,为测试性能用一个具有100,000条指令的测试程序在其上运行,已知程序中主要有四类指令组成,并得到各类指令所占比例和执行周期数如下表。 指令类型 CPI 各类指令所占比例 算术、逻辑运算 Cache装载、存储 条件转移 Cache缺失时存储器访问 1 2 4 8 65 15 10 (1)计算在运行测试程序时处理机的平均CPI。 (2)计算该处理机每条指令的平均执行时间。 (3)计算在上述条件下的MIPS速率值。

课后练习: 2. Intel公司在推出8086时就同时推出了一个8087数字协处理机,专门用于协助8086对浮点进行处理,以后又在Pentium中将协处理机作了改进 并制作在处理机芯片内。 (1)在采用8086微处理机的机器上进行图形处理时,加了8087的机器要比不加协处理机的机器快2倍,已知图形处理中浮点运算占全部指令的60%。请问,加了协处理机后浮点运算速度快了多少? (2)如像 Pentium那样,将协处理机的浮点处理速度比8087又提高了5倍,在不考虑其他因素的条件下,同样的图形处理将获益多少?

课后练习: 3. 一个存储系统采用的结构使其每次可以存取一个字,每次读写需要4个时钟周期。换用另一种存储芯片后,第一个字读写仍要4个时钟周期,但后续3个字每个都只需1个时钟即可完成。根据局部性原理,假定80%的机会都需要连续访问4个字。请计算改进后的存储系统的加速比。