利用共享存储器存储数据的方法技术

技术编号:32482801 阅读:14 留言:0更新日期:2022-03-02 09:47
本公开提供了一种利用共享存储器存储数据的方法、一种用于中央处理器的处理装置、一种共享存储器、一种共享控制器、一种微指令缓存控制单元以及一种分支预测单元。其中,所述共享存储器包括多个共享存储区域,所述方法包括:对于所述共享存储器中的各个共享存储区域,设置共享控制器中与所述共享存储区域对应的控制信息,以及基于所述共享控制器中的控制信息,向各个共享存储区域写入或从各个共享存储区域读取微指令或分支信息,其中,所述指令由取指单元读取或写入,所述微指令由微指令缓存控制单元读取或写入,所述分支信息由分支预测单元读取或写入。测单元读取或写入。测单元读取或写入。

【技术实现步骤摘要】
利用共享存储器存储数据的方法


[0001]本公开涉及一种利用共享存储器存储数据的方法、一种用于中央处理器的处理装置、一种共享存储器、一种共享控制器、一种微指令缓存控制单元以及一种分支预测单元。

技术介绍

[0002]目前,中央处理器(Central Processing Unit,CPU)的微结构主要可以分成CPU前端和CPU后端。其中,CPU前端主要负责:指令拾取(Instruction Fetch)、指令解码(Instruction Decode)、分支预测(branch predict)和指令分发。而CPU后端负责指令执行和乱序控制(Out of Order)控制。
[0003]目前,CPU不仅可以与多种不同的存储结构相连接,CPU的内部还可以包括多种不同的存储结构。这些存储结构的示例包括指令缓存、微指令缓存和分支目标缓冲器(Branch Target Buffer,BTB)。目前,针对有些计算机程序,更大的微指令缓存的容量将有利于优化运算时间并且BTB容量存在浪费。而针对另一些计算机程序而言,更大的BTB容量则是更有利于优化运算时间,此时微指令缓存容量存在浪费。
[0004]为此需要一种能够满足不同场景的存储器空间优化方案,以进一步减小芯片面积,避免存储空间的浪费。

技术实现思路

[0005]本公开的实施例提供了一种利用共享存储器存储数据的方法,所述共享存储器包括多个共享存储区域,包括:对于所述共享存储器中的各个共享存储区域,设置共享控制器中与所述共享存储区域对应的控制信息,以及基于所述共享控制器中的控制信息,向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息,其中,所述指令由取指单元读取或写入,所述微指令由微指令缓存控制单元读取或写入,所述分支信息由分支预测单元读取或写入。
[0006]例如,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述共享存储区域从所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个接收对应的一个或多个写入信号;所述共享存储区域从所述共享控制器接收包括控制信息的控制写入信号,以及响应于所述控制写入信号,所述共享存储区域在所述一个或多个写入信号中选择一个写入信号并丢弃其他写入信号,并基于所述写入信号对应地写入与指令或微指令或分支信息相关的信息。
[0007]例如,所述各个共享存储区域包括写入接口,所述写入接口包括多路选择器,所述多路选择器用于响应于所述控制写入信号在所述一个或多个写入信号中选择一个写入信号并丢弃其他写入信号。
[0008]例如,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述共享存储区域向所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个返回读取信号,所述读取信号中包括所述共享存储区域中存储
的指令或微指令或分支信息;所述共享控制器向所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个发送包括所述控制信息的控制读取信号,以及所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个,基于所述控制读取信号,确定接收还是丢弃所述读取信号。
[0009]例如,所述取指单元被配置为向与多个非固定路对应的共享存储区域写入指令或从所述共享存储区域读取指令。
[0010]例如,所述微指令缓存控制单元被配置为向与多个非固定路对应的共享存储区域写入微指令或从所述共享存储区域读取微指令。
[0011]例如,所述分支预测单元被配置为向与多个非固定路对应的共享存储区域写入分支信息或从所述共享存储区域读取分支信息。
[0012]例如,所述微指令缓存控制单元包括路使能控制器,所述微指令缓存控制单元被配置为向M1个固定路或N1个非固定路对应的存储区域写入微指令或从所述存储区域读取微指令,M1和N1均为大于零的整数,所述M1个固定路中的每个固定路对应于微指令缓存中的部分私有存储区域,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述路使能控制器基于所述控制信息,使能所述N1个非固定路中的一个多个非固定路,以及响应于所述一个或多个非固定路被使能,向所述一个或多个非固定路对应的共享存储区域写入或从所述共享存储区域中读取微指令。
[0013]例如,所述分支预测单元包括路使能控制器,所述分支预测单元被配置为向M2个固定路或N2个非固定路对应的存储区域写入分支信息或从所述存储区域读取分支信息,其中,M2和N2均为大于零的整数,所述M2个固定路中的每个固定路对应于分支目标缓冲器或预测器的私有存储区域,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述路使能控制器基于所述控制信息,使能所述N2个非固定路中的一个多个非固定路,以及响应于所述一个或多个非固定路被使能,向所述一个或多个非固定路对应的共享存储区域写入或从所述共享存储区域中读取分支信息。
[0014]例如,所述微指令缓存控制单元被配置为向多个路对应的存储区域写入微指令或从所述存储区域读取微指令,其中,所述多个路中的每个路对应的存储区域包括微指令缓存中的私有存储区域以及共享存储器中的共享存储区域。
[0015]例如,所述分支预测单元被配置为向多个路对应的存储区域写入分支信息或从所述存储区域读取分支信息,其中,所述多个路中的每个路对应的存储区域包括分支目标缓冲器或预测器中的私有存储区域以及共享存储器中的共享存储区域
[0016]例如,所述微指令缓存控制单元包括对M1个路进行控制的路容量控制器,所述M1个路中的每个路对应的存储区域包括与一个固定路相对应的微指令缓存中的私有存储区域以及与一个可扩充路相对应的共享存储器中的共享存储区域,所述共享存储区域的数量为N,其中,M1和N为大于零的整数,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述路容量控制器基于所述控制信息,使能一个或多个可扩充路,并确定被使能的每个可扩充路对应的一个或多个共享存储区域;响应于所述一个或多个可扩充路被使能,向所述被使能的可扩充路对应的一个或多个共享存储区域写入或从所述共享存储区域中读取微指令。
[0017]例如,所述分支预测单元包括对M2个路进行控制的路容量控制器,所述M2个路中
的每个路对应的存储区域包括与一个固定路相对应的分支目标缓冲器或预测器中的私有存储区域和与一个可扩充路相对应的共享存储器中的共享存储区域,所述共享存储区域的数量为N,其中,M2和N为大于零的整数,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述路容量控制器基于所述控制信息,使能所述M2个可扩充路中一个或多个可扩充路,并确定被使能的每个可扩充路对应的一个或多个共享存储区域;响应于所述一个或多个可扩充路被使能,向所述被使能的可扩充路对应的一个或多个共享存储区域写入或从所述一个或多个共享存储区域中读取分支信息。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用共享存储器存储数据的方法,所述共享存储器包括多个共享存储区域,包括:对于所述共享存储器中的各个共享存储区域,设置共享控制器中与所述共享存储区域对应的控制信息,以及基于所述共享控制器中的控制信息,向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息,其中,所述指令由取指单元读取或写入,所述微指令由微指令缓存控制单元读取或写入,所述分支信息由分支预测单元读取或写入。2.如权利要求1所述的方法,其中,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述共享存储区域从所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个接收对应的一个或多个写入信号;所述共享存储区域从所述共享控制器接收包括控制信息的控制写入信号,以及响应于所述控制写入信号,所述共享存储区域在所述一个或多个写入信号中选择一个写入信号并丢弃其他写入信号,并基于所述写入信号对应地写入与指令或微指令或分支信息相关的信息。3.如权利要求2所述的方法,其中,所述各个共享存储区域包括写入接口,所述写入接口包括多路选择器,所述多路选择器用于响应于所述控制写入信号在所述一个或多个写入信号中选择一个写入信号并丢弃其他写入信号。4.如权利要求1所述的方法,其中,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述共享存储区域向所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个返回读取信号,所述读取信号中包括所述共享存储区域中存储的指令或微指令或分支信息;所述共享控制器向所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个发送包括所述控制信息的控制读取信号,以及所述取指单元、所述微指令缓存控制单元、或所述分支预测单元中的一个或多个,基于所述控制读取信号,确定接收还是丢弃所述读取信号。5.如权利要求1所述的方法,其中,所述取指单元被配置为向与多个非固定路对应的共享存储区域写入指令或从所述共享存储区域读取指令,以及/或者所述微指令缓存控制单元被配置为向与多个非固定路对应的共享存储区域写入微指令或从所述共享存储区域读取微指令,以及/或者所述分支预测单元被配置为向与多个非固定路对应的共享存储区域写入分支信息或从所述共享存储区域读取分支信息。6.如权利要求5所述的方法,其中,所述微指令缓存控制单元包括路使能控制器,所述微指令缓存控制单元被配置为向M1个固定路或N1个非固定路对应的存储区域写入微指令或从所述存储区域读取微指令,M1和N1均为大于零的整数,所述M1个固定路中的每个固定路对应于微指令缓存中的私有存储区域,所述向各个共享存储区域写入或从各个共享存储
区域读取指令或微指令或分支信息还包括:所述路使能控制器基于所述控制信息,使能所述N1个非固定路中的一个多个非固定路,以及响应于所述一个或多个非固定路被使能,向所述一个或多个非固定路对应的共享存储区域写入或从所述共享存储区域中读取微指令。7.如权利要求5所述的方法,其中,所述分支预测单元包括路使能控制器,所述分支预测单元被配置为向M2个固定路或N2个非固定路对应的存储区域写入分支信息或从所述存储区域读取分支信息,其中,M2和N2均为大于零的整数,所述M2个固定路中的每个固定路对应于分支目标缓冲器或预测器的私有存储区域,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述路使能控制器基于所述控制信息,使能所述N2个非固定路中的一个多个非固定路,以及响应于所述一个或多个非固定路被使能,向所述一个或多个非固定路对应的共享存储区域写入或从所述共享存储区域中读取分支信息。8.如权利要求1所述的方法,其中,所述微指令缓存控制单元被配置为向多个路对应的存储区域写入微指令或从所述存储区域读取微指令,其中,所述多个路中的每个路对应的存储区域包括微指令缓存中的私有存储区域以及共享存储器中的共享存储区域;以及/或者所述分支预测单元被配置为向多个路对应的存储区域写入分支信息或从所述存储区域读取分支信息,其中,所述多个路中的每个路对应的存储区域包括分支目标缓冲器或预测器中的私有存储区域以及共享存储器中的共享存储区域,以及/或者所述取指单元包括:被配置为向多个路对应的存储区域写入指令或从所述多个路对应的存储区域读取指令,其中,所述多个路中的每个路对应的存储区域包括指令缓存中的私有存储区域以及共享存储器中的共享存储区域。9.如权利要求8所述的方法,其中,所述微指令缓存控制单元包括对M1个路进行控制的路容量控制器,所述M1个路中的每个路对应的存储区域包括与一个固定路相对应的微指令缓存中的私有存储区域以及与一个可扩充路相对应的共享存储器中的共享存储区域,所述共享存储区域的数量为N,其中,M1和N为大于零的整数,所述向各个共享存储区域写入或从各个共享存储区域读取指令或微指令或分支信息还包括:所述路容量控制器基于所述控制信息,使能一个或多个可扩充路,并确定被使能的每个可扩充路对应的一个或多个共享存储区域;响应于所述一个或多个可扩充路被使能,向所述被使能的可扩充路对应的一个或多个共享存储区域写入或从所述共享存储区域中读取微指令。10.如权利要求8所述的方法,其中,所述分支预测单元包括对M2个路进行控制的...

【专利技术属性】
技术研发人员:崔泽汉
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1