资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构制造技术

技术编号:9798436 阅读:93 留言:0更新日期:2014-03-22 12:57
一种用于在集成电路中分散资源分配的方法。该方法包括从多个可划分引擎的多个资源消费方接收访问多个资源的多个请求,其中资源跨多个引擎分布并且经由全局互连结构进行访问。在每个资源处,增加用于访问所述每个资源的请求的数量。在所述每个资源处,将请求的数量与阈值限制器比较。在所述每个资源处,取消所接收的超过阈值限制器的后续请求。随后,实施当前时钟周期内未被取消的请求。

【技术实现步骤摘要】
【国外来华专利技术】资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构本申请要求由Mohammad A.Abdallah于2011年5月20日提交的题为“DECENTRALIZED ALLOCATION OF RESOUIRCES AND INTERCONNECT STRUCTURES TO SUPPORTTHE EXECUTION OF INSTRUCTION SEQUENCES BY A PLURALITY OF ENGINES” 的共同未决的被共同转让的第61/488662号美国临时专利申请的权益,并且其全文结合于此。相关串请的交叉引用本申请涉及由Mohammad A.Abdallah于2007年11月14日提交的题为“APPARATUSAND METHOD FOR PROCESSING COMPLEX INSTRUCTION FORMATS IN A MULTITHREADEDARCHITECTURE SUPPORTING VARIOUS ⑶NTEXT SWITCH MODES AND VIRTUALIZATIONSCHEMES”的共同未决的被共同转让的第2010/0161948号美国公开,并且其全文结合于此。本申请涉及由Mohammad A.Abdallah于2007年4月12日提交的题为“APPARATUSAND METHOD FOR PROCESSING AN INSTRUCTION MATRIX SPECIFYING PARALLEL INDEPENDENT OPERATIONS”的共同未决的被共同转让的第2009/0113170号美国公开,并且其全文结合于此。
本专利技术总体上涉及数字计算机系统,更特别地涉及一种用于选择包括指令序列的指令的系统和方法。
技术介绍
需要处理器来处理相依赖的或者完全独立的多个任务。这样的处理器的内部状态通常由寄存器构成,该寄存器在程序执行的每个特定瞬间可能保存有不同的数值。在程序执行的每个瞬间,内部状态图像被称作处理器的架构状态。当代码执行被切换而运行另一功能(例如,另一线程、处理或程序)时,则机器/处理器的状态必须被保存,以使得新的功能能够利用内部寄存器来构建其新的状态。一旦新的功能终止,则其状态能够被丢弃并且之前环境的状态将被恢复并继续执行。这样的切换处理被称作环境切换(context switch)并且通常包括数十个或数百个周期,尤其是利用采用大量寄存器(例如,64个、128个、256个)和/或乱序执行的现代架构的情况下。在线程感知(thread-aware)的硬件架构中,对于硬件而言,针对有限数量的硬件支持的线程而支持多种环境状态是正常的。在这种情况下,硬件针对每个所支持的线程复制所有架构状态单元。这使得在执行新线程时无需进行环境切换。然而,这仍然具有多种缺陷,即针对以硬件形式所支持的每个附加线程复制所有架构状态单元(即,寄存器)的面积、功率和复杂度。此外,如果软件线程的数量超过了被明确支持的硬件线程的数量,则仍然必须执行环境切换。由于在需要大量线程的精细粒度的基础上需要并行性,所以这变得很常见。具有重复的环境状态硬件存储器的硬件线程感知架构对非线程化的软件代码并没有帮助,而仅仅是减少了被线程化的软件的环境切换的数量。然而,那些线程通常针对粗粒度并行化进行构建,并且导致针对发起和同步的繁重软件开销,让诸如函数调用和循环并行执行之类的细粒度并行性没有有效的线程化发起/自动生成。这样描述的开销伴随着难以使用用于非明确/易于并行化/线程化的软件代码的现有技术编译器或用户并行化技术对这样的代码进行自动并行化。
技术实现思路
在一个实施例中,本专利技术被实施为一种用于在集成电路(例如,微处理器等)中分散资源分配的方法。该方法包括从多个可划分引擎的多个资源消费方接收访问多个资源的多个请求,其中该资源跨多个引擎分布并且经由全局互连结构进行访问。在每个资源处,增加用于访问所述每个资源的请求的数量。在所述每个资源处,将请求的数量与阈值限制器比较。在所述每个资源处,取消所接收的超过该阈值限制器的后续请求。随后,实施当前时钟周期内未被取消的请求。以上是概述并且因此必然包含了细节的简化、概括以及省略;因此,本领域技术人员将会意识到,该概述仅是说明性的而并非意在以任何方式进行限制。仅由权利要求所限定的本专利技术的其它方面、专利技术特征以及优势,将在以下所给出的非限制性的详细描述中变得显而易见。【附图说明】在附图的图示中通过示例而非限制对本专利技术进行图示,并且其中同样的附图标记指代相似的单元。图1A示出了全局前端生成代码块和继承向量以支持代码序列在其相应引擎上执行的方式的概览。图1B示出了依据本专利技术的一个实施例的引擎及其组件的概览示图,包括用于多核处理器的分段调度器和寄存器文件、互连和分片存储器子系统。图2示出了依据本专利技术的一个实施例的描绘图1A和图1B的讨论中所描述的互连以及多个局部互连的附加特征的概览示图。图3示出了依据本专利技术的一个实施例的包括对争议资源实施有效访问的资源预约机制的组件。图4示出了依据本专利技术的一个实施例的互连以及到存储器片段之中的端口。图5示出了依据本专利技术的一个实施例的互连以及到分段之中的端口。图6示出了依据本专利技术的一个实施例的描绘分段互连的示图。图7示出了依据本专利技术的一个实施例的图示对针对互连分段的请求进行竞争和分配的方式的表格。图8示出了依据本专利技术的一个实施例的图示对针对点对点总线的请求进行处置的方式的表格。图9示出了依据本专利技术的一个实施例的实施图7的表格的功能的示例性逻辑实施方式的示图。图10示出了依据本专利技术的一个实施例的实施对针对点对点总线的请求进行处置的方式的功能的示例性逻辑实施方式的示图。图11示出了依据本专利技术的一个实施例的互连的示图。图12示出了依据本专利技术的一个实施例的图示图11的发送器模型互连结构运行的方式的表格。图13示出了依据本专利技术的一个实施例的实施对针对共享总线互连结构的请求进行处置的方式的功能的示例性逻辑实施方式的示图。图14示出了依据本专利技术的一个实施例的示例性微处理器流水线的示图。【具体实施方式】虽然已经结合一个实施例对本专利技术进行了描述,但是本专利技术并非意在被局限于这里所给出的具体形式。与之相反,由于能够被合理包括在如所附权利要求所限定的本专利技术的范围之内,所以其意在覆盖这样的替换、修改和等同形式。在以下详细描述中,已经给出了诸如具体方法顺序、结构、单元和连接之类的众多具体细节。然而,所要理解的是,这些和其它具体细节无需被用来实践本专利技术的实施例。在其它情况下,已经省略了公知的结构、单元或连接,或者没有对其进行特别详细的描述,以避免不必要地对该描述造成混淆。说明书中对“一个实施例”或“实施例”的引用意在表明结合该实施例所描述的特定特征、结构或特性包括在本专利技术的至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”并非必然全部都指代相同的实施例,也并非是与其它实施例互相排斥的单独或可替换的实施例。此外,描述了可以由一些实施例而并非由其它实施例所表现的各种特征。类似地,描述了可能是针对一些实施例而非其它实施例的要求的各种要求。随后的详细描述的一些部分以过程、步骤、逻辑框、处理以及对计算机存储器内的数据比特的运算的其它符号表示的形式进行呈现。本文档来自技高网
...
资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构

【技术保护点】
一种用于在集成电路中分散资源分配的方法,包括:从多个可划分引擎的多个资源消费方接收访问多个资源的多个请求,其中所述资源跨所述多个引擎分布并且经由全局互连结构进行访问;在每个资源处,增加用于访问所述每个资源的请求的数量;在所述每个资源处,将请求的数量与阈值限制器比较;在所述每个资源处,取消超过所述阈值限制器的后续请求;在所述每个资源处,实施当前时钟周期内未被取消的请求。

【技术特征摘要】
【国外来华专利技术】2011.05.20 US 61/488,6621.一种用于在集成电路中分散资源分配的方法,包括: 从多个可划分引擎的多个资源消费方接收访问多个资源的多个请求,其中所述资源跨所述多个引擎分布并且经由全局互连结构进行访问; 在每个资源处,增加用于访问所述每个资源的请求的数量; 在所述每个资源处,将请求的数量与阈值限制器比较; 在所述每个资源处,取消超过所述阈值限制器的后续请求; 在所述每个资源处,实施当前时钟周期内未被取消的请求。2.根据权利要求1所述的方法,其中所述多个资源消费方包括每个所述可划分引擎的执行单元。3.根据权利要求1所述的方法,其中所述多个资源包括每个所述可划分引擎的存储器片段。4.根据权利要求1所述的方法,其中所述多个资源包括每个所述可划分引擎的寄存器文件分段。5.根据权利要求1所述的方法,其中所述多个资源包括到每个所述可划分引擎的存储器片段和寄存器文件分段中的读/写端口。6.根据权利要求1所述的方法,其中所述多个资源包括所述全局互连结构的总线。7.根据权利要求1所述的方法,其中在用于实施动作的一组相关请求之一被取消的情况下不实施请求,其中所述一组相关请求包括针对读/写端口的请求以及针对所述全局互连结构的总线的请求。`8.根据权利要求1所述的方法,其中所述全局互连结构包括多个分段总线,并且其中请求的数量经由并行加法器相加。9.根据权利要求1所述的方法,其中所述全局互连结构包括多个点对点总线,并且其中请求的数量经由耦合至相应逻辑和运算的多个多输入逻辑或运算相加。10.一种用于在微处理器中分散资源分配的方法,包括: 从多个可划分引擎的多个资源消费方接收访问多个资源的多个请求,其中所述资源跨所述多个引擎分布并且经由全局互连结构进行访问; 其中所述多个资源消费方包括每个所述可划分引擎的执行单元,并且其中所述多个资源包括每个所述可划分引擎的存储器片段和寄存器文件分段; 在每个资源处,增加用于访问所述每个资源的请求的数量; 在所述每个资源处,将请求的数量与阈值限制器比较; 在所述每个资源处,取消超过所述阈值限制器的后续请求;以及 在所述每个资源处,实施当前时钟周期内未被取消的请求。11.根据权利要求10所述的方法,其中所述多个资源进一步包括到每个所述可划分引擎的存储器片段和寄存器文件分段中的读/写端口。12.根据权利要求10所述的方法,其中所述多个资源进一步包括所述全...

【专利技术属性】
技术研发人员:M·阿布达拉
申请(专利权)人:索夫特机械公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1