CN108139903A - 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 - Google Patents

依dmb操作用加载/存储操作实施加载撷取/存储释放指令 Download PDF

Info

Publication number
CN108139903A
CN108139903A CN201580082189.6A CN201580082189A CN108139903A CN 108139903 A CN108139903 A CN 108139903A CN 201580082189 A CN201580082189 A CN 201580082189A CN 108139903 A CN108139903 A CN 108139903A
Authority
CN
China
Prior art keywords
memory
load
store
barrier
data
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.)
Granted
Application number
CN201580082189.6A
Other languages
English (en)
Other versions
CN108139903B (zh
Inventor
M·阿什克拉夫特
C·纳尔逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denver Intermediate Holdings LLC
Original Assignee
MACOM Connectivity Solutions LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MACOM Connectivity Solutions LLC filed Critical MACOM Connectivity Solutions LLC
Priority to CN201910999320.5A priority Critical patent/CN110795150A/zh
Publication of CN108139903A publication Critical patent/CN108139903A/zh
Application granted granted Critical
Publication of CN108139903B publication Critical patent/CN108139903B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation 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)
  • Advance Control (AREA)
  • Stored Programmes (AREA)

Abstract

提供用于将精简指令集运算(RISC)中使用的加载撷取与存储释放语意简化的系统及方法。将该语意转译成用于实施复杂机器指令的微操作、或低阶指令,可避免必须实施复杂的新存储器操作。当数据存储器屏障确保居前指令是在执行后续指令之前先进行及完成时,搭配加载与存储操作使用一或多个数据存储器的屏障操作可提供充分定序。

Description

依DMB操作用加载/存储操作实施加载撷取/存储释放指令
技术领域
本揭露关于运算环境中的存储器操作定序(memory operation ordering)。
背景技术
在无锁定运算中,有两种可供线程(threads)操纵共享存储器的方式,这两种方式可互相竞争资源,或可采协同方式将信息自一条线程传递至另一线程。撷取与释放语意用于达成采协同方式将信息自一条线程传递至另一线程。撷取与释放语意提供用于确保将存储器操作正确定序以避免错误的结构化系统。存储释放(store release)指令确保所有在前的指令都已完成,而加载撷取(load acquire)指令确保所有在后的指令都将只在其完成之后才会完成。为了适当地使用撷取与释放语意将存储器操作定序,存储释放与加载撷取指令的复杂组合是必要的。
发明内容
本文中所揭示的是用于将精简指令集运算(reduced instruction setcomputing;RISC)中使用的加载撷取与存储释放语意简化的系统及方法。具体实施例是用来就本文中所揭示的指令将存储器操作定序。典型的带撷取指令的加载仅要求带撷取的加载之后的存储器操作是在带撷取的加载之后才予以定序,带撷取的加载之前未先对该指令施加任何定序(两者是关于带撷取的加载及关于后续指令)。在一具体实施例中,带撷取的加载包含搭配加载操作所使用的数据存储器屏障,其保证在自该带撷取的加载后的指令进行的所有存取之前,先将该带撷取的加载前且包括该带撷取的加载的所有存取全部定序。
类似的是,传统的带释放指令的存储在自带释放的存储进行的存取与所有居前指令(但非后续指令)的存取之间施加定序。然而,在一具体实施例中,带释放的存储开始时的数据存储器屏障在居前存取与带释放的存储相关联存取之间提供强式定序。
在一具体实施例中,一种系统包含执行计算机可执行指令以进行操作的处理器。该指令可包括进行存储器操作定序的带撷取指令的加载,其中,该带撷取指令的加载包含加载操作,后面跟着数据存储器的屏障操作。
在另一具体实施例中,一种方法包含在处理器中执行指令。该方法可包括用于进行存储器操作定序的带撷取指令的加载,其中,执行该带撷取指令的加载包含执行加载操作,后面跟着数据存储器的屏障操作。
在一具体实施例中,一种系统包含执行计算机可执行指令以进行操作的处理器。该指令可包括进行存储器操作定序的带释放指令的存储,其中,该带释放指令的存储包含第一数据存储器的屏障操作,后面跟着存储操作,后面跟着第二数据存储器的屏障操作。
在一具体实施例中,一种方法包含在处理器中执行指令。该方法可包括用于进行存储器操作定序的带释放指令的存储,其中,执行该带释放指令的存储包含执行第一数据存储器的屏障操作,后面跟着执行存储操作,后面跟着执行第二数据存储器的屏障操作。
附图说明
图1为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的系统的一具体实施例。
图2为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的系统的一具体实施例。
图3为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的系统的一具体实施例。
图4为一方块图,其根据本文所述的各项态样绘示筛选存储器操作的系统的一具体实施例。
图5绘示用于执行带撷取指令的加载的方法的一具体实施例的流程图。
图6绘示用于执行带释放指令的存储的方法的一具体实施例的流程图。
图7绘示用于使用数据存储器屏障来筛选存储器操作的方法的一具体实施例的流程图。
图8绘示可搭配本文所述的一或多项态样来实施的电子运算环境的方块图。
图9绘示可搭配本文所述各项态样来操作的数据通讯网络的方块图。
具体实施方式
各项具体实施例针对将精简指令集运算(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 (10)

1.一种执行计算机可执行指令以进行操作的处理器,该指令包含:
进行存储器操作定序的带撷取指令的加载,其中,该带撷取指令的加载包含加载操作,后面跟着数据存储器的屏障操作。
2.如权利要求1所述的处理器,其中,该数据存储器的屏障操作将存储器操作定序,该存储器操作包含出现于该屏障操作之前的第一组存储器操作以及出现于该屏障操作之后的第二组存储器操作。
3.如权利要求1所述的处理器,其中,
该加载操作指定用于自该存储器存取第一数据的地址;
该带撷取指令的加载包含多种带撷取指令的加载的类型其中至少一者;以及
该数据存储器的屏障操作取代一组加载撷取语意以供存储器操作定序之用。
4.一种用于在处理器中执行指令的方法,其包含:
执行用于进行存储器操作定序的带撷取指令的加载,其中,执行该带撷取指令的加载包含执行加载操作,后面跟着数据存储器的屏障操作。
5.如权利要求4所述的方法,其更包含执行多种带撷取指令的加载的类型;其中,
执行该数据存储器的屏障操作取代一组加载撷取语意以供存储器操作定序之用;以及
该加载操作指定用于自该存储器存取第一数据的地址。
6.如权利要求4所述的方法,其中,该数据存储器的屏障操作将存储器操作定序,该存储器操作包含出现于该屏障操作之前的第一组存储器操作以及出现于该屏障操作之后的第二组存储器操作。
7.一种执行计算机可执行指令以进行操作的处理器,该指令包含:
进行存储器操作定序的带释放指令的存储,其中,该带释放指令的存储包含第一数据存储器的屏障操作,后面跟着存储操作,后面跟着第二数据存储器的屏障操作。
8.如权利要求7所述的处理器,其中,
该第一数据存储器的屏障操作与该第二数据存储器的屏障操作将存储器操作定序,该存储器操作包含出现于该屏障操作之前的第一组存储器操作以及出现于该屏障操作之后的第二组存储器操作;
该存储操作指定用于将第一数据写入至存储器的地址;以及
该指令更包含多种带释放指令的存储的类型。
9.一种用于在处理器中执行指令的方法,其包含:
执行用于进行存储器操作定序的带释放指令的存储,其中,执行该带释放指令的存储包含执行第一数据存储器的屏障操作,后面跟着执行存储操作,后面跟着执行第二数据存储器的屏障操作。
10.如权利要求9所述的方法,其更包含执行多种带释放指令的存储的类型;其中,
执行该第一数据存储器的屏障操作与该第二数据存储器的屏障操作将存储器操作定序,该存储器操作包含出现于该屏障操作之前的第一组存储器存取以及出现于该屏障操作之后的第二组存储器存取;以及
在执行带撷取指令的加载之前先执行该第二数据存储器的屏障操作确保该指令按照程序顺序来观察。
CN201580082189.6A 2015-07-21 2015-07-21 依dmb操作用加载/存储操作实施加载撷取/存储释放指令 Expired - Fee Related CN108139903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910999320.5A CN110795150A (zh) 2015-07-21 2015-07-21 依dmb操作用加载/存储操作实施加载撷取/存储释放指令

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910999320.5A Division CN110795150A (zh) 2015-07-21 2015-07-21 依dmb操作用加载/存储操作实施加载撷取/存储释放指令

Publications (2)

Publication Number Publication Date
CN108139903A true CN108139903A (zh) 2018-06-08
CN108139903B CN108139903B (zh) 2019-11-15

Family

ID=57835180

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910999320.5A Pending CN110795150A (zh) 2015-07-21 2015-07-21 依dmb操作用加载/存储操作实施加载撷取/存储释放指令
CN201580082189.6A Expired - Fee Related CN108139903B (zh) 2015-07-21 2015-07-21 依dmb操作用加载/存储操作实施加载撷取/存储释放指令

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910999320.5A Pending CN110795150A (zh) 2015-07-21 2015-07-21 依dmb操作用加载/存储操作实施加载撷取/存储释放指令

Country Status (4)

Country Link
EP (1) EP3326059A4 (zh)
JP (1) JP6739513B2 (zh)
CN (2) CN110795150A (zh)
WO (1) WO2017014752A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10606590B2 (en) 2017-10-06 2020-03-31 International Business Machines Corporation Effective address based load store unit in out of order processors
US11175924B2 (en) 2017-10-06 2021-11-16 International Business Machines Corporation Load-store unit with partitioned reorder queues with single cam port
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
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
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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0679993A2 (en) * 1994-04-28 1995-11-02 Hewlett-Packard Company A computer apparatus having special instructions to force ordered load and store operations
JP2005332387A (ja) * 2004-05-04 2005-12-02 Sun Microsyst Inc メモリ命令をグループ化及び管理する方法及びシステム
US20050273583A1 (en) * 2004-06-02 2005-12-08 Paul Caprioli Method and apparatus for enforcing membar instruction semantics in an execute-ahead processor
CN101052954A (zh) * 2004-07-29 2007-10-10 索尼计算机娱乐公司 不对称型异构多处理器环境中的存储器屏障原语
US20080163220A1 (en) * 2006-12-28 2008-07-03 Cheng Wang Efficient and consistent software transactional memory
US20100077143A1 (en) * 2008-07-09 2010-03-25 Arm Limited Monitoring a data processing apparatus and summarising the monitoring data
US20120198214A1 (en) * 2009-09-25 2012-08-02 Shirish Gadre N-way memory barrier operation coalescing
US20140089589A1 (en) * 2012-09-27 2014-03-27 Apple Inc. Barrier colors
CN104050033A (zh) * 2013-03-15 2014-09-17 辉达公司 用于有索引的屏障的硬件调度的系统和方法
CN104106043A (zh) * 2012-02-08 2014-10-15 国际商业机器公司 用于包括屏障指令的指令序列的处理器性能改进
US20150046652A1 (en) * 2013-08-07 2015-02-12 Advanced Micro Devices, Inc. Write combining cache microarchitecture for synchronization events

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181891A (ja) * 1998-12-18 2000-06-30 Hitachi Ltd 共有メモリアクセス順序保証方式
WO2009050644A1 (en) * 2007-10-18 2009-04-23 Nxp B.V. Data processing system with a plurality of processors, cache circuits and a shared memory

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0679993A2 (en) * 1994-04-28 1995-11-02 Hewlett-Packard Company A computer apparatus having special instructions to force ordered load and store operations
JP2005332387A (ja) * 2004-05-04 2005-12-02 Sun Microsyst Inc メモリ命令をグループ化及び管理する方法及びシステム
US20050273583A1 (en) * 2004-06-02 2005-12-08 Paul Caprioli Method and apparatus for enforcing membar instruction semantics in an execute-ahead processor
CN101052954A (zh) * 2004-07-29 2007-10-10 索尼计算机娱乐公司 不对称型异构多处理器环境中的存储器屏障原语
US20080163220A1 (en) * 2006-12-28 2008-07-03 Cheng Wang Efficient and consistent software transactional memory
US20100077143A1 (en) * 2008-07-09 2010-03-25 Arm Limited Monitoring a data processing apparatus and summarising the monitoring data
US20120198214A1 (en) * 2009-09-25 2012-08-02 Shirish Gadre N-way memory barrier operation coalescing
CN104106043A (zh) * 2012-02-08 2014-10-15 国际商业机器公司 用于包括屏障指令的指令序列的处理器性能改进
US20140089589A1 (en) * 2012-09-27 2014-03-27 Apple Inc. Barrier colors
CN104050033A (zh) * 2013-03-15 2014-09-17 辉达公司 用于有索引的屏障的硬件调度的系统和方法
US20150046652A1 (en) * 2013-08-07 2015-02-12 Advanced Micro Devices, Inc. Write combining cache microarchitecture for synchronization events

Also Published As

Publication number Publication date
EP3326059A4 (en) 2019-04-17
CN110795150A (zh) 2020-02-14
JP6739513B2 (ja) 2020-08-12
EP3326059A1 (en) 2018-05-30
CN108139903B (zh) 2019-11-15
WO2017014752A1 (en) 2017-01-26
JP2018523235A (ja) 2018-08-16

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
CN109144515B (zh) Dcs图形化算法组态的离线仿真方法和装置
CN100511156C (zh) 强制性地终止输入/输出操作阻止的线程的设备和方法
CN103605568A (zh) 一种多线程管理方法及装置
CN105843819B (zh) 一种数据导出方法及装置
US9720819B2 (en) Concurrent, moving, garbage collector
CN107479981B (zh) 一种基于异步调用实现同步调用的处理方法及装置
US20180046474A1 (en) Method for executing child kernels invoked on device side utilizing dynamic kernel consolidation and related non-transitory computer readable medium
US9170786B1 (en) Composable context menus
CN103793249A (zh) 一种Java虚拟机中类库的多线程预加载方法
CN104823155A (zh) 基于存储器的旗语
DE102015107875A1 (de) Decodieren von Anweisungen, die von einer oder mehreren anderen Anweisungen modifiziert werden
EP3506101A2 (en) System and method for controlled data extraction in computer networks
US20150347162A1 (en) Prelinked embedding
EP3580652A1 (en) Parallel multivalue reductions
US9652416B2 (en) Storage device for performing in-storage computing operations, method of operation the same, and system including the same
US9542299B2 (en) Processing core data produced by a computer process
US8117425B2 (en) Multithread processor and method of synchronization operations among threads to be used in same
CN102508715B (zh) 一种基于多线程的对象调用方法和装置
US11281477B2 (en) Assigning computing resources to execution of evaluators for image animation
US10198261B2 (en) Flexible framework to support memory synchronization operations
US11194885B1 (en) Incremental document object model updating
US11513798B1 (en) Implementation of load acquire/store release instructions using load/store operation with DMB operation
US10713085B2 (en) Asynchronous sequential processing execution

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Ampere Computing Co.,Ltd.

Address before: California, USA

Applicant before: Denver intermediate holdings LLC

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20180810

Address after: California, USA

Applicant after: Denver intermediate holdings LLC

Address before: Massachusetts, USA

Applicant before: APPLIED MICRO CIRCUITS Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191115

Termination date: 20200721

CF01 Termination of patent right due to non-payment of annual fee