CN101593158B - 控制高速缓冲存储器的方法和装置 - Google Patents
控制高速缓冲存储器的方法和装置 Download PDFInfo
- Publication number
- CN101593158B CN101593158B CN2009101184641A CN200910118464A CN101593158B CN 101593158 B CN101593158 B CN 101593158B CN 2009101184641 A CN2009101184641 A CN 2009101184641A CN 200910118464 A CN200910118464 A CN 200910118464A CN 101593158 B CN101593158 B CN 101593158B
- Authority
- CN
- China
- Prior art keywords
- data
- cache memory
- unit
- memory
- selected cell
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
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)
Abstract
本发明提供了控制高速缓冲存储器的方法和装置。该装置用于控制其中存储从主存储单元传送的数据的高速缓冲存储器,该装置包括:计算处理单元,其执行利用数据的计算处理;连接单元,其将所述高速缓冲存储器的输入部和输出部进行连接;控制单元,当将所述主存储单元中的数据从所述高速缓冲存储器的所述输入部输入到所述高速缓冲存储器中时,所述控制单元使所述主存储单元中的所述数据经由所述连接单元传送到所述高速缓冲存储器的所述输出部;以及传送单元,其将所述控制单元传送到所述高速缓冲存储器的所述输出部的数据传送到所述计算处理单元。
Description
技术领域
本文讨论的实施方式涉及高速缓冲存储器控制装置、半导体集成电路和高速缓冲存储器控制方法。
背景技术
包括诸如CPU(中央处理单元)的处理器核的信息处理装置通常都具有高速缓冲存储器以实现更高速的处理。高速缓冲存储器是相比于主存储单元(如主存储器)能够以更高的速度进行访问的存储器,并且高速缓冲存储器仅存储在主存储单元中所存储的数据中CPU经常使用的那些数据。因此,当CPU执行各种计算处理时,CPU首先访问高速缓冲存储器并向该高速缓冲存储器请求所需的数据。在此情况下,如果高速缓冲存储器中没有存储所需的数据,则出现缓存缺失(cache miss),并将所需的数据从主存储单元传送到高速缓冲存储器。即,当对高速缓冲存储器执行“读取(READ)”并且作为结果出现缓存缺失时,通过“移入(MOVE-IN)”将数据从主存储单元传送到高速缓冲存储器。
如上所述,当出现缓存缺失时,通过“移入”将所需的数据存入高速缓冲存储器中,然后,CPU再次执行“读取”,由此从高速缓冲存储器中读取数据。因此,到CPU获得数据时执行了两次“读取”和一次“移入”,从而延迟时间(此后称作“等待时间”)变长。为了通过减小在数据获取时出现的延时而提高信息处理装置的性能,可以在从主存储单元将数据传送给高速缓冲存储器的同时,也将该数据传送给CPU(例如,参见日本特开平10-111798号公报)。
图7是日本特开平10-111798号公报中描述的信息处理装置的结构的图。图7中所示的信息处理装置包括主存储单元1、指令控制单元2、以及存储控制单元3。当指令控制单元2请求数据时,存储控制单元3对数据执行“读取”。即,通过存储控制单元3中的选择器7将来自指令控制单元2的数据请求传送到高速缓冲存储器4。当高速缓冲存储器4中存储有所请求的数据(缓存命中)时,经由选择器5将该数据读入指令控制单元2的缓冲器8。在此情况下,如图8的上部所示,指令控制单元2能够从存储控制单元3获得数据,并且到数据被获得的时候仅执行了一次“读取”(图8:“RD”)。因此,指令控制单元2的数据获取中几乎没有等待时间。
另一方面,当高速缓冲存储器4中没有存储所请求的数据(缓存缺失)时,执行“移入”以将存储在主存储单元1中的该数据传送到高速缓冲存储器4。即,经由选择器7将来自指令控制单元2的数据请求传送到主存储单元1,并且经由选择器6将所请求的数据传送到高速缓冲存储器4。在该正常情况下,此后:指令控制单元2再次请求数据;存储控制单元3执行“读取”;经由选择器5将所请求的数据从高速缓冲存储器4读入缓冲器8。在此情况下,如图8的中间部分所示,到指令控制单元2获得数据的时候,执行了两次“读取”(RD)和一次“移入”(图8:“MI”)。因此,指令控制单元2的数据获取中的等待时间变长。
但是,在日本特开平10-111798号公报中,设置有经由选择器5将主存储单元1和指令控制单元2的缓冲器8直接连接的线路L,因此,在经由选择器6将数据从主存储单元1传送到高速缓冲存储器4的同时,经由线路L将该数据读入缓冲器8。因此,如图8的下部所示,指令控制单元2能够在向高速缓冲存储器4“移入”(MI)数据的同时获得该数据。因此,可以减少等待时间。
近来,针对包括一个处理器核(此后称作“核”)的单核半导体集成电路,不能忽视诸如功耗增加的问题,并且性能的提高在接近其极限。可以通过在一个基板上包括多个核的多核结构来实现半导体集成电路的进一步性能提高。当在具有多核结构的半导体集成电路中,将高速缓冲存储器和主存储单元划分成多个存储库(bank)时,可以提高各个核、高速缓冲存储器和主存储单元之间的吞吐量。
在采用划分成多个存储库的多核结构的半导体集成电路中:将分别连接到主存储单元的多个核、多个高速缓冲存储器以及多个主存储控制单元设置在基板的外缘;将控制整个数据传输的控制单元设置在基板的中央。主存储单元的每个分割存储库存储有彼此具有不同地址的数据,因此,每个核可以向基板上的所有主存储控制单元请求数据。因此,和上述的日本特开平10-111798号公报中一样,为了直接连接主存储单元和核,需要将所有的核以及所有的主存储单元相互连接,这就出现了基板上的布线很复杂的问题。
即,设置在夹持着置于基板中央的控制单元的各主存储控制单元的相对侧的核可以向主存储控制单元请求数据。因此,为了减少核的数据获取中的等待时间,还需要将在基板上分开设置的主存储控制单元和核直接连接。结果,需要大幅度地改变和扩展基板上的布线,从而导致半导体集成电路的尺寸更大。近来,搭载有半导体集成电路的装置日益小型化,因此,作为减少核的数据获取中的等待时间的手段而增大半导体集成电路的尺寸是不现实的。
发明内容
本发明是鉴于以上问题而提出的,其目的是提供一种使得能够在出现缓存缺失时,减少核的数据获取中的等待时间且不增大电路尺寸的高速缓冲存储器控制装置、半导体集成电路和高速缓冲存储器控制方法。
根据本发明的一个方面,提供一种用于控制其中存储从主存储单元传送的数据的高速缓冲存储器的装置,该装置包括:计算处理单元,其执行利用数据的计算处理;连接单元,其将所述高速缓冲存储器的输入部和输出部进行连接;控制单元,当将所述主存储单元中的数据从所述高速缓冲存储器的所述输入部输入到所述高速缓冲存储器中时,所述控制单元使所述主存储单元中的所述数据经由所述连接单元传送到所述高速缓冲存储器的所述输出部;以及传送单元,其将所述控制单元传送到所述高速缓冲存储器的所述输出部的数据传送到所述计算处理单元。
根据本发明的另一个方面,提供一种半导体集成电路,该半导体集成电路包括:处理器核,其执行利用数据的计算处理;高速缓冲存储器,其对存储在主存储器中的数据进行存储;连接线,其将所述高速缓冲存储器的输入部和输出部进行连接;控制单元,当将所述主存储器中的数据输入到所述高速缓冲存储器时,所述控制单元使所述主存储器中的所述数据经由所述连接线传送到所述高速缓冲存储器的所述输出部;以及数据总线,其将所述控制单元传送到所述高速缓冲存储器的所述输出部的数据传送到所述处理器核。
根据本发明的又一个方面,提供一种用于在高速缓冲存储器控制装置中,对其中存储从主存储单元传送的数据的高速缓冲存储器进行控制的方法,该高速缓冲存储器包括计算处理单元,该计算处理单元执行利用数据的计算处理。该方法包括以下步骤:写入步骤,在该写入步骤中,通过从所述高速缓冲存储器的输入部输入数据,将所述主存储单元中的数据写入所述高速缓冲存储器;第一传送步骤,在该第一传送步骤中,将在所述写入步骤中写入所述高速缓冲存储器中的数据从所述高速缓冲存储器的所述输入部传送到所述高速缓冲存储器的输出部;以及第二传送步骤,在该第二传送步骤中,将在所述第一传送步骤中传送的数据从所述高速缓冲存储器的所述输出部传送到所述计算处理单元。
通过权利要求中具体指出的要素和组合,将实现并获得本发明的目的和优点。
应当了解,前面的概述和下面的详述均都是示例性和解释性的,而不对所要求保护的发明构成限制。
附图说明
图1是根据本发明的实施方式的半导体集成电路的结构的示意图;
图2是根据该实施方式的半导体集成电路的主要部分的结构的图;
图3是根据该实施方式的高速缓冲存储器控制装置中的连接关系的图;
图4是当出现缓存缺失时,根据该实施方式执行的操作的顺序图;
图5是解释根据该实施方式如何减少等待时间的图;
图6是根据该实施方式的流水线处理的示例的图;
图7是信息处理装置的结构的示例的图;以及
图8是信息处理装置的等待时间的解释图。
具体实施方式
参照附图详细说明本发明的实施方式。将对包括设置在一个基板上的多个核、多个高速缓冲存储器以及多个主存储控制单元的半导体集成电路进行说明。但是,本发明也能够应用于包括在一个基板上的仅一个核、仅一个高速缓冲存储器和仅一个主存储控制单元的半导体集成电路。
图1是根据所述实施方式的半导体集成电路100的结构的示意图。图1所示的半导体集成电路100包括8个核#0至#7。在半导体集成电路100中,与划分成4个存储库的主存储单元(图1中未示出)相对应,高速缓冲存储器和主存储控制单元分别被划分成4个数据存储器#0至#3和4个MAC(存储器存取控制器)#0至#3。核#0至#7、数据存储器#0至#3以及MAC#0至#3设置在基板的外沿。控制单元设置在基板的中央。图1所示的半导体集成电路100包括对从各MAC#0至#3到各数据存储器#0至#3的数据传送以及从各数据存储器#0至#3到各核#0至#7的数据传送进行控制的高速缓冲存储器控制装置。
通过控制单元执行“读取”,核#0至#7获得临时保存在数据存储器#0至#3中的数据,并执行各种计算处理。如果所需的数据没有保存在数据存储器#0至#3中(缓存缺失),则核#0至#7向MAC#0至#3中的一个MAC请求该数据,其中所述一个MAC与主存储单元的存储有该数据的存储库相对应。当将数据从MAC#0至#3传送到数据存储器#0至#3时,通过控制单元执行“移入”,核#0至#7获得与输入到数据存储器#0至#3中的数据相同的数据。即,核#0至#7从数据存储器#0至#3的输入部获得了与待写入数据存储器#0至#3中的数据相同的数据。
数据存储器#0至#3中的每一个构成高速缓冲存储器的一部分,并且临时保存核#0至#7使用的数据。更具体地说,当控制单元执行“读取”时,数据存储器#0至#3输出核#0至#7请求的数据。当控制单元执行“移入”时,数据存储器#0至#3从MAC#0至#3获得核#0至#7请求的数据,并且数据存储器#0至#3把获得的数据存储于其中。
MAC#0至#3分别对应于存储有地址彼此不同的数据的主存储单元的4个存储库(图1中未示出)。当出现缓存缺失时,MAC#0至#3从主存储单元获得核#0至#7请求的数据,并且MAC#0至#3将获得的数据传送给数据存储器#0至#3。
控制单元通过流水线处理执行“读取”和“移入”。即,当核#0至#7请求数据时,控制单元将“读取”请求输入到流水线,控制单元在图1中未示出的标记存储器(tag memory)中进行搜索,并且控制单元判断数据存储器#0至#3中是否存储有所请求的数据。如果数据存储器#0至#3中存储有所请求的数据(缓存命中),则控制单元使数据从数据存储器#0至#3输出到核#0至#7。而如果数据存储器#0至#3中没有存储所请求的数据(缓存缺失),则控制单元将“移入”请求输入流水线,并使该数据从MAC#0至#3传送到数据存储器#0至#3。
除了“读取”和“移入”之外,控制单元还执行:回写(WRITE-BACK),其将经历了核#0至#7的计算处理的数据回写到数据存储器#0至#3中;移出(MOVE-OUT),其将数据从数据存储器#0至#3排出到主存储单元;等等。当控制单元将诸如“读取”请求和“移入”请求的指令输入到流水线中时,控制单元将这些指令以适当的间隔输入到流水线中,以使得当多个指令同时使用诸如数据存储器#0至#3等的资源时,不会造成干扰。
图2是根据所述实施方式的半导体集成电路100的主要部分的结构的图。在图2中,将与图1中所示的半导体集成电路100的核#0至#3、数据存储器#0和#1、以及MAC#0和#1对应的部分进行了特别放大。图2中所示的半导体集成电路100包括核101-0和101-1、控制单元102、回写数据队列(此后称作“WBDQ”)103、“移入”数据队列(此后称作“MIDQ”)104、选择器105、数据存储器106、选择器107和108、数据总线109以及MAC 115。图2中所示的半导体集成电路100被配置成左右对称,因此,只给出左侧一半的参考标号。图2中,利用箭头来指示主要在数据存储器106附近的数据的移动。
核101-0和101-1利用在数据存储器106和图2未示出的主存储单元中存储的数据来执行各种计算处理。核101-0和101-1向控制单元102请求计算处理所需的数据。当数据存储器106中存储有该数据时(缓存命中),核101-0和101-1获得通过执行“读取”而从数据存储器106中读取的数据。当数据存储器106中没有存储该数据时(缓存缺失),核101-0和101-1获得通过执行“移入”而经由MAC 115从主存储单元传送到数据存储器106的数据。更具体地说,在完成将数据写入数据存储器106中之后,核101-0和101-1获得通过执行“移入”而传送到设置在数据存储器106的输入部处的MIDQ 104的数据。
控制单元102通过流水线处理执行核101-0和101-1请求的“读取”或“移入”。即,当核101-0和101-1请求数据时,控制单元102将“读取”请求输入流水线。如果缓存命中,则控制单元102使数据从数据存储器106传送到核101-0和101-1。如果缓存缺失,则控制单元102使数据从与存储有所请求的数据的主存储单元对应的MAC 115传送到MIDQ104,然后,控制单元102将“移入”请求输入流水线,并使所请求的数据从MIDQ 104传送到数据存储器106。
WBDQ 103是当执行WRITE-BACK时临时保存从核101-0和101-1回写到数据存储器106的数据的队列。即,WBDQ 103临时保存由核101-0和101-1处理的数据,并经由选择器105将数据输出至数据存储器106。
MIDQ 104设置在数据存储器106的输入部处,MIDQ 104是当出现缓存缺失而执行“移入”时临时保存从MAC 115向数据存储器106传送的数据的队列。即,MIDQ 104临时保存核101-0和101-1请求的从MAC115传送来的数据,并且MIDQ 104经由选择器105将数据输出到数据存储器106。在数据被写入数据存储器106之后,MIDQ 104还将同一数据输出到选择器107。
选择器105选择WBDQ 103和MIDQ 104中保存的一项数据,并且选择器105将所选择的数据输出到数据存储器106。更具体地说,当控制单元102的流水线执行WRITE-BACK时,选择器105选择WBDQ 103中保存的数据。当控制单元102的流水线执行“移入”时,选择器105选择MIDQ 104中保存的数据。
当执行了“移入”时,在保存在MIDQ 104中的数据写入数据存储器106中之后,选择器105还通过线路L0将同一数据输出到选择器107。即,通过执行“移入”,选择器105将与写入数据存储器106中的数据相同的数据输出到线路L0,并且选择器105使输出的数据从选择器107传送到核101-0和101-1。
线路L0是将MIDQ 104和数据存储器106之间的接点与选择器107进行连接的配线,因此,线路L0连接了数据存储器106的输入部和输出部。因此,线路L0是仅设置在数据存储器106周围的很短的线,当新设置线路L0时,线路L0几乎不对周围的配线造成任何影响。当执行“读取”时,线路L0将与要输入到数据存储器106中的数据相同的数据传送到数据存储器106的用于使从数据存储器106输出的数据通过的输出部。
数据存储器106是构成高速缓冲存储器的一部分的存储器,并且数据存储器106临时存储核101-0和101-1频繁使用的数据。在该实施方式中,高速缓冲存储器包括划分成存储库的数据存储器和标记存储器,例如可以将RAM(随机存取存储器)用作这些存储器。
选择器107设置在数据存储器106的输出部处。选择器107选择从MIDQ 104输出的数据和从数据存储器106输出的数据之一,并将选择的数据输出到选择器108或输出到除了核101-0和101-1以外的其它核。更具体地说,当通过控制单元102的流水线执行“移入”时,选择器107选择从MIDQ 104输出的数据。当通过控制单元102的流水线执行“读取”时,选择器107选择从数据存储器106输出的数据。
换言之,选择器107选择当缓存命中时被“读取”的数据和当缓存缺失时被“移入”的数据中的任何一个,作为待传送到核101-0和101-1的数据。在出现缓存缺失的情况下,当通过执行“移入”而将数据写入数据存储器106中时,选择器107从线路L0获得相同的数据并将该相同的数据传送到核101-0和101-1。由此,当执行“移入”时,选择器107将与输入到数据存储器106的数据相同的数据,以与执行“读取”时从数据存储器106输出的数据相同的处理方式进行处理,而传送到核101-0和101-1。因此,即使执行“读取”时不再从数据存储器106输出执行“移入”时输入到数据存储器106的数据,所请求的数据也能够迅速传送到核101-0和101-1。
不论是执行“读取”还是“移入”,选择器107都在流水线处理的相同周期输出数据。即,对于“移入”,在对数据存储器106进行写数据访问之后,把与被写入数据存储器106中的数据相同的数据从MIDQ 104输入到选择器107。对于“读取”,在对数据存储器106进行读数据访问之后,把从数据存储器106读出的数据从数据存储器106输出到选择器107。因此,不论是“移入”还是“读取”,数据到达选择器107的流水线处理周期都是相同的,从而从选择器107向核101-0和101-1的数据传送成为完全相同的处理。
选择器108选择从选择器107输出的数据以及从除了数据存储器106之外的其它数据存储器输出的数据中的任何一个,并且选择器108将选择的数据输出到核101-0和101-1。更具体地说,当核101-0和101-1请求数据存储器106中存储的数据时,选择器108选择从选择器107输出的数据。当核101-0和101-1请求除了数据存储器106以外的其它数据存储器中存储的数据时,选择器108选择从作为数据请求目的地的数据存储器输出的数据。
数据总线109连接选择器108和核101-0和101-1,并且数据总线109将从数据存储器106或MIDQ 104输出且经过选择器107和108的数据,传送到核101-0和101-1。即,数据总线109共用于控制单元102的流水线执行的“读取”和“移入”两者。因此,在执行这些指令中的每一个的预定周期中,数据总线109都被占用。
MAC 115连接到存储有核101-0和101-1可能使用的所有数据项的主存储单元(图2中未示出)。当出现缓存缺失时,MAC 115从主存储单元获得缓存缺失的数据,并将获得的数据传送到MIDQ 104。通过执行“移入”,将传送到MIDQ 104的数据从MIDQ 104传送到数据存储器106。
参照图3更详细地介绍根据该实施方式的核、高速缓冲存储器以及MAC的连接关系。图3是核101、包括数据存储器106和标记存储器112的高速缓冲存储器以及MAC 115的连接关系的示意图。在图3中,对与图2中相同的组成部分赋予相同的参考标记。在图3中,除了图2中所示的组成部分以外,还示出了移入端口(此后称作“MI端口”)110、选择器111、标记存储器112、移入缓冲器(此后称作“MI缓冲器”)113、以及移出数据队列(此后称作“MODQ”)114。
MI端口110接收来自核101的数据请求,并向控制单元102请求执行“读取”。选择器111请求控制单元102执行“读取”或“移入”。即,当MI端口110请求执行“读取”时,选择器111请求控制单元102执行“读取”。当MI缓冲器113请求执行“移入”时,选择器111请求控制单元102执行“移入”。
标记存储器112保存数据存储器106中存储的数据的地址。当“读取”请求被输入到控制单元102的流水线中时,标记存储器112判断数据存储器106中是否存储有核101请求的数据。即,当标记存储器112保存有所请求的数据的地址时,缓存命中,而当标记存储器112没有保存所请求的数据的地址时,缓存缺失。
当出现缓存缺失时,MI缓冲器113指令MAC 115将缓存缺失的数据传送到MIDQ 104。在缓存缺失的数据被传送到MIDQ 104之后,MI缓冲器113请求控制单元102执行“移入”。
在缓存替换期间,MODQ 114临时保存从数据存储器106经由MAC115向主存储单元(图3中未示出)回写的数据。
在上述结构中,当核101请求数据时,该数据请求被MI端口110接收,并且“读取”请求经由选择器111而被输入到控制单元102中。控制单元102将“读取”请求输入到流水线中,并搜索标记存储器112以判断数据存储器106中是否存储有所请求的数据。作为判断的结果,如果数据存储器106中存储有所请求的数据从而缓存命中时,则从数据存储器106输出该数据,并且经由选择器107、108和数据总线109将该数据传送到核101。由此,完成“读取”的流水线处理。
另一方面,如果标记存储器112没有存储所请求的数据的地址从而缓存缺失时,则将出现缓存缺失的数据的地址从标记存储器112通知给MI缓冲器113。MI缓冲器113指令MAC 115向MIDQ 104传送出现缓存缺失的数据。即,当标记存储器112中没有存储核101请求的数据的地址时,MI缓冲器113指令MAC 115向MIDQ 104传送核101请求的数据。
MAC 115接收来自MI缓冲器113的指令,从主存储单元获得核101请求的数据,并将获得的数据传送到MIDQ 104。在核101所请求的数据被传送到MIDQ 104之后,MI缓冲器113将执行“移入”的请求经由选择器111输入到控制单元102。在控制单元102中,将“移入”请求输入到流水线中,并且响应于对“移入”请求的流水线处理,将临时保存在MIDQ 104中的数据经由选择器105输入到数据存储器106,从而将该数据写入数据存储器106中。在把从MIDQ 104输出的数据写入数据存储器106中之后,将同一数据从MIDQ 104经由线路L0输出到选择器107。
在此情况下,从MIDQ 104经由线路L0向选择器107输出数据的周期与执行“读取”时从数据存储器106输出数据的周期是相同的。即,在该实施方式中,没有在经由线路L0将数据输出到选择器107的同时将从MIDQ 104输出的数据写入数据存储器106中。相反,是在写数据结束之后,才将该数据输出到选择器107。由此,对于执行“读取”的情况和执行“移入”的情况,对到达选择器107的数据的流水线处理的周期是相同的。因此,可以通过共同控制来实现从选择器107到核101的数据传送。
当来自MIDQ 104的数据经由线路L0到达选择器107时,与执行“读取”时的情况类似,将该数据经由选择器107、108和数据总线109传送到核101。由此,“移入”的流水线处理结束。即,在该实施方式中,即使出现缓存缺失,核101也在“移入”结束的同时获得所请求的数据。换言之,通过“移入”而写入数据存储器106中的数据无需通过“读取”进行读取操作而被传送到核101。结果,能够将出现缓存缺失时核101的数据获取中的等待时间减少与执行一次“读取”的时间段对应的时间段。
参照图4和5描述缓存缺失时的等待时间的减少。图4是当出现缓存缺失时,根据本实施方式执行的操作的顺序图。
当核101需要用于计算等的数据时,从核101经由MI端口110和选择器111向控制单元102请求执行“读取”(步骤S101)。在控制单元102中,将“读取”请求输入流水线中。当处理“读取”请求时,执行在标记存储器112中的搜索等。在图4的示例中,数据存储器106中没有存储核101请求的数据,从而标记存储器112中没有保存该数据的地址。即,因为出现缓存缺失,所以控制单元102经由MI缓冲器113指令MAC
115传送数据(步骤S102)。MAC 115从图4未示出的主存储单元获得核101请求的数据,并将该数据传送到MIDQ 104(步骤S 103),MIDQ 104临时保存该数据。
在控制单元102中,在输入“读取”请求之后,以预定周期的间隔,将“移入”请求从MI缓冲器113输入到流水线中。之所以在将“读取”请求输入流水线中之后而在输入“移入”请求之前设置预定周期的间隔,是为了防止诸如数据存储器106和数据总线109的资源被多个指令同时使用。
当实际出现缓存缺失时,如上所述,MI缓冲器113指令MAC 115向MIDQ 104传送出现缓存缺失的数据。在MAC 115将该数据传送到MIDQ 104之后,输入“移入”请求。因此,在“移入”请求被输入到流水线中之前,必需完成要通过“移入”而移入的数据向MIDQ 104的传送。因此,从“读取”请求输入到流水线中到“移入”请求输入到流水线中之间的时间间隔(例如,100个周期或更多)比防止诸如数据存储器106和数据总线109的资源被多个指令同时使用的时间间隔长。
当MIDQ 104中保存有出现缓存缺失的数据且“移入”请求被输入到控制单元102的流水线中时,将MIDQ 104保存的数据经由选择器105输出到数据存储器106(步骤S104),并将该数据写入数据存储器106中。当把数据写入数据存储器106中时,将与该数据相同的数据从MIDQ 104经由线路L0输出到选择器107,并经由选择器107、108和数据总线109传送到核101(步骤S105)。由此,核101能够在“移入”结束的同时获得请求的数据。在此情况下,如果没有设置线路L0和选择器107,则不能执行步骤S105,并且在核101获得数据之前,“移入”结束之后,图4中虚线所表示的步骤是必需的。
即,不执行步骤S105的处理,并且MI缓冲器113再次向控制单元102请求执行“读取”。在控制单元102中,将“读取”请求输入到流水线中,并且当处理“读取”请求时,执行在标记存储器112中的搜索等。在此情况下,由于“移入”已经结束,所以数据存储器106中已存储有核101请求的数据。即,因为缓存命中,所以指令数据存储器106输出所请求的数据(步骤S201)。将所请求的数据从数据存储器106传送到核101(步骤S202)。
通过设置线路L0和选择器107可以省略步骤S201和S202的处理,因此,可以将等待时间减少在控制单元102的流水线中执行一次“读取”的时间段。即,如果没有线路L0和选择器107,如图5的上部所示,到核101获得数据时在流水线中执行了两次“读取”(RD)和一次“移入”(MI)。但是,如果根据该实施方式设置了线路L0和选择器107,则如图5的下部所示,核101能够通过只执行一次“读取”(RD)和一次“移入”(MI)就获得所请求的数据。
因此,在该实施方式中,等待时间可以减少执行一次“读取”的时间段,并且由于减少了输入流水线中的“读取”的数量,结果就减少了流水线的使用次数。
参照图6描述控制单元102中的流水线处理的具体示例。图6是当以“读取”请求、“移入”请求和“读取”请求的顺序依次将指令输入到控制单元102的流水线中时所执行的流水线处理的示例的图。在图6中,上边沿的各数字表示周期号。各横越周期的粗线表示在每个周期执行了使用诸如数据存储器106和数据总线109的资源的处理。但是,图6所示的周期号是为了便于说明,因此,在实际流水线中使用的周期号可以不同于图6中的周期号。此后,假设写数据和读数据中的每一个都需要4个周期来访问数据存储器106。还假设通过数据总线109将数据传送到核101也需要4个周期。
当在第0个周期将“读取”请求输入到控制单元102的流水线中时,从第0个周期到第3个周期的4个周期内禁止向流水线输入任何指令,以使得针对诸如数据存储器106和数据总线109的资源,输入的“读取”请求和接下来的指令不会相互干扰。即,如上所述,在执行“读取”期间,从数据存储器106读数数据需要4个周期,因此,由于执行“读取”,数据存储器106被占用了4个周期。类似地,由于传送与执行“读取”有关的数据,数据总线109也被占用了4个周期。因此,使流水线开始执行新指令等待从第0个周期到第3个周期的4个周期,从而不会发生与该新指令的干扰。
当在第0个周期输入“读取”请求时:从第1个周期到第4个周期执行在标记存储器112中的地址搜索等;并且从第5个周期到第8个周期的4个周期内执行从数据存储器106的数据读取。在第9个周期,将数据从数据存储器106输出到选择器107。此后:从第10个周期到第11个周期,将数据从选择器107传送到选择器108;并且从第12个周期到第15个周期的4个周期内,数据总线109将数据传送到核101。由此,第一次“读取”结束。
由于在第0个周期输入了“读取”请求,所以从第0个周期到第3个周期内禁止向流水线输入任何指令。但是,当第4个周期开始时,将新的“移入”请求输入到流水线中。在此情况下,与输入“读取”请求的情况类似,在4个周期内禁止向流水线输入任何指令。即,如上所述,在执行“移入”期间,需要4个周期来将数据写入数据存储器106中。因此,由于执行“移入”,所以数据存储器106被占用了4个周期。类似地,由于传送与执行“移入”有关的数据,所以数据总线109也被占用了4个周期。因此,使流水线开始执行新指令等待从第4个周期到第7个周期的4个周期,从而不会发生与该新指令的干扰。
当在第4个周期中输入了“移入”请求时:从第5个周期到第7个周期内,执行在标记存储器112中新登记地址等;并且在第8个周期,将保存在MIDQ 104中的数据经由选择器105输出到数据存储器106。在从第9个周期到第12个周期的4个周期内,执行向数据存储器106写入数据。在第13个周期中,将与写入数据存储器106中的数据相同的数据从MIDQ 104经由线路L0输出到选择器107。此后,从第14个周期到第15个周期内,将数据从选择器107传送到选择器108。在从第16个周期到第19个周期的4个周期内,数据总线109将数据传送到核101。由此,“移入”结束。
在上面应注意的是,在第一次“读取”的执行和“移入”的执行当中,都在从各指令的输入起的第9个周期内向选择器107输出数据。即,当执行“读取”时,在第0个周期输入“读取”请求,并在第9个周期将数据输出到选择器107。另一方面,当执行“移入”时,在第4个周期输入“移入”请求,并在第13个周期将数据输出到选择器107。因此,对于从选择器107到核101的数据传送,针对“读取”的执行和“移入”的执行两者,可以只执行一个共同的控制。
由此,通过设置用于连接数据存储器106的输入部和输出部的线路L0,从MIDQ 104输出的数据可以按与从数据存储器106输出的数据相同的方式进行处理。即,可以将数据从数据存储器106的输入部经由线路L0传送到输出部的定时设置成与当执行“读取”时实际从数据存储器106输出数据的定时一致。结果,能够对于在执行“读取”时从选择器107到核101的数据传送的控制和对于在执行“移入”时从选择器107到核101的数据传送的控制设置成共同的。
由于在第4个周期中输入了“移入”请求,所以从第4个周期到第7个周期内禁止向流水线输入任何指令。但是,在第8个周期,将新的“读取”请求输入到流水线中。此后,与第一次“读取”类似,从第13个周期到第16个周期从数据存储器106读取数据,并且在第17个周期(其是从输入了“读取”请求起的第9个周期)中,将从数据存储器106读取的数据输出到选择器107。从第20个周期到第23个周期,数据总线109将数据传送到核101。由此,结束第二次“读取”。
以彼此间隔4个周期的方式而将上述两个“读取”和一个“移入”输入到流水线中。因此,如图6所示,数据存储器106和数据总线109被这3个指令不间断地连续使用。即,从第5个周期到第8个周期,数据存储器106被第一次“读取”访问;从第9个周期到第12个周期,数据存储器106被“移入”访问;接着从第13个周期到第16个周期,数据存储器106被第二次“读取”访问。从第12个周期到第15个周期,数据总线109传送第一次“读取”的数据;从第16个周期到第19个周期,数据总线109传送“移入”的数据;接着从第20个周期到第23个周期,数据总线109传送第二次“读取”的数据。
由此,在该实施方式中,在针对诸如数据存储器106和数据总线109的资源的指令间不会出现干扰,从而资源被不间断地连续使用。由此,能够实现更高效的资源使用。在图6所示的示例中,假设“读取”和“移入”中的每一个都占用数据存储器106和数据总线109达4个周期。但是,要占用的周期数不限于4个。占用数据存储器106的周期数和占用数据总线109的周期数可以不相等。在这种情况下,可以将占用资源时的最大周期数设置为,禁止输入指令以使得在与资源的使用有关的两个连续的指令之间不会出现干扰的期间。
如上所述,根据该实施方式,将构成高速缓冲存储器的一部分的数据存储器的输入部和输出部进行连接,从而当执行“移入”时,与从输入部输入到数据存储器的数据相同的数据也被传送到数据存储器的输出部。因此,可以用与执行“读取”时从数据存储器中读取的数据相同的方式来处理通过“移入”而写入数据存储器中的数据。即,无需通过“读取”再次读取通过“移入”而写入数据存储器中的数据,从而能够省略这次“读取”的执行。结果,当出现缓存缺失时,能够减少在核的数据获取中产生的等待时间而无需增大电路的尺寸。
根据本文描述的高速缓冲存储器控制装置、半导体集成电路以及高速缓冲存储器控制方法的实施方式,当出现缓存缺失时,能够减少核获取数据的等待时间而无需增大电路的尺寸。
在此陈述的所有示例和条件语言旨在出于教导的目的,以帮助读者理解本发明和本发明人为促进技术进步而贡献的构思,并且应当被解释成并不限于这种具体陈述的示例和条件,说明书中对这些示例的组织也并不涉及表明本发明的优劣。尽管对本发明的实施方式进行了详细描述,但是应当明白,可以在不脱离本发明的精神和范围的情况下对其作出各种改变、替换以及更换。
Claims (7)
1.一种用于对其中存储从主存储单元传送的数据的高速缓冲存储器进行控制的装置,该装置包括:
计算处理单元,其执行利用数据的计算处理;
队列单元,其设置在所述高速缓冲存储器的输入部上,当将所述主存储单元中的数据写入所述高速缓冲存储器中时,该队列单元临时保存所述主存储单元中的所述数据;
选择单元,其设置在所述高速缓冲存储器的输出部上,该选择单元选择从所述队列单元输出的数据和从所述高速缓冲存储器输出的数据中的一个;
连接单元,其将所述队列单元与所述高速缓冲存储器之间的接点与所述选择单元进行连接;
控制单元,其将临时保存在所述队列单元中的数据写入所述高速缓冲存储器中,并在把所述数据写入所述高速缓冲存储器中之后,将同一数据从所述队列单元经由所述连接单元输出到所述选择单元;以及
传送单元,其将所述控制单元传送到所述选择单元的数据传送到所述计算处理单元,其中
所述控制单元包括:
流水线处理单元,其流水线处理关于传送数据的指令,其中
在所述流水线处理单元的流水线处理中,当执行从所述主存储单元向所述高速缓冲存储器传送数据的移入请求时将数据从所述队列单元经由所述连接单元输出到所述选择单元的周期和当执行从所述高速缓冲存储器读取数据的读取请求时将数据从所述高速缓冲存储器输出到所述选择单元的周期是相同的。
2.根据权利要求1所述的装置,其中
当所述高速缓冲存储器中没有存储所述计算处理单元请求的数据,并且从所述主存储单元向所述高速缓冲存储器传送该请求的数据时,所述选择单元选择经由所述连接单元传送的数据。
3.根据权利要求1所述的装置,其中
在一个指令的执行开始之后,所述流水线处理单元将下一个指令的执行开始延迟对所述高速缓冲存储器继续进行访问的多个周期。
4.根据权利要求1所述的装置,其中
在一个指令的执行开始之后,所述流水线处理单元将下一个指令的执行开始延迟所述传送单元进行数据传送所需的多个周期。
5.一种半导体集成电路,该半导体集成电路包括:
处理器核,其执行利用数据的计算处理;
高速缓冲存储器,其对存储在主存储器中的数据进行存储;
队列单元,其设置在所述高速缓冲存储器的输入部上,当将所述主存储器中的数据写入所述高速缓冲存储器中时,该队列单元临时保存所述主存储器中的所述数据;
选择单元,其设置在所述高速缓冲存储器的输出部上,该选择单元选择从所述队列单元输出的数据和从所述高速缓冲存储器输出的数据中的一个;
连接线路,其将所述队列单元与所述高速缓冲存储器之间的接点与所述选择单元进行连接;
控制单元,其将临时保存在所述队列单元中的数据写入所述高速缓冲存储器中,并在把所述数据写入所述高速缓冲存储器中之后,将同一数据从所述队列单元经由所述连接单元输出到所述选择单元;以及
数据总线,其将所述控制单元传送到所述选择单元的数据传送到所述处理器核,其中
所述控制单元包括:
流水线处理单元,其流水线处理关于传送数据的指令,其中
在所述流水线处理单元的流水线处理中,当执行从所述主存储器向所述高速缓冲存储器传送数据的移入请求时将数据从所述队列单元经由所述连接线路输出到所述选择单元的周期和当执行从所述高速缓冲存储器读取数据的读取请求时将数据从所述高速缓冲存储器输出到所述选择单元的周期是相同的。
6.根据权利要求5所述的半导体集成电路,该半导体集成电路包括多个处理器核,其中,
所述高速缓冲存储器被分割为与所述主存储器的分别存储彼此具有不同地址的数据的多个存储库相对应。
7.一种用于在高速缓冲存储器控制装置中,对其中存储从主存储单元传送的数据的高速缓冲存储器进行控制的方法,该高速缓冲存储器包括计算处理单元,该计算处理单元执行利用数据的计算处理,该方法包括以下步骤:
写入步骤,在该写入步骤中,通过从队列单元输入数据,将所述主存储单元中的数据写入所述高速缓冲存储器,其中所述队列单元设置在所述高速缓冲存储器的输入部上,当将所述主存储单元中的数据写入所述高速缓冲存储器中时,所述队列单元临时保存所述主存储单元中的所述数据;
第一传送步骤,在该第一传送步骤中,在把所述数据写入所述高速缓冲存储器中之后,将在所述写入步骤中写入所述高速缓冲存储器中的同一数据通过连接单元从所述队列单元传送到选择单元,该选择单元设置在所述高速缓冲存储器的输出部上,所述选择单元选择从所述队列单元输出的数据和从所述高速缓冲存储器输出的数据中的一个,该连接单元将所述队列单元与所述高速缓冲存储器之间的接点与所述选择单元进行连接;以及
第二传送步骤,在该第二传送步骤中,将在所述第一传送步骤中传送的数据从所述选择单元传送到所述计算处理单元,其中
所述第一传送步骤包括传输数据以使得当执行从所述主存储单元向所述高速缓冲存储器传送数据的移入请求时将数据从所述队列单元经由所述连接单元输出到所述选择单元的周期和当执行从所述高速缓冲存储器读取数据的读取请求时将数据从所述高速缓冲存储器输出到所述选择单元的周期是相同的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-139986 | 2008-05-28 | ||
JP2008139986 | 2008-05-28 | ||
JP2008139986A JP5583893B2 (ja) | 2008-05-28 | 2008-05-28 | 演算処理装置及び演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101593158A CN101593158A (zh) | 2009-12-02 |
CN101593158B true CN101593158B (zh) | 2012-07-25 |
Family
ID=41037719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101184641A Active CN101593158B (zh) | 2008-05-28 | 2009-03-09 | 控制高速缓冲存储器的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8200900B2 (zh) |
EP (1) | EP2128771B1 (zh) |
JP (1) | JP5583893B2 (zh) |
KR (1) | KR100983299B1 (zh) |
CN (1) | CN101593158B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028343A (ja) * | 2009-07-22 | 2011-02-10 | Fujitsu Ltd | 演算処理装置、およびデータ転送方法 |
CN101901191A (zh) * | 2010-05-31 | 2010-12-01 | 深圳市茁壮网络股份有限公司 | 嵌入式系统多类内存管理方法及装置 |
KR101975528B1 (ko) | 2012-07-17 | 2019-05-07 | 삼성전자주식회사 | 패스트 어레이 영역을 갖는 반도체 메모리 셀 어레이 및 그것을 포함하는 반도체 메모리 |
CN102902631B (zh) * | 2012-09-18 | 2015-04-15 | 杭州中天微系统有限公司 | 一种避免读缺失时数据回写的多处理器核间传输方法 |
CN106502810B (zh) * | 2016-09-09 | 2019-05-24 | 华为技术有限公司 | 一种高速缓冲存储器的故障检测方法及装置 |
US10884957B2 (en) * | 2018-10-15 | 2021-01-05 | Intel Corporation | Pipeline circuit architecture to provide in-memory computation functionality |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1227932A (zh) * | 1997-12-19 | 1999-09-08 | 日本电气株式会社 | 通过流水线控制访问的高速缓冲存储器系统及其访问方法 |
CN1608249A (zh) * | 2001-10-22 | 2005-04-20 | 太阳微系统有限公司 | 多核心多线程处理器 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6272041A (ja) * | 1985-09-25 | 1987-04-02 | Nec Corp | キヤツシユメモリ制御装置 |
US4851993A (en) * | 1987-04-20 | 1989-07-25 | Amdahl Corporation | Cache move-in bypass |
JPS6429953A (en) * | 1987-07-25 | 1989-01-31 | Fujitsu Ltd | Controller for buffer move-in of buffer storage system |
JPH02133842A (ja) * | 1988-11-15 | 1990-05-23 | Fujitsu Ltd | 中間バッファプリフェッチ制御方式 |
US4998221A (en) * | 1989-10-31 | 1991-03-05 | International Business Machines Corporation | Memory by-pass for write through read operations |
JP2673041B2 (ja) * | 1990-10-19 | 1997-11-05 | 富士通株式会社 | 命令実行制御方式 |
US5454093A (en) | 1991-02-25 | 1995-09-26 | International Business Machines Corporation | Buffer bypass for quick data access |
JPH10111798A (ja) | 1996-10-07 | 1998-04-28 | Fujitsu Ltd | 情報処理装置 |
US6901450B1 (en) * | 2000-09-22 | 2005-05-31 | Hitachi, Ltd. | Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors |
US6865665B2 (en) * | 2000-12-29 | 2005-03-08 | Stmicroelectronics, Inc. | Processor pipeline cache miss apparatus and method for operation |
JP4092112B2 (ja) * | 2002-02-26 | 2008-05-28 | 富士通株式会社 | 演算処理装置 |
JP4180569B2 (ja) * | 2003-01-27 | 2008-11-12 | 富士通株式会社 | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
JP4904796B2 (ja) * | 2005-12-07 | 2012-03-28 | セイコーエプソン株式会社 | キャッシュメモリ及びマルチプロセッサシステム |
JP2008107983A (ja) * | 2006-10-24 | 2008-05-08 | Nec Electronics Corp | キャッシュメモリ |
US20080140934A1 (en) * | 2006-12-11 | 2008-06-12 | Luick David A | Store-Through L2 Cache Mode |
-
2008
- 2008-05-28 JP JP2008139986A patent/JP5583893B2/ja active Active
-
2009
- 2009-02-04 EP EP09152023.9A patent/EP2128771B1/en active Active
- 2009-02-09 US US12/320,941 patent/US8200900B2/en active Active
- 2009-02-26 KR KR1020090016447A patent/KR100983299B1/ko active IP Right Grant
- 2009-03-09 CN CN2009101184641A patent/CN101593158B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1227932A (zh) * | 1997-12-19 | 1999-09-08 | 日本电气株式会社 | 通过流水线控制访问的高速缓冲存储器系统及其访问方法 |
CN1608249A (zh) * | 2001-10-22 | 2005-04-20 | 太阳微系统有限公司 | 多核心多线程处理器 |
Also Published As
Publication number | Publication date |
---|---|
US8200900B2 (en) | 2012-06-12 |
KR20090123771A (ko) | 2009-12-02 |
JP2009288977A (ja) | 2009-12-10 |
CN101593158A (zh) | 2009-12-02 |
JP5583893B2 (ja) | 2014-09-03 |
US20090300287A1 (en) | 2009-12-03 |
EP2128771B1 (en) | 2018-07-25 |
EP2128771A1 (en) | 2009-12-02 |
KR100983299B1 (ko) | 2010-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593158B (zh) | 控制高速缓冲存储器的方法和装置 | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN100375067C (zh) | 异构多核微处理器局部空间共享存储方法 | |
KR100678372B1 (ko) | 고속 프로세서 시스템, 이를 이용한 방법, 및 기록 매체 | |
CN102239523B (zh) | 切换式接口堆叠裸片存储器架构 | |
US6732236B2 (en) | Cache retry request queue | |
KR100840140B1 (ko) | 메모리 허브 메모리 모듈들을 사용하여 데이터 전송들을조직화하는 시스템 및 방법 | |
CN112558889B (zh) | 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置 | |
US11163710B2 (en) | Information processor with tightly coupled smart memory unit | |
CN102446158A (zh) | 多核处理器及多核处理器组 | |
JPH0594698A (ja) | 半導体記憶装置 | |
US7948498B1 (en) | Efficient texture state cache | |
EP1512078A2 (en) | Programmed access latency in mock multiport memory | |
CN109891397A (zh) | 用于固态装置中的操作系统高速缓冲存储器的设备及方法 | |
KR20010014592A (ko) | 파이프라인 메모리 시스템의 다중 목적에 대한 다중 요구지원 | |
US20140047199A1 (en) | Memory-Link Compression for Graphic Processor Unit | |
JPS63201851A (ja) | バッファ記憶アクセス方法 | |
CN101681304B (zh) | 高速缓冲存储器控制装置及流水线控制方法 | |
JP4469911B2 (ja) | リクエスト生成装置、リクエスト処理システム及び制御方法 | |
US8713216B2 (en) | Processor and data transfer method | |
US20230400985A1 (en) | Pim computing system and pim computation offloading method thereof | |
US8312218B2 (en) | Cache controller and cache control method | |
US6032229A (en) | Semiconductor memory device and information processor using the same | |
US6847990B2 (en) | Data transfer unit with support for multiple coherency granules | |
US6467030B1 (en) | Method and apparatus for forwarding data in a hierarchial cache memory architecture |
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 |