[发明专利]用于计算硬件预提取地址及算术运算值的双功能加法器无效
申请号: | 200980107479.6 | 申请日: | 2009-02-23 |
公开(公告)号: | CN101960422A | 公开(公告)日: | 2011-01-26 |
发明(设计)人: | 阿贾伊·A·英格尔;埃里克·J·普隆德克;卢奇安·科德雷斯库 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 宋献涛 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 计算 硬件 提取 地址 算术 运算 功能 加法器 | ||
技术领域
本文所揭示的发明概念的实施例大体上涉及数据处理系统的领域。更确切地说,本文所揭示的发明概念的实施例涉及一种双功能加法器。
背景技术
在一些常规计算系统中,由处理器执行的操作包括加载/存储、硬件预提取及算术运算。加载/存储是将来自存储器(例如,同步动态随机存取存储器)的值加载到寄存器堆或将来自寄存器堆中的寄存器的值存储到存储器的操作。硬件预提取是将来自存储器的数据预先加载到寄存器堆中以便在被请求之前预备好数据。预提取减少了与存储器读取相关联的等待时间,因为如果已经将操作数预先加载到寄存器堆中则处理器不等待操作数被载入。算术运算为整数运算,其包括(例如)两个操作数之间的加法及减法。
在执行加载/存储操作时,处理器可计算一加载/存储地址。加载/存储地址是从其加载一值到寄存器堆或将来自寄存器堆的值存储到其的存储器地址。在执行硬件预提取时,处理器可计算一硬件预提取地址。硬件预提取地址是在数据被请求用于线程执行之前将从其预先加载数据的存储器地址。在执行算术运算时,处理器可计算一算术运算值,其为算术运算的结果(例如,操作数A加操作数B的和)。
图1的现有技术示意图说明一常规系统100。如所说明,常规系统100可包括至少三个加法器(106、112及114),其中一个加法器用于计算加载/存储地址(地址产生加法器106),第二加法器用于计算硬件预提取地址(硬件预提取加法器112),且第三加法器用于计算算术运算值(算术逻辑单元{ALU}加法器114)。参看图1,地址产生加法器106在计算加载/存储地址时可接收一来自寄存器堆的存储器地址操作数102及一立即操作数104(例如,常数)。立即操作数可为由操作的操作数列出的常数值,而非列出地址的操作数。
加法器106将存储器地址操作数102与立即操作数104求和以产生加载/存储地址,其被发送到多路复用器108。如果执行加载/存储操作,则多路复用器108将加载/存储地址发送到多路复用器110。另一方面,如果正在执行算术运算,则多路复用器108可将来自寄存器堆的第一ALU操作数102转发到ALU加法器114,而非将加载/存储地址转发到多路复用器108。如果除执行加载/存储操作外或替代于执行加载/存储操作要执行硬件预提取,则多路复用器108可将来自地址产生加法器106的加载/存储地址转发到硬件预提取加法器112,以便确定硬件预提取地址。
如图1的示意图中所说明,硬件预提取加法器112进一步经配置以确定算后增量地址。算后增量地址是等于先前执行循环中使用的存储器地址加上一常数的地址。举例来说,在当前执行循环中的操作执行之后或期间,可将直接或间接地指向操作的操作数的地址递增一常数以产生所述算后增量地址。所述算后增量地址可直接或间接地指向要在随后执行循环中处理的操作的操作数。
在图1的示意图中,加法器112通过将加载/存储地址与多路复用器116的输出相加来确定算后增量地址,当计算算后增量地址时,多路复用器116选择算后增量常数(pconstant)118。pconstant 118可经预定义及/或由系统100硬连线或存储。当加法器112确定一硬件预提取地址时,则多路复用器116在硬件预提取减量地址120与硬件预提取增量地址122之间选择,通过所述硬件预提取减量地址120及所述硬件预提取增量地址122来使加载/存储地址递增或递减。加法器112输出算后增量地址或硬件预提取地址124,其可在当前执行循环被发送到寄存器堆,或在下一执行循环被发送到多路复用器110的输入。在下一执行循环输入到多路复用器110的硬件预提取地址124可用以存取数据高速缓冲存储器136,以用于预提取在存储器地址134处的值。因此,多路复用器110视正在执行加载/存储操作还是硬件预提取而在当前执行循环的加载/存储地址与先前执行循环的硬件预提取地址之间选择。
如果要计算一算术运算,则除多路复用器108将第一ALU操作数102发送到ALU加法器114的输入外,多路复用器126视所述算术运算而发送从来自寄存器堆的第二ALU操作数128及立即ALU操作数130(亦即,常数)中所选择的输出。举例来说,一算术运算可将存储于寄存器堆中的两个值相加。因此,指令的输入操作数可指向寄存器堆的存储要相加的值的两个寄存器。在另一实例中,一个操作数可指向一存储于寄存器堆中的值,而另一操作数列出一预定义的常数。加法器114接着将多路复用器126的输出与ALU第一操作数102相加以输出一算术运算值132。
系统100的一个问题是需要三个加法器来处理操作,因此增加了电路面积及处理器的功率消耗。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980107479.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高吸湿吸水腈纶的制备方法
- 下一篇:内循环序批式生物膜污水处理装置