[发明专利]延迟缓冲器在审
申请号: | 201810160145.6 | 申请日: | 2018-02-26 |
公开(公告)号: | CN108536474A | 公开(公告)日: | 2018-09-14 |
发明(设计)人: | 约瑟·阿尔贝托·若昂;黄子强;亚历杭德罗·里科·卡罗 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 林强 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 指令 延迟缓冲器 阻塞 处理电路 电路 上下文数据 硬件寄存器 缓冲 存储 帮助 | ||
本公开涉及延迟缓冲器。一种装置包括:用于执行处理的两个或更多个线程的指令的处理电路、用于同时存储两个或更多个线程的上下文数据的硬件寄存器、以及用于提交线程的被执行的指令的结果的提交电路,其中,对于每个线程,提交电路按照程序顺序提交该线程的指令。提供至少一个延迟缓冲器来缓冲至少一个阻塞指令,阻塞指令的执行被处理电路完成但在程序顺序中同一线程的更先前指令的执行未被完成。这可以帮助解决线程间阻塞,从而提高性能。
技术领域
本技术涉及数据处理领域。
背景技术
一些数据处理设备可以支持处理的两个或更多个线程的并发执行,其中硬件寄存器被提供以同时存储多个线程的上下文数据。这种方法可以被称为同时多线程(SMT),并且可以有助于提高使用硬件资源的效率并提高性能,因为如果一个线程停滞(stall),另一线程可以继续进行,而不会导致软件控制的上下文切换的线程切换延迟(其中,寄存器一次仅存储一个线程的上下文,因此中断将触发软件将旧线程的上下文数据存储到存储器中,并用新线程的上下文数据来代替它)。通过SMT,多个线程可以具有同时在流水线内运行的指令,并且每个线程的相应上下文数据组可以在硬件寄存器内同时被访问。
发明内容
至少一些示例提供了一种装置,该装置包括:
处理电路,用于执行处理的多个线程的指令;
硬件寄存器,用于同时存储多个线程的上下文数据;
提交电路,用于提交多个线程的被执行的指令的结果,其中对于每个线程,提交电路被配置为按照程序顺序提交该线程的指令;以及
至少一个延迟缓冲器,用于缓冲至少一个阻塞指令(blocked instruction),针对阻塞指令的执行已由处理电路完成但在程序顺序中同一线程的更先前指令的执行未被完成。
至少一些示例提供了一种装置,该装置包括:
用于使用用于同时存储多个线程的上下文数据的硬件寄存器来执行处理的多个线程的指令的装置;
用于提交多个线程的被执行的指令的结果的装置,其中,对于每个线程,用于提交的装置被配置为按照程序顺序提交该线程的指令;以及
用于缓冲至少一个阻塞指令的装置,阻塞指令的执行被用于执行的装置完成但在程序顺序中同一线程的更先前指令的执行未被完成。
至少一些示例提供了一种数据处理方法,该方法包括:
使用用于同时存储多个线程的上下文数据的硬件寄存器来执行处理的多个线程的指令;
提交多个线程的被执行的指令的结果,其中,对于每个线程,按照程序顺序提交该线程的指令;以及
在至少一个延迟缓冲器中缓冲至少一个阻塞指令,阻塞指令的执行被完成但在程序顺序中同一线程的更先前指令的执行未被完成。
本技术的其他方面、特征和优点将从以下结合附图阅读的示例的描述中变得显而易见。
附图说明
图1示意性地示出了数据处理装置的示例,该数据处理装置支持对多个线程与存储在硬件寄存器中的每个线程的上下文数据的同时执行;
图2示出了流水线的执行和提交阶段(stage)的示例,该流水线被提供有至少一个用于缓冲阻塞指令的延迟缓冲器;
图3是示出控制指令的提交的方法的流程图;以及
图4是示出确定是否将阻塞指令传送到延迟缓冲器的方法的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810160145.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种代码的规范性检查方法及装置
- 下一篇:完整编程命令处理方法与装置