cache存储架构制造技术

技术编号:19593150 阅读:22 留言:0更新日期:2018-11-28 04:48
本申请涉及一种cache存储架构。cache存储架构包括:多个内核、一个cache存储器以及物理内存;各内核分别与cache存储器连接;cache存储器与物理内存以组相联映射关系相连。本方案中,多个内核通过同一个cache存储器连接与物理内存连接,多个内核形成统一的高速缓冲存储器,无需区分本内核的cache存储器和其他内核cache存储器,无需设计一致性协议保证cache存储器之间的同步性,减少数据一致性相关的信息访问与同步的通信,从而减少通信阻塞,提高cache存储器的工作效率。

【技术实现步骤摘要】
cache存储架构
本申请涉及集成电路
,特别是涉及一种cache存储架构。
技术介绍
为了解决中央处理器操作速度与大容量的物理主内存读写速度不匹配的问题,通常在中央处理器以及大容量物理主内存间设置高速缓存存储器(cache)。cache存储器一般由三部分组成内容缓存器(高速缓存中用作指令内容或数据内容存储的随机访问器件)、标签缓存器(高速缓存中用作指令标签或数据标签存储的随机访问器件)以及管理电路。内容缓存器缓存物理内存的指令或数据内容,可以分为数据内容缓存器和指令内容缓存器;标签缓存器记录了对应内容缓存器的主内存地址及其他状态信息,可以分为数据标签缓存器以及指令标签缓存器;管理电路用于接收内核的地址请求,管理内容缓存器、标签缓存器与物理内存进行通信等。cache存储器的管理一般以缓存行(cacheline)为最小单位,当cache接收到处理器的地址请求后,访问对应的标签缓存器判断cacheline是否在cache中,如果命中(地址请求的数据内容在cache中)则从内容缓存器里取出对应的物理内存的数据;如果丢失(地址请求的数据内容不在cache中)则从大容量物理主内存中取回数据并放置到内容缓存器中,改写对应的标签缓存器记录下当前内容缓存器的缓存状态。传统的多内核处理器的存储层次结构中,每个内核通过自身的cache存储器单独读写物理内存,为了避免发生数据冲突往往需要引入一致性协议以保证多个cache存储器间的数据的同步性,但是,引入一致性协议的同时会造成cache存储器之间复杂的信息访问与同步,在数据读写过程中数据地址冲突时,cache存储器间的cacheline的来回搬运会造成通信阻塞,导致cache存储器的工作效率降低,难以匹配处理器的操作速度。
技术实现思路
基于此,有必要针对上述由于cache存储器之间一致性相关的信息访问与同步,在数据读写过程中数据地址冲突时造成cache存储器间的cacheline的来回搬运的阻塞,导致cache存储器的工作效率降低的技术问题,提供一种cache存储架构。一种cache存储架构,包括:多个内核、一个cache存储器以及物理内存;各所述内核分别与所述cache存储器连接;所述cache存储器与所述物理内存以组相联映射关系相连。在其中一个实施例中,cache存储架构还包括与所述内核数量相等的指令读请求接收模块,各所述内核通过各自对应的指令读请求接收模块与所述cache存储器连接;其中,每个所述指令读请求接收模块分别用于:接收所连接的内核发送的指令读请求,并获取所述指令读请求中的第一物理内存地址;根据所述第一物理内存地址获取指令标签缓存器的缓存地址以及指令内容缓存器的缓存地址;根据所述指令标签缓存器的缓存地址以及所述指令内容缓存器的缓存地址并行读取所述指令标签缓存器中的数据信息以及所述指令内容缓存器中的指令数据,其中,所述指令标签缓存器中的数据信息包括对应指令内容缓存器的物理内存地址以及状态信息;在所述指令标签缓存器中对应指令内容缓存器的物理内存地址与所述第一物理内存地址一致,且所述指令标签缓存器中的状态信息为第一状态时,将所述指令内容缓存器中的指令数据返回至所连接的内核中。在其中一个实施例中,每个所述指令读请求接收模块还分别用于:在所述指令标签缓存器中对应指令内容缓存器的物理内存地址与所述第一物理内存地址不一致,或所述指令标签缓存器中的状态信息为第二状态时,从物理内存内读取对应的指令数据保存到所述指令内容缓存器中,并更新所述指令标签缓存器中的数据信息;将所述指令内容缓存器中的指令数据返回至所连接的内核中。在其中一个实施例中,每个所述指令读请求接收模块还分别用于:在所述内核无指令跳转时,累加指令读请求中的物理内存地址获得第二物理内存地址;将所述第二物理内存地址作为第一物理内存地址,执行根据所述第一物理内存地址获取指令标签缓存器的缓存地址以及指令内容缓存器的缓存地址,并并行读取所述指令标签缓存器中的数据信息以及所述指令内容缓存器中的指令数据。在其中一个实施例中,cache存储架构还包括与所述内核数量相等的数据读请求接收模块,各所述内核通过各自对应的数据读请求接收模块与所述cache存储器连接;其中,每个所述数据读请求接收模块分别用于:接收所连接的内核发送的数据读请求,并获取所述数据读请求中的第三物理内存地址;根据所述第三物理内存地址获取数据标签缓存器的缓存地址以及数据内容缓存器的缓存地址;根据所述数据标签缓存器的缓存地址以及所述数据内容缓存器的缓存地址并行读取所述数据标签缓存器中的数据信息以及所述数据内容缓存器中的数据信息,其中,所述数据标签缓存器中的数据信息包括对应数据内容缓存器的物理内存地址以及状态信息;在所述数据标签缓存器中对应数据内容缓存器的物理内存地址与第三物理内存地址一致,且所述数据标签缓存器中的状态信息为第一状态时,将所述数据内容缓存器中的数据信息返回至所连接的内核中。在其中一个实施例中,每个所述数据读请求接收模块还分别用于:在所述数据标签缓存器中对应数据内容缓存器的地址信息与第三物理内存地址不一致,或所述数据标签缓存器中的状态信息为第二状态时,从物理主内存内读取对应的数据信息保存到所述数据内容缓存器中,并更新所述数据标签缓存器中的数据信息;将所述数据内容缓存器中的数据信息返回至所连接的内核中。在其中一个实施例中,cache存储架构还包括于所述内核数量相等的数据写请求接收模块,各所述内核通过各自对应的数据写请求接收模块与所述cache存储器连接;其中,每个所述数据写请求接收模块分别用于:接收所连接的内核发送的数据写请求,并获取所述数据写请求中的第四物理内存地址;根据所述第四物理内存地址获取数据标签缓存器的缓存地址;根据所述数据标签缓存器的缓存地址读取所述数据标签缓存器中的数据信息,其中,所述数据标签缓存器中的数据信息包括对应数据内容缓存器的物理内存地址以及状态信息;在所述数据标签缓存器中对应数据内容缓存器的物理内存地址与所述第四物理内存地址一致,且所述数据标签缓存器中的状态信息为第一状态时,根据所述数据标签缓存器中对应数据内容缓存器的物理内存地址将待写数据保存至对应数据内容缓存器中,并更新所述数据标签缓存器的状态信息。在其中一个实施例中,每个所述数据写请求接收模块还分别用于:在所述数据标签缓存器中对应数据内容缓存器的物理内存地址与所述第四物理内存地址不一致,或所述数据标签缓存器中的状态信息为第二状态时,将所述数据标签缓存器中对应数据内容缓存器中的数据信息同步至物理内存中;将所述待写数据保存至所述数据标签缓存器的对应数据内容缓存器中。在其中一个实施例中,cache存储架构,还包括内存访问接口;所述cache存储器通过所述内存访问接口与所述物理内存连接。在其中一个实施例中,所述指令标签缓存器、所述指令内容缓存器、所述数据标签缓存器或所述数据内容缓存器的数量不大于所述内核的指令及数据请求的总线数目之和。上述cache存储架构,多个内核通过同一个cache存储器连接与大容量物理主内存连接,多个内核之间形成统一的高速缓冲存储器,无需区分本内核的cache存储器和其他内核cache存储器,无需设计一致性协议保证cache存储器之间的同步性性,有效减本文档来自技高网
...

【技术保护点】
1.一种cache存储架构,其特征在于,包括:多个内核、一个cache存储器以及物理内存;各所述内核分别与所述cache存储器连接;所述cache存储器与所述物理内存以组相联映射关系相连。

【技术特征摘要】
1.一种cache存储架构,其特征在于,包括:多个内核、一个cache存储器以及物理内存;各所述内核分别与所述cache存储器连接;所述cache存储器与所述物理内存以组相联映射关系相连。2.根据权利要求1所述的cache存储架构,其特征在于,还包括与所述内核数量相等的指令读请求接收模块,各所述内核通过各自对应的指令读请求接收模块与所述cache存储器连接;其中,每个所述指令读请求接收模块分别用于:接收所连接的内核发送的指令读请求,并获取所述指令读请求中的第一物理内存地址;根据所述第一物理内存地址获取指令标签缓存器的缓存地址以及指令内容缓存器的缓存地址;根据所述指令标签缓存器的缓存地址以及所述指令内容缓存器的缓存地址并行读取所述指令标签缓存器中的数据信息以及所述指令内容缓存器中的指令数据,其中,所述指令标签缓存器中的数据信息包括对应指令内容缓存器的物理内存地址以及状态信息;在所述指令标签缓存器中对应指令内容缓存器的物理内存地址与所述第一物理内存地址一致,且所述指令标签缓存器中的状态信息为第一状态时,将所述指令内容缓存器中的指令数据返回至所连接的内核中。3.根据权利要求2所述的cache存储架构,其特征在于,每个所述指令读请求接收模块还分别用于:在所述指令标签缓存器中对应指令内容缓存器的物理内存地址与所述第一物理内存地址不一致,或所述指令标签缓存器中的状态信息为第二状态时,从物理内存内读取对应的指令数据保存到所述指令内容缓存器中,并更新所述指令标签缓存器中的数据信息;将所述指令内容缓存器中的指令数据返回至所连接的内核中。4.根据权利要求2所述的cache存储架构,其特征在于,每个所述指令读请求接收模块还分别用于:在所述内核无指令跳转时,累加指令读请求中的物理内存地址获得第二物理内存地址;将所述第二物理内存地址作为第一物理内存地址,执行根据所述第一物理内存地址获取指令标签缓存器的缓存地址以及指令内容缓存器的缓存地址,并并行读取所述指令标签缓存器中的数据信息以及所述指令内容缓存器中的指令数据。5.根据权利要求1所述的cache存储架构,其特征在于,还包括与所述内核数量相等的数据读请求接收模块,各所述内核通过各自对应的数据读请求接收模块与所述cache存储器连接;其中,每个所述数据读请求接收模块分别用于:接收所连接的内核发送的数据读请求,并获取所述数据读请求中的第三物理内存地址;根据所述第三物理内存地址获取数据标签缓存器的缓存地址以及数据内容缓存器的缓存地址;根据所述数据标签缓存器的缓存地址以及所述数据内容缓存器的缓存地址并行...

【专利技术属性】
技术研发人员:龙树生
申请(专利权)人:珠海市杰理科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1