CN110795150A - 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 - Google Patents
依dmb操作用加载/存储操作实施加载撷取/存储释放指令 Download PDFInfo
- Publication number
- CN110795150A CN110795150A CN201910999320.5A CN201910999320A CN110795150A CN 110795150 A CN110795150 A CN 110795150A CN 201910999320 A CN201910999320 A CN 201910999320A CN 110795150 A CN110795150 A CN 110795150A
- Authority
- CN
- China
- Prior art keywords
- store
- load
- processor
- memory
- instruction
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 108
- 230000004888 barrier function Effects 0.000 claims abstract description 66
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 14
- 238000012216 screening Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 239000002609 medium Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
Abstract
本申请涉及依DMB操作用加载/存储操作实施加载撷取/存储释放指令。提供用于将精简指令集运算(RISC)中使用的加载撷取与存储释放语意简化的***及方法。将该语意转译成用于实施复杂机器指令的微操作、或低阶指令,可避免必须实施复杂的新存储器操作。当数据存储器屏障确保居前指令是在执行后续指令之前先进行及完成时,搭配加载与存储操作使用一或多个数据存储器的屏障操作可提供充分定序。
Description
本申请是中国专利申请号为201580082189.6,发明名称为“依DMB操作用加载/存储操作实施加载撷取/存储释放指令”,申请日为2015年7月21日的进入中国的PCT专利申请的分案申请。
技术领域
本申请关于运算环境中的存储器操作定序(memory operation ordering)。
背景技术
在无锁定运算中,有两种可供线程(threads)操纵共享存储器的方式,这两种方式可互相竞争资源,或可采协同方式将信息自一条线程传递至另一线程。撷取与释放语意用于达成采协同方式将信息自一条线程传递至另一线程。撷取与释放语意提供用于确保将存储器操作正确定序以避免错误的结构化***。存储释放(store release)指令确保所有在前的指令都已完成,而加载撷取(load acquire)指令确保所有在后的指令都将只在其完成之后才会完成。为了适当地使用撷取与释放语意将存储器操作定序,存储释放与加载撷取指令的复杂组合是必要的。
发明内容
本文中所揭示的是用于将精简指令集运算(reduced instructionsetcomputing;RISC)中使用的加载撷取与存储释放语意简化的***及方法。具体实施例是用来就本文中所揭示的指令将存储器操作定序。典型的带撷取指令的加载仅要求带撷取的加载之后的存储器操作是在带撷取的加载之后才予以定序,带撷取的加载之前未先对该指令施加任何定序(两者是关于带撷取的加载及关于后续指令)。在一具体实施例中,带撷取的加载包含搭配加载操作所使用的数据存储器屏障,其保证在自该带撷取的加载后的指令进行的所有存取之前,先将该带撷取的加载前且包括该带撷取的加载的所有存取全部定序。
类似的是,传统的带释放指令的存储在自带释放的存储进行的存取与所有居前指令(但非后续指令)的存取之间施加定序。然而,在一具体实施例中,带释放的存储开始时的数据存储器屏障在居前存取与带释放的存储相关联存取之间提供强式定序。
在一具体实施例中,一种***包含执行计算机可执行指令以进行操作的处理器。该指令可包括进行存储器操作定序的带撷取指令的加载,其中,该带撷取指令的加载包含加载操作,后面跟着数据存储器的屏障操作。
在另一具体实施例中,一种方法包含在处理器中执行指令。该方法可包括用于进行存储器操作定序的带撷取指令的加载,其中,执行该带撷取指令的加载包含执行加载操作,后面跟着数据存储器的屏障操作。
在一具体实施例中,一种***包含执行计算机可执行指令以进行操作的处理器。该指令可包括进行存储器操作定序的带释放指令的存储,其中,该带释放指令的存储包含第一数据存储器的屏障操作,后面跟着存储操作,后面跟着第二数据存储器的屏障操作。
在一具体实施例中,一种方法包含在处理器中执行指令。该方法可包括用于进行存储器操作定序的带释放指令的存储,其中,执行该带释放指令的存储包含执行第一数据存储器的屏障操作,后面跟着执行存储操作,后面跟着执行第二数据存储器的屏障操作。
附图说明
图1为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的***的一具体实施例。
图2为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的***的一具体实施例。
图3为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的***的一具体实施例。
图4为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的***的一具体实施例。
图5绘示用于执行带撷取指令的加载的方法的一具体实施例的流程图。
图6绘示用于执行带释放指令的存储的方法的一具体实施例的流程图。
图7绘示用于使用数据存储器屏障来筛选存储器操作的方法的一具体实施例的流程图。
图8绘示可搭配本文所述的一或多项态样来实施的电子运算环境的方块图。
图9绘示可搭配本文所述各项态样来操作的数据通讯网络的方块图。
主要组件符号说明:
100,200,300,400 ***
102 加载/存储组件
104 处理器
106 存储器
108 存储组件
110 输入
112 输出
202 居前指令
204,304,402,406 数据存储器屏障
206 后续指令
302 加载操作
404 存储操作
500,600,700 方法
502至504,602至606,702至704 步骤
800 运算***环境
810 计算机
820 处理单元
821 ***总线
830 ***存储器
870 远程计算机。
具体实施方式
各项具体实施例针对将精简指令集运算(RISC)中使用的加载撷取与存储释放语意简化的***而提供。在无锁定运算中,有两种可供线程操纵共享存储器的方式,这两种方式可互相竞争资源,或可采协同方式将信息自一条线程传递至另一线程。然而,这些语意复杂,而且以单纯的数据存储器屏障取代专属语意可将存储器定序的程序简化。将语意转译成用于实施复杂机器指令的微操作、或低阶指令可避免必须实施复杂的新存储器操作。搭配加载与存储指令使用数据存储器屏障可提供使用单纯暴力定序操作的充分定序。
“指令”、“操作”、及“存取”等词于本申请中使用时是指分离程序,而且不可互换。一指令是由一或多个操作所组成,而一操作可包括零或更多个存储器存取或屏障。举例来说,一带撷取指令的加载建立两个操作(一加载操作及一屏障操作)。此屏障将所有存储器存取分割成两个群组。第一群组包含自带撷取的加载前的所有指令进行的存取、及自属于带撷取的加载的加载操作进行的存取。第二群组包含自带撷取的加载后的所有指令进行的存取。
图1绘示在RISC处理器、处理环境、或架构中使用数据存储器屏障来筛选存储器操作的***100。该RISC处理器可包括ARM处理器的变例,并且具体而言,在这项具体实施例中,可包括ARMv8处理器。如图所示,举例而言,***100可包括加载/存储组件102,其可连通耦接及/或操作性耦接至用于促进藉由***100操作及/或执行计算机可执行指令及/或组件的处理器104、用于存储供藉由***100利用处理器104执行的数据及/或计算机可执行指令及/或组件的存储器106、以及举例来说,用于为可藉由***100使用处理器104执行的数据及/或计算机可执行指令及/或组件提供更长期存储的存储组件108。另外,并且如图所示,***100可接收可藉由透过处理器104执行一或多个计算机可执行指令及/或组件而自第一状态转换至第二状态的输入110,其中该第一状态与该第二状态可有所区别、及/或可辨别、及/或有所不同。***100亦可产生输出112,其可包括已透过***100的处理而转换成不同状态或东西的物品。
图2根据本文所述的各项态样,绘示筛选存储器操作的***的一具体实施例的方块图。***200包括对居前指令202及后续指令206强加定序限制条件的数据存储器屏障204。数据存储器屏障204是一种屏障操作类型,其造成CPU或编译器(compiler)对屏障操作之前及之后发布的存储器操作强加定序限制条件。这一般意指保证某些操作是在屏障之前先进行,而其它操作则是之后才进行。数据存储器屏障204确保居前指令202是在执行后续指令206之前先进行及完成的。居前指令202及后续指令206各可包括基本加载与存储指令加上这些指令的更复杂变型(例如无撷取加载、无释放存储等等)的各种组合。
在一具体实施例中,居前指令202与后续指令206可包含经组配用于自存储器加载第一组数据及将第二组数据存储至该存储器的加载或存储指令。数据存储器屏障204可经组配用于将加载及存储数据相关联存储器操作定序,其中所达成的这种定序类型是基于数据存储器的程序顺序(program order)相对于一或多个加载指令与存储指令的位置。
图3为一方块图,其根据本文所述的各项态样绘示经由带撷取指令的加载来筛选存储器操作的***的一具体实施例。***300可包括将按照程序顺序居于数据存储器屏障304之前的加载操作302定序的数据存储器屏障304。数据存储器屏障304确保加载操作302是在执行后续指令之前先进行及完成的。***300展示包含加载操作及数据存储器的屏障操作的单纯带撷取指令的加载。在其它具体实施例中,其它加载操作的类型可导致不同加载指令,诸如无撷取加载及其它变型。
图4根据本文所述的各项态样,绘示进行带释放指令的存储的***的一具体实施例。***400可按照程序顺序在存储操作404的两旁包括数据存储器屏障402与406。数据存储器屏障402确保起始存储操作404之前已先停止全部居前指令/操作,而数据存储器屏障406则确保任何后续存储器指令/操作出现之前先完成存储操作404。另外,第一数据存储器屏障402与第二数据存储器屏障406亦建立定序,用以确保按照程序顺序观察带释放的存储与带撷取指令的加载。
可参照图5至图7的流程图根据所述专利目标实施的方法展示及描述为一连串程序块,要理解的是,本案的专利目标不因该程序块的顺序而受到限制,因为一些程序块可按照不同顺序出现,及/或与本文所示及所述的其它程序块并行出现。此外,并非需要所有绘示的程序块才可实施下文中所述的方法。
图5绘示用于执行带撷取指令的加载的方法的一具体实施例的流程图。方法500可始于502,于此,执行加载操作,其中该加载操作指定用于自存储器存取数据的地址。
于504,可执行数据存储器屏障。该数据存储器屏障是一种屏障操作类型,其造成CPU或编译器对屏障指令之前及之后发布的存储器操作强加定序限制条件。这一般意指保证某些操作是在屏障之前先进行,而其它操作则是之后才进行。数据存储器屏障确保居前指令是在执行后续指令之前先进行及完成的。在此实施中,该数据存储器的屏障操作确保该居前加载操作是在执行后续指令之前先进行及完成的。
所示图6为用于执行带释放指令的存储的方法的一具体实施例的流程图。方法600可始于602,于此,执行第一数据存储器的屏障操作。该数据存储器屏障是一种屏障指令类型,其造成CPU或编译器对屏障指令之前及之后发布的存储器操作强加定序限制条件。
于604,执行存储操作。该存储操作指定用于将数据写入至存储器的地址。于606,执行第二数据存储器的屏障操作。在两个数据存储器的屏障操作之前具有存储操作确保在执行该存储操作之前已先进行及先完成所有其它存储器操作,然后,在完成该存储操作前先不容许其它存储器操作。按照这种方式,带释放指令的存储使用单纯的存储与数据存储器的屏障操作来进行存储器操作定序。
图7为用于使用数据存储器屏障来筛选存储器操作的方法的一具体实施例的流程图。方法700可始于702,于此,在屏障之前先执行第一组存储器操作。该屏障确保所有指令都是在步骤704之前完成,其中第二组存储器操作是在该数据存储器屏障之后才执行。
本文所述的技术可应用于希望进行存储器操作定序或筛选的任何精简指令集运算环境。要理解的是,所有种类的手持式、可携式及其它运算装置及运算对象都是为了搭配各项具体实施例(亦即可进行存储器操作的任何具体实施例)使用而列入考虑范围内。下文在图8中所述的通用远程计算机为一实施例,并且所揭示的专利目标可利用具有网络/总线可交互运作性及互动的任何客户端来实施。因此,所揭示的专利目标可在网络链接托管服务环境中的芯片或***上实施,例如,在网络链接环境中,客户端装置仅作用为连至网络/总线的接口,诸如置放于电器中的对象。
图8绘示适当运算***环境800的一实施例,可在其中实施所揭示专利目标的态样,运算***环境800仅为适用于一装置的运算环境的一项实施例,并且用意不在于对所揭示专利目标的使用或功能范畴建议任何限制。
图8为用于实施所揭示专利目标的一例示性装置,其包括形式为计算机810的通用运算装置。计算机810的组件可包括处理单元820、***存储器830、以及将包括该***存储器在内的各种***组件耦接至处理单元820的***总线821。***总线821可为数种总线结构的任何类型,包括存储器总线或存储器控制器、***总线、以及局部总线,其使用各种总线架构中的任一者。计算机810一般包括各种计算机可读媒体。
***存储器830可包括形式为易失性及/或非易失性存储器的计算机存储媒体,诸如只读存储器(read only memory;ROM)及/或随机存取存储器(random access memory;RAM)。可在存储器830中存储含有基本常程序的基本输入输出***(basic input/outputsystem;BIOS),该基本常程序有助于在计算机810内的诸组件之间转移信息。计算机810亦可包括其它卸除式/非可卸除、易失性/非易失性计算机存储媒体。
用户可透过诸如键盘及指向装置等常称为鼠标、轨迹球、或触摸板的输入设备将命令及信息输入到计算机810内。
计算机810可使用连至诸如远程计算机870等一或多个其它远程计算机的逻辑联机而在网络链接或分布式环境中操作,该远程计算机可进而具有与装置810不同的媒体功能。
除了前述以外,揭示的专利目标还可实施为方法、设备、或使用典型制造、编程或工程技术的制品,用以产生硬件、固件、软件、或任何其合适的组合以控制用以实施所揭示专利目标的电子装置。计算机可读媒体可包括硬件媒体、或软件媒体,该媒体可包括非暂存媒体或输送媒体。
Claims (13)
1.一种处理器,包含:
加载/存储组件,组构以促进存储器操作,该加载/存储组件还组构以接收带撷取指令的加载并且执行该带撷取指令的加载作为加载操作,后面跟着数据存储器的屏障操作,该数据存储器的屏障操作取代撷取一组加载撷取语意。
2.如权利要求1所述的处理器,其中,该数据存储器的屏障操作将存储器操作定序,该存储器操作包含出现于该屏障操作之前的第一组存储器操作以及出现于该屏障操作之后的第二组存储器操作。
3.如权利要求1所述的处理器,其中,
该加载操作指定用于自该存储器存取第一数据的地址;以及
该带撷取指令的加载包含多种带撷取指令的加载的类型其中至少一者。
4.如权利要求1所述的处理器,其中,该处理器为精简指令集运算(RISC)处理器。
5.如权利要求1所述的处理器,其中,该处理器为进阶精简指令集运算机器(ARM)处理器。
6.如权利要求1所述的处理器,其中,该带撷取指令的加载为无撷取指令加载。
7.如权利要求1所述的处理器,其中,该处理器为服务器处理器,组构以执行与一或多个网络可交互运作客户端相关联的客户端请求。
8.一种处理器,包含:
加载/存储组件,组构以促进存储器操作,该加载/存储组件还组构以接收带释放指令的存储并且执行该带释放指令的存储,其中,执行该带释放指令的存储包含第一数据存储器的屏障操作,后面跟着存储操作,后面跟着第二数据存储器的屏障操作,该第二数据存储器的屏障操作取代撷取一组存储释放语意。
9.如权利要求8所述的处理器,其中,
该第一数据存储器的屏障操作与该第二数据存储器的屏障操作将存储器操作定序,该存储器操作包含出现于该第一数据存储器的屏障操作与该第二数据存储器的屏障操作之前的第一组存储器操作以及出现于该第一数据存储器的屏障操作与该第二数据存储器的屏障操作之后的第二组存储器操作;以及
该存储操作指定用于写入第一数据至存储器的地址。
10.如权利要求8所述的处理器,其中,该处理器为精简指令集运算(RISC)处理器。
11.如权利要求10所述的处理器,其中,该处理器为进阶精简指令集运算机器(ARM)处理器。
12.如权利要求8所述的处理器,其中,该带释放指令的存储为无释放指令存储。
13.如权利要求8所述的处理器,其中,该处理器为服务器处理器,组构以执行与一或多个网络可交互运作客户端相关联的客户端请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999320.5A CN110795150A (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999320.5A CN110795150A (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
PCT/US2015/041322 WO2017014752A1 (en) | 2015-07-21 | 2015-07-21 | Implementation of load acquire/store release instructions using load/store operation with dmb operation |
CN201580082189.6A CN108139903B (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580082189.6A Division CN108139903B (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110795150A true CN110795150A (zh) | 2020-02-14 |
Family
ID=57835180
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580082189.6A Expired - Fee Related CN108139903B (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
CN201910999320.5A Pending CN110795150A (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580082189.6A Expired - Fee Related CN108139903B (zh) | 2015-07-21 | 2015-07-21 | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3326059A4 (zh) |
JP (1) | JP6739513B2 (zh) |
CN (2) | CN108139903B (zh) |
WO (1) | WO2017014752A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11175924B2 (en) | 2017-10-06 | 2021-11-16 | International Business Machines Corporation | Load-store unit with partitioned reorder queues with single cam port |
US10572256B2 (en) | 2017-10-06 | 2020-02-25 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
US10417002B2 (en) | 2017-10-06 | 2019-09-17 | International Business Machines Corporation | Hazard detection of out-of-order execution of load and store instructions in processors without using real addresses |
US10606591B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
US10606590B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Effective address based load store unit in out of order processors |
US10394558B2 (en) | 2017-10-06 | 2019-08-27 | International Business Machines Corporation | Executing load-store operations without address translation hardware per load-store unit port |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181891A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 共有メモリアクセス順序保証方式 |
US20050273583A1 (en) * | 2004-06-02 | 2005-12-08 | Paul Caprioli | Method and apparatus for enforcing membar instruction semantics in an execute-ahead processor |
CN101828173A (zh) * | 2007-10-18 | 2010-09-08 | Nxp股份有限公司 | 具有多个处理器、缓存电路和共享存储器的数据处理*** |
US20150046652A1 (en) * | 2013-08-07 | 2015-02-12 | Advanced Micro Devices, Inc. | Write combining cache microarchitecture for synchronization events |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302200A (ja) * | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
US7552317B2 (en) * | 2004-05-04 | 2009-06-23 | Sun Microsystems, Inc. | Methods and systems for grouping instructions using memory barrier instructions |
US7725618B2 (en) * | 2004-07-29 | 2010-05-25 | International Business Machines Corporation | Memory barriers primitives in an asymmetric heterogeneous multiprocessor environment |
US8060482B2 (en) * | 2006-12-28 | 2011-11-15 | Intel Corporation | Efficient and consistent software transactional memory |
GB2461716A (en) * | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
US8997103B2 (en) * | 2009-09-25 | 2015-03-31 | Nvidia Corporation | N-way memory barrier operation coalescing |
US8935513B2 (en) * | 2012-02-08 | 2015-01-13 | International Business Machines Corporation | Processor performance improvement for instruction sequences that include barrier instructions |
US9582276B2 (en) * | 2012-09-27 | 2017-02-28 | Apple Inc. | Processor and method for implementing barrier operation using speculative and architectural color values |
US9442755B2 (en) * | 2013-03-15 | 2016-09-13 | Nvidia Corporation | System and method for hardware scheduling of indexed barriers |
-
2015
- 2015-07-21 EP EP15899072.1A patent/EP3326059A4/en active Pending
- 2015-07-21 CN CN201580082189.6A patent/CN108139903B/zh not_active Expired - Fee Related
- 2015-07-21 WO PCT/US2015/041322 patent/WO2017014752A1/en unknown
- 2015-07-21 CN CN201910999320.5A patent/CN110795150A/zh active Pending
- 2015-07-21 JP JP2018502709A patent/JP6739513B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181891A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 共有メモリアクセス順序保証方式 |
US20050273583A1 (en) * | 2004-06-02 | 2005-12-08 | Paul Caprioli | Method and apparatus for enforcing membar instruction semantics in an execute-ahead processor |
CN101828173A (zh) * | 2007-10-18 | 2010-09-08 | Nxp股份有限公司 | 具有多个处理器、缓存电路和共享存储器的数据处理*** |
US20150046652A1 (en) * | 2013-08-07 | 2015-02-12 | Advanced Micro Devices, Inc. | Write combining cache microarchitecture for synchronization events |
Non-Patent Citations (2)
Title |
---|
JEFF PRESHING: ""Acquire and Release Semantics"", 《HTTPS://PRESHING.COM/20120913/ACQUIRE-AND-RELEASE-SEMANTICS/》, pages 1 - 18 * |
LISA HIGHAM等: "Programmer-Centric Conditions for Itanium Memory Consistency", pages 58 * |
Also Published As
Publication number | Publication date |
---|---|
CN108139903B (zh) | 2019-11-15 |
CN108139903A (zh) | 2018-06-08 |
JP2018523235A (ja) | 2018-08-16 |
JP6739513B2 (ja) | 2020-08-12 |
EP3326059A1 (en) | 2018-05-30 |
EP3326059A4 (en) | 2019-04-17 |
WO2017014752A1 (en) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108139903B (zh) | 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 | |
US11003489B2 (en) | Cause exception message broadcast between processing cores of a GPU in response to indication of exception event | |
JP5934094B2 (ja) | データ並列スレッドを有する処理論理の複数のプロセッサにわたるマッピング | |
DE112017001825T5 (de) | Prozessoren, verfahren, systeme und instruktionen zum atomischen speichern von daten, die breiter als eine nativ unterstützte datenbreite sind, in einem speicher | |
CN107479981B (zh) | 一种基于异步调用实现同步调用的处理方法及装置 | |
US20130231912A1 (en) | Method, system, and scheduler for simulating multiple processors in parallel | |
CN111459618A (zh) | 虚拟化环境中的智能gpu调度 | |
US10540150B2 (en) | Composable context menus | |
US9703905B2 (en) | Method and system for simulating multiple processors in parallel and scheduler | |
US20150277405A1 (en) | Production plan display method, production plan support method, production plan display apparatus, production plan support apparatus, and recording medium | |
WO2019118271A1 (en) | Parallel multivalue reductions | |
DE112013007703T5 (de) | Befehl und Logik zum Kennzeichnen von Befehlen zur Rückordnung in einem mehrsträngigen Out-of-order-Prozessor | |
DE102015007423A1 (de) | Speichersequentialisierung mit kohärenten und nicht kohärenten Teilsystemen | |
US20180067859A1 (en) | Selective allocation of cpu cache slices to database objects | |
CN102508715B (zh) | 一种基于多线程的对象调用方法和装置 | |
EP2988469B1 (en) | A method and apparatus for updating a user interface of one program unit in response to an interaction with a user interface of another program unit | |
US10713085B2 (en) | Asynchronous sequential processing execution | |
CN102867018A (zh) | 一种数据库***中线程间的模拟信号通信方法 | |
CN102736949A (zh) | 改善对非连贯设备要执行的任务的调度 | |
EP3131004A1 (en) | Processor and method | |
US20210055971A1 (en) | Method and node for managing a request for hardware acceleration by means of an accelerator device | |
Khot | Parallelization in Python | |
CN103714511A (zh) | 一种基于gpu的分支处理方法及装置 | |
WO2017019054A1 (en) | Systems and methods facilitating multi-word atomic operation support for system on chip environments | |
CN105446822A (zh) | 基于Linux的软件异常处理***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |