[发明专利]用于浮点寄存器高速缓存的方法及设备有效
申请号: | 201180059045.0 | 申请日: | 2011-10-04 |
公开(公告)号: | CN103262028A | 公开(公告)日: | 2013-08-21 |
发明(设计)人: | J·雷普利 | 申请(专利权)人: | 先进微装置公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京戈程知识产权代理有限公司 11314 | 代理人: | 程伟;王锦阳 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 浮点 寄存器 高速缓存 方法 设备 | ||
技术领域
本发明一般是关于基于处理器的系统,且更特别是关于在基于处理器的系统中的寄存器缓存(register caching)。
背景技术
传统的基于处理器的系统典型地包含一个或多个处理组件,例如中央处理单元(中央处理器)、图形处理单元(GPU)、加速处理单元(APU)等等。该处理单元包含一个或多个处理器核心,该处理器核心是配置成用以读取存储在主存储器中的指令及/或数据,然后执行该指令及/或操作该数据。各处理器核心包含浮点单元,该浮点单元是使用来通过通过执行该指令而在浮点数(floating point number)上执行数学运算。举例而言,传统浮点单元是典型地设计成执行例如加、减、乘、除、及平方根等运算。某些系统也可执行例如指数函数或三角函数计算的各种超越函数(transcendental function)。浮点运算可从在整数上的整数运算分别处理。该浮点单元也可具有用于存储浮点数的特定浮点寄存器集。浮点单元可支持多浮点指令集。举例而言,x86架构指令集包含称为x87的浮点相关的指令子集。该x87指令集包含用于例如加、减及比较的基本浮点运算,以及例如正切与反正切函数的更复杂的数值运算的指令。在x87指令集中的浮点指令可使用架构寄存器集(现有为MMX寄存器),该架构寄存器集可映射至在浮点单元中的实体寄存器(physical register)。对于另一例子而言,包含多处理器核心的计算机可支持单指令、多数据(SIMD)指令集。该x86架构SIMD指令集支持另一浮点相关的指令子集,该指令子集称为单指令多数据流扩展(streaming SIMD extension,SSE)指令集。在SSE指令集中的浮点指令可使用另一架构寄存器集(现有为XMM寄存器),该另一架构寄存器集也可映射至在浮点单元中的实体寄存器。
在处理器单元上执行的不同应用程序因此可使用x87浮点指令集、SSE浮点指令集、或该二指令集的组合。因此,用于该二指令集的架构寄存器是映射至在浮点单元中的实体寄存器,以使该二者的架构寄存器集对在处理器单元上执行的应用程序是可用的。将用于二指令集的架构寄存器映射至在浮点单元中的实体寄存器消耗了芯片面积、时间资源、以及电力。随不同应用程序所使用的指令集而定,分配给不同种类的指令集的资源可能未被使用,从而降低该处理器单元的效率。
发明内容
本揭示的标的是针对克服或至少降低一个或多个前述问题的影响。为了提供本案一些态样的基本理解,以下提出本发明的简化概要。此概要并非本发明的详尽概述。也非企图识别本发明的关键或重要组件或是描述本发明的范围。其惟一目的是在以简化形式表示一些概念来作为以下讨论的具体描述的前言。
在一实施例中,提供一种用于浮点寄存器高速缓存的方法。该方法的一实施例包含将通过第一指令集所定义的第一架构寄存器集映射至位于多个实体寄存器外的存储器。该多个实体寄存器是配置成用以映射至该第一架构寄存器集、通过第二指令集所定义的第二架构寄存器集、及重命名寄存器集。本方法的实施例也包含将对应于该第一架构寄存器集的该实体寄存器增加至该重命名寄存器集。
在另一实施例中,提供一种用于浮点寄存器高速缓存的设备。该设备的一实施例包含多个实体寄存器,配置成用以映射至通过第一指令集所定义的第一架构寄存器集、通过第二指令集所定义的第二架构寄存器集、及重命名寄存器集,其中,该第一架构寄存器集该第一架构寄存器集是配置成映像至位于该些实体寄存器外的存储器,且其中,该对应的该些实体寄存器是增加至该重命名寄存器集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于先进微装置公司,未经先进微装置公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180059045.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种海流潮汐发电装置
- 下一篇:一种监控安全门