[发明专利]用于硬件加速的硬件资源的嵌入式调度在审
申请号: | 201980034539.X | 申请日: | 2019-05-09 |
公开(公告)号: | CN112204524A | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | S·T·瑟;I·I·塔瓦拉;U·帕里克;S·珊坦;H·C·耐玛 | 申请(专利权)人: | 赛灵思公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市君合律师事务所 11517 | 代理人: | 毛健;程烁宇 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 硬件加速 硬件 资源 嵌入式 调度 | ||
1.一种集成电路,其特征在于,所述集成电路包括用于硬件加速的调度器,所述调度器包括:
命令队列,所述命令队列具有多个槽,并被配置为存储从主处理器卸载的多个命令,所述多个命令由所述集成电路的多个计算单元执行;
状态寄存器,所述状态寄存器具有与所述命令队列的多个槽相对应的多个比特位置;以及
控制器,所述控制器耦接到所述命令队列和所述状态寄存器,其中所述控制器被配置为调度所述集成电路的多个计算单元以执行被存储在所述命令队列的槽中的命令,并更新所述状态寄存器的比特位置以指示来自命令队列的哪些命令已结束操作。
2.根据权利要求1所述的集成电路,其特征在于,所述状态寄存器被配置为响应于被读取而清除存储在其中的内容。
3.根据权利要求1或2所述的集成电路,其特征在于,被存储在所述命令队列中的多个命令包括被所述计算单元使用以执行相应命令的参数。
4.根据权利要求1-3中任一项所述的集成电路,其特征在于,每个命令指定哪个所述计算单元能够执行所述命令。
5.根据权利要求1-4中任一项所述的集成电路,其特征在于,所述控制器被配置为基于哪个所述计算单元能够执行每个相应的命令并且空闲,而将命令分配给所述计算单元。
6.根据权利要求1-5中任一项所述的集成电路,其特征在于,所述控制器是被配置为执行程序代码的处理器。
7.根据权利要求1-6中任一项所述的集成电路,其特征在于,所述控制器被配置为确定其上能够运行所选择的命令的所选择的计算单元且是空闲的,将所选择的命令的参数传递给所选择的计算单元以供执行,以及启动所选择的计算单元。
8.根据权利要求7所述的集成电路,其特征在于,所述控制器被配置为:响应于确定所选择的命令已完成执行,写入所述状态寄存器中的所述比特位置,其对应于包括所选择的命令的所述槽,以指示所述槽是空闲。
9.一种使用集成电路调度用于硬件加速的命令的方法,其特征在于,所述方法包括:
将从主处理器接收到的命令存储到集成电路内的命令队列的槽内,其中所述命令从所述主处理器卸载,以由所述集成电路的计算单元执行;
使用控制器调度所述计算单元以执行被存储在所述命令队列的槽中的命令;以及
响应于确定所述命令已完成执行,在所述集成电路内的状态寄存器中写比特位置,其中所述比特位置对应于存储所述命令的所述命令队列的槽。
10.根据权利要求9所述的方法,其特征在于,还包括:
在所述控制器内,保留存储在所述命令队列的槽中的所述命令的头部的本地缓存副本;以及
通过更新所述头部的本地缓存副本中的值来更新所述槽的状态。
11.根据权利要求9或10所述的方法,其特征在于,还包括:
响应于所述状态寄存器已被读取,清除所述状态寄存器中存储的内容。
12.根据权利要求9-11中任一项所述的方法,其特征在于,还包括:
由每个命令确定哪个计算单元能够执行所述命令。
13.根据权利要求9-12中任一项所述的方法,其特征在于,还包括:
基于哪个所述计算单元能够执行每个相应的命令并且空闲,将命令分配给所述计算单元。
14.根据权利要求9-13中任一项所述的方法,其特征在于,还包括:
确定其上可以运行所选择的命令的所选择的计算单元是空闲的;
将所选择的命令的参数传递给所选择的计算单元用于执行;
启动所选择的计算单元;以及
写所述比特位置以指示所述槽是空闲的。
15.根据权利要求14所述的方法,其特征在于,还包括:
通过接收来自所选择的计算单元的中断或通过轮询所选择的计算单元来确定所选择的计算单元已完成执行所选择的命令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赛灵思公司,未经赛灵思公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980034539.X/1.html,转载请声明来源钻瓜专利网。