CN115185860B - 一种缓存访问系统 - Google Patents
一种缓存访问系统 Download PDFInfo
- Publication number
- CN115185860B CN115185860B CN202211112988.1A CN202211112988A CN115185860B CN 115185860 B CN115185860 B CN 115185860B CN 202211112988 A CN202211112988 A CN 202211112988A CN 115185860 B CN115185860 B CN 115185860B
- Authority
- CN
- China
- Prior art keywords
- level cache
- pipeline
- instruction
- cache
- data
- 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
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及电子设计技术领域,具体涉及一种缓存访问系统,该系统包括编译器、K个计算单元、每个计算单元配置的一个一级缓存、一级缓存共享的二级缓存和内存;其中每个一级缓存包括M个一级缓存管道,其中K*M个一级缓存管道共享二级缓存;每个一级缓存管道内部的数据按照指令发出的顺序返回给相应的计算单元,一级缓存管道之间相互独立,其中每个一级缓存管道配置唯一的管道ID;在指令中携带有管道ID时,则计算单元以管道ID为索引将指令分配给相应的管道,同一管道中的数据按照指令发出的顺序返回给计算单元。该系统通过增加管道并结合指令之间的依赖关系分配管道ID,能够降低等待时间,提高处理器的利用率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种缓存访问系统。
背景技术
处理器在进行数据访存过程中,需要将访存请求中的虚拟地址翻译为物理地址,在翻译的过程中以及在访存数据的过程中会消耗较多的时间,特别是如果在多级缓存中都无法匹配到,则需要花费更长的时间来访问内存;因此为了充分利用处理器的资源,常规的做法是在两个访存请求之间插入一些运算指令,用相应的运算操作来填补等待请求返回的时间,达到充分利用处理器资源的目的。
如图1所示,对于现有的芯片框架来说,芯片中包括若干个计算单元,每个计算单元对应一个本地的一级缓存,所有一级缓存共享二级缓存,也就是说每个一级缓存都能够访问二级缓存,其中二级缓存可以包括若干个,二级缓存共享一个内存(Global memory),其中由一级缓存、二级缓存和内存构成的数据访存单元用于访存数据,访存数据包括将访存请求中携带的虚拟地址翻译为物理地址以及根据物理地址取存相应的数据这两个过程。
通常情况下,GPU处理器会将发起的应用程序分为若干个工作组, 每个工作组必须在一个计算单元上执行,每个计算单元上可以执行多个工作组;每个工作组包括多个线程组,其中线程组也称为wave或者warp,每个线程组都是一段程序,每个线程组包括多个访存请求和运算指令,其中每个访存请求中携带有相应的地址和数据长度等信息。由于常规的一级缓存只有一个管道,同一个计算单元上的多个线程组的数据必须通过该管道顺序返回给计算单元;具体的,计算单元按照顺序向一级缓存中发送虚拟地址,由于地址翻译以及数据访存过程的延时不同会导致访存的数据返回到一级缓存中的顺序是乱序的,但是由于一级缓存中只有一个管道的原因,需要等待在前的数据顺序返回之后才能将数据返回给对应的计算单元,即使是在后的访存请求先返回数据,也需要等到在先的访存请求返回之后才能顺序返回给对应的计算单元,前后发送的访存请求之间无论是否存在依赖关系,其数据返回都必须按照顺序返回,等待的时间依然会浪费处理器的资源,数据堵塞的情况比较严重,无法充分的利用处理器的等待间隙,导致GPU的资源被浪费。
发明内容
为了解决上述技术问题,本发明的目的在于提供一种缓存访问系统,所采用的技术方案具体如下:
一种缓存访问系统,该系统包括编译器、K个计算单元、为每个计算单元配置的一个一级缓存、一级缓存共享的二级缓存和内存;其中一级缓存、二级缓存和内存构成数据访存单元,每个一级缓存包括M个一级缓存管道、K*M个一级缓存管道共享二级缓存;每个一级缓存管道内部的数据按照指令发出的顺序返回给相应的计算单元,一级缓存管道之间相互独立,其中每个一级缓存管道配置唯一的管道ID;在指令中携带有管道ID时,则计算单元以管道ID为索引将指令分配给相应的一级缓存管道,指令在经过数据访存单元处理之后通过相应的一级缓存管道返回给相应的计算单元,其中同一个一级缓存管道中的数据按照指令发出的顺序返回。
本发明具有如下有益效果:
该系统通过在一级缓存和二级缓存上增加相应的一级缓存管道,并且基于指令之间的依赖关系分配相应的管道ID,能够在一定程度上降低没有数据依赖关系的指令之间的耦合关系,进而降低等待的时间,减少数据堵塞,提高处理器的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为现有技术中提供的一种缓存访问系统框图;
图2为本发明一个实施例所提供的一种缓存访问系统框图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种缓存访问系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一个或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种缓存访问系统的具体方案。
为了解决上述技术问题,请参阅图2,其示出了本发明一个实施例提供的一种缓存访问系统的框图,该系统包括编译器、K个计算单元、为每个计算单元配置的一个一级缓存、一级缓存共享的二级缓存和内存;其中一级缓存、二级缓存和内存构成数据访存单元,每个一级缓存包括M个一级缓存管道,K*M个一级缓存管道共享二级缓存;每个一级缓存管道内部的数据按照指令发出的顺序返回给相应的计算单元,一级缓存管道之间相互独立,其中每个一级缓存管道配置唯一的管道ID;在指令中携带有管道ID时,则计算单元以管道ID为索引将指令分配给相应的一级缓存管道,指令在经过数据访存单元处理之后通过相应的一级缓存管道返回给相应的计算单元,其中同一个一级缓存管道中的数据按照指令发出的顺序返回。
其中,本发明实施例将其中的每个一级缓存扩展为M个一级缓存管道,是指将一级缓存对外的输入输出接口由一个一级缓存管道扩展为M个以及缓存管道,每个一级缓存管道的结构相同,其中一级缓存管道为先入先出队列(FIFO),也就是说将原来的一个队列扩展为M个队列。二级缓存可以是一个,也可以是若干个二级缓存,每个一级缓存都能够共享所有的二级缓存,也即每个一级缓存管道都能够访问所有的二级缓存。由于所有一级缓存管道共享二级缓存,因此在访存数据时同一个一级缓存管道中的指令可以访问不同的二级缓存。由于先入先出队列自身的特点,在返回访存的数据时,同一个一级缓存管道中的数据需要按照顺序返回给计算单元,不同一级缓存管道之间数据返回的顺序相互独立,相互独立是指当前一级缓存管道的数据是否返回不影响其他管道的数据返回。将每个一级缓存的管道扩展为M个一级缓存管道,通过在一级缓存上增加相应的一级缓存管道能够在一定程度上降低数据之间的耦合关系,减少数据堵塞,提高处理器的利用率。每个一级缓存都有与之对应的运算核,每个运算核(core)都可以访问共享的二级缓存,由于不同的二级缓存相对于一级缓存之间的物理距离不同,访问相应二级缓存的延时也不同。对于每个运算核来说,访问缓存的指令会连续的发出,其最终返回给计算单元的数据若对应同一管道需要按照顺序返回。
编译器的作用是将高级程序语言转化为机器语言,高级程序包括代码和数据,编译器将程序代码编译为机器语言并根据数据依赖关系,决定是否为执行指令指定管道ID,若之指定管道ID,则相对于计算单元来说相应的指令已经被提前指定了相应的管道,此时以相应的管道ID作为索引,将管道ID送入相应的管道中;若编译器未指定通道ID时,则按照同线程组分配相同管道ID,不同线程组均匀分配管道ID的原则分配管道ID,计算单元以分配的管道ID为索引将指令送入相应的一级缓存管道。
其中,依赖关系是指计算单元中的某一个操作数据需要依赖另一个操作数据返回之后才能执行。例如,在同一个计算单元中包括多个线程组,每个线程组包括多个访存请求和多个运算操作,也即同一个计算单元包括多个访存请求和多个运算操作,例如对于程序中的运算:c=a+b[mem],且a=d[mem]-1, 其中参数c和a存储于本地计算单元的寄存器中,参数b[mem]和d[mem]的数据位于一级缓存、二级缓存或者内存中,因此需要取回参数b[mem]和d[mem]的数据,在同一个线程组中的顺序可能为数据d的读请求、数据b的读请求、减法运算、加法运算,在编程或者编译器编译时数据之间的关系是已经能够明确知晓的,c依赖于a和b[mem],a依赖于d[mem],因此在编程或者编译器编译时可以赋予b[mem]的读请求指令和d[mem]的读请求指令相同的管道ID,即让d[mem]先取回,得出a的结果,再与取回的b[mem]相加得出c,该管道ID的赋予属于指令级别的赋予。
具体的,对于编译器在为指令中添加相应的管道ID的方法具体包括:编译器根据程序的上下语义,解析并指定管道ID;或者针对于程序员编写底层汇编程序的场景,为程序语言中的指令赋予相应的管道ID,通过底层程序指定管道ID的优先级大于所述编译器为指令指定的管道ID的优先级。为了最大程度的利用处理器的资源,需要尽可能的减少数据之间的耦合关系,由于程序员了解指令上下之间是否存在依赖关系,因此赋予管道ID的原则是根据指令之间的依赖关系判断是否分配相同的管道ID,具有依赖关系的指令分配相同的管道ID,没有相互依赖关系的指令尽量分配不同的管道,如此不仅能够最大程度的减少没有依赖关系的数据相互等待的时间,而且也保留了存在依赖关系的数据之间的返回顺序。
具体的,为了最大程度的利用处理器的资源,需要尽可能的减少数据之间的耦合关系,并且由于编译器在大多数情况下相应的程序在通过编译之后,编译器能够得到相应数据之间是否存在依赖关系,因此编译器均匀分配管道ID的步骤,具体包括:按照是否存在依赖关系将指令划分为若干个最小分配单元,其中最小分配单元可以是具有依赖关系的若干个指令,也可以是没有依赖关系的单个指令;以最小分配单元为单位均匀分配管道ID,计算单元以分配的管道ID为索引将指令送入相应的一级缓存管道;其中均匀分配是指分到任何一个管道ID的概率都是相同的,在管道够用的情况下,尽量不与同一个计算单元中的其他访存请求分到同一个管道。在指令进入相应的一级缓存中之后,会根据提前分配的管道ID将相应的指令存入对应的队列中,在队列中指令返回之后,则按照队列的顺序返回给相应的计算单元;即使是有些指令在一级缓存中匹配失败,需要通过二级缓存进行进一步的匹配,在匹配得到相应的数据之后,将数据返回给相应的指令之后,按照队列或者说相应的一级缓存管道的顺序返回给计算单元。
上述管道ID的分配方法将没有依赖关系的访存请求尽量的分到不同的管道上,可以让取数的指令尽量的均衡,均衡体现在两个方面,一方面是管道与管道之间的均衡,因为每个管道上都有一些访存数据的指令,而不是偏向某一个管道;另一方面是二级缓存的均衡,由于二级缓存包括多个,由一级缓存到二级缓存之间是通过哈希算法分配相应的二级缓存,因此二级缓存相对来说也能够达到均衡。
其中,管道ID的位数根据一级缓存管道的数量设定,例如,一级缓存管道共计8个,则管道ID以XXXb代码标识,位数为3位,如011b,则是选择第3个一级缓存管道作为该指令的处理管道。
其中,指令可以是一个线程组,也可以是一个访存请求。以线程组为添加通道ID的最小指令单元为例,根据线程组之间是否存在依赖关系将访存请求划分为若干个最小分配单元,以最小分配单元为单位均匀分配管道ID。GPU同时运行多个程序,如果在同一个计算单元中同时运行两个不同程序的线程组,由于两个线程组之间没有依赖关系,因此编译器为这两个线程组均匀分配相应的管道ID,这两个线程组可能分到不同的一级缓存管道,以消除在访存数据时相互等待的问题;如果在同一个计算单元上运行同一个程序的线程组,且线程组之间存在依赖关系,此时将存在依赖关系的线程组作为一个最小分配单元,编译器给最小分配单元均匀分配相应的管道ID,由于同一个线程组中包括多个访存请求,此时同一个线程组中的所有访存请求拥有相同的管道ID。进一步,以指令为添加通道ID的最小单元为例,根据访存请求之间是否存在依赖关系将访存请求划分为若干个最小分配单元,以最小分配单元为单位均匀分配管道ID。若同一个计算单元中的访存请求之间存在依赖关系,则编译器将存在依赖关系的访存请求作为一个最小分配单元,为该最小分配单元均匀分配管道ID,编译器在访存请求的包头中增加分配的管道ID;计算单元以该管道ID作为索引将存在依赖关系的访存数据送入同一个一级缓存管道G1,一级缓存单元会等待在先发送访存请求的数据返回之后,再通过相应的一级缓存管道G1按照访存请求发出的顺序将相应的数据返回给计算单元,其中在一级缓存管道G1内部的数据需要按照指令发出的顺序返回给计算单元,但是该一级缓存管道G1中的指令是否返回并不影响其他管道中的数据返回,也即管道之间的数据返回顺序相互独立;若同一个计算单元的访存请求之间不存在依赖关系,则该访存请求为单个指令,将该单个指令作为最小分配单元,编译器给该最小分配单元均匀分配一个管道ID,在得到管道ID之后,计算单元以该管道ID为索引将该访存请求送入一级缓存对应的一级缓存管道。
优选的,为了管道分配的更加均衡、更容易操作,将一级缓存管道增加的数量与并发的最大线程组数量呈现整除关系,增加的一级缓存管道越多,延时等待的时间就越少,数据堵塞的情况也就越少。但是由于增加一级缓存管道会消耗很多物理资源,无法加太多的一级缓存管道。
需要说明的是,由于物理资源的限制,一级缓存管道的数量有限,从而线程组的数量大于一级缓存通道的数量,因此在管道不够用的情况下,也可以为不存在依赖关系的访存请求分配相同的管道ID。
优选的,在二级缓存之后还可以包括三级缓存、四级缓存等多级缓存。
综上所述,本发明实施例提供了1.一种缓存访问系统,该系统包括编译器、K个计算单元、每个计算单元配置的一个一级缓存、一级缓存共享的二级缓存和内存;其中每个一级缓存包括M个一级缓存管道,其中K*M个一级缓存管道共享二级缓存;每个一级缓存管道内部的数据按照指令发出的顺序返回给相应的计算单元,一级缓存管道之间相互独立;计算单元将存在依赖关系的指令送入一级缓存中的同一个一级缓存管道,不同的一级缓存管道之间数据返回的顺序相互独立;最终访存数据并通过相应的一级缓存管道返回给相应的计算单元;该系统通过在一级缓存和二级缓存上增加相应的一级缓存管道,并且基于指令之间的依赖关系分配相应的管道ID,能够在一定程度上降低没有数据依赖关系的指令之间的耦合关系,进而降低等待的时间,减少数据堵塞,提高处理器的利用率。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种缓存访问系统,其特征在于,该系统包括编译器、K个计算单元、为每个计算单元配置的一个一级缓存、一级缓存共享二级缓存和内存;其中一级缓存、二级缓存和内存构成数据访存单元,每个一级缓存包括M个一级缓存管道、K*M个一级缓存管道共享二级缓存;每个一级缓存管道内部的数据按照指令发出的顺序返回给相应的计算单元,一级缓存管道之间相互独立,其中每个一级缓存管道配置唯一的管道ID;在指令中携带有管道ID时,则计算单元以管道ID为索引将指令分配给相应的一级缓存管道,指令在经过数据访存单元处理之后通过相应的一级缓存管道返回给相应的计算单元,其中同一个一级缓存管道中的数据按照指令发出的顺序返回;
其中,所述指令中携带有管道ID的获取步骤包括:编译器为指令指定管道ID或者通过底层汇编程序指定管道ID。
2.根据权利要求1所述的一种缓存访问系统,其特征在于,所述编译器和底层汇编程序未在指令中指定通道ID时,则按照同线程组分配相同管道ID、不同线程组均匀分配管道ID的原则分配管道ID。
3.根据权利要求1所述的一种缓存访问系统,其特征在于,所述编译器为指令指定管道ID或者通过底层汇编程序指定管道ID的步骤包括:按照是否存在依赖关系将指令划分为若干个最小分配单元,其中最小分配单元是具有依赖关系的若干个指令或者没有依赖关系的单个指令;以最小分配单元为单位均匀分配管道ID,计算单元以分配的管道ID为索引将指令送入相应的一级缓存管道。
4.根据权利要求3所述的一种缓存访问系统,其特征在于,所述指令为访存请求时,根据访存请求之间是否存在依赖关系将访存请求划分为若干个最小分配单元,以最小分配单元为单位均匀分配管道ID。
5.根据权利要求3所述的一种缓存访问系统,其特征在于,所述指令为线程组时,根据线程组之间是否存在依赖关系将线程组划分为若干个最小分配单元,以最小分配单元为单位均匀分配管道ID。
6.根据权利要求1所述的一种缓存访问系统,其特征在于,所述通过底层汇编程序指定管道ID的优先级大于所述编译器为指令指定的管道ID的优先级。
7.根据权利要求5所述的一种缓存访问系统,其特征在于,同一个线程组中包括多个访存请求,同一个线程组中的所有访存请求拥有相同的管道ID。
8.根据权利要求1所述的一种缓存访问系统,其特征在于,所述系统还包括连接二级缓存和内存的多级缓存。
9.根据权利要求1所述的一种缓存访问系统,其特征在于,所述管道ID的位数根据一级缓存管道的数量设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211112988.1A CN115185860B (zh) | 2022-09-14 | 2022-09-14 | 一种缓存访问系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211112988.1A CN115185860B (zh) | 2022-09-14 | 2022-09-14 | 一种缓存访问系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115185860A CN115185860A (zh) | 2022-10-14 |
CN115185860B true CN115185860B (zh) | 2022-12-02 |
Family
ID=83524722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211112988.1A Active CN115185860B (zh) | 2022-09-14 | 2022-09-14 | 一种缓存访问系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115185860B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN110968345A (zh) * | 2018-09-29 | 2020-04-07 | 英特尔公司 | 用于数据并行单程序多数据(spmd)执行的架构和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430664B (zh) * | 2008-09-12 | 2010-07-28 | 中国科学院计算技术研究所 | 一种多处理器系统及Cache一致性消息传输方法 |
GB2491156B (en) * | 2011-05-25 | 2019-08-07 | Advanced Risc Mach Ltd | Processing pipeline control |
JP7131156B2 (ja) * | 2018-07-19 | 2022-09-06 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
-
2022
- 2022-09-14 CN CN202211112988.1A patent/CN115185860B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN110968345A (zh) * | 2018-09-29 | 2020-04-07 | 英特尔公司 | 用于数据并行单程序多数据(spmd)执行的架构和方法 |
Non-Patent Citations (1)
Title |
---|
面向高性能计算的多通道交织存储架构设计;何国强等;《现代雷达》;20170815(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115185860A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100557570C (zh) | 多处理器系统 | |
CN107329828B (zh) | 一种面向cpu/gpu异构集群的数据流编程方法和系统 | |
US8375392B2 (en) | Data aware scheduling on heterogeneous platforms | |
US9047196B2 (en) | Usage aware NUMA process scheduling | |
JP5733860B2 (ja) | 依存問題の効率的並列計算 | |
JP5366552B2 (ja) | 集中特化したマルチタスク及びマルチフロー処理をリアルタイム実行する手法及びシステム | |
US8528001B2 (en) | Controlling and dynamically varying automatic parallelization | |
US20080155197A1 (en) | Locality optimization in multiprocessor systems | |
US20060123423A1 (en) | Borrowing threads as a form of load balancing in a multiprocessor data processing system | |
US20060179277A1 (en) | System and method for instruction line buffer holding a branch target buffer | |
CN111897651B (zh) | 一种基于标签的内存系统资源管理方法 | |
WO1993002414A2 (en) | Data processing system with synchronization coprocessor for multiple threads | |
WO2006038664A1 (en) | Dynamic loading and unloading for processing unit | |
US5784711A (en) | Data cache prefetching under control of instruction cache | |
US8566532B2 (en) | Management of multipurpose command queues in a multilevel cache hierarchy | |
Racunas et al. | Partitioned first-level cache design for clustered microarchitectures | |
GB2520731A (en) | Soft-partitioning of a register file cache | |
TW202009692A (zh) | 在中央處理單元(cpu)中執行指令的方法 | |
EP1131704B1 (en) | Processing system scheduling | |
US6907509B2 (en) | Automatic program restructuring to reduce average cache miss penalty | |
EP0265108B1 (en) | Cache storage priority | |
US20080077930A1 (en) | Workload Partitioning in a Parallel System with Hetergeneous Alignment Constraints | |
CN115185860B (zh) | 一种缓存访问系统 | |
CN110515659B (zh) | 一种原子指令的执行方法和装置 | |
US20200097297A1 (en) | System and method for dynamic determination of a number of parallel threads for a request |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |