CN1564139A - 数据撷取方法及*** - Google Patents
数据撷取方法及*** Download PDFInfo
- Publication number
- CN1564139A CN1564139A CNA2004100315915A CN200410031591A CN1564139A CN 1564139 A CN1564139 A CN 1564139A CN A2004100315915 A CNA2004100315915 A CN A2004100315915A CN 200410031591 A CN200410031591 A CN 200410031591A CN 1564139 A CN1564139 A CN 1564139A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- buffer zone
- memory access
- direct memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 97
- 230000006978 adaptation Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种数据撷取方法,适用于一数据撷取***含有一处理器、一北桥芯片、一PCI-Express的端点装置(endpoint device)、直接内存存取缓冲区(DMA buffer)以及一高速缓存用以存放数据,包括部分地回写及无效化(partial write back and inval idate)高速缓存,其中高速缓存中被回写的数据存放至直接内存存取缓冲区;指示PCI-Express的端点装置使用一非监看处理技术(non-snoop transaction),来读取直接内存存取缓冲区的数据;以及当北桥芯片接收到一非监看读取要求时,不监看处理器,而直接撷取直接内存存取缓冲区中的数据。
Description
技术领域
本发明涉及一种资料撷取方法,特别是涉及一种支持非监看(non-snoop)处理技术的数据传输方法。
背景技术
一般来说,现在的计算机***均具有一个或多个处理器单元,并且每一个处理器都会具有专属的高速缓存。高速缓存为一个小型、速度快、昂贵、零等待状态的内存,用来存放经常使用到的程序代码及数据。此外,高速缓存介接于相关的处理器与***总线之间,用来桥接快速的处理器周期时间与慢速的内存存取时间。
由于先进电子产品,对速度及频宽上的需求,一种非监看处理技术(non-snoop transaction)被提出,用以使北桥芯片,不须监看(snoop)处理器,而读取或写入主存储器的直接内存存取(direct memory access,DMA)缓冲器。非监看处理技术具有两大优点,处理器总线(CPU bus)可以让其它主控器使用,以及存取延迟(access latency)是可以被预期的。
举例来说,在读取数据时,应用非监看处理技术的主控器,永远都是由主存储器(DRAM)读取数据,所以可预期为读取DRAM的延迟(read-DRAM-latency)。但使用监看处理技术(snoop transaction)的主控器,就有可能是读取DRAM的延迟(read-DRAM-latency)或是监视CPU的延迟(snoop-CPU-latency)。在写入数据时,应用非监看处理技术的主控器,都是将数据写入主存储器,例如通过回写(post write)技术。但使用监看处理技术的主控器,假如监视的结果为数据覆写(hit dirty),于是要等待CPUwrite back高速缓存,并且与北桥芯片的数据整合之后,再写入到主存储器。若监视的结果并非数据覆写(not hit dirty),当监看完成后,接着进行数据回写(post write)。
传统上有数种方法,通过非监看处理技术(non-snoop transaction)用以使北桥芯片,不须监看(snoop)处理器(CPU),而读取或写入主存储器的DMA缓冲器。然而,传统方法不是效能不佳,就是会有高速缓存数据一致性的问题(cache coherency issue)。
发明内容
有鉴于此,本发明的首要目的,在于改进非监视处理中的及时效能(realtime performance),同时维持高速缓存数据一致性。
为实现本发明的上述目的,本发明提供一种数据撷取方法,适用于一数据撷取***含有一处理器、一北桥芯片、一PCI-Express的端点装置(endpoint device)、直接内存存取缓冲区(DMA buffer)以及一高速缓存用以存放数据,包括部分地回写及无效化(partial write back and invalidate)高速缓存,其中高速缓存中被回写的数据存放至直接内存存取缓冲区;指示PCI express的端点装置使用一非监看处理技术(non-snoop transaction),来读取直接内存存取缓冲区的数据;以及当北桥芯片接收到一非监看读取要求时,不监看处理器,而直接撷取直接内存存取缓冲区中的数据。
为实现本发明的上述目的,本发明还提供一种数据撷取***,包括一PCI-Express的端点装置;一北桥芯片,耦接PCI-Express的端点装置;一主存储器,耦接上述北桥芯片,具有至少一直接内存存取缓冲区;一高速缓存,用以储存数据;以及一处理器,程序化以将高速缓存中的部分数据,回写至直接内存存取缓冲区中,且无效化高速缓存中的上述部分数据,并指示PCI express的端点装置使用一非监看处理技术,来读取直接内存存取缓冲区的数据,使得北桥芯片接收到一非监看读取要求时,不须监看处理器,直接撷取直接内存存取缓冲区中的数据。
为实现本发明的上述目的,本发明还提供一种数据撷取***,包括一高速缓存,用以储存数据;一处理器,耦接高速缓存;一PCI-Express的端点装置;一主存储器,具有至少一直接内存存取缓冲区;以及一北桥芯片,耦接PCI-Express的端点装置,用以致使处理器将高速缓存中的部分数据,回写至直接内存存取缓冲区中,且无效化高速缓存中的上述部分数据,并指示PCI-Express的端点装置使用一非监看处理技术,来读取直接内存存取缓冲区的数据,使得北桥芯片接收到一非监看读取要求时,不须监看处理器,直接撷取直接内存存取缓冲区中的数据。
为了使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并结合附图详细说明如下。
附图说明
图1为本发明的数据撷取***的示意图。
图2为本发明的数据撷取方法的流程图。
附图符号说明
10:处理器; 12:高速缓存;
13:***总线; 14:北桥芯片;
15:内存总线; 16:主存储器;
18:直接内存存取缓冲区; 21:PCI-Express link;
20:PCI-Express的端点装置。
具体实施方式
一般来说,当一处理器发出一读取要求,并且所要求的数据存在于其高速缓存中时,即发生一快取读取成功(cache read hit),微处理器可以不须存取主存储器,而由高速缓存中得到数据。若所要求的数据不存在于其高速缓存中时,即发生一快取读取失败(cache read miss),并且内存要求会被转发至***,如同高速缓存不存在一样,当作由主存储器中撷取数据。在快取读取失败(cache read miss)发生时,由主存储器中撷取到的数据,由于统计上该笔数据会被处理器再存取的可能性,所以亦会被写入高速缓存中。同样地,当一处理器发出一写入要求时,(在一回写式高速缓存中时)写入的数据会被写入高速缓存中,而不须在***总线上存取主存储器。这将可以增加处理器的效能且减少***总线的使用,提供其它处理器及总线主控器更多的频宽。
一个有效率的高速缓存***会具有高成功率(hit rate),也就是在整个内存存取过程中,快取成功的比率高。当一快取***具有高成功率,大部分的存取皆可作为零等待的服务。因此,远离于其区域性内存(local memory)操作的一处理器,会具有很低的“总线使用(bus utilization)”,这将会减少总线被处理器占用,使用其它总线主控器具有较多有效的频宽。此外,当处理器不须要控制总线时,它可以远离其区域性存储器操作,以增加计算机***的效率。
典型的快取***有两种,分别为“全部写入式高速缓存***(write-through cache system)”以及“回写式高速缓存***(write-backcache system)”。在write-through cache***中,来自处理器的写入数据会被写入到高速缓存中,也会马上被写入到主存储器中。如此可确保高速缓存中的数据,与主存储器中数据的一致性。然而,write-through cache***的缺点在于为了每一次处理器的写入,都需要占用***总线。
在write-back cache***中,来自处理器的写入数据只会被写入到高速缓存中,并且在其它装置要求该笔数据时,或是因为新数据要求而要被取代时,才会被写回到主存储器中。当处理器的写入数据只写入到高速缓存中时,存放在主存储器中对应地址上的数据,将被视为旧的、失效的。高速缓存的位置用以记住修改过的数据。在write-back cache***中,在其它总线主控器在使用总线时,需要快取控制器来监看(snoop)。
一般来说,藉由一快取控制器来进行高速缓存的管理。高速缓存最重要的管理政策就是维护高速缓存数据的一致性(coherency)。高速缓存的一致性就是指任何的总线装置都可以接收到最新版本的数据。
在独立总线主控器可以存取主存储器的计算机***中,有可能一个总线主控器,例如另一处理器、直接存取控制器、网络或磁盘适配卡或影像处理卡,将会修改与高速缓存完全相同的主存储器位置的内容。当此情形发生时,高速缓存则会视为存有失效的数据。如果处理器不小心读取到无效的数据将会发生问题。因此,为了维持高速缓存的一致性,当处理器没有控制总线时,藉由一快取控制器来监看***总线,看是否有其它总线主控器存取主存储器是有必要的。此监看总线的技术,系称作snooping。
在write-back cache***中,因为先前的处理器写入(previousprocessor write)已经改变了高速缓存中的数据(尚未更新到主存储器中),因此在主存储器被一总线主控器读取的周期中,快取控制器仍然必须要监看***总线,称为“读取监看(read snooping)”。在读取监看成功(read snoophit)的情形下,即高速缓存含有尚未更新到主存储中的数据,一般来说快取控制器会提供相关的数据到主存储器以及提出要求的总线。
在内存写入周期中,因为总线主控器会写入或修改存在于高速缓存中内存的位置,所以快取控制器仍然需要监看***总线,称为“写入监看(writesnooping)”。读取监看成功(write snoop hit)的情形下,在快取控制器中任一个被标示为无效(invalid)的快取项目(cache entry),表示此项目不再正确,或此高速缓存已经和主存储器一起更新过了。
因此,在write-back cache***中,当一总线主控器读取或写入一主存储器时,或在write-through cache***中,当一总线主控器写入一主存储器时,快取控制器必须要锁住***位置,看看将被存取的主存储器的位置,是否有存在于高速缓存中。如果来自此位置上的数据存在于高速缓存中,快取控制器接着会依据已经发生的读取监看成功(read snoop hit)或写入监看成功(write snoop hit),采取适当的动作。这将可以避免储存于主存储器及高速缓存中过时(stale)的数据,藉由维持高速缓存的一致性。虽然,在write-back cache***中,当总线主控器读取及写入主存储器时都需要监看***总线,但其***效能却比write-through cache***更佳。
图1中所示为本发明的数据撷取***的示意图。数据撷取***100包括一处理器10、一高速缓存12、一北桥芯片14、一直接内存存取缓冲区(DMAbuffer)18、一PCI-Express的端点装置(endpoint device)20。
在本实施例中,PCI-Express的端点装置20用以作为一总线主控器,然而并非用以限定本发明。处理器10藉由一***总线13耦接至北桥芯片14,北桥芯片14藉由一内存总线15主存储器16(含有直接内存存取缓冲区18),而北桥芯片14藉由一PCI-Express link21耦接至PCI-Express的端点装置20。举例来说,PCI-Express的端点装置20为一另一处理器、直接存取控制器、网络或磁盘适配卡或影像处理卡等等。另外,主存储器16分割一部分作为非监视处理(non-snooped)的DMA缓冲区18,并且DMA缓冲区18设定成可被高速缓存12以写回(write back)的方式进行数据存取。
图2为本发明的数据撷取方法的流程图。当一软件或驱动程序欲藉由一非监看读取处理(non-snoop read transaction)对DMA缓冲区18进行读取时,则先进行步骤S10,部分地写回及无效化高速缓存12。
在传统write back cache***中,若要将高速缓存12中已被修改过的数据更新到主存储器16中,则必须藉由处理器10去执行一个“高速缓存的写回及无效化(cache write back and invalidate;WBINV)”指令,清空(flush)整个高速缓存12,即将高速缓存12中已被修改过的数据都更新到主存储器16中。
然而,若该软件(或驱动程序)仅仅要对DMA缓冲区18进行存取,就因此将整个高速缓存12中的数据更新至主存储器16(含DMA缓冲区18),即藉由处理器10执行“高速缓存的写回及无效化(WBINV)”指令,而清空(flush)整个高速缓存12,将会造成及时效能(real time performance)不佳。故本发明仅部分地写回及无效化高速缓存12,将与DMA缓冲区18有关的数据更新至DMA缓冲区18中,以便上述软件(驱动程序)读取DMA缓冲区18。
在本发明中提供两种方法来实现步骤S10,然并非用以限定本发明。在此实施例中是采用第一种方式来实现步骤S10,即增加一新指令给处理器10,该指令称为“高速缓存的部分写回及无效化(partial cache write back andinvalidate;PWBINV)”,用以根据一第一、第二地址信息,将高速缓存12中的部分数据,写回到DMA缓冲区18中后,再无效化高速缓存12中的上述部分数据。举例来说,第一、第二地址数据可分为一启始地址及一结束地址,或是分为一启始地址及一长度数据。
也就是说,当一软件(或驱动程序)欲藉由一非监看读取处理(non-snoopread transaction)对DMA缓冲区18进行读取时,则根据一PWBINV指令程序化处理器10,而只将高速缓存12中与第一、第二地址信息有关的已修改数据更新至DMA缓冲区18中,而不将整个高速缓存12的数据更新至主存储器16中(即清空高速缓存12)。如此,将可维持高速缓存数据的一致性(coherency),并且避免及时效能(real time performance)不佳。
接着,步骤S20,该软件(或驱动程序)指示PCI express的端点装置20使用非监看技术,来读取DMA缓冲区18中的数据。然后,步骤S30,当北桥芯片14接收到PCI-Express的端点装置20所发出的“非监看处理的读取要求”时,直接撷取DMA缓冲区18中的数据,而不须监看处理器10。之后,再将所撷取的数据传送到PCI-Express的端点装置20。
第二实施例
在此实施例中采用另一种方式来实现步骤S10,此方法是在北桥芯片14中,藉由一第一缓存器(未显示)存放将用于高速缓存12的部分写回及无效化的启始地址,一第二缓存器(未显示)存放将用于高速缓存12的部分写回及无效化的结束地址,一第三缓存器(未显示)用以设定高速缓存的部分写回及无效化的操作状态。在本发明中,当第三缓存器被设为1时,北桥芯片14则会根据第一、第二缓存器中储存的启始地址及结束地址,致使处理器10将高速缓存中启始地址及结束地址范围内已修改的数据,写回到DMA缓冲区18中,再无效化高速缓存12中的该范围内的数据。
也就是说,当一软件或驱动程序欲藉由一非监看读取处理对DMA缓冲区18进行读取时,则会将一启始地址及一结束地址存放到北桥芯片14中的第一、第二缓存器中,并藉由一致能信号将第三缓存器中的操作状态改为1,以便致使处理器10将高速缓存中与第一、第二地址数据范围内数据更新至DMA缓冲区18中,而不将整个高速缓存12中修改过的数据,全部更新至主存储器16中(即清空高速缓存),如此,将可维持高速缓存数据的一致性(coherency),并且避免及时效能(real time performance)不佳。当高速缓存中与第一、第二地址数据范围内数据已经更新至DMA缓冲区18中后,北桥芯片14会将第三缓存器中的操作状态设为0。
接着,步骤S20,该软件(或驱动程序)指示PCI-Express的端点装置20使用非监看技术,来读取DMA缓冲区18中的数据。然后,步骤S30,当北桥芯片14接收到PCI-Express的端点装置20所发出的“非监看处理的读取要求”时,直接撷取DMA缓冲区18中的数据,而不须监看处理器10。之后,再将所撷取的数据传送到PCI-Express的端点装置20。
在本发明的数据撷取方法中,由于仅更新高速缓存12中的部分数据至DMA缓冲区18中,故可避免及时效能(real time performance)不佳,同时维持高速缓存数据一致性。
第三实施例
如图1中所示,本发明的数据撷取***100包括一处理器10、一高速缓存12、一北桥芯片14、一直接内存存取缓冲区(DMA buffer)18、一PCI-Express的端点装置(endpoint device)20。
在本实施例中,PCI express的端点装置20用以作为一总线主控器,然并非用以限定本发明。在本发明中,PCI-Express的端点装置20为一另一处理器、直接存取控制器、网络或磁盘适配卡或影像处理卡等等。另外,主存储器16分割一部分作为非监视处理(non-snooped)的DMA缓冲区18,并且DMA缓冲区18设定成可被高速缓存12以写回(write back)的方式进行数据存取。
处理器10藉由一***总线13耦接至北桥芯片14,高速缓存12可设置于处理器10内部或外部。在本实施例中,处理器10设计成可被一PWBINV指令程序化,以根据一第一、第二地址信息,将高速缓存12中的部分数据,写回到DMA缓冲区18中后,再无效化高速缓存12中的上述部分数据。举例来说,第一、第二地址数据可分为一启始址位及一结束地址,或是分为一启始地址及一长度数据。
因此,当一软件(或驱动程序)欲藉由一非监看读取处理(non-snoop readtransaction)对DMA缓冲区18进行读取时,会将“高速缓存的部分写回及无效化(partial cache write back and invalidate;PWBINV)”指令送至处理器10,于是处理器10执行PWBINV指令,根据一第一、第二地址信息,将高速缓存12中的部分数据,写回到DMA缓冲区18中后,再无效化高速缓存12中的上述部分数据。也就是说,处理器10仅将高速缓存12中与第一、第二地址数据有关的数据更新至DMA缓冲区18中,而不将整个高速缓存12中修正过的数据,全部更新至主存储器18中(即清空高速缓存12)。如此,将可维持高速缓存数据的一致性(coherency),并且避免及时效能(real timeperformance)不佳。
北桥芯片14是藉由一内存总线15耦接至主存储器16(含有直接内存存取缓冲区18),而北桥芯片是藉由一PCI-Express link 21耦接至PCI-Express的端点装置20。在处理器10将高速缓存中与第一、第二地址数据有关的数据更新至DMA缓冲区18中后,该软件(或驱动程序)接着会指示总线控器20,使用非监看技术来读取DMA缓冲区18中的数据。当北桥芯片14接收到PCI-Express的端点装置20所发出的“非监看处理的读取要求”时,直接撷取DMA缓冲区18中的数据,而不须监看处理器10。之后,再将所撷取的数据传送到PCI-Express的端点装置20。
第四实施例
如图1中所示,本发明的数据撷取***100包括一处理器10、一高速缓存12、一北桥芯片14、一直接内存存取缓冲区(DMA buffer)18、一PCI-Express的端点装置(endpoint device)20。
在本实施例中,PCI-Express的端点装置20用以作为一总线主控器,然并非用以限定本发明。在本发明中,PCI-Express的端点装置20为一另一处理器、直接存取控制器、网络适配卡、磁盘适配卡或影像处理卡等等。另外,主存储器16分割一部分作为非监视处理(non-snooped)的DMA缓冲区18,并且DMA缓冲区18设定成可被高速缓存12以写回(write back)的方式进行数据存取。
处理器10藉由一***总线13耦接至北桥芯片14,高速缓存12可设置于处理器10内部或外部。
北桥芯片14藉由一内存总线15耦接至主存储器16(含有直接内存存取缓冲区18),而北桥芯片14藉由一PCI-Express link 21耦接至PCI-Express的端点装置20。在本实施例中,北桥芯片14被设计成可根据一启始地址、一结束地址以及一致能信号,致使处理器10将高速缓存12中启始地址及结束地址范围内修改过的数据,写回到DMA缓冲区18中,再无效化高速缓存12中的该范围内的数据。
举例来说,在北桥芯片14内,藉由一第一缓存器存放将用于高速缓存12的部分写回及无效化的启始地址,一第二缓存器存放将用于高速缓存12的部分写回及无效化的结束地址,一第三缓存器用以设定高速缓存12的部分写回及无效化的操作状态。在第三缓存器被设为1时,北桥芯片14则会根据第一、第二缓存器中储存的启始地址及结束地址,致使处理器10将高速缓存12中启始地址及结束地址范围内修改过的数据,写回到DMA缓冲区18中,再无效化高速缓存12中的该范围内的数据。
因此,当一软件或驱动程序欲藉由一非监看读取处理对DMA缓冲区18进行读取时,则会将一启始地址及一结束地址存放到北桥芯片14中的第一、第二缓存器中,并藉由一致能信号将第三缓存器中的操作状态改为1,以致使处理器10将高速缓存12中与第一、第二地址数据范围内数据更新至DMA缓冲区18中,而不将整个高速缓存12中修正过的数据,全部更新至主存储器16中(即清空高速缓存),如此,将可维持高速缓存数据的一致性(coherency),并且避免及时效能(real time performance)不佳。当高速缓存12中与第一、第二地址数据范围内修正过的数据,已经更新至DMA缓冲区18中后,北桥芯片14会将第三缓存器中的操作状态设为0。
之后,软件(或驱动程序)会指示总线控器20,使用非监看技术来读取DMA缓冲区18中的数据。当北桥芯片14接收到PCI-Express的端点装置20所发出的“非监看处理的读取要求”时,直接撷取DMA缓冲区18中的数据,而不须监看处理器10。之后,再将所撷取的数据传送到PCI-Express的端点装置20。
在本发明的数据撷取***中,由于仅更新高速缓存12中的部分数据至DMA缓冲区18中,故可避免及时效能(real time performance)不佳,同时维持高速缓存数据一致性。
要注意的是,本发明的数据撷取***,在软件(或驱动程序)以正常方式存取主存储器16时,仍可藉由处理器10执行WBINV指令将整个高速缓存12中,修正过的数据更新到主存储器,以维持高速缓存数据一致性。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围视本申请的权利要求为准。
Claims (10)
1.一种数据撷取***,包括:
一高速缓存,用以储存数据;
一处理器,耦接高速缓存;
一PCI-Express的端点装置;
一主存储器,具有至少一直接内存存取缓冲区;以及
一北桥芯片,耦接上述PCI-Express的端点装置,用以致使上述处理器将上述高速缓存中的部分数据,回写至上述直接内存存取缓冲区中,且无效化上述高速缓存中的上述部分数据,并指示上述PCI-Express的端点装置使用一非监看处理技术,来读取上述直接内存存取缓冲区的数据,使得上述北桥芯片接收到一非监看读取要求时,不须监看上述处理器,直接撷取上述直接内存存取缓冲区中的数据。
2.如权利要求1所述的数据撷取***,其中上述北桥芯片根据一含有一第一地址以及一第二地址的指令,将上述高速缓存中的上述部分数据回写至上述直接内存存取缓冲区中,并且无效化上述高速缓存中的上述部分数据。
3.如权利要求1所述的数据撷取***,其中上述PCI-Express的端点装置为一直接存取控制器、一影像处理卡、一磁盘适配卡或一网络适配卡。
4.一种数据撷取***,包括:
一PCI-Express的端点装置;
一北桥芯片,耦接上述PCI-Express的端点装置;
一主存储器,耦接上述北桥芯片,具有至少一直接内存存取缓冲区;
一高速缓存,用以储存数据;以及
一处理器,程序化以将上述高速缓存中的部分数据,回写至上述直接内存存取缓冲区中,且无效化上述高速缓存中的上述部分数据,并指示上述PCI-Express的端点装置使用一非监看处理技术,来读取上述直接内存存取缓冲区的数据,使得上述北桥芯片接收到一非监看读取要求时,不须监看上述处理器,直接撷取上述直接内存存取缓冲区中的数据。
5.如权利要求4所述的数据撷取***,其中上述处理器根据一含有一第一地址以及一第二地址的指令,将上述高速缓存中的上述部分数据回写至上述直接内存存取缓冲区中,并且无效化上述高速缓存中的上述部分数据。
6.如权利要求4所述的数据撷取***,其中上述PCI-Express的端点装置藉由一PCI-Express link与上述北桥芯片耦接。
7.一种数据撷取方法,适用于一非监看处理***含有一处理器、一北桥芯片、一PCI-Express的端点装置、直接内存存取缓冲区以及一高速缓存用以存放数据,包括:
将上述高速缓存中的部分数据,回写(write back)至一直接内存存取缓冲区中;
无效化上述高速缓存中的上述部分数据;以及
指示上述PCI-Express的端点装置使用一非监看处理技术,来读取上述直接内存存取缓冲区的数据,使得上述北桥芯片接收到一非监看读取要求时,不监看上述处理器,直接撷取上述直接内存存取缓冲区中的数据。
8.如权利要求7所述的数据撷取方法,其中上述处理器根据一含有一第一地址以及一第二地址的指令,将上述高速缓存中的上述部分数据回写至上述直接内存存取缓冲区中,并且无效化上述高速缓存中的上述部分数据。
9.如权利要求7所述的数据撷取方法,其中上述北桥芯片根据一第一地址、一第二地址以及一致能信号,致使上述处理器将上述高速缓存中的上述部分数据回写至上述直接内存存取缓冲区中,并且无效化上述高速缓存中的上述部分数据。
10.一种数据撷取方法,适用于一数据撷取***含有一处理器、一北桥芯片、一PCI-Express的端点装置、直接内存存取缓冲区以及一高速缓存用以存放数据,包括:
部分地回写及无效化上述高速缓存,其中上述高速缓存中被回写的数据存放至上述直接内存存取缓冲区;
指示上述PCI-Express的端点装置使用一非监看处理技术,来读取上述直接内存存取缓冲区的数据;以及
当上述北桥芯片接收到一非监看读取要求时,不监看上述处理器,而直接撷取上述直接内存存取缓冲区中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100315915A CN1307560C (zh) | 2004-03-25 | 2004-03-25 | 数据撷取方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100315915A CN1307560C (zh) | 2004-03-25 | 2004-03-25 | 数据撷取方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1564139A true CN1564139A (zh) | 2005-01-12 |
CN1307560C CN1307560C (zh) | 2007-03-28 |
Family
ID=34481265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100315915A Expired - Lifetime CN1307560C (zh) | 2004-03-25 | 2004-03-25 | 数据撷取方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1307560C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326048C (zh) * | 2005-05-31 | 2007-07-11 | 威盛电子股份有限公司 | 存储器存取装置与方法 |
CN101243394B (zh) * | 2005-08-16 | 2011-09-21 | Nxp股份有限公司 | 利用辅助存储器来访问存储器的方法和*** |
CN101277196B (zh) * | 2007-03-30 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种基于pcie交换网的通信***、通信方法及线卡板 |
CN103186492A (zh) * | 2011-12-28 | 2013-07-03 | 联芯科技有限公司 | 基于axi总线的数据一致性保护方法及其*** |
CN109101439A (zh) * | 2017-06-21 | 2018-12-28 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664149A (en) * | 1992-11-13 | 1997-09-02 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol |
US5524233A (en) * | 1993-03-31 | 1996-06-04 | Intel Corporation | Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations |
US5623633A (en) * | 1993-07-27 | 1997-04-22 | Dell Usa, L.P. | Cache-based computer system employing a snoop control circuit with write-back suppression |
US5555398A (en) * | 1994-04-15 | 1996-09-10 | Intel Corporation | Write back cache coherency module for systems with a write through cache supporting bus |
-
2004
- 2004-03-25 CN CNB2004100315915A patent/CN1307560C/zh not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326048C (zh) * | 2005-05-31 | 2007-07-11 | 威盛电子股份有限公司 | 存储器存取装置与方法 |
CN101243394B (zh) * | 2005-08-16 | 2011-09-21 | Nxp股份有限公司 | 利用辅助存储器来访问存储器的方法和*** |
US8205053B2 (en) | 2005-08-16 | 2012-06-19 | Nxp B.V. | Method and system for accessing memory using an auxiliary memory |
CN101277196B (zh) * | 2007-03-30 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种基于pcie交换网的通信***、通信方法及线卡板 |
CN103186492A (zh) * | 2011-12-28 | 2013-07-03 | 联芯科技有限公司 | 基于axi总线的数据一致性保护方法及其*** |
CN103186492B (zh) * | 2011-12-28 | 2016-03-30 | 联芯科技有限公司 | 基于axi总线的数据一致性保护方法及其*** |
CN109101439A (zh) * | 2017-06-21 | 2018-12-28 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
CN109101439B (zh) * | 2017-06-21 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1307560C (zh) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6295582B1 (en) | System and method for managing data in an asynchronous I/O cache memory to maintain a predetermined amount of storage space that is readily available | |
EP2430551B1 (en) | Cache coherent support for flash in a memory hierarchy | |
CN1240000C (zh) | 用于改进超高速缓存性能的输入/输出页面删除确定 | |
US6760786B2 (en) | Multiprocessing system configured to perform efficient block copy operations | |
US6721848B2 (en) | Method and mechanism to use a cache to translate from a virtual bus to a physical bus | |
TWI410796B (zh) | 來自窺探過濾器之過期無效異動的減少 | |
US6269427B1 (en) | Multiple load miss handling in a cache memory system | |
US20050204088A1 (en) | Data acquisition methods | |
US20080183972A1 (en) | Snoop Filtering Using a Snoop Request Cache | |
US6751705B1 (en) | Cache line converter | |
CN1509436A (zh) | 以推测方式使高速缓存中的缓存行失效的方法及*** | |
US7089362B2 (en) | Cache memory eviction policy for combining write transactions | |
JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
US7330940B2 (en) | Method and system for cache utilization by limiting prefetch requests | |
CA2300005A1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
US5909697A (en) | Reducing cache misses by snarfing writebacks in non-inclusive memory systems | |
CN1851673A (zh) | 处理器***及其数据操作方法 | |
CN1851677A (zh) | 嵌入式处理器***及其数据操作方法 | |
GB2507759A (en) | Hierarchical cache with a first level data cache which can access a second level instruction cache or a third level unified cache | |
US6615321B2 (en) | Mechanism for collapsing store misses in an SMP computer system | |
US6321303B1 (en) | Dynamically modifying queued transactions in a cache memory system | |
US20060179173A1 (en) | Method and system for cache utilization by prefetching for multiple DMA reads | |
CN1564139A (zh) | 数据撷取方法及*** | |
US6643741B1 (en) | Method and apparatus for efficient cache management and avoiding unnecessary cache traffic | |
US6477622B1 (en) | Simplified writeback handling |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20070328 |
|
CX01 | Expiry of patent term |