CN101930357A - 采用可配置的片上存储装置实现访存操作的系统及方法 - Google Patents

采用可配置的片上存储装置实现访存操作的系统及方法 Download PDF

Info

Publication number
CN101930357A
CN101930357A CN2010102564000A CN201010256400A CN101930357A CN 101930357 A CN101930357 A CN 101930357A CN 2010102564000 A CN2010102564000 A CN 2010102564000A CN 201010256400 A CN201010256400 A CN 201010256400A CN 101930357 A CN101930357 A CN 101930357A
Authority
CN
China
Prior art keywords
spm
storage
cache
configurable
road
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
Application number
CN2010102564000A
Other languages
English (en)
Other versions
CN101930357B (zh
Inventor
范灵俊
林伟
张�浩
范东睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Ruixin Technology Group Co ltd
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201010256400 priority Critical patent/CN101930357B/zh
Publication of CN101930357A publication Critical patent/CN101930357A/zh
Application granted granted Critical
Publication of CN101930357B publication Critical patent/CN101930357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种采用可配置的片上存储装置实现访存操作的系统及方法。所述可配置的片上存储装置的配置方法,包括下列步骤:根据应用程序的计算特点,判断是否需要对片上存储进行配置,若是,则执行步骤020;否则,不对所述片上存储进行配置,而将其作为Cache使用;判断对SPM或Cache的空间大小的要求是否严格,若是,则细粒度配置:以缓冲行为单位对所述片上存储进行配置;否则,粗粒度配置:以路为单位对所述片上存储进行配置,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache。

Description

采用可配置的片上存储装置实现访存操作的系统及方法
技术领域
本发明涉及处理器设计领域,特别是涉及采用可配置的片上存储装置实现访存操作的系统及方法。
背景技术
制造工艺的进步、应用软件的驱动以及单核处理器的功耗、散热问题,都促使了多核处理器的出现,然而,它并没有解决影响传统处理器性能的关键问题之一——存储墙(Memory Wall)问题。即,处理器的速度每年增长60%,而存储器存取延迟每年仅改善7%,导致处理器的计算速度和存储器的访问速度差距越来越大。因此,一种更加有效的存储结构组织,对于处理器的设计至关重要。
Cache结构的引入正是为了缓解访存的压力,包括多核结构中的私有Cache和共享Cache。如SUN SPARC T1/T2处理器采用的私有一级Cache和共享二级Cache;而为了更好的利用程序访存的局部性,减少片外访存,也可以设置程序员可控的片上存储(Scratchpad Memory,SPM),如IBM Cell处理器中的SPE Local Stores。但是,单一采用Cache的方式,虽然可以缓存内存中的所有内容,却不可避免会发生替换,依然带来了片外访存的延迟。而只有程序员可控的片上存储,无法将更多的内容映射到片上,更多的时候还是需要片外访存。
所以,如果一个存储装置对于Cache和SPM的优点兼而有之,就是一种比较好的实现方式。
发明内容
本发明的目的在于提供一种采用可配置的片上存储装置实现访存操作的系统及方法,其能够更好的发挥片上存储的功能,减少片外访存,降低小核计算部件等待数据的时间,进而更好的体现出多核处理器计算能力强的优势,提高程序运行的性能。
为实现本发明的目的而提供的一种可配置的片上存储装置,其特征在于,所述片上存储能够根据应用程序的计算特点作为Cache或者SPM使用,所述片上存储,包括:
配置模块,用于根据不同应用程序的计算特点和对SPM或Cache的空间大小的要求,多模式地配置所述片上存储。
所述配置模块,包括:
配置判断模块,用于根据应用程序的计算特点,判断是否需要对片上存储装置进行配置,若是,则触发模式判断模块;否则,不对所述片上存储装置进行配置,而将其作为Cache使用;
模式判断模块,用于判断对SPM或Cache的空间大小的要求是否严格,若是,则触发细粒度配置模块;否则,触发粗粒度配置模块;
粗粒度配置模块,用于以路为单位对所述片上存储进行配置,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache;
细粒度配置模块,用于以缓冲行为单位对所述片上存储进行配置。
所述粗粒度配置模块,将一片4路组相联的SRAM中1路,2路或3路配置成SPM使用,并至少要留一路作为Cache使用。
所述粗粒度配置模块,将MIPS指令集体系结构中保留的21号CP0寄存器作为配置寄存器,低四位代表标志位。
所述细粒度配置模块,是将一片4路组相联的SRAM,每路设置一个标志寄存器,用低七位来代表本路有多少缓冲行为单位被配置成SPM,同时,也遵循配置空间连续、从第0路开始配置的原则。
为实现本发明的目的还提供一种可配置的片上存储装置的配置方法,所述配置方法,包括下列步骤:
步骤010.根据应用程序的计算特点,判断是否需要对片上存储进行配置,若是,则执行步骤020;否则,不对所述片上存储进行配置,而将其作为Cache使用;
步骤020.判断对SPM或Cache的空间大小的要求是否严格,若是,则执行步骤030;否则,执行步骤340;
步骤030.细粒度配置:以缓冲行为单位对所述片上存储进行配置;
步骤040.粗粒度配置:以路为单位对所述片上存储进行配置,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache。
所述步骤040中,将一片4路组相联的SRAM中1路,2路或3路配置成SPM使用,并至少要留一路作为Cache使用。
所述步骤040中,将MIPS指令集体系结构中保留的21号CP0寄存器作为配置寄存器,低四位代表标志位。
所述步骤030中,将一片4路组相联的SRAM,每路设置一个标志寄存器,用低七位来代表本路有多少缓冲行为单位被配置成SPM,同时,也遵循配置空间连续、从第0路开始配置的原则。
所述标志位默认状态下为0000,需要进行配置的时候,使用专门写CP0寄存器的MTC0指令,将标志位置成0001,0011,0111;当作为SPM使用完后,还需要将标志寄存器清零,再次执行MTC0指令,写入的数据为0。
为实现本发明的目的还提供一种采用所述的可配置的片上存储装置实现访存操作的系统,所述系统,包括:
访存地址生成模块,接收一个访存操作,生成相应的访存地址,并判断地址所属的空间,以区分是本地访问,还是远程访问,并将所述访存操作发送到访存队列模块;
访存队列模块,接收所述访存操作并送入访存操作队列,根据该操作是本地访问还是远程访问,将其按序发出,如果是本地访问,则发送到所述片上存储;如果是远程访问,则发送给接口模块;
所述片上存储,是根据应用程序本身的特点和计算需求进行配置,作为Cache或者SPM使用;
选择模块,用于将从所述片上存储中读出的数据进行比对、选择。
接口模块,作为每个处理器核的对外接口,收发消息,并负责对SPM的远程读写操作。
为实现本发明的目的还提供一种采用所述可配置的片上存储装置实现访存操作的方法,所述方法,包括下列步骤:
步骤100.接收一个访存操作,生成相应的访存地址,并判断地址所属的空间,以区分是本地访问,还是远程访问;
步骤200.接收所述访存操作并送入访存操作队列,判断该操作是本地访问还是远程访问,如果是本地访问,则执行步骤300;如果是远程访问,则执行步骤500;
步骤300.判断当前片上存储SRAM是否作为Cache使用,若是,则执行步骤400;否则,作为SPM使用,则直接选择正确的数据写回;
步骤400.判断将从片上存储SRAM中读出的数据进行比对,然后选择正确的数据写回;
步骤500.封装要发出的消息发送给远程处理器核,实现对SPM的远程读写操作。
本发明的有益效果是:解决多核访存的效率问题,更好的发挥片上存储的功能,减少片外访存,降低小核计算部件等待数据的时间,进而更好的体现出多核处理器计算能力强的优势,提高程序运行的性能。
附图说明
图1是本发明的可配置的片上存储装置的结构示意图;
图2是本发明的可配置的片上存储装置的配置方法的步骤流程图;
图3是本发明中对一片4路(way)组相联的片上存储以路(way)为粒度进行配置的示意图;
图4是本发明中对一片4路(way)组相联的片上存储以缓冲行(cacheline)为粒度进行配置的示意图;
图5是本发明中采用可配置的片上存储装置实现访存操作的系统的结构示意图;
图6是本发明的采用所述可配置的片上存储装置实现访存操作的方法的步骤流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的采用可配置的片上存储装置实现访存操作的系统及方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的采用可配置的片上存储装置实现访存操作的系统及方法,针对应用程序的计算特点,提供了对片上存储的多种模式的配置方法,在默认情况下,存储器作为Cache使用,对程序员是透明的;如果应用程序会产生大量中间计算结果,而这些结果会作为后续计算的源数据,则为了提高程序执行的性能,可以通过配置,使其成为一块可控的空间,显示存放这些中间生成的数据,以能更好的发挥片上存储的功能,减少片外访存,降低小核计算部件等待数据的时间,进而更好的体现出多核处理器计算能力强的优势,提高程序运行的性能。
下面结合上述目标详细介绍本发明的可配置的片上存储装置,所述片上存储既可以作为Cache使用,此时对程序员是透明的;也可以作为SPM使用,此时对程序员是可控的。图1是本发明的可配置的片上存储装置的结构示意图,如图1所示,所述装置,包括:
所述片上存储装置中包括一配置模块31,用于根据不同应用程序的计算特点和对SPM或Cache的空间大小的要求,多模式地配置所述片上存储;
所述配置模块31,包括:
配置判断模块311,用于根据应用程序的计算特点,判断是否需要对片上存储进行配置,若是,则触发模式判断模块312;否则,不对所述片上存储进行配置,而将其作为Cache使用;
模式判断模块312,用于判断对SPM或Cache的空间大小的要求是否严格,若是,则触发细粒度配置模块314;否则,触发粗粒度配置模块313;
粗粒度配置模块313,用于以路(way)为单位进行配置,对于一片4路组相联的SRAM,可以将1路,2路或3路配置成SPM使用,但不能将4路完全配置,因为至少要留一路作为Cache使用。在这种配置方式中,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache,将MIPS指令集体系结构中保留的21号CP0寄存器作为配置寄存器,低四位代表标志位;
细粒度配置模块314,用于以缓冲行(cacheline)为单位进行配置,对于一片4路(way)组相联的SRAM,一路的大小为128x32x8bits,为每路设置一个标志寄存器,用低七位来代表本路有多少缓冲行(cacheline)被配置成SPM。同时,也遵循配置空间连续、从第0路开始配置的原则。因为第3路要保留作为Cache使用,所以,这种情况下,最大可用的SPM空间仍然为前三路。
相应于本发明的可配置的片上存储装置,还提供可配置的片上存储装置的配置方法,所述配置方法,是根据不同应用程序的不同计算特点,提供了对片上存储的多种模式的配置方法,在默认情况下,存储器作为Cache使用,对程序员是透明的;如果应用程序会产生大量中间计算结果,而这些结果会作为后续计算的源数据,则为了提高程序执行的性能,可以通过配置,使其成为一块可控的空间,显示存放这些中间生成的数据,以能更好的发挥片上存储的功能,减少片外访存,降低小核计算部件等待数据的时间,进而更好的体现出多核处理器计算能力强的特点,提高程序运行的性能。
因为每路Cache大小为4KB,如果按照路来配置的话,只能得到4K,8K或12K的SPM空间。而按缓冲行(cacheline)来配置的话,则可以得到从0K-12K任意大小的SPM空间。所以,当对SPM或Cache的空间大小的需求比较随意的情况下,可以采用粗粒度配置;当根据数据量的需求,需要对SPM或Cache的空间作更为细致的划分时,则采用细粒度配置。举例来说,我们的SRAM的大小为16Kbytes,4路(way)组相联,每路4Kbytes。通过粗粒度配置,我们只能得到4K,8K,或12K的SPM存储空间。根据计算需求,如果数据存储需要6K,9K,11K等大小空间时,虽然我们可以近似后用粗粒度的配置方法,但为了充分利用片上存储资源,这时建议程序员通过细粒度配置。比如矩阵乘运算,根据计算数据量的大小,可以选择不同的配置模式。
图2是本发明的可配置的片上存储装置的配置方法的步骤流程图,图3是本发明中对一片4路(way)组相联的片上存储以路(way)为粒度进行配置的示意图,(其中,阴影部分表示SPM存储空间,空白部分表示Cache存储空间)图4是本发明中对一片4路(way)组相联的片上存储以缓冲行(cacheline)为粒度进行配置的示意图(其中,阴影部分表示SPM存储空间,空白部分表示Cache存储空间),如图2、图3和图4所示,根据不同应用程序的计算特点和对SPM或Cache的空间大小的要求,多模式地配置所述片上存储,所述配置方法,包括下列步骤:
步骤010.根据应用程序的计算特点,判断是否需要对片上存储进行配置,若是,则执行步骤020;否则,不对所述片上存储进行配置,而将其作为Cache使用;
根据应用程序的计算需求判断是否对片上SRAM进行配置,配置成程序员可控的SPM存储空间。SPM空间除了程序员可见外,不同的核之间也可以互相访问,这样,当有数据交换的时候,一个核直接去另一个核的SPM空间读取,从而避免了片外访存,降低了访存延迟,提高了效率。正因为有这样的好处,建议程序员,当应用程序不同的线程产生中间数据,并需要交换的时候,就可以把片上存储配置成SPM使用。比如LU分解,每个线程算完一部分数据后,将跟其它线程交换数据,这时,为了提交效率,就可以采用SPM存储中间结果。
步骤020.判断对SPM或Cache的空间大小的要求是否严格,若是,则执行步骤030;否则,执行步骤340;
步骤030.细粒度配置:以缓冲行(cacheline)为单位进行配置,对于一片4路(way)组相联的SRAM,一路的大小为128x32x8bits,为每路设置一个标志寄存器,用低七位来代表本路有多少缓冲行(cacheline)被配置成SPM。同时,也遵循配置空间连续、从第0路开始配置的原则。因为第3路要保留作为Cache使用,所以,这种情况下,最大可用的SPM空间仍然为前三路。
步骤040.粗粒度配置:以路(way)为单位进行配置,对于一片4路组相联的SRAM,可以将1路,2路或3路配置成SPM使用,但不能将4路完全配置,因为至少要留一路作为Cache使用。在这种配置方式中,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache,将MIPS指令集体系结构中保留的21号CP0寄存器作为配置寄存器,低四位代表标志位。
默认情况下,标志位为0000,需要进行配置的时候,使用专门写CP0寄存器的MTC0指令,可以将标志位置成0001,0011,0111。当作为SPM使用完后,还需要将标志寄存器清零,再次执行MTC0指令,写入的数据为0即可。
SPM存储空间主要是用来存放程序运行的中间结果,用以共享、交换数据等,可以减少片外访存。如果应用程序在执行过程中只对数据作一次计算,则可以一开始就把数据读入SPM存储中,然后直接进行计算,这种情况适用于静态配置;如果应用程序在执行过程中,会对数据进行多次计算,且计算中会产生中间结果,中间结果需要先汇总,再计算的,则建议在程序的执行过程中根据计算过程进行动态配置。
静态配置:程序运行前进行配置。这种配置方法适用于在整个过程中,SPM都要被用到的情况。
动态配置:程序运行过程中进行配置。这种配置,在配置前要先写回Cache的内容。即,一开始,片上存储是作为Cache使用的,运行到某个时刻,程序需要读写SPM空间,此时,先执行刷Cache操作,将Cache中dirty的数据写回到共享Cache,然后写配置寄存器进行配置。
相应于本发明的可配置的片上存储装置,还提供采用所述可配置的片上存储装置实现访存操作的系统,图5是本发明中采用可配置的片上存储装置实现访存操作的系统的结构示意图,本发明的后续说明均基于图5给出的系统基本结构。
对图5中各部分简要描述如下:
访存地址生成模块(Memaddr)1,接收一个访存操作,生成相应的访存地址,并判断地址所属的空间,以区分是本地访问,还是远程访问,并将所述访存操作发送到访存队列模块2;
访存队列模块(LSQ)2,接收所述访存操作并送入访存操作队列,根据该操作是本地访问还是远程访问,将其按序发出。
如果是本地访问,则发送到片上存储SRAM(Cache/SPM)3;如果是远程访问,则发送给接口模块(Adapter)5;
片上存储SRAM(Cache/SPM)3,既可以作为Cache使用,此时对程序员是透明的;也可以作为SPM使用,此时对程序员是可控的。
在使用前,要根据应用程序本身的特点和计算需求采用本发明的多模式的配置方法对其进行配置。
当对SPM或Cache的空间大小的要求不严格时,往往采用粗粒度配置;当对SPM或Cache的空间大小的要求严格时,要采用细粒度配置。举例来说,假设我们的SRAM的大小为16Kbytes,4路组相联,每路4Kbytes。通过粗粒度配置,我们只能得到4K,8K,或12K的SPM存储空间。根据计算需求,如果数据存储需要6K,9K,11K等大小空间时,虽然我们可以近似后用粗粒度的配置方法,但为了充分利用片上存储资源,这时建议程序员通过细粒度配置。比如矩阵乘运算,根据计算数据量的大小,可以选择不同的配置模式。
SPM存储空间主要是用来存放程序运行的中间结果,用以共享、交换数据等,可以减少片外访存。如果应用程序在执行过程中只对数据作一次计算,则可以一开始就把数据读入SPM存储中,然后直接进行计算,这种情况适用于静态配置;如果应用程序在执行过程中,会对数据进行多次计算,且计算中会产生中间结果,中间结果需要先汇总,再计算的,则建议在程序的执行过程中根据计算过程进行动态配置。
选择模块(Dtagcmp)4:将从片上存储SRAM103中读出的数据进行比对、选择。
如果是作为Cache使用,则首先看是否命中,然后选择正确的数据写回。如果作为SPM使用,则直接选择正确的数据写回即可,因为SPM中的数据作为系统中的唯一备份,如果访问,一定是命中的。
接口模块(Adapter)5,作为每个处理器核的对外接口,收发消息。封装要发出的消息,解析收到的消息。并负责对SPM的远程读写操作。
相应于本发明的采用所述可配置的片上存储装置实现访存操作的系统,还提供一种采用所述可配置的片上存储装置实现访存操作的方法,图6是本发明的采用所述可配置的片上存储装置实现访存操作的方法的步骤流程图,如图6所示,所述方法包括下列步骤:
步骤100.接收一个访存操作,生成相应的访存地址,并判断地址所属的空间,以区分是本地访问,还是远程访问;
步骤200.接收所述访存操作并送入访存操作队列,判断该操作是本地访问还是远程访问,如果是本地访问,则执行步骤300;如果是远程访问,则执行步骤500;
步骤300.判断当前片上存储SRAM是否作为Cache使用,若是,则执行步骤400;否则,作为SPM使用,则直接选择正确的数据写回即可。(因为SPM中的数据作为系统中的唯一备份,如果访问,一定是命中的。)
步骤400.判断将从片上存储SRAM中读出的数据进行比对,然后选择正确的数据写回;
如果是作为Cache使用,则首先看是否命中,然后选择正确的数据写回。
步骤500.封装要发出的消息发送给远程处理器核(也有可能是发往L2Cache或同步管理器SyncManager的操作),实现对SPM的远程读写操作。
本发明的有益效果是:解决多核访存的效率问题,更好的发挥片上存储的功能,减少片外访存,降低小核计算部件等待数据的时间,进而更好的体现出多核处理器计算能力强的优势,提高程序运行的性能。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

Claims (12)

1.一种可配置的片上存储装置,其特征在于,所述片上存储能够根据应用程序的计算特点作为Cache或者SPM使用,所述片上存储,包括:
配置模块,用于根据不同应用程序的计算特点和对SPM或Cache的空间大小的要求,多模式地配置所述片上存储。
2.根据权利要求1所述的可配置的片上存储装置,其特征在于,所述配置模块,包括:
配置判断模块,用于根据应用程序的计算特点,判断是否需要对片上存储装置进行配置,若是,则触发模式判断模块;否则,不对所述片上存储装置进行配置,而将其作为Cache使用;
模式判断模块,用于判断对SPM或Cache的空间大小的要求是否严格,若是,则触发细粒度配置模块;否则,触发粗粒度配置模块;
粗粒度配置模块,用于以路为单位对所述片上存储进行配置,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache;
细粒度配置模块,用于以缓冲行为单位对所述片上存储进行配置。
3.根据权利要求2所述的可配置的片上存储装置,其特征在于,所述粗粒度配置模块,将一片4路组相联的SRAM中1路,2路或3路配置成SPM使用,并至少要留一路作为Cache使用。
4.根据权利要求2所述的可配置的片上存储装置,其特征在于,所述粗粒度配置模块,将MIPS指令集体系结构中保留的21号CP0寄存器作为配置寄存器,低四位代表标志位。
5.根据权利要求2所述的可配置的片上存储装置,其特征在于,所述细粒度配置模块,是将一片4路组相联的SRAM,每路设置一个标志寄存器,用低七位来代表本路有多少缓冲行为单位被配置成SPM,同时,也遵循配置空间连续、从第0路开始配置的原则。
6.一种可配置的片上存储装置的配置方法,其特征在于,所述配置方法,包括下列步骤:
步骤010.根据应用程序的计算特点,判断是否需要对片上存储进行配置,若是,则执行步骤020;否则,不对所述片上存储进行配置,而将其作为Cache使用;
步骤020.判断对SPM或Cache的空间大小的要求是否严格,若是,则执行步骤030;否则,执行步骤340;
步骤030.细粒度配置:以缓冲行为单位对所述片上存储进行配置;
步骤040.粗粒度配置:以路为单位对所述片上存储进行配置,每一路对应一位标志位,标志位为1表示是SPM,标志位为0表示是Cache。
7.根据权利要求6所述的可配置的片上存储装置的配置方法,其特征在于,所述步骤040中,将一片4路组相联的SRAM中1路,2路或3路配置成SPM使用,并至少要留一路作为Cache使用。
8.根据权利要求6所述的可配置的可配置的片上存储装置的配置方法,其特征在于,所述步骤040中,将MIPS指令集体系结构中保留的21号CP0寄存器作为配置寄存器,低四位代表标志位。
9.根据权利要求6所述的可配置的可配置的片上存储装置的配置方法,其特征在于,所述步骤030中,将一片4路组相联的SRAM,每路设置一个标志寄存器,用低七位来代表本路有多少缓冲行为单位被配置成SPM,同时,也遵循配置空间连续、从第0路开始配置的原则。
10.根据权利要求8所述的可配置的可配置的片上存储装置的配置方法,其特征在于,所述标志位默认状态下为0000,需要进行配置的时候,使用专门写CP0寄存器的MTC0指令,将标志位置成0001,0011,0111;当作为SPM使用完后,还需要将标志寄存器清零,再次执行MTC0指令,写入的数据为0。
11.采用权利要求1所述的可配置的片上存储装置实现访存操作的系统,其特征在于,所述系统,包括:
访存地址生成模块,接收一个访存操作,生成相应的访存地址,并判断地址所属的空间,以区分是本地访问,还是远程访问,并将所述访存操作发送到访存队列模块;
访存队列模块,接收所述访存操作并送入访存操作队列,根据该操作是本地访问还是远程访问,将其按序发出,如果是本地访问,则发送到所述片上存储;如果是远程访问,则发送给接口模块;
所述片上存储,是根据应用程序本身的特点和计算需求进行配置,作为Cache或者SPM使用;
选择模块,用于将从所述片上存储中读出的数据进行比对、选择;
接口模块,作为每个处理器核的对外接口,收发消息,并负责对SPM的远程读写操作。
12.一种采用所述可配置的片上存储装置实现访存操作的方法,其特征在于,所述方法,包括下列步骤:
步骤100.接收一个访存操作,生成相应的访存地址,并判断地址所属的空间,以区分是本地访问,还是远程访问;
步骤200.接收所述访存操作并送入访存操作队列,判断该操作是本地访问还是远程访问,如果是本地访问,则执行步骤300;如果是远程访问,则执行步骤500;
步骤300.判断当前片上存储SRAM是否作为Cache使用,若是,则执行步骤400;否则,作为SPM使用,则直接选择正确的数据写回;
步骤400.将从片上存储SRAM中读出的数据进行比对,然后选择正确的数据写回;
步骤500.封装要发出的消息发送给远程处理器核,实现对SPM的远程读写操作。
CN 201010256400 2010-08-17 2010-08-17 采用可配置的片上存储装置实现访存操作的系统及方法 Active CN101930357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010256400 CN101930357B (zh) 2010-08-17 2010-08-17 采用可配置的片上存储装置实现访存操作的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010256400 CN101930357B (zh) 2010-08-17 2010-08-17 采用可配置的片上存储装置实现访存操作的系统及方法

Publications (2)

Publication Number Publication Date
CN101930357A true CN101930357A (zh) 2010-12-29
CN101930357B CN101930357B (zh) 2013-07-31

Family

ID=43369555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010256400 Active CN101930357B (zh) 2010-08-17 2010-08-17 采用可配置的片上存储装置实现访存操作的系统及方法

Country Status (1)

Country Link
CN (1) CN101930357B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043723A (zh) * 2011-01-06 2011-05-04 中国人民解放军国防科学技术大学 用于通用流处理器的可变访存模式的片上缓存结构
CN103176799A (zh) * 2013-02-28 2013-06-26 山东大学 温度敏感的混合存储架构及其数据分配策略方法
CN105263022A (zh) * 2015-09-21 2016-01-20 山东大学 一种针对hevc视频编码的多核混合存储管理方法
CN110046703A (zh) * 2019-03-07 2019-07-23 中国科学院计算技术研究所 一种用于神经网络的片上存储处理系统
WO2022121278A1 (zh) * 2020-12-10 2022-06-16 上海阵量智能科技有限公司 芯片、数据搬移方法和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295420A (zh) * 2007-04-27 2008-10-29 东芝泰格有限公司 自助结帐终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295420A (zh) * 2007-04-27 2008-10-29 东芝泰格有限公司 自助结帐终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIROSHI NAKAMURA等: "Software Controlled Reconfigurable On-Chip Memory for High Performance Computing", 《INTELLIGENT MEMORY SYSTEMS》, 12 November 2000 (2000-11-12), pages 15 - 32 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043723A (zh) * 2011-01-06 2011-05-04 中国人民解放军国防科学技术大学 用于通用流处理器的可变访存模式的片上缓存结构
CN102043723B (zh) * 2011-01-06 2012-08-22 中国人民解放军国防科学技术大学 用于通用流处理器的可变访存模式的片上缓存结构
CN103176799A (zh) * 2013-02-28 2013-06-26 山东大学 温度敏感的混合存储架构及其数据分配策略方法
CN103176799B (zh) * 2013-02-28 2016-01-13 山东大学 温度敏感的混合存储架构及其数据分配策略方法
CN105263022A (zh) * 2015-09-21 2016-01-20 山东大学 一种针对hevc视频编码的多核混合存储管理方法
CN105263022B (zh) * 2015-09-21 2018-03-02 山东大学 一种针对hevc视频编码的多核混合存储管理方法
CN110046703A (zh) * 2019-03-07 2019-07-23 中国科学院计算技术研究所 一种用于神经网络的片上存储处理系统
CN110046703B (zh) * 2019-03-07 2020-07-31 中国科学院计算技术研究所 一种用于神经网络的片上存储处理系统
WO2022121278A1 (zh) * 2020-12-10 2022-06-16 上海阵量智能科技有限公司 芯片、数据搬移方法和电子设备

Also Published As

Publication number Publication date
CN101930357B (zh) 2013-07-31

Similar Documents

Publication Publication Date Title
Venkatesan et al. Stag: Spintronic-tape architecture for gpgpu cache hierarchies
Cooper-Balis et al. Fine-grained activation for power reduction in DRAM
US8103894B2 (en) Power conservation in vertically-striped NUCA caches
US11126555B2 (en) Multi-line data prefetching using dynamic prefetch depth
US9645942B2 (en) Method for pinning data in large cache in multi-level memory system
US9886385B1 (en) Content-directed prefetch circuit with quality filtering
US11294808B2 (en) Adaptive cache
US9317448B2 (en) Methods and apparatus related to data processors and caches incorporated in data processors
CN103246542B (zh) 智能缓存及智能终端
CN101930357B (zh) 采用可配置的片上存储装置实现访存操作的系统及方法
US9767041B2 (en) Managing sectored cache
US9507534B2 (en) Home agent multi-level NVM memory architecture
KR20210025344A (ko) 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템, 그것의 데이터 관리 방법
Quan et al. Prediction table based management policy for STT-RAM and SRAM hybrid cache
CN102681792B (zh) 一种固态盘内存分区方法
EP4060505A1 (en) Techniques for near data acceleration for a multi-core architecture
CN114616553A (zh) 为加速器取回数据的方法和系统
CN102646071A (zh) 单周期执行高速缓存写命中操作的装置及方法
CN104778130B (zh) 一种支持容量与组相联度灵活可配的核外高速缓存装置
Yoon et al. Self-learnable cluster-based prefetching method for DRAM-flash hybrid main memory architecture
Michelogiannakis et al. Collective memory transfers for multi-core chips
US20220229552A1 (en) Computer system including main memory device having heterogeneous memories, and data management method thereof
Sokulski et al. Evaluating dead line predictors efficiency with drowsy technique
CN112988074A (zh) 一种存储系统管理软件适配方法及装置
Lee et al. Intelligent clustering guided adaptive prefetching and buffer management for stream processing

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231220

Address after: 100095 room 135, 1st floor, building 15, Chuangke Town, Wenquan Town, Haidian District, Beijing

Patentee after: Beijing Zhongke Ruixin Technology Group Co.,Ltd.

Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences