CN104699631A - Gpdsp中多层次协同与共享的存储装置和访存方法 - Google Patents
Gpdsp中多层次协同与共享的存储装置和访存方法 Download PDFInfo
- Publication number
- CN104699631A CN104699631A CN201510135194.0A CN201510135194A CN104699631A CN 104699631 A CN104699631 A CN 104699631A CN 201510135194 A CN201510135194 A CN 201510135194A CN 104699631 A CN104699631 A CN 104699631A
- Authority
- CN
- China
- Prior art keywords
- data
- scalar
- storage unit
- access
- request
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种面向GPDSP的多层次协同与共享存储装置和访存方法,该装置包括多个DSP核以及用于缓存片外存储数据的全局共享缓存单元,各DSP核分别通过片上网络连接全局共享缓存单元;每个DSP核均包括并行的标量存储单元、向量阵列存储单元,各DSP核通过各自的标量存储单元、向量阵列存储单元进行核内数据访存,以及通过全局共享缓存单元共享数据;该方法通过对标量存储单元、向量阵列存储单元统一编址,根据访问数据类型配置标量存储单元执行访存。本发明能够实现GPDSP中单核内数据高效访存、以及核间数据的高效共享,具有访问效率高、硬件开销小且配置灵活的优点。
Description
技术领域
本发明涉及通用计算数字信号处理器(General-Purpose Digital Signal Processor,GPDSP)技术领域,尤其涉及一种GPDSP中多层次协同与共享的存储装置和访存方法。
背景技术
随着集成电路工艺发展越来越接近晶体管的物理极限,单纯依靠提高主频来提升微处理器性能的方法将面临着无法逾越的功耗墙问题,因而微处理器转而向单片集成多核的方向发展。GPDSP作为一种高性能多核通用数字信号处理器,能高效地实现各类嵌入式应用和通用科学计算应用领域中大量数字信号处理,特别是对高数据密集性、并行性、局部性特点的一类应用,其具有很高的峰值计算性能。GPDSP片上集成了大量的具有较高峰值运算能力的DSP内核,由于需要很高的数据访存带宽才能发挥峰值运算效能,因而也面临着存储墙问题。
目前的多核微处理器存储系统中,通常是采用多级缓存结构来缓解对片外访存带宽的压力,例如采用每个DSP内核拥有私有的一级指令和数据缓存Cache、共享的或私有的二级或三级缓存Cache的结构,捕获更多的时空局部性,以尽量减小存储器的平均访问延迟。在多核结构中,随着晶体管尺寸的缩小和芯片面积的增大,片上缓存容量越来越大,使得存储缓存布局从单核的集中式向分布式转化,但这种分布式缓存共享存储架构具有以下特点:
1)由于同一微处理器核到不同存储体的距离存在的巨大差异,导致产生不同的数据访问延迟;
2)多个微处理器核对同一地址空间的访问可能具有不同的延迟;
3)多核微处理器中,各内核通过片上网络互连,访存延迟除了访问距离长短,还取决于片上互连网络的带宽速度,因而访存延迟长,且存在不确定性;
4)共享存储器成为数据访问瓶颈,需要复杂的硬件结构维护多核多层次缓存的数据一致性,影响了多核共享存储的可伸缩性。
综上所述,目前的分布式共享存储器不利于GPDSP实时高效地完成数字信号处理,难以发挥其峰值运算性能。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单紧凑、能够实现GPDSP中单核内数据高效访存以及核间数据高效共享,且硬件开销小的GPDSP中多层次协同与共享的存储装置和访存方法。
为解决上述技术问题,本发明提出的技术方案为:
一种面向GPDSP的多层次协同与共享存储装置,包括多个DSP核以及用于缓存片外存储数据的全局共享缓存单元,各DSP核分别通过片上网络连接所述全局共享缓存单元;每个所述DSP核均包括并行的标量存储单元、向量阵列存储单元,各所述DSP核通过各自的标量存储单元、向量阵列存储单元进行核内数据访存,以及各所述DSP核通过所述全局共享缓存单元共享数据。
作为本发明装置的进一步改进:还包括用于将各DSP核间数据进行同步的硬件同步单元,所述硬件同步单元与所述片上网络连接。
作为本发明装置的进一步改进:所述硬件同步单元包括多个相同结构的同步子体,每个同步子体包括依次连接的第二输入缓冲模块、仲裁调度模块、同步锁实例槽模块以及返回数据选择与缓存模块;所述第二输入缓冲模块用于缓存同步请求,并发送至仲裁调度模块进行仲裁,所述仲裁调度模块将同步请求中用于保持访存数据不被修改的同步锁请求发送至同步锁实例槽模块进行处理、将同步请求中用于保持访存顺序的同步栅栏请求发送至同步栅栏实例槽模块进行处理,返回数据选择与缓存模块接收所述同步锁实例槽模块、同步栅栏实例槽模块的输出请求,选择最终输出请求并缓冲未选择的请求。
作为本发明装置的进一步改进:所述全局共享缓存单元包括多个相同结构的Cache子体控制器,每个Cache子体控制器包括请求输入缓冲模块、第一访存流水线、第二访存流水线、输出缓冲模块、数据返回缓存模块以及返回数据选择模块;所述第一输入缓冲模块接收多个访问请求,并根据访问请求类型发送至第一访存流水线、第二访存流水线进行处理或直接发送至输出缓冲模块,所述数据返回缓存模块接收返回的数据并按照数据类型将接收到的所述返回数据输出至对应的缓冲,通过返回数据选择模块选择最终的返回数据。
作为本发明装置的进一步改进:所述向量阵列存储单元为全局编址的向量阵列存储器;所述标量存储单元配置为私有一级Cache或全局编址的标量存储器;当所述标量存储单元配置为私有一级Cache时,所述标量存储单元通过所述全局共享缓存单元访问片外存储数据;当所述标量存储单元配置为全局编址的标量存储器时,所述标量存储单元通过片上网络执行与其余地址标量存储单元之间标量访存操作、DMA读请求以及DMA写请求的并行访问 。
作为本发明装置的进一步改进:所述标量存储单元包括依次连接的标量译码与地址计算模块、标量访存控制器、标量存储体;所述标量译码与地址计算模块用于对标量访存指令进行译码,并根据译码得到的寻址方式计算得到访存地址;所述标量访存控制器用于根据访存地址发送访存请求;所述标量存储体用于根据访存请求设置为一级数据存储体或SRAM。
作为本发明装置的进一步改进:所述向量阵列存储单元包括依次连接的向量译码与地址计算模块、向量访存控制单元以及存储阵列,所述向量译码与地址计算模块对向量访存指令进行译码,并根据译码得到的寻址方式计算得到访存地址,通过向量访存控制单元根据访存地址控制两个向量读写请求、DMA读请求、DMA写请求并行访问存储阵列。
一种利用上述多层次协同与共享存储装置的访存方法,步骤包括:
1)将各DSP核的所述向量阵列存储单元进行全局编址,若访存数据为多核共享数据,配置各DSP核的所述标量存储单元为全局编址的标量存储器,转入执行步骤3);若访存数据为单核私有数据,配置各DSP核的所述标量存储单元为私有一级Cache,转入执行步骤2);
2)各DSP核的所述向量阵列存储单元通过片上网络进行数据交换,各DSP核的所述标量存储单元通过全局共享缓存单元对片外存储器数据进行访问;
3)各DSP核的所述标量存储单元通过片上网络与其他DSP核的标量存储单元进行数据交换。
作为本发明方法的进一步改进,所述步骤2)中还包括使私有一级Cache与全局共享缓存单元数据一致性的配置步骤,具体实施方法为:采用将私有一级Cache与全局共享缓存单元均配置为写回的第一配置方式、或采用将私有一级Cache配置为写旁路的第二配置方式、或采用将全局共享缓存单元配置为写旁路的第三配置方式、或采用将私有一级Cache与全局共享缓存单元均配置为写旁路的第四配置方式;
所述第一配置方式为根据访存的先后顺序,将待访问数据块依次在私有一级Cache、全局共享缓存单元中缺失,并在调入待访问数据块后依次缓存进全局共享缓存单元、私有一级Cache;所述第二配置方式为将待访问数据块直接写入全局共享缓存单元中;所述第三配置方式为将待访问数据块仅在私有一级Cache中缓存;所述第四配置方式为将待访问数据块直接写入片外存储器。
作为本发明方法的进一步改进,所述步骤3)还包括多核共享数据同步步骤,具体实施方法为:当目标DSP核的标量存储单元通过片上网络访问共享存储空间时,先访问硬件同步单元,通过硬件同步单元对所操作的目标数据空间进行施加同步锁,使目标DSP核外的其他DSP核不能修改所述目标数据空间。
与现有技术相比,本发明装置的优点在于:
1)本发明多层次协同与共享存储装置通过全局共享缓存单元缓存片外存储空间数据,可以有效实现片外数据与单核DSP核间的数据传输延迟,满足高速实时数据信号处理的需要;同时在每个DSP核内设置并行的标量存储单元、向量阵列存储单元,使得每个单核运算时可直接访问本地标量存储单元、向量阵列存储单元,避免了Cache访问缺失时由于分布式存储结构延迟不确定造成对计算性能的影响;
2)本发明多层次协同与共享存储装置中每个DSP核内标量存储单元、向量阵列存储单元为并行,通过访存并行的体系结构使得可根据用户需求动态的实现紧耦合或松耦合模式,当标量计算单元空闲时,将标量存储单元访问的数据发送给向量运算单元,实现标量存储单元与向量阵列存储单元的紧耦合,从而充分利用标量存储单元的访存带宽、提高单核向量的运算效率。
3)本发明多层次协同与共享存储装置中,进一步单核的标量存储单元可配置为私有一级Cache,GPDSP中所有单核的标量存储单元均通过片上网络与全局共享缓存单元相连,从而构成片内二级层次的共享存储结构,实现了核间数据共享;同时全局共享缓存单元针对访存数据不同提供了多种可配置的接口,灵活性强、为通用科学计算提供高效的支持。
4)本发明多层次协同与共享存储装置中,进一步包括用于将各DSP核间数据进行同步的硬件同步单元,每个单核的标量访存操作时通过硬件同步单元实现各单核对共享存储空间的加锁互斥和栅栏同步功能,保证了多核对共享存储空间访问的数据一致性,同时硬件开销小且具有良好的可扩展性能。
与现有技术相比,本发明方法的优点在于:
1)本发明多层次协同与共享存储装置的访存方法通过对GPDSP中每个DSP单核内标量存储单元、向量阵列存储单元统一编址,使得每个单核运算时直接访问本地标量存储单元、向量阵列存储单元,避免了Cache访问缺失时分布式存储结构延迟不确定对计算性能的影响;同时根据访存数据将单核的标量存储单元配置为私有一级Cache,使得GPDSP中的所有单核的标量存储单元能通过全局共享缓存单元实现核间数据共享。
2)本发明多层次协同与共享存储装置的访存方法中,进一步针对私有数据进行一致性配置,通过将私有一级Cache与全局共享缓存单元均配置为写回、或将私有一级Cache配置为写旁路、或将全局共享缓存单元配置为写旁路、或将私有一级Cache与全局共享缓存单元配置为写旁路的多种方式,有效保证了私有一级Cache与全局共享缓存单元之间的数据一致性。
3)本发明多层次协同与共享存储装置的访存方法中,进一步针对多核共享数据,通过硬件同步单元对共享数据加锁,防止其他核对数据进行修改,保证多核数据的一致性。
附图说明
图1是本实施例面向GPDSP的多层次协同与共享存储装置的结构示意图。
图2是本实施例中标量存储单元SMU的结构示意图。
图3是本实施例中向量阵列存储单元AMU的结构示意图。
图4是本实施例中全局共享缓存单元GSC的结构示意图。
图5是本实施例中硬件同步单元SYNU的结构示意图。
图6是本实施例中不同层次间数据一致性的实现原理示意图。
图7是本发明具体实施例中多核共享数据一致性的实现原理示意图。
图例说明:
1、DSP核;11、标量存储单元;111、标量译码与地址计算模块;112、标量访存控制器;113、标量存储体;12、向量阵列存储单元;121、向量译码与地址计算模块;122、向量访存控制单元;123、存储阵列;13、DMA;14、指令派发部件;15、标量运算单元;16、向量运算单元;2、全局共享缓存单元;21、第一输入缓冲模块;22、第一访存流水线;23、第二访存流水线;24、输出缓冲模块;25、数据返回缓存模块;26、返回数据选择模块;3、硬件同步单元;31、第二输入缓冲模块;32、仲裁调度模块;33、同步锁实例槽模块;34、同步栅栏实例槽模块;35、返回数据选择与缓存模块;4、片上网络;5、片外存储器。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例GPDSP中多层次协同与共享的存储装置,包括多个DSP核1以及用于缓存片外存储数据的全局共享缓存单元2(GSC),各DSP核1分别通过片上网络4连接全局共享缓存单元2;每个DSP核1均包括并行的标量存储单元11(SMU)、向量阵列存储单元12(AMU),各DSP核1通过各自的标量存储单元11、向量阵列存储单元12进行核内数据访存,以及通过全局共享缓存单元2共享数据。
本实施例针对GPDSP的应用需求特点,通过各DSP核1、各DSP核1内的标量存储单元11(SMU)、向量阵列存储单元12(AMU)以及全局共享缓存单元2构成多层次协同和共享存储结构,每个DSP单核运算时,可以直接访问本地内标量存储单元11、向量阵列存储单元12,避免了Cache访问缺失时分布式存储结构延迟不确定对计算性能的影响,同时多个DSP核通过全局共享缓存单元2缓存片外存储空间数据,可以有效减少片外数据与标量存储单元11、向量阵列存储单元12间数据传输的延迟,从而能满足高速实时数据信号处理的需要;通过片上网络4提供高带宽的核间、核内存储器与全局Cache的数据传输。
本实施例中还包括用于将各DSP核1间数据进行同步的硬件同步单元3,硬件同步单元3与片上网络4连接,通过硬件同步单元3维护共享数据的一致性。
本实施例通过全局编址的硬件同步单元3提供多核共享的硬件锁、硬件栅栏,能够支持所有单核标量访存指令操作,通过硬件锁能够保证多核读写操作的互斥性、硬件栅栏则能够保证多核访存的顺序与同步,从而为多核共享数据交互提供数据的同步与互斥机制。DSP核1的单核在对共享存储空间访存前,需要先访问硬件同步单元3,对所操作的数据空间加锁,以防止其它核对该区域的数据进行改写,造成数据不一致。根据生产数据(写)和消费数据(读)的区别,硬件同步单元3中将每个同步锁设置为读锁属性或写锁属性,当读锁属性有效时,同步锁为共享互斥锁,可被多个单核进行读访问;当写锁属性有效时,同步锁为独占互斥锁,只能被一个单核独占访问。通过对硬件同步单元3的设置编程,即可实现了多核间共享数据访问的同步与互斥,保证数据的一致性。
参见图1,本实施例GPDSP中多层次协同与共享的存储装置具体包括n个DSP节点(n为正整数),每个DSP节点包括1个或1个以上DSP核1,DSP节点通过片上网络4实现与全局共享缓存单元2(GSC)、硬件同步单元3(SYNU)的互连,片外存储器5为全局共享缓存单元2提供数据。全局共享缓存单元2、硬件同步单元3均采用与n个DSP节点一一对应的分布式共享结构,其中全局共享缓存单元2由n个缓存子体GSC_0、GSC_1、…、GSC_n-1组成,硬件同步单元3由n个同步子体SYNU_0、 SYNU_1、…、SYNU_n-1组成;每个DSP节点i与对应的同步子体SYNU_i、缓存子体GSC_i(i=0,1,…,n-1)的互连距离最近,因此访问速度最快。DSP节点通过片上网络4实现DSP节点间的数据交互以及对其它节点内的存储空间以及硬件同步单元3的访问。全局共享缓存单元2与片外存储器5相连,实现对所有DSP节点共享的片外存储器空间的映射和缓存。
本实施例DSP核1具体由指令派发部件14、标量运算单元15、向量运算单元16、标量存储单元11、向量阵列存储单元12以及DMA(直接存储器访问控制器)13构成,通过片上网络4进行DSP核间、核外数据交互。全局共享缓存单元2,响应来自内核部件指令派发部件14、标量存储单元11、DMA 13的读写请求,为用户提供设置片外存储器5空间进驻GSC的优先级、设置Flush控制寄存器组,将数据从全局共享缓存单元2清空至片外存储器5、可配置访问的地址空间是否进入全局共享缓存单元2、可配置数据体是否提供纠1检2功能和Tag体是否提供奇偶校验功能等,此外提供多种高低位地址交叉模式,从而对数据在GPDSP中动态耦合执行提供高效的支持。片上网络4连接DSP核1、全局共享缓存单元2、硬件同步单元3,接收来自DSP核1的各种请求,根据设备ID号与访问地址,对请求进行分类,并根据请求目的将请求分发到本地或远程,当总线、缓冲数目等资源不足时,还负责对上述请求进行仲裁。
本实施例中,向量阵列存储单元12为全局编址的向量阵列存储器;标量存储单元11配置为私有一级Cache或全局编址的标量存储器。DSP核1基于标量、向量运算并行的体系结构,采用标量存储单元11和向量阵列存储单元12并行的存储系统,分别实现按超长指令字(VLIW)方式发射的标量、向量并行访存指令操作。标量存储单元11具体可配置为私有一级数据Cache(L1DC)或全局编址的存储器(L1DSRAM),向量阵列存储单元12具体是全局编址的单指令多数据流结构的向量阵列存储单元。通过标量存储单元11向单核标量运算单元提供访存数据,需要时还可为向量运算单元16提供少量的运算数据;通过向量阵列存储单元12为向量运算单元16提供所需的全部或大部分向量数据,可支持两条向量访存和DMA读、DMA写四条请求的并行访问;通过DMA 13和片上网络4实现与全局其它地址空间的数据交换。
本实施例每个DSP核内标量存储单元11、向量阵列存储单元12配置为并行,通过访存并行的体系结构使得可根据用户需求动态的实现紧耦合或松耦合模式,当标量计算单元11空闲时,将标量存储单元11访问的数据发送给向量运算单元16,实现标量存储单元11与向量阵列存储单元12的紧耦合,从而充分利用标量存储单元的访存带宽、提高单核向量的运算效率。
本实施例中,标量存储单元11配置为私有一级Cache时,标量存储单元11通过全局共享缓存单元2访问片外存储数据;标量存储单元11配置为全局编址的标量存储器时,标量存储单元11通过片上网络4执行与其余地址标量存储单元11之间标量访存操作、DMA读请求以及DMA写请求的并行访问。标量存储单元11配置成私有一级Cache(L1DC)时,直接通过片上网络4与全局共享缓存单元2相连,由全局共享缓存单元2缓存片外存储器5的数据,以加速DSP核1内标量、向量指令操作对片外存储器5的数据的访问;配置成全局编址的存储器L1DSRAM时,可支持标量访存操作、DMA读、DMA写三条请求的并行访问,通过DMA 13和片上网络4实现与全局其它地址空间的数据交换。
如图2所示,标量存储单元11包括依次连接的标量译码与地址计算模块111、标量访存控制器112、标量存储体113;标量译码与地址计算模块111用于对标量访存指令进行译码,并根据译码得到的寻址方式计算得到访存地址;标量访存控制器112用于根据访存地址发送访存请求;标量存储体113用于根据访存请求设置为一级数据存储体或SRAM。
标量存储单元11主要实现标量运算单元15的数据访存,在接收到指令派发部件14发出的标量访存指令后,根据访存地址区分L1DC缺失请求、SRAM请求、配置请求,对于L1DC缺失请求,通过标量访存控制器112向片上网络4请求下一级存储的数据,片上网络4通过数据总线将数据返回给标量访存控制器112;对于SRAM请求,标量存储单元11可以直接访存,且在处理标量访存指令的同时,可以并行处理来自DMA 13对SRAM的读写请求,并通过DSP核内的数据通路将数据返回给DMA 13;对于配置请求,标量访存控制器112将请求发向外设总线。
本实施例标量存储单元11按照标量译码与地址计算模块111、标量访存控制器112、标量存储体113的流水线顺序进行组织,各单元的具体结构为:
标量译码与地址计算模块111,具体包括指令译码模块和地址计算模块,指令译码模块负责对指令派发部件14给出的标量访存指令进行译码,并区分出指令类型以及寻址方式、发出读取基址和偏移寄存器的请求、以及处理指令编码错误报警信号等;地址计算模块负责根据寻址方式计算得到访存地址,并执行循环寻址处理、更新基址寄存器、以及基址未对齐和访存溢出报警等功能。
标量访存控制器112,具体是根据访存地址决定将请求送往私有一级Cache(L1DC)、全局编址的存储器L1DSRAM或外设总线;最后,在数据写回模块中根据请求发送的先后顺序,处理返回的数据,将返回的数据按序写回到标量通用目标寄存器,供运算部件使用。
标量存储体113,具体包含三个以上单端口存储体(Bank体),每个Bank体内按照机器字宽度分为多个小体,在SRAM模式下最大可以提供标量访存指令(LS)、DMA读、DMA写三个请求在不冲突情况下的并行访问。
如图3所示,向量阵列存储单元12包括依次连接的向量译码与地址计算模块121、向量访存控制单元122以及存储阵列123,向量译码与地址计算模块121对向量访存指令进行译码,并根据译码得到的寻址方式计算得到访存地址,通过向量访存控制单元122根据访存地址控制两个向量读写请求、DMA读请求、DMA写请求并行访问存储阵列123。
本实施例向量阵列存储单元12支持向量访存指令及DMA 13的访问,主要实现向量访存指令译码、向量地址计算、访存仲裁、访存、输出排序与缓存等逻辑功能。向量阵列存储单元12的Bank数量与向量处理单元VPE一一对应,向量运算阵列通过大宽度的数据总线进行数据交换。
本实施例按照向量译码与地址计算模块121,向量访存控制单元122,存储阵列123访问的流水线顺序进行组织,以提高访存带宽和流水线工作频率。各单元的具体结构如下所示:
向量译码与地址计算模块121,具体包含向量访存指令译码模块和地址计算模块,其中向量访存指令译码模块负责对指令派发部件14给出的两条向量访存指令进行译码,并区分出指令类型以及寻址方式、发出读取基址和偏移寄存器的请求以及处理指令编码错误报警信号等;地址计算模块负责根据寻址方式计算得到访存地址,并执行循环寻址处理、掩码压缩移位、Store指令的数据的混洗斜传、更新基址寄存器、基址未对齐和访存溢出报警等。
向量访存控制单元122,具体包含访存仲裁模块和数据访存模块,其中访存仲裁模块对向量读写0(LS0)、向量读写1(LS1)、DMA读(DMAR)、DMA写(DMAW)的四个请求,根据是否冲突以及访存优先级仲裁决定指令的先行与后行;数据访存模块则根据访存地址进行访存前的译码,将具体的访存行为映射为存储阵列123的端口上的读写操作。另外,向量访存控制单元122还需根据冲突情况和流水线全局停顿信号的影响,对向量访存流水线进行同步控制以保证访存节拍和数据的正确性,以及对Load指令读取的数据进行混洗操作。
存储阵列123,具体包含多个Bank存储体,并采用高低位地址交叉编址,每个Bank体内又分为多个SRAM小体,在向量读写0(LS0)、向量读写1(LS1)、DMA读(DMAR)、DMA写(DMAW)四个请求访问不同SRAM体的情况下能够完全并行。
本实施例中,全局共享缓存单元2提供了多种可配置的接口,可根据应用需要实现共享Cache空间与私有Cache空间的划分,以更加灵活高效地发挥全局共享缓存单元2及片外存储器5的带宽。本实施例将访存数据分成单核私有或多核共享两种类型,对于单核私有数据,只需维护一个单核的私有一级Cache(L1DC)与全局共享缓存单元2的一致性;对于多核共享数据,则需要维护共享数据的一致性。
如图4所示,全局共享缓存单元2包括多个相同结构的Cache子体控制器,全局共享缓存单元2包括多个相同结构的Cache子体控制器,每个Cache子体控制器包括请求第一输入缓冲模块21、第一访存流水线22、第二访存流水线23、输出缓冲模块24、数据返回缓存模块25以及返回数据选择模块26;所述第一输入缓冲模块21接收多个访问请求,并根据访问请求类型发送至第一访存流水线22、第二访存流水线23进行处理或直接发送至输出缓冲模块24,所述数据返回缓存模块25接收返回的数据并按照数据类型将接收到的所述返回数据输出至对应的缓冲,通过返回数据选择模块26选择最终的返回数据。
参见图1,本实施例全局共享缓存单元2采用分布式共享结构,由多个同构的Cache子体控制器GSC_0、GSC1、…GSCn-1组成,每个Cache子体控制器可同时接收三个接口的请求:本地请求、远程请求和外存访问请求,本地接口与网络接口中写总线与读返回总线共用。每个Cache子体控制器最多可以同时接收八个数据访问请求,分别为两个本地读请求、两个本地写请求、两个远程读请求和两个远程写请求,最多可以返回四个请求。全局共享缓存单元2与片外存储器5的接口采用独立的访问总线和读返回总线,每个Cache子体控制器也接收对控制寄存器的读、写请求。
本实施例全局共享缓存单元2的各单元的具体结构如下所示:
第一输入缓冲模块21,每个第一输入缓冲模块21对应连接1个Cache子体控制器,具体采用双端口寄存器文件一拍同时接收2个本地读请求、2个本地写请求、2个网络读请求以及2个网络写请求共8个访问请求后,根据请求类型分别缓存至可Cache请求缓冲和不可Cache请求缓冲,其中可Cache请求缓冲单元流出的请求由冲突判断及选择模块处理后,按地址分别发往第一访存流水线22、第二访存流水线23,不可Cache请求缓冲单元中的请求经过8选1选择后则直接输出至输出缓冲模块24。
第一访存流水线22,具体包括数据体和Tag体等,负责Cache子体控制器的各个请求的处理,主要实现输入缓冲流出请求处理、Flush请求处理、片外存储器5的返回数据处理等。
第二访存流水线23,第二访存流水线23与第一访存流水线22结构相同,且相互并行执行。
输出缓冲模块24,与第一访存流水线22、第二访存流水线23相连,具体采用双端口寄存器文件支持同时写入与读出,接收来自流水线的不可Cache请求缓冲的请求或缺失请求,同时多个子体的输出缓冲通过仲裁模块连接片外存储器5。
数据返回缓存模块25,具体将从片外存储器5返回数据分为两大请求类型:一类是缺失请求返回数据;另一类是不可Cache请求缓冲中的请求返回的数据,并将请求按照类型分别处理,输出至不同的返回缓冲。
返回数据选择模块26,具体对返回总线同一时刻返回多个请求存在竞争时,对返回数据进行仲裁以返回最终数据,同时设置缺失请求或者不可Cache请求缓冲中请求数据返回拥有最高优先级,当多个数据同时返回时,优先响应这两类请求的数据返回;仲裁失败后的数据,则存入相应的缓冲中,参与下一次的仲裁判断。对于同拍内第一访存流水线22、第二访存流水线23同时返回数据时,第一访存流水线22优先级高于第二访存流水线23,同拍内流水线仅一条流水线数据返回时,则采用先来先流出策略。
如图5所示,硬件同步单元3包括多个相同结构的同步子体,每个同步子体包括依次连接的第二输入缓冲模块31、仲裁调度模块32、同步锁实例槽模块33以及返回数据选择与缓存模块35;第二输入缓冲模块31用于缓存同步请求,并发送至仲裁调度模块32进行仲裁,仲裁调度模块32将同步请求中用于保持访存数据不被修改的同步锁请求发送至同步锁实例槽模块33进行处理、将同步请求中用于保持访存顺序的同步栅栏请求发送至同步栅栏实例槽模块34进行处理,返回数据选择与缓存模块35接收同步锁实例槽模块33、同步栅栏实例槽模块34的输出请求,选择最终输出请求并缓冲未选择的请求。
参见图1,本实施例硬件同步单元3采用分布式结构,由全局共享的多个同步子体SYNU_0、 SYNU_1、…、SYNU_n-1组成,每个子体全局编址,并与片上网路相连,所有对硬件同步单元3的请求经过片上网络4的仲裁后,以串行化的顺序发送到对应的同步子体,硬件同步单元3通过广播的方式同时给多个源设备返回数据。
本实施例硬件同步单元3中每个同步子体的各模块结构详细如下所示:
第二输入缓冲模块31,具体采用多个独立的FIFO(First Input First Output,先入先出队列)分别缓存多个不同子部件的同步请求,同步请求包括非阻塞锁请求、阻塞式锁请求(0、1、2、3)、栅栏请求;将输入请求经过译码后,对操作类型进行区分、数据进行打包后分别送入不同的先入先出队列FIFO,等待进入对应子部件。
仲裁调度模块32,具体是将物理通道中满足条件的请求发送到对应的同步子部件,并将不满足同步条件的请求保存在第二输入缓冲模块31中;所有的同步锁(阻塞和非阻塞两种)和同步栅栏每拍总共可以处理一条同步锁请求和一条同步栅栏请求,对于出现冲突的请求则以固定优先级循环的方式对请求进行处理。
同步锁实例槽模块33,具体包含所有的同步锁以及相应的控制机构,并在每拍接收并处理一个同步锁请求,其中对于非阻塞请求,使得处理完成随即产生相应输出;对于阻塞式请求,则使得请求进行的操作必须成功,否则不产生输出时将对应请求保存在第二输入缓冲模块31中以等待下一次仲裁直到操作成功。
同步栅栏实例槽模块34,具体包含所有的同步栅栏以及相应的控制机构,并在每拍接受并处理一个同步栅栏请求,其中栅栏同步操作要求多个DSP核共同参与,同步栅栏请求返回的数据在同步操作完成后发出,通过广播同时返回给参与同步的核。
返回数据选择与缓存模块35,具体是在返回数据输出端口存在多个输出请求产生竞争时,通过输出仲裁选择最终输出的请求,并对竞争失败的请求进行缓存,其中在对返回数据进行仲裁时,栅栏的输出具有最高的优先级,即当同步栅栏和同步锁都存在输出需求时,优先同步栅栏的输出,当多个栅栏输出出现竞争时则根据栅栏编号进行优先级排序。
本实施例还提供一种利用上述多层次协同与共享存储装置的访存方法,步骤包括:
1)将各DSP核1的向量阵列存储单元12进行全局编址,若为单核私有数据,配置各DSP核1的标量存储单元11为私有一级Cache,转入执行步骤2);若访存数据为多核共享数据,配置各DSP核1的标量存储单元11为全局编址的标量存储器,转入执行步骤3);
2)各DSP核1的向量阵列存储单元12通过片上网络4进行数据交换,各DSP核1的标量存储单元11通过全局共享缓存单元2对片外存储器数据进行访问;
3)各DSP核1的标量存储单元11通过片上网络4与其他DSP核1的标量存储单元11进行数据交换。
对于私有数据,只需维护一个DSP核1中的私有一级Cache与全局共享缓存单元2的一致性。如图6所示,本实施例为了保证私有一级Cache与全局共享缓存单元2作为不同层次间数据的一致性,由私有一级Cache提供写回/写旁路两种可配置方式,负责将DSP核1内的标量数据进行访存;同样由全局共享缓存单元2也提供写回/写旁路两种可配置方式,负责维护来自片上网络请求4(标量访问、DMA)的缓冲、排队、请求的命中与缺失处理,并严格保证进入全局共享缓存单元2的请求队列中相关请求的响应顺序。根据实际需求选择私有一级Cache与全局共享缓存单元2的配置方式。GSC行替换时不侦听L1DC,因此L1DC与GSC并非严格的子集包含关系。
为了保证私有一级Cache与全局共享缓存单元2之间的数据一致性,实现单核内、多核间数据访问的协同和共享,本实施例步骤2)中还包括使私有一级Cache与全局共享缓存单元数据一致性的配置步骤,具体实施方法为:采用将私有一级Cache与全局共享缓存单元2均配置为写回的第一配置方式、或采用将私有一级Cache配置为写旁路的第二配置方式、或采用将全局共享缓存单元2配置为写旁路的第三配置方式、或采用将私有一级Cache与全局共享缓存单元2均配置为写旁路的第四配置方式;第一配置方式为根据访存的先后顺序,将待访问数据块依次在私有一级Cache、全局共享缓存单元2中缺失,并在调入待访问数据块后依次缓存进全局共享缓存单元2、私有一级Cache;第二配置方式为将待访问数据块直接写入全局共享缓存单元2中;第三配置方式为将待访问数据块仅在私有一级Cache中缓存;第四配置方式为将待访问数据块直接写入片外存储器5。
参见图6,本实施例私有一级Cache与全局共享缓存单元2之间的数据一致性的配置方式具体为:
A)配置为默认态,即配置为私有一级Cache与全局共享缓存单元2均为写回的第一配置方式;第一配置方式中,根据访存的先后顺序,数据将在L1DC中缺失,进而在全局共享缓存单元2中缺失,最后从片外存储器5中调入数据块,缓存进全局共享缓存单元2、私有一级Cache。为保证第一配置方式中私有一级Cache与全局共享缓存单元2为严格的子集包含关系,私有一级Cache中的数据块是全局共享缓存单元2中数据块的子集,因此,数据块更新后,则需要刷新私有一级Cache,将最新数据更新进全局共享缓存单元2;
B)配置为私有一级Cache为写旁路的第二配置方法,该配置方式将最新数据块将直接写入全局共享缓存单元2中,无需刷新私有一级Cache进行数据更新,因而能够降低编程复杂度;
C)配置为全局共享缓存单元2为写旁路的第三配置方式,该配置方式将最新数据块仅在私有一级Cache中缓存,在更新数据块后,将最新数据块将直接写入片外存储器5,有效避免了DSP核与IO设备间的数据不一致;
D)配置为私有一级Cache与全局共享缓存单元2为写旁路的第四配置方式,该配置方式将最新数据块将直接写入片外存储器5。
本实施例中,对于多核数据,通过硬件同步单元3提供同步共享变量,支持硬件栅栏和硬件锁的同步操作,由栅栏保证多核访存的顺序与同步、硬件锁保证读写操作的互斥性;同时通过硬件保证全局共享缓存单元2与片外存储器5的数据一致性。
本实施例为了保证共享数据写操作的唯一性和DMA 13、私有一级Cache读到最新数据,对于共享数据的生产者,在生产数据前设置栅栏变量并获取独占的写锁;数据生产完成后,再将生产的最新数据写回全局共享缓存单元2;对共享数据的消费者,在消费数据前,需要访问栅栏变量并获取共享的读锁,以保证读到最新的数据。
如图7所示,假设i核为生产者,j、k核为消费者,多核数据一致性的步骤为:
①从硬件同步单元3中选取一个栅栏,并设置栅栏数目为3;
②核i获取写锁,核j、核k到达栅栏,等待核i到达栅栏;
③核i获取写锁,到达栅栏等待核j、k到达栅栏;
④核i、j、k均到达栅栏,离开栅栏,完成了一次生产、消费者之间的同步;
⑤核i获取共享数据写锁,开始生产数据,数据生产完成,将最新的共享数据更新进入GSC,并释放写锁;
⑥核j、k作废本地共享数据旧的备份,并获取读锁,获取读锁成功后,从GSC中获得最新的共享数据,完成后释放读锁。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种面向GPDSP的多层次协同与共享存储装置,其特征在于:包括多个DSP核(1)以及用于缓存片外存储数据的全局共享缓存单元(2),各DSP核(1)分别通过片上网络(4)连接所述全局共享缓存单元(2);每个所述DSP核(1)均包括并行的标量存储单元(11)、向量阵列存储单元(12),各所述DSP核(1)通过各自的标量存储单元(11)、向量阵列存储单元(12)进行核内数据访存,以及各所述DSP核(1)通过所述全局共享缓存单元(2)共享数据。
2.根据权利要求1所述的面向GPDSP的多层次协同与共享存储装置,其特征在于,还包括用于将各DSP核(1)间数据进行同步的硬件同步单元(3),所述硬件同步单元(3)与所述片上网络(4)连接。
3.根据权利要求2所述的面向GPDSP的多层次协同与共享存储装置,其特征在于:所述硬件同步单元(3)包括多个相同结构的同步子体,每个同步子体包括依次连接的第二输入缓冲模块(31)、仲裁调度模块(32)、同步锁实例槽模块(33)以及返回数据选择与缓存模块(35);所述第二输入缓冲模块(31)用于缓存同步请求,并发送至仲裁调度模块(32)进行仲裁,所述仲裁调度模块(32)将同步请求中用于保持访存数据不被修改的同步锁请求发送至同步锁实例槽模块(33)进行处理、将同步请求中用于保持访存顺序的同步栅栏请求发送至同步栅栏实例槽模块(34)进行处理,返回数据选择与缓存模块(35)接收所述同步锁实例槽模块(33)、同步栅栏实例槽模块(34)的输出请求,选择最终输出请求并缓冲未选择的请求。
4.根据权利要求3所述的面向GPDSP的多层次协同与共享存储装置,其特征在于:所述全局共享缓存单元(2)包括多个相同结构的Cache子体控制器,每个Cache子体控制器包括请求第一输入缓冲模块(21)、第一访存流水线(22)、第二访存流水线(23)、输出缓冲模块(24)、数据返回缓存模块(25)以及返回数据选择模块(26);所述第一输入缓冲模块(21)接收多个访问请求,并根据访问请求类型发送至第一访存流水线(22)、第二访存流水线(23)进行处理或直接发送至输出缓冲模块(24),所述数据返回缓存模块(25)接收返回的数据并按照数据类型将接收到的所述返回数据输出至对应的缓冲,通过返回数据选择模块(26)选择最终的返回数据。
5.根据权利要求1~4中任意一项所述的面向GPDSP的多层次协同与共享存储装置,其特征在于:所述向量阵列存储单元(12)为全局编址的向量阵列存储器;所述标量存储单元(11)配置为私有一级Cache或全局编址的标量存储器;当所述标量存储单元(11)配置为私有一级Cache时,所述标量存储单元(11)通过所述全局共享缓存单元(2)访问片外存储数据;当所述标量存储单元(11)配置为全局编址的标量存储器时,所述标量存储单元(11)通过片上网络(4)执行与其余地址标量存储单元(11)之间标量访存操作、DMA读请求以及DMA写请求的并行访问。
6.根据权利要求5所述的面向GPDSP的多层次协同与共享存储装置,其特征在于,所述标量存储单元(11)包括依次连接的标量译码与地址计算模块(111)、标量访存控制器(112)、标量存储体(113);所述标量译码与地址计算模块(111)用于对标量访存指令进行译码,并根据译码得到的寻址方式计算得到访存地址;所述标量访存控制器(112)用于根据访存地址发送访存请求;所述标量存储体(113)用于根据访存请求设置为一级数据存储体或SRAM。
7.根据权利要求6所述的面向GPDSP的多层次协同与共享存储装置,其特征在于,所述向量阵列存储单元(12)包括依次连接的向量译码与地址计算模块(121)、向量访存控制单元(122)以及存储阵列(123),所述向量译码与地址计算模块(121)对向量访存指令进行译码,并根据译码得到的寻址方式计算得到访存地址,通过向量访存控制单元(122)根据访存地址控制两个向量读写请求、DMA读请求、DMA写请求并行访问存储阵列(123)。
8.一种利用权利要求1所述的多层次协同与共享存储装置的访存方法,其特征在于,步骤包括:
1)将各DSP核(1)的所述向量阵列存储单元(12)进行全局编址,若访存数据为多核共享数据,配置各DSP核(1)的所述标量存储单元(11)为全局编址的标量存储器,转入执行步骤3);若访存数据为单核私有数据,配置各DSP核(1)的所述标量存储单元(11)为私有一级Cache,转入执行步骤2);
2)各DSP核(1)的所述向量阵列存储单元(12)通过片上网络(4)进行数据交换,各DSP核(1)的所述标量存储单元(11)通过全局共享缓存单元(2)对片外存储器数据进行访问;
3)各DSP核(1)的所述标量存储单元(11)通过片上网络(4)与其他DSP核(1)的标量存储单元(11)进行数据交换。
9.根据权利要求8所述的访存方法,其特征在于,所述步骤2)中还包括使私有一级Cache与全局共享缓存单元数据一致性的配置步骤,具体实施方法为:采用将私有一级Cache与全局共享缓存单元(2)均配置为写回的第一配置方式、或采用将私有一级Cache配置为写旁路的第二配置方式、或采用将全局共享缓存单元(2)配置为写旁路的第三配置方式、或采用将私有一级Cache与全局共享缓存单元(2)均配置为写旁路的第四配置方式;
所述第一配置方式为根据访存的先后顺序,将待访问数据块依次在私有一级Cache、全局共享缓存单元(2)中缺失,并在调入待访问数据块后依次缓存进全局共享缓存单元(2)、私有一级Cache;所述第二配置方式为将待访问数据块直接写入全局共享缓存单元(2)中;所述第三配置方式为将待访问数据块仅在私有一级Cache中缓存;所述第四配置方式为将待访问数据块直接写入片外存储器(5)。
10.根据权利要求8或9所述的访存方法,其特征在于,所述步骤3)还包括多核共享数据同步步骤,具体实施方法为:当目标DSP核(1)的标量存储单元(11)通过片上网络(4)访问全局共享缓存单元(2)的共享存储空间时,先访问硬件同步单元(3),通过硬件同步单元(3)对所操作的目标数据空间施加同步锁,使目标DSP核(1)外的其他DSP核(1)不能修改所述目标数据空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510135194.0A CN104699631B (zh) | 2015-03-26 | 2015-03-26 | Gpdsp中多层次协同与共享的存储装置和访存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510135194.0A CN104699631B (zh) | 2015-03-26 | 2015-03-26 | Gpdsp中多层次协同与共享的存储装置和访存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699631A true CN104699631A (zh) | 2015-06-10 |
CN104699631B CN104699631B (zh) | 2018-02-02 |
Family
ID=53346780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510135194.0A Active CN104699631B (zh) | 2015-03-26 | 2015-03-26 | Gpdsp中多层次协同与共享的存储装置和访存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699631B (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095144A (zh) * | 2015-07-24 | 2015-11-25 | 中国人民解放军国防科学技术大学 | 基于栅栏和锁的多核Cache一致性维护的方法和装置 |
CN106201939A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向gpdsp架构的多核目录一致性装置 |
CN107678781A (zh) * | 2016-08-01 | 2018-02-09 | 北京百度网讯科技有限公司 | 处理器以及用于在处理器上执行指令的方法 |
CN107766079A (zh) * | 2016-08-19 | 2018-03-06 | 北京百度网讯科技有限公司 | 处理器以及用于在处理器上执行指令的方法 |
CN108170544A (zh) * | 2017-12-29 | 2018-06-15 | 中国人民解放军国防科技大学 | 面向数据无冲突程序的共享数据动态更新方法 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
CN109117415A (zh) * | 2017-06-26 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
CN109284825A (zh) * | 2016-04-29 | 2019-01-29 | 北京中科寒武纪科技有限公司 | 用于执行lstm运算的装置和方法 |
CN110096475A (zh) * | 2019-04-26 | 2019-08-06 | 西安理工大学 | 一种基于混合互连架构的众核处理器 |
CN110147253A (zh) * | 2019-05-16 | 2019-08-20 | 湖南毂梁微电子有限公司 | 一种基于延迟栅栏同步操作指令的多核处理器同步方法 |
CN110704343A (zh) * | 2019-09-10 | 2020-01-17 | 无锡江南计算技术研究所 | 面向众核处理器访存和片内通信的数据传输方法与装置 |
CN111858669A (zh) * | 2020-07-03 | 2020-10-30 | 上海众言网络科技有限公司 | 一种数据二级缓存的方法和装置 |
CN112084297A (zh) * | 2019-06-14 | 2020-12-15 | 百度(中国)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112148665A (zh) * | 2019-06-28 | 2020-12-29 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
CN112416851A (zh) * | 2020-11-30 | 2021-02-26 | 中国人民解放军国防科技大学 | 一种可扩展的多核片上共享存储器 |
CN112527729A (zh) * | 2020-12-15 | 2021-03-19 | 杭州慧芯达科技有限公司 | 一种紧耦合异构多核处理器架构及其处理方法 |
CN112597075A (zh) * | 2020-12-28 | 2021-04-02 | 海光信息技术股份有限公司 | 用于路由器的缓存分配方法、片上网络及电子设备 |
CN112799726A (zh) * | 2021-01-26 | 2021-05-14 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN113297097A (zh) * | 2021-05-27 | 2021-08-24 | 中国电子科技集团公司第五十八研究所 | 一种面向封装级多处理器的混合地址编程方法 |
WO2022120722A1 (zh) * | 2020-12-10 | 2022-06-16 | 深圳市大疆创新科技有限公司 | 资源调度装置、数字信号处理器和可移动平台 |
CN115114188A (zh) * | 2022-06-23 | 2022-09-27 | 云南大学 | 一种嵌入式处理器高速缓存器结构及控制方法 |
CN115114192A (zh) * | 2021-03-23 | 2022-09-27 | 北京灵汐科技有限公司 | 存储器接口、功能核、众核系统和存储数据访问方法 |
CN115136115A (zh) * | 2020-02-26 | 2022-09-30 | 谷歌有限责任公司 | 使用共享便笺式存储器的向量简化 |
CN115328821A (zh) * | 2022-10-18 | 2022-11-11 | 北京红山微电子技术有限公司 | 基于GPU的可重构Cache系统、访存系统及访存方法 |
CN115454502A (zh) * | 2022-09-02 | 2022-12-09 | 杭州登临瀚海科技有限公司 | 用于调度simt架构处理器的返回数据的方法及相应处理器 |
CN115687181A (zh) * | 2022-11-07 | 2023-02-03 | 上海亿铸智能科技有限公司 | 一种用于存算处理单元的寻址方法 |
WO2023124304A1 (zh) * | 2021-12-31 | 2023-07-06 | 上海商汤智能科技有限公司 | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 |
CN116467235A (zh) * | 2023-05-22 | 2023-07-21 | 太初(无锡)电子科技有限公司 | 一种基于dma的数据处理方法、装置、电子设备及介质 |
WO2024066195A1 (zh) * | 2022-09-27 | 2024-04-04 | 海光信息技术股份有限公司 | 缓存管理方法及装置、缓存装置、电子装置和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020057711A1 (en) * | 2000-11-15 | 2002-05-16 | Nguyen Duy Q. | External bus arbitration technique for multicore DSP device |
CN103019655A (zh) * | 2012-11-28 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 面向多核微处理器的内存拷贝加速方法及装置 |
CN103714039A (zh) * | 2013-12-25 | 2014-04-09 | 中国人民解放军国防科学技术大学 | 通用计算数字信号处理器 |
-
2015
- 2015-03-26 CN CN201510135194.0A patent/CN104699631B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020057711A1 (en) * | 2000-11-15 | 2002-05-16 | Nguyen Duy Q. | External bus arbitration technique for multicore DSP device |
CN103019655A (zh) * | 2012-11-28 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 面向多核微处理器的内存拷贝加速方法及装置 |
CN103714039A (zh) * | 2013-12-25 | 2014-04-09 | 中国人民解放军国防科学技术大学 | 通用计算数字信号处理器 |
Non-Patent Citations (1)
Title |
---|
叶伟军 等: "多核同步机制的设计权衡", 《第十八届计算机工程与工艺年会暨第四届微处理器技术论坛论文集》 * |
Cited By (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095144A (zh) * | 2015-07-24 | 2015-11-25 | 中国人民解放军国防科学技术大学 | 基于栅栏和锁的多核Cache一致性维护的方法和装置 |
CN105095144B (zh) * | 2015-07-24 | 2018-08-24 | 中国人民解放军国防科学技术大学 | 基于栅栏和锁的多核Cache一致性维护的方法和装置 |
CN109284825B (zh) * | 2016-04-29 | 2020-04-14 | 中科寒武纪科技股份有限公司 | 用于执行lstm运算的装置和方法 |
CN109284825A (zh) * | 2016-04-29 | 2019-01-29 | 北京中科寒武纪科技有限公司 | 用于执行lstm运算的装置和方法 |
CN106201939A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向gpdsp架构的多核目录一致性装置 |
CN106201939B (zh) * | 2016-06-30 | 2019-04-05 | 中国人民解放军国防科学技术大学 | 面向gpdsp架构的多核目录一致性装置 |
CN107678781A (zh) * | 2016-08-01 | 2018-02-09 | 北京百度网讯科技有限公司 | 处理器以及用于在处理器上执行指令的方法 |
CN107678781B (zh) * | 2016-08-01 | 2021-02-26 | 北京百度网讯科技有限公司 | 处理器以及用于在处理器上执行指令的方法 |
CN107766079A (zh) * | 2016-08-19 | 2018-03-06 | 北京百度网讯科技有限公司 | 处理器以及用于在处理器上执行指令的方法 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
CN109117415B (zh) * | 2017-06-26 | 2024-05-14 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
CN109117415A (zh) * | 2017-06-26 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
CN108170544A (zh) * | 2017-12-29 | 2018-06-15 | 中国人民解放军国防科技大学 | 面向数据无冲突程序的共享数据动态更新方法 |
CN108170544B (zh) * | 2017-12-29 | 2020-08-28 | 中国人民解放军国防科技大学 | 面向数据无冲突程序的共享数据动态更新方法 |
CN110096475A (zh) * | 2019-04-26 | 2019-08-06 | 西安理工大学 | 一种基于混合互连架构的众核处理器 |
CN110096475B (zh) * | 2019-04-26 | 2023-10-24 | 西安理工大学 | 一种基于混合互连架构的众核处理器 |
CN110147253A (zh) * | 2019-05-16 | 2019-08-20 | 湖南毂梁微电子有限公司 | 一种基于延迟栅栏同步操作指令的多核处理器同步方法 |
CN112084297B (zh) * | 2019-06-14 | 2024-07-30 | 百度(中国)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112084297A (zh) * | 2019-06-14 | 2020-12-15 | 百度(中国)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112148665A (zh) * | 2019-06-28 | 2020-12-29 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
CN112148665B (zh) * | 2019-06-28 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
CN110704343A (zh) * | 2019-09-10 | 2020-01-17 | 无锡江南计算技术研究所 | 面向众核处理器访存和片内通信的数据传输方法与装置 |
CN115136115B (zh) * | 2020-02-26 | 2023-11-10 | 谷歌有限责任公司 | 使用共享便笺式存储器的向量简化 |
CN115136115A (zh) * | 2020-02-26 | 2022-09-30 | 谷歌有限责任公司 | 使用共享便笺式存储器的向量简化 |
US11934826B2 (en) | 2020-02-26 | 2024-03-19 | Google Llc | Vector reductions using shared scratchpad memory |
CN111858669A (zh) * | 2020-07-03 | 2020-10-30 | 上海众言网络科技有限公司 | 一种数据二级缓存的方法和装置 |
CN112416851A (zh) * | 2020-11-30 | 2021-02-26 | 中国人民解放军国防科技大学 | 一种可扩展的多核片上共享存储器 |
CN112416851B (zh) * | 2020-11-30 | 2023-07-18 | 中国人民解放军国防科技大学 | 一种可扩展的多核片上共享存储器 |
WO2022120722A1 (zh) * | 2020-12-10 | 2022-06-16 | 深圳市大疆创新科技有限公司 | 资源调度装置、数字信号处理器和可移动平台 |
CN112527729A (zh) * | 2020-12-15 | 2021-03-19 | 杭州慧芯达科技有限公司 | 一种紧耦合异构多核处理器架构及其处理方法 |
CN112597075A (zh) * | 2020-12-28 | 2021-04-02 | 海光信息技术股份有限公司 | 用于路由器的缓存分配方法、片上网络及电子设备 |
CN112597075B (zh) * | 2020-12-28 | 2023-02-17 | 成都海光集成电路设计有限公司 | 用于路由器的缓存分配方法、片上网络及电子设备 |
CN112799726A (zh) * | 2021-01-26 | 2021-05-14 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN112799726B (zh) * | 2021-01-26 | 2024-01-30 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
WO2022161318A1 (zh) * | 2021-01-26 | 2022-08-04 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
CN115114192A (zh) * | 2021-03-23 | 2022-09-27 | 北京灵汐科技有限公司 | 存储器接口、功能核、众核系统和存储数据访问方法 |
CN113297097B (zh) * | 2021-05-27 | 2022-09-02 | 中国电子科技集团公司第五十八研究所 | 一种面向封装级多处理器的混合地址编程方法 |
CN113297097A (zh) * | 2021-05-27 | 2021-08-24 | 中国电子科技集团公司第五十八研究所 | 一种面向封装级多处理器的混合地址编程方法 |
WO2023124304A1 (zh) * | 2021-12-31 | 2023-07-06 | 上海商汤智能科技有限公司 | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 |
CN115114188A (zh) * | 2022-06-23 | 2022-09-27 | 云南大学 | 一种嵌入式处理器高速缓存器结构及控制方法 |
WO2024045817A1 (zh) * | 2022-09-02 | 2024-03-07 | 杭州登临瀚海科技有限公司 | 用于调度simt架构处理器的返回数据的方法及相应处理器 |
CN115454502A (zh) * | 2022-09-02 | 2022-12-09 | 杭州登临瀚海科技有限公司 | 用于调度simt架构处理器的返回数据的方法及相应处理器 |
WO2024066195A1 (zh) * | 2022-09-27 | 2024-04-04 | 海光信息技术股份有限公司 | 缓存管理方法及装置、缓存装置、电子装置和介质 |
CN115328821B (zh) * | 2022-10-18 | 2022-12-23 | 北京红山微电子技术有限公司 | 基于GPU的可重构Cache系统、访存系统及访存方法 |
CN115328821A (zh) * | 2022-10-18 | 2022-11-11 | 北京红山微电子技术有限公司 | 基于GPU的可重构Cache系统、访存系统及访存方法 |
CN115687181B (zh) * | 2022-11-07 | 2023-05-12 | 苏州亿铸智能科技有限公司 | 一种用于存算处理单元的寻址方法 |
CN115687181A (zh) * | 2022-11-07 | 2023-02-03 | 上海亿铸智能科技有限公司 | 一种用于存算处理单元的寻址方法 |
CN116467235B (zh) * | 2023-05-22 | 2023-09-05 | 太初(无锡)电子科技有限公司 | 一种基于dma的数据处理方法、装置、电子设备及介质 |
CN116467235A (zh) * | 2023-05-22 | 2023-07-21 | 太初(无锡)电子科技有限公司 | 一种基于dma的数据处理方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104699631B (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
US10936536B2 (en) | Memory processing core architecture | |
CN107657581B (zh) | 一种卷积神经网络cnn硬件加速器及加速方法 | |
CN102375800B (zh) | 用于机器视觉算法的多处理器片上系统 | |
CN110347635B (zh) | 一种基于多层总线的异构多核微处理器 | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN103221937B (zh) | 用于处理集群的加载/存储电路 | |
US9411778B2 (en) | Multiprocessor system and synchronous engine device thereof | |
CN103744644B (zh) | 采用四核结构搭建的四核处理器系统及数据交换方法 | |
US20120079155A1 (en) | Interleaved Memory Access from Multiple Requesters | |
CN111433758A (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
BRPI0807951B1 (pt) | Processador de multimídia multi-encadeado sob demanda | |
WO2003007155A1 (fr) | Dispositif a circuit integre | |
CN105183662A (zh) | 一种无cache一致性协议的分布式共享片上存储架构 | |
TWI666551B (zh) | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 | |
CN101833441A (zh) | 并行向量处理引擎结构 | |
CN107562549A (zh) | 基于片上总线和共享内存的异构众核asip架构 | |
CN105095110A (zh) | 可融合可重构缓存架构 | |
CN105393210A (zh) | 用于模拟共享存储器结构的存储器单元 | |
CN114398308A (zh) | 基于数据驱动粗粒度可重构阵列的近内存计算系统 | |
US5893163A (en) | Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system | |
CN111860805A (zh) | 分形计算装置、方法、集成电路及板卡 | |
CN114297097A (zh) | 一种众核可定义分布式共享存储结构 | |
CN116777725A (zh) | 跨多个计算引擎的程序化控制的数据多播 | |
CN106201939B (zh) | 面向gpdsp架构的多核目录一致性装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |