版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章计算机系统结构基础1.1引言1.2计算机系统结构基本概念1.3计算机系统的设计1.4计算机系统的性能评测1.5计算机系统结构的发展1.6计算机系统结构中并行性的发展计算机系统结构第1章计算机系统结构基础1.1引言第一台通用电子计算机诞生于1946年计算机技术的飞速发展受益于两个方面计算机制造技术的发展计算机系统结构的创新经历了四个发展过程1.1引言1.1引言体系结构与组织方式的发展一起促成了计算机性能以超过50%的年增长率持续增长17年(1986~2003),这一飞速发展共有四重效果:显著增强了可供计算机用户使用的功能性价比的大幅度提高导致了新型计算机的出现。根据摩尔定律的预测,半导体制造业的持续发展已经使基于微处理器的计算机在整个计算机设计领域中占据了主导地位。对软件开发的影响,允许今天的程序员以性能换取生产效率。1.1引言从2003年开始,由于风冷芯片最大功耗和无法有效地开发更多指令级并行这两大孪生瓶颈,单处理器的性能提高速度下降到每年不足22%。事实上,Intel在2004年取消了自己的高性能单核处理器项目,转而和其他公司一起宣布:为了获得更高性能的处理器,应当提高一个芯片上集成的核心数目,而不是加快单核处理器的速度。这是一个标着历史性转折的里程碑信号,处理器性能的提高从单纯依赖指令级并行转向数据级并行和线程级并行甚至请求级并行。结论:计算机系统结构在计算机的发展中有着极其重要的作用。1.1引言计算机的分类:第1章计算机系统结构基础1.2计算机系统结构基本概念本节导引:计算机系统的层次结构计算机系统结构的定义计算机组成和计算机实现计算机系统的分类1.2计算机系统结构基本概念1.2.1计算机系统的层次结构计算机系统=硬件/固件+软件计算机语言从低级向高级发展高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。从计算机语言的角度,把计算机系统按功能划分成多级层次结构。每一层以一种语言为特征1.2计算机系统结构基本概念虚拟机物理机应用语言程序经应用程序包翻译成高级语言程序高级语言程序经编译程序翻译成汇编语言(或是某种中间语言程序,或是机器语言程序)汇编语言程序经汇编程序翻译成机器语言程序一般用机器语言程序解释作业控制语句等用微指令程序解释机器指令微指令由硬件直接执行1.2计算机系统结构基本概念物理机:用硬件/固件实现的机器固件:具有软件功能的硬件。虚拟机:由软件实现的机器各机器级的实现主要靠翻译或解释,或两者的结合。翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。解释执行比编译后再执行所花的时间多,但占用的存储空间较少。1.2计算机系统结构基本概念1.2.2计算机系统结构的定义计算机系统结构的经典定义传统机器程序员所看到的计算机属性,即概念性结构与功能特性。(1964年Amdahl在介绍IBM360系统时提出的)按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。透明性在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。计算机系统结构的实质:确定计算机系统中软硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。1.2计算机系统结构基本概念1.2.3计算机组成和计算机实现计算机系统结构:计算机系统的软、硬件的界面即机器语言程序员所看到的传统机器级所具有的属性。计算机组成:计算机系统结构的逻辑实现包含物理机器级中的数据流和控制流的组成以及逻辑设计等。着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。第1章计算机系统结构基础计算机实现:计算机组成的物理实现包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。着眼于:器件技术(起主导作用)、微组装技术。具有相同系统结构的计算机可以采用不同的计算机组成。同一种计算机组成又可以采用多种不同的计算机实现。1.2计算机系统结构基本概念1.2.4计算机系统的分类常见的计算机系统分类法:
Flynn分类法、冯氏分类法1.2计算机系统结构基本概念Flynn分类法按照指令流和数据流的多倍性进行分类。指令流:计算机执行的指令序列数据流:由指令流调用的数据序列,包括输入数据和中间结果。多倍性:在系统性能瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数。据此把计算机系统分为4类:单指令流单数据流SISD单指令流多数据流SIMD多指令流单数据流MISD多指令流多数据流MIMD1.2计算机系统结构基本概念单指令流单数据流(SISD)传统的单处理器计算机。每次指令部件对一条指令进行译码并只对一个操作部件分配数据。CU--控制部件;PU—处理机;MM—主存模块;SM—共享主存;IS—指令流;CS—控制流;DS—数据流1.2计算机系统结构基本概念单指令流多数据流(SIMD)阵列处理机和相联处理机。CU--控制部件;PU—处理机;MM—主存模块;SM—共享主存;IS—指令流;CS—控制流;DS—数据流1.2计算机系统结构基本概念多指令流单数据流(MISD)处理机间的宏流水及脉动阵列流水处理机。按不同指令的要求对同一数据流及其中间结果进行不同的处理,一个处理单元的输出作为另一个处理单元的输入。CU--控制部件;PU—处理机;MM—主存模块;SM—共享主存;IS—指令流;CS—控制流;DS—数据流1.2计算机系统结构基本概念多指令流多数据流能实现作业、任务、指令、数组各级全面并行的多机系统。CU--控制部件;PU—处理机;MM—主存模块;SM—共享主存;IS—指令流;CS—控制流;DS—数据流1.2计算机系统结构基本概念冯氏分类法按数据处理的并行度进行分类。1、字串位串(WSBS)位串处理方式,每次只处理一个字中的一位,早期的位串行计算机。2、字串位并(WSBP)字(字片)处理方式,每次处理一个字中的n位,位并行单处理机。3、字并位串(WPBS)位(位片)处理方式,每次处理m个字中的一位,相联处理机,阵列处理机。4、字并位并(WPBP)全并行处理方式,一次处理m个字,其每个字为n位,相联处理机,阵列处理机,多处理机。第1章计算机系统结构基础1.3计算机系统的设计本节导引:计算机系统设计的定量原理计算机系统设计者的主要任务计算机系统设计的主要方法1.3计算机系统的设计1.3.1计算机系统设计的定量原理4个定量原理:以经常性事件为重点Amdahl定律CPU性能公式程序的局部性原理1.3计算机系统的设计以经常性事件为重点对经常发生的情况采用优化方法的原则进行选择,以得到更多的总体上的改进。优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。如,处理器的取值指令和译码器比乘法器用得更频繁,所以应该先对取值指令和译码器进行优化设计。1.3计算机系统的设计Amdahl定律该定律是1967年IBM公司的Amdahl在设计IBM360系列机时首先提出的。该定律可用于确定对系统中性能瓶颈部件采取措施提高速度后能得到的系统性能改进的程度。加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。系统性能加速比:1.3计算机系统的设计加速比依赖于两个因素可改进比例:在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。
它总是小于等于1。例如:一个需运行60秒的程序中有20秒的运算可以加速,那么这个比例就是20/60。部件加速比:可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。
一般情况下部件加速比是大于1的。例如:若系统改进后,可改进部分的执行时间是2秒,而改进前其执行时间为5秒,则部件加速比为5/2。1.3计算机系统的设计改进后程序的总执行时间:1.3计算机系统的设计系统加速比1.3计算机系统的设计在多个部件可改进的情况下,Amdahl定理的扩展:其中:Sn为系统加速比,Fi为第i个部件的可改进比例,Si为第i个部件的部件加速比。1.3计算机系统的设计
例1.1将计算机系统中某一功能的处理速度加快15倍,但该功能的处理时间仅占整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解由题可知:可改进比例Fe=40%=0.4
部件加速比Se=15
根据Amdahl定律可知:采用此增强功能方法后,能使整个系统的性能提高到原来的1.6倍。1.3计算机系统的设计
例1.2某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的25倍,而系统运行某一程序的整体性能提高到原来的4倍,试计算该程序中浮点操作所占的比例。解由题可知:部件加速比Se=25系统加速比Sn=4
根据Amdahl定律可知:
由此可得:可改进比例
=78.1%
即程序中浮点操作所占的比例为78.1%。1.3计算机系统的设计例1.3计算机系统中有三个部件可以改进,这三个部件的部件加速比为:
部件加速比1=30;
部件加速比2=20;
部件加速比3=10如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?解:(1)在多个部件可改进情况下,Amdahl定理的扩展:
已知S1=30,S2=20,S3=10,Sn=10,F1=0.3,F2=0.3,得:得F3=0.36,即部件3的可改进比例为36%。1.3计算机系统的设计Amdahl定律:一种性能改进的递减规则如果仅仅对计算任务中的一部分做性能改进,则改进得越多,所得到的总体性能的提升就越有限。以例1.1来说,如果部件加速比由15增大到100,则在可改进比例仍为0.4的条件下,系统加速比只约为1.66。Amdahl定律告诉我们,改进效果好的高性能系统应是一个各部分性能均能平衡地得到提高的系统,不能只是其中某一个功能部件的性能得到提高。1.3计算机系统的设计CPU性能公式执行一个程序所需的CPU时间CPU时间=执行程序所需的时钟周期数×时钟周期时间其中:时钟周期时间是系统时钟频率的倒数。每条指令执行的平均时钟周期数CPI
(CyclesPerInstruction)
CPI=执行程序所需的时钟周期数/IC
IC:所执行的指令条数程序执行的CPU时间可以写成
CPU时间=IC×CPI×时钟周期时间
1.3计算机系统的设计CPU的性能取决于三个参数时钟周期时间:取决于硬件实现技术和计算机组成;CPI:取决于计算机组成和指令系统的结构;IC:取决于指令系统的结构和编译技术。对CPU性能公式进行进一步细化假设:计算机系统有n种指令;CPIi:第i种指令的处理时间;
ICi:在程序中第i种指令出现的次数;则:
CPU时钟周期数=(CPIiIci)ni=11.3计算机系统的设计CPU时间=执行程序所需的时钟周期数×时钟周期时间=(CPIi×ICi)×时钟周期时间CPI可以表示为:CPI===其中:(ICi/IC)反映了第i种指令在程序中所占的比例。i=1n时钟周期数IC(CPIi×ICi)i=1nIC(CPIi×)i=1nICiIC1.3计算机系统的设计
例1.4
假设浮点数指令FP的比例为25%,其中,浮点数平方根指令FPSQR占全部指令的比例为2%,FP操作的CPI为4,FPSQR操作的CPI为20
,其他指令的平均CPI为1.33。现有两种改进方案,第一种是把FPSQR操作的CPI减至2,第二种是把所有的FP操作的CPI减至2,试比较两种方案对系统性能的提高程度。解没有改进之前,每条指令的平均时钟周期CPI为:
1.3计算机系统的设计
(1)采用第一种方案FPSQR操作的CPI由CPIFPSQR=20减至CPI’FPSQR=2,则整个系统的指令平均时钟周期数为(从原CPI中减去节省的周期数):
CPI1=CPI―(CPIFPSQR―CPI’FPSQR)×2%=2―(20―2)×2%=1.64
(2)采用第二种方案所有FP操作的CPI由CPIFP=4减至CPI’FP=2,则整个系统的指令平均时钟周期数为:
CPI2=CPI―(CPIFP―CPI’FP)×25%=2―(4―2)×25%=1.5
从降低整个系统的指令平均时钟周期数的程度来看,第二种方案优于第一种方案。1.3计算机系统的设计例1.5考虑条件分支指令的两种不同设计方法:(1)CPU1:通过比较指令设置条件码,然后测试条件码进行分支。(2)CPU2:在分支指令中包括比较过程。在这两种CPU中,条件分支指令都占用2个时钟周期,而所有其它指令占用1个时钟周期。对于CPU1,执行的指令中分支指令占30%;由于每条分支指令之前都需要有比较指令,因此比较指令也占30%。由于CPU1在分支时不需要比较,因此假设CPU2的时钟周期时间是CPU1的1.35倍。问:哪一个CPU更快?如果CPU2的时钟周期时间只是CPU1的1.15倍,哪一个CPU更快呢?1.3计算机系统的设计解
我们不考虑所有系统问题,所以可用CPU性能公式。占用2个时钟周期的分支指令占总指令的30%,剩下的指令占用1个时钟周期。所以
CPI1=0.3×2+0.70×1=1.3则CPU1性能为:
总CPU时间1=IC1×1.3×时钟周期1根据假设,有:
时钟周期2=1.35×时钟周期1在CPU2中没有独立的比较指令,所以CPU2的程序量为CPU1的70%,分支指令的比例为:30%/70%=42.8%1.3计算机系统的设计这些分支指令占用2个时钟周期,而剩下的57.2%的指令占用1个时钟周期,因此:
CPI2=0.428×2+0.572×1=1.428因为CPU2不执行比较,故:
IC2=0.7×IC1因此CPU2性能为:
总CPU时间2=IC2×CPI2×时钟周期2=0.7×IC1×1.428×1.35×时钟周期1)=1.349×IC1×时钟周期1在这些假设之下,尽管CPU2执行指令条数较少,CPU1因为有着更短的时钟周期,所以比CPU2快。1.3计算机系统的设计如果CPU2的时钟周期时间仅仅是CPU1的1.15倍,则
时钟周期2=1.15×时钟周期1CPU2的性能为:
总CPU时间2=IC2×CPI2×时钟周期2
=0.7×IC1×1.428×1.15×时钟周期1)=1.15×IC1×时钟周期1因此CPU2由于执行更少指令条数,比CPU1运行更快。1.3计算机系统的设计程序的局部性原理程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。这种簇聚同时存在于指令访问和数据访问中。常用的一个经验规则程序执行时间的90%都是在执行程序中10%的代码。程序的时间局部性程序即将用到的信息很可能就是目前正在使用的信息。程序的空间局部性程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。程序的这种局部性原理是计算机系统多层存储体系的基本原理依据,特别是高速缓冲存储器Cache。1.3计算机系统的设计1.3.2计算机系统设计者的主要任务计算机系统设计者的任务包括:指令系统的设计、数据表示的设计、功能的组织、逻辑设计以及其物理实现等。设计一个计算机系统大致要完成3个方面的工作。确定用户对计算机系统的功能、价格和性能的要求计算机系统设计者的目标设计出能满足用户的功能需求、有较长的生命周期、且又具有很高的性能价格比的系统。1.3计算机系统的设计功能需求:根据市场的需要以及所设计系统的应用领域来确定应用领域
专用还是通用?面向科学计算还是面向商用处理?
软件兼容软件兼容是指一台计算机上的程序不加修改就可以搬到另一台计算机上正常运行。操作系统需求包括地址空间大小、存储管理、保护等。从系统结构上对操作系统的需求提供支持,是很重要的一点。标准确定系统中哪些方面要采用标准以及采用什么标准。如:浮点数标准、I/O总线标准、网络标准、程序设计语言标准等。1.3计算机系统的设计软硬件功能分配考虑如何优化设计?
必须考虑软硬件功能的合理分配。
软件和硬件在实现功能上是等价的用软件实现的优点:设计容易、修改简单,而且可以减少硬件成本。但是所实现的功能的速度较慢。用硬件实现的优点:速度快、性能高,但它修改困难,灵活性差。在软硬件之间进行折中和取舍。设计出生命周期长的系统结构特别注意计算机应用和计算机技术的发展趋势设计出具有一定前瞻性的系统结构,以使得它具有较长的生命周期。1.3计算机系统的设计1.3.3计算机系统设计的主要方法“由上往下”(top-down)设计从层次结构中的最上面一级开始,逐层往下设计各层的机器。首先确定面对使用者的那级机器的基本特征、数据类型和格式、基本命令等。然后再逐级往下设计,每级都考虑如何优化上一级的实现。适合于专用机的设计,而不适合通用机的设计。1.3计算机系统的设计“由下往上”(bottom-up)设计从层次结构的最下面一级开始,逐层往上设计各层的机器。采用这种方法时,软件技术完全处于被动状态,这会造成软件和硬件的脱节,使整个系统的效率降低。(在早期被采用得比较多,现在已经很少被采用了)1.3计算机系统的设计“从中间开始”(middle-out)设计“由上往下”和“由下往上”设计方法的主要缺点软、硬件设计分离和脱节解决方法:综合考虑软、硬件的分工,从中间开始设计。“中间”:层次结构中的软硬件的交界面,目前一般是在传统机器语言机器级与操作系统机器级之间。从中间开始设计首先要进行软、硬件功能分配,确定好这个界面。然后从这个界面开始,软件设计者开始往上设计操作系统、汇编、编译系统等,硬件设计者开始往下设计传统机器级、微程序机器级等。第1章计算机系统结构基础1.4计算机系统的性能评测本节导引:执行时间和吞吐率基准测试程序性能比较1.4计算机系统的性能评测1.4.1执行时间和吞吐率如何评测一台计算机的性能,与测试者看问题的角度有关。用户关心的是:单个程序的执行时间(执行单个程序所花的时间很少)数据处理中心的管理员关心的是:吞吐率(在单位时间里能够完成的任务很多)1.4计算机系统的性能评测假设两台计算机为X和Y,X比Y快的意思是:
对于给定任务,X的执行时间比Y的执行时间少。X的性能是Y的n倍:执行时间与性能成反比:执行时间Y执行时间X=nn===执行时间Y执行时间X性能Y1性能X1性能X性能Y1.4计算机系统的性能评测执行时间可以有多种定义:计算机完成某一任务所花费的全部时间,包括磁盘访问、存储器访问、输入/输出、操作系统开销等。CPU时间:CPU执行所给定的程序所花费的时间,不包含I/O等待时间以及运行其它程序的时间。用户CPU时间:用户程序所耗费的CPU时间。系统CPU时间:用户程序运行期间操作系统耗费的CPU时间。1.4计算机系统的性能评测1.4.2基准测试程序用于测试和比较性能的基准测试程序的最佳选择是真实应用程序。
(例如编译器)以前常采用简化了的程序,例如:核心测试程序:从真实程序中选出的关键代码段构成的小程序。小测试程序:简单的只有几十行的小程序。合成的测试程序:人工合成出来的程序。Whetstone与Dhrystone是最流行的合成测试程序。
从测试性能的角度来看,上述测试程序不可信了。1.4计算机系统的性能评测原因:这些程序比较小,具有片面性;系统结构设计者和编译器的设计者可以“合谋”把他们的机器面向这些测试程序进行优化设计,使得该机器显得性能更高。性能测试的结果除了和采用什么测试程序有关以外,还和在什么条件下进行测试有关。基准测试程序设计者对制造商的要求采用同一种编译器;对同一种语言的程序都采用相同的一组编译标志。1.4计算机系统的性能评测基准测试程序套件:由各种不同的真实应用程序构成。(能比较全面地反映计算机在各个方面的处理性能)SPEC系列:最成功和最常见的测试程序套件(美国的标准性能测试公司创建)桌面计算机的基准测试程序套件可以分为两大类:
处理器性能测试程序,图形性能测试程序1.4计算机系统的性能评测SPEC89:用于测试处理器性能。10个程序(4个整数程序,6个浮点程序)演化出了4个版本
SPEC92:20个程序
SPEC95:18个程序
SPEC2000:26个程序
SPECCPU2006:29个程序SPECCPU2006整数程序12个(CINT2006)9个是用C写的,3个是用C++写的浮点程序17个(CFP2006)6个是用FORTRAN写的,4个是用C++写的,3个是用C写的,4个是用C和FORTRAN混合编写的。1.4计算机系统的性能评测SPEC测试程序套件中的其它一系列测试程序组件SPECSFS:用于NFS(网络文件系统)文件服务器的测试程序。它不仅测试处理器的性能,而且测试I/O系统的性能。它重点测试吞吐率。SPECWeb:Web服务器测试程序。SPECviewperf:用于测试图形系统支持OpenGL库的性能。SPECapc:用于测试图形密集型应用的性能。1.4计算机系统的性能评测事务处理(TP)性能测试程序:用于测试计算机在事务处理方面的能力,包括数据库访问和更新等。20世纪80年代中期,一些工程师成立了称为TPC的独立组织,目的是开发用于TP性能测试的真实而公平的基准程序。先后发布了多个版本: TPC-A、TPC-C、TPC-H、TPC-W、TPC-App等 (主要用于测试服务器的性能)1.4计算机系统的性能评测用于测试基于Microsoft公司的Windows系列操作系统平台的测试套件PCMark04:中央处理器测试组、内存测试组、图形芯片测试组、硬盘测试组等。BusinessWinstone2004:主要用于测试计算机系统商业应用的综合性能。MultimediaContentCreationWinstone2004:主要用于测试计算机系统多媒体应用的综合性能。SiSoftSandraPro2004:一套功能强大的系统分析评比工具,拥有超过30中以上的分析与测试模块。主要包括:CPU、存储器、I/O接口、I/O设备、主板等。1.4计算机系统的性能评测1.4.3性能比较两个程序在A、B、C三台机器上的执行时间Wi:第i个测试程序在测试程序组中所占的比重1.4计算机系统的性能评测如何比较这三台机器的性能呢?从该表可以得出:执行程序1:A机的速度是B机的10倍A机的速度是C机的20倍B机的速度是C机的2倍执行程序2:B机的速度是A机的100倍C机的速度是A机的50倍B机的速度是C机的2倍1.4计算机系统的性能评测总执行时间:机器执行所有测试程序的总时间B机执行程序1和程序2的速度是A机的50.05倍C机执行程序1和程序2的速度是A机的24.02倍B机执行程序1和程序2的速度是C机的2倍平均执行时间:各测试程序执行时间的算术平均值其中:Ti:第i个测试程序的执行时间
n:测试程序组中程序的个数1.4计算机系统的性能评测加权执行时间:各测试程序执行时间的加权平均值其中,Wi:第i个测试程序在测试程序组中所占的比重
Ti:该程序的执行时间1.4计算机系统的性能评测调和平均值法其中,Ri:由n个程序组成的工作负荷中执行第i个程序的速度
Ri=1/TiTi:第i个程序的执行时间加权调和平均值公式
1.4计算机系统的性能评测几何平均值法:以某台计算机的性能作为参考标准,其他计算机性能则除以该参考标准而获得一个比值。
Ri:由n个程序组成的工作负荷中执行第i个程序的速度Ri=1/Ti加权几何平均值Gm表示法有一个很好的特性
几何平均值的比等于比的几何平均值
第1章计算机系统结构基础1.5计算机系统结构的发展本节导引:冯·诺依曼结构及其改进软件对系统结构的影响器件发展对系统结构的影响应用对系统结构的影响1.5计算机系统结构的发展1.5.1冯·诺依曼结构及其改进存储程序计算机的结构1.5计算机系统结构的发展存储程序原理的基本点:指令驱动程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。冯·诺依曼结构的主要特点计算机以运算器为中心。在存储器中,指令和数据同等对待。指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。1.5计算机系统结构的发展指令的执行是顺序的。一般是按照指令在存储器中存放的顺序执行。程序的分支由转移指令实现。由指令计数器PC指明当前正在执行的指令在存储器中的地址。指令由操作码和地址码组成。指令和数据均以二进制编码表示,采用二进制运算。1.5计算机系统结构的发展对系统结构进行的改进输入/输出方式的改进采用并行处理技术如何挖掘传统机器中的并行性?在不同的级别采用并行技术。例如:微操作级、指令级、线程级、进程级、任务级等。1.5计算机系统结构的发展存储器组织结构的发展相联存储器与相联处理机通用寄存器组高速缓冲存储器Cache指令系统的发展两个发展方向:复杂指令集计算机CISC精减指令集计算机RISC1.5计算机系统结构的发展1.5.2软件对系统结构的影响软件的可移植性:一个软件可以不经修改或者只需少量修改就可以由一台机器移植到另一台机器上正确地运行。差别只是执行时间的不同。我们称这两台机器是软件兼容的。实现可移植性的常用方法采用系列机,模拟与仿真,统一高级语言。1.5计算机系统结构的发展1.统一高级语言实现软件移植的一种理想的方法较难实现2.系列机由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。系列机与前述从中间向两边设计相呼应。在软、硬件界面上设定好一种系统机构,其后,软件设计者按此设计软件,硬件设计者根据机器速度、性能、价格的不同,选择不同器件、硬件和组成、实现技术,研制并提供不同档次的机器。较好地解决软件开发要求系统结构相对稳定与器件、硬件技术迅速发展的矛盾。1.5计算机系统结构的发展软件兼容:向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。1.5计算机系统结构的发展系列机软件必须保证向后兼容力争向上兼容至于之后的软件完全可以发展,不一定非要向前兼容。不一定要向下兼容,特别是与机器速度有关的实时性软件向下兼容就难以做到。1.5计算机系统结构的发展3.模拟和仿真使软件能在具有不同系统结构的机器之间相互移植。在一种系统结构上实现另一种系统结构。从指令集的角度来看,就是要在一种机器上实现另一种机器的指令集。1.5计算机系统结构的发展模拟:例如,要求用原来在B机器上运行的应用软件,能移植到有不同系统结构的A机器上,根据层次结构概念,可把B机器的机器语言看成是在A机器的机器语言级之上的一个虚拟机器语言,在A机器上用虚拟机的概念来实现B机器的指令系统。B机器的每条机器指令用A机器的一段机器语言程序解释,如同A机器上也有B机器的指令系统一样。这种用机器语言程序解释实现软件移植的方法称为模拟。进行模拟的A机器称为宿主机,被模拟的B机器称为虚拟机。通常用解释的方法来实现。运行速度较慢,性能较差。1.5计算机系统结构的发展仿真如果宿主机本身采用微程序控制,那么模拟时,一条B机器指令就需要通过二重解释。先经A机器的机器语言程序解释,然后每条A机器指令又经一段微程序解释。如果能直接用微程序去解释B机器的指令,显然就会加快这一解释过程。这种用微程序直接解释另一种机器指令系统的方法就称为仿真。进行仿真的A机器称为宿主机,被仿真的B机器称为目标机。运行速度比模拟方法的快仿真只能在系统结构差距不大的机器之间使用1.5计算机系统结构的发展仿真和模拟的主要区别在于解释用的语言。仿真是用微程序解释,而模拟是用机器语言程序解释。不同系列间的软件移植一般是仿真和模拟并行。频繁使用的、易于仿真的机器指令宜用仿真以提高速度,很少使用的、难以仿真的指令及I/O操作宜用模拟。即使两种机器系统差别不大,往往也需用模拟来完成机器间的映象。1.5计算机系统结构的发展1.5.3器件发展对系统结构的影响 推动计算机系统结构不断发展的最活跃的因素摩尔定律集成电路芯片上所集成的晶体管数目每隔18个月就翻一番。计算机的分代主要以器件作为划分标准。它们在器件、系统结构和软件技术等方面都有各的特征。SMP:对称式共享存储器多处理机
MPP:大规模并行处理机MP:多处理机1.5计算机系统结构的发展1.5计算机系统结构的发展1.5.4应用对系统结构的影响不同的应用对计算机系统结构的设计提出了不同的要求。应用需求是促使计算机系统结构发展的最根本的动力。一些特殊领域:需要高性能的系统结构高结构化的数值计算气象模型、流体动力学、有限元分析非结构化的数值计算蒙特卡洛模拟、稀疏矩阵实时多因素问题语音识别、图象处理、计算机视觉1.5计算机系统结构的发展大存储容量和输入输出密集的问题数据库系统、事务处理系统图形学和设计问题计算机辅助设计人工智能面向知识的系统、推理系统等第1章计算机系统结构基础1.6计算机系统结构中并行性的发展本节导引:并行性的概念提高并行性的技术途径单机系统中并行性的发展多机系统中并行性的发展并行机的发展变化1.6计算机系统结构中并行性的发展1.6.1并行性的概念并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。并行性包含同时性和并发性两种含义:同时性:两个或两个以上的事件在同一时刻发生。并发性:两个或两个以上的事件在同一时间间隔内发生。1.6计算机系统结构中并行性的发展从执行程序的角度来看,并行性等级从低到高可分为:指令内部并行:单条指令中各微操作之间的并行。指令级并行:并行执行两条或两条以上的指令。线程级并行:并行执行两个或两个以上的线程。通常是以一个进程内派生的多个线程为调度单位。任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)以子程序或进程为调度单元。作业或程序级并行:并行执行两个或两个以上的作业或程序。1.6计算机系统结构中并行性的发展从处理数据的角度来看,并行性等级从低到高可分为:字串位串:每次只对一个字的一位进行处理。最基本的串行处理方式,不存在并行性。字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。开始出现并行性。字并位串:同时对许多字的同一位(称为位片)进行处理。具有较高的并行性。全并行:同时对许多字的全部位或部分位进行处理。最高一级的并行。1.6计算机系统结构中并行性的发展1.6.2提高并行性的技术途径时间重叠引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。资源重复引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。资源共享这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。1.6计算机系统结构中并行性的发展1.6.3单机系统中并行性的发展在发展高性能单处理机过程中,起主导作用的是时间重叠原理。在单处理机中,资源重复原理的运用也已经十分普遍。多体存储器多操作部件阵列处理机(并行处理机)在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。如分时系统。1.6计算机系统结构中并行性的发展1.6.4多机系统中并行性的发展多机系统遵循时间重叠、资源重复、资源共享原理,发展为3种不同的多处理机:
同构型多处理机、异构型多处理机、分布式系统耦合度反映多机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆财经学院《跨文化管理》2022-2023学年第一学期期末试卷
- 重庆财经学院《建筑工程法律法规》2022-2023学年期末试卷
- 重庆财经学院《会展项目综合运营二》2022-2023学年第一学期期末试卷
- 重庆财经学院《地理信息系统开发》2022-2023学年第一学期期末试卷
- 禅定与神通研究报告
- 潮流饰品预售策略研究报告
- 潮汕食品理念研究报告
- 一年级数学(上)计算题专项练习汇编
- 2022-2023年二级建造师之二建市政工程实务自我检测试卷B卷附答案
- 测量控制网课程设计
- 形式发票样本(Proforma Invoice)
- 小学英语说课活动总结(共2页)
- 草坪铺设施工方案
- 临床路径实施情况、存在问题及整改措施
- (完整word版)上海博物馆文物术语中英文对照
- 学、练、评一体化课堂模式下赛的两个问题与对策
- 陕西省尾矿资源综合利用
- 扣件式钢管脚手架施工方案(课程设计,含计算书)
- 常见药品配伍表
- 挖机租赁台班表.doc
- 湖南中医药大学成人教育毕业生鉴定表
评论
0/150
提交评论