[发明专利]用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段有效
申请号: | 201280024054.0 | 申请日: | 2012-03-23 |
公开(公告)号: | CN103562866B | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | M·阿布达拉 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/30;G06F12/0811 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 通过 使用 分割 引擎 实例 虚拟 支持 代码 执行 寄存器 文件 | ||
本申请要求对Mohammad A.Abdallah于2011年3月25日提交的、名称为"REGISTER FILE SEGMENTS FOR SUPPORTING CODE BLOCK EXECUTION BY USING VIRTUAL CORES INSTANTIATED BY PARTITIONABLE ENGINES"的、共同未决、共同转让的美国临时专利申请第61/467,939号的权益,并且其全部内容并入于此。
有关申请的交叉引用
本申请与Mohammad A.Abdallah于2007年4月12日提交的、名称为"APPARATUS AND METHOD FOR PROCESSING AN INSTRUCTION MATRIX SPECIFYING PARALLEL IN DEPENDENT OPERATIONS"的、共同未决、共同转让的美国专利申请公开第2009/0113170号有关,并且其全部内容并入于此。
本申请与Mohammad A.Abdallah于2007年11月14日提交的、名称为"APPARATUS AND METHOD FOR PROCESSING COMPLEX INSTRUCTION FORMATS IN A MULTITHREADED ARCHITECTURE SUPPORTING VARIOUS CONTEXT SWITCH MODES AND VIRTUALIZATION SCHEMES"的、共同未决、共同转让的美国专利申请公开第2010/0161948号有关,并且其全部内容并入于此。
技术领域
本发明总体上涉及数字计算机系统、更具体地涉及用于选择包括指令序列的指令的系统和方法。
背景技术
处理器被要求处置依赖或者全独立的多个任务。这样的处理器的内部状态通常由可以在每个特定程序执行的实例保持不同值的寄存器构成。在每个程序执行的实例,内部状态映像被称为处理器的架构状态。
如果将代码执行进行切换以运行另一功能(例如另一线程、进程或者程序),则必须保存机器/处理器的状态,从而新功能可以利用内部寄存器以构建它的新状态。一旦终止新功能,则可以丢弃它的状态,并且将还原先前上下文的状态而且执行恢复。这样的切换过程被称为上下文切换并且尤其对于运用大量寄存器(例如64、128、256个)和/或无序执行的现代架构通常包括数十或者数百个周期。
在线程感知硬件架构中,硬件通常针对有限数目的由硬件支持的线程而支持多个上下文状态。在这一情况下,硬件针对每个支持的线程重复所有架构状态单元。这消除了在执行新线程时对于上下文切换的需要。然而这仍然具有多个缺点、即针对硬件中支持的每个附加线程重复所有架构状态单元(即寄存器)的面积、功率和复杂性。此外,如果软件线程的数目超过显式支持的硬件线程的数目,则仍然必须执行上下文切换。
这随着在要求大量线程的细粒度基础上需要并行性而变得常见。具有重复上下文状态硬件存储的硬件线程感知架构无助于非线程式软件代码而仅针对线程化的软件减少上下文切换数目。然而那些线程通常是针对粗粒度并行性而构造的并且导致用于发起和同步的繁重软件开销,从而让细粒度并行性、比如功能调用和循环并行执行而没有高效线程化发起/自动生成。如此描述的开销伴随有难以使用用于非显式/容易并行化/线程化的软件代码的现有技术编译器或者用户并行化技术来自动地并行化这样的代码。
发明内容
在一个实施例中,将本发明实施为一种用于使用用于处理器的多个虚拟核来执行指令的系统。该系统包括:全局前端调度器,用于接收传入指令序列,其中所述全局前端调度器将所述传入指令序列分割成指令的多个代码块并且生成描述在所述代码块的指令之间的相互依赖性的多个继承性矢量。该系统还包括:所述处理器的多个虚拟核,被耦合用于接收由所述全局前端调度器分配的代码块,其中每个虚拟核包括多个可分割引擎的资源的相应子集,其中根据虚拟核模式并且根据相应的所述继承性矢量通过使用所述可分割引擎来执行所述代码块。多个寄存器文件段,耦合到所述可分割引擎用于提供数据存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280024054.0/2.html,转载请声明来源钻瓜专利网。