- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机体系结构6
第六章 向量处理 主要参考:Professor David A. Patterson的讲稿 传统指令级并行技术的问题 挖掘ILP的传统方法的主要缺陷: 1) 提高流水线的时钟频率: 提高时钟频率,有时导致CPI随着增加 (branches, other hazards) 2) 指令预取和译码: 有时在每个时钟周期很难预取和译码多条指令 3) 提高Cache命中率 : 在有些计算量较大的应用中(科学计算)需要大量的数据,其局部性较差,有些程序处理的是连续的媒体流(multimedia),其局部性也较差。 Alternative Model:Vector Processing 向量处理机具有更高层次的操作,一条向量指令可以处理N个或N对操作数(处理对象是向量) 向量处理机的基本特性 向量处理机的基本思想:把两个向量的对应分量进行运算,产生一个结果向量。 简单的一条向量指令包含了多个操作 = fewer instruction fetches 每一结果独立于前面的结果 = 长流水线,编译器保证操作间没有相关性 =硬件仅需检测两条向量指令间的相关性 = 较高的时钟频率 向量指令以已知的模式访问存储器= 可有效发挥多体交叉存储器的优势 = 可通过重叠减少存储器操作的延时 - 64 elements= 不需要数据Cache! (仅使用指令cache) 在流水线控制中减少了控制相关 Operation Instruction Count: RISC v. Vector Processor(from F. Quintana, U. Barcelona.) Spec92fp Operations (Millions) Instructions (M) Program RISC Vector R / V RISC Vector R / V swim256 115 95 1.1x 115 0.8 142x hydro2d 58 40 1.4x 58 0.8 71x nasa7 69 41 1.7x 69 2.2 31x su2cor 51 35 1.4x 51 1.8 29x tomcatv 15 10 1.4x 15 1.3 11x wave5 27 25 1.1x 27 7.2 4x mdljdp2 32 52 0.6x 32 15.8 2x 向量处理机的基本结构 memory-memory vector processors: 所有的向量操作是存储器到存储器的 vector-register processors: 除了load 和store操作外,所有的操作是向量寄存器与向量寄存器间的操作 向量机的Load/Store结构 1980年以后的所有的向量处理机都是这种结构: Cray, Convex, Fujitsu, Hitachi, NEC 下面我们也主要针对这种结构 向量处理机的基本组成单元 Vector Register: 固定长度的一块区域,存放单个向量 至少2个读端口和一个写端口 典型的有8-32 向量寄存器,每个寄存器存放64到128个64位的元素 Vector Functional Units (FUs): 全流水化的,每一个clock启动一个新的操作 一般4到8个FUs: FP add, FP mult, FP reciprocal (1/X), integer add, logical, shift; 可能有些重复设置的部件 Vector Load-Store Units (LSUs): 全流水化地load 或store一个向量,可能会配置多个LSU部件 Scalar registers: 存放单个元素用于标量处理或存储地址 用交叉开关连接(Cross-bar to connect) FUs , LSUs, registers “DLXV” Vector Instructions Instr. Operands Operation Comment ADDV V1,V2,V3 V1=V2+V3 vector + vector ADDSV V1,F0,V2 V1=F0+V2 scalar + vector MULTV V1,V2,V3 V1=V2xV3 vector x vector MULSV V1,F0,V2 V1=F0xV2 scalar x vector LV V1,R1 V1=M[R1..R1+63] load, stride=1 LVWS V1,R1,R2 V1=M[R1..R1+63*R2] load, stride=R
您可能关注的文档
- 神经病学第六版.doc
- 立体几何(文科).doc
- XCX201103509号西山区实训设备询价公告.doc
- 教育科学研究成果鉴定意见书.doc
- 五年级下册语文第一、二单元检测卷1.doc
- 社保所 (单位)便民服务类项目明细样表.doc
- 立体几何基础测试题.doc
- 五年级数学上册简易方程 教案.doc
- 我校餐厅优质服务月活动成效显著.doc
- 社保基金举报范围.doc
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)