CN102292714A - 装置组件之间的内存资源共享的通讯协定 - Google Patents
装置组件之间的内存资源共享的通讯协定 Download PDFInfo
- Publication number
- CN102292714A CN102292714A CN2010800050299A CN201080005029A CN102292714A CN 102292714 A CN102292714 A CN 102292714A CN 2010800050299 A CN2010800050299 A CN 2010800050299A CN 201080005029 A CN201080005029 A CN 201080005029A CN 102292714 A CN102292714 A CN 102292714A
- Authority
- CN
- China
- Prior art keywords
- assembly
- memory
- request
- access request
- configuration
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Systems (AREA)
Abstract
在一装置中(例如行动电话),在例如集成电路的组件之间的内存资源能够共享,其中每个集成电路具有其内存资源。这可通过在组件之间提供互连以及构建通过该互连发送以开启内存存取运作的交易单元来实现。该方法也可用来允许用于装置组件之间一定程度的通讯。
Description
技术领域
本发明有关于装置组件之间的内存资源共享和通讯。
背景技术
现代的计算装置是由许多独立的智能组件所组成,这些组件实现多种各别的功能并且在整体的计算装置内交互作用。例如,应用程序处理器和图像处理器相互作用以提供内容到系统显示器。每一独立的智能组件通常有不同程度的智能和组件特有的本地资源,例如内存资源。
众所周知,由于采用总线架构,从而允许传输计算装置集成电路之间的资料对于内存传输运作,直接内存存取(Direct Memory Access;DMA)控制器可用于减轻总线的监督和中央处理单元(CentralProcessor Unit;CPU)的内存传输运作,当内存传输正在进行时,可让CPU执行其他功能。
随着计算装置变得更加复杂和装置内存资源变得更加分散,便期望有在组件之间共享内存资源的有效的通讯方法。
发明内容
在一装置中,例如行动电话,在组件(例如集成电路)之间能够共享内存资源,每一集成电路各自具有其内存资源,这可通过在组件之间提供互连以及构建通过该互连发送以开启内存存取运作的交易单元来实现。该方法也可用于允许装置组件之间一定程度的通讯。
根据本发明,提供一种运用需要存取内存映射资源的启动组件的方法,当装置具有(i)多个处理组件和(ii)互连该多个组件的总线,包括:通过该总线上的连接,从需要存取内存映射资源的该启动组件朝向具有内存映射资源的该装置的目标组件发送多个交易单元(TU)以建立一通道;该多个TU包括一个或多个配置TU,每一配置TU具有该通道的配置参数;通过该通道,从该启动组件,发送内存存取请求至该目标组件,该内存存取请求TU具有内存存取请求。
根据本发明的另一实施例,提供用于装置的第一组件,该装置中具有多个组件以及具有实体连接到该多个组件中的每一个的总线,包括:第一处理器;连接器,用于连接至该总线,使得该第一组件具有实体连接至该总线;该第一处理器可操作成:通过该总线上的连接,发送多个交易单元至第二组件,并具有实体连接至该总线,以建立一通道;该第二组件具有处理器与内存,该多个TU包括一个或多个配置TU,每一配置TU具有该通道的配置参数;通过该通道,发送内存存取请求TU至该第二组件,该内存存取请求TU具有内存存取请求。
根据本发明的另一实施例,提供一种用于在具有多个处理组件的装置中促进共享内存映射的资源的方法,包括:通过互连该装置的该多个组件的总线上的连接,从需要存取内存映射资源的该装置的启动组件朝向具有内存映射资源的该装置的目标组件发送多个交易单元(TU);该多个TU包括一个或多个配置TU,每一配置TU具有该通道的配置参数;通过该通道,从该启动组件发送内存存取请求至该目标组件,该内存存取请求TU具有内存存取请求。
根据本发明的另一实施例,提供一种具有多个组件的装置,包括:第一组件,具有第一处理器;第二组件,具有第二处理器和内存;总线;该第一组件和该第二组件具有实体连接至该总线;该第一处理器可操作成:通过该总线上的连接,发送多个交易单元(TU)至具有实体连接至该总线之第二组件,以建立一通道,该多个TU包括一个或多个配置TU,每一配置TU具有该通道的配置参数;以及通过该通道,发送内存存取请求至该第二组件,该内存存取请求TU具有内存存取请求。
附图说明
以下图式说明本发明的实施例。
图1为本发明的装置,适合运作的示意图;
图2为协定堆叠的示意图,可用于图1的装置中;
图3为于图1的装置中,内存空间的示意图;
图4为图1的部分装置的运作示意图;以及
图5至9为于图1的装置中,交易单元通讯的示意图。
具体实施方式
大概来说,装置组件的相互连接可能会以点对点方式和/或作为部分网络。在每一组件中,可能会有一些智能(例如,该组件是CPU或DSP或具有状态机)需要存取内部和外部内存以及输入/输出(input/output;IO)资源。例如,CPU通过内部总线架构可以发出读取和写入周期,这通常是并行的(例如,在AXI总线架构),以便存取本地内存和IO资源。此外,CPU能对其他外部装置的远端资源发出请求,这些外部装置可能是围绕着不同的内部总线结构(例如OCP)。此处所述之协定是适合于输送内部系统芯片(SoC)总线交易,用于存取外部装置的远端内存映射的资源,外部装置可能有不同的内部SoC总线架构。该协定定义了交易单元(TU),交易单元通过点对点的实体链接而可被封装在传输层中。
如图1所示,一个示范装置10(是一个手机)可能有第一处理组件20,是一应用程序处理器(application processor;AP)集成电路(integrated circuit;IC),该第一处理组件20连接到第二个处理组件50,该第二个处理组件50是为一通过点对点总线60的图像多媒体IC(graphics multimedia IC;GMIC)。每一组件都有一连接器23、53,允许连接到总线上。总线60可为连接组件之间的并列或串列通道。组件20有一控制总线60的总线控制器22,以及一显示控制器24和一摄像机控制器28。一个点对点连线26连接该显示控制器24至显示器30,而第二点对点连线32连接该摄像机控制器28至摄像机34。组件20也具有和系统内存38连接的点对点连线36以及和基频/射频集成电路(baseband/radio frequency integrated circuit;BB/RFIC)42连接的点对点连接40。
组件50具有一控制总线60的总线控制器52。组件50也具有和本地内存58连接的点对点连接。
例如,通过总线60之通讯可通过在本技术领域中容易理解的分层开放系统互连参考模型(OSI模型),、或通过类似的网络或点对点互连而达成。例如,可实施五层结构以允许启动组件(即组件20或50的其中之一)直接存取目标组件(组件20或50的另一者)的内存资源。该分层架构如图2所示,其中L1-L4所标示的层大致对应该OSI模型之分层1至4层所提供的功能性。
对内存资源所需的远端存取可以通过构建一层L5作为处理器介面模拟(processor interface emulation;PIE)协定层来实现,。相较于OSI模型,在本说明书之层L5可以假设为对应于OSI模型的层L4之上所实现的硬件或软件的功能性。
类似于OSI模型,每一连续的层提供一介面,以处理位在该接口的上方和下方以阶层排列的层,以允许在层与层之间传递数据和命令。该PIE协定层L5被设计成一个独立的封装层,能与传输层L4通讯,以实现交易。通过呼叫传输层L4功能以及传递数据至传输层L4,该PIE协定将启动一交易。回应于此请求,传输层L4使用网络层L3所提供之设备,网络层L3依次接着利用较低层所提供的设备。
由图1可知,如果组件20的子组件(例如显示控制器24)希望存取在组件50之本地内存58中的内存区块,组件20可以启动内存存取运作-因此可称为启动组件,同时组件50可称为目标组件。假设在组件20里的内部总线结构为AXI,则来自显示控制器的请求将会在组件20内显示为AXI总线交易(即,作为按照AXI总线协定的内存存取请求)。在组件20内的PIE层L5(可以是总线控制器22的一部分)会接收此AXI总线请求并转换为PIE交易,然后使用层L4-L1通过总线60来传输。组件50内相应的PIE层L5会解译到达的PIE交易,并将其转换成其自身内部的总线请求(即作为按照其自身的总线协定的内存存取请求)。因此,如果组件50是围绕着OCP总线结构设计,而不是AXI总线结构,则组件50内之该PIE层L5将从内存存取请求撷取数值并使用这些数值用以制订OCP总线请求。以这种方式,通过在组件20上面执行的应用程序,目标组件50之内存区块将有效地被视为启动组件20之内存地址空间的区块。同样地,由于组件50作为启动端,系统内存38中的内存区块可以被视为组件50内之内存区块。
如熟习本技术领域的技术人员所了解的,每一内存区块通常是一内存的逻辑区块,其映射至实体内存位置。熟习本技术领域的技术人员还会进一步了解到的是,内存资源在组件中不必本身为内存,而可以是任何数据存储设备(例如寄存器)。
图3描述了一例子,说明内存映射使用组件20作为启动组件。具体来说,内存映射区段(aperture)58A于组件50的本地地址空间内映射到PIE内存地址空间70内的区段70A。然后,该区段70A在PIE内存地址空间映射到组件20之系统内存38内的区段38A。PIE内存地址空间70表示一虚拟地址空间,有利于启动内存地址空间和目标内存地址空间之间的映像。PIE内存空间70是一抽象概念,用于辅助内存映射,而且不对应任何实体内存位置。启动组件20和目标组件50两者与PIE内存空间70交互作用,经由PIE区段70A,以完成从该目标组件之内存区段58A到启动组件之内存区段38A之映射。因此,在组件50之内存58中,一个指定的地址可能在组件20之内存38中有不同的地址,以及又在PIE内存空间70有一不同的地址。
可分别在AP 20和GMIC 50采用配置寄存器90和100,以任何适当方式,达到让内存能映射至PIE内存空间。因此,很明显的可以了解,于该启动组件及目标组件之间的地址转换(address translation)或内存映射均可通过PIE内存空间70达成,而在该启动组件的内存38内之本地地址与该目标组件的内存58内的远端地址之间相互转换。
在启动(即本地)、目标(即远程)或PIE地址空间中通过地址或大小所定义的内存区块可以被考虑作为内存区段。每一区段代表一连续的内存地址区块,从一组件映射到另一组件。
请参照图1所示,装置10运用协定,通过点对点总线60,以建立AP 20与GMIC 50之间的连接。然后通过该连接,该PIE协定可被用来建立一个或多个通道,而每一通道具有一个或多个区段。更具体地说,通过范例,请参照图4,可于AP 20与GMIC 50之间经由网络协定的层L1、L2和L3通过该点对点总线,以建立三个连接80A、80B、80C。层L4可以建立一端口,以终止在各组件的各连接。具体来说,端口82A、84A可分别终止AP 20与GMIC 50的连接80A,同时,端口82B、84B可终止连接80B,端口82C、84C可终止连接80C。这些网络连接中的每一连接可支援不同的通讯类别(traffic class)(即每一连接可能有不同的连接参数,例如时延)。然后,AP 20之该PIE协定可将每一节点(86A、86B、86C)分别与每一端口(82A、82B、82C)相关联。同样地,GMIC 50的PIE协定GMIC 50可将每一节点(88A、88B、88C)分别与每一端口(84A、84B、84C)相关联。为了通过一链接,使本地组件能存取远程组件之内存资源,本地组件之一节点成为一启动端节点而远程组件之一节点成为一目标节点。因此,节点(如节点86A)可为启动端节点、目标节点(如节点86B)或启动与目标节点两者(如节点86C)。启动端节点可通过连接发送请求到目标节点,以建立一通道,而且可于该通道内视需要地建立一个或多个区段。具体来说,以下将做更充分地说明,该启动端节点(如节点86C)可以把交易单元(TU)通过连接与配置参数传送到目标节点(88C),以设立一通道(通道90)和区段。通过TU所接收到的该配置参数存储在配置寄存器92、94里。因此,指定的通道具有与其相关联的特定启动端节点(如节点AP 20的86C)和特定目标节点(如GMIC 50的88C)。此外,每一连接最多可支持两个通道,每一方向具有一通道,使得在单一连接中,一节点(例如,节点86c)在一通道上可以作为启动端节点而在第二个通道上作为目标节点。
如果单一通道上定义有多个区段,则每一区段将共享相同的通道参数。
如上文所建议的,组件之间的通讯的达成可通过交易单元(TU)的使用,将该PIE协定层L5传递至传输层L4,以达到从启动组件发送到目标组件。在一般情况下,通过实体层传送之前,在L5的协定数据单元(PDU)可被称为信息,它可被分成多个段(即L4 PDU)、数据包(即L3 PDU)和帧(即L2 PDU)。PIE信息是由交易单元组成。大致描绘合适的交易单元格式,如图5所示。该交易单元110之第一字节(byte)分为类型112栏位,用于存储TU,和一标签114栏位,用于存储交易代码。交易单元110的其余部分是由可能存在的可选信息组成并取决于交易单元110之类型112而变化。例如,如果TU 110为延伸类型(extended type),则一个可选的交易单元110第二字节可以代表一Ext_Type栏位116,用于存储TU。
该类型栏位112用于识别交易单元110的目的。支持的交易单元类型可能包括如表1所示。
表1
如图5所示,该Ext_Type116栏位只存在于交易单元110,属于延伸类型(即表1中,类型=1110或1111)。该Ext_Type 116栏位的出现,允许额外的交易单元类型被定义在这个栏位上。该类型栏位112的实现是例示的,其他的变化可以用来提供一个唯一的值,用来识别交易单元的类型。例如,如果在一特定的应用之中是合宜的,大量的交易单元类型是可以被更多类型的栏位所支持。
该标签栏位114用于与跟特定分割交易有关的TU相关联。视需要地,标签栏位也可以用来允许维持交易的指令(order)。更具体地说,与网络连接相关联的每一启动端节点分配一标签池(tag pool),例如,16个连续值。然后,如果启动端希望传送一TU,像是直接写入请求(Write Request;WR),则下一个可用的标签放置在该TU的标签栏位内。通道的其中一个配置参数可以无论如何都是将被认可(acknowledge)的写入请求。如果写入请求被认可,则该目标将通过构建一写入认可TU(即ACK)来回应该写入请求TU(即WR),其中该目标将插入与启动TU所插入的标签值相同的标签值。当启动端接收到此写入认可TU时,该标签栏位将会被读取,以使该TU相互关联,作为对该启动TU的回应。在标签值插入一启动TU后,保留标签值直到该TU所启动的交易完成。当启动TU接收到回应时,交易通常便完成了。
如表1所示,配置写入(WRc)和配置读取(RDc)为TU的两种已定义的类型。例如,一启动端使用WRc TU来设置目标处的配置寄存器值,以建立一通道或通道上的区段。WRc TU的特定格式如图6所示。根据该图,如表1所建议的,WRc TU 110A之类型栏位112A是设定为1000而标签栏位114A设定为下一个可用的卷标值。WRc TU具有一长度栏位118AA,表示参数值栏位1118AC之长度。这将允许TU的目标描述该参数值栏位之末端-和该TU。在另一实施例中,该长度栏位可改为在该TU末端插入一TU标记(marker)末端。交易单元的其余部分是由4字节参数栏位118AB(具有参数ID)和参数值栏位118AC组成,该4字节参数栏位118AB确定哪个配置参数通过该WRcTU进行修改,而该参数值栏位118AC代表将被储存的配置参数的值。回应于WRc,一写入认可交易单元(ACK TU)可由目标端产生。该ACK TU是仅由类型和标签组成。
配置参数的值可利用配置读取请求交易单元(RDc TU)存取。除了没有参数值栏位以外,RDc TU具有和WRc TU相同的格式。RDc TU之参数栏位具有一参数ID,其作用表示哪个参数值将被返回,而长度栏位表示将被返回的参数值的长度。响应于RDc TU,该目标返回一读取回应(RES)TU,其中该回应是由类型、标签和长度栏位所组成,并包含预期的参数值。
配置读取请求可能会被用来提供组件之间某一程度的通讯。例如,一个特定的参数ID可保留用来识别组件制造商的识别,而另一参数ID可保留作为表示该组件的型号。启动端组件可能具有一数据库,其可与不同的特定组件相关联而具有不同的能力。因此,通过确定一目标组件,一启动端组件可获悉目标组件的能力,该目标组件可协助启动端组件更有效地利用该目标组件的内存资源。此外,在某些情况下,建立连接后,可能仅需要使用配置读取和写入的组件之间低程度的通讯。在这种情况下,不需要在组件之间建立通道。
直接写入交易单元(WR TU)之特定格式如图7所示。参照该图,该WR TU 110B具有根据表1设定为0000的类型栏位112B。该WR TU也具有一个标签栏位114B和长度栏位118BA,类似于WRc TU。该地址栏位118BB是32位栏位,用于存储开始写入运作的基址(baseaddress)。(如上所述,该基址是在PIE空间中,可能会在目标端被映射到另一地址。此外,该基数地址将位于先前定义的内存区段作为直接读取和写入请求。)该数据栏位118BC是存储将被写入的数据区块。长度栏位中的值表示该数据栏位的长度。因此,熟习本技术领域的技术人士将了解到,该数据栏位之最大长度为256字节,因为这是8-bit长度栏位所能表示的最大长度。替代的实施例可利用更大的长度栏位或延伸类型的TU,以便允许更大的数据区块。
在WR TU之目标组件处收到后,在地址栏位中的地址会从PIE地址空间70(图3)被转译成目标地址空间内的地址。回应于直接写入请求交易单元110B,如上配合WRc TU所作的讨论,写入认可交易单元可由该目标组件生成(使用相同的标签栏位值),然后被传输到启动组件。
除了直接读取请求交易单元将没有数据栏位以外,直接读取交易单元(RD TU)的交易单元格式可能与上述该直接交易单元之格式相同。在RD TU中,长度栏位之值将表示将被返回的数据区块之长度。响应于直接读取请求,RES TU可由目标端产生。
间接读取与写入请求也可以支持数据流应用程序。为了允许间接请求,启动端可传送配置TU,以建立一通道和配置一基址和一长度来建立一间接写入请求的内存区段。该间接基址是在PIE地址空间内。间接写入请求(WRi)交易单元110C之特定格式如图8所示。TU 110C具有一类型栏位值0001、一标签栏位114C、一长度栏位118CA和一数据栏位118CB。当该目标接收到这样的TU时,会将数据栏位之数据区块写入至其内存,从储存在其配置寄存器内的间接写入基址所映像的地址开始。这也会增加在该寄存器的地址,使得更新後的地址将被用于通道上的下次间接写入。(如果间接写入延伸超过用于间接写入的区段末端,则该间接写入将弯曲绕到该区段的起始。)除了缺少数据栏位以外,间接读取(RDi TU)具有和WRi TU相同的格式。这些间接请求允许连续读取和写入运作,而不会引起传输地址信息的负担。
回应于间接写入交易单元,如果该通道被配置用于认可,目标将回应一ACK TU。此外,回应于间接读取交易会发出一RES TU,如上所述。
图9表示大量寫入交易单元(bulk write transaction unit)110D,作为延伸交易单元的例子。类型栏位112D具有值1111,表示该交易单元是一延伸交易单元而且该特定类型为Ext_Type栏位116D。该交易单元具有一标签栏位114D。长度栏位118DA表示将以字节写入的数据栏位的长度118DC,而且由允许较大的数据区块的16位栏位来表示。该地址表示该写入的起始地址。地址118DB表示用于写入的起始地址。大量写入交易单元110D在必须在组件之间传送大的数据区块的情况下是有利的。回应于大量写入交易单元,可产生ACK TU。
大量读取TU也可能被用来提供大量读取功能。该TU是直接读取请求的延伸类型等效者。回应于此TU,该目标会以Type=EXT_RSP发出大量读取回应TU(如表1所示)以及含有所请求的数据的专用Ext_Type。
一REP TU可被支持以提供类似硬件中断的功能和其他错误报告功能。一REP TU可具有类型、标签、长度、代码和其他视需要的数据栏位。该代码栏位指示该TU是否为一中断请求,如果不是,则表示错误。最后,该REP TU可能有一数据栏位给适于各种可能的报告类型的数据。回应于REP TU,接收端可发出REP-ACK TU以认可并指示中断或错误报告机制为成功或失败。
SYNC TU是用于再同步,并且是由类型和标签栏位组成。例如,如果TU到达该目标带有故障的标签值,则该目标可以用REP TU对启动端回报错误,然后,该启动端将使用SYNC TU做重新同步。依此可在两端有效地重设标签值。回应于SYNC TU,该目标发出SYNC-ACK,然后该启动端便可恢复正常运作,以具有值为标签池中第一个值的卷标开始第一TU。
通道可配置为检测和回应直接和间接地址请求,可以有多个区段(通常在PIE地址空间不会有重叠)配置在每一通道内以回应直接请求。每一区段具有一组属性(attribute)和寄存器,例如,可单独配置基址、长度和用于安全性的存取控制寄存器。另外,每一通道均可支持一基址和一长度寄存器以用于间接读取运作,以及另一基址和长度寄存器用于间接写入运作。
如上所述,启动端组件可以发送WRc TU以将配置参数写入至该目标的配置寄存器内,以建立一通道和在通道上之一个或多个区段。具体的配置参数可以包括以下内容:
CONNECTION_ID参数,发出一识别码至一特定网络连接,然后一个或两个通道可与该特定CONNECTION_ID相关联;
ENABLE_WR_ACK参数,为每一通道有选择性地要求该目标所接收到的直接写入TU必须被认可,类似的参数可用于致能间接写入请求TU的认可;
Rdi_BASE_ADDRESS,指定在将进行该第一(或下一)间接读取的PIE寻址空间(PIE addressing space)中的基址,其中,类似的参数可以指定每一通道的第一间接写入之地址;
APERTURE_BASE参数,指定在一通道内之区段的基址(在PIE寻址空间之地址);以及
APERTURE_LENGTH参数,指定区段的大小。
作为替代方案,每一组件可以设置自己的配置寄存器为预设或在启动(start-up)后设置为其他特定值,而在启动任何内存共享交易之前,这些值可被启动端组件(使用RDc TU)读取。此外,在这样的实例中,启动端组件可以发送WRc TU,以重设任何这些配置参数(除非在目标端的整体配置之Remote_Config_Blocked参数是设定成防止远端配置)。
PIE协定是一种通用协定,可以实现在两个或多个组件均能够支持PIE的协定的各种环境中。例如,如上所述,该PIE协定可用于通过点对点网络连接的应用程序处理器(application processor;AP)和图像处理器(GMIC)之间来实现。或者,该协定可通过共享的网络总线或交换机(switch)将三个或更多不同的组件连接在一起来实现。
执行PIE协定的装置中的每一组件可能是许多组件的集合,用于执行功能,或可能为单一的集成电路。
对于熟习本技术领域的技术人士而言,其他的修改将是显而易见的。因此,将在权利要求书中定义本发明。
Claims (28)
1.一种运用需要存取内存映射资源的启动组件的方法,当装置
具有(i)多个处理组件和(ii)互连该多个组件的总线时,包括:
通过在该总线上的连接,从需要存取内存映射资源的该启动组件朝向具有内存映射资源的装置的目标组件发送多个交易单元(TU),以建立一通道;
该多个TU包括一个或多个配置TU,每一配置TU具有用于该通道的配置参数;以及
从该启动组件通过该通道朝该目标组件发送内存存取请求,该内存存取请求TU具有内存存取请求。
2.如权利要求1所述的方法,还包括根据该启动组件的总线协定从该启动组件的子组件接收子组件内存存取请求,以及从该子组件内存存取请求制定该内存存取请求TU。
3.如权利要求1所述的方法,还包括在每一TU的类型栏位中指示每一TU的交易类型。
4.如权利要求3所述的方法,其中,该类型栏位指示为读取请求。
5.如权利要求4所述的方法,其中,该读取请求为直接读取请求和间接读取请求的其中之一。
6.如权利要求5所述的方法,其中,该读取请求为内存读取请求和配置参数读取请求的其中之一。
7.如权利要求3所述的方法,其中,该类型栏位指示为写入请求。
8.如权利要求7所述的方法,其中,该写入请求为直接写入请求和间接写入请求的其中之一。
9.如权利要求8所述的方法,其中,该写入请求为内存写入请求和配置参数写入请求的其中之一。
10.如权利要求3所述的方法,还包括在每一该TU的标签栏位中的标签。
11.如权利要求10所述的方法,还包括监督该启动组件,用于具有等效于该标签的标签的该通道上的回应TU。
12.如权利要求11所述的方法,其中,该内存请求TU指示为写入请求,以及该回应TU的类型栏位指示为认可。
13.如权利要求11所述的方法,其中,该内存请求TU指示为读取请求,以及该回应TU的类型栏位指示为读取回应。
14.如权利要求3所述的方法,还包括每一指定TU为配置TU或内存存取请求,在该指定TU的长度字段中包含该指定TU的有效负载的长度。
15.如权利要求2所述的方法,其中,从该子组件内存存取请求制定该内存存取请求TU包括在本地地址空间与介面内存地址空间之间的映像,以及其中发送一个或多个配置TU包括发送具有配置值的配置TU,以允许在该介面内存地址空间与该目标组件的本地地址空间之间的映像。
16.如权利要求15所述的方法,其中,发送一个或多个配置TU包括发送配置TU,该配置TU具有表示为介面地址空间的启始地址的配置值以及表示为长度的配置值。
17.如权利要求16所述的方法,其中,该启始内存地址为间接读取请求或间接写入请求的其中之一的启始内存地址,以及该长度为间接读取请求或间接写入请求的该其中之一的内存区段的长度。
18.如权利要求16所述的方法,其中,该启始内存地址为用于该接口内存地址空间中的内存区段的启始内存地址,以用于直接写入和读取请求,以及该长度为该区段的长度。
19.如权利要求1所述的法,其中,该通道是第一通道而该多个配置TU是第一多个配置TU以建立该第一通道,该第一通道用于从该启动组件朝该目标组件发送内存存取请求,以及还包括通过该连接发送多个TU以建立第二通道该第二通道用于从该目标组件朝该启动组件发送内存存取请求。
20.用于一装置的第一组件,该装置具有多个组件和具有实体连接至该多个组件的每一组件的总线,该第一组件包括:
第一处理器;
连接器,连接至该总线,使得该第一组件具有实体连接至该总线;
该第一处理器操作为:
通过该总线上的连接,发送多个交易单元(TU)至具有实体连接到该总线的第二组件,以建立一通道,一类型的该第二组件具有处理器与内存,该多个TU包括一个或多个配置TU,,每一配置TU具有用于该通道的配置参数;以及
通过该通道,发送内存存取请求TU至该第二组件,该内存存取请求TU具有内存存取请求。
21.如权利要求20所述的第一组件,其中,该第一处理器也可根据该第一组件的内部总线协定将内存存取请求转换到内存存取请求TU。
22.如权利要求21所述的第一组件,其中,该第一处理器根据该第一组件的内部总线协定将内存存取请求转换到内存存取请求TU时,在该第一组件的本地地址空间与介面内存地址空间之间映射,以及其中该第一处理器在发送一个或多个配置TU时,也可操作成发送具有配置值的配置TU以允许该介面内存地址空间与在第二组件的本地地址空间之间映射。
23.如权利要求22所述的第一组件,其中,该第一处理器还可操作成:
建立具有类型栏位的每一该配置TU,该类型栏位指示每一该配置TU为一配置TU;以及
建立具有类型栏位的该内存存取请求TU,该类型栏位指示该内存存取请求TU为一内存存取请求TU。
24.一种用于在具有多个处理组件的装置中促进内存映射资源共享的方法,包括:通过互连该装置的该多个组件的总线上的连接,从需要存取内存映射资源的该装置的启动组件朝向具有内存映射资源的该装置的目标组件发送多个交易单元(TU),以建立一通道;
该多个TU包括一个或多个配置TU,每一配置TU具有该通道的配置参数;
通过该通道,从该启动组件发送内存存取请求至该目标组件,该内存存取请求TU具有内存存取请求。
25.如权利要求24所述的方法,还包括根据该启动组件的总线协定,从该启动组件的子组件接收子组件内存存取请求,以及从该子组件内存存取请求制定该内存存取请求TU。
26.如权利要求25所述的方法还包括接收于该目标组件的该内存存取请求,以及从该内存存取请求TU撷取数值,根据该目标组件的总线协定,以制定本地内存存取请求。
27.如权利要求25所述的方法还包括回应于接收该内存存取请求TU,从该目标组件发送回应TU至该启动组件。
28.一种具有多个组件的装置,包括:
第一组件,具有第一处理器;
第二组件,具有第二处理器与内存;
总线;
该第一组件与该第二组件,具有实体连接至该总线;
该第一处理器可操作成:
通过该总线上的连接,发送多个交易单元(TU)至该第二组件,以建立一通道,该多个TU包括一个或多个配置TU,每一配置TU具有用于该通道的配置参数;
通过该通道,发送内存存取请求TU至该第二组件,该内存存取请求TU具有内存存取请求。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/356,898 | 2009-01-21 | ||
US12/356,898 US7895380B2 (en) | 2009-01-21 | 2009-01-21 | Communication protocol for sharing memory resources between components of a device |
PCT/CA2010/000082 WO2010083596A1 (en) | 2009-01-21 | 2010-01-20 | Communication protocol for sharing memory resources between components of a device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102292714A true CN102292714A (zh) | 2011-12-21 |
CN102292714B CN102292714B (zh) | 2016-01-06 |
Family
ID=42337851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080005029.9A Active CN102292714B (zh) | 2009-01-21 | 2010-01-20 | 装置组件之间的内存资源共享的通讯协定 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7895380B2 (zh) |
EP (1) | EP2389632B1 (zh) |
JP (1) | JP5624997B2 (zh) |
KR (1) | KR101559089B1 (zh) |
CN (1) | CN102292714B (zh) |
WO (1) | WO2010083596A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101857791B1 (ko) * | 2011-08-30 | 2018-05-16 | 삼성전자주식회사 | 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 |
CN103294710B (zh) * | 2012-02-28 | 2016-08-31 | 北京新媒传信科技有限公司 | 一种数据存取方法和装置 |
KR101424568B1 (ko) * | 2012-10-12 | 2014-08-01 | (주)티베로 | 트랜잭션 재시작 가능한 클라이언트 장치와 데이터베이스 서버 및 방법 |
WO2014158177A1 (en) * | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Shared memory system |
KR101915944B1 (ko) * | 2017-05-08 | 2018-11-08 | 주식회사 애포샤 | 클러스터 시스템에서의 클라이언트 요청 처리 방법, 상기 클라이언트 요청에 따른 입출력 처리 방법 및 장치 |
KR102197247B1 (ko) | 2017-06-01 | 2020-12-31 | 한국전자통신연구원 | 파라미터 서버 및 그것에 의해 수행되는 분산 딥러닝 파라미터 공유 방법 |
KR102190511B1 (ko) | 2019-03-06 | 2020-12-14 | 한국전자통신연구원 | 이종 클러스터 기반의 분산 딥러닝 방법 및 이를 위한 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003019393A1 (en) * | 2001-08-24 | 2003-03-06 | Intel Corporation | A general intput/output architecture, protocol and related methods to implement flow control |
JP2003198356A (ja) * | 2001-12-25 | 2003-07-11 | Hitachi Ltd | 半導体チップおよび集積回路 |
JP2006520956A (ja) * | 2003-03-12 | 2006-09-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを転送するためのデータ処理の装置および方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014710A (en) * | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | System and method for message transmission between network nodes using remote wires |
JP2001175631A (ja) * | 1999-12-17 | 2001-06-29 | Mitsubishi Electric Corp | Cpuカード及びデータ通信方法 |
US6633296B1 (en) | 2000-05-26 | 2003-10-14 | Ati International Srl | Apparatus for providing data to a plurality of graphics processors and method thereof |
JP2002215480A (ja) * | 2001-01-15 | 2002-08-02 | Sony Corp | マルチプロセッサ・システム及びマルチプロセッサ・システムにおけるデータ通信制御方法 |
US7346078B2 (en) | 2002-05-15 | 2008-03-18 | Broadcom Corporation | Processing of received data within a multiple processor device |
US7949794B2 (en) * | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US7562176B2 (en) * | 2007-02-28 | 2009-07-14 | Lsi Corporation | Apparatus and methods for clustering multiple independent PCI express hierarchies |
-
2009
- 2009-01-21 US US12/356,898 patent/US7895380B2/en active Active
-
2010
- 2010-01-20 KR KR1020117016806A patent/KR101559089B1/ko active IP Right Grant
- 2010-01-20 WO PCT/CA2010/000082 patent/WO2010083596A1/en active Application Filing
- 2010-01-20 EP EP10733171.2A patent/EP2389632B1/en active Active
- 2010-01-20 CN CN201080005029.9A patent/CN102292714B/zh active Active
- 2010-01-20 JP JP2011546551A patent/JP5624997B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003019393A1 (en) * | 2001-08-24 | 2003-03-06 | Intel Corporation | A general intput/output architecture, protocol and related methods to implement flow control |
JP2003198356A (ja) * | 2001-12-25 | 2003-07-11 | Hitachi Ltd | 半導体チップおよび集積回路 |
JP2006520956A (ja) * | 2003-03-12 | 2006-09-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを転送するためのデータ処理の装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2012515960A (ja) | 2012-07-12 |
EP2389632A1 (en) | 2011-11-30 |
EP2389632A4 (en) | 2013-11-13 |
US7895380B2 (en) | 2011-02-22 |
US20100185800A1 (en) | 2010-07-22 |
EP2389632B1 (en) | 2016-08-10 |
WO2010083596A1 (en) | 2010-07-29 |
KR20110110199A (ko) | 2011-10-06 |
KR101559089B1 (ko) | 2015-10-08 |
JP5624997B2 (ja) | 2014-11-12 |
CN102292714B (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1307570C (zh) | 控制数据处理系统间经由存储器的数据流的方法和装置 | |
CN102292714B (zh) | 装置组件之间的内存资源共享的通讯协定 | |
CN100412848C (zh) | 计算机网络和计算机系统 | |
US9213662B2 (en) | I/O bus system | |
JPS61212940A (ja) | マルチネツトワ−クシステムのデ−タ伝送方法 | |
CN105051706A (zh) | 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统 | |
JPS63284654A (ja) | プロトコルエンジン | |
CN102110072A (zh) | 一种多处理器完全互访的方法及系统 | |
TW201901467A (zh) | 從設備主設備-寫入/讀取資料包有效負荷擴展 | |
CN109308283A (zh) | 一种SoC片上系统及其外设总线切换方法 | |
CN107911391A (zh) | 一种基于fpga的axi协议与spi协议转换的方法 | |
CN105095139A (zh) | 集成电路总线系统及其数据操作和传输方法 | |
CN105814537A (zh) | 可扩展输入/输出系统和技术 | |
CN101158930A (zh) | 一种外部控制dma控制器的方法及其装置 | |
US20050066074A1 (en) | Communication device and method having a common platform | |
CN103685578B (zh) | 主从设备的数据传输方法 | |
CN107436851A (zh) | 串行外设接口四线隔离系统及其控制方法 | |
CN109165185A (zh) | 一种基于FPGA的PCIe信号的转换方法及装置 | |
CN219574799U (zh) | 一种基于amba总线的多总线桥接器及其片上系统 | |
CN209560543U (zh) | 大数据运算芯片 | |
CN107704407A (zh) | 一种用于spi和uart之间数据处理的系统和方法 | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN104104594B (zh) | Vsu的协议报文发送与接收方法、设备及系统 | |
US20190286606A1 (en) | Network-on-chip and computer system including the same | |
CN109491949A (zh) | 基于Zynq的动态可重构框架及方法 |
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 |