[发明专利]用于任务可切换的同步硬件加速器的装置和方法有效
申请号: | 201380059888.X | 申请日: | 2013-06-20 |
公开(公告)号: | CN104813294B | 公开(公告)日: | 2019-04-16 |
发明(设计)人: | O·本-琪琪;I·帕多;E·威斯曼 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/10 | 分类号: | G06F12/10 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 任务 切换 同步 硬件 加速器 装置 方法 | ||
1.一种处理器,包括:
执行逻辑,用于执行第一线程,所述第一线程包括用于调用加速器命令的加速器调用指令;
加速器,用于响应于所述加速器命令执行加速器线程,所述加速器用于将与所述加速器线程相关联的状态数据存储在存储器中的应用区中,其中,在执行所述加速器线程期间,所述加速器用于锁定转换后备缓冲器TLB中的与所述加速器线程相关联的多个条目以防止否则可能导致的异常;以及
异常处理程序,用于响应于检测到的异常条件由所述执行逻辑执行,其中,在执行所述异常处理程序之前,所述加速器解锁所述TLB中的所述多个条目,并且将所述加速器的当前状态保存到存储器中的所述应用区中,
其中,逻辑电路用于将异常状态信息存储在存储器中的第二栈区中,其中,在执行所述异常处理程序之前,栈指针用于被调节为指向存储器中的所述第二栈区,
其中,在完成所述异常处理程序之后,所述栈指针用于被调节为指向第一栈区,并且所述加速器用于继续执行所述加速器线程,
其中,为了继续执行所述加速器线程,所述加速器用于从应用存储器区中读取与所述加速器线程相关联的所述状态数据,并且
其中,在完成所述加速器线程之后,如果保存区在栈上,则所述栈指针被调节为指向所述栈中的、当所述加速器开始执行所述加速器线程时所述栈指针指向的位置。
2.如权利要求1所述的处理器,其特征在于,存储器中的所述应用区在用户栈上,并且栈指针被调节为指向低于所述用户栈的保存区的位置。
3.如权利要求1所述的处理器,其特征在于,响应于事件,所述加速器暂停执行所述加速器线程。
4.如权利要求3所述的处理器,其特征在于,第二加速器随后使用被存储在所述应用存储器区中的所述状态数据来恢复执行所述加速器线程。
5.如权利要求4所述的处理器,其特征在于,所述第二加速器在与所述加速器不同的处理器核上。
6.如权利要求5所述的处理器,其特征在于,所述应用存储器区被存储在由所述加速器和所述第二加速器共享的存储器中。
7.如权利要求6所述的处理器,其特征在于,所述存储器包括共享高速缓存。
8.一种用于处理器的方法,包括:
执行第一线程,所述第一线程包括用于调用加速器命令的加速器调用指令;
响应于所述加速器命令,执行加速器线程;
将与所述加速器线程相关联的状态数据存储在存储器中的应用存储器区中,其中,在执行所述加速器线程期间,锁定转换后备缓冲器TLB中的与所述加速器线程相关联的多个条目以防止否则可能导致的异常;以及
响应于检测到的异常条件,执行异常处理程序,其中,在执行所述异常处理程序之前,所述TLB中的所述多个条目被解锁,并且所述加速器线程的当前状态被保存到存储器中的所述应用存储器区中,
其中,所述异常处理程序用于执行下列操作:
将异常状态信息存储在存储器中的第二栈区中,其中,在执行所述异常处理程序之前,栈指针被调节为指向存储器中的所述第二栈区,
其中,在完成所述异常处理程序之后,所述栈指针用于被调节为指向所述应用存储器区,并且所述加速器用于继续执行所述加速器线程,
其中,为了继续执行所述加速器线程,从所述应用存储器区中读取与所述加速器线程相关联的所述状态数据,并且
在完成所述加速器线程之后,如果保存区在栈上,则所述栈指针被调节为指向所述栈中的、当所述加速器线程的执行开始时所述栈指针指向的位置。
9.如权利要求8所述的方法,其特征在于,存储器中的应用区在用户栈上,并且栈指针被调节为指向低于所述用户栈的保存区的位置。
10.如权利要求8所述的方法,其特征在于,进一步包括:
响应于事件,暂停执行所述加速器线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380059888.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:USB音频和电力传输
- 下一篇:一种水上4D动感影院