[发明专利]基于流水级的数据处理方法和系统有效
申请号: | 200810098475.3 | 申请日: | 2008-05-28 |
公开(公告)号: | CN101593095A | 公开(公告)日: | 2009-12-02 |
发明(设计)人: | 常晓涛;刘强 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市金杜律师事务所 | 代理人: | 冯 谱 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 流水 数据处理 方法 系统 | ||
技术领域
本发明涉及计算机系统中的数据处理领域,尤其涉及基于流水级的数据处理方法和系统。
背景技术
通常,在计算机系统中,具有存储器分级结构。一般来说,该存储器分级结构由多级存储器构成。通常存储器分级结构中较高级别中的存储器具有比较低级别中的存储器更快的速度、更小的尺寸以及更低的时延。通常“一级”寄存器在数据处理系统中处于处理器附近。“二级”高速缓存器位于“一级”寄存器之下,也处在数据处理系统中处理器附近。“三级”高速缓存器具有能存储更多数据的容量,但是需要更长时间来访问。在这三级以下还可以有随机访问存储器、硬盘驱动器、磁带备份等级别。
在现有的计算机系统中,访问寄存器堆中的寄存器的传统方法是通过二进制指令或汇编语言。这样的二进制指令具有规定的字段以用于显式访问寄存器堆中的寄存器,其中所述规定的字段被称为源/目的地寄存器索引。当按照二进制指令的格式进行编码时,寄存器索引以二进制指令填充。当这些指令被载入到处理器以用于执行时,寄存器索引不能被改变。在这样的方法中,寄存器索引是固定的。当以汇编语言或者别的高级语言(例如C语言)进行编程时,需要编译工具将汇编语言或其他高级语言编程的代码转换为二进制代码并填充寄存器索引字段。在此方法中,代码通过静态规定的寄存器索引自动来访问寄存器。现有技术中的这种寄存器的索引和访问方式,导致了很多重叠的不必要的存储器访问,并且因此降低了存储器的访问速度。
而且,现有技术中,没有任何处理器的指令集具有使用源寄存器 作为索引来访问寄存器的指令。而本发明通过在现有的流水线中增加简单的硬件来在现有的指令集中包含能够容易实现的这样的指令。
现有技术中存在一些索引访问寄存器的方法和系统。例如标题为“Method and apparatus for correlation of events in a distributedmulti-system computing environment”的美国专利US5995727中公开了一种监控方法和装置,其中具体公开的是索引访问某个寄存器的部分字乃至比特,而不是将寄存器的内容作为索引再访问其他的寄存器。再如标题为“Completion unit register file using virtual addresseswith qualify and pseudo-address bits”的美国专利申请US 5875483,其中提及了寄存器堆寄存器索引,但是该索引是传统意义上的索引,而不是将寄存器内容作为索引从而索引到其他寄存器的值。又如标题为“Parallel execution of media encoding using multi-threaded singleinstruction multiple data processing”的美国专利申请US20060256854A1,其中提及了在单指令多数据处理器中索引寄存器的方法,但是其中的寄存器的操作使用新的寄存器号,该新的寄存器号不能被其他寄存器索引,也未提及将寄存器内容作为索引从而索引其他寄存器的方法。
发明内容
为了实现处理器的高处理速度以及处理器和存储器分级结构的低功率消耗的目的,一种实际的方法就是利用对寄存器堆的访问并将访问结果作为索引再次访问寄存器堆(register file),将数据和指令保存在分层结构的较高级别之中。本发明的目的是提出一种利用位于所述存储器分层结构的最高级别中的寄存器堆的优点来实现上述目的的方法。
本发明的目的是提供一种用于基于流水级的数据处理方法和系统。
根据本发明的一方面提供了一种基于流水级的数据处理方法,包括:在取指级取回指令,并将特定指令输入到译码级;在译码级, 所述特定指令指示将寄存器堆中寄存器的内容用作索引;然后基于所述索引对所述索引所指向的寄存器堆进行访问;在执行级,接收所述译码级的访问结果,按照所述译码级的访问结果,执行运算。
根据本发明的另一方面一种基于流水级的数据处理系统,包括:取指级,在所述取指级处,取回指令并将特定指令输入到译码级;译码级,在所述译码级处,所述特定指令指示将寄存器堆中寄存器的内容用作索引;然后基于所述索引对所述索引所指向的寄存器堆进行访问;执行级,在所述执行级处,接收所述译码级的访问结果,按照所述译码级的访问结果执行运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810098475.3/2.html,转载请声明来源钻瓜专利网。