(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211112988.1
(22)申请日 2022.09.14
(65)同一申请的已公布的文献号
申请公布号 CN 115185860 A
(43)申请公布日 2022.10.14
(73)专利权人 沐曦集成电路 (上海) 有限公司
地址 201306 上海市浦东 新区中国 (上海)
自由贸易试验区临港新片区环湖西二
路888号C楼
(72)发明人 不公告发明人
(74)专利代理 机构 北京锺维联合知识产权代理
有限公司 1 1579
专利代理师 李慧敏
(51)Int.Cl.
G06F 12/0811(2016.01)G06F 9/50(2006.01)
G06F 9/54(2006.01)
(56)对比文件
CN 110968345 A,2020.04.07
WO 20170 50014 A1,2017.0 3.30
何国强等.面向高性能计算的多通道交织存
储架构设计. 《现代雷达》 .2017,(第08 期),
审查员 宁雪莹
(54)发明名称
一种缓存访问系统
(57)摘要
本发明涉及电子 设计技术领域, 具体涉及一
种缓存访问系统, 该系统包括编译器、 K个计算单
元、 每个计算单元配置的一个一级缓存、 一级缓
存共享的二级缓存和内存; 其中每个一级缓存包
括M个一级缓存管道, 其中K*M个一级缓存管道共
享二级缓存; 每个一级缓存管道内部的数据按照
指令发出的顺序返回给相应的计算单元, 一级缓
存管道之间相互独立, 其中每个一级缓存管道配
置唯一的管道ID; 在指令中携带有管道ID时, 则
计算单元 以管道ID为索引将指令分配给相应的
管道, 同一管道中的数据按照指令发出的顺序返
回给计算单元。 该系统通过增加管道并结合指令
之间的依赖关系分配管道ID, 能够降低等待时
间, 提高处 理器的利用率。
权利要求书1页 说明书5页 附图2页
CN 115185860 B
2022.12.02
CN 115185860 B
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的位数根据一级
缓存管道的数量设定 。权 利 要 求 书 1/1 页
2
CN 115185860 B
2一种缓存访 问系统
技术领域
[0001]本发明涉及数据处 理技术领域, 具体涉及一种缓存访问系统。
背景技术
[0002]处理器在进行数据访存过程中, 需要将访存请求中的虚拟地址翻译为物理地址,
在翻译的过程中以及在访存数据的过程中会消耗较多的时间, 特别是如果在多级缓存中都
无法匹配到, 则需要花费更长的时间来访问内存; 因此为了充分利用处理器的资源, 常规的
做法是在两个访存请求之 间插入一些运算指令, 用相应的运算操作来填补等待请求返回的
时间, 达到充分利用处 理器资源的目的。
[0003]如图1所示, 对于现有的芯片框架来说, 芯片中包括若干个计算单元, 每个计算单
元对应一个本地的一级缓存, 所有一级缓存共享二级缓存, 也就是说每个一级缓存都能够
访问二级缓存, 其中二级缓存可以包括若干个, 二级缓存共享一个内存 (Global memory) ,
其中由一级缓存、 二级缓存和内存构成的数据访存单元用于访存数据, 访存数据包括将访
存请求中携带的虚拟地址翻译为物理地址以及根据物理地址取存相应的数据这两个过程。
[0004]通常情况下, GPU处理器会将发起的应用程序分为若干个工作组, 每个工作组必
须在一个计算单元上执行, 每个计算单元上可以执行多个工作 组; 每个工作 组包括多个线
程组, 其中线程组也称为wav e或者warp, 每个线程组都是一段程序, 每个线程组包括多个访
存请求和 运算指令, 其中每个访存请求中携带有相应的地址和数据长度等信息。 由于常规
的一级缓存只有一个管道, 同一个计算单元上的多个线程组的数据必须通过该管道顺序返
回给计算单元; 具体的, 计算单元按照顺序向一级缓存中发送虚拟地址, 由于地址翻译以及
数据访存过程的延时不同会导致访 存的数据返回到一级缓存中的顺序是乱序的, 但是由于
一级缓存中只有一个管道的原因, 需要等待在前的数据顺序返回之后才能将数据返回给对
应的计算单元, 即使是在后的访存请求先返回数据, 也需要等到在先 的访存请求返回之后
才能顺序返回给对应的计算单元, 前后发送的访存请求之间无论是否存在依赖关系, 其数
据返回都必须按照顺序返回, 等待的时间依然会浪费处理器的资源, 数据堵塞的情况比较
严重, 无法充分的利用处 理器的等待间隙, 导 致GPU的资源被浪费。
发明内容
[0005]为了解决上述技术问题, 本发明的目的在于提供一种缓存访问系统, 所采用的技
术方案具体如下:
[0006]一种缓存访问系统, 该系统包括编译器、 K个计算单元、 为每个计算单元配置的一
个一级缓存、 一级缓存共享的二级缓存和内存; 其中一级缓存、 二级缓存和内存构成数据访
存单元, 每个一级缓存包括M个一级缓存 管道、 K*M个一级缓存管道共享二级缓存; 每个一级
缓存管道内部的数据按照 指令发出的顺序返回给相应的计算单元, 一级缓存管道之 间相互
独立, 其中每个一级缓存 管道配置唯一的管道ID; 在指令中携带有 管道ID时, 则计算单元以
管道ID为索引将指 令分配给相应的一级缓存管道, 指 令在经过数据访 存单元处理之后通过说 明 书 1/5 页
3
CN 115185860 B
3
专利 一种缓存访问系统
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:10:32上传分享