CN103975314A - 横跨多个存储器区的强有序、装置及互斥事务的自动排序 - Google Patents

横跨多个存储器区的强有序、装置及互斥事务的自动排序 Download PDF

Info

Publication number
CN103975314A
CN103975314A CN201280060318.8A CN201280060318A CN103975314A CN 103975314 A CN103975314 A CN 103975314A CN 201280060318 A CN201280060318 A CN 201280060318A CN 103975314 A CN103975314 A CN 103975314A
Authority
CN
China
Prior art keywords
memory
requests
memory requests
stream
request
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
CN201280060318.8A
Other languages
English (en)
Other versions
CN103975314B (zh
Inventor
贾森·劳伦斯·帕纳维赫
詹姆斯·诺里斯·迪芬德尔费尔
托马斯·安德鲁·萨托里乌斯
托马斯·菲利普·施派尔
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103975314A publication Critical patent/CN103975314A/zh
Application granted granted Critical
Publication of CN103975314B publication Critical patent/CN103975314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Abstract

描述用于控制弱有序存储系统中的有序存取的有效技术。将存储器请求流分裂成两个或两个以上存储器请求流,且针对每一存储器请求递增存储器存取计数器。在所述两个或两个以上存储器请求流中的一者中识别需要有序存储器存取的存储器请求。在确定来自不同存储器请求流的先前存储器请求为未决之后,便停止需要有序存储器存取的所述存储器请求。针对经保证完成的每一存储器请求递减所述存储器存取计数器。不同于所述存储器存取计数器的初始化状态的所述存储器存取计数器中的计数值指示存在未决存储器请求。在确定不存在其它未决存储器请求之后便处理需要有序存储器存取的所述存储器请求。

Description

横跨多个存储器区的强有序、装置及互斥事务的自动排序
技术领域
本发明大体上涉及处理系统,且更特定来说,涉及用于维持强有序操作、装置存储器操作及互斥存取请求的次序以用于控制弱有序存储系统中的原子操作的技术。
背景技术
例如手机、膝上型计算机、平板个人计算机(PC)、个人数据助理(PDA)等许多便携式产品并有具有一或多个处理器的处理系统,所述处理器执行支持通信及多媒体应用的程序。此些产品的处理系统还可包含用于存储指令及数据的复杂存储器系统、控制器及经配置以经由一或多个总线与处理器及存储器介接的外围装置。
在此些处理系统中,处理器经常通过允许不按次序执行存储器操作而带来性能方面的好处。举例来说,可重新排序存储器操作的序列以允许在打开新的页之前执行到存储器中的相同页的所述操作。被允许重新排序存储器操作的处理系统通常被称作“弱有序”处理系统。
在某些情况下,存储器操作的重新排序可不可预测地影响程序行为。举例来说,总线主控器按先进先出(FIFO)将数据写入到外围装置(例如,以太网控制器),且在上一数据写入后跟着到同一外围装置的控制寄存器的写入,其指示可发射数据。如果重新排序到控制寄存器的写入及到数据寄存器的写入,那么将发射不完整包。
在另一实例中,应用程序可需要第一处理器在第一存储器地址处开始写入数据块,及将数据就绪旗标写入到第二存储器地址,其指示存储所述数据块。第二处理器将监视数据就绪旗标,且当旗标指示已存储数据时,读取数据块。在弱有序处理系统中,并不保证将出现此操作次序,所述操作次序可为不可接受的。而且,在弱有序处理系统中,除了处理器之外的外围装置还可用作总线主控器,所述总线主控器用于将数据发送到存储器及从存储器接收数据,这可进一步使维持程序存储操作的次序复杂化。
已使用各种技术来执行弱有序处理系统中的有序存储器操作。一个技术将使用被称作屏障命令的总线命令,在需要有序存储器操作时发出所述总线命令。屏障命令可用以确保在执行由处理器在屏障命令之后发出的任何存储器存取请求之前,完成由处理器在屏障命令之前发出的所有存储器存取请求。再次,在先前实例中,屏障命令可由第一处理器在写入数据就绪旗标之前发出。此屏障命令将确保在写入确保第二处理器读取新存储的数据的数据就绪旗标之前将数据块写入到存储器。
一些处理器、外围装置及总线实施方案可不辨识屏障命令。将限制利用屏障命令的弱有序处理系统以免使用此些处理器、外围装置及总线。为了方便起见,弱有序处理系统可不有效地执行。另外,在不支持屏障的系统中执行屏障命令通常效率不高且过分耗费时间。在以上实例中,仅需要排序到数据的写入及旗标,但除了数据及旗标之外,屏障命令还排序所有存储器操作。
发明内容
在其若干方面当中,本发明认识到提供用于控制弱有序存储系统中的有序存取的更有效方法及设备可改进性能且减少处理系统中的电力要求。为此,本发明的实施例提出了一种用于排序需要有序存储器存取的存储器请求的方法。将存储器请求流分裂成两个或两个以上存储器请求流。在两个或两个以上存储器请求流中的一者中识别需要有序存储器存取的存储器请求。在确定来自不同存储器请求流的先前存储器请求为未决之后,便停止需要有序存储器存取的存储器请求。
另一实施例提出了一种用于排序需要有序存储器存取的存储器请求的设备。流分裂电路经配置以监视第一存储器请求流,且经配置以将第一存储器请求流分裂成第二存储器请求流及第三存储器请求流。跟踪电路经配置以检测来自第二存储器请求流的需要有序存储器存取的存储器请求,所述第二存储器请求流为不同于具有未决存储器请求的第三存储器请求流的存储器请求流。停止电路经配置以响应于未决存储器请求而停止需要有序存储器存取的第二存储器请求流,直到保证按次序完成未决存储器请求为止。
另一实施例提出了一种用于排序存储器存取的设备。开关及控制电路经配置以将存储器请求流分裂成根据与两个或两个以上对应总线端口相关联的属性而被引导到对应总线端口的两个或两个以上存储器请求流。跟踪电路经配置以检测第一存储器请求流中的需要有序存储器存取的存储器请求,及检测第二存储器请求流中的一或多个未决存储器请求。停止电路经配置以停止有序存储器存取请求直到跟踪电路指示不再存在未决存储器请求为止。
另一实施例提出了一种借助于用于操作系统的计算机可读程序数据及代码来编码的计算机可读非暂时性媒体。将存储器请求流分裂成两个或两个以上存储器请求流。在两个或两个以上存储器请求流中的一者中识别需要有序存储器存取的存储器请求。在确定来自不同存储器请求流的先前存储器请求为未决之后,便停止需要有序存储器存取的存储器请求。
另一实施例提出了一种用于排序需要有序存储器存取的存储器请求的设备。装置用于监视第一存储器请求流,及用于将第一存储器请求流分裂成第二存储器请求流及第三存储器请求流。装置用于检测来自第二存储器请求流的需要有序存储器存取的存储器请求,所述第二存储器请求流为不同于具有未决存储器请求的第三存储器请求流的存储器请求流。装置用于响应于未决存储器请求而停止需要有序存储器存取的第二存储器请求流,直到保证按次序完成未决存储器请求为止。
另一实施例提出了一种用于排序存储器存取的设备。装置用于将存储器请求流分裂成根据与两个或两个以上对应总线端口相关联的属性而被引导到对应总线端口的两个或两个以上存储器请求流。装置用于检测第一存储器请求流中的需要有序存储器存取的存储器请求,及用于检测第二存储器请求流中的一或多个未决存储器请求。装置用于停止有序存储器存取请求直到跟踪电路指示不再存在未决存储器请求为止。
应理解,所属领域的技术人员从以下详细描述将容易明白本发明的其它实施例,其中借助于说明来展示和描述本发明的各种实施例。将认识到本发明能够具有其它及不同实施例,且其若干细节能够在各种其它方面进行修改,而皆不脱离本发明的精神及范围。因此,附图和具体实施方式应被视为本质上是说明性的而不是限制性的。
附图说明
在附图中,本发明的各种方面通过实例来说明,且不受限制,其中:
图1说明可有利地使用本发明的实施例的无线通信系统;
图2A说明经配置以在弱有序存储系统中操作的示范性处理系统,其中可有利地使用本发明的实施例;
图2B说明经配置以协调弱有序存储系统中的强有序及/或载入/存储互斥操作的第二示范性处理系统,其中可有利地使用本发明的实施例;
图3说明经配置以在弱有序存储系统中操作的示范性扩展处理系统,其中可有利地使用本发明的实施例;及
图4说明用于控制弱有序存储系统中的有序存取的示范性过程,其中可有利地使用本发明的实施例。
具体实施方式
下文结合附图而陈述的详细描述意在作为对本发明的各种示范性实施例的描述,而无意表示可实践本发明的仅有实施例。详细描述包含出于提供对本发明的全面理解的目的的特定细节。然而,所属领域的技术人员将显而易见可在无此些特定细节的情况下实践本发明。在一些情况下,按框图形式展示熟知结构及组件以便避免使本发明的概念模糊。
图1说明其中可有利地使用本发明的实施例的示范性无线通信系统100。出于说明的目的,图1展示三个远程单元120、130和150以及两个基站140。将认识到,常见的无线通信系统可具有多得多的远程单元和基站。包含分别由组件125A、125C、125B及125D表示的硬件组件、软件组件或两者的远程单元120、130、150及基站140适于体现本发明,如下文所进一步论述。图1展示从基站140到远程单元120、130及150的前向链路信号180及从远程单元120、130及150到基站140的反向链路信号190。
在图1中,将远程单元120展示为移动电话,将远程单元130展示为便携式计算机,且将远程单元150展示为无线本地回路系统中的固定位置远程单元。举例来说,远程单元可替代地为手机、寻呼机、对讲机、手持式个人通信系统(PCS)单元、例如个人数据助理等便携式数据单元,或例如仪表读取设备等固定位置数据单元。尽管图1说明根据本发明的教示的远程单元,但本发明不限于这些示范性说明的单元。本发明的实施例可合适的应用于与弱有序存储子系统一起操作的任何处理系统中。
用以确保按程序次序执行存储器操作的一种技术将使用存储器屏障指令,其确保由预屏障指令引起的所有存储器存取经确认在观察由后屏障指令引起的存储器存取的所述代理之前按次序完成。举例来说,可利用总线架构,其保证用于地址在指定存储器区或存储器块大小内的所述请求的弱有序存储器系统中的强有序(SO)及装置(DV)存储器操作的严格程序排序。以如下文更详细描述及参考为SO/DV存储器请求的类似方式来处理强有序(SO)请求及装置(DV)存储器请求。然而,在此系统中,并不保证对不同存储器区的SO/DV存储器请求相对于彼此为有序的。结果,需要软件通过在对不同存储器区的SO/DV请求(需要严格程序排序来保证其正确操作)之间插入屏障指令来加强SO/DV请求的排序约束。然而,确定将屏障指令放置于何处并不容易,从而导致开发出这样的代码:在需要之处没有屏障指令,且在不需要其来保证正确操作之处具有屏障指令。
处理器可使用如下文关于图2A所描述的技术来实现改进的性能及保证SO/DV存储器请求的正确操作。图2A展示经配置以在弱有序存储系统中操作的示范性处理系统200,所述处理系统可合适地体现于图1的组件125A、125C、125B及125D中。处理系统200包含主存储器202及经由总线桥204耦合到主存储器202及外部装置242及244的系统核心203。系统核心203包括处理器206、1级指令高速缓冲存储器(L1I-cache)208、1级数据高速缓冲存储器(L1D-cache)210及总线及存储器管理单元(BMMU)212。BMMU212包含主控器端口0(MP0)216、主控器端口1(MP1)217、2级统一高速缓冲存储器(L2高速缓冲存储器)220及路径及计数电路222。路径及计数电路222包含开关224、用于处理器请求的计数器电路(countP)226、控制电路228、缓冲器(bfr)230及用于外部装置请求的计数器电路(countE)232作为用于控制弱有序存储系统中的有序存取的可配置元件。主存储器202包括双数据速率0(DDR0)存储器装置234及DDR1存储器装置236。外部装置包含外部装置X242(例如,DDRx存储器)及充当总线主控器且具有内部处理器及本地存储器的外部装置Y244。总线桥204提供从MP0216经由路径250到DDR0存储器装置234的直接路径及从MP1217经由路径252到DDR1存储器装置236的直接路径。总线桥204还提供如下文更详细描述的示范性路径257到259。
处理器206及外部装置Y244可各自实施为总线主控装置,例如通用处理器或多处理器、数字信号处理器(DSP)、特殊应用处理器(ASP)等等。例如外部装置Y244等外部外围装置可为存储器装置、存储器控制器、用于互连到另一总线互连装置的桥装置、外围装置,例如硬盘控制器、通用串行总线(USB)控制器、交互式显示装置、将控制器耦合到发射器及接收器的无线电装置等等。外部装置Y244还可利用直接存储器存取(DMA)技术来读取或写入数据到主存储器202。
例如,处理器206及外部装置Y244可经配置以在存储于非暂时性计算机可读存储媒体上的程序的控制下执行指令。举例来说,计算机可读存储媒体可在本地与处理器206或外部装置Y244直接相关联(例如,可经由指令高速缓冲存储器208及220、与外部装置Y244相关联的本地存储器中的一者可用),或可由外部装置Y244经由总线桥204来存取。处理器206可在执行程序时存取来自主存储器202的数据。外部装置Y244还可存取驻存在存储器装置中的数据,所述存储器装置在本地与每一外部装置直接相关联,或可从例如DDR0存储器装置234等另一处理器存储器装置经由总线桥204来存取。
总线桥204管理总线流通量且提供系统核心203、外部装置Y244、主存储器202及例如外部装置X242等其它外围装置之间的连接路径。举例来说,总线桥204可经配置以具有分别在MP0216与MP1217之间及在DDR0存储器装置234与DDR1存储器装置236之间的专用信道。虽然图2A展示了两个存储器装置(DDR0234及DDR1236),但单个存储器装置可供两个主控器端口MP0216及MP1217使用,以利用两个主控器端口之间的交错式存取。还注意到即使不使用交错式存取,仍可使用一或多个主控器端口(MP)。举例来说,如果主存储器202经实施为单个带端口存储器装置,那么仍可将请求从MP0216及MP1217发出到单个带端口存储器装置。因为来自MP0216及MP1217的存储器存取请求在存取外部装置X242时及在存取单个带端口主存储器装置时重新聚合,所以存储器请求可在不使用本发明的技术的情况下不按程序次序。
当桥204确认存储器请求时,确认向请求装置担保对目标外部装置的请求将按所需要的次序完成。因此当经由MP0216递送SO/DV存储器请求时,停止对MP1的任何新SO/DV请求直到对MP0的请求接收到此确认为止。应注意对读取请求及写入请求的确认是不同的,但系统会等待适当的响应。来自桥204的确认可不向处理器206指示已完成请求,但其足以指示例如外部从装置将在其观察到来自MP1的存储器存取之前观察到来自MP0的存储器存取。在一些系统中,确认实际上可为完成指示。在本实施方案中,确认表示存储器请求到达系统中的保证程序排序的点的保证。举例来说,BMMU212分裂存储器请求流,及接着将请求流(路径257及258)重新聚合到外部装置,例如外部装置X242中的DDR-X存储器或例如单个带端口主存储器装置。当在路径257及258中的一者上提出请求时,通过停止对路径257及258中的另一者的请求,进入开关224的SO/DV存储器请求的次序与到达外部装置X242中的DDR-X存储器的次序相同,且还将与到达示范性单个带端口存储器装置的次序相同。甚至在请求离开BMMU212之后,在实际上在目标存储器处接收请求之前可过去一些时间,但BMMU212已完成了其角色以保持次序。
在处理系统200中,总线及存储器管理单元(BMMU)212确保SO/DV存储器存取操作的正确排序。特定来说,示范性装置可利用写入数据、地址及读取数据总线及相关联的控制信号。在许多系统中,可使用组合的写入及读取数据总线。一般来说,取决于特定系统的要求,单独的地址、读取数据及写入数据总线遵照特定总线架构或标准。存储器存取请求可包含响应于存储指令的执行而产生的写入或存储请求、响应于载入指令的执行而产生的读取或载入请求,或可包含存储器屏障命令的总线相关请求。而且,通过定义,SO/DV请求是不可高速缓存的。并不是外部主控器所使用的所有总线接口都支持或辨识存储器屏障命令(即使其是由外部主控器发出)。而且,并不是所有装置都支持存储器屏障命令。
在第一实例中,处理器206产生对主存储器202的存储器请求流,所述存储器请求在bfr230中经缓冲且由开关224分裂到MP0216或MP1217。通过例如基于对指定存储器区内的位置的存储器请求将存储器请求流分裂成多个流,可自动排序流之间的存储器请求而不使用软件技术,例如在处理器所执行的代码中插入存储器屏障命令。举例来说,存储器请求流可基于容量及基于奇数及偶数存储器区地址而分裂,且可自动排序奇数及偶数存储器区之间的存储器请求。通过系统定义,DDR0存储器装置234存储数据的偶数存储器区,其中数据的存储器区具有1KB容量,且存储器请求地址的位10可用以确定存储器请求是针对偶数存储器区中的数据还是奇数存储器区中的数据。DDR1存储器装置236存储数据的奇数寻址存储器区,其各自也具有1KB容量。控制电路228监视存储器请求流及存储器请求地址的位10(在此示范性情形中,针对1KB存储器区)以控制开关224。在存储器请求地址的位10处于第一状态的情况下,将对偶数存储器区的存储器请求传递到MP0216。在存储器请求地址的位10处于第二状态的情况下,将对奇数存储器区的存储器请求传递到MP1217。
在另一实施例中,DDR0存储器装置234存储数据的偶数存储器区,其中数据的存储器区是通过使请求的地址散列来定义的,且散列的结果可用以确定存储器请求是针对偶数存储器区中的数据还是奇数存储器区中的数据。DDR1存储器装置236存储奇数散列存储器区。控制电路228监视存储器请求流,且计算存储器请求地址的散列以控制开关224。在存储器请求地址的散列的结果处于第一状态的情况下,将对偶数存储器区的存储器请求传递到MP0216。在存储器请求地址的散列的结果处于第二状态的情况下,将对奇数存储器区的存储器请求传递到MP1217。
通过监视存储器请求流,可识别及停止在奇数与偶数存储器区之间改变的请求,直到接收到保证按次序完成未决请求的指示为止。跟踪方法使用计数器(例如,计数器countP226),其在接收到每一存储器请求之后即递增,且在接收到指示将按次序完成请求的对请求的响应时递减。当先前存储器装置存在未决存储器请求时在DDR0存储器装置234与DDR1存储器装置236之间改变的新SO/DV存储器请求被停止直到保证完成未决存储器请求为止。停止的存储器请求保持未决直到经启用以进行处理为止。在奇数与偶数存储器区之间改变且停止的SO/DV存储器请求不会使计数器递增。在完成未决请求且计数器适当地递减到初始计数值(例如,零)之后,处理停止的请求,且接着针对正处理的停止的请求递增计数器。因为通过上文所描述的确认而保证存储器请求的奇数地址流内或存储器请求的偶数地址流内的请求按次序完成,所以出于停止对相反流的请求的目的而仅监视在流之间改变的请求。确定请求表示流之间的改变可通过保存指示先前请求或请求序列的存储器请求地址边界不同于当前存储器请求的地址边界的状态而实现。举例来说,对奇数地址1K存储器区的一或多个请求的流可由单个经断言未决流位表示,所述单个经断言未决流位在与当前请求的位10中的零值相比较时指示:如果计数器中存在未决计数,那么可需要停止当前请求。一旦确认未决请求,且计数器返回到其初始状态,便处理停止的请求,且未决流位经撤销断言以指示对偶数地址1K存储器区的请求在进行中或未决。即使SO/DV请求在相同的请求流中,仍监视SO/DV请求以便递增计数器,例如计数器countP226。
例如外部装置Y244等外部主控器装置经配置以用于控制SO/DV请求及监视在对DDR0存储器装置234的偶数地址请求与对DDR1存储器装置236的奇数地址请求之间改变的请求的类似方式操作。监视由外部装置Y244发出的存储器请求流,且由控制电路228控制开关224,将偶数地址请求传递到DDR0存储器装置234,保存状态以指示偶数地址请求是未决的,且递增计数器countE232。在先前存取的存储器(例如,DDR0存储器装置234)到不同存储器(例如,DDR1存储器装置236)之间改变的来自外部装置Y244的请求停止直到保证完成对先前存储器的未决请求为止,如由递减到其初始值(例如,零)的countE值所指示。接着断言保存的状态以指示处理对DDR1存储器装置236的停止的请求。示范性路径259是针对在L2高速缓冲存储器220中高速缓存或经引导穿过BMMU212的请求,其目标在于外部装置或主存储器202。
图2B说明经配置以协调弱有序存储系统中的强有序及/或载入/存储互斥操作的示范性第二处理系统260,其中可有利地使用本发明的实施例。第二处理系统260类似于图2A的处理系统200,除了用于处理器请求的计数器电路(例如,countP226)从一个计数器扩大到两个计数器。需要有序存储器存取的一种类型的存储器请求为提供原子存储器存取的存储器存取互斥指令的序列。需要有序存储器存取的第二类型的存储器请求为上文所描述的强有序或装置(SO/DV)请求。载入互斥指令或存储互斥指令计数器(countPx)262及SO/DV计数器(countPs)264用以维持到目标装置的请求流中的存储器请求的原始次序,即使是在将请求流分裂到在目标装置处聚合的多个路径时。countPx262及countPs264计数器由控制电路266控制,如下文更详细所描述。下文的表1说明存储器请求流,其中将强有序或载入/存储互斥属性应用于第二处理系统260以说明本发明的各种实施例。
表1
存储器请求包含载入互斥(LDREX)指令、存储互斥(STREX)指令及强有序或装置(SO/DV)存储器请求。LDREX及STREX指令可通过提供保证原子存取表示存储器值或存储器区的状态(例如,锁定或未锁定)的旗标或变量的机制而合适地用于实施信号量。简要地描述表1中的四个存储器请求,且接着与此存储器请求流一起描述第二处理系统260的操作。
第一LDREX指令经引导穿过总线主控器端口MP0,从存储器地址“A”读取值,将其载入到指定的寄存器,且在互斥监视器中贴上存储器地址“A”的标签。第二LDREX指令经引导穿过MP1,从存储器地址“B”读取第二值,将其载入到指定的寄存器,且在另一互斥监视器中贴上存储器地址“B”的标签。SO/DV请求经引导穿过MP1以用于存取存储器地址“C”处的数据,且与第一及第二LDREX指令独立地操作。STREX指令经引导穿过MP1,仅在用存储器地址“B”贴标签的互斥监视器仍处于互斥状态的情况下将数据值存储到存储器地址“B”,及在存储操作成功的情况下传回指令。
将计数器countPx262及countPs264初始化到初始计数值。当第一LDREX指令经引导穿过总线主控器端口MP0时,计数器countPx262递增且用指示选择为MP0的端口的位来贴标签。当从缓冲器230接收到第二LDREX指令时,所述第二LDREX指令停止而不是经引导穿过总线主控器端口MP1,因为在countPx262不处于其初始计数值的情况下,第一LDREX指令仍是未决的。控制电路266前向搜索缓冲器230,且识别SO/DV请求,且还验证countPs264处于其初始状态。因为SO/DV请求可与载入及存储互斥指令独立地操作,所以控制电路266使得SO/DV请求经引导穿过总线主控器端口MP1,递增计数器countPs264且用指示选择为MP1的端口的位来贴标签。第四请求(STREX指令)也停止,因为第一LDREX指令仍未决。一旦接收到保证完成第一LDREX指令的确认,计数器countPx262便递减到其初始值。第二LDREX指令被释放且经引导穿过总线主控器端口MP1,使得countPx262递增且被贴标签以指示所选择的端口为MP1。STREX指令也被释放且经引导穿过总线主控器端口MP1,因为保证按发出的次序来完成经过相同端口的所有请求。
应注意,可在图2A的处理系统200中接收表1中所列出的相同存储器请求流。在单个计数器countP226的情况下,在接收用于第一LDREX指令的确认的过程中将停止SO/DV请求。也应注意,在替代实施例中,存取多个总线主控器端口的处理器(例如处理系统200中所说明)可基于用于传送的多个总线端口的可用性而分裂存储器请求流。举例来说,在图2A中,如果处理器206确定两个总线端口216及217中的一者用传送的未决请求来备份,那么处理器206可选择性地使用用于备份传送的其它总线端口来开始(假定其它总线端口可用于这些传送)。
图3说明经配置以在弱有序存储系统中操作的示范性扩展处理系统300,其中可有利地使用本发明的实施例。扩展处理系统300为图2A中所示的处理系统200的扩展。与图2A的处理系统200的主存储器202相比较,扩展处理系统300的主存储器302扩大到N个存储器元件(存储器装置DDR03340、DDR13341、…、DDRN334N)。将第二处理器(处理器23062)添加到包含其相关联的L1I高速缓冲存储器3082及L1D高速缓冲存储器3102的系统核心303。第二处理器与缓冲器(bfr)3302及第二计数器countP23262相关联。
归因于主存储器302的一或多个存储器元件的添加,扩大桥304,其中额外存储器信道由路径3500、3501、…、350N指示。系统核心303也扩大到N个主控器端口MP03160、MP13161、…、MPN316N。开关324现支持N个主控器端口3160到316N。借助于这些添加,奇数/偶数存储器区寻址方法改变为基于存储器范围的技术。举例来说,在1KB存储器区的情况下,存储器请求地址字段的地址位11及10现用以将存储器请求引导到适当存储器元件。在N等于四的一个实施例中,地址位11及10等于“00”的存储器请求经引导穿过开关324到DDR03340。地址位11及10等于“01”的存储器请求经引导穿过开关324到DDR13341。地址位11及10等于“10”的存储器请求经引导穿过开关324到DDR23342。地址位11及10等于“11”的存储器请求经引导穿过开关324到DDR33343。应注意,图2A的主存储器202可经扩大以具有奇数个额外存储器装置,例如具有三个存储器装置(DDR0、DDR1及DDR2)的系统。本发明的技术适用于利用适当地址映射方法的此系统。
用于扩展处理系统300的跟踪方法类似于用于处理系统200的跟踪方法。使用计数器(countP23262),其类似于计数器countP3261。计数器countP23262在接收到来自处理器23062的每一存储器请求之后即递增,且在接收到指示将按次序完成请求的对请求的响应时递减。每一额外处理器还将添加类似于计数器countP23262及缓冲器(bfr)3302的计数器及缓冲器。在第一DDR存储器装置(例如,DDR0存储器装置3340)到不同装置(例如,剩余存储器装置中的一者,即DDR1存储器装置3341或DDR2存储器3342或…,DDRN存储器334N)之间改变的新存储器请求(其具有与先前存储器装置相关联的未决存储器请求)停止直到保证完成未决存储器请求为止。停止的存储器请求保持未决直到经启用以进行处理为止。以不同于正存取的当前存储器区的存储器区为目标的存储器请求停止且不递增计数器。在完成未决请求且计数器适当地递减到初始计数值(例如,零)之后,启用停止的请求以用于处理,且接着针对现正处理的先前停止的请求递增计数器。因为保证按次序完成每一存储器区内的存储器请求,所以出于停止对不同流的请求的目的而仅监视在不同存储器区之间改变的存储器请求。即使SO/DV请求在相同的请求流中,仍监视SO/DV请求以便递增计数器,例如计数器countP13261
BMMU312分裂存储器请求流,且接着选自路径3570、3571、…、357N的请求流重新聚合到外部从装置,例如外部装置X342中的DDR-X存储器。当在路径3570、3571、…、357N中的一者上提出请求时,通过停止对路径3570、3571、…、357N中的另一者的请求,进入开关324的SO/DV存储器请求的次序与到达外部装置X342中的DDR-X存储器的次序相同。应注意,与来自处理器3062的请求流独立地监视来自处理器3061的请求流,且与来自处理器3061的请求流独立地监视来自处理器3062的请求流。
在一些实施方案中,例如图2A的控制块228等控制块将被复制为图3的扩展处理系统300中的两个控制块,每一复制的控制块与两个处理器3061及3062中的一者相关联。在基于图2B的第二处理系统260的替代实施例中,countP13261将扩展到countPx1及countPs1,且countP23262将扩展到countPx2及countPs2。适当地扩大控制电路328以支持LDREX及STREX指令及SO/DV请求的排序控制,如上文关于图2B所描述。控制每一处理器的请求,如上文关于图2B所描述。在这些方法中,对于N个CPU,要实施如上文所描述的技术需要硬件的N个复本。
图4说明用于控制弱有序存储系统中的有序存取的示范性过程400,其中可有利地使用本发明的实施例。在框404处,来自图2A或2B的处理器206或图3的处理器3061的存储器存取请求(其中断言指示需要有序存取的属性)分别在例如BMMU212或BMMU312等总线及存储器管理单元(BMMU)处被接收。在决策框406处,在控制电路228、266或328中确定是否存在对不同于接收的有序存储器存取请求的存储器元件及相关联的主控器端口的一或多个未决请求。如果存在对不同存储器元件的未决有序存储器存取请求,那么过程400继续进行到框408。在框408处,停止新的存取有序存储器存取请求直到保证完成一或多个未决有序存储器存取请求为止。过程400接着返回到框406。如果不存在对不同存储器元件及相关联的主控器端口的未决请求,那么过程400继续进行到框410。在框410处,处理新的有序存储器存取请求,且递增存取计数器。在框412处,确定是否已接收到对新的有序存储器存取的对应响应。如果未接收到对现未决的新的有序存储器存取请求的响应,那么过程保持在框412处,等待未决有序存储器存取请求的决定。如果已接收到对未决有序存储器存取请求的响应,那么过程400继续进行到框414。在框414处,过程400递减存取计数器。在框416处,过程400结束所述有序存储器存取请求。
可使用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其经设计以执行本文中所描述的功能的任何组合来实施结合在本文中所揭示的实施例而描述的各种说明性逻辑框、模块、电路、元件或组件。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、专用控制器或微编码控制器。系统核心还可实施为计算组件的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或适用于所要应用的任何其它此类配置。
结合本文中所揭示的实施例描述的方法可体现于由处理器执行的硬件及软件中。举例来说,处理器206可在执行程序时存取来自主存储器202的指令及数据。包括一或多个处理器程序的软件作为非暂时性信号存储于计算机可读存储媒体上。计算机可读存储媒体可与处理器(例如,处理器206、处理器3061、处理器3062或例如外部装置Y244等外围装置中的一者中的处理器)直接相关联,或可例如经由总线及存储器管理单元(BMMU)212或其它介接装置来存取。存储媒体可耦合到处理器以使得处理器可从存储媒体读取信息,且在一些状况下将信息写入到存储媒体。耦合到处理器的存储媒体可与电路实施方案直接耦合集成或可利用一或多个接口,所述接口支持直接存取或使用下载技术的数据流式传输。计算机可读存储媒体可包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、压缩光盘(CD)、数字视频光盘(DVD)、其它类型的可装卸磁盘,或任何其它合适的存储媒体。
虽然本发明是揭示于说明性实施例的上下文中以供处理器系统使用,但将认识到广泛各种实施方案可由所属领域的一般技术人员结合上文论述及下面所附的权利要求书来使用。举例来说,固定功能实施方案还可利用本发明的各种实施例。

Claims (34)

1.一种用于排序需要有序存储器存取的存储器请求的方法,所述方法包括:
将存储器请求流分裂成两个或两个以上存储器请求流;
在所述两个或两个以上存储器请求流中的一者中识别需要有序存储器存取的存储器请求;及
在确定来自不同存储器请求流的先前存储器请求为未决之后,便停止需要有序存储器存取的所述存储器请求。
2.根据权利要求1所述的方法,其中根据地址边界值分裂所述存储器请求流。
3.根据权利要求2所述的方法,其中所述地址边界值为确定存储器区是奇数地址存储器区还是偶数地址存储器区的地址位。
4.根据权利要求2所述的方法,其中从识别N个存储器区中的一者的存储器请求地址中的多个位确定所述地址边界值。
5.根据权利要求1所述的方法,其中根据在所述两个或两个以上存储器请求流中的每一存储器请求流上传送数据的可用性来分裂所述存储器请求流。
6.根据权利要求1所述的方法,其中所述存储器请求流中的一存储器请求根据所述地址边界值而被引导到N个存储器区中的一者。
7.根据权利要求1所述的方法,其中需要有序存储器存取的所述存储器请求为强有序存储器请求或装置存储器请求SO/DV。
8.根据权利要求1所述的方法,其中需要有序存储器存取的所述存储器请求为提供原子存储器存取的存储器存取互斥指令的序列。
9.根据权利要求1所述的方法,其中在接收到保证按次序完成所述未决先前存储器请求的指示之后处理所述停止的存储器请求。
10.根据权利要求1所述的方法,其进一步包括:
递增用于每一存储器请求的存储器存取计数器;及
递减用于经指示以保证按所要次序完成的每一存储器请求的所述存储器存取计数器,其中不同于所述存储器存取计数器的初始化状态的所述存储器存取计数器中的计数值指示尚未保证按所要次序完成一或多个未决请求。
11.一种用于排序需要有序存储器存取的存储器请求的设备,所述设备包括:
流分裂电路,其经配置以监视第一存储器请求流,且经配置以将所述第一存储器请求流分裂成第二存储器请求流及第三存储器请求流;
跟踪电路,其经配置以检测来自所述第二存储器请求流的需要有序存储器存取的存储器请求,所述第二存储器请求流为不同于具有未决存储器请求的所述第三存储器请求流的存储器请求流;及
停止电路,其经配置以响应于所述未决存储器请求而停止需要有序存储器存取的所述第二存储器请求流,直到保证按次序完成所述未决存储器请求为止。
12.根据权利要求11所述的设备,其中根据基于存储器区的数目及存储器区大小的地址属性来确定所述分裂。
13.根据权利要求11所述的设备,其中根据在所述两个或两个以上存储器请求流中的每一存储器请求流上传送数据的可用性来确定所述分裂。
14.根据权利要求11所述的设备,其中所述跟踪电路包括:
计数器,其经配置以在从所述第二存储器请求流或从为与先前存储器请求相同的存储器请求流的所述第三存储器请求流接收到存储器请求之后便递增,且指示所述接收的存储器请求为未决的,其中所述计数器经配置以在接收到保证按次序完成所述未决存储器请求的确认之后便递减。
15.根据权利要求11所述的设备,其进一步包括:
第一存储器区及第二存储器区,其中所述第二存储器请求流与所述第一存储器区相关联,且所述第三存储器请求流与所述第二存储器区相关联;及
处理器,其经配置以产生所述第一存储器请求流,其中每一存储器请求包含相关联的地址属性,所述地址属性将所述第一存储器区识别为奇数地址存储器区及将所述第二存储器区识别为偶数地址存储器区。
16.根据权利要求11所述的设备,其中所述地址属性为识别所述两个或两个以上存储器请求流的一或多个地址位。
17.根据权利要求11所述的设备,其进一步包括:
N个存储器区,其中监视所述第一存储器请求流,且将其分裂成N个存储器请求流,其中每一存储器请求流与所述N个存储器区中的不同存储器区相关联;及
处理器,其经配置以产生所述第一存储器请求流,其中每一存储器请求包含识别所述N个存储器区中的一者的相关联的地址属性。
18.根据权利要求11所述的设备,其中所述跟踪电路包括:
第二计数器,其经配置以在从第二强有序或装置SO/DV存储器请求流或从为与先前装置存储器请求相同的装置存储器请求流的第三装置存储器请求流接收到SO/DV存储器请求之后便递增,且指示所述接收的SO/DV存储器请求为未决的,其中所述第二计数器经配置以在接收到保证按次序完成所述未决装置存储器请求的确认之后便递减。
19.根据权利要求11所述的设备,其中需要有序存储器存取的所述存储器请求为提供原子存储器存取的存储器存取互斥指令。
20.根据权利要求11所述的设备,其中所述未决存储器请求响应于存储器存取互斥指令,其中在接收到保证按次序完成所述未决存储器请求的指示之后启用所述停止的第二存储器请求流的处理。
21.一种用于排序存储器存取的设备,所述设备包括:
开关及控制电路,其经配置以将存储器请求流分裂成根据与两个或两个以上对应总线端口相关联的属性而被引导到所述对应总线端口的两个或两个以上存储器请求流;
跟踪电路,其经配置以检测第一存储器请求流中的需要有序存储器存取的存储器请求,及检测第二存储器请求流中的一或多个未决存储器请求;及
停止电路,其经配置以停止所述有序存储器存取请求直到所述跟踪电路指示不再存在未决存储器请求为止。
22.根据权利要求21所述的设备,其中所述属性是基于存储器区的数目及存储器区大小。
23.根据权利要求21所述的设备,其中所述属性是基于在所述两个或两个以上存储器请求流中的每一存储器请求流上传送数据的可用性。
24.根据权利要求21所述的设备,其中所述属性是基于存储器交错地址。
25.根据权利要求21所述的设备,其中所述属性是基于存储器请求的目的地地址的散列。
26.根据权利要求21所述的设备,其中所述开关及控制电路监视所述存储器请求的目的地地址字段内的位字段以确定所述属性。
27.根据权利要求21所述的设备,其中所述有序存储器存取请求具有经断言强有序属性。
28.根据权利要求21所述的设备,其中所述跟踪电路包括:
存储器存取计数器,其经配置以针对每一接收的存储器请求递增及针对保证完成的每一接收的存储器请求递减,其中不同于所述存储器存取计数器的初始化状态的所述存储器存取计数器中的计数值指示存在尚未保证完成的一或多个未决存储器请求。
29.根据权利要求21所述的设备,其进一步包括:
跟踪电路,其经配置以检测第一存储器请求流中的具有经断言装置属性的存储器请求,及检测第二存储器请求流中的一或多个未决存储器请求;及
停止电路,其经配置以停止装置存储器请求直到所述跟踪电路指示不再存在未决存储器请求为止。
30.根据权利要求21所述的设备,其中所述属性为确定存储器区是奇数地址存储器区还是偶数地址存储器区的地址位。
31.根据权利要求21所述的设备,其中在接收到保证按次序完成所述未决存储器请求的确认之后处理所述停止的有序存储器存取请求。
32.一种借助于计算机可读程序数据及代码来编码的计算机可读非暂时性媒体,所述程序数据及代码在执行时可操作以:
将存储器请求流分裂成两个或两个以上存储器请求流;
在所述两个或两个以上存储器请求流中的一者中识别需要有序存储器存取的存储器请求;及
在确定来自不同存储器请求流的先前存储器请求为未决之后,便停止需要有序存储器存取的所述存储器请求。
33.一种用于排序需要有序存储器存取的存储器请求的设备,所述设备包括:
用于监视第一存储器请求流及用于将所述第一存储器请求流分裂成第二存储器请求流及第三存储器请求流的装置;
用于检测来自所述第二存储器请求流的需要有序存储器存取的存储器请求的装置,所述第二存储器请求流为不同于具有未决存储器请求的所述第三存储器请求流的存储器请求流;及
用于响应于所述未决存储器请求而停止需要有序存储器存取的所述第二存储器请求流直到保证按次序完成所述未决存储器请求为止的装置。
34.一种用于排序存储器存取的设备,所述设备包括:
用于将存储器请求流分裂成根据与两个或两个以上对应总线端口相关联的属性而被引导到所述对应总线端口的两个或两个以上存储器请求流的装置;
用于检测第一存储器请求流中的需要有序存储器存取的存储器请求及用于检测第二存储器请求流中的一或多个未决存储器请求的装置;及
用于停止所述有序存储器存取请求直到跟踪电路指示不再存在未决存储器请求为止的装置。
CN201280060318.8A 2011-12-09 2012-12-10 横跨多个存储器区的强有序、装置及互斥事务的自动排序 Active CN103975314B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/315,370 2011-12-09
US13/315,370 US8782356B2 (en) 2011-12-09 2011-12-09 Auto-ordering of strongly ordered, device, and exclusive transactions across multiple memory regions
PCT/US2012/068820 WO2013086529A1 (en) 2011-12-09 2012-12-10 Auto-ordering of strongly ordered, device, and exclusive transactions across multiple memory regions

Publications (2)

Publication Number Publication Date
CN103975314A true CN103975314A (zh) 2014-08-06
CN103975314B CN103975314B (zh) 2015-09-16

Family

ID=47472053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280060318.8A Active CN103975314B (zh) 2011-12-09 2012-12-10 横跨多个存储器区的强有序、装置及互斥事务的自动排序

Country Status (7)

Country Link
US (1) US8782356B2 (zh)
EP (1) EP2788882B1 (zh)
JP (3) JP5745191B2 (zh)
KR (1) KR101445826B1 (zh)
CN (1) CN103975314B (zh)
IN (1) IN2014CN04025A (zh)
WO (1) WO2013086529A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886504A (zh) * 2017-04-05 2017-06-23 上海矽奥微电子有限公司 基于ahb总线的多核soc中实现原子操作系统及方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104541248B (zh) 2012-07-27 2017-12-22 华为技术有限公司 计算系统对屏障命令的处理
US9411542B2 (en) * 2014-02-21 2016-08-09 Analog Devices Global Interruptible store exclusive
US9594713B2 (en) 2014-09-12 2017-03-14 Qualcomm Incorporated Bridging strongly ordered write transactions to devices in weakly ordered domains, and related apparatuses, methods, and computer-readable media
US11252108B2 (en) 2019-06-19 2022-02-15 Nxp Usa, Inc. Controller for ordering out-of-order transactions in SoC
KR20220036950A (ko) * 2019-07-03 2022-03-23 후아시아 제너럴 프로세서 테크놀러지스 인크. 순수 함수 신경망 가속기 시스템 및 아키텍처
KR102300798B1 (ko) 2019-07-31 2021-09-13 주식회사 태성이엔지 젓갈용 해산물 선별장치
US11775467B2 (en) 2021-01-14 2023-10-03 Nxp Usa, Inc. System and method for ordering transactions in system-on-chips

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038646A (en) * 1998-01-23 2000-03-14 Sun Microsystems, Inc. Method and apparatus for enforcing ordered execution of reads and writes across a memory interface
US6275914B1 (en) * 1999-10-15 2001-08-14 Micron Technology, Inc Apparatus for preserving memory request ordering across multiple memory controllers
US6275913B1 (en) * 1999-10-15 2001-08-14 Micron Technology, Inc. Method for preserving memory request ordering across multiple memory controllers
US6754751B1 (en) * 2001-03-30 2004-06-22 Intel Corporation Method and apparatus for handling ordered transactions
CN1575459A (zh) * 2001-08-27 2005-02-02 英特尔公司(特拉华公司) 用于保持在无序接口上的生产商-用户排序的机制
US7133968B2 (en) * 2000-03-30 2006-11-07 Ip-First, Llc. Method and apparatus for resolving additional load misses in a single pipeline processor under stalls of instructions not accessing memory-mapped I/O regions
CN101194240A (zh) * 2005-03-23 2008-06-04 高通股份有限公司 在弱有序处理系统中执行强有序请求以最小化存储器屏障
US20100182819A1 (en) * 2009-01-22 2010-07-22 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US20100306470A1 (en) * 2009-05-26 2010-12-02 Qualcomm Incorporated Methods and Apparatus for Issuing Memory Barrier Commands in a Weakly Ordered Storage System

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832304A (en) 1995-03-15 1998-11-03 Unisys Corporation Memory queue with adjustable priority and conflict detection
AU2003900733A0 (en) * 2003-02-19 2003-03-06 Canon Kabushiki Kaisha Dynamic Reordering of Memory Requests
US20050289306A1 (en) 2004-06-28 2005-12-29 Sridhar Muthrasanallur Memory read requests passing memory writes
US9026744B2 (en) * 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
US9292436B2 (en) * 2007-06-25 2016-03-22 Sonics, Inc. Various methods and apparatus to support transactions whose data address sequence within that transaction crosses an interleaved channel address boundary
JP2010287058A (ja) * 2009-06-11 2010-12-24 Canon Inc メモリシステム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038646A (en) * 1998-01-23 2000-03-14 Sun Microsystems, Inc. Method and apparatus for enforcing ordered execution of reads and writes across a memory interface
US6275914B1 (en) * 1999-10-15 2001-08-14 Micron Technology, Inc Apparatus for preserving memory request ordering across multiple memory controllers
US6275913B1 (en) * 1999-10-15 2001-08-14 Micron Technology, Inc. Method for preserving memory request ordering across multiple memory controllers
US7133968B2 (en) * 2000-03-30 2006-11-07 Ip-First, Llc. Method and apparatus for resolving additional load misses in a single pipeline processor under stalls of instructions not accessing memory-mapped I/O regions
US6754751B1 (en) * 2001-03-30 2004-06-22 Intel Corporation Method and apparatus for handling ordered transactions
CN1575459A (zh) * 2001-08-27 2005-02-02 英特尔公司(特拉华公司) 用于保持在无序接口上的生产商-用户排序的机制
CN101194240A (zh) * 2005-03-23 2008-06-04 高通股份有限公司 在弱有序处理系统中执行强有序请求以最小化存储器屏障
US20100182819A1 (en) * 2009-01-22 2010-07-22 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US20100306470A1 (en) * 2009-05-26 2010-12-02 Qualcomm Incorporated Methods and Apparatus for Issuing Memory Barrier Commands in a Weakly Ordered Storage System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886504A (zh) * 2017-04-05 2017-06-23 上海矽奥微电子有限公司 基于ahb总线的多核soc中实现原子操作系统及方法

Also Published As

Publication number Publication date
EP2788882A1 (en) 2014-10-15
JP2015158943A (ja) 2015-09-03
JP2016157490A (ja) 2016-09-01
CN103975314B (zh) 2015-09-16
IN2014CN04025A (zh) 2015-07-10
WO2013086529A1 (en) 2013-06-13
EP2788882B1 (en) 2016-04-13
JP6408514B2 (ja) 2018-10-17
JP2015500536A (ja) 2015-01-05
KR20140102732A (ko) 2014-08-22
KR101445826B1 (ko) 2014-09-29
JP5745191B2 (ja) 2015-07-08
JP5951844B2 (ja) 2016-07-13
US8782356B2 (en) 2014-07-15
US20130151799A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
CN103975314B (zh) 横跨多个存储器区的强有序、装置及互斥事务的自动排序
CN101681323B (zh) 装置引导的存储器屏障
CN110059020B (zh) 扩展内存的访问方法、设备以及系统
KR20150091663A (ko) 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법
EP2579164B1 (en) Multiprocessor system, execution control method, execution control program
US11704023B2 (en) Extensible storage system and method
US20200192847A1 (en) Data bit width converter and system on chip thereof
US9697127B2 (en) Semiconductor device for controlling prefetch operation
US20120278538A1 (en) Data storage apparatus, memory control device, and method for controlling flash memories
US9824019B2 (en) Event specific page faults for interrupt handling
US20150212759A1 (en) Storage device with multiple processing units and data processing method
CN101308474A (zh) 存储系统及存储装置
US9176906B2 (en) Memory controller and memory system including the same
KR20200089336A (ko) 수 개의 어레이에 의해 저장된 데이터 값 간의 정합 결정
US20140331006A1 (en) Semiconductor memory devices
US11099762B2 (en) Multi host controller and semiconductor device including the same
TWI766891B (zh) 半導體裝置的處理器與其操作方法
CN105760317A (zh) 数据写系统和用于核心处理器的数据写方法
US20140136796A1 (en) Arithmetic processing device and method for controlling the same
US20200327075A1 (en) Parallel processing system and operation method thereof
US9189173B2 (en) Memory system
JP2007305021A (ja) 半導体記憶装置とその読み出し方法
JP2007257032A (ja) データ転送制御装置およびその方法
JPS5913063B2 (ja) 共用入出力バス制御装置

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