CN101719116B - 基于异常处理的事务存储访问机制的实现方法及所用系统 - Google Patents
基于异常处理的事务存储访问机制的实现方法及所用系统 Download PDFInfo
- Publication number
- CN101719116B CN101719116B CN2009101547522A CN200910154752A CN101719116B CN 101719116 B CN101719116 B CN 101719116B CN 2009101547522 A CN2009101547522 A CN 2009101547522A CN 200910154752 A CN200910154752 A CN 200910154752A CN 101719116 B CN101719116 B CN 101719116B
- Authority
- CN
- China
- Prior art keywords
- affairs
- read
- write
- processor
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种共享存储式多处理器系统,包括2个以上的处理器,还包括存储器以及总线/片上网络,总线/片上网络的一端与每个处理器相连、总线/片上网络的另一端与存储器相连;在每个处理器内分别设置一个事务读写缓存和一个事务属性缓存;在处理器内设置与每个处理器相对应的处理器局部缓存。本发明还同时公开了利用上述共享存储式多处理器系统进行的基于异常处理的事务存储访问机制实现方法,其设置5种异常机制,分别为:事务初始异常机制、事务满异常机制、事务读写异常机制、事务提交异常机制和事务重启异常机制。本发明用于解决事务存储实现时的缓存溢出问题。
Description
技术领域
本发明涉及事务存储访问机制的实现,所涉及的实现方法采用异常处理的机制,通过软件和硬件的协同配合,完成事务存储访问;属于计算机系统软件设计领域。
背景技术
事务存储访问机制是为了解决共享存储式多处理器系统中的存储同步问题而提出的。共享存储式多处理器系统中包含n(n>1)个处理器单元,它们可以各自执行不同的指令代码,对同一块存储空间发出读写请求。如图1所示,其中包含有n个处理器(处理器101-处理器103),并通过一条总线(或片上网络)(总线或片上网络104)将处理器连接起来。多个处理器可以共同访问同一个共享存储空间(存储单元105)。在这种结构中,多个处理器可以并行执行多段程序,运行多条指令流,与单处理器系统结构相比,其应用程序的并行性得到利用、系统性能得到提升。
共享存储式多处理器系统中,多个处理器分别运行不同的程序代码,不同的指令流,逻辑上对存储器访问是并行共享的。而系统中一条总线(或片上网络),一个共享存储器决定了物理上存储器访问是串行的。存储同步问题由此矛盾衍生而出。当不同处理器对同一块地址空间同时进行存储访问时,实际执行顺序的不同会造成程序运行结果的不同。
为了解决共享存储式多处理器系统结构中的同步问题,程序员在编写相应应用程序时,需要采用同步自旋锁或同步阻塞锁等手段保证多处理器访存顺序,协调处理器运行。软件同步锁的方法解决同步问题存在下列缺陷:
为了弥补同步锁方法的缺陷,事务存储访问机制由剑桥研究所的Herlihy和马萨诸塞大学的Moss最早提出。事务指某一指令段,每个在处理器上运行的事务都拥有各自的虚拟地址空间,其访存是互斥的。该机制使得程序员在编写程序时,将不同的原子指令段中访问的存储空间当作不同空间对待,而一致性由该机制本身保证,最终提高了程序的可读性。同时由于事务含有虚拟地址空间,可以在多处理器上并行执行,不需要互相等待,系统性能得到了提高。
事务一般分为事务开始、事务执行和事务提交三个阶段,事务开始和事务提交一般以特殊的指令代码加以区分。
事务存储访问机制实现的主要手段有:软件实现(STM:Software TransactionalMemory)、硬件实现(HTM:Hardware Transactional Memory)、混合实现(HyTM:HybridTransactional Memory)。尽管各种实现策略不尽相同,但其所达到的目标是相同的。即实现事务的以下三个特点:
由软件实现的事务性存储访问机制侧重于软件程序的结构封装,通过软件抽象实现事务,有更好的结构扩展性,但不会提升多处理器系统效率,因此实际应用中一般会考虑由硬件实现一部分事务处理功能。而由硬件实现或混合实现的事务性存储访问机制侧重于事务缓冲区的构建,以硬件代替软件复杂度,提升了多处理器系统效率。但这两种实现方式的不足之处在于它们无法动态申请硬件缓存空间,无法解决事务的缓冲溢出问题。实际应用中对于此类问题的一般解决方案是当硬件事务存储发生溢出时,重启该事务,转而寻求软件进行事务机制的实现。由于在事务开始前无法判断是否会发生溢出,每次缓存溢出的事务处理都需要经过硬件和软件的重复执行,因此降低了多处理器系统性能。
发明内容
本发明要解决的技术问题是提供一种共享存储式多处理器系统以及利用上述系统进行的基于异常处理的事务存储机制实现方法,解决事务存储实现时的缓存溢出问题。
为了解决以上问题,本发明提供了一种共享存储式多处理器系统,该系统包括n个处理器(n>1),还包括总线(或片上网络)和存储器,总线(或片上网络)的一端与每个处理器相连、总线(或片上网络)的另一端与存储器相连;在每个处理器内分别设置一个事务读写缓存和一个事务属性缓存;在处理器内设置与每个处理器相一一对应的处理器局部缓存。
作为本发明的共享存储式多处理器系统的改进:事务属性缓存用于保存事务顺序编号、通用寄存器数据、处理器状态和事务起始时指令地址;事务读写缓存用于保存事务读写操作中涉及到的地址以及写操作中涉及到的数据。
本发明还同时提供了利用上述共享存储式多处理器系统进行的基于异常处理的事务存储机制实现方法,设置5种异常机制,分别为:事务初始异常机制、事务满异常机制、事务读写异常机制、事务提交异常机制和事务重启异常机制;
事务初始异常机制为实现事务开始时的软硬件协调,进行事务处理的数据结构初始化,以及事务中保存读写记录的双向链表的空间分配和初始化;
事务满异常机制为实现事务执行时的虚拟存储;当识别到事务满异常后,将事务读写缓存中的数据拷贝到处理器局部缓存中,以数据结构的形式记录,之后清空硬件事务读写缓存;
事务读写异常机制为实现事务执行时的虚拟存储;当识别到事务读写异常后,将该读写操作中涉及的地址信息与事务读写记录的双向链表中的记录进行比较;若匹配,则以事务读写记录的双向链表中的数据为准进行读写操作;若不匹配,则从主存储器中读取数据,更新事务读写缓存。
事务提交异常机制为实现事务提交以及事务冲突检测;当识别到事务提交异常后,将事务读写缓存中未满的数据信息拷贝入处理器局部缓存,用事务读写记录的双向链表的数据结构来表示;此时检测是否发生事务读写地址冲突,并在发生冲突时对其他处理器产生事务重启异常;
事务重启异常机制为对发生冲突后的冲突解决进行保证;当识别到事务重启异常后,清空处理器局部缓存中的数据结构,通过指令或地址的赋值启动事务的硬件自动恢复。
本发明将硬件实现和软件实现进行结合,通过五种异常机制的设计,实现了事务存储访问机制。这五种异常机制分别为:事务初始异常、事务满异常、事务读写异常、事务提交异常和事务重启异常。实现的步骤为:步骤1:添加事务用硬件缓存;步骤2:添加事务用软件缓存;步骤3:实现事务初始异常机制;步骤4:实现事务满异常机制;步骤5:实现事务读写异常机制;步骤6:实现事务提交异常机制;步骤7:实现事务重启异常机制。事务初始异常实现了事务开始时的软硬件协调,事务满异常和读写异常实现了事务执行时的虚拟存储,事务提交异常实现了事务提交以及事务冲突检测,事务重启异常对发生冲突后的冲突解决进行保证。
在本发明中,硬件缓存分事务属性缓存和事务读写缓存,都可以通过高速缓存、内部寄存器或地址配值的方式实现。软件缓存指处理器局部缓存,实现方法是在系统能够软件存储管理的程序代码中实现有关局部缓存的声明和操作函数;每个缓存对所有处理器开放读权限,仅对相应处理器开放写权限;权限由系统软件维护。
与一般的事务存储访问机制的实现相比,采用本发明实现事务存储访问,能够解决硬件缓存溢出问题,对于发生溢出的数据能够通过软件的异常处理进行保存。同时结合了软件实现和硬件实现事务存储的优点,程序可扩展性强,降低了多处理器的系统开销。
综上所述,本发明是一种基于异常处理的事务存储访问机制的实现方法。该方法适用于系统软件设计比较灵活的多处理器核系统,采用添加事务初始异常、事务满异常、事务读写异常、事务提交异常和事务重启异常的机制,通过软件和硬件的系统配合,完成事务存储设计,其优势在于结合了硬件实现事务存储和软件实现事务存储的各自优点,解决硬件实现的缓存溢出问题,提高系统性能。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1是现有的共享存储式多处理器系统结构示意图;
图2为本发明的共享存储式多处理器系统结构示意图;
图3是本发明的基于异常处理的事务存储机制实现方法的流程示意图。
具体实施方式
图2给出了本发明所采用的共享存储式多处理器系统,包括n(n=3)个处理器,即处理器a201、处理器b202和处理器c203。每个处理器包含一个事务读写缓存和事务属性缓存,即处理器a201包含事务读写缓存204和事务属性缓存207;处理器a202包含事务读写缓存205和事务属性缓存208;处理器a203包含事务读写缓存206和事务属性缓存209。系统还包括总线(或片上网络)210和一个共享存储器,同时在共享存储器中分别划分出处理器a,b,c的局部缓存211,212,213。
本系统可以很容易的扩展为包含n个处理器的共享存储式多处理器系统。本发明也同样适用于这样的系统。在每个处理器上实现事务读写缓存和事物属性缓存,同时在共享存储器中分别划出对应处理器的局部缓存空间,即可实现本发明。
本发明基于五种异常机制的实现,达到解决缓存溢出,实现事务存储的发明目的。本发明中将其统称为事务异常。事务异常包括:事务初始异常、事务满异常、事务读写异常、事务提交异常以及事务重启异常。为实现五种事务异常机制,首先须进行硬件缓存和软件缓存的设计;其实现步骤如下:
步骤1:添加事务用硬件缓存
a)添加事务属性缓存(207-209)(TPB,Transaction Property Buffer)。即在处理器a201内添加了事务属性缓存207,在处理器b202内添加了事务属性缓存208,在处理器c203内添加了事务属性缓存209。
在硬件处理器内部,通过片内实现高速缓存、内部寄存器或者特殊地址配值的方式,添加事务属性缓存的硬件模块。缓存中需要保存TM_num,reg_data,pe_sta,start_pc四部分数据,如表1所示。
表1事务属性缓存中记录的数据
TM_num | 事务顺序编号 |
reg_data | 通用寄存器数据 |
pe_stat | 处理器状态 |
start_pc | 事务起始时指令地址 |
b)添加事务读写缓存(204-206)(TRWB,Transaction R/W Buffer)。即在处理器a201内添加了事务读写缓存204,在处理器b202内添加了事务读写缓存205,在处理器c203内添加了事务读写缓存206。该缓存同样通过高速缓存cache,内部寄存器或者地址配值的方式实现。其包含多条事务读写操作的纪录。添加时需要根据面向的平台和具体的应用设定该缓存可以容纳记录条目的多少。每一条记录包含的数据信息如表2所示
表2事务读写缓存中一条记录包含的数据
laddr | 事务读操作中涉及到的读地址 |
saddr | 事务写操作中涉及到的写地址 |
data | 事务写操作中涉及到的写数据 |
步骤2:添加事务用软件缓存
在进行事务管理的系统软件函数中,添加维护事务用软件缓存。针对系统中的每个处理器,各分配一个处理器局部缓存(211-213)。即在存储器内分别设置针对处理器a201的a的处理器局部缓存211、针对处理器b202的b的处理器局部缓存212、针对处理器c203的c的处理器局部缓存213。方法是在系统软件存储管理的程序代码中,实现有关该局部缓存的声明和操作函数。比如在操作系统得程序代码中,添加下列数据结构表示:
char*PrivateMem_Pe1;char*PrivateMem_Pe2;...char*PviateMem_Pen; |
维护该局部缓存所实现的操作函数,作用在于:每个缓存对所有处理器开放读权限,但仅对相应处理器开放写权限。例如PrivateMem_Pe2种的数据可以被所有处理器读,但仅能被2号处理器(即处理器b202)执行写操作。权限由系统软件维护。
以下内容如图3所示。
步骤3:实现事务初始异常机制
事务初始异常发生在事务初始时,机制分为硬件实现部分和软件实现部分。硬件实现部分的实现步骤如下:
i.(301)在处理器流水线的译码级添加事务初始指令的译码单元。当处理器识别到事务初始指令时,产生事务使能信号。
ii.(302)将事务使能信号送入总线(或片上网络)上的事务仲裁模块,事务仲裁模块根据处理器产生事务使能信号的先后顺序,为每个事务分配一个编号TM_num,并将其记录在事务属性缓存中。以Ti,Tj来表示第i个和第j个事务在系统中出现的先后时间点,则
iii.(303)在事务属性缓存中记录通用寄存器数据reg_data,处理器状态pe_stat以及事务起始时指令地址start_pc,也就是事务起始时的程序上下文。
iv.(304)产生事务初始异常信号,将该处理器的指令指针跳转到事务初始异常处理的向量入口。
产生事务初始异常后由软件实现后续部分。软件实现部分的实现步骤如下:
i.(305)进行事务处理的数据结构初始化,主要指TMB数据结构的初始化。TMB结构的声明如下:
struct TMB{int tm_num;RW_REC*head;} |
其中tm_num是该事务的顺序编号,RW_REC是事务中保存读写记录的双向链表。
ii.(306)TMB结构中的RW_REC为一个双向链表,用来存储事务读写记录。在本步骤中对RW_REC进行空间分配和初始化。其声明如下:
struct RW_REC{struct RW_REC*prev;struct RW_REC*next;int rw_flag;int addr;int data;} |
其中prev以及next为双向链表的前后指针。rw_flag用来区分该记录记录了读操作或是写操作。addr记录了该读操作或写操作的地址。data记录了写操作时写操作的数据。
iii.异常返回。
由软件实现的上述两个数据结构,其空间在处理器局部缓存中分配。
步骤4:实现事务满异常机制
事务满异常发生在事务执行过程中,其硬件实现步骤为:
i.(307-311)事务执行中每当处理器流水线的译码级识别到对存储器的读写指令时,将读地址信息laddr,写地址信息saddr和写数据信息data记录在事务读写缓存中。
具体如下:
(307)识别到事务运行时,事务中的读写指令;
(308)判别处理器(例如处理器a201)内部事务读写缓存(例如事务读写缓存204)状态,判别为满或者未满;
ii.判断事务读写缓存是否未满,若满,则产生事务满异常(309),程序跳转到事务满异常的向量入口。
识别到事务满异常后,软件实现部分将事务读写缓存中的数据拷贝到处理器局部缓存中(310),以RW_REC数据结构的形式记录,之后清空硬件的事务读写缓存(311),返回异常。
具体如下:
(309)若满,产生事务满异常;
(310)将处理器(例如处理器a201)内部事务读写缓存(例如事务读写缓存204)中的数据,拷贝到处理器(例如处理器a201)对应的局部缓存(例如局部缓存211)中;
(311)清空事务读写缓存(例如事务读写缓存204)。
步骤5:实现事务读写异常机制
事务读写异常也发生在事务执行过程中,其硬件实现步骤为:
i.(312,313,315)将事务执行读写操作中涉及的地址信息taddr与事务读写缓存中记录的地址进行比较,若匹配,则以事务读写缓存中的记录为准进行读写操作。
具体如下:
(312)判断事务读写指令中的读写地址是否与事务读写缓存(例如事务读写缓存204)中的地址相匹配。
(313)若不匹配,产生事务读写异常,转由软件异常处理程序处理。
(315)若匹配,仅在事务读写缓存(例如事务读写缓存204)中修改读写数据,保存读写操作。
ii.若不匹配,产生事务读写异常,跳转到事务读写异常的向量入口。
识别到事务读写异常后,软件实现部分的步骤如下:
i.(314,316,317)将该读写操作中涉及的地址信息taddr与RW_REC中的记录进行比较,若匹配,则以RW_REC中的数据为准进行读写操作。若不匹配,则从主存储器中读取数据,更新硬件事务读写缓存。具体如下:
(314)将该读写指令中包含的读写地址与处理器(例如处理器a201)对应的局部缓存(例如局部缓存211)中保存的地址进行匹配查找。
(316)若匹配,仅在局部缓存(例如局部缓存211)中修改读写数据,保存读写操作。
(317)若不匹配,返回异常。
ii.(317)若从未匹配状态返回异常,则从存储器中读出读写数据,更新事务读写缓存(例如事务读写缓存204)。之后运行后续事务指令(318)。
若从匹配状态返回异常,则不做其他操作,直接运行后续事务指令(318)。
步骤6:实现事务提交异常机制
事务提交异常发生在事务的提交过程中,其硬件实现步骤为:
i.(319)在处理器流水线的译码级添加事务提交指令的译码单元。当处理器识别到事务提交指令时,产生事务提交信号。
ii.(320)产生事务提交异常,跳转到事务提交异常处理的向量入口。
软件识别到事务提交异常后,进入事务提交异常处理程序,软件部分检测是否发生事务读写地址冲突,并在发生冲突时对其他处理器产生事务重启异常。其实现步骤如下:
i.(321)将事务读写缓存中未满的数据信息拷贝入处理器局部缓存,用RW_REC数据结构来表示。
ii.检测其它处理器上是否仍在运行事务,判断系统中是否存在TM_num更小的事务(322)。若存在,则等待TM_num较小的事务的执行完毕(323)。
iii.若不存在或等待结束,根据RW_REC中的信息对系统中运行的所有事务进行检测(324)。若产生冲突,则通过软件向对应冲突处理器产生事务重启异常(325)(处理器不会对自己产生事务重启异常)。
iv.根据本事务中需要提交的访存信息对存储器进行更新(326)。初始化处理器局部缓存,使其可以被重用。
v.结束事务异常处理流程(327):初始化事务读写缓存以及事务属性缓存,使其可以被重用,处理器进入普通指令流处理状态。
步骤7:实现事务重启异常机制
系统中某处理器的事务重启异常由系统中其它处理器引发,本发明中将处理事务重启异常的处理器称作本地处理器,将引发事务重启异常的处理器称作远程处理器。事务重启异常在本发明中可以发生在本地处理器运行事务中的各个阶段。接收到该异常后,本地处理器跳转到事务重启异常的向量入口,异常处理程序实现的步骤如下:
i.清空处理器局部缓存中的各项数据结构。
ii.通过指令或地址的赋值启动事务的硬件自动恢复。
事务的硬件自动恢复包含以下几个步骤:
i.将事务属性缓存中的通用寄存器数据reg_data以及处理器状态pe_stat读出,恢复事务起始时系统的运行状态。
ii.根据事务属性缓存中的事务起始时指令地址start_pc恢复程序指令指针,使其指向事务起始地址。
图3是结合了以上几个异常处理的事务存储机制实现流程示意图。处理五种异常机制的触发时刻及触发条件如表3所示。
表3事务异常触发时刻及触发条件表
异常名称 | 触发时刻 | 触发条件 |
事务初始异常 | 事务开始时 | 硬件识别到开始指令 |
事务满异常 | 事务运行时 | 事务读写缓冲区满 |
事务读写异常 | 事务运行时 | 事务读写操作 |
事务提交异常 | 事务提交时 | 硬件识别到提交指令 |
事务重启异常 | 事务从开始到提交的整个过程 | 其它事务检测到冲突 |
最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (2)
1.利用共享存储式多处理器系统进行的基于异常处理的事务存储访问机制实现方法,其特征在于设置5种异常机制,分别为:事务初始异常机制、事务满异常机制、事务读写异常机制、事务提交异常机制和事务重启异常机制;
所述事务初始异常机制为实现事务开始时的软硬件协调,进行事务处理的数据结构初始化,以及事务中保存读写记录的双向链表的空间分配和初始化;
所述事务满异常机制为实现事务执行时的虚拟存储;当识别到事务满异常后,将事务读写缓存中的数据拷贝到处理器局部缓存中,以数据结构的形式记录,之后清空硬件事务读写缓存;
所述事务读写异常机制为实现事务执行时的虚拟存储;当识别到事务读写异常后,将该读写操作中涉及的地址信息与事务读写记录的双向链表中的记录进行比较;若匹配,则以事务读写记录的双向链表中的数据为准进行读写操作;若不匹配,则从主存储器中读取数据,更新事务读写缓存;
所述事务提交异常机制为实现事务提交以及事务冲突检测;当识别到事务提交异常后,将事务读写缓存中未满的数据信息拷贝入处理器局部缓存,用事务读写记录的双向链表的数据结构来表示;此时检测是否发生事务读写地址冲突,并在发生冲突时对其他处理器产生事务重启异常;
所述事务重启异常机制为对发生冲突后的冲突解决进行保证;当识别到事务重启异常后,清空处理器局部缓存中的数据结构,通过指令或地址的赋值启动事务的硬件自动恢复;
所述共享存储式多处理器系统包括2个以上的处理器,还包括存储器以及总线/片上网络,总线/片上网络的一端与每个处理器相连、总线/片上网络的另一端与存储器相连;在每个处理器内分别设置一个事务读写缓存和一个事务属性缓存;在共享存储器内设置与每个处理器相对应的处理器局部缓存。
2.根据权利要求1所述的利用共享存储式多处理器系统进行的基于异常处理的事务存储访问机制实现方法,其特征是:所述事务属性缓存用于保存事务顺序编号、通用寄存器数据、处理器状态和事务起始时指令地址;事务读写缓存用于保存事务读写操作中涉及到的地址以及写操作中涉及到的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101547522A CN101719116B (zh) | 2009-12-03 | 2009-12-03 | 基于异常处理的事务存储访问机制的实现方法及所用系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101547522A CN101719116B (zh) | 2009-12-03 | 2009-12-03 | 基于异常处理的事务存储访问机制的实现方法及所用系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719116A CN101719116A (zh) | 2010-06-02 |
CN101719116B true CN101719116B (zh) | 2011-09-28 |
Family
ID=42433690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101547522A Expired - Fee Related CN101719116B (zh) | 2009-12-03 | 2009-12-03 | 基于异常处理的事务存储访问机制的实现方法及所用系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101719116B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486719B (zh) * | 2010-12-06 | 2015-04-15 | 普天信息技术研究院有限公司 | 智能存储卡及其事务写的方法 |
GB2533650B (en) * | 2014-12-23 | 2021-07-21 | Advanced Risc Mach Ltd | Debugging data processing transactions |
CN105786741B (zh) * | 2014-12-25 | 2023-05-23 | 锐迪科(重庆)微电子科技有限公司 | 一种soc高速低功耗总线及转换方法 |
CN104657153B (zh) * | 2015-03-19 | 2017-10-17 | 哈尔滨工业大学 | 一种基于签名技术的硬件事务内存系统 |
CN107229593B (zh) * | 2016-03-25 | 2020-02-14 | 华为技术有限公司 | 多片多核处理器的缓存一致性操作方法及多片多核处理器 |
CN111736964B (zh) * | 2020-07-02 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
-
2009
- 2009-12-03 CN CN2009101547522A patent/CN101719116B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101719116A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719116B (zh) | 基于异常处理的事务存储访问机制的实现方法及所用系统 | |
TWI617980B (zh) | 具有動態配送窗以及分散式架構的虛擬載入儲存佇列 | |
TWI639953B (zh) | 電腦系統 | |
TWI608414B (zh) | 具備使用統一結構的動態派遣窗之虛擬載入儲存佇列 | |
TWI637318B (zh) | 用於在使用共享記憶體資源的記憶體一致性模型內失序載入之鎖定式與同步式方法 | |
TWI627584B (zh) | 具有在依序從記憶體讀取構成載入的記憶體一致性模型內失序載入之旗標語方法及系統 | |
TWI483180B (zh) | 重疊原子區域執行的方法 | |
US9098327B2 (en) | Method and apparatus for implementing a transactional store system using a helper thread | |
TWI559221B (zh) | 實現從載入儲存重新排序與最佳化所導致的推測性轉送錯失預測/錯誤當中復原之方法及系統 | |
TW201218080A (en) | Apparatus, method, and system for dynamically optimizing code utilizing adjustable transaction sizes based on hardware limitations | |
US9558118B2 (en) | Tracing mechanism for recording shared memory interleavings on multi-core processors | |
TWI610227B (zh) | 用於實施載入儲存重新排序與最佳化之指令定義 | |
TW201426542A (zh) | 根據儲存資歷實施來自不同執行緒轉送的執行緒不可知之載入儲存緩衝區 | |
TW201421239A (zh) | 免消歧義失序載入儲存佇列 | |
CN102681890B (zh) | 一种应用于线程级推测并行的限制性值传递方法和装置 | |
US20140115249A1 (en) | Parallel Execution Mechanism and Operating Method Thereof | |
CN101872299B (zh) | 冲突预测实现方法及所用冲突预测处理装置事务存储器 | |
US20150324202A1 (en) | Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme | |
CN101482851B (zh) | 二进制翻译器中线程共享目标本地码缓存替换方法及系统 | |
TWI603260B (zh) | 過濾儲存避免所有儲存針對快取的所有字元進行窺探檢查之方法、微處理器及電腦系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110928 Termination date: 20151203 |
|
EXPY | Termination of patent right or utility model |