CN101135993A - 一种嵌入式系统芯片及数据读写处理方法 - Google Patents
一种嵌入式系统芯片及数据读写处理方法 Download PDFInfo
- Publication number
- CN101135993A CN101135993A CNA200710077251XA CN200710077251A CN101135993A CN 101135993 A CN101135993 A CN 101135993A CN A200710077251X A CNA200710077251X A CN A200710077251XA CN 200710077251 A CN200710077251 A CN 200710077251A CN 101135993 A CN101135993 A CN 101135993A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- read
- write operation
- cache device
- 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
Abstract
本发明适用于数据处理领域,提供了一种嵌入式系统芯片及数据读写处理方法,所述芯片包括一个牺牲高速缓存器,其使用系统中未使用的虚假地址,与总线交叉模块的一个主设备接口和一个从设备接口连接,用于存储主设备最近写出的数据,对满足其地址段的主设备的读写操作进行判定;以及判定单元,位于总线交叉模块与主设备接口的地址通道上,用于根据所述牺牲高速缓存器的地址段对主设备读写操作的地址进行预判定,将判定满足所述牺牲高速缓存器地址段的读写操作传送给所述牺牲高速缓存器,在所述牺牲高速缓存器判定主设备的读写操作满足判定时,将主设备读写操作的地址修改为虚假地址,传送给总线交叉模块,可以减少存储器接口访问的数据量。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种嵌入式系统芯片及数据读写处理方法。
背景技术
随着嵌入式系统芯片(System on Chip,SoC)的设计变得越来越复杂,包括多处理器多业务模型协同工作、数据流优化、频率提升等在内的新的需求,使得SoC从以数据处理为中心(Data Processing Centric)演变到以数据流为中心(Data Flow Centric)。现有的互联协议如高性能总线(AdvancedHigh-performance Bus,AHB)存在很多局限性,多个主设备(Master)对总线的争夺所带来的巨大负荷,降低了数据的有效速率;无法支持嵌入式处理器更高级的指令执行机制,例如高速缓存器(Cache)在失效的情况下能够继续命中的机制;原有总线架构上的超长逻辑路径造成的延迟限制了总线频率的提升;网际协议(Internet Protocol,IP)接口的设计复杂等。
在这种背景下,出现了新一代的互联协议,如先进可扩展接口(AdvancedeXtensible Interface,AXI)、开放核协议(Open Core Protocol,OCP)、红紫色(Magenta,一种基于分组传输的总线协议)等。这些新的互联协议的特性主要包括:多个通道进行传输,通道之间依赖性较小;传输基于连续传输进行,连续传输由单个地址发起;支持请求挂起(Outstanding)与乱序传输(Out-of-Order)。
以AXI协议为例,如图1所示,AXI传输基于5个物理通道进行,将传输按方向分为五种分组(Packet),每个具体传输包含了其中若干种分组(即使用若干种通道)。其中分组之间的依赖性很小,没有固定的相位关系,因此每一个分组所传输的通道可以随意设置,根据应用通常可以设置若干级数的流水线(Pipelining)。AXI的典型连续传输由一个地址与控制的分组与若干数据分组组成,这在高速缓存器的地址判定中非常方便。AXI还支持请求挂起与乱序传输,即主设备或从设备(Slave)都可以存在若干活动(Active)但未完成的操作,并通过标签标识(Tag ID)进行顺序控制。
总线交叉模块(Switch)结构是互联协议的一种基本总线架构,通常使用在两个或多个主设备且每个主设备需要访问两个或多个从设备的场景,如图2所示。与共享总线(Shared Bus)不同,总线交叉模块结构允许不同的主设备同时访问不同的从设备。在这种结构下,每次传输都基于通道进行交换,每一个通道都相当于一个私有的联结关系,主设备与从设备就基于该联结不受干扰地进行传输。在图2中,主设备A访问从设备B的同时,主设备B也在访问从设备A,假设两个通道支持100Mbyte/s的传输速率,则总线交叉模块上同时就有200MByte/s的有效传输速率。
高速缓存器与主存储器(Main Memory)以数据块为单位进行数据交换。当中央处理器(Central Processing Unit,CPU)读取数据或者指令时,它将读取到的数据或指令同时保存到高速缓存器中。当CPU第二次需要读取相同或相近的数据时可以从高速缓存器中获取。由于高速缓存器的速度远大于主存储器速度,从而使得系统的整体性能得到了很大的提高。牺牲高速缓存器(VictimCache)相当于一个小的全级联高速缓存器,它包含高速缓存器中由于缺失而被替换的数据块,在缺失发生时,需要同时检查牺牲高速缓存器中的数据。
目前,很多相联性、时序性和带宽需求较高的IP均选择OCP、AXI等新一代互联协议,以总线交叉模块结构进行交互并形成一个高速核心子系统。如图3所示,这种高速核心子系统中的主设备包括直接存储器访问控制器(DirectMemory Access Controller,DMAC)、CPU、数字信号处理器(Data SignalProcessor,DSP)和一些业务模块,从设备包括存储器接口与一个到两个总线桥(总线桥用于桥接系统中的慢速设备),多个主设备同时可以访问不同的从设备,主设备经总线交叉模块通过存储器接口与存储器交互,实现数据的读写操作。
OCP、AXI等新的总线协议大幅度提升了总线的传输带宽与总线利用率,但整个系统的性能还是严重受制于存储器接口的带宽瓶颈,无论是DMAC、CPU还是业务模块,对慢速设备的访问都不是很多,其主要数据流集中在存储器接口上。由于对成本敏感,难以增加存储器数量,主设备常常会集中争夺存储器接口的传输带宽。由于一个存储器接口上总的带宽是有限的,而且大多数动态存储器,例如双倍数据速率(Double Data Rate,DDR)的访问延迟非常大,所以优先级较低的主设备常常需要等待相当长的周期才能获取数据。在业务比较复杂的情况下,存储器接口会严重影响系统性能,即使通过请求挂起与乱序传输特性进行优化,或者用二级缓存(L2 Cache)减少CPU对外的访问频率,仍然难以有效解决存储器接口的拥塞。
发明内容
本发明实施例的目的在于提供一种嵌入式系统芯片,旨在解决现有技术中由于存储器接口的传输带宽有限,在主设备与存储器之间进行数据读写时,容易造成存储器接口拥塞,影响系统性能的问题。
本发明实施例是这样实现的,一种嵌入式系统芯片,包括总线交叉模块和多个主设备,所述芯片还包括:
一个牺牲高速缓存器,使用系统中未使用的虚假地址,与所述总线交叉模块的一个主设备接口和一个从设备接口连接,用于存储主设备最近写出的数据,对满足所述牺牲高速缓存器地址段的主设备的读写操作进行判定;以及
判定单元,位于总线交叉模块与主设备接口的地址通道上,用于根据所述牺牲高速缓存器的地址段对主设备读写操作的地址进行预判定,将判定满足所述牺牲高速缓存器地址段的读写操作传送给所述牺牲高速缓存器,在所述牺牲高速缓存器判定主设备的读写操作满足判定时,将主设备读写操作的地址修改为虚假地址,传送给所述总线交叉模块。
本发明实施例的另一目的在于提供一种数据读写处理方法,所述方法包括下述步骤:
接收主设备的读写操作请求;
根据系统配置的牺牲高速缓存器的地址段,对所述读写操作的地址进行判定;
当所述读写操作的地址满足判定时,将主设备读写操作的地址修改为虚假地址,传送给总线交叉模块,在所述牺牲高速缓存器中完成所述读写操作。
本发明实施例在总线交叉模块上增加牺牲高速缓存器,对主设备的读写操作进行地址判定,如果满足判定则主设备的读、写操作在牺牲高速缓存器中完成,从而减少了存储器接口访问的数据量,节省了带宽,改善了数据流的延时状况,加快了数据访问速度,提高了系统的整体性能。
附图说明
图1是现有技术中AXI协议的架构示意图;
图2是现有通过总线交叉模块实现数据交换的原理示意图;
图3是现有以总线交叉模块结构形成的嵌入式系统芯片的结构图;
图4是本发明实施例中以总线交叉模块结构形成的嵌入式系统芯片的结构图;
图5是本发明实施例中对临时数据进行处理的实现原理图;
图6是本发明实施例提供牺牲高速缓存器的结构示意图;
图7是本发明实施例中牺牲高速缓存器的仲裁单元进行仲裁与判定的流水线时序图;
图8是本发明实施例提供的判定单元的结构图;
图9是本发明实施例中判定单元与牺牲高速缓存器之间判定交互的时序图;
图10是现有网络类典型的临时缓存场景示意图;
图11是在图10所示的场景下本发明实施例中的数据流示意图;
图12是现有多个主设备进行数据交互的数据流示意图;
图13是在图12所示的场景下本发明实施例中的数据流示意图;
图14是现有上级数据高速缓存器发生冲突缺失的数据流示意图;
图15是在图14所示的场景下本发明实施例中的数据流示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中在现有总线交叉模块的结构上增加一个主设备接口和一个从设备接口,以环回的方式扩展系统级的牺牲高速缓存器,存储各主设备最近写出的数据,主设备的读写操作通过判定单元和牺牲高速缓存器进行判定,如果满足判定,则读写操作在牺牲高速缓存器中完成,可以减少存储器接口访问的数据量。
图4示出了本发明实施例提供的SOC芯片的结构,为了便于说明仅示出了与本发明实施例相关的部分。
本发明实施例在总线交叉模块上分别增加了一个主设备接口和一个从设备接口,牺牲高速缓冲器通过该主设备接口和从设备接口与总线交叉模块相连,存储主设备最近写出的数据。该牺牲高速缓冲存储器为系统级,被CPU、DMAC、DSP、业务模块等主设备共用。在本发明实施例中,牺牲高速缓存器的地址使用系统中未使用的空闲地址,即虚假(Dummy)地址来映射存储器空间。
判定单元(Judge Unit,JU)位于总线交叉模块与各主设备接口的地址通道上,对主设备读写操作的地址进行预判定,将判定满足牺牲高速缓存器地址段的读写操作传送给牺牲高速缓存器进行进一步判定,如果牺牲高速缓存器判定主设备读写操作的地址满足判定时,判定单元将主设备读写操作的地址修改为虚假地址后传送给总线交叉模块,从而在牺牲高速缓存器中完成主设备的读写操作。
当主设备发起写操作请求时,判定单元根据牺牲高速缓存器中配置的地址段对主设备的写操作请求中的写地址进行预判定。当判定主设备写操作请求中的写地址满足牺牲高速缓存器的地址段时,将主设备写操作请求发送给牺牲高速缓存器做进一步判定。如果牺牲高速缓存器判定主设备读写操作的地址满足判定时,判定单元将主设备写操作请求中的写地址修改为牺牲高速缓存器的虚假地址,并将该虚假地址传送总线交叉模块,总线交叉模块利用该虚假地址建立传输通道,通过建立的传输通道将主设备的数据写入牺牲高速缓存器。
当主设备发起读操作请求时,判定单元根据牺牲高速缓存器配置的地址段对主设备读操作请求中的读地址进行判定,检查牺牲高速缓存器中是否存储有该读地址对应的数据,有则将主设备读操作请求中的读地址修改为牺牲高速缓存器的虚假地址,并将该虚假地址传送总线交叉模块,总线交叉模块根据该地址建立传输通道,将数据从牺牲高速缓存器返回给主设备。
在本发明实施例中,在牺牲高速缓存器中处理的数据是具有时间和空间局部性特征的数据,主要是原存储器接口中临时缓存的数据、主设备互相交互的数据、以及上级数据高速缓存器发生冲突缺失时需要访问的数据。作为本发明的一个实施例,主要是针对主设备的可缓存且地址以16/8/4字(Words)对齐的数据。这些数据都可以被牺牲高速缓存器临时缓存,主设备需要该数据时,可以直接从牺牲高速缓存器接口获取,无需访问存储器接口,以减少存储器接口的数据访问量。
本发明实施例中,上述数据的地址段在牺牲高速缓存器中设置,该地址段包含在存储器地址段内,可以为虚假地址的地址段,也可以是虚假地址段内的敏感地址段。在本发明实施例中,虚假地址与存储器地址存在一一映射关系。牺牲高速缓存器将配置的地址段输出给判定单元,判定单元根据该地址段对主设备读写操作中的地址进行预判定。
上述数据的访问目标均为存储器接口,并且这些数据都是可缓存(Buffer)的,即写操作允许存在延迟,地址不相关的写操作可以乱序完成,并且主设备不需要写操作最终的宿端的写应答信息,其可能的数据流如下表所示:
主设备 | 数据类型 | 数据长度 |
CPU | CPU Cache替换时排出的脏数据。 | Cache数据块长度,8Words。 |
CPU | CPU向存储器的写操作。 | 1-4 Words。 |
DMAC | 外设接口与存储器之间的数据搬运。 | 通常为外设FIFO的一半,即4 Words。 |
DMAC | 业务模块或DSP与存储器之间的数据搬运。 | 1-4KB |
业务模块 | 业务模块与存储器之间的数据搬运。 | 1-4KB |
DSP | DSP与存储器之间的数据搬运。 | 1-4KB |
CPU、DMAC、业务模块、DSP | Exclusive数据传输。 | 1-16 Words |
CPU、DMAC、业务模块、DSP | Lock数据传输。 | 1 Words-4KB |
上表中的数据类型大致可以分为五类,CPU Cache替换时排出的脏数据、CPU对存储器直接的写操作、业务模块与存储器之间的数据搬运、独占(Exclusive)数据传输和锁定(Lock)数据传输,其中:
CPU Cache替换时排出的脏数据是CPU在存储器上的数据操作,该数据与CPU Cache中的数据块的大小相同,通常为8Words对齐。在本发明实施例中,判定单元将该类型数据的地址修改为虚假地址,由总线交叉模块将其写入牺牲高速缓存器中。根据程序的局部性原理,CPU很可能会在短时间内再次访问该数据,此时,CPU可以通过牺牲高速缓存器很快读写该数据,能够有效降低CPU Cache的冲突缺失与存储器接口的访问量。
CPU对存储器直接的写操作包括多种,可能是写通Cache在命中时的写,可能是非写定位的Cache的写失效,也可能是CPU直接对存储器的访问。CPU对这些数据再次进行访问的概率较上一种操作要低,而且这些操作的数据块长度为一般为1~4Words,本发明实施例中,牺牲高速缓存器中数据块的大小通常为16Words,因此,这些操作的数据长度如果为4Words且地址对齐,则将其写入牺牲高速缓存器,其他数据如果没有命中牺牲高速缓存器,在牺牲高速缓存器内经过相关判定后,直接写入存储器。写入牺牲高速缓存器的数据可以被CPU直接访问,以减少存储器接口访问量。
业务相关的数据包括业务模块、DSP、以及DMAC之间的数据交互,这些数据的长度较长,按照乒乓球操作结构,业务数据的处理通常是以1KB~4KB为一个乒乓,同时有4~8个乒乓交互执行,因此牺牲高速缓存器的容量要大于乒乓结构的总数据量,以减少数据的冲突缺失。这些数据具有短时间的局限性,即写入不久以后会被读取,但再次读取的概率不高。根据数据的这种特性,可以保存在牺牲高速缓存器中,如果其他主设备访问该数据,可以从牺牲高速缓存器获取数据,以减少存储器接口访问量。
独占操作可以由任何一个主设备产生,收到主设备的独占操作请求时,牺牲高速缓存器先检查其内部数据是否具有地址相关性,如果有,则先将相关地址的数据写出,然后再将独占操作对应的数据由主设备直接传送给存储器。
锁定操作也可以由任何一个主设备产生,用于锁定目标从设备,使其只能被该主设备访问,该操作主要用于对访问即时性要求较高的数据。在本发明实施例中,如果锁定操作发出,则牺牲高速缓存器固定对发起锁定操作的主设备进行地址判定,直到锁定操作解除。命中牺牲高速缓存器中的数据,则该操作在牺牲高速缓存器中完成,如果该操作无法在牺牲高速缓存器中完成,则直接发给存储器。牺牲高速缓存器地址命中时,主设备可以快速从牺牲高速缓存器中获取数据,减少了存储器接口的访问量。
上述类型的数据能够被牺牲高速缓存器处理,主要原因是其访问的目标都是动态存储器。动态存储器的数据只通过存储器接口进行读写,牺牲高速缓存器中的数据副本不会造成系统一致性问题。同时,动态存储器的写操作都是可缓存的,即使有延迟也不会影响系统正确性,而且主设备通常也不需要最终存储器反馈的写应答信息(通常主设备只能获取下级缓存的写应答信息)。另外,动态存储器的写操作只与相同地址的读、写操作具有相关性,对相邻或相异的地址操作没有相关性,非相关的写数据可以不按照最初的写操作顺序完成。
在本发明实施例中,由于主设备与主设备之间无法直接进行数据交互,当某个主设备获取数据后,需要将数据写入存储器,然后再通知另一个主设备将数据取走。这种数据的特点是数据只是一次有效,即该数据被取走后,可以直接将数据丢弃。
对于这种临时(Temp)数据,判定单元在判定时将判定结果信息通过特殊的标识通知牺牲高速缓存器(主设备也可以直接置位标识信号来通知),例如在AXI总线上使用AR(W)CACHE信号通知牺牲高速缓存器。
临时数据虽然为脏数据,但在被读取后可以直接丢弃,而不需要写入存储器,如图5所示。当临时数据在写入牺牲高速缓存器后,如果在短时间内能够被主设备读取,则读取后可以直接丢弃,如果长时间主设备没有读取该临时数据,牺牲高速缓存器有可能对该临时数据产生替换,此时牺牲高速缓存器则将该临时数据写入存储器,以后主设备读取该临时数据时,需要由牺牲高速缓存器转发读操作,从存储器中读取。
在本发明实施例中,由于牺牲高速缓存器所处理的是存储器地址的数据,存储器只有一个访问接口,所有访问该接口的请求操作都通过牺牲高速缓存器进行,一致性在牺牲高速缓存器内部能够得到保证。另外,本发明实施例也不需要负责AXI防死锁。
图6示出了本发明实施例提供的牺牲高速缓存器的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
通过地址段配置单元61,可以配置在牺牲高速缓存器中处理的数据的使能地址段信息,具体实现时可以由CPU通过配置接口进行配置。
在本发明实施例中,可以预先配置三个地址段:一个是可以进行牺牲高速缓存器处理的敏感地址段,该地址段可以小于虚假地址段,也可以就是虚假地址段;一个是临时数据地址段,该地址段小于敏感地址段;一个是与敏感地址段对应的虚假地址段,该地址段是系统中没有使用的空闲地址段。
由于存储器地址段通常为0x?0000000-0x?0000000,因此,敏感地址段与虚假地址段都可以设置为0x?0000000-0x?0000000。例如存储器地址为0x20000000-0x50000000,则敏感地址段可设置为0x20000000-0x38000000,虚假地址段为空闲的0x90000000-0xB0000000。为方便设计,虚假地址与存储器地址最好具有相同的颗粒度,如上例所示,存储器地址与虚假地址只需要改变32位地址的高4位映射即可。
虚假地址段设置在存储器映射表(Memory Map)中,预先固定在判定单元中。敏感地址段与临时地址段可以通过地址段配置单元61配置,地址段配置单元61将配置后的地址段信息传递给判定单元,用于对主设备读写操作的地址进行预判定,也可以通过互联协议的控制信息实现,例如AXI中的AR(W)CACHE信号,还可由主设备发起读写操作时直接提供给判定单元。
数据存储器(Data RAM)62中存储了在牺牲高速缓存器中缓存的数据。数据信息记录单元63记录有数据存储器62中存储的每一个数据块的信息,例如数据块的地址(Tag ID)、是否为脏(Dirty)、是否有效(Valid)、最近最少使用信息(LRU)等。
仲裁单元(Arbiter)64对各个判定单元发出的判定请求进行仲裁,将当前周期对应的判定单元发出的判定请求中的地址信息和控制信息传递给判断逻辑单元66。仲裁单元64在对判定单元发出的判定请求进行仲裁时可以使用流水线方式进行,以保证一周期一判定(Judge)的吞吐率,如图7所示。特别是锁定信息有效时,仲裁单元64将固定仲裁发起锁定操作判定请求的判定单元,直到锁定操作结束。在本发明实施例中,仲裁单元64可以使用先进先出(First InFirst Out,FIFO)方式,有利于实现多个主设备的读写相关一致性。
命中记录单元65中记录有满足判定,但还未从从设备接口中完成的读写操作请求。
当判断逻辑单元(Judge Logic,JU)66收到仲裁单元64传送的主设备读操作的地址信息和控制信息后,读取数据存储器62中保存的数据在数据信息记录单元63中记录的地址,将该地址与主设备读操作的地址进行比对,判断主设备读操作请求中的地址对应的数据是否在数据存储器62中。
如果数据在数据存储器62中,则判断逻辑单元66在命中记录单元65中记录该读操作请求,并将读操作命中的判定结果信息返回判定单元。判定单元将主设备读操作请求中的地址修改为对应的虚假地址,将该虚假地址传送给总线交叉模块。总线交叉模块将该虚假地址通过与牺牲高速缓存器连接的从设备接口的地址通道(ADDRS)传送给指令缓存器(Command Buffer)67。指令缓存器67向数据存储器62传送一个读操作指令,数据存储器62将数据通过牺牲高速缓存器与总线交叉模块连接的从设备接口的数据通道(RDATAS)传送给总线交叉模块,由总线交叉模块将数据传送给对应的主设备。数据读取完成后,指令缓存器67清空该项读操作请求在命中记录单元65中的记录。
如果数据不在数据存储器62中,则判断逻辑单元66将读操作未命中的判定结果信息返回给判定单元,判定单元直接将主设备的读操作请求传送给总线交叉模块,在存储器中完成数据的读操作。
如果通过比对,发现部分数据在数据存储器62中,则判断逻辑单元66通过数据信息记录单元63记录的Dirty信息判断该数据是否更新过,如果更新过,则将向数据存储器62传送读操作指令,并将该数据的地址写入地址写缓存69。数据存储器62将数据传送给数据写缓存68,数据写缓存68和地址写缓存69分别将该数据和该数据的地址通过牺牲高速缓存器与总线交叉模块连接的主设备接口的写数据通道(WDATAM)和地址通道(ADDRM)传送给总线交叉模块,由总线交叉模块通过存储器接口写入存储器。然后,判断逻辑单元66向判定单元返回读操作未命中的判定结果信息。如果数据未更新过,则修改数据信息记录单元63中的相应信息,将数据丢弃,并将读操作未命中的判定结果信息返回给判定单元,判定单元直接将主设备读操作请求传送给总线交叉模块,从而在存储器中完成数据的读操作。
判断逻辑单元66收到仲裁单元64传送的主设备写操作请求中的地址信息和控制信息后,判断逻辑单元66读取数据存储器62中保存的数据在数据信息记录单元63中记录的地址,进行比对,判断主设备写操作请求中的地址是否写命中。
如果判断逻辑单元66判断写命中,则判断逻辑单元66在命中记录单元65中记录该写操作请求,并将写操作命中的判定结果信息返回判定单元。判定单元将主设备写操作请求中的地址修改为对应的虚假地址,将该虚假地址传送给总线交叉模块,总线交叉模块将该虚假地址通过与牺牲高速缓存器连接的从设备接口的地址通道(ADDRS)传送给指令缓存器67。指令缓存器67向数据存储器62传送一个写操作指令,总线交叉模块将数据通过与牺牲高速缓存器连接的从设备接口的写数据通道(WDATAS)写入数据存储器62,将数据存储器62中的原数据更新。写入完成后,指令缓存器67将命中记录单元65中该项写操作请求的记录清空。
如果判断逻辑单元66判断写未命中,但是数据需要写入牺牲高速缓存器,例如该数据可能短时间内被读取或者被更新,此时判断逻辑单元66根据数据信息记录单元63记录的Dirty和Valid信息,判断数据存储器62中是否存在空闲空间,如果数据存储器62中存在空闲空间,判断逻辑单元66向判定单元返回可以写入的判定结果信息,并在命中记录单元65中记录该写操作请求,后续操作与上述写命中相同,不再赘述。如果数据存储器62中没有空闲空间,但数据可以丢弃,则判断逻辑单元66修改数据信息记录单元63中的相应信息,将数据丢弃,向判定单元返回可以写入的判定结果信息,并在命中记录单元65中记录该写操作请求,后续操作与上述写命中相同,不再赘述。
如果数据存储器62中没有空闲空间,且数据不可以丢弃,判断逻辑单元66修改数据信息记录单元63中的相应信息,将该数据的地址写入地址写缓存69,向数据存储器62传送一个读请求,数据存储器62将数据写入数据写缓存68,数据写缓存68和地址写缓存69分别将数据和地址通过牺牲高速缓存器与总线交叉模块连接的主设备接口的写数据通道(WDATAM)和地址通道(ADDRM)将该数据和该数据的地址传送给总线交叉模块,由总线交叉模块写入存储器。然后,判断逻辑单元66向判定单元返回可以写入的判定结果信息,并在命中记录单元65中记录该写操作请求,后续操作与写命中相同,不再赘述。
如果判断逻辑单元66判断写未命中,且数据也不需要写入牺牲高速缓存器,则向判定单元返回写未命中的判定结果信息,判定单元将写操作请求传送给总线交叉模块,由总线交叉模块将数据通过存储器接口写入存储器。
图8示出了本发明实施例提供的判定单元的结构,为了便于说明,仅示出了与本发明相关的部分。
地址判定模块81接收主设备的读写操作请求,读写操作请求中除了读写操作的地址外,还包括一些控制信息,例如数据的位宽、长度、Tag ID等。地址判定模块81根据牺牲高速缓存器中配置的使能地址段,例如虚假地址段、敏感地址段、或者临时数据地址段,判定读写操作请求的地址是否符合牺牲高速缓存器的地址段,是则将读写操作请求传送给缓拍判定模块(JU Slice)82,由缓拍判定模块82传送给牺牲高速缓存器进行进一步判定。否则,地址判定模块81判定缓拍判定模块82中是否有等待处理的读写操作请求,如果有则判定主设备的读写操作请求是否与缓拍判定模块82中等待处理的读写操作请求中的地址是一个Tag ID,是则等待,将读写操作请求按顺序发出。如果缓拍判定模块82中没有等待处理的读写操作请求,则说明允许乱序发出,地址判定模块81将主设备的读写操作请求通过多路选择器84直接传送给总线交叉模块。
缓拍判定模块82根据地址判定模块81传送的读写操作请求向牺牲高速缓存器发出判定请求,携带主设备读写操作的地址和相应的控制信息。牺牲高速缓存器获取判定请求后对主设备的读写操作的地址进行判定,如果满足判定则向缓拍判定模块82返回有效的判定结果信息,否则向缓拍判定模块82返回无效的判定结果信息。
当收到牺牲高速缓存器返回的无效的判定结果信息时,缓拍判定模块82将主设备读写操作的地址和相应的控制信息传送给多路选择器84,通过多路选择器84传送给总线交叉模块。当收到牺牲高速缓存器返回的有效的判定结果信息时,缓拍判定模块82将主设备读写操作的地址和相应的控制信息传送给地址修改模块83。
地址修改模块83将主设备读写操作的地址修改为牺牲高速缓存器的虚假地址,并通过附加信息,例如AW(R)CACHE信号附加命中信息,包括地址命中还是写入,是否为临时数据,命中或替换哪一路数据(如果牺牲高速缓存器为4路,需要两位来标识)等,将修改后的地址传送给多路选择器84,由多路选择器84传送总线交叉模块。
缓拍判定模块82与牺牲高速缓存器之间的交互可使用点到点的双向握手信号,如图9所示,缓拍判定模块82向牺牲高速缓存器发起判定请求(Request),牺牲高速缓存器如果在当前周期内仲裁结果为该判定单元,则会在下一拍进行判定。如果是命中或无相关性,牺牲高速缓存器只需要两个周期进行判定,如果具有相关性或发生替换,则还需要在写出数据块后再向缓拍判定模块82返回判定结果信息。
在本发明实施例中,系统将各个主设备的4/8/16Words数据写入牺牲高速缓存器,第一次写操作可以高效完成,牺牲高速缓存器在发生替换时才将写入存储器,相当于实现了一个很大的写缓存,对写操作有很大的优化,主设备对数据的读写操作如果能够命中牺牲高速缓存器,读、写操作都可以在通过牺牲高速缓存器完成,可以大大减少存储器的负荷。
对存储器中临时缓存的数据而言,如图10中所示,在现有方案中,图像或语音数据由外部接口写入DSP,DSP编码后写入存储器某一块区域,CPU同时在存储器另一块区域中写入帧头信息,然后DMAC将数据与帧头一起读出,组成完整的数据帧传送出去。该业务流数据临时缓存在存储器中(存储器可被反压以适配接口速率),存储器在短时间内被连续读写,假设数据量为100Mbps,则存储器接口带宽需求为200Mbps,由于外部存储器读写延时较大,数据流还存在一定的延时。
增加系统高速缓存器后数据流如图11所示,DSP与CPU的数据流经过判定单元判定后直接写入牺牲高速缓存器中,理想情况下,DMAC需要搬运的数据都可以命中牺牲高速缓存器,数据从牺牲高速缓存器中获取,并且数据为临时数据,不需要回写存储器。这种情况下,存储器接口可节省带宽200Mbps,并且数据流的延时非常小。非理想状态下,如果数据不是临时数据(例如差分编码,需要以前帧数据做参考),则数据最终必须写入存储器,如图双点划线所示,需要存储器接口100Mbps带宽。如果数据的时间局部性较差(包括短时间内写入大量数据与写入的数据短时间内不被写出),则牺牲高速缓存器会由于冲突发生而将数据写回存储器,如图虚线所画,部分数据还是需要从存储器中获取,此时节省的带宽将小于200Mbps,数据延时也会较理想情况增加。
对各主设备互相交互的数据而言,现有方案如图12所示,为保证数据一致性,主设备A将写入A、B的共享储存区间,然后DMAC将数据搬运到主设备B的独享储存区间,然后主设备B将数据再取走。存储器在短时间内多次被读写,假设需要交互的数据量为50Mbps,则对存储器接口的带宽要求是200Mbps,由于外部存储器读写延时较大,数据流还存在一定的延时。
增加系统高速缓存器后数据流如图13所示,无论是共享储存区或是独享储存区,都可以映射到牺牲高速缓存器的地址上,此时主设备A写出的数据可以直接写入牺牲高速缓存器,DMAC搬运与主设备B读取都可以从牺牲高速缓存器中获取数据。理想情况下,数据都可以命中牺牲高速缓存器,并且数据为临时数据,不需要回写存储器,存储器接口可节省带宽200Mbps,并且数据流的延时非常小。非理想情况下,如果数据不是临时数据,则数据最终必须写入存储器,如图双点划线所示,需要存储器接口100Mbps带宽。如果数据的时间局部性较差,则牺牲高速缓存器会由于冲突发生而将数据写回存储器,如图虚线所画,部分数据还是需要从存储器中获取,此时节省的带宽将小于200Mbps,数据延时也会较理想情况增加。
对上级数据高速缓存器冲突缺失的数据而言,现有方案如图14所示,当数据相关性较差,或者上级数据高速缓存器的路数不够时,上级数据高速缓存器会发生冲突缺失,将CPU将要读写的数据排出,写到存储器中。如果CPU在很短时间后需要读写该数据,则上级数据高速缓存器又需要从存储器中获取该数据。这种对外部存储器的读写操作会造成CPU数十个周期的停顿,造成CPU性能大幅度的下降。
增加系统高速缓存器后数据流如图15所示,上级数据高速缓存器发生冲突缺失时,CPU将要读写的数据被写入到牺牲高速缓存器中,当CPU短时间后读写该数据,可以从牺牲高速缓存器中获取数据。由于牺牲高速缓存器访问速度较快,大约3-5个周期,远小于外部存储器的数十个周期,CPU性能的下降被大幅度改善。
在对总线上具体的读写操作方面,采用本发明实施例,对于读、写命中牺牲高速缓存器的操作,对存储器的连续传输只延迟两拍就可以完成,不需要访问存储器接口。对于写未命中,但可写入牺牲高速缓存器的操作,对存储器的写操作不需要访问存储器接口即可立即完成,牺牲高速缓存器在替换时再写入存储器。对于临时写未命中,但可写入牺牲高速缓存器的操作,对存储器的写操作不需要访问存储器接口即可立即完成,替换时也需要写入存储器,且读后直接可以空出空间供数据替换时使用。对于多主设备同时产生的相关操作,牺牲高速缓存器的仲裁单元64可以利用FIFO仲裁机制保证相关操作的先后顺序按照其发出的顺序完成。
综上所述,采用本发明实施例,减少了存储器接口访问的数据量,节省了带宽,改善了数据流的延时状况,加快了数据访问速度,提高了系统的整体性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种嵌入式系统芯片,包括总线交叉模块和多个主设备,其特征在于,所述芯片还包括:
一个牺牲高速缓存器,使用系统中未使用的虚假地址,与所述总线交叉模块的一个主设备接口和一个从设备接口连接,用于存储主设备最近写出的数据,对满足所述牺牲高速缓存器地址段的主设备的读写操作进行判定;以及
判定单元,位于总线交叉模块与主设备接口的地址通道上,用于根据所述牺牲高速缓存器的地址段对主设备读写操作的地址进行预判定,将判定满足所述牺牲高速缓存器地址段的读写操作传送给所述牺牲高速缓存器,在所述牺牲高速缓存器判定主设备的读写操作满足判定时,将主设备读写操作的地址修改为虚假地址,传送给所述总线交叉模块。
2.如权利要求1所述的嵌入式系统芯片,其特征在于,所述主设备最近写出的数据包括:原存储器接口中临时缓存的数据,主设备互相交互的数据,或者上级数据高速缓存器发生冲突缺失时需要访问的数据。
3.如权利要求1所述的嵌入式系统芯片,其特征在于,所述牺牲高速缓存器的地址段进一步包含有临时数据地址段,对应于被主设备读取后,所述牺牲高速缓存器将丢弃的临时数据。
4.如权利要求1所述的嵌入式系统芯片,其特征在于,所述牺牲高速缓存器包括:
地址段配置单元,用于配置所述牺牲高速缓存器的地址段信息,将所述地址段信息传送给所述判定单元;
仲裁单元,用于对各个判定单元发出的判定请求进行仲裁,输出当前周期对应的判定单元发出的判定请求;
判定逻辑单元,用于根据所述仲裁单元输出的判定请求,判断所述主设备读写操作是否满足判定,向判定单元返回判定结果信息;以及
命中记录单元,用于记录所述判定逻辑单元判断满足判定,尚未从所述从设备接口中完成的读写操作请求。
5.如权利要求1所述的嵌入式系统芯片,其特征在于,所述仲裁单元对各个判定单元发出的判定请求进行仲裁时采用流水线方式。
6.如权利要求1所述的嵌入式系统芯片,其特征在于,所述判定单元包括:
地址判定模块,用于接收主设备的读写操作请求,判定所述读写操作请求的地址是否满足所述牺牲高速缓存器的地址段;
缓拍判定模块,用于根据地址判定模块传送的满足牺牲高速缓存器的地址段的读写操作请求,向牺牲高速缓存器发出判定请求;
地址修改模块,用于在牺牲高速缓存器判定主设备读写操作的地址满足判定时,将主设备读写操作的地址修改为虚假地址;以及
多路选择器,用于将主设备读写操作的地址或者所述虚假地址传送给总线交叉模块。
7.如权利要求1或4所述的嵌入式系统芯片,其特征在于,所述牺牲高速缓存器的地址段信息由牺牲高速缓存器传送给所述判定单元,或者通过互连协议的控制消息传送给所述判定单元,或者由主设备发起读写操作时直接提供给所述判定单元。
8.如权利要求1所述的嵌入式系统芯片,其特征在于,所述主设备的读写操作满足判定为:读写操作命中所述牺牲高速缓存器,或者写操作未命中所述牺牲高速缓存器,但数据需要写入所述牺牲高速缓存器。
9.一种数据读写处理方法,其特征在于,所述方法包括下述步骤:
接收主设备的读写操作请求;
根据系统配置的牺牲高速缓存器的地址段,对所述读写操作的地址进行判定;
当所述读写操作的地址满足判定时,将主设备读写操作的地址修改为虚假地址,传送给总线交叉模块,在所述牺牲高速缓存器中完成所述读写操作。
10.如权利要求9所述的方法,其特征在于,所述读写操作的地址满足判定为:所述读写操作命中所述牺牲高速缓存器,或者写操作未命中所述牺牲高速缓存器,但数据需要写入所述牺牲高速缓存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710077251XA CN100524252C (zh) | 2007-09-20 | 2007-09-20 | 一种嵌入式系统芯片及数据读写处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710077251XA CN100524252C (zh) | 2007-09-20 | 2007-09-20 | 一种嵌入式系统芯片及数据读写处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101135993A true CN101135993A (zh) | 2008-03-05 |
CN100524252C CN100524252C (zh) | 2009-08-05 |
Family
ID=39160100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200710077251XA Expired - Fee Related CN100524252C (zh) | 2007-09-20 | 2007-09-20 | 一种嵌入式系统芯片及数据读写处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100524252C (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上系统及axi总线下的传输方法 |
CN102012872A (zh) * | 2010-11-24 | 2011-04-13 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
CN102103549A (zh) * | 2009-12-18 | 2011-06-22 | 上海华虹集成电路有限责任公司 | 一种缓存替换方法 |
CN101477505B (zh) * | 2008-12-23 | 2012-11-21 | 无锡中星微电子有限公司 | 一种主、从设备之间通过总线传输数据的方法 |
CN105182221A (zh) * | 2015-10-09 | 2015-12-23 | 天津国芯科技有限公司 | 一种jtag多路选择器及其在单芯片系统中的连接方法 |
CN105187283A (zh) * | 2015-08-21 | 2015-12-23 | 中国科学院计算技术研究所 | 基于EtherCAT协议的工业控制网络从站通信方法及装置 |
CN106371972A (zh) * | 2016-08-31 | 2017-02-01 | 天津国芯科技有限公司 | 用于解决主设备间数据一致性的总线监控方法及装置 |
CN107391413A (zh) * | 2017-07-21 | 2017-11-24 | 南京华捷艾米软件科技有限公司 | 同步零等待总线及其访问方法 |
CN107728948A (zh) * | 2017-10-18 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种存储器性能优化方法及装置、计算机设备 |
WO2019153993A1 (en) * | 2018-02-09 | 2019-08-15 | Huawei Technologies Co., Ltd. | Video playback energy consumption control |
CN110321672A (zh) * | 2019-06-28 | 2019-10-11 | 兆讯恒达微电子技术(北京)有限公司 | 一种生成数据区扰码的方法 |
CN110704351A (zh) * | 2019-09-24 | 2020-01-17 | 山东华芯半导体有限公司 | 基于axi总线的主机设备数据传输扩展方法 |
CN110716888A (zh) * | 2019-09-27 | 2020-01-21 | 山东华芯半导体有限公司 | 一种axi总线缓存机制的实现方法 |
CN111651376A (zh) * | 2020-07-06 | 2020-09-11 | Oppo广东移动通信有限公司 | 数据读写方法、处理器芯片及计算机设备 |
CN111797051A (zh) * | 2020-06-04 | 2020-10-20 | 深圳云天励飞技术有限公司 | 片上系统、数据传送方法及广播模块 |
CN111984562A (zh) * | 2020-09-07 | 2020-11-24 | 盛科网络(苏州)有限公司 | 寄存器突发访问控制的方法、电子设备及存储介质 |
EP3757800A1 (en) * | 2019-06-25 | 2020-12-30 | INTEL Corporation | Memory system, computing system, and methods thereof |
CN112367236A (zh) * | 2021-01-12 | 2021-02-12 | 南京芯驰半导体科技有限公司 | Lin总线的数据调度方法及系统 |
CN112380148A (zh) * | 2020-11-30 | 2021-02-19 | 海光信息技术股份有限公司 | 数据传输方法和数据传输装置 |
CN113568866A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市创成微电子有限公司 | 一种dsp处理器、系统及其与外部从设备交互的方法 |
CN113934378A (zh) * | 2021-11-01 | 2022-01-14 | 新华三技术有限公司合肥分公司 | 一种数据缓存方法、逻辑装置和电子设备 |
CN114063915A (zh) * | 2021-11-10 | 2022-02-18 | 上海航天计算机技术研究所 | 一种用于深空探测的高可靠遥测延时数据管理方法及系统 |
CN116126763A (zh) * | 2023-04-17 | 2023-05-16 | 苏州浪潮智能科技有限公司 | 总线互联系统、数据处理方法、装置、电子设备及介质 |
CN116561020A (zh) * | 2023-05-15 | 2023-08-08 | 合芯科技(苏州)有限公司 | 一种混合缓存粒度下的请求处理方法、设备及存储介质 |
CN113934378B (zh) * | 2021-11-01 | 2024-04-19 | 新华三技术有限公司合肥分公司 | 一种数据缓存方法、逻辑装置和电子设备 |
-
2007
- 2007-09-20 CN CNB200710077251XA patent/CN100524252C/zh not_active Expired - Fee Related
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477505B (zh) * | 2008-12-23 | 2012-11-21 | 无锡中星微电子有限公司 | 一种主、从设备之间通过总线传输数据的方法 |
CN102103549A (zh) * | 2009-12-18 | 2011-06-22 | 上海华虹集成电路有限责任公司 | 一种缓存替换方法 |
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上系统及axi总线下的传输方法 |
CN102012872A (zh) * | 2010-11-24 | 2011-04-13 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
CN102012872B (zh) * | 2010-11-24 | 2012-05-02 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
CN105187283A (zh) * | 2015-08-21 | 2015-12-23 | 中国科学院计算技术研究所 | 基于EtherCAT协议的工业控制网络从站通信方法及装置 |
CN105182221A (zh) * | 2015-10-09 | 2015-12-23 | 天津国芯科技有限公司 | 一种jtag多路选择器及其在单芯片系统中的连接方法 |
CN105182221B (zh) * | 2015-10-09 | 2017-12-22 | 天津国芯科技有限公司 | 一种jtag多路选择器及其在单芯片系统中的连接方法 |
CN106371972B (zh) * | 2016-08-31 | 2019-04-05 | 天津国芯科技有限公司 | 用于解决主设备间数据一致性的总线监控方法及装置 |
CN106371972A (zh) * | 2016-08-31 | 2017-02-01 | 天津国芯科技有限公司 | 用于解决主设备间数据一致性的总线监控方法及装置 |
CN107391413A (zh) * | 2017-07-21 | 2017-11-24 | 南京华捷艾米软件科技有限公司 | 同步零等待总线及其访问方法 |
CN107728948A (zh) * | 2017-10-18 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种存储器性能优化方法及装置、计算机设备 |
WO2019153993A1 (en) * | 2018-02-09 | 2019-08-15 | Huawei Technologies Co., Ltd. | Video playback energy consumption control |
CN111684485B (zh) * | 2018-02-09 | 2023-09-29 | 华为技术有限公司 | 视频播放能耗控制 |
CN111684485A (zh) * | 2018-02-09 | 2020-09-18 | 华为技术有限公司 | 视频播放能耗控制 |
US10997082B2 (en) | 2019-06-25 | 2021-05-04 | Intel Corporation | Memory system, computing system, and methods thereof for cache invalidation with dummy address space |
EP3757800A1 (en) * | 2019-06-25 | 2020-12-30 | INTEL Corporation | Memory system, computing system, and methods thereof |
CN110321672A (zh) * | 2019-06-28 | 2019-10-11 | 兆讯恒达微电子技术(北京)有限公司 | 一种生成数据区扰码的方法 |
CN110321672B (zh) * | 2019-06-28 | 2021-04-09 | 兆讯恒达科技股份有限公司 | 一种生成数据区扰码的方法 |
CN110704351A (zh) * | 2019-09-24 | 2020-01-17 | 山东华芯半导体有限公司 | 基于axi总线的主机设备数据传输扩展方法 |
CN110716888A (zh) * | 2019-09-27 | 2020-01-21 | 山东华芯半导体有限公司 | 一种axi总线缓存机制的实现方法 |
CN111797051A (zh) * | 2020-06-04 | 2020-10-20 | 深圳云天励飞技术有限公司 | 片上系统、数据传送方法及广播模块 |
CN111651376B (zh) * | 2020-07-06 | 2023-09-19 | Oppo广东移动通信有限公司 | 数据读写方法、处理器芯片及计算机设备 |
CN111651376A (zh) * | 2020-07-06 | 2020-09-11 | Oppo广东移动通信有限公司 | 数据读写方法、处理器芯片及计算机设备 |
CN111984562B (zh) * | 2020-09-07 | 2022-05-10 | 苏州盛科通信股份有限公司 | 寄存器突发访问控制的方法、电子设备及存储介质 |
CN111984562A (zh) * | 2020-09-07 | 2020-11-24 | 盛科网络(苏州)有限公司 | 寄存器突发访问控制的方法、电子设备及存储介质 |
CN112380148A (zh) * | 2020-11-30 | 2021-02-19 | 海光信息技术股份有限公司 | 数据传输方法和数据传输装置 |
CN112367236B (zh) * | 2021-01-12 | 2021-04-06 | 南京芯驰半导体科技有限公司 | Lin总线的数据调度方法及系统 |
CN112367236A (zh) * | 2021-01-12 | 2021-02-12 | 南京芯驰半导体科技有限公司 | Lin总线的数据调度方法及系统 |
CN113568866B (zh) * | 2021-09-23 | 2022-01-25 | 深圳市创成微电子有限公司 | 一种dsp处理器、系统及其与外部从设备交互的方法 |
CN113568866A (zh) * | 2021-09-23 | 2021-10-29 | 深圳市创成微电子有限公司 | 一种dsp处理器、系统及其与外部从设备交互的方法 |
CN113934378A (zh) * | 2021-11-01 | 2022-01-14 | 新华三技术有限公司合肥分公司 | 一种数据缓存方法、逻辑装置和电子设备 |
CN113934378B (zh) * | 2021-11-01 | 2024-04-19 | 新华三技术有限公司合肥分公司 | 一种数据缓存方法、逻辑装置和电子设备 |
CN114063915A (zh) * | 2021-11-10 | 2022-02-18 | 上海航天计算机技术研究所 | 一种用于深空探测的高可靠遥测延时数据管理方法及系统 |
CN114063915B (zh) * | 2021-11-10 | 2023-08-29 | 上海航天计算机技术研究所 | 一种用于深空探测的高可靠遥测延时数据管理方法及系统 |
CN116126763A (zh) * | 2023-04-17 | 2023-05-16 | 苏州浪潮智能科技有限公司 | 总线互联系统、数据处理方法、装置、电子设备及介质 |
CN116561020A (zh) * | 2023-05-15 | 2023-08-08 | 合芯科技(苏州)有限公司 | 一种混合缓存粒度下的请求处理方法、设备及存储介质 |
CN116561020B (zh) * | 2023-05-15 | 2024-04-09 | 合芯科技(苏州)有限公司 | 一种混合缓存粒度下的请求处理方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100524252C (zh) | 2009-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524252C (zh) | 一种嵌入式系统芯片及数据读写处理方法 | |
JP3589394B2 (ja) | リモート資源管理システム | |
US6757768B1 (en) | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node | |
US7761642B2 (en) | Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging | |
US8489792B2 (en) | Transaction performance monitoring in a processor bus bridge | |
CN111190553B (zh) | 使用混合存储器立方体链路的互连系统及方法 | |
CN103927277B (zh) | Cpu和gpu共享片上高速缓存的方法及装置 | |
US8843706B2 (en) | Memory management among levels of cache in a memory hierarchy | |
CN101878475B (zh) | 向星形拓扑串行总线接口委托网络处理器操作 | |
US8359420B2 (en) | External memory based FIFO apparatus | |
CN100499556C (zh) | 异构多核处理器高速异步互连通信网络 | |
US20050160239A1 (en) | Method for supporting improved burst transfers on a coherent bus | |
CN103959261B (zh) | 网络处理器中的多内核互联 | |
TWI506444B (zh) | 改良mmio請求處置之處理器及方法 | |
US20100262788A1 (en) | Pre-coherence channel | |
US9755997B2 (en) | Efficient peer-to-peer communication support in SoC fabrics | |
CN1504913A (zh) | 数据访问环系统及采用环形总线的方法 | |
US10789194B2 (en) | Techniques for efficiently synchronizing data transmissions on a network | |
CN101194242A (zh) | 存储器控制器和用于连接网络和存储器的方法 | |
CN101515295B (zh) | 片上硬件数据库的高速缓冲器支持实现方法 | |
US11483260B2 (en) | Data processing network with flow compaction for streaming data transfer | |
JP4053208B2 (ja) | ディスクアレイ制御装置 | |
US20050198438A1 (en) | Shared-memory multiprocessor | |
TW201138379A (en) | Directly providing data messages to a protocol layer | |
US20090006712A1 (en) | Data ordering in a multi-node system |
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: 20090805 |
|
CF01 | Termination of patent right due to non-payment of annual fee |