[工学]1 计算机系统结构的基本知识

上传人:tia****nde 文档编号:70373487 上传时间:2019-01-16 格式:PPT 页数:85 大小:705.31KB
返回 下载 相关 举报
[工学]1 计算机系统结构的基本知识_第1页
第1页 / 共85页
[工学]1 计算机系统结构的基本知识_第2页
第2页 / 共85页
[工学]1 计算机系统结构的基本知识_第3页
第3页 / 共85页
[工学]1 计算机系统结构的基本知识_第4页
第4页 / 共85页
[工学]1 计算机系统结构的基本知识_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《[工学]1 计算机系统结构的基本知识》由会员分享,可在线阅读,更多相关《[工学]1 计算机系统结构的基本知识(85页珍藏版)》请在金锄头文库上搜索。

1、计算机系统结构,张长明 ncepubd,教材和参考教材,计算机系统结构教程,张晨曦等,清华大学出版社 计算机系统结构,郑纬民等,清华大学出版社 计算机系统结构,陆鑫达,高等教育出版社,第一章 计算机系统结构的基本知识,1.1 计算机系统结构的基本概念 1.2 计算机系统的设计 1.3 计算机系统的性能评测 1.4 计算机系统结构的发展 1.5 计算机系统结构中并行性的发展,自第一台通用计算机诞生以来,计算机技术取得飞速发展,这一方面得益于计算机制造技术的发展,另一方面则是计算机系统结构的创新。 在计算机开始发展的25年中,两种因素都起着主要作用,使得计算机的性能每年提高约25%。 20世纪7

2、0年代末到80年代初,大规模集成电路和微处理器的出现使计算机性能的年增长率提高到约35%,主要归功于以集成电路为代表的制造技术的发展。,1.1 计算机系统结构的基本概念,20世纪80年代初RISC结构的出现使得计算机系统结构发生重大变革,从80年代中期开始,计算机性能增长达到了每年50%以上。 2002年以来,计算机性能的增长率下降到约30%。主要原因是: 大功耗问题; 可以进一步有效地开发的指令级并行性已经很少; 存储器访问速度的提高缓慢。 很多计算机公司放弃高性能单处理机项目,专项多核的研发,标志着系统结构从单纯依靠指令级并行转向开发线程级并行和数据级并行。,1.1 计算机系统结构的基本概

3、念,1.1.1 计算机系统的层次结构,计算机系统硬件/固件软件 从计算机语言的角度,把计算机系统按功能划分成多级层次结构。 每一层以一种语言为特征 计算机语言从低级向高级发展,高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。,本级的机器语言是指微指令集。微程序一般是直接由硬件解释实现的,因此工作于该级的程序员实际上是计算机系统的设计人员。,1.1.1 计算机系统的层次结构,本级机器语言是指令集。由微程序解释指令集又称作仿真。可以通过仿真在一台机器上实现多种指令集。 也可以没有微程序机器级,如RISC处理器的指令集全部用硬件直接实现以提高指令执行速度。,1.1.

4、1 计算机系统的层次结构,提供传统机器所没有的基本操作和数据结构,和传统机器的指令集一起提供给更高层次的虚拟机使用,称为系统功能调用、系统参数。,1.1.1 计算机系统的层次结构,本级的机器语言是汇编语言。用汇编语言编写的程序,首先翻译成第3级和第2级语言,然后再由相应的机器执行。通常的第1、2和3级是用解释方法实现的,而第4级或更高级则经常是用翻译方法实现。,1.1.1 计算机系统的层次结构,这一级的机器语言是各种高级语言。用这些语言所编写的程序一般是由称为编译程序的翻译程序翻译到第4级或第3级上,个别的高级语言也用解释的方法实现,如绝大多数BASIC语言系统。,1.1.1 计算机系统的层次

5、结构,这一级是为满足某种特殊用途而专门设计的,因此这一级的语言就是各种面向问题的应用语言。例如可以设计专门用于人工智能、教育、行政管理、计算机设计等方面的虚拟机。,1.1.1 计算机系统的层次结构,虚拟机:由软件实现的机器,以区别于由硬件/固件实现的物理机器。 语言实现的两种基本技术: 翻译:先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。 解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。 解释执行比翻译花的时间多,但存储空间占用较少。,1.1.1 计算机系统的层次结构,1、计

6、算机系统结构概念的提出 64年Amdahl提出:程序员所看到的计算机的属性,即概念性结构与功能特性。 分析: (1)按照计算机系统的多级层次结构,不同级程序员所看到的同一计算机系统具有不同的属性。 (2)不同计算机系统从传统机器级或汇编语言程序员角度看,具有不同属性,但从高级语言程序员角度看,几乎没差别,例如C语言程序员。也就是说,传统机器级所存在的差别对于高级语言程序员来讲是“看不见”的,此即“透明性”。,1.1.2 计算机系统结构的定义,2、透明性:在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好象不存在的概念称为透明性。 3、计算机系统结构科学定义:机器语言程序员或编译程

7、序编写者所看到的计算机的属性,即概念性结构与功能特性。 4、计算机系统结构的实质:确定 计算机系统中软硬件的交界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。,1.1.2 计算机系统结构的定义,1、 计算机组成:计算机系统结构的逻辑实现 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。 2、计算机实现:计算机组成的物理实现 包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 着眼于:器件技术(起主导作用)、微组装技术。

8、,1.1.3 计算机组成和计算机实现,3、计算机系统结构、组成与实现各自包含不同的内容,但又有紧密的关系。 一种体系结构可以有多种组成; 一种组成可以有多种物理实现。 计算机系统结构、计算机组成、计算机实现的界限模糊。,1.1.3 计算机组成和计算机实现,概念举例 确定指令系统中是否有乘法指令属于计算机系统结构的内容; 乘法指令是用乘法器实现还是用加法器经多步操作来实现属于计算机组成; 乘法器、加法器的物理实现,如器件的选定及所用的微组装技术等属于计算机实现。,1.1.3 计算机组成和计算机实现,一、冯氏分类法 1、用系统的最大并行度对计算机进行分类。 2、最大并行度:计算机系统在单位时间内能

9、够处理的最大的二进制位数。 3、按冯氏分类法可得出四类不同处理方法的计算机系统结构: 字串位串 WSBS 字并位串 WPBS 字串位并 WSBP 字并位并 WPBP,1.1.4 计算机系统结构的分类,二、 Flynn分类法按“流”分类 1、指令流:机器执行的指令序列。 2、数据流:由指令流调用的数据序列,包括输入数据和中间结果。 3、多倍性:在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。 4、按照指令流和数据流的不同组织方式,分为以下四类: 单指令流单数据流 SISD 单指令流多数据流 SIMD 多指令流单数据流 MISD 多指令流多数据流 MIMD,1.1.4 计算机

10、系统结构的分类,典型的SISD机器:传统的顺序计算机 SISD机器结构 CU:控制部件 IS:指令流 PU:处理部件 DS:数据流 MU:存储部件,单指令流单数据流SISD,典型SIMD机器:阵列处理机 在同一控制部件控制下,多个处理部件同时执行同一条指令所规定的操作,分别对各自的数据进行处理。,单指令流多数据流SIMD,多个处理器,对同一数据流进行处理 MISD只是一种认为的划分,目前没有实际的机器。,多指令流单数据流MISD,多机系统:多个处理器系统或多计算机系统,每个处理机可以独立执行指令和处理数据。一般并行计算机大多采用这种结构。,多指令流多数据流MIMD,1、以经常性事件为重点(大概

11、率事件优先原则) 对经常发生的情况采用优化方法的原则,以得到更多的总体上的改进。 优化是指分配更多的资源、达到更高的性能或 者分配更多的电能等。,1.2 计算机系统的设计 1.2.1 计算机系统设计的定量原理,2、Amdahl定律 加速比(Sp)定义: Amdahl定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。,1.2.1 计算机系统设计的定量原理,加速比的大小与两个因素有关 可改进比例(fe):在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。它总是小于等于1。 例如:一个需运行60秒的程序中有20秒的运算可以加速,那么这

12、个比例就是20/60。,1.2.1 计算机系统设计的定量原理,加速比的大小与两个因素有关 部件加速比(re):可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加速比是大于1的。 例如:若系统改进后,可改进部分的执行时间是2秒,而改进前其执行时间为5秒,则部件加速比为5/2。,1.2.1 计算机系统设计的定量原理,设:改进前系统总执行时间为To; 改进后系统总执行时间为Te 则:,1.2.1 计算机系统设计的定量原理,系统加速比为改进前与改进后总执行时间之比,1.2.1 计算机系统设计的定量原理,例1 将计算机系统中某一功能的处理速度提高到原来的20

13、倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少? (1.613),1.2.1 计算机系统设计的定量原理,例2 某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。 (84.2%),1.2.1 计算机系统设计的定量原理,Amdahl定律性能增加递减规则: 如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。 推论: 如果只针对整个任务的一部分进行优化,那么所获得的加速比不大于1/(1-fe)。,1.2.1 计算机系统设计的定量原

14、理,3、CPU性能公式 执行一个程序所需的CPU时间 CPU时间 = 执行程序所需的时钟周期数时钟周期时间 其中,时钟周期时间是系统时钟频率的倒数。 每条指令执行的平均时钟周期数CPI CPI = 执行程序所需的时钟周期数IC 其中,IC是所执行的指令条数 程序执行的CPU时间可以写成 CPU时间 = IC CPI 时钟周期时间,1.2.1 计算机系统设计的定量原理,CPU的性能取决于3个参数 时钟周期时间:取决于硬件实现技术和计算机组成。 CPI:取决于计算机组成和指令集结构。 IC:取决于指令集结构和编译技术。 对CPU性能公式进行进一步细化 假设:计算机系统有n种指令; CPIi:第i种

15、指令的处理时间; ICi :在程序中第i种指令出现的次数; 则,1.2.1 计算机系统设计的定量原理,于是CPU性能公式为: CPI可以表示为 其中,(ICi/IC)反映了第i种指令在程序中所占的比例。,1.2.1 计算机系统设计的定量原理,例3 考虑条件分支指令的两种不同设计方法: 1)CPUA:通过比较指令设置条件码,然后测试条件码进行 分支。 2)CPUB:在分支指令中包括比较过程。 在这两种CPU中,条件分支指令都占用2个时钟周期,而所有其他指令占用1个时钟周期。对于CPUA,执行的指令中分支指令占20%;由于每条分支指令之前都需要有比较指令,因此比较指令也占20%。由于CPUA在分支

16、时不需要比较,因此CPUB的时钟周期时间是CPUA的1.25倍。问:哪一个CPU更快?如果CPUB的时钟周期时间只是CPUA的1.1倍,哪一个CPU更快呢?,1.2.1 计算机系统设计的定量原理,4、程序的局部性原理 程序的局部性原理:程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。 经验规则:程序执行时间的90%都是在执行程序中10%的代码。 局部性包括时间局部性和空间局部性 程序的时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。 程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。,1.2.1 计算机系统设计的定量原理,计算机系统设计者的主要任务包括指令系统的设计、数据表示的设计、功能的组织、逻辑设计以及其物理实现等。 设计一个计算机系统大致要完成三方面的工作: 确定用户对计算机系统的功能、价格和性能的要求; 软硬件功能分配; 设计出生命周期长的系统结构。,1.2.2 计算机系统设计者的主要任务,“由上往下”(top-down)设计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号