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

无序处理器中的事务存储器制造技术

技术编号:2915971 阅读:229 留言:0更新日期:2012-04-11 18:40
描述了提供无序处理器中的事务存储器执行的方法和设备。在一个实施例中,存储值对应于未提交的事务存储器访问请求的数量。根据所述实施例,在出错、故障等情况下,存储值可用来提供嵌套恢复。

【技术实现步骤摘要】
【国外来华专利技术】无序处理器中的事务存储器
技术介绍
—般来说,本公开涉及电子领域。更具体来说,本专利技术 的 一 个实施例涉及无序处理器中的事务存储器(TM)执行。 为了改进性能, 一些计算机系统可同时运行多个线程。 一般来说,在线程访问共享资源之前,可获得共享资源的锁定。在共 享资源是存储器中存储的数据结构的情况下,尝试访问同 一个资源的 所有线程可按照锁定机制提供的互斥性来使其操作的执行串行化。这 对于系统性能可能是有害的,并且例如因死锁缺陷而可能导致程序故 障。 为了降低由锁定机制的利用引起的性能损失, 一些计算 机系统可使用事务存储器。事务存储器一般指的是一种同步模型,它 允许多个线程同时访问共享资源而无需利用锁定机制。但是,例如由 于由无序处理器中进行的推测处理引起的误预测,无序处理器中的事 务存储器执行增加了设计的复杂度。附图说明 参照附图来提供详细描述。附图中,参考标号最左边的 数字标识首次出现参考标号的附图。不同附图中相同的参考标号的使 用表示相似或相同项。 图1、图6和图7示出计算系统的实施例的框图,它可 用来实现本文所述的各种实施例。 图2示出根据本专利技术一个实施例的处理器核心的各部 分的框图。图3-4示出根据本专利技术的各种实施例的方法的框图。图5示出事务状态和控制寄存器的一个实施例。 具体描述 在以下描述中,阐明大量具体细节,以便提供对各种实 施例的透彻了解。但是,即使没有具体细节也可实施部分实施例。在 其它情况下,没有详细描述众所周知的方法、过程、部件和电路,以 免影响对具体实施例的理解。 本文所述的实施例的一部分可提供无序处理器、如参照 图l-7所述的处理器中的事务存储器执行的有效机制。更具体来说, 图1示出根据本专利技术的一个实施例的计算系统IOO的框图。系统100 可包括一个或多个处理器102-1至102-N(本文中一般称作"处理器 102")。处理器102可经由互连或总线104进行通信。各处理器可包 括各种部件,为了清晰起见,仅参照处理器102-1来论述其中的一部 分。因此,其余处理器102-2至102-N的每个可包括参照处理器102-1 所述的相同或相似部件。 在一个实施例中,处理器102-1可包括一个或多个处理 器核心106-1至106-M(本文中称作"核心106")、高速緩存108(可包括 一个或多个专用或共享高速緩存)和/或路由器110。处理器核心106 可在单个集成电路(IC)芯片上实现。另外,芯片可包括一个或多个共 享和/或专用高速緩存(例如高速緩存108)、总线或互连(例如总线或互 连112)、存储控制器或其它部件。 在一个实施例中,路由器IIO可用于在处理器102-1和 /或系统100的各种部件之间进行通信。另外,处理器102-1可包括一 个以上路由器IIO。另外,多个路由器(110)可进行通信,以便实现处 理器102-1的内部或外部的各种部件之间的数据路由。 高速緩存108可存储由处理器102-1的一个或多个部 件、如核心106使用的数据(例如包括指令)。例如,高速緩存108可 本地高速緩存在存储器114中存储的数据,以便由处理器102的部件进行更快速的访问。如图1所示,存储器114可经由互连104与处理 器102进行通信。在一个实施例中,高速緩存108可以是最后一级高 速缓存(LLC)。核心106的每个还可包括第1级(L1)高速緩存(116)(本 文中一般称作"L1高速緩存116,,)。另夕卜,处理器102-1还可包括由若 干核心(106)共享的中间级高速緩存。处理器102-1的各种部件可直 接、通过总线(例如总线112)和/或存储控制器或集线器来与高速缓存 108进行通信。 图2示出根据本专利技术的一个实施例的处理器核心106的 部分的框图。在一个实施例中,图2所示的箭头示出指令通过核心 106的流程。 一个或多个处理器核心(例如处理器核心106)可在单个 集成电路芯片(或管芯)上实现,如参照图l所述。另外,芯片可包括 一个或多个共享和/或专用高速緩存(例如图1的高速緩存108)、互连 (例如图1的互连104和/或112)、存储控制器或其它部件。在一个实 施例中,图2所示的处理器核心106可用于通过硬件(本文中一般可 称作限制事务存储器(RTM)))来运行事务存储器访问请求。 如图2所示,处理器核心106可包括取出指令供核心 106运行的读取单元202。可从任何存储装置、例如存储器114和/或 参照图6和图7所述的存储器装置中取指令。核心106还可包括对取 出指令进行解码的解码单元204。例如,解码单元204可将取出指令 解码为多个pop(微操作)。 此外,核心106可包括调度单元206。调度单元206可 执行与存储解码指令(例如从解码单元204所接收)关联的各种操作, 直到指令准备分发,例如直到解码指令的所有源值变为可用。在一个 实施例中,调度单元206可调度和/或向执行单元208发出(或分发) 解码指令供运行。执行单元208可在指令被解码(例如由解码单元204) 和分发(例如由调度单元206)之后运行分发指令。在一个实施例中, 执行单元208可包括一个以上执行单元,例如存储器执行单元、整数 执行单元、浮点执行单元或者其它执行单元。另外,执行单元208可无序地运行指令。因此,在一个实施例中,处理器核心106可以是无 序处理器。核心106还可包括退出单元210。退出单元210可在^是交 运行指令之后退出运行指令。在一个实施例中,运行指令的退出可导 致从指令的运行提交处理器状态、解除分配指令所使用的物理寄存器 等。 如图2所示,核心106可包括重排序緩冲器(ROB)212, 以便存储与即时指令(flight instructions)(或pop)有关的信息,供处理 器核心106的各种部件进行访问。核心106还可包括RAT(寄存器别 名表)214,以便逻辑(或结构)寄存器(例如软件指令的操作数所标识的 寄存器)到对应物理寄存器的映射。在一个实施例中,RAT 214中的 各条目可包括向各物理寄存器指定的ROB标识符。此外,加载緩冲 器216和存储緩冲器218(本文中可统称为存储器排序緩冲器(MOB)) 可分别存储尚未加载或回写到主存储器(例如处理器核心106外部的 存储器、如存储器114)的未决存储器操作。MOB逻辑219可执行与 緩沖器216和218相关的各种操作,例如本文参照图3和图4所述。 另外,处理器核心106可包括总线单元220,以便允许 在处理器核心106的部件与其它部件(例如参照图1所述的部件)之间 经由一个或多个总线(例如总线104和/或U2)的通信。 一个或多个填 充緩冲器222可在将所接收数据存储到高速緩存116之前暂时存储从 存储器114接收(例如通过总线104和/或112)的数据。 如图2所示,高速緩存116可包括一个或多个高速緩存 线224(例如高速緩存线0至W)。在一个实施例中,高速緩存116的 各线可包括运行于核心106的各线程的事务读取位226和/或事务写 入位228。位226和228可按照参照图3所述的方式来设置或清除, 例如通过事务存储器访问请求来指明对于相应高速緩存线的(加载和/ 或存储)访问。即使在图2中,各高速緩存线224也表示为具本文档来自技高网...

【技术保护点】
一种设备,其包括: 存储单元,其存储与未提交的事务存储器访问请求的数量对应的值;以及 第一逻辑,其对于事务存储器访问请求开始和事务存储器访问请求提交的出现而更新所述存储单元中存储的所述值。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:R拉瓦H阿卡里K赖
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1