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

消息传递处理器制造技术

技术编号:2853821 阅读:176 留言:0更新日期:2012-04-11 18:40
揭示了一种设计成直接执行基于异步π演算的机器代码的处理器。此类处理器可以是多处理器系统的一个元件,该多处理器系统旨在提供一种用于执行基于π演算的程序的可缩放的、松耦合的架构。

【技术实现步骤摘要】

一般而言,本专利技术涉及计算机处理器。本专利技术尤其涉及设计成直接执行基于异步π演算的机器代码地处理器。
技术介绍
π演算提供一种有效地建模松耦合的消息传递系统的方法,在该系统中可以动态地重新组织通信链路(例如,当蜂窝电话从一个基站移动到另一个基站时)。在剑桥大学出版社1999年Robin Milner的“Communicating and mobile systemsthe pi-calculus”(通信和移动系统π演算)中具体描述了π演算。最初使用此模型在形式上推理此类系统,较近期提议用基于π演算的编程语言来实际地实现系统。并且,原始的π演算是同步模型,其中消息的发送由接收者确认。已开发出异步的π演算,其中可发送消息而无需等待回复(以因特网方式)。基于π演算方法的形式体系允许以严格的方式推理通信系统的行为。例如,可分析两个并发的进程来确保它们的通信遵从相同的协议。用基于π演算的语言编写的程序具有强加于它们之上的规则,使得手动或自动的分析比试图用任意的C#代码执行等效的分析来得更容易。对于某些人来说,π演算可构成编程语言的基础是一种极端的想法,但是若干项目已显示此方法可能具有许多优点。目前正在开发各种基于π演算的编程语言,用于设计和实现松耦合的消息传递系统,特别是web服务。π演算的一个实际应用包括为web服务分析“合同”。一种使用基于π演算的编程语言的示例性系统通过在常规系统软件(例如,公共语言运行时间(“CLR”)和常规的处理器架构(例如,Intel的X86处理器)之上执行来工作。但是,如果有一种系统架构或处理器可直接执行松耦合的消息传递程序,那将是合乎需要的。即,要缩小π演算等级的代码和常规指令集架构之间的语义差距,有一种直接执行基于π演算的程序的消息传递处理器系统可能是合乎需要的。如果将此类系统设计成具有合适的处理器和存储器架构以确保随着更多处理器被加入,这些系统可被缩放,那也是合乎需要的。即,如果这样一个处理器不是通过集中到单个处理引擎中的极度复杂性(如x86架构中的情况),而是通过对许多简单、小型的处理器的可缩放的部署来实现性能,那么将是尤其合乎需要的。基于松耦合的架构的小型处理器使得在性能和能力之间权衡变得较为简单。对于如因特网搜索加速或生物计算等计算复杂的任务,部署数百个处理器可能是合乎需要的。
技术实现思路
本文中所描述的专利技术提供一种合适的中间编译技术,用于在常规处理器上有效地实现基于π演算的程序,并提供新颖的基于π演算原语的指令集架构。已在实际的硬件上设计出并实现了用于π演算的原型处理器。本专利技术提供设计用于在硬件上直接执行基于π演算的程序的指令集架构和处理器。尽管本专利技术的处理器的示例性实施例可能具有基本的操作系统核心,但是无需编写代码来管理多个进程、上下文切换、等等。例如,任务切换可由处理器在硬件中执行,且通过使用基于π演算的程序,使得代码并发的可能性显而易见。这也允许代码在另一个处理器上或甚至在某个远程位置处运行。可将此类架构描述成“松耦合的”。即,在不同机器上运行的程序的若干组件可通过传递消息来与彼此通信。在常规处理器的世界中,组件会请求执行某个任务,并等待对该请求的回复。在松耦合的架构中,通常没有控制处理流程的中央处理器。某一处理器仅仅发送要求执行某个功能的消息,并且通常不等待对第一个请求的回复,随即继续执行安排它接下来要做的任何事。因此,此类系统是异步的。最终,根据某组规定的规则,将由发送该消息的处理器,或由另一个处理器接收回复。此类架构可能有助于通过提供松耦合的框架,来更好地利用硅片的能力,该框架使得处理器能够独立地(因此是并发地)尽可能多地进行。但是,在此类松耦合的架构中需要一种理论,以受控制和可预测的方式来调整此类消息传递的结果。异步π演算提供这样一种理论。根据本专利技术的处理器集中于异步π演算。在硬件中定义了对应于π演算原语的指令集。同样,处理器在各线程之间调度其本身,这通常是由软件实现的功能。例如,可在对直接在FPGA硬件上操作的web服务的设计和实现中使用根据本专利技术的处理器系统。附图说明图1描述了36位存储器字的示例性实施例。图2提供了根据本专利技术的处理器架构的示例性实施例的框图。图3描述了来自VHDL仿真器的用户界面。图4描述了来自逻辑分析器的用户界面。图5A和5B分别是典型的现有技术的处理系统和根据本专利技术的处理系统的功能性框图。图6所示是可实现本专利技术的各个方面的示例性计算环境的框图。具体实施例方式现在将对直接执行基于异步π演算的指令集架构的处理器的一个示例性实施例进行描述。此类处理器通过缩小语言级概念和机器代码级实现之间的语义差距,提供可用于执行用基于异步π演算的语言编写的程序的引擎。π演算是一种过程代数,其中通道名称既可作为传输介质,也可作为传输数据。因此,π演算可用于对已知为移动系统的自主主体系统进行建模。移动系统是通信网络的一种形式,其中个体组件以自由地自发选择的方式与彼此交互。开发π演算来对如蜂窝电话网络、因特网、和面向对象的软件程序般多样的并发计算系统中的交互进行建模。已采纳其为由BPMI.org开发的诸如商务过程建模语言(BPML)和微软的XLANG(BPEL4WS的先驱)等商务过程规范的基础。异步π演算是不包括用于选择和给输出加前缀的显式算子的π演算的子集。基于异步π演算的指令集的示例性实施例的基本元素可包括以下7个指令NEW-动态创建新的通信通道的指令;SEND2-异步发送一对字(直接或者间接)的指令;RECEIVE2-从通道读取一对字的指令;SELECT-听取一列通道,随后当在这些通道中的一个上出现数据时执行某个动作的指令;PAR-将新的进程添加到处理器上运行的进程的列表中的指令;SERVE-产生新的进程来处理通道上刚刚到达的数据值的指令;以及HALT-停止进程的执行的指令。根据本专利技术,可分别定义各个硬件电路来执行上述指令中的每一个。根据本专利技术的系统可包括这些指令中的一个或多个。因为期望用基于π演算原语的编程语言来编写软件,所以可使用对应于π演算原语的硬件指令来管理运行该软件的机器。因此,在根据本专利技术的系统中,可“从顶到底”应用π演算模型。在附录中提供了用于执行这些指令中的每一个的硬件处理器的示例性实施例的硬件定义语言(“HDL”)描述。选择双向的异步发送,则可通过传递“延续通道”作为第二参数来对同步发送进行建模。当接收器获得消息时,它随即可沿延续通道向下发送虚值(dummyvalue)到发送器来确认接收(即,基本握手协议)。注意RECEIVE2指令实际上是SELECT指令的退化情况。为效率起见提供RECEIVE2作为原语指令,因为程序通常具有比不确定的选择多得多的接收。对这7个指令的使用提供了对任何计算功能的执行(即,处理器是“图灵机完整的”)和对数据类型的建模。但是,为效率起见,较佳的是支持32位的有符号整数作为基本数据类型。通道也可表示为32位的地址。用异步π演算编写的程序通常是若干试图通过各个通道通信或创建新通道的进程的集合。当一个进程通过通道向另一个进程发送消息时,在发送该消息期间可能发生交互。发送进程可能被删除(对于异步发送来说没有后续动作),而接收器可用其刚刚接收到的新数据值重新开始执行。因此,对程序的执行可对应于进程之间的一本文档来自技高网
...

【技术保护点】
一种计算机处理器系统,包括:    至少一个处理器,所述处理器包括适用于执行基于π演算原语的硬件指令的电子电路。

【技术特征摘要】
US 2004-10-28 11/977,7551.一种计算机处理器系统,包括至少一个处理器,所述处理器包括适用于执行基于π演算原语的硬件指令的电子电路。2.如权利要求1所述的计算机处理器系统,其特征在于,所述π演算原语是异步π演算原语。3.如权利要求1所述的计算机处理器系统,其特征在于,所述至少一个处理器还包括多个电子电路,所述多个电子电路中的每一个都适用于执行基于对应的一组π演算原语的一组硬件指令中的相应的一个。4.如权利要求3所述的计算机处理器系统,其特征在于,所述一组硬件指令包括用于异步发送一对字的指令和从通道读取一对字的指令。5.如权利要求4所述的计算机处理器系统,其特征在于,所述用于异步发送一对字的指令至少部分地基于本文附录中所提供的对SEND2指令的硬件定义语言描述。6.如权利要求4所述的计算机处理器系统,其特征在于,所述用于从通道读取一对字的指令至少部分地基于本文附录中所提供的对RECEIVE2指令的硬件定义语言描述。7.如权利要求4所述的计算机处理器系统,其特征在于,所述一组硬件指令包括以下的至少一个用于动态地创建新通信通道的指令;用于监听一通道列表,随后当所述通道列表中的通道之一上出现数据时执行动作的指令;用于向所述处理器上运行的一进程列表添加新进程的指令;用于产生新进程来处理在通道上接收到的数据值的指令;以及用于停止进程的执行的指令。8.如权利要求7所述的计算机处理器系统,其特征在于,所述用于动态地创建新通信通道的指令至少部分地基于本文附录中所提供的对NEW指令的硬件定义语言描述。9.如权利要求7所述的计算机处理器系统,其特征在于,所述用于监听一通道列表的指令至少部分地基于本文附录中所提供的对SELECT指令的硬件定义语言描述。10.如权利要求7所述的计算机处理器系统,其特征在于,所述用于添加新进程的指令至少部分地基于本文附录中所提供的对PAR指令的硬件定义语言描述。11.如权利要求7所述的计算机处理器系统,其特征在于,所述用于产生新进程的指令至少部分地基于本文附录中所提供的对SERVE指令的硬件定义语言描述。12.如权利要求7所述的计算机处理器系统,其特征在于,所述用于...

【专利技术属性】
技术研发人员:S辛格
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1