[发明专利]流处理器中IO单元复用方法无效
申请号: | 200910044748.0 | 申请日: | 2009-11-12 |
公开(公告)号: | CN101699392A | 公开(公告)日: | 2010-04-28 |
发明(设计)人: | 管茂林;荀长庆;张春元;杨乾明;何义;文梅;伍楠;任巨;吴伟;柴俊;苏华友;全巍 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 io 单元 方法 | ||
技术领域
本发明涉及流处理器的设计方法,尤其是流处理器设计中的IO单元复用方法。
背景技术
流处理器是新一代面向密集计算的高性能微处理器的典型代表,专门面向流应用。 流应用具有计算密集性的特征:与传统的桌面应用相比,流式应用对每次从内存取出的 数据都要进行大量的算术运算。
流处理器由标量核、DRAM控制器、存储控制器、流控制器、微控制器、流寄存 器文件SRF(Stream Register File)、多个运算簇Cluster组成,各部件之间通过片上通用 总线连接。流处理的主要思想是将应用程序划分为一个个计算核心函数(kernel),产生 具有明确生产者--消费者局域性的数据流图,由这些核心函数按顺序完成对数据的密集 计算。这些核心函数通过编译器(运行于PC机上的软件)进行编译产生二进制的VLIW (Very Long Instruction Word,超长指令字)代码在流处理器上执行。生成的VLIW代 码存放在微控制器的微码存储器中,当核心程序启动时,微控制器逐条广播VLIW代码 到各运算簇,控制各运算簇以SIMD(Single Instruction Multiple Data,单指令多数据) 方式执行。
同计算相关的输入数据流、输出数据流以及中间数据都被存放在流寄存器文件SRF 中,保证数据能够在处理器内部循环利用而不产生对外部存储器DRAM的访问。运算 簇和流寄存器文件之间通过双向的流缓冲连接,所有对流寄存器文件的访问都通过流缓 冲SB(Stream Buffer)完成。流处理器中所有的计算操作由运算簇完成,每个运算簇 一般包括若干个功能单元(包括运算单元ALU和非运算单元)、本地寄存器文件LRF (Local Register File)以及它们之间的簇内互联开关,其中运算单元、通信单元、IO单 元是最基本的、必须的,它们均包含译码部件和执行部件。运算单元完成基本的运算功 能,通信单元完成运算簇之间的数据通信,IO单元则负责在本地寄存器文件LRF与流 寄存器文件SRF之间传输数据。
当今的流处理器如Imagine、FT64、MASA、STORM,都在运算簇中设置了大量的 IO单元,数目都为8个,可以同时支持支持8个流,每个IO单元执行一个流。每个IO 单元与一个流缓冲相连,多个流缓冲与流寄存器文件相连。数据流输入时,数据首先存 放在流寄存器文件中,然后根据需要传送到流缓冲、再由流缓冲传到与之相连的IO单 元,最后存放到运算簇内部的本地寄存器文件中供运算单元使用;数据流输出时,数据 首先存放在运算簇内部的本地寄存器文件中,然后传送到IO单元,再由与IO单元相连 的流缓冲存放到流寄存器文件中。这种执行方式有如下几个缺点:
(1)VLIW在执行时被分成位数不等的若干段代码,这些分割好的代码按照事先 定义好的规则发送到不同的功能单元,每个功能单元对一段代码进行译码,根据译码结 果执行相应的操作,每个功能单元对应的一段代码即为该功能单元在VLIW中对应的指 令域。每个IO单元都需要在VLIW中有一个指令域来决定其操作,多个IO单元会造 成VLIW位宽太长,对微码存储器的容量要求较高。实验结果显示MASA流处理器的 微码存储器占芯片面积的26%,这个比例是很高的。
(2)运算簇内部的簇内互联开关本质上为一系列的选择器,所有功能单元的输出 都与其相连,簇内互联开关根据编译器的指定选择输入,然后输入到本地寄存器文件中。 大量的IO单元会使得簇内互联开关中的选择器的规模变得很大,选择器的数目也随着 IO单元数目的增加而增加,这会带来设计面积和延迟的急剧增加。此外,每个IO单元 需要专门的译码单元、执行单元,较大数目的IO单元也会消耗一定的硬件逻辑。
(3)最重要的,每个IO单元只能执行一个流,也限制了处理器支持流的数目,一 旦需要同时传输的数据流超出IO单元的数目,系统将无法再提供支持,需要程序员调 整程序,给程序员编程带来不便。
因此如何实现对大量输入输出流的支持,实现流处理器中输入输出流数目的可扩展 性是本领域研究人员一直关注的问题。
发明内容
本发明要解决的技术问题是在流处理器的设计过程中如何克服一个IO单元只能执 行一个流的限制,实现少量IO单元对大量输入输出流的扩展支持,同时降低硬件开销。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910044748.0/2.html,转载请声明来源钻瓜专利网。