- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理与系统结构 第8章 计算机系统结构
第八章 计算机系统结构 8.1 超标量处理机和超流水线处理机 8.2 向量处理机 8.3 并行处理机 8.4多处理机 8.5互连网络 8.6计算机系统结构新发展 8.1 超标量处理机和超流水线处理机 8.1.1 超标量处理机 超标量(superscalar)机器最早在1987年提出,它是为改善标量指令执行性能而设计的机器。超标量方法是高性能通用处理器发展的一个方向,其本质是在不同的流水线中执行不相关指令的能力。 TI的SPARC系统由CPU芯片(TMS390Z50)和cache控制器芯片(TMS390Z55)组成,如图8.1所示。在片上有8个功能部件:3个ALU、移位器、加载/存储部件、转移部件、浮点乘法器和浮点加法器。其中3个ALU安排在两个层次上,第一层的两个ALU独立操作,它们的结果可送到第二层的ALU再进行运算,如果没有数据相关或其他因素,在一个周期内可完成3条指令功能。 在当前的大多数处理器的设计中,都引入了超标量设计技术。超标量处理机中,使用了多指令流水线。这意味着每个时钟周期要发射多条指令并产生多个结果。设计超标量处理机时,要考虑使它能对用户程序开发更多的指令级并行性。但是,只有不相关的指令才能并行执行而不相互等待。指令级并行性的变化是很大的,这与执行代码的类型有很大的关系。对于一般的流水机器,在一个时钟周期内只能发射一条指令,每个时钟周期只能流出一个结果。若其指令的流程为:“取指”、“译码”、“分析”和“执行”,则单发射基准流水线的流水操作如图8.2所示。 超标量流水线是指在每个时钟周期内要同时发射多条指令并产生多个结果的流水线。超标量方法的实现依赖于系统并行执行多条指令的能力,即指令并行执行的程度。这主要看硬件技术与编译器结合所能够达到的最大程度的指令级并行性。超标量处理器主要是借助对硬件资源重复利用来实现空间的并行操作的。图8.3给出了并行度为3的超标量流水线的流水操作过程。 与一般的流水机器相比,超标量处理器的特点主要表现在: 1.配置有多个性能不同的处理部件,采用多条流水线并行处理; 2.能同时对若干条指令进行译码,将可并行执行的指令送往不同的执行部件,从而达到在每个时钟周期启动多条指令的目的; 3.在程序运行期间由硬件(通常是状态记录部件和调度部件)完成指令调度。 8.1.2 超流水线处理机 一般把指令流水线的段数大于等于8的流水线处理机称为超流水线处理机。超流水线处理机和前面介绍的超标量处理机的工作方式不同,超标量处理机是通过重复设置多个部件,并且让这些部件能够同时工作来提高指令的执行速度,实际上是以增加硬件资源为代价来换取处理机性能的;而超流水线处理机则只是通过增加少量硬件,通过各部分硬件的充分重叠工作来提高处理机的性能,超流水线处理机每一节拍仍只流出一个结果,但流水线的节拍只是主机时钟周期的几分之一,所以在一个时钟周期内,流水线仍可流出几个结果,如图8.4所示。 8.1.3 超标量超流水线处理机 从指令级并行性来看,超标量处理机主要开发空间并行性,依靠重复设置的操作部件上同时执行多个操作来提高程序的执行速度。而超流水线处理机则主要开发时间并行性,在同一个操作部件上重叠多个操作,通过使用较快时钟周期的深度流水线来加快程序的执行速度。为了进一步提高指令级并行度,可以把超标量技术与超流水线技术结合在一起,这就是超标量超流水线处理机。 图8.5给出了表示超标量超流水线处理机的指令执行时空图。它在一个时钟周期内要发射指令m次,每次发射指令n条,故每个时钟周期中总共发射指令m×n条。 超标量超流水线处理机既开发空间并行性,又开发时间并行性。前者在重复设置的操作部件上同时执行多个操作来提高程序的执行速度,后者在同一操作部件上重叠多个操作,通过使用较快时钟周期的深度流水线来加快程序的执行速度。 8.2 向量处理机 向量处理机结构目前已成为解决数值计算问题的一种重要的高性能结构。它有两个主要的优点:效率高和适用性广。绝大多数向量处理机都采用流水线结构。当一条流水线不能达到所要求的性能时,设计者往往采用多条流水线。这种处理机不仅能处理单条流水线上的数据,还能并行地处理多条流水线上独立无关的数据。 8.2.1 什么是向量处理 下面我们通过一个简单的例子来说明向量处理与标量处理的差别。先考察一个用FORTRAN语言编写的程序: DO 100 I=1, N A(I)=B(I)+C(I) 100 B(I)=2A(I+1) 对上述这个程序循环,在一般的机器上可用以下的指令序列来实现: INITIALIZE I=1 10 READ B(I) READ C(I) ADD B(I)+C(I) STORE A(I)←B(I)+C(I) READ A(I+1) MU
您可能关注的文档
最近下载
- 欧洲规范-NF P98-200-2-中文.pdf VIP
- 2024年3月30日河北省直遴选面试真题及答案解析(下午卷).doc VIP
- 2025年3月30日河北省直遴选面试真题及答案解析(下午卷).doc VIP
- 我国糖尿病视网膜病变临床诊疗指南(2022年).docx VIP
- 2024年3月31日河北省直遴选面试真题及答案解析(上午卷).doc VIP
- 《水泥混凝土路面施工及验收规范GBJ 97-1987》知识培训.pptx VIP
- 2024年海南省省属虚拟市儋州市兰洋镇招聘社区工作者真题及完整答案详解1套.docx VIP
- 公司员工关怀管理方案.docx VIP
- 西方烹饪英语课件资料.ppt VIP
- 2024年3月17日河北省直遴选笔试真题及答案深度解析.doc VIP
文档评论(0)