当前位置: 首页 > 专利查询>微软公司专利>正文

通过内容可寻址存储器和并行计算执行模型的条件执行制造技术

技术编号:2830059 阅读:230 留言:0更新日期:2012-04-11 18:40
以内容可寻址存储器(CAM)体系结构使用基于配置的执行模型能够实现各个计算概念,包括条件执行,(举例来说,If-Then语句和while循环)、函数调用和递归。通过使用仅从CAM中发出完成的操作数集合以便处理的CAM特征来实现if-then和while循环;为不同的条件评估结果生成不同的种子操作数,并且将种子操作数与用于if-then分支或者退出while循环之后计算出的数据进行匹配。因此,下游运算符仅检索完成的操作数。通过使用返回标记作为操作数连同函数参数数据进入函数的输入标记空间来处理函数调用和递归。将递归函数分成两半,递归前部分和在递归前部分调用之后执行的递归后部分。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及计算机系统、处理器和存储器,特别涉及并行计算。
技术介绍
在相当长的时间,计算机程序开发者和使用者已经能够受益于使芯片特征 尺寸不断减少的技术的进步。随着可以被生产的设备(举例来说,微处理器和存储 器)的尺寸越来越小,因此设备变得更快、更便宜并且可被紧凑包装。这些进步的 结果是允许当代计算继续使用控制驱动(冯,诺依曼)执行模型,其中在该执行模 型中,由程序员编写一系列的指令以便处理器遵循执行,并且当按次序执行的时候, 这些指令可以执行所需的计算。然而,传统计算技术的极限也快要达到了。这是因为随着芯片特征尺寸继 续减少,也随之出现了多种问题。比如,当芯片变得越来越紧凑包装的时候,串扰, 电容负载、缺陷密度以及热耗散将变得更加明显。因此,为试图继续改进计算功率,制造商正进入基于一定数量的并行计算 的解决方案。比如,现代处理器通过试图发现可以以任意次序执行的操作,因此可 并行执行而不会改变结果来试图自动地从控制驱动码中提取某种并行性。然而,以 这种方式提取并行性是一个非常复杂的问题,可能不是特别成功或者有效的,因为 它需要对指令的相当大数量的预测或者回顾,以确定可以并行进行那些操作,如果 存在这些操作的话。尽管如此复杂度,但计算机产业仍正在向并行计算发展。所需 要的是用于并行计算的更好的体系结构。
技术实现思路
简要的说,本专利技术针对一种系统和方法,通过该系统和方法,基于配置的 执行模型结合内容可寻址存储器体系结构提供能够实现多个计算概念的装置,这些 概念包括条件执行,(举例来说,if-Then语句和while循环),函数调用和递归。内容可寻址存储器使用标记来标识输入到计算硬件配置的操作数。通过使用CAM特征来实现If-then语句,其中CAM特征仅仅发送来自CAM的完成的操 作数集合以用于处理;其中,对于条件的两个分支,每个都具有自己独特的输入标 记空间,具有独特的操作数集合。在执行期间,可以生成任意一个分支所需的值, 以及对该值进行标记,以便于这些值落入适当分支的输入标记空间。由图中的条件 节点生成附加的种子令牌,作为在分支的任一端上的操作数集合的一部分。当为每 个测试条件评估条件节点的时候,为该条件的真或者假的分支中任何一个生成种子 令牌,以为条件的正确分支完成操作数集合,同时相对的分支未完成。因此,下游 运算符仅仅检索完成的操作数集合,并且丢弃未完成的集合。while循环使用完成的操作数集合概念和标记空间。使用两个标记空间,一 个用于对while循环的输入,另一个用于在数据流图中的接下来的配置。条件运算 符生成种子令牌,该种子令牌导致循环继续while循环迭代,或者停止迭代而当前 数据值的至少一个数据值作为一个操作数,另外一个操作数指示迭代完成。下游运 算符可以处理一个或者多个被指示为完成的数据操作数,尽管可能发生阻塞,直到 已经通过while循环处理并完成了多个输入的完成集合。通过放置函数的返回标记作为伴随函数参数数据进入函数的输入标记空间 的操作数,经由CAM体系结构来处理函数调用;;在函数调用中传送返回标记直 到已经计算了函数的输出。当函数调用结束的时候,以返回标记来标记输出数据, 输出数据被指定为在调用程序之后返回到配置的输入标记空间中。通过操作标记来处理递归,便于它们可以返回到它们的递归双亲的输入标记 空间中。将递归函数分成两半,递归前部分和递归后部分。执行递归调用,直到达 到终止条件。递归函数中每一个也都执行到(包括)递归调用它们自身。当终止条 件达到时,并且所有的递归前调用都已经结束了执行,接着将每个函数调用的第二 部分以逆向调用的次序执行,以便结束函数评估。促进了并行计算的其它方面,包括标记清除、高速缓存管理、和常量。通过 使用标记以标识唯一操作数集合,允许计算无序进行、并且稍后为进一步的处理进 行重新聚集。这允许通过同时计算大型操作数集合的多个并行处理单元或者通过当 操作数集合可用时抓住时机地取回和执行操作数集合提供的更高的计算速度。当结合附图的时候,从下面的详细描述中,其它的优点将变得明显,附图中附图的简要说明附图说明图1是通常表示可在其中包括本专利技术的计算环境的框图2是根据本专利技术的各个方面、通常表示计算硬件的节点和其中数据操作数 流的数据流图,其中图可以是配置的部分或者全部;图3是根据本专利技术的各个方面、通常表示内容可寻址存储器(CAM)体系结 构的框图4是根据本专利技术的各个方面、用于操作CAM体系结构中使用的标记以标识 和存储数据的各种方式的表示;图5和6是根据本专利技术的各个方面、用于安排标记的各种方式的表示,诸如 以固定前缀来安排;图7是根据本专利技术的各个方面、从CAM发送到由图节点表示的请求计算硬件 的完成的操作集合的表示;图8是根据本专利技术的各个方面、通过函数输入标记模型处理矩阵乘法的例子, 其中数据从CAM流到计算硬件;图9是根据本专利技术的各个方面、函数输入标记空间模型的概念的示例表示;图IO是根据本专利技术的各个方面、基于函数关系而改变输入标记的示例表示;图11-13是根据本专利技术的各个方面、函数输入标记空间模型中可能的某些示例 性输入标记空间函数的表示;图14是根据本专利技术的各个方面、函数输入标记空间模型中可能的示例性函数 标记空间矩阵索引操作的表示;图15和16是根据本专利技术的各个方面、分别示出可能的聚集和分散存储器存 取的固定前缀和函数输入标记空间表示;图17是根据本专利技术的各个方面、示出函数输入标记规格的交错标记空间的基 于矢量的函数的表示;图18是根据本专利技术的各个方面、示出函数输入标记规格的紧凑标记空间的矩 阵乘法操作的表示;图19是根据本专利技术的各个方面、示出一对多函数输入标记空间关系的矩阵乘 法操作的表示;图20和21是根据本专利技术的各个方面、使用函数输入标记空间模型的高速缓 存管理例子的表示;图22是根据本专利技术的各个方面、通过CAM的处理稀疏矢量/矩阵的示例表示; 图23是根据本专利技术的各个方面、由节点表示的计算硬件配置的示例表示; 图24是根据本专利技术的各个方面、表示用于管理(计算硬件的)功能单元的配置的示例状态机的框图25是根据本专利技术的各个方面、在管理配置中使用的执行记录的表示;图26A和26B是根据本专利技术的各个方面、表示随着操作数集合完成和配置被执行的配置和相应执行记录的图27是根据本专利技术的各个方面、关于如何将CAM操作数用于执行条件if-then语句的表示;图28和29是根据本专利技术的各个方面、关于如何将CAM操作数用于执行和实 现while循环的表示;图30是根据本专利技术的各个方面、关于如何以及何时在配置输出合并之后执行 标记清除的示例表示;图31-33是根据本专利技术的各个方面、表示为阻塞输入数据流一段时间直到图中 的其他数据己经被处理而使用标志的示例性图34是根据本专利技术的各个方面、例示配置加载的调度的优化的表示;图35A和35B是根据本专利技术的各个方面、表示对用于处理递归函数的返回标 记的使用的图36是根据本专利技术的各个方面、在处理递归函数中使用的前向和递归后码输 入标记格式的表示;图37-44是根据本专利技术的各个方面、当处理图35A和35B的示例递归函数时 所生成的标记和结果的重复;图45是根据本专利技术的各个方面、标记如何在外部存储器中划分的表示;图46是根据本文档来自技高网...

【技术保护点】
在计算环境中,一种方法包括:    从内容可寻址存储器发送包括操作数的第一操作数集合的数据,所述内容可寻址存储器维护与标记关联的数据,从所述内容可寻址存储器发送到计算硬件的所述数据包括条件运算符;    从所述计算硬件接收提供对应于所述输入数据的条件结果的输出数据;    基于所述条件结果生成种子标记;    如果所述条件结果为真,则将所述种子标记与第二操作数集合相关联,或者如果所述条件结果为假,则将所述种子标记与第三操作数集合相关联,使得仅所述第二或者仅所述第三操作数集合是完成的操作数集合;以及    仅将所述完成的操作数集合发送到所述计算硬件中。

【技术特征摘要】
【国外来华专利技术】US 2005-6-1 11/143,3081.在计算环境中,一种方法包括从内容可寻址存储器发送包括操作数的第一操作数集合的数据,所述内容可寻址存储器维护与标记关联的数据,从所述内容可寻址存储器发送到计算硬件的所述数据包括条件运算符;从所述计算硬件接收提供对应于所述输入数据的条件结果的输出数据;基于所述条件结果生成种子标记;如果所述条件结果为真,则将所述种子标记与第二操作数集合相关联,或者如果所述条件结果为假,则将所述种子标记与第三操作数集合相关联,使得仅所述第二或者仅所述第三操作数集合是完成的操作数集合;以及仅将所述完成的操作数集合发送到所述计算硬件中。2. 如权利要求l所述的方法,其中所述条件运算符对应于if/then语句,并且 其中基于条件结果生成种子标记使所述完成的操作数集合被发送给所述计算硬件 中的两个分支中的一个。3. 如权利要求l所述的方法,其中所述条件运算符对应于while循环,并且 其中基于条件结果生成种子标记使所述完成的操作数集合处于一个标记空间或者 另外一个标记空间中,每个标记空间对应于所述计算硬件中的一位置,使得所述完 成的操作数集合被发送给所述计算硬件的两个位置中的一个。4. 如权利要求1所述的方法,还包括评估任何标记的操作数集合是否是完 成的,以便沿所述计算硬件中的特定路径向下发送,并且如果未完成,则跳过对应 于所述特定路径的配置。5. 如权利要求l所述的方法,还包括丢弃未完成的操作数集合。6. 至少一种具有计算机可执行指令的计算机可读介质,当所述指令被执行的 时候执行如权利要求1所述的方法。7. 在计算环境中, 一种方法包括安排函数参数数据和返回标记作为进入函数的输入标记空间的操作数;...

【专利技术属性】
技术研发人员:RA小布里特纳
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1