首页> 中国专利> 一种基于分布结构的并行模块结构及并行处理方法

一种基于分布结构的并行模块结构及并行处理方法

摘要

本发明涉及一种基于分布结构的并行模块结构及并行处理方法。本发明的目的是提供一种新的序网计算机体系结构。它创建了一个以1+N个流序的独立运行,并通过序网指令各自独立地控制分布结构的令牌,实现模块的并行运行结构。其中N个是常规的Si流序,一个新的、本发明创建的一致化流序Sc以一致化令牌为元件独立运行,多机互联的分布令牌结构,支持1+N个流序的合作运行。

著录项

  • 公开/公告号CN1334522A

    专利类型发明专利

  • 公开/公告日2002-02-06

    原文格式PDF

  • 申请/专利权人 徐肇昌;

    申请/专利号CN00119472.0

  • 发明设计人 徐肇昌;

    申请日2000-07-18

  • 分类号G06F15/167;G06F13/38;

  • 代理机构上海专利商标事务所;

  • 代理人陈亮

  • 地址 200040 上海市北京西路1211/9

  • 入库时间 2023-12-17 14:10:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-07

    未缴年费专利权终止 IPC(主分类):G06F15/167 授权公告日:20040616 终止日期:20150718 申请日:20000718

    专利权的终止

  • 2004-06-16

    授权

    授权

  • 2002-02-06

    公开

    公开

  • 2000-11-22

    实质审查请求的生效

    实质审查请求的生效

说明书

本发明涉及分布式计算机结构和并行处理技术,尤其涉及一种基于分布结构的并行模块结构和并行处理方法。

与计算机的其它学科相比,近三十年来,在分布结构和并行处理领域,研究资金投入的密集程度和高级人材结集量已经是历史之最。但是,与计算机其他领域的高发展速度相反,从计算机开始出现至今,分布结构和并行处理领域中的技术困难仍未得到解决。

计算机体系结构研究的真正期望目标是产业化,尤其是在已经有单机领域的产业化成果为参照的情况下更是如此。对于产业化目标来说,并行计算机结构的通用性,要比运行速度重要的多。但至今为止,在通用性方向上仍然有很多鸿沟无法逾越,还没有看到问题有可能解决的曙光。

尽管困难,研究仍在进行。目前,分布式系统的研究目标还是在分布式操作系统上;并行处理研究方案已经集中在对称多处理机(MP)、大规模并行处理系统(MPP)和工作站群(NOW)这三种结构类型。

图1A是已有技术中的共享存储器结构类型的示意图。

已有技术MP的硬件层模型进入了一个面对共享存储器结构的类型。因此,从编程角度看,它们抽象的结构共性为本图所示的多个处理机100,通过一个内部连接网络101(有许多不同结构)与共享存储器102连接。其中,共享存储器102是分布的结构,也可以是集中的结构。

共享存储器结构的优势是各处理器可通过单机指令来直接读写共享存储器中的数据。近期的研究趋向是对分布结构存储器实现统一编址,这使各单元指令在读写其他单元的存储器时,产生在时间上不同的读写操作,称之为非一致性的存储器存取(NUMA)系统结构。

在数据共享的结构模型中,指令直接读写数据的优点在于编程中没有分布结构的存储器结构参数。但数据共享的结构模型没有为用户提供在多机硬件环境中如何建模的思路,也没有能直接解决一般分布计算中N个处理机程序的同步问题。

图1B是已有技术中基于联网通讯(NOW)类型的示意图。

分布结构的多计算机通过典型的通讯接口互联。其结构上的共性为多个程序流103,按通讯模式104所定义的方式连接,并通过程序流103中的通讯程序控制实现互联。它有分布结构上的优势,但用户建模的困难依然存在。

无论是共享数据类型还是Massage Passing,在多个程序流103(或100)之间的数据处理和同步问题上,多机系统同样存在困难。图1A和图1B所示的结构并没有能在硬件层解决同步、建模问题。事实上,至今对分布和并行技术的各自困难点在什么地方也没有统一的认识。有的观点认为分布系统的困难在于实时性和可调度性,并行处理的困难在并行编程和并行编译。但是,分布系统也有并行编程和并行编译问题,并行处理也需要实时性和可调度能力。而最为关键的通用性问题,一直作为遥远的研究目标,还不敢面对面地正视它。

与部分专家的观点一样,本发明也认为“已有的并行处理研究并没有揭示主要矛盾(进入问题的真正核心)”,应当从更深层次来考虑存在的问题。

综合图1A和图1B所示的已有技术,在多机结构前提下,模型处理必然有下列二个特征:

(1)运行的控制方式必然是多个独立的异步程序。

(2)N个分布结构程序并行执行,多个程序间必然要有数据实时传递(这些数据称之为并行模块的数据,简称模块数据)。

在上述结构特征下,并行处理实现模型正确运行和可编程性至少要处理好下列三个问题:

(1)程序流在利用传递来的模块数据之前要作数据有效性判断。

(2)模块数据在多机间的硬件传送渠道必然会产生结构参数。但这些结构参数和应用的模型无关,在编程界面中要被精简掉。

(3)在结构运行中,既要能实现多程序的同步,同时又要防止死锁。

只有在上述问题解决之后,才能谈得上并行效率(即速度)问题。

几十年来,上述三个问题(以下简称“3*问题”)一直很明确,也不难分析。但是,一揽子解决3*问题的最好方案却一直没有出现。

产生3*问题的原因是几乎所有的硬件都提供了一个由“N个独立的程序+多机互联结构”组成的裸机界面和N个程序控制界面。这个界面的实质是要在图灵机范畴解决多机问题。

图1C是图灵机的基本结构。它包括一条状态带和一个读写(控制)头。

图灵机的目标是对状态进行处理,但对读写头部分,给出的全部是定义(它包含了每次一步,左移或右移,处理状态格的内容等),要读者承认和接受。已有技术在图灵机处理“状态带”的抽象基础上,发展了“算法”学科,确实大大地推动了计算机的发展。因此,人们自然将读写头中的如何移动等部分划归到算法中去。

图灵机是计算机科学中一个非常重要的抽象模型。它将计算机科学和工程中的“状态要素”描绘的清清楚楚。但是它毕竟是计算机萌芽时代的产物,没有面临多机结构的问题。在进入多机环境(分布和并行)后,它的局限性就出现了。

“N个独立的程序+多机互联结构”的特征相当于多个读写头共享一个状态带,没有脱离图灵机的范畴。本发明认为已有技术中无论是共享存储器还是Massing Passing,从多程序角度来讲,最后效果都相当于是“多个图灵机读写头对状态带的共享”。

部分已有技术期望通过状态带信息判别来协调多读写头的同步,从而解决3*问题。本发明认为,3*问题是确实存在的问题,但不是全部问题,不是核心问题。更深层次的问题是一个图灵机所不能描述和概括的问题,需要突破已有技术来自硬件结构的“N个程序+多机互联结构”的界面,突破图灵机的限制。本发明认为,需要在更大的范围和更深的层次上,重新考虑问题所在,需要引进计算机科学和工程的另一种要素。

为了简化描述与本发明相关的计算机新要素,这里将引入一些新的概念和发现。

首先,引入“流”和“序”二个概念。其中,流代表一种动态串型的独立驱动结构,序代表静态的顺序。一般而言,流来自硬件结构,序来自模型分析。据此定义,计算机结构可抽象为一种流结构。而Petri网(本意是状态描述)等则被认为是序方面的表现方式。流和序匹配(可称之为流序)表示序可以加载到流上,流序在流的驱动下,按所加载的序来运行。计算机中的程序是流序匹配后的产物,一种用指令来表现的流序,是一种在硬件层次,高可控能力的流序(并非流序都可以转换为程序)。

“流、序和流序匹配”在流序要素的描述空间中是三个概念。过去在计算机领域的各种概念都是在流序匹配后(如程序)的基础上发展的。

由于本发明的基本思想是从代表模型的序层向结构适配,同时又从代表结构的流层向模型适配,并在这种双向的努力中,本发明找到了流层和序层都能够匹配的中间层,并以序网方式表现。因此,同一个序网的结构形式和相关的符号,在模型环境下(没有计算机结构的流概念)代表了序,在结构环境下(没有模型的序概念)又代表了流,而在可应用的环境中(必然处于流序匹配状态),代表了流序。本说明书文本的描述中,在Sc、Si等符号上好象出现了混淆,其实是为了描述上述发明思想的产物,正是本发明的特色。而在最后的序网计算机发明中,应该全部是流和序已经结合的流序状态。

由于一个模型可以在单机上实现,则认为算法可解,同一个模型在多机上却可能不能实现,但不能因此认为算法不可解。因此,在模型和计算机结构之间的关系不是算法问题。本发明引入了“适配性”概念来表现模型和计算机结构之间的关系。适配性解决良好,就是计算机结构存在通用性,因此,着眼于产业化的话,适配性是研究的首要目标。

下面直接引用在以适配性为目标的流和序的研究中,发现的二个基本规律:    

1.N个序的并行模型实际上有N+1个(以上)的序,其中第N+1个序是全局性的序。

2.每一个(来自模型的)序需要一个(来自结构的)流匹配,形成流序,称之为流序配对规律。全部流和序都配对后,才可以实现建模。

进一步,可推理如下:

N+1个序可以合并成一个序(这就构成单机中的流序配对)

规律和推理表明下列关系层次:

适配性研究的第一步是可以建模。可建模后才可进入算法研究。在流和序的概念下,流序匹配是可建模的先决条件。因此,流序匹配的质量是影响适配性的关键因素之一。

也表明了,单机和多机在研究环境上的差别在于:

单机有天然的流序匹配性,单机是在具备匹配的条件下进入算法的研究。已有的分布和并行处理技术是在匹配性条件不充分的情况下,就进入了算法的研究。

上述研究诞生了一个全新观点,计算机科学存在“流序和状态”二个要素。

状态要素通过图灵机已经很熟悉。计算机从开始至今,“状态”要素非常关键。图灵机对状态要素作了最抽象和精练的概括。状态要素的研究由算法这门学科来深化,其目标还在于模型可在计算机上运行。由于单机有天然的匹配性,事实上,状态要素研究的计算机背景是单机结构。

对“流序”要素,尽管在形式上不熟悉,但其实人人都已经感觉到,只是未能表达出来而已。图灵机的读写头定义中隐含了一对匹配的流序,可体现单机结构的特征。但是,分离流序、实现对序的描述、深化序的研究,图灵机模型已经无能为力,需要创新的研究途径和描述方法。

本发明认为流序是计算机体系结构的一个独立层次,流序要素和状态要素一样重要。对“流序”要素的研究由下面所讲的“序网”来描述,其研究目标之一就在于模型和计算机结构的适配性。作为第一个研究流序要素的本发明,已经产生了令人耳目一新的成果。由于流序要素在已有技术中,一直处在必然王国(没有意识到,但必须遵从的客观规律)状态。因此,在可运行的并行处理应用实例中,必然已经不自觉地包含了对流序要素的匹配处理(但处理效果必然不佳)。

本发明认为由于已有的各种理论都没有能使这个“流序要素”显过身。因此,首先需要重新创造一种能描述这个问题的层次和方法。本发明从最通用的流程图开始。

图1D是一个典型的并行流程图的抽象。

这是一个经常出现在办公桌、车间墙上的流程图,经抽象后的结构表达方式。其中流程的互连关系用令牌方式表示,本发明将此作为一个典型的并行模块和描述方法。根据本发明的观点,流程图表现了模型内多个并行的序及其相互关系,因此称流程为序。该流程图含有三个序S1-S3和四个组合令牌108。序Si(i=1,2,3)(i下标的说明在以下的描述中省略)是三个独立序,序间的互联功能,用组合令牌T1、T2、T3、T4来表示。组合令牌108由多个令牌组成,其中,105⊙表示源令牌,106①表示目的令牌,源和目的令牌嵌入在各个序Si的相应位置上。组合令牌108需要有多序之间的令牌传送通道结构109。

三个序Si的并行运行功能如下:序Si经过源令牌105时产生源令牌值=1(有效)。源令牌105(=1)值,经令牌传送通道结构109,被传送到目的令牌106。序Si经目的令牌时需要测试令牌值,如果令牌值=0(无效),则该序Si要等待,如果令牌值=1(有效),则序Si继续运行。

对模型来讲,上述多个序Si的运行协调过程是很清晰的,人(类大脑)的理解没有任何问题。其实,尽管没有明确地定义过,它也就是已有技术的并行模块原型。

图1E示出了多序Si互联中存在的模块的序Ms。

根据序Si和令牌的元件特性,在图1D结构中可以找到一批有向连线。它们自左到右,弯弯曲曲地在序和组合令牌108中分叉和穿行,表示一个多序间运行有先后的顺序,称之为(并行)模块的序Ms110。如图1E所示。

显然,Ms中存在两种不同的参量。一种是水平方向与各序Si有重叠的箭头线,代表运行过程中的组合令牌108的序。另一种是垂直方向和组合令牌内部传送通道结构重叠的箭头线,这是由多机结构产生的。模块的序Ms的真正内涵是组合令牌的序,并和各序Si互相独立,但在分布结构环境下,分段依附在各个序Si中,还要通过令牌传递来实现,使Ms序中掺杂了大量的结构参数。

模块的序Ms是全局的序,并有序结构上的分布性,全局性是指需要自立一个序,并且也是N个Si序互连关系所定义的。分布性是指Ms分布在各个序Si中,在各序Si之间有传递关系。这使得Ms内含的序不能和各个Si序隔离,也影响到各序Si的结构。

序Ms110表明了一个并行模块内在的序特征。它表明,在图1D中,除了N(在本例中N=3)个局部序Si以外,(至少)还存在另一个全局序Ms110。因此,并行模块一个基本特征是(至少)具有1+N个序(也可以等效成N+2、N+3…个序)。

并行模块有1+N个序也是从计算机结构角度对流程图理解的结果。这与停留在图1D上的人脑的智能化理解之间,有一个极易忽视的错觉存在。这种错觉造成了已有技术对模块的序Ms的忽视。同时,由于多机结构互连使控制增生了大量的数据结构和同步参数,在已有技术中称之为信息爆炸,这些结构参数都需要在编程前消除,已有技术在这方面的努力很艰苦。或许由于错觉的存在,已有技术在消除结构参数增量的同时,也抹掉了上述模块的序Ms。然而,序Ms是模型参量,不是多机结构增生的参量,是不能消除的。如何输入模型参量的序Ms,既是已有计算机体系结构研究中的实际目标,也是产生一切问题的根源,本发明和已有技术就此开始分道。

在图1D和图1E后,从新的角度再来观察和解释已有技术,就更清楚了。

已有技术忽视了模块的序Ms的存在(当然更谈不上研究Ms的性质了)。

已有并行处理技术没有在模型和计算机结构的跨度上来研究一般性特征,而仅是从结构方向进行努力。它的各种体系结构的区别是硬件互联结构上不同,但是,在忽视模块的序Ms和企图通过N个独立程序来控制并行运行的方式上是一致的。因此,从本文立场上来看,已有技术有共性的问题,属于同种类型一即基于图灵机概念来解决多机问题的类型。模型实际有N+1个序,而N个计算机的结构只能支持N个独立的序,于是出现了一个谁来支持第N+1个全局序Ms的问题。这很容易让人联想起中学代数中“N个方程不能求解N+1个未知数”的基本概念。本发明认为这就是已有技术在思维上的问题所在。

来源于结构研究角度的3*问题描述中也没有提出第N+1个全局序的问题。已有技术中对同步的习惯理解只是对N个程序,也没有考虑这第N+1个序因素。显见,已有技术的3*问题概念有偏误,忽略了流序匹配这个关键问题,而多机同步的客观效果就是在实现Ms的序。

图灵机在分布和并行新问题面前表现局限性的原因:

在图灵机定义的结构中,一个流和一个序已经完成了匹配,流序已经结合。新问题要求分别研究流和序,研究流序的匹配类型。因此,作为在流序已经匹配情况下,抽象地表现状态要素的图灵机,不能作流序要素研究的基础。

单机具备流序匹配的原因:

由于模型的N+1个序(N个局部序,一个全局序)可合并成一个序,支持了单机的流序匹配。

在单机中,图1D并行模块可相当于多进程。在单个计算机环境下,实际存在的模块的序Ms110被变换成一个“按时间排列生成的串行序”,再将各个序Si都划分成小块,然后,各个小块在同时满足模块的序Ms和N个Si的序条件下进行排列,生成一个和原来1+N个序都一致的串行序。在完成了多序合并成一个序后,再和单机结构具备的一个流实现流序Si的匹配。这个匹配是在硬件层就已经实现了的,因此,单机在硬件层就可以建模。

同时,在单机中,3*问题的环境有很大的变化。指令寻址的单机存储器代替了多机“共享存储器”。各序Si转为单机下的多进程,他们对存储器的数据读写没有多机结构参数,多序Si间的数据传送也转化为对同一个存储器地址的先写后读的顺序。因此,在单机结构中,图1D、图1E所示的令牌结构消失了,流序要素也隐入幕后。模块的序Ms也仅仅剩下一个先写后读的处理,成了一种与算法相当的智力活动,被归入了算法范畴,在形式上与计算机结构无关。这就是单机结构天然地具备的流序匹配的原因,人工的努力仅在于对模块的序Ms的处理方式(例如转化为直接赋值语句,或语法结构等)。同时,这些处理在客观上都已经把模块的序Ms作为了一种输入信息(包含在程序中),进入计算机的运行控制。因此,它能使单机从匹配性进一步进入良好的适配性,并使单机在通用性上获得成功。

已有技术中流序可匹配的模型:

在多机结构中,天然存在了N个流,可以支持N个独立的序。然而,模型实际上有N+1个序,不能匹配。但是,在已有分布和并行研究中,计算机体系结构没有引进流序要素(原来单机体系结构的研究如此)研究,却把解决问题的环境定位在“N个独立的程序+多机互联结构”的环境中,忽略了多机的流序匹配问题。

根据序Ms是模型参量原则,缺少模块的序Ms的信息输入,任何体系结构上的用户模型都是不能运行的。因此,根据N+1个流序匹配的原则,凡是已有技术中可以应用的实例,必定可以从系统中找到一个能支持全局序Ms的第N+1个“全局的流”结构。

并行系统中常用的“时间片”结构,就在运行中构成了第N+1个自驱动流。它由定时中断产生,与N个单机程序相互独立。显然,在第N+1个流序的匹配中,全局序Ms处于图1E所示的分布序状态,而时间片流是全局的,是一个可以和分布状态的Ms序匹配的全局流结构。其结果是:基于时间片流的匹配也使算法限制“在时间片内计算,然后处理同步(解决通讯问题)”的模式。模式的控制界面是“N个可编程序+一个时间片流序”。

对各流序Si中的程序精细地编程也可以实现图1E所示的Ms结构。但这时,第N+1个流是一个虚拟驱动的流,寄生在各流序Si中,并通过令牌连接。因此,第N+1个流序匹配不仅要编制N个相关的程序,而且要处理大量多机结构的参量。同时,这种模式和具体模型有关,需要单独配合方式。它可以运行,但不能供用户一般性建模。本发明认为该模式在指令层还没有达到流序匹配阶段。因此,已有技术只能指望或许能在高级语言层上创造真正独立的N+1个流序的匹配。

多机适配性不成功的原因:

首先,在多机结构中,天然存在了N个流,可以支持N个独立的序。然而,模型实际上有N+1个序。但是已有分布和并行研究中处理习惯没有变,计算机体系结构没有引进流序要素(原来单机体系结构的研究如此),把解决问题的环境定位在“N个独立的程序+多机互联结构”的环境中,忽略了多机的流序匹配问题。以至于已有技术的流序可匹配结构只能在没有正确理论和方向指导的状态下产生。

其次,“模块的序Ms是输入信息参量”是一个重要概念,缺少这个概念的体系结构研究,很难有根本性的突破。已有技术模仿单机环境下的算法处理方法,把处理序Ms的难题放在了体系结构研究之外,留给了算法或建模。这使建模的困难很大,即便匹配成功,自然产生了各种形态的序Ms特征。由于没有处理Ms的规范,当然不能生成统一的多机操作系统。因此,将Ms留给算法处理的布局是已有技术在通用性上失败的直接原因,并使已有技术的产业化企图永远是空中阁楼。

第三,在已有技术可匹配的实例中,N+1个流和N+1个序的数目已经一致,并有流序的匹配,使多机系统可以运行。在流序匹配上,研究产生了一些不同的模式,但是,所有这些匹配模式的层次和控制界面不能满足适配性需要的多样性。

已有可建模技术中的模型的序Ms的分布结构没有改进,使用户在不自觉状态下创造出来的第N+1个流,必须是一种全局+分布的流。由于在多机结构中创建全局+分布的流很困难,不得不引进一个全局参量(例如,时间或高级语言中的同步指令等),使全局的流在新参量基础上生成,同时,模型的序Ms也要为匹配这个新参量作出修正。在第N+1个流序实现和新参量相关的匹配后,原来N个程序的流序匹配也要为此作出(根本性的)变化,来连接这第N+1个(基于其他参量的)流序。其结果是系统可以运行了,系统建模也很清楚。但是,新参量限制了模型的通用性,进而失去了良好的适配性。

所有创建的第N+1个流都不能象单机那样,在硬件层、并进入指令流格式。因此,全部1+N个流序(尤其是第N+1个流序)的匹配质量是这些实际应用不能推广、普及的根本原因。

本发明认为:图1E结构发现了模型有N+1个序,需要N+1个流来匹配,但这N+1个流是不会有单机那样的天然的结构存在,需要进入人工创造的范畴。创建第N+1个流的目的是要可加载模块序Ms,并实现由1+N个流驱动完成并行模块运行的效果。

本发明进一步认为:适配性要求创造最佳特征的N+1个流序匹配方式。最佳匹配要有能力解决3*问题;同时,最佳特征的匹配是流序在多机硬件层直接匹配,并能进一步产生N+1个指令流的控制界面,实现适配性需要的“层次和能力”。

本发明的图1D和图1E,从模型分析开始,到图2A、B、C表明的基本方案,并发展为图2D、E、F,是自成一体的理论,本发明将其称之为“序网”理论。“序网”特别是指由图2A、B、C和图2D、E、F所表明的含1+N个流序的并行结构。

序网理论的作用包括:

●是至今为止,能表现“流序要素”的唯一方式。

●发现并行模块的第N+1个序。

●创建序网表达方式的N+1个流序匹配结构(可指令化)。

●创建序网表达方式的计算机结构一序网计算机。(硬件层上的流序匹配)

●在序网映射过程中,序网环境保持了并行模块的不变功能。

●在序网映射过程中,序网环境定义了分布令牌的变化结构。

在下面的描述中,将广泛采用“序网”这个名词。

为了实现适配性目标,本发明要创建一种基于序网描述方式的、有N+1个并列的流的多计算机结构,以便能容纳并行模块的序Ms输入。为此目标,本发明认为,来自模块的序Ms需要改造,多计算机结构也要变化以适应模块的序Ms,要发明一个模型和计算机结构二者都能实现的界面层。

在这样的方式下,本发明的实际步骤变得很简单:

●从模型角度修正模块序Ms的“全局序+分布序”的结构,产生一个本发明的“N+1独立序”的新模块序结构。

●从计算机结构角度实现1+N个独立的流结构,与上述“N+1个独立序”的结构匹配。

正如有图灵机和状态机的不同描述方法一样,将来也存在可以不采用序网的方法来描述Ms序的方法。在了解了需要第N+1个流来支持Ms后,也可采用其他方法来描述产生支持Ms的流结构,和其他方法来描述有支持Ms能力的计算机体系结构。本发明则采用序网结构的映射来创建这第N+1个序,使全部N+1个序都转换成能与独立的串型的流结构匹配的序。

由于这是计算机结构可以实现的,因此,从计算机结构角度,本发明就势将图2A、B、C中,序网的1+N个流序和分布令牌结构定义为“本发明的、以序网方式描述的、新计算机结构”,简称序网计算机。

从计算机结构角度,序网具备的高度抽象能力表现了全部N+1个流的相互隔离性,和1+N个流序的可指令化匹配模式,以及序网环境下的分布(数据)令牌结构等,这些都是和已有技术的重要区别,都成为本发明的序网计算机结构的关键特征。

在下面图2A到图2F的序网中,描述要从模型和计算机结构二个角度进行,序网是二者的结合面。因此,序网结构中所用的Sc、Si参量标志,既要在模型的描述中被称为序,又要在计算机结构的描述中被称为流,或者在流序结合的序网计算机中被称为流序。

本发明的目的是提供一种新的并行处理模块,该模块在模型层面上实现通用性。

本发明的另一个目的是提供一种新的并行处理方法,该方法在模型层面上实现通用性。

本发明的再一个目的是提供一种新的序网计算机体系结构。它创建了一个以1+N个流序的独立运行,并通过新指令,各自独立地控制分布结构的令牌,实现模块的并行运行结构。其中N个是常规的Si流序,一个新的、本发明创建的一致化流序Sc以一致化令牌为元件独立运行,多机互联的分布令牌结构,支持1+N个流序的合作运行。

本发明的又一个目的是提供一种新的序网计算机体系结构。它创建了一个以1+N个流序的独立运行,并通过新指令,各自独立地控制分布结构的数据令牌,实现模块的可并行结构。其中N个是常规的Si流序,一个新的、本发明创建的一致化流序Sc以一致化令牌为元件独立运行,在多机互联结构中,将数据和令牌捆绑在一起形成数据令牌,支持1+N个流序的合作运行。

本发明的又一个目的是提供一种基于多计算机结构实现序网功能的并行处理结构。它是一种用总线互联的,N个同构的模块单元。每个模块单元各包括一个独立的计算机(为了描述方便,本文以下用PC机代替),数据令牌控制和阵列模块,和一个基于Cell-Computer技术的Cell模块。并行模块具备N个PC机程序和一个一致化流序Sc(或程序化的一致化流序Pcon),分布结构的数据令牌系统支持1+N个程序的协同运行和数据传递,完成并行模块的计算功能。

根据本发明的上述目的,本发明提供的并行处理模块,包括:N个流序部件,每个流序部件包含多个源令牌和目的令牌,N为大于1的自然数,还包括一个一致化流序部件,所述一致化流序部件由一致化令牌组成;所述一致化流序部件中的一致化令牌与N个所述流序中的一个源令牌以及一个或多个与所述一个源令牌相应的目的令牌构成一个分布令牌结构,所述一致化令牌控制其所属的分布令牌进行一致化操作,当所述分布令牌结构中的源令牌值无效时,所述一致化令牌控制所述一致化流序等待;当所述分布令牌结构中的源令牌值有效时,使所述分布令牌中的所述目的令牌值有效。

根据本发明的另一目的,本发明提供的并行处理方法,其中,N个流序独立运行,所述流序包括多个源令牌和目的令牌,N为大于1的自然数,其特征在于,在所述并行处理方法中,还有一个一致化流序在运行,所述一致化流序由一致化令牌组成,所述一致化流序中的一致化令牌与N个所述流序中的一个源令牌以及一个或多个与所述一个源令牌相应的目的令牌构成一个分布令牌,所述并行处理方法包含下列步骤:

(1)每个所述流序独立运行,当所述流序运行到源令牌时,使源令牌值有效;

(2)所述一致化流序与所述流序并行运行,当所述一致化流序运行到所述一致化令牌时,所述一致化令牌控制其所属的分布令牌进行一致性操作,当所述分布令牌中的源令牌值无效时,所述传控令牌控制所述一致化序等待;当所述分布令牌中的源令牌值有效时,使所述分布令牌中的所述目的令牌值有效;

(3)当所述流序运行到目的令牌时,测试所述目的令牌值,如果目的令牌值无效,则所述流序等待;如果目的令牌值有效,则所述流序继续执行。

根据本发明的再一目的,本发明提供的并行处理模块,包括N个单元模块、一个一致化流序和一个数据令牌总线,所述每个单元模块与所述数据令牌总线连接,并通过其上的一致化流序接口与所述一致化流序连接;每个所述单元模块包括:PC机、数据令牌控制部件和数据令牌阵列,所述PC机与所述数据令牌控制部件内的PC连接模块与所述数据令牌总线相连,并通过所述数据令牌控制部件对所述数据令牌阵列进行读写操作,所述一致化流序与所述数据令牌控制部件内的多机连接模块连接,由此通过所述数据令牌总线传送数据和令牌,实现N个单元模块中的数据令牌一致化操作;所述数据令牌阵列包括数据位和令牌位,所述一致化流序发送的一致化令牌中包括有触发时序和数据令牌地址。

本发明自此开始,进入结构描述。其中一个特别之处是同一个序网结构的图示,要在序、流、或流序匹配的不同层面上出现。本发明的新颖独特的特征、使用方法、发明目的等内容在参照以下将要详细描述的实施例和相关附图中会得到很好的理解。其中:

图1A是已有技术中的共享存储器结构类型的示意图。

图1B是已有技术中联网的多工作站NOW类型的示意图。

图1C是已有技术中图灵机的模型。

图1D是一个典型的并行流程图的抽象。

图1E是多序Si互联中存在的一个模块的序Ms。

图2A示出了序网和一致化序Sc。

图2B示出了与一致化序匹配的序网计算机的流结构。

图2C示出了指令加载到图2B流结构实现图2A序网功能。

图2D是图2A序网模型中的令牌发展为数据令牌。

图2E是一个支持图2D的计算机结构。

图2F示出了指令加载到图2E流结构实现图2D序网功能。

图3A是图2D、E、F的一个结构实施例。

图3B是支持读数据指令和写数据指令的结构。

图3C是WMD指令的流程图。

图3D是RMD指令的流程图。

图3E是支持数据一致化指令操作的结构。

图3F是DCO指令的流程图。

图3G是PC读数据指令RMD的参量特征。

图3H是PC写数据指令WMD的参量特征。

图3I是数据一致化指令DCO的参量特征。

图4A是本发明的一个最佳实施例结构。

图4B是已有发明Cell-Computer的原理。

图4C是图4A的最佳实施例的另一种表达方法。

图5是一致化指令的扩充的类型。

下面结合附图,我们将进一步清楚地说明本发明的各种目的和优点。

图2A示出了序网和一致化序Sc。

图2A是对图1E所示的并行模块进行改造,以便创造N+1个序的新形式。因此,它和图1E模块的功能相同。本图表明,本发明是在序网环境下,通过结构上的映射,将本质上是独立的模块的序Ms从分布的序Si中分离出来,生成结构独立的第N+1个序Sc。全部N+1个序都转换成互相隔离的(没有多机间序传递关系的)序,产生一种模型和多计算机结构都能接受的新的1+N个独立序的界面来表现并行模块。

在序网的并行环境下的映射过程,意味着图2A和图1E所表示的并行模块功能不变。因此,本发明的模块的序Ms映射实现Sc的变化是本发明的一部分,本发明还包括各流序Si的相应变化,以及分布令牌结构的相应变化。

从图1E到图2A序网的结构转换(在模型层)如下:

(1)增加一个与各个序Si并立的第N+1个序结构,代替序Ms110,本发明称其为一致化序Sc。    

(2)一致化序Sc也用令牌来排列,本发明称其为一致化令牌201,一致化序Sc中的一致化令牌和其它序Si内的令牌结构和功能都不同。

(3)原组合令牌108结构转化为新的分布结构的令牌(以下简称分布令牌)200,以保证从N到N+1个流的结构转化中,模块的功能不变。因此,在加入一致化令牌后,源令牌205和目的令牌206的结构和功能也有相应变化。

如图2A所示,序网引入了一个一致化序Sc结构和一种新的元件一一致化令牌201(用符号◎表示)。一致化序Sc是一种仅由一致化令牌201组成的序,一致化序Sc和序S1,S2,S3都有序的特征。一致化令牌作为元件在一致化序Sc中排成序列,表示分布令牌T1,T2..的顺序。一致化序Sc运行到一致化令牌201,则控制(图2A中用符号V表示)分布令牌200内部执行从源令牌到目的令牌的传送,称为令牌一致化操作。

分布令牌200由一个一致化令牌201、一个源令牌205和若干个目的令牌206组成,它们分别嵌入一致化序Sc和不同的序Si中。其中:

(1)在序Si运行到源令牌205时,建立令牌有效标志(=1)。

(2)在序Si运行到目的令牌206时,测试令牌有效标志,并按测试结果控制Si的运行。

(3)在一致化序Sc运行到一致化令牌201时,触发分布令牌内部的一致化传送操作。一致化操作在分布令牌200范围内进行,是一个令牌(值)从源令牌205到目的令牌206的广播传送。在广播传送过程中,一致化令牌要作检测。在源令牌(=0)无效情况下,一致化令牌保持在等待状态,使一致化序Sc也等待,直至源令牌有效(=1),才结束该分布令牌的一致化操作过程,并使所有的目的令牌=1。

与图1D相比,本发明的特点是解除了源令牌和目的令牌中潜在的多机传送功能(在已有技术中,常用“写_一致化”,或“读_一致化”来捆绑令牌和多机传送操作)。使序Si对“源和目的令牌操作的结构”本地化。这是指各序Si运行到位,产生源令牌205和目的令牌206进行操作,这些操作被限定在本地结构范围,并且与令牌一致化的传送无关。这个变化为各Si进入单机编程环境创造了条件。

本发明图1E中的Ms序转化为图2C中一致化序Sc中的序的过程如下:

(1)模块分解成N个并行的序。

(2)找出连接N个序之间的分布令牌。

(3)对照Ms排出各个分布令牌的序。

(4)将分布令牌的序,转为一致化序Sc。

从图1E中分布状态的Ms映射到图2A中集中状态,是Ms中的序从分布状态到集中隔离的过程,它使Ms转变为适合于加载到流的结构Sc。同时,也是各Si和分布Ms分离的过程(Si序将不再含有Ms序片段,仅处理自身的序),实现1+N个独立的、隔离的序。上述过程是本发明的一个重要部分。它表明了以流序匹配为目的,来自模型方面的改造。

Ms转换成一个独立的序Sc,舍弃了分布Ms中所包含的多机结构参量,展现了Ms序的真正面貌,成为一种可以和流匹配的最佳结构。

在图2A完成了以流序匹配为目的,来自模型方面的改造后,本发明在图2B和图2C进一步创造以流序匹配为目的,来自流方面的改造(计算机结构设计可以实现的流)。

图2B示出了与一致化序匹配的序网计算机的流结构。

从图2A中抽去具体的源令牌、目的令牌和加载于流的序,产生图2B。它是一种支持序网,可以实现流序匹配的N+1个流结构,这就是本发明的序网计算机的部分硬件结构。其中,Sc、S1、S2、S3用虚线,表示没有序加载的流状态。为了表示流序匹配,图2B中和图2A相应的元件用相同的名称和符号,因此,Sc、S1、S2、S3在本图中都被称为流。

如图2B所示,结构具备了一致化流Sc结构、Si流结构,一致化令牌201(用符号◎表示)和一种新的元件一空令牌212(用符号○表示)。一致化流Sc和流S1,S2,S3都是流,但处于空载状态。一致化流Sc是一种仅由一致化令牌201组成的流,流Si是仅由空令牌212组成的流。空令牌也是一种令牌,其特征是一旦受到流中令牌的激发,可立即被定义成源令牌或目的令牌。一致化令牌201,可以控制(图2B中用符号V表示)分布令牌210内部执行令牌一致化操作。

分布结构的空令牌(以下简称分布空令牌)210,由一个一致化令牌201和N个空令牌212组成,它们分别嵌入一致化流Sc和每一个流Si中。其中:

(1)在流Si运行到位时,可以使空令牌212转为源令牌205或目的令牌206,并完成相应的操作。

(2)在一致化流Sc运行到一致化令牌201时,触发分布空令牌内部的一致化传送操作。一致化操作在分布空令牌210范围内进行。这是一个令牌(值)从源令牌205到目的令牌206的广播传送。在广播传送过程中,一致化令牌201要作检测。在有源令牌情况下,顺序执行。在全部是空令牌或目的令牌情况下,一致化令牌201要保持在等待状态。

和图1D相比,本发明的特点是使流Si对“空令牌操作的结构”本地化。这是指各流对空令牌212的操作,被限定在本地结构范围,和令牌一致化的传送无关。

从流的角度来看,驱动通过指令来表现是最佳的,这需要流结构提供指令系统。这些指令统称为序网指令,其结果将是用1+N组编程代表硬件结构,并与1+N个来自模型的序匹配。在分布空令牌210结构支持下,本发明设计了嵌入流中的指令来激发令牌的结构。本发明的基础指令共有三条,称之为序网令牌指令。它们是:

●一致化指令CO。

●源令牌指令SO。

●目的令牌指令DE。

一致化流Sc由一致化指令CO组成;流Si由源令牌指令SO和目的令牌指令DE组成。同时,由硬件结构支持CO指令221执行分布令牌220的一致化操作,SO指令225将空令牌212转为源令牌,DE指令226将空令牌212转为目的令牌。

图2C示出了指令加载到图2B流结构实现图2A序网功能。

本图表示在图2B结构上加载上述三条序网令牌指令来完成图2A的1+N个序的功能。为了能一目了然,特地将原来的源令牌和目的令牌符号一并画上。其中,空令牌212是一种结构存在。在没有指令激发的情况下,不起作用。

在1+N个流的驱动下,通过指令激发和定义令牌,可以实现如图2A的功能,图2A的功能前面已经描述,并且和本图中相应的标号也对应,区别在于用“流序”来代替图2A描述中的“序”即可。本发明在此不再重复描述。

显然,可以用N+1个独立的指令流来实现图2A所示序网的并行模块功能如下:S1        S2        S3        ScSTART     START     START     STARTDE(T1)              SO(T1)    CO(T1)SO(T2)    DE(T2)              CO(T2)    

      SO(T3)    DE(T3)    CO(T3)SO(T4)    DE(T4)    DE(T4)    CO(T4)END       END       END       END

(其中,空格是为了理解,各指令流的运行是连续的)

综合图2A、B、C,用流序匹配的概念来看,本发明的特征是:

(1)发现了并行模块实际有1+N个序,为满足序的独立性,必须有1+N个流匹配。

(2)对1+N个序进行映射方式的改造,创造了本发明1+N序的“独立和隔离”的序特征。

(3)创建1+N个可指令化的流,和序网映射后的1+N个序匹配.

(4)在1+N个流驱动下,加载的指令和分布令牌合作完成并行模块的运行。

(5)所有的1-4特征都在序网的并行模块环境下演变,是分布令牌结构在支持上述演变。

与图1D相比,基于流描述的图2A、图2B、图2C的结构(含三条序网指令)就是一个创新的计算机体系结构(本发明后面的实施例将给予进一步的说明),其特征是由N+1个流来驱动(已有技术图1D是N个流驱动),并通过指令来实现令牌功能。图2A--图2C创新计算机体系结构的另一个关键是用序网环境来表现新计算机结构。可体现1+N个流的并列、独立、串型、隔离和可指令化特征(已有技术中的第N+1个流往往是分布的、含有其他参量、难以用指令方式表现等)。因此,序网环境也表现了本发明的重要特征。

在应用中,基于序网计算机的建模和编程过程将是一个模型转化为序网,序网转化为三条指令的过程。序网计算机的N+1个指令流比起已有技术的N个指令流来,应该有更好的模型适配能力。

图2D是图2A序网模型中的令牌发展为数据令牌。

图2D的目标是解决3*问题中令牌参量在用户编程界面上的消隐问题。3*问题中令牌参量在先有技术中就是编程中新增加的多机结构参量,已有的并行处理技术(如NUMA技术等)花费了很大的力量来解决这个问题。本发明采用的方法是在序网N+1个流的条件下,将令牌转为数据令牌,序网令牌指令转为序网数据指令。

图2A到图2D是在保持序网1+N个序的功能条件下,作下列结构上的发展:

(1)数据和令牌结合,创建分布数据令牌230结构.

(2)一致化序Sc转化为可以用数据表示的模块数据序。

在引入数据后,进入模型,各Si的简单流或序处理能力不足,故流序Si转为程序Pi更为合适。但不是数据和令牌捆绑的必要条件。

(3)程序Pi进入多(PC)机的程序Pi307形式,一致化序Sc的结构不变。

如图2D所示实施例,模块数据和分布令牌的结合产生了分布的模块数据令牌(以下简称分布数据令牌)230。其中,源令牌205⊙转化为源数据令牌235目的令牌206①转化为目的数据令牌一致化令牌没有与数据结合,仍用符号◎表示。一致化序Sc继续是一种仅由一致化令牌201组成的流序(不含数据),一致化令牌◎元件在一致化序Sc中排成序列,表示分布数据令牌DT1,DT2..的顺序。一致化序Sc运行到一致化令牌201,则控制(图2D中用符号V表示)分布数据令牌230内部执行数据和令牌从源到目的的传送,称为“数据令牌的一致化操作”。

分布数据令牌230由一个一致化令牌201、一个源数据令牌235和若干个目的数据令牌236组成,它们分别嵌入一致化序Sc和不同的程序Pi中。其中:

(1)在PC机程序运行源数据令牌时,处理源数据和设置源令牌=1。

(2)在PC机程序运行目的数据令牌时,处理目的数据和测试目的令牌。

(3)一致化令牌201是一致化序Sc和分布数据令牌230的连接点,在一致化序Sc运行到位时,一致化令牌启动数据令牌的一致化传送操作。一致化操作在分布数据令牌230范围内进行,包括一个数据在全局范围从源数据到目的数据的广播传送,以及一个令牌在全局范围从源令牌到目的令牌的广播传送。在传送过程中,一致化令牌要检测全局传送中的令牌值。在源令牌无效(=0)情况下,一致化令牌使一致化序Sc保持等待,直至源令牌有效(=1),才结束本分布数据令牌的操作过程,有所有的目的数据和使所有的目的令牌=1。显然,在传送结构上,与图2A一样,由源和目的令牌定义了数据令牌一致化操作的信息流向。

在分布数据令牌的支持下,新的并行结构由序网一致化流序Sc和N个程序Pi构成1+N个序网流序Sc+Pi来引导(以下简称Sc&Pi),在程序对数据操作过程中,和数据对应的令牌值的处理如下:

(1)各程序Pi237独立运行到源数据令牌,则处理源数据和产生源令牌=1。

(2)各程序Pi237独立运行到目的数据令牌,则测定目的令牌和处理目的数据,并依测定结果(0或1)使本地程序停顿或继续前行。

(3)一致化序Sc和程序Pi237一样,是独立运行的,遇到一致化令牌201则启动该分布数据令牌230内数据令牌的一致化传送操作。若传送过程中有源令牌(=1),则一致化序Sc顺序进入的下一个一致化令牌,若没有有效的源令牌(=0),则一致化序Sc的运行停顿。

用序的概念来看,在图2A中,一致化序Sc和Si是同构的序,但在图2D中,序Pi和一致化序Sc有了明确的区别,Pi将包括了数据和数据的计算,并处理源数据令牌和目的数据令牌的读写;Sc没有计算内涵,依旧是仅有一致化令牌组成。他们共同支持序网进入数据计算的功能。同时,本图的分布数据令牌内的数据一致化和令牌一致化是有区别的。令牌一致化涉及序网N+1个序,数据一致化只是在N个程序间传送。其原因是序网的结构环境使一致化序中没有数据类的模型参量,表现为由“纯”序组成。

和Pi一样,一致化序Sc结构也是一个序输入。作为一致化序Sc执行的顺序,在数据和令牌捆绑结构的支持下,一致化令牌的序就是模块数据的序。和已有技术相比,生成模块数据的序是本发明的一项新的工作。一致化序Sc可以在模型层由模块数据的序Ms排列生成,并由地址来表示该序列。

与图2A相比,图2D中分布数据令牌的一个重要特征是数据和令牌捆绑在一起。这个转变对可编程性来讲有重要意义,因为,令牌是多机结构增生的参量,而不是模型的参数,在模型中不能直接识别,需要消除;而数据是模型中的参数,捆绑后,令牌可以以数据形式在模型中命名和编程,令牌值也可以和数据的读写操作联系起来(例如用于指示数据有效),从而在编程界面上消除令牌这个参量。

由于本发明用存储器阵列结构来存储数据和令牌,捆绑的含义转化为数据和令牌有相同的地址,并以地址方式和PC机程序及一致化序Sc接口。组成一致化序Sc的一致化令牌201没有数据的捆绑,但编程界面上仍可用数据令牌的序来代替一致化令牌的序。

在模型范畴内,本发明图1E中的Ms序转化为图2D中的一致化序Sc的过程如下:    

(1)(模型)模块分解成N个独立程序。

(2)找出连接N个程序间的数据(模块数据)。

(3)对照模型的Ms序排出各个模块数据的顺序。

(4)将模块数据的序,加载到一致化序Sc的流结构中。

其中,上述步骤中全部为数据的表现方式,为用户建模带来方便。

在图2D完成了来自模型方面的数据令牌改造后,本发明在图2E和图2F进一步实现来自计算机方面的改造(计算机结构设计可以实现的)。

图2E是一个支持图2D的计算机结构

从图2D中抽去具体的源和目的数据令牌,以及加载的序就产生图2E,就是本发明的序网计算机结构。它是一种支持含数据令牌的序网结构,具备了实现流序匹配的N+1个流结构。为了表示这种匹配,图2E中和图2D相应的匹配元件用相同的名称和符号。

如图2E所示,结构具备了一个一致化流Sc结构、Pi程序结构,一致化令牌201(用符号◎表示)和一种新的元件空数据令牌242(用符号表示)。一致化流Sc和程序P1,P2,P3都有流的特征,但处于空载状态(用虚线表示)。一致化流Sc是一种仅由一致化令牌201组成的流,程序Pi是仅由空数据令牌242组成。空数据令牌也是一种数据令牌,其特征是一旦受到程序中指令的激发,可立即被定义成源数据令牌或目的数据令牌。一致化令牌201,可以控制(图2B中用符号V表示)分布结构的空数据令牌(以下简称分布空数据令牌)240内部执行数据令牌一致化操作。

分布空数据令牌240,由一个一致化令牌201和N个空数据令牌242组成,它们分别嵌入一致化流Sc和每一个程序Pi结构中。其中:

(1)在程序Pi运行到位时,可以使空数据令牌转为源数据令牌235或目的数据令牌236,并根据令牌类型,建立相应的操作。

(2)在一致化流Sc运行到一致化令牌201时,触发分布数据令牌内部的一致化传送操作。一致化操作在数据令牌240范围内进行,是一个数据和令牌(值)从源数据令牌235到目的数据令牌236的广播传送。在广播传送过程中,一致化令牌要作源令牌有效性检测。在全部是空数据令牌或目的数据令牌情况下,一致化令牌要保持在等待状态。

在分布空数据令牌240的支持下,并行操作由Sc&Pi来驱动,并通过程序来激发令牌的操作。本发明是通过程序来激发数据令牌的方式是建立指令。在令牌作为数据有效标志的情况下,本发明建立的激发数据令牌的指令有三条,称之为序网数据令牌指令。他们是图2C所述的三条指令CO、SO、DE在数据令牌环境情况下的转化。

●数据一致化指令DCO(代CO)。

●源数据令牌指令DSO(代SO)。

●目的数据令牌指令DDE(代DE)。

在令牌作为数据有效标志的情况下,由数据的读写操作来决定了目的或源令牌,因此,序网数据令牌指令进一步转化为序网数据指令:

●数据一致化指令DCO。

●写(DT区)数据指令WMD(代DSO)。

●读(DT区)数据指令RMD(代DDE)。

其中,用数据一致化指令DCO组构一致化流Sc;用写数据指令WMD、读数据指令RMD组构各Pi流。同时,由硬件结构支持DCO指令251执行分布数据令牌250的一致化操作,WMD指令255将空数据令牌242转为源数据令牌,RMD指令256将空数据令牌242转为目的数据令牌。显而易见,新的三条序网数据指令是和数据相关,与令牌在表现形式上无关,是模型层可以识别的。

本发明特别指出,上述三条取代数据令牌的序网数据指令是基本形式,如果用RMD来代替DSO,用WMD来代替DDE,也一样为本发明所允许,但此时令牌值不能表示数据是新写入的有效数据。

图2F是在图2E的计算机结构基础上,在Sc&Pi上加载上述三条序网数据指令来实现图2D的并行模块功能。为了能一目了然,特地将原来的源数据令牌和目的数据令牌符号一并画上。其中,空数据令牌242是一种结构存在,在没有指令激发的情况下,不起作用。

在Sc&Pi的驱动下,通过指令激发和定义数据令牌,可以实现如图2D的功能。图2D的功能前面已经描述,并且和本图中相应的标号也对应,区别在于用“流序”来代替图2D描述中的“序”即可。本发明在此不再重复描述。

显然,可以用N+1个独立的指令流来实现图2F序网的并行模块功能。如下:P1          P2          P3         ScSTART       START       START      STARTRMD(DT1)                WMD(DT1)   DCO(DT1)    WMD(DT2)    RMD(DT2)               DCO(DT2)

        WMD(DT3)    RMD(DT3)   DCO(DT3)WMD(DT4)    RMD(DT4)    RMD(DT4)   DCO(DT4)END         END         END        END

(其中,空格是为了理解,各指令流的运行是连续的)

从已有技术的3*问题角度来看,本发明的处理是要在原来寻求同步的各种因素中,按(纯)序的结构,强行抽取出一个序来,余下的因素再重新组构,重新组构后还要求能一揽子解决3*问题。这看似更困难了,但实际上是简化了。因为本发明抽取出的序在匹配了一个流的驱动后,(作为已知条件的输入)又回来参与了3*问题的解决。这是在N+1个序信息满足条件下、再来解决3*问题的新方式。在图2D-F的描述中,已经表明了本发明一揽子解决已有技术中的3*问题的方法如下:

(1)数据的有效性判断就是检测目的数据令牌中的令牌值。

(2)创建指令,嵌入Sc&Pi中,指令参数是模型可以识别的模块数据。指令执行转为硬件结构处理,产生源数据令牌、目的数据令牌、和数据令牌一致化的操作。

(3)Sc流序驱动引导N个程序的同步,每一个分布数据令牌都是同步点。同步由一致化令牌、源令牌和目的令牌自动处理,与用户编程无关。

显见,本发明表明,在分布和并行领域,除了已有技术的3*问题以外,还有一个更重要的流序匹配的问题。其中,3*问题是多机结构产生的,第N+1个流序匹配是建立多机结构下需要的新信息输入。本发明是在序网的描述方式下,通过优先处理第N+1个序,然后再解决3*问题,而一举成功。

在应用中,基于序网计算机的建模、编程将是一个模型转化为序网,序网转化为三条序网数据指令的过程。序网计算机的N+1个指令流比起已有技术的N个指令流来,应该有更好的模型适配能力。而数据令牌的结构使所有的令牌参量都可用模型数据参量来表现。

在图2D到图2F中,充分表现了本发明序网计算机的下列优异结构特征:

●程序处理模块数据时,是共享存储器的编程模型。

●全部N+1个都是单机程序。

●序网框架是通用结构,没有多机结构参量。

●全部编程是模型参量(没有令牌结构)。    

●N+1个指令流的控制界面(和模型适配)。

从图3开始,序网计算机将从序网的环境转入物理结构。其中,1+N个流序匹配已经完成,并且匹配的流序变成了众所周知的计算机的基础结构一程序。因此,在物理结构层,流序问题在过去的计算机专利中没有,也无须描述。在这样的情况下,本图的序网计算机实施例结构是在确认本发明的1+N个流序已经匹配(图2D-图2F)条件下,实现分布数据令牌的结构,也就是如何实现三条序网数据指令的设计。具体地说,是用指令表现源数据令牌(图3B、C)、目的数据令牌(图3B、D)+中断、以及一致化令牌(图3E、F)的硬软件结构。同时,由于在本实施例中流序已经匹配,表示序网是模型N+1个序和计算机结构N+1个流的共同界面,在引用图2中同一个Sc,Si等符号时,改用“一致化流序Sc”,“流序Si”,“N+1个流序”方式来描述。

另一项重要的结构特征是本发明实施例的多计算机结构将由N个同构的模块组成(而不是N个模块能同构,第N+1st结构模块不同),并要在这样的结构下实现N+1个流,及其流序的匹配。这是本发明对序网计算机结构进一步发展的一个重要的限制和约束,这也使得本实施例的难度要比用N+1个计算机模块来实现的难度更大。本发明在图3所示的实施例结构中没有违背这一点,而在图4的实施例结构中将非常直观的展现出来。

图3A是图2D、E、F的一个结构实施例。

本实施例是在图2D-F所示的、具有数据令牌捆绑结构的、在Sc&Pi驱动下并行运行的、基于现有多计算机结构的实施例。其特点在于实现源令牌、目的令牌和一致化令牌的指令和物理结构。

在实现序网功能的同时,本发明除了考虑上述同构性,还有考虑兼容能力等与通用性有关的指标,使得结构适合于超大规模电路集成,使目的令牌中断可以进入操作系统管理等有利于用户实现习惯编程的特色。

本实施例结构包括一个全局共享的时钟CLK318、一组全局的DT总线319和全局的一致化流序Sc311,N个相同结构的单元模块399连接到上述全局结构上,是典型的分布结构。其中,DT总线319包括数据D(例如32位)总线和令牌T(例如1位)总线。

一致化流序Sc311送出相同的信息,经各个317到数据令牌控制部件DTCD310。单元模块399包括一台PC计算机315、一个数据令牌控制模块DTCD310和一个数据令牌DT阵列312组成。DT阵列312用存储器阵列结构,包括数据位(例如32位)和令牌位(例如1位)。DT阵列312可以用市售的单片封装的双口存储器元件,也可用通用的存储器,在DTCD310部件内建立时分多路结构。

DTCD部件310有二个外部的控制输入口。一个是与本地PC机的接口,DTCD模块310以PC机的(内存或外设)总线规范316和PC机315连接。另一个是与全局的一致化流序Sc的接口317,它接收代表数据一致化指令的地址信息和触发时序,然后通过在DT总线319上传送数据和令牌的操作,实现分布控制下数据令牌的一致化。

数据令牌阵列312有二个读写数据通道。一个由PC机315指令控制,它经过数据令牌控制模块DTCD-P313,完成PC机对DT阵列312中的数据读写。另一个受一致化流序311控制,本地DT阵列312,经多机连接模块DTCD-X314,再经DT总线319,和其他单元实现全局连接。DTCD-P313和DTCD-X314之间需要有时分控制,协调对DT阵列312的读写。

数据令牌阵列312的结构特点是数据和令牌共享一个地址,并在操作上关联。来自PC机对DT阵列312的读写的寻址是由各PC独立定义的,其中,数据位的操作经DTCD-P313和PC机连接,使在PC表现为总线读写模式。但是,令牌位的读写内容在DTCD-P313中处理,不与PC机直接交联。DTCD-P313根据PC读写(DT阵列312)指令内隐含的源或目的(数据令牌)的定义,在内部对令牌的值进行处理,完成图2D中源数据令牌和目的数据令牌的功能。

来自一致化流序Sc311的数据一致化指令参量包括触发和数据令牌地址,经317实现全局并发,并由DTCD-X314结构转换为对各数据令牌阵列312分布的寻址,以及分布的控制。通过DT总线319上的合作,分布控制实现在全局的数据和令牌之间,完成多机间“读一传送一写”的广播操作,即数据令牌的一致化操作。

本实施例结构和序网结构的对应关系:

PC机中用传统的数据读写指令格式,创建读写DT阵列312的专用指令。DTCD-P部件313在根据指令读或写处理数据通道的同时,通过处理DT阵列312中的令牌T实现源和目的数据令牌的结构。其中,源数据令牌结构是由DTCD-P313控制,在指令WMD写DT区时,同时写同地址令牌=1;目的数据令牌结构是由DTCD-P313控制,在指令RMD读DT区时,同时测试同地址的令牌。若令牌无效(=0),则送出中断信号324到CPU,再由中断程序来处理PC机程序使实现重读。因此,目的令牌实际是由DTCD-P313硬件和中断程序一起组成的。当然这个中断历程是各数据令牌共享的,要进入操作系统,对用户编程透明。各机读写DT区的指令是异步的,由各单元内部结构完成。

一致化流序Sc311中创建数据一致化指令DCO,能并发地经过317送出地址,来全局指定一个分布数据令牌的一致化操作。各单元的DT阵列312的同一地址表示一个分布数据令牌,DT区的容量是系统分布数据令牌的最大数目,各分布数据令牌的传输通道是共享的DT总线319。数据一致化的操作由全体DTCD-X314同步的接收来自317的信息后,各自独立控制,并在DT总线319上实现合作,完成由源数据令牌到目的数据令牌的传送。

本实施例结构实现序网的功能:

在图2E、F中的序网由Sc&Pi独立驱动,并依次处理一个个分布的数据令牌208。本实施例中,N个程序由PC机程序构成,“1”由一致化流序Sc实现。PC机程序在读写DT阵列312的过程中,实现源令牌和目的令牌的处理;Sc则顺序发出一个个全局的地址,和时序触发信息(相当于数据一致化指令),地址定义了分布数据令牌,在共享时钟的节拍下,一个个地实现分布数据令牌的一致化操作。

源数据令牌和目的数据令牌是分布数据令牌一致化操作中的概念。对编程来讲,分布数据令牌就是,也只能是一个模型数据,程序只处理数据的读和写。因此,本发明建立用数据读写的操作类型来确立源令牌和目的令牌的结构,并使对令牌的操作由数据令牌模块DTCD310产生。这样,对用户编程屏蔽了源和目的概念。用户在编程中可不考虑令牌,产生良好的用户可编程性界面。具体运行过程如下:

(1)PC机程序运行到写数据位置,将数据送入本地DT阵列中指定的地址,并指定同地址捆绑的令牌为源令牌,建立源令牌=1,可表示数据有效。

(2)PC机程序运行到读数据位置,指令在本地的DT阵列上指定地址,读入该数据,在读的同时指定同地址捆绑的令牌为目的令牌,对该目的令牌进行检测。若是令牌无效,则产生一个中断(或Wait),再由中断程序处理重读,以保证计算的正确性,构成目的令牌。

(3)本发明建立一致化流序Sc311和数据令牌模块310的接口。这是一个并发的地址输入口317的简单结构形式。每一条数据一致化指令通过发布一个新地址表示,本发明用时钟作为数据一致化指令的执行周期。    

数据一致化指令运行到位,产生数据一致化操作,所有单元的DT阵列都被用同一个地址寻址,数据和令牌同时以广播方式从“源”机经过DT总线319送到“目的”机。在传送过程中要对源令牌进行检查,以确认传送数据的有效性。对无源令牌(源令牌无效)情况,则在该数据一致化指令上等待,直至源令牌出现。

在分布计算模式下,分布在各DT阵列312中同一地址的存储结构被用来定义成一个数据,产生了数据一致化的时间差问题。由于集中式的共享存储器结构中有一个系统数据对应一个存储器物理地址的特点,使得数据一致性研究的习惯目标是消去存储器阵列分布后产生的各地时差。但本发明从承认分布结构必有时差出发,在保证数据正确性条件下,不仅不去减少时差,相反,利用时差环节创建了表示数据一致化操作的数据一致化指令。因此,可以这样认为,本发明对(先有技术认为功能上有利的)集中式的共享存储器结构反而不适用。

一个数据一致化指令控制序网并行运行的节奏的功能如下:

数据令牌系统的结构支持由数据一致化指令控制的全局运行停顿模式。当一个数据一致化指令没执行时,同地址的读数据指令就得不到令牌,使任何对目的令牌的测试都不能成功。于是所有的PC机程序都停顿在各自的读数据指令上。这是在用PC机对本地读数据指令的令牌测试实现同步等待的方法外,序网具备的另一种控制全局运行节奏的方式。

实现序网功能的最小指令集:

基于序网功能的最小序网令牌指令集是SO、DE、CO三条。

进入计算机结构后,由于计算机结构下的指令扩充能力很大,必然会产生很多新的指令,本发明指出基于数据描述方法的,最基本的指令类型为在图2E中描述过的三条序网数据指令:

●读数据指令RMD

这是PC机的新指令,代表目的数据令牌。指令包括PC读DT阵列312的地址参数,读控制信号,并通过DTCD-P模块313建立数据传输通道。目的令牌检测令牌,并由DTCD-P模块313完成和CPU的中断324连接,中断程序处理RMD指令的重读。

●写数据指令WMD

这是PC机的新指令,代表源数据令牌。指令包括PC写DT阵列312的地址参数,写控制信号,并通过DTCD-P模块313执行数据写入DT阵列312的操作。源令牌写令牌T=1,由DTCD-P模块313完成。

●数据一致化指令DCO

这是一致化流序Sc的指令。指令包括全局DT阵列312的地址参数和触发时序,并通过各DTCD-X314模块的合作,执行将令牌有效的源数据令牌的读出,写入到该分布数据令牌的目的数据令牌中去。

上述指令运行格式,表示在指令启动后,写数据指令、读数据指令和数据一致化指令的处理都是用硬件来实现的。其中,写数据指令和读数据指令是各单元的本地操作,数据一致化指令是一项全局的合作。

用最小指令集来描述序网的功能和在图2F中的描述一致,不再重复。

从全局编程角度,一个分布数据令牌250被视为一个数据,因此,图3A系统对DT数据是一个共享存储器的编程模型,PC机的程序以地址方式对数据进行读写,数据的序(即Sc的序)也由用户提供。

图3B是支持读数据指令和写数据指令的结构。

这是PC315经过DTCD-P模块313,和数据令牌阵列312之间的本地操作,其功能为完成序网中源令牌的产生和目的令牌的测试。

DTCD-P模块313包括地址处理模块323、读写通道处理模块322和令牌处理模块321。其中令牌处理模块321向PC机送出中断请求信号324。

当DTCD-P313,经总线316连接,收到一条来自PC机的WMD指令后,读写通道模块322控制将经总线316来自PC机的信息(地址,数据和写操作)适当处理后,转换为DT阵列312的地址,数据和写控制,并经398执行对DT阵列312的写数据操作;同时,令牌处理模块321根据WMD指令,产生“1”信号,经398作为写入DT阵列312令牌T的值。根据不同的结构情况,地址处理模块323可以作地址寄存,也可不用。

当DTCD-P313,经总线316连接,收到一条来自PC机的RMD指令后,读写通道模块322控制将来自PC机的信息(地址,数据,和读操作)实时地转换为DT阵列的地址,数据和读控制,并经398立即执行对DT阵列312的读数据和读令牌操作。其中,数据部分经316被转送上PC机的数据总线,令牌T的值送令牌处理模块321;令牌处理模块321收到从DT阵列312读出的令牌值后,立即检测令牌。若令牌有效,则指令结束;若令牌无效,则向PC机发出中断信号324,由中断程序来完成目的令牌测试后的处理。

图3C是WMD指令的流程图。

PC写DT阵列312的指令WMD建立源数据令牌。

WMD指令的流程图建立了源令牌。步骤305是PC机程序进入一条写数据指令WMD,步骤306是DTCD-P313接受一条WMD指令后,建立(写入)令牌=1操作,并有步骤307执行写数据到数据令牌阵列312,然后,步骤308结束本指令。

图3D是RMD指令的流程图。

PC读DT阵列312的指令RMD产生令牌检测,加上中断服务程序后,组成目的令牌。

根据图2D的原理,程序应该在得到对目的令牌检测成功信息之后才能继续运行,否则程序应该停顿,等待有效令牌。目前能使计算机程序停顿的机构有“WAIT(或READY),中断,和HOLD”。显然,今后还可以创造专用的目的令牌停顿机构,本实施例描述利用现有的中断的处理方式。

RMD指令的流程包括目的令牌检测和中断服务程序。步骤331是PC机程序进入一条读数据指令RMD,步骤332是DTCD-P313接受一条RMD指令后,在执行读数据的过程中,同时对同地址读出的令牌进行检测。令牌有效则进入步骤337实现PC的读数据操作,并顺序进入步骤333的下一条PC机指令。令牌无效则产生一个硬件中断334。步骤335是该中断程序的功能框图,其功能是将程序返回到产生中断的那一条读指令步骤331,以便在中断返回336后,能进入步骤331,执行重读操作。

另一个与利用中断实现多PC机程序同步效果一样的方法是利用CPU的等待(Wait)信号。这是将测试令牌的结果和CPU的等待信号连接。它比中断更快,适合于高速并行计算。

由于中断的目的就是指令计数器的数值返回,今后,在CPU可以重新设计的条件下,RMD结构可将步骤331、332、335在一条指令内完成,而不再进入中断。

至此,本发明已经描述了新体系结构支持用户PC机上编程习惯的两点措施,

(1)数据和令牌同地址的存储器结构,并创建用PC机指令的“读写操作”来建立和处理令牌。

(2)用中断程序来处理令牌无效事件,并使中断处理程序进入操作系统范畴,无需用户编程处理。

它们既实现了源和目的数据令牌的设计,又使用户在PC编程时,没有令牌这个非模型的参量。

图3E是支持数据一致化指令操作的结构。

这是各数据令牌阵列312,经DT总线319传送数据和令牌的、多机间的全局操作,其功能为完成全局各数据令牌阵列312中,同地址的数据令牌一致化操作。由于各单元的结构图是一样的,本图只显示一个单元内的结构。

一致化操作的结构由DT总线319,各单元模块中的DTCD-X314模块和数据令牌阵列312组成。DT总线319包括数据线和令牌线。各单元的DTCD-X模块314包括地址处理模块340,读写通道处理模块342和令牌处理模块341。其中令牌处理模块341向地址模块340和通道处理模块342送出检测信号345,346。

数据令牌的一致化操作是由数据一致化指令发动的全局操作。但是,全局操作的控制是由全局的DTCD-X模块314各自独立地控制,再实现合作的。具体的讲,它是在各DTCD-X模块314独立控制下,分别对总线319送数据或取数据的合作方式;同时,各DTCD-X模块314单元对各自的DT阵列312执行读或写的操作。依靠这些读和写操作的相关性,实现数据令牌从源到目的一致化传送,完成图2F中,分布数据令牌250内部的一致化操作功能

数据一致化指令的操作是否成功是指一致化传送中的令牌是否有效,因此,在广播过程中要测试319中T总线上的信息,它由各DTCD-X模块314独立检测;必须是在检测到令牌有效后,各DTCD-X模块314才一起结束本条数据一致化指令,由一致化流序Sc管理进入下一个数据一致化指令。

由于在DT总线319上的工作方式和传统的总线Master-Slaver方式不同,本发明的分布控制实现合作的方式对同步要求比较严格。本发明结构除了有共享信息以外,一个共享的时钟CLK318分别送各DTCD-X模块314。

当各DTCD-X模块314同时收到一条来自一致化流序311的DCO指令发出的地址后,地址处理模块340锁定该DCO指令中的地址参数,开始了一个数据一致化指令的全局数据令牌一致化操作。一致化操作分两步,第一步由地址处理模块340将该地址经398送DT阵列312,并执行读操作,读出的令牌信号送令牌处理模块341,数据送读写通道模块342。令牌处理模块341在得到本地的令牌信息后判别,若令牌无效,则向读写通道模块342发出本地是目的机信息346=0,若令牌有效,则向读写通道模块342发出本地是源机的信息346=1。

第二步,由各单元的读写通道模块342控制,若是源机,则将第一步从DT阵列312读出的数据令牌送DT总线319;若是目的机,则从DT总线319读入数据令牌,经过读写通道模块342,并由读写通道模块342附加写操作控制,送DT阵列312。同时,从DT总线319读入的全局令牌T,再送令牌处理模块341。令牌处理模块341对T总线上的令牌值立即进行判别。若T=1,本数据一致化指令有效、结束,地址处理模块340经343通知一致化流序Sc311,地址处理模块已空;若T=0,本数据一致化指令无效,要重复执行,直至出现T=1有效的结果。

在整个一致化操作过程中,地址处理模块340的地址输出不变,各单元的DTCD-X314都是独立操作,但产生良好的合作效果。其原因在于在第一步,起始于Sc的DCO指令的同步发动,第二步由于全局的T总线上的信号一致,使判断和处理结果也是一致的。另外,一个共享的时钟CLK318是使各DTCD-X模块314操作节拍一致的关键。

图3F是DCO指令的流程图。

由于各单元的流程结构图是一样的,本图只显示一个单元内的操作流程。

步骤350是一条数据一致化DCO指令。DCO发出一个全局共享的地址来指定数据令牌,并开始一致化操作。步骤351是各单元依据输入地址,自身产生一个读DT阵列312的操作,读出本地DT阵列312中该地址的数据和令牌。其中,数据存放备用,令牌进入步骤352检测,检测的结果被用作定义第二步全局合作实现一致化的源或目的。步骤353是步骤352检测中令牌有效的分支,使它在第二步过程中成为源,一致化操作中源的操作就是将刚才保留的数据和令牌T(=1)送上DT总线319,并进入步骤358,在本单元结束本条一致化指令。步骤354是步骤352检测中令牌无效的分支,使它在第二步操作中成为目的,一致化操作中目的的操作就是从DT总线319上读入数据和令牌,并进入步骤355对读入的令牌进行检测,检测的结果又产生二个分支,步骤356是步骤355检测有效的分支,表示一致化中有源机送出,一致化运行正确,因此,步骤354读入的数据和令牌(=1)要写入本单元的DT阵列312,然后,进入步骤358,在本单元结束本条一致化指令。步骤357是步骤355检测无效的分支,这个结果表示各单元没有源机,本一致化操作周期是空操作,需要重新做一致化。因此,保留地址不变,通知Sc不接受下一条数据一致化指令DCO,全局转入步骤351,开始本条一致化指令下的又一个一致化操作周期。因此,一致化指令的实际操作周期数是不确定的。

本发明的1+N流序具备了可指令化的特征,这是和也有1+N个流序的已有技术的关键区别。正是由于序网的描述环境表现了一种独立和隔离的流序环境,才产生一致化令牌的可指令化效果。在下面的图3G到图3I中,本发明进一步以指令参量及其变化方式来描述序网数据指令执行过程,以便提供一个更为清晰的本发明结构特征。

图3G是PC读数据指令RMD的参量特征。

对PC编程来讲,RMD指令功能是在指令结束,有一个来自本地的DT阵列312的有效数据读入PC指令指定的寄存器或内存。在CPU不方便改动的情况下,只能是一个常规的总线读数据格式。如图所示,RMD指令输出的总线信息(如图所示)包括地址,数据和读,其中,地址是用于对DT阵列312的寻址,数据是从DT阵列312读出的,读是控制类型。这些信息要由DTCD-P模块313接收,并转换为具体的执行信息。

DTCD-P模块313结构执行该指令时,分为数据执行和令牌执行两部分。在数据操作部分,指令信息被原样地转换为DT阵列312的地址,数据和读控制信息,并执行。在令牌操作部分,地址用于寻址,读出令牌,但指令的读信号在完成读数据令牌的同时,又被译成目的令牌信息。目的令牌信息的操作包括对读入的令牌进行检测,并将检测=0和中断连接起来,由中断程序完成进入重读的处理。

图3H是PC写数据指令WMD的参量特征。

对PC编程来讲,WMD指令功能是在指令结束,有一个PC输出的数据写入本地的DT阵列312的存储器,并建立数据是有效的标志。在CPU不方便改动的情况下,只能是一个常规的总线写数据格式。如图所示,WMD指令输出的总线信息包括地址,数据和写,其中,地址是用于对DT阵列312的寻址,数据是来自PC机,写是控制类型。这些信息要由DTCD-P模块313接收,并转换为具体的执行的信息。

DTCD-P模块313结构执行该指令时,分为数据执行和令牌执行两部分。在数据操作部分,指令信息被原样地转换为DT阵列的地址,数据和写控制信息,并执行。在令牌操作部分,地址用于寻址,写入令牌,但指令的写信号在完成写数据令牌的同时,又被译成源令牌信息。源令牌信息的操作是写入令牌的值=1。   

图3I是数据一致化指令DCO的参量特征。

如图所示,指令DCO面对编程界面交联的信息只有一个地址信息,用于对DT阵列312的寻址,定义出执行一致化的分布数据令牌。这个地址信息由各DTCD-X模块314接收,并各自转换成具体执行的信息。但事实上,DCO指令还隐含着一致化操作的源机类型。在本实施例中,隐性的源数据是由令牌的有效位(=1)来决定的。

本发明(隐含)的源类型定义了在数据令牌一致化操作中,各DTCD-X模块314的操作流程分二步进行。第一步是各DTCD-X模块(如图所示)产生了读数据和检测令牌的操作。读入数据暂存,各自检查读入令牌的有效性,并根据检查定义出(供第二步一致化操作的)源或目的。期间全局地址信息用于寻址。第二步是一致化传送,若第一步定义为源,DTCD-X模块控制向DT总线319送出数据令牌。若第一步定义为目的,DTCD-X模块控制从DT总线319取数据令牌,并用全局地址寻址,(如图所示)产生了写数据令牌操作。同时,第二步中再次检测令牌。再次检测的令牌是来自T总线的全局信息(各DTCD-X模块314可以收到相同的令牌值),令牌值表示这次一致化操作是否有源机存在,可作为判断数据令牌一致化成功的标志。各DTCD-X模块314(如图所示),根据再次检查的结果决定重复再来,或结束一致化操作。

本发明的描述是在已有的计算机结构上实现,例如设置DT区位置、扩充指令方式、模块插入PC总线方式、利用中断来实现目的令牌等结构。对CPU芯片设计,以及计算机设计人员来讲,基于本发明的原理,在各部件和计算机的连接位置上作改动(例如DT区建立在CATCH层、指令扩充在CPU内直接实现等)是可以理解的。

尽管一致化流序Sc311的结构是流序,表明序网并行模块对创新的第N+1个一致化流序的要求很低,但本发明认为需要将它进一步发展,进入程序的结构。一致化流序Sc311进入程序结构,使其有可灵活编程的能力,在应用中就是将静态的,固定的一致化流序Sc转为可以动态可变化的一致化程序,极大地发展了模型和计算机之间的适配能力。同时,一致化程序的引入,也支持了序网的封装特征和可被中断的特征。

为了建立一个既具有分布结构、又有单个程序特色的一致化流序结构,本发明引入一个先有发明(中国专利号86106695、美国专利号4975834)技术(以下简称为Cell-computer技术)来支持一致化流序Sc向程序化发展,并产生了图4A所表示的一个本发明的最佳实施例结构。

如前所述,本实施例继续坚持N+1个程序要在N个同构模块的结构下产生的特色。

图4A是本发明的一个最佳实施例结构。

最佳实施例是图3A结构和Cell-Computer技术的组合。新实施例是在结构上用N个Cell组成的分系统400,取代图3A中的Sc311结构组成。分系统400中的各单元402通过317和N个DTCD模块310相连,并共享一个时钟318。它在功能上分二个部分,分系统400承担起一致化流序Sc311发出数据一致化指令的功能,它按一致化流序Sc发动数据一致化指令,经过317进入DTCD310,然后,由图3A所示的结构完成分布数据令牌的数据令牌一致化工作。

已有发明Cell-Computer特有的CECO指令控制送出一系列有序的数据,作为向数据令牌控制模块310的输入地址序列。地址序列经317进入DTCD-X模块314。CECO指令可以控制各个CELL402同节拍的并行发送,各DTCD-X模块314就能并行地接收到地址参数。每发送一个地址参数引发一个数据令牌的一致化操作,相当于一个数据一致化指令。

从序网的角度来看,分布结构的Cell-Computer400合作完全可以起到了一致化流序Sc的作用,而由CECO指令组成的Pcon程序的可编译和调度能力可以支持了序网一致化流序Sc的发展,满足更为复杂的各种应用需求。和单机程序相比,Pcon程序保持了单机程序的结构模式,具备了转移、嵌套,中断等程序特征,并足以满足序网一致化流序Sc需要的简单的顺序特征。

本发明引入Cell-computer技术,其目的是建立一种结构上是分布的,运行上是串行的程序结构。它不仅要能满足序网对一致化流序Sc结构的功能要求,还能进一步把一致化流序Sc从简单的流序结构发展到程序化Pcon结构。

CeLL经317送出地址序列的结构是多样化的,可用CECO指令直接向数据令牌系统输出地址序列的模式,也可用经过IO转换口的外部设备模式。

图4B是先有发明Cell-Computer的原理。

为了便于理解本发明,本专利将先有发明Cell-Computer的原理简述如下:

先有发明Cell-Computer是一种由多个同构单元CELL模块402、通过CECO总线401互联的系统。每个CELL模块402包括一个CPU模块403、本地内存模块406(407)、和CECO总线401连接的窗口模块404(405)、以及本地的IO可扩充接口模块408。内部模块通过传统的计算机内总线409互联。各Cell单元402共享一个时钟CLK318。

先有发明Cell-Computer系统在分布结构下支持一个独特的串型CECO(多机)指令和程序,系统特征有三:    

(1)多CPU 403共享一个CECO程序码。

(2)该CECO程序的机器码驻留在一个计算机模块的内存(例如406)中。

(3)用户也只要编写一个串行CECO程序。

先有发明的Cell-Computer系统的原理是:

在基于CECO总线401连接的系统中,由外部电平来指定一个模块402为首机(图中用文字标明),其余是从机。各CPU402在同步的状态下运行CECO指令。CECO指令由原来的单机指令改造而来,改造的层次在指令的机器周期。

指令改造的规则是:在指令的机器周期内,各CPU403都共享源于首机指令计数器寻址的字节。图中显示了一个这样寻址的字节的运行路径,它从首机存储器406读出、送首机CPU403,同时,经首机窗口404、CECO总线401、进入各从机窗口405,再进入从机的CPU403。

指令改造的规则使Cell-Computer在结构上有共享首机指令计数器寻址的字节的机制,这就是序网所需要的既是分布结构、又运行在一个串行程序控制下的机制。本发明引入这种CECO指令,其目的是建立一种结构上是分布的,驱动流仍是串行的程序结构。它不仅能满足序网对一致化流序Sc结构的功能要求,还能进一步把一致化流序Sc从简单的流序结构发展到程序化结构Pcon。

图4C是图4A最佳实施例的另一种表达方法

本图4C和图4A的结构和编号完全一致,但是,在描述方式上突出了本实施例结构中的二种结构模块特征。

(1)N个同构的分布模块410。

它们共享一个时钟CLK318,并和CECO总线401和DT总线319互联,同时分别和本地的一个计算机(例如PC机)连接。模块410包括一个Cell402,一个数据令牌控制DTCD310和一个数据令牌DT阵列312。

本图充分地显示了本实施例的实际应用结构。模块410可以作为PC机的一块插卡,或其他连接方式,经PC总线316和PC机连接。对PC机而言,总线316可以是ISA、PCI总线、或内存总线等。在N个插卡410和N个PC机315连接后,N个插卡410之间再用新的总线(由401和319合并而成)互连。一个共享时钟318连接到每一个插卡410上。

这样一种最简单的结构在外观上和一般的互连卡等几乎一致.但它具备了1+N个程序流,其中,有N个CELL402合作形成的1个程序流Pcon(代一致化流序Sc)、和N个PC机的N个程序流Pi,具备了数据令牌的处理功能,并能实现本发明序网模式的并行模块运行。

显然,将本实施例所显示的并行总线(由401和319合并而成),转换成串型方式以减少连线的数目,是很容易想到的。在串行总线的方式下,全局仍具备序网1+N的并行模块结构,其设计和实现在现在的技术条件下,也是可行的。

本实施例同样显示了410模块的同构性能,它适合于芯片级的集成,从而使本发明能在芯片集成能力的不断发展过程中,具备一个价格下降和性能上升的特征。

(2)由于超大规模集成技术的发展,整个PC机集成在一个芯片内的目标正在接近成功的过程中。本发明的另一个前景是模块410和PC机315被集成在一个芯片中,形成模块411,其中,410模块将以很小的面积和单片PC机组合,为单片PC机带来标准的多PC机扩展口,数目系列的资源方式,和减少了的集成块外部引脚(Pins)等一系列单片PC机需要解决的问题。在大圆硅片上直接实现这样的新单片结构时,利用本发明的多机结构,实现在生产线上的自动测试等需求。

目前简易的单片处理机已经流行。本发明的另一个应用前景在于进入象8051等这类单片机的内部结构,使可以形成方便、廉价和高效的多单片机系统。形成用户无论是需要增加IO接口,增加存储器,或增加并行性,都是加一片这样的单片机的扩展模式。

本发明指令系统的扩充:

指令本来就是计算机结构中最容易扩充的结构层。序网计算机结构的优势之一就是将控制层面建筑在单机的指令层面上,因此,指令集的扩充也就自然产生了。本发明的序网指令集包括PC端的指令和Cell端的指令两种类型。

根据本发明的原理,图2A、B、C实施例指出了CO、SO、DE三条序网令牌指令,表示了一个基于令牌的最小序网指令集。图2D、E、F实施例又指出了DCO、DSO、DDE三条序网数据令牌指令,表示了一个基于数据令牌的最小序网指令集。再转换成三条数据格式的RMD、WMD、DCO序网数据指令,表示了一个适用于建模的最小序网数据指令集。其中二条是PC指令集的扩充,一条是CECO指令集的扩充。本发明指出今后新的扩充的序网指令集将以上述最小指令集为基础,并将包含这个最小指令集。

PC机指令的扩充:

PC机的指令扩充可参照图3G所示的有关参量。包括地址方面、令牌类型方面、以及对读写的解释方面。其中,

●在地址方面,将建立PC可成批连续读写DT区的指令。

●在令牌类型方面,将通过扩充令牌的数目和中断类型建立新指令。

例如:扩充令牌数目,建立必须经过一致化操作后才可读到的全局数据类型。

●在对读写的解释方面。

例如:可以将PC读DT阵列312的操作定义为源令牌,这样读操作将伴随一个令牌有效(=1)的结构,成为数据令牌一致化操作时的源。

●PC指令的扩充还包括不作令牌测试的读写模式(即令牌检测恒通过)。

对一个熟练的技术人员来讲,指令的扩充并不困难,发展新类型也是可以做到的。本发明特别指出任何新的PC扩充指令集,都将会包含本发明所示的序网指令DE、SO或RMD、WMD指令的基本类型,而在PC编程界面上,(大部分)要表现为数据读写(没有令牌参量)的格式。

一致化指令的扩充:

一致化指令扩充可参照图3I所示的有关参量。包括地址方面,和一致化指令的源类型方面。其中,在地址方面,将建立成批连续地址或不连续地址的一致化指令。在类型方面,将扩充数据令牌一致化操作中源的类型,使源定义变成“令牌有效*源附加条件”的双重约束模式。

图5是一致化指令的扩充的类型。包括:

●成批的数据令牌一致化处理方式。例如:

*建立由“起始地址、长度”信息建立的批处理方式。

其结构是在地址处理部件340中,配合起始地址、长度信息,用硬件建立连续地址加一的结构,和控制长度计算的结构。

隐性(数据令牌)源是指在指令参量中不作源标明的形式,它也是类型,但只能有一种。显性(数据令牌)源是在一致化指令参量中标明,因此可以大量地扩充。本发明的显性(数据令牌)源格式为:

“令牌有效*附加源条件”

这是在令牌=1的基础上,再叠加新的条件(“与或”操作),使指令在源参量方面得到扩充。

●显性的源类型附加条件

*以地址和机号相关为源条件

*以长度和机号相关为源条件

*以软件指定的机号为源条件

*以允许多源存在为条件

*以其他函数关系为源条件

●一致化指令的扩充还包括不作令牌测试的一致化传送方式(即令牌检测恒通过)。

对一个熟练的技术人员来讲,一致化指令的扩充并不困难,发展新类型也是可以做到的。本发明特别指出任何新的一致化指令的扩充指令集,都将会包含本发明所示的序网指令CO或DCO指令的基本类型,而在Pcon编程界面上,(大部分)扩充指令要表现为数据的一致化(没有令牌参量)格式。

本发明已经通过实施例对本发明做了详细的描述,对于熟练技术人员在不背离本发明的精神和范围的基础上做一定形式和细节变化是容易理解的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号