当前位置: 首页 > 专利查询>英特尔公司专利>正文

虚拟化事务存储器的全局溢出方法技术

技术编号:2835200 阅读:248 留言:0更新日期:2012-04-11 18:40
本文描述用于虚拟化和/或扩充事务存储器的方法及装置。事务采用本地共享事务存储器、如高速缓冲存储器来执行。在使共享事务存储器溢出时,事务存储器被虚拟化和/或扩充到高级存储器、如系统存储器。在溢出事件、如先前在当前未决事务期间访问的高速缓存行的逐出时,设置溢出标记,以便通知处理器/核心:事务存储器将在全局溢出表中虚拟化。全局溢出表的基址也可能被存储,以便引用高级存储器中的全局溢出表的基址。

【技术实现步骤摘要】

本专利技术涉及处理器执行领域,具体来说,涉及执行操作组。
技术介绍
半导体加工和逻辑设计方面的进步允许在集成电路器件上可存在 的逻辑数量的增加。因此,计算机系统配置已经从系统中的单个或多 个集成电路发展到各个集成电路上存在的多个核心和多个逻辑处理 器。处理器或集成电路通常包括单个处理器管芯,在其中,处理器管 芯可包括任何数量的核心或逻辑处理器。作为一个实例,单个集成电路可能具有一个或多个核心。术语"核 心"通常表示集成电路上的逻辑保持独立体系结构状态的能力,在其 中,各独立体系结构状态与至少一部分专用执行资源关联。作为另一 个实例,单个集成电路或单个核心可具有用于执行多个软件线程的多 个硬件线程,这又称作多线程集成电路或多线程核心。多个硬件线程 通常共享公共数据高速缓存、指令高速緩存、执行单元、分支预测器、控制逻辑、总线接口及其它处理器资源,同时保持各逻辑处理器的特 有体系结构状态。集成电路上数量不断增加的核心和逻辑处理器使更多软件线程能 够被执行。但是,可同时执行的软件线程的数量的增加对于使软件线 程之间共享的数据同步造成问题。多个核心或多个逻辑处理器系统中 访问共享数据的一个常见解决方案包括使用锁定来保证对共享数据的 多个访问的互斥。但是,执行多个软件线程的不断增加的能力可能引 起错误争用和执行的串行化。另 一个数据同步技术包括事务存储器(TM)的使用。事务执行往往包括推测地执行一组的多个微操作、操作或指令。但是,在先前的硬件TM系统中,如果事务对于存储器变得过大、即溢出,则通常重启事务。在这里,执行事务一直到溢出所花费的时间可能被浪费。 专利技术内容根据本专利技术的一个方面,提供一种装置,包括执行事务的执行 模块;耦合到所述执行模块的第一存储器,所述第一存储器包括多个 存储器行,其中,所述多个存储器行中的存储器行与对应的跟踪字段 关联,以便跟踪所述事务执行期间对所述存储器行的访问;以及溢出 逻辑,在所述事务执行期间,响应与所述存储器行关联的溢出事件, 支持所述笫 一存储器到第二存储器的扩充。根据本专利技术的另一方面,提供一种装置,包括执行组合为事务 的多个操作的执行单元;耦合到所述执行模块的事务存储器,所述存 储器包括多个块;以及耦合到所述执行单元、存储事务溢出标记的寄 存器,如果组合为所述事务的所述多个操作之一使所述存储器溢出, 则将设置所述事务溢出标记。根据本专利技术的又一方面,提供一种装置,包括处理器,其中包 括执行事务中的多个操作的执行单元;耦合到所述执行单元的高速緩 存,所述高速緩存包括多个高速緩存行;响应与所述事务中的所述多 个操作中的操作关联的溢出事件而存储全局溢出表的基址的表示的基 址寄存器。根据本专利技术的又一方面,提供一种装置,包括执行事务的执行 模块;耦合到所述执行模块的存储器,所述存储器包括多个块,其中,所述多个块中的块与第一位和第二位关联,以便跟踪在所述事务执行期间对所述块的访问;存储溢出标记的第一存储元件,如果当前访问 将逐出所述块,以及所述第一或第二位跟踪到在所述事务执行期间对 所述块的先前访问,则在对所述存储器的所述当前访问时将设置所述 溢出标记;以及在设置了所述溢出标记时存储全局溢出表的基址的,二存储元件。根据本专利技术的又一方面,提供一种系统,包括微处理器,其中 包括执行事务的执行单元;耦合到所述执行单元的事务存储器(TM), 所述TM包括多行,其中,各行包括跟踪在所述事务执行期间的访问 的对应事务跟踪字段;响应在所述事务执行期间发生的溢出事件而支 持所述TM的虚拟化的溢出逻辑;以及存储所述虚拟化TM的在存储 器分级结构中比所述TM更高级的第二存储器。根据本专利技术的又一方面,提供一种方法,包括检测与将作为事 务的一部分^皮执行的操作关联的溢出事件,所述操作引用事务存储器 中的存储器行;如果当前没有设置溢出位,则响应所述溢出事件而设 置溢出位;以及响应设置溢出位而把所述事务存储器扩充到第二存储 器。根据本专利技术的又一方面,提供一种方法,包括执行组合为事务 的多个操作中的操作;根据所述操作选择高速緩存中要逐出的高速缓 存行;以及如果先前在所述事务未决期间访问了所选高速緩存行如 果当前没有设置全局溢出,则设置全局溢出位;如果当前没有分配用 于全局溢出表的第 一页面,则为所述全局溢出表分配第二存储器中的 存储器的第一页面,其中,所述全局溢出表存储与所述事务关联的状 态信息;以及在为所述全局溢出表分配所述第一页面时,把系统存储 器中的第 一 页面的基址写入基址寄存器。附图说明附图中的各图以举例而不是限定的方式来说明本专利技术。 图1说明能够扩充事务存储器的多核心处理器的一个实施例。 图2a说明包括让各核心存储溢出标记的寄存器的多核心处理器 的一个实施例。图2b说明包括存储溢出标记的全局寄存器的多核心处理器的另 一个实施例。图3说明包括让各核心存储溢出表的基址的基址寄存器的多核心 处理器的一个实施例。图4a说明溢出表的一个实施例。图4b说明溢出表的另一个实施例。图5说明包括多个页面的溢出表的另一个实施例。图6说明虚拟化事务存储器的系统的一个实施例。图7说明用于虚拟化事务存储器的流程图的一个实施例。图8说明用于虚拟化事务存储器的流程图的另 一个实施例。具体实施例方式在以下描述中,阐述了大量具体细节,诸如用于事务执行的具体 硬件支持的实例、处理器中本地/存储器的具体类型以及存储器访问和 位置的具体类型等,以便提供对本专利技术的透彻理解。然而,本领域的 技术人员会清楚,这些具体细节不一定要用于实施本专利技术。在其它情 况下,没有详细描述诸如采用软件的事务的编码、事务的划分、具体 多核心和多线程处理器体系结构、中断生成/处理、高速緩存组织以及 微处理器的具体操作细节之类的众所周知的组件或方法,以免不必要 地影响对本专利技术的理解。本文所述的方法及装置用于扩充和/或虚拟化事务存储器(TM),以 便在事务执行期间支持本地存储器的溢出。具体来说,主要参照多核 心处理器计算机系统来论述虚拟化和/或扩充事务存储器。但是,用于 扩充/虛拟化事务存储器的方法及装置不限于此,因为它们可在诸如蜂 窝电话、个人数字助理、嵌入控制器、移动平台、桌面平台和服务器 平台之类的任何集成电路装置或系统上实现或者与其关联地实现,以 及结合利用事务存储器的其它资源、如硬件/软件线程来实现。参照图1,说明能够扩充事务存储器的多核心处理器100的一个 实施例。事务执行通常包括把多个指令或操作组合为事务、代码的原 子段或者代码的临界段。在某些情况中,单词"指令"的使用表示由多个操作组成的宏指令。有两种常见方式来标识事务。第一实例包括 以软件划分事务。在这里,某种软件划分包含在代码中以便标识事务。 在可结合前述软件划分来实现的另 一个实施例中,事务通过硬件来组 合或者通过表明事务的开始和事务的结束的指令来识别。在处理器中,推测地执行或者非推测地执行事务。在第二种情况 中,以某种形式的锁定或保证对于待访问存储器位置的有效访问来执 行指令组。在该备选方案中,事务的推测执行更普遍,在其中,事务 被推测地执行和在事务结束时提交。本文所使用的"事务未决"表示 已经开始执行但没有提交或中止、即未决的事务。在事务的推测执行期间,在提交事务之前通常没有使对存储器本文档来自技高网...

【技术保护点】
一种装置,包括:    执行事务的执行模块;    耦合到所述执行模块的第一存储器,所述第一存储器包括多个存储器行,其中,所述多个存储器行中的存储器行与对应的跟踪字段关联,以便跟踪所述事务执行期间对所述存储器行的访问;以及    溢出逻辑,在所述事务执行期间,响应与所述存储器行关联的溢出事件,支持所述第一存储器到第二存储器的扩充。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:J巴恩斯R拉瓦
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1