并行处理装置的制作方法

文档序号:6406552阅读:237来源:国知局
专利名称:并行处理装置的制作方法
技术领域
本发明涉及执行并行处理的装置。
在R.W.Hockney与C.R.Jesshope所著“并行计算机2,体系结构,编程与算法”1988年Adam Hilger,英国布里斯托及美国费城出版,一书中已对许多已知类型的用于执行并行处理的装置进行了回顾与讨论,并且在Steven R.Vegdahl发表在IEEE计算机会报,卷C-33,1984年12月,1050至1071页上的论文“执行函数式语言的提议中的体系结构的调查报告”中对若干实验性计算机进行了比较。
根据本发明的第一个主要方面,提供了执行并行处理的装置,该装置具有多个处理器单元及一个通信网络,在该网络中可并存多条通过其中的路线,每一条这种络线互连单元中对应的一对并且由所述单元对中的至少一个的操作建立并容许在该对单元间传输数据,以及各单元能够执行归约运算,在这些归约运算中单元按照用于归约作为数据存储在单元群中的表达式的规则变换单元中的数据。较理想地该通信网络具有响应由一个处理器单元向其提供的一个搜索信号而构成一条部分路线,以及响应由另一个处理器单元向其提供的一个自由信号而构成一条部分路线的装置,以及当一个自由信号的部分路线的装置,以及当一个自由信号的部分路线与一个搜索信号的部分路线相遇时完成所述搜索信号的部分路线到提交所述自由信号给网络的点上的装置。同样较为理想的是,所述规则包括用于函数表达式的并发β归约执行的规则。
根据本发明的第二主要方面,提供了一个通信网络,该网络具有响应向其提供的一个搜索信号构成一条部分路线并响应向其提供的一个自由信号构成一条部分路线的装置,以及当一个自由信号的部分路线与一个搜索信号的部分路线相遇时完成所述搜索信号的部分路线连接到向网络提供所述自由信号的点上的装置。
根据本发明的第三主要方面,提供了一种处理器单元,它具有可装入多种不同类型的数据的存储器装置,用于判定存储在存储器装置中的数据类型并根据判定的存储在存储器装置中的数据类型将处理器设置在多个操作进程中选中的一个中的装置,至少一个操作进程包括一个利用存储在存储装置中的数据的计算步骤,该处理器单元具有用于执行所述计算步骤的计算装置,用于接收要存储在该存储器装置中的数据的装置,用于输出从处理器单元的操作进程中得出的数据的装置,判定数据类型的装置包括对与所述计算步骤不相容的类型中的数据的出现作出反应从而禁止执行装置在这些数据上进行操作的装置,以及用于输出一个指示该选中的操作进程是否是一个予定的休止进程是否是一个予定的休止进程的状态信号的装置。
根据本发明的另一个方面,提供了用于执行并行处理的装置,该装置具有多个处理单元以及一个通信网络,所述单元是连接到通信网络上的,该通信网络包括多个节点,在使用中,单元中的至少某一些中的每一个都是可设置为至少一个搜索状态与一个自由状态,在搜索状态中向网络中发送一个搜索信号,而在自由状态中则向网络中发送一个自由信号,并且每一个节点包括当一个自由信号出现在该节点上时截取一个到达该节点的搜索信号的装置,使得通过一个或多个发生这种截获的节点在搜索状态中的一个单元与在自由状态中的另一个单元之间建立一条通信路线。
根据本发明的又一个方面,提供了用于执行并行处理的装置,该装置具有多个处理器单元,以及一个通信网络,所述单元是连接到该通信网络上的,该通信网络包括多个节点,在使用中,至少一些单元中的每一个是可以设置在一种呼叫状态中,并且当在呼叫状态中时,向网络中发送一个呼叫信号,每一个节点包括一个根据目的地信息确定所述呼叫信号的路径的装置,所述目的的地信息包含在呼叫信号中并表示从发出该呼叫信号的的呼叫状态单元延伸到另一个单元并包括所述节点的一条路径;并且该网络包括多个二叉树布置,其中单元在各二叉树布置的叶位置上,而节点在二叉树布置的节位置上,各单元在至少两个二叉树布置中占据一个不同叶位置,使得在两个单元之间能够建立包含所述二叉树布置中不同数目节点的路线。
较为理想地,这些单元被排到构成一个平面阵列,其中重复出现一个正方形中的四个单元的一种单位模式以构成一个单元的正方形阵列,沿该阵列的任何一边的单元数是二的整数次幂。
根据本发明的又另一个方面,提供了执行并行处理的装置,该装置具有多个处理器单元及一个通信网络,该网络使多条通过其中的路线可以并存,每一条这种路线互连对应的一对单元,各单元能够执行多个操作,这些操作包括含有下述操作的一组操作通信操作;命令操作,其中单元将命令信号发送进网络中到单元中的另一个;从属操作,其中单元执行由另一个单元通过网络传送来的命令;以及归约操作,其中单元根据作为数据存储在单元群中用于归约表达式的规则对该单元中存储的数据进行变换,通信操作包括该单元通过网络从另一个单元接收数据的操作以及该单元通过网络向另一个单元发送数据的操作,单元的数目大到足以使各独立单元归约操作在归约表达式的规则中是原始操作。较为理想的是归约表达式的规则是与纯丘吉入计算一致的。同样较为理想的是各单元包括具有下述功能的装置检测存储在该单元中的数据以判定是否在该数据上能够执行一个归约操作并且,如果检测的结果是否定的,则将该单元设置成一种状态使之继续存储所述数据直到该单元从一个或多个其它单接收到另外的数据而在这些数据与前面的所述数据的至少一部分被取代或与之结合时所建立的数据对所述检测给出肯定的结果,这时该单元执行该归约操作。
根据本发明的另一个方面,提供了执行并行处理的装置,该装置具有多个处理器单元及一个通信网络,该网络是这样的使多条通过其中的路线可以并存,每一条这种路线互连一对对应的单元,各单元能够执行多种操作包括含有下述操作的一组操作通信操作;命令操作,其中该单元将命令信号发送进网络中到另一个单元;从属操作,其中该单元执行由另一个单元通过网络传送来的命令;以及内部操作,其中该单元处理存储在该单元中的数据,通信操作包括该单元接收另一单元通过网络传送来的数据的操作以及该单元通过网络将数据发送到另一单元的操作,单元具有多种操作状态,并可装入多种类型的数据,单元还包括用于判定其中存在何种数据并根据检测到存在在单元中的数据的类型的组合将该单元设置为其多种操作状态中选中的一种的装置。
根据本发明的另一个方面,提供了一个通信网络,包括多个节点及大量路径段,至少大多数节点中的每一个构成至少三个路径段间的一个结点,并且每一个节点在与之连接的各路径段的该节点的连接点上具有信号输入装置与信号输出装置,用于从任何一个路径段连接点上的输入装置将信号发送到至少其它一个路径段连接点上的输出装置的装置,以及具有下述功能的装置对从输入装置中至少一个接收到的该节点上出现的一个调节信号作出反应,选择一条通过该节点到达通向一条予定的路径段的该节点的连接点上的输出装置的路径的装置,该路径是为另一个信号选择的,该信号是在到达该节点上的另一条路径段的对应输入装置后被接收在该节点中的。最好各节点具有下述装置对一个在该节点内接收的来自一条连接在其上的路径段的获取信号作出反应,为该获取信号提供一条通过该节点到达该结点与选定的另一条路径段连接点上的输出装置,而不依赖于所述调节信号是否出现。
根据本发明的又另一个方面,提供了执行并行处理的装置,该装置包括多个处理器单元及用于启动单元之间的通信的通信装置;各单元具有存储数据并可装入多种类型的数据的装置;并具有判定存储在其中的数据类型的装置;只有当预定类型的数据存在在其中时才以预定类型的数据执行予定的操作的装置;以及通过该通信装置向其它单元发送数据及从其它单元接收数据的装置;用于判定数据类型的装置包括对表示一条禁止命令的数据的出现作出反应禁止执行装置在预定类型数据上操作的装置。预定的操作中最好包括归约操作,数据类型包括符号数据及指针,并且执装置包括用于判定是否有符号数据及指针出现在该单元中并且当该判定是肯定判定时禁止一种或多种归约操作的装置。
以后在所附的权利要求书中定义本发明的较佳实施例。
在本发明的一个特定实施例中具有权利要求39所定义的一个通信网络,各节点具有这样的装置对在一个节点内接收的连接的一条路径段一个获得信号作出反应,不依赖是否存在所述调节信号而向该获得信号提供一条路径,该路径通过该节点到达通向另一条选定的路径段的输出装置。对一个获得信号作出反应的装置也对所述另一个信号的状态作出反应,此后称作一个地址/数据信号,当在获得信号的同一路径段上在该节点中接收到所述另一个信号时该装置选择其它路径段中的另一条。在这一实施例中的网络是四个二叉树布置的形式,网络的节点在二叉树布置的节位置上,而处理器单元则在二叉树布置的叶位置上。大多数单元中的每一个可设置在一种自由状态中并具有向网络中发送一个指示该单元是否在自由状态中的状态信号的状态信号发送装置。当该状态信号指示该单元是在自由状态中时,以后称该信号为自由信号,该状态信号便作为沿网络中的一条部分路径的一个调节信号。大多数单元中的每一个也可设置在一个呼叫状态中,在这一状态中它向网络发送一个呼叫信号,包括指示从呼叫单元到另一单元的一条路线的目的地信息。呼叫信号包括所述获得信号作为其一部分。所述另一个信号,即,地址/数据信号,构成包含该目的地信息的呼叫信号的一部分。这一实施例的处理器单元具有在包括符号数据与指针在内的数据类型上执行归约操作与其它操作的装置。在这一实施例中,该装置作为一个整体运算的数据构成入表达式,并且归约运算是以纯丘吉入计算为基础的。
现在参照附图以示例的方式对本发明进行描述,其中

图1为示意性地表示本发明的一个实施例的方框图;
图2为图1实施例的一个处理器单元的方框图;
图3为本发明的一个简单网络及处理器单元装置的示意图;
图4为图1的实施例的部件的一个示意图;
图5为图1的实施例的一个网络节点的方框图;
图6至12为图5所示节点的部件电路图;
图13示出从一个处理器发送一个呼叫信号通过图1的实施例中的网络到达一个目的地处理器单元的一条路线的形成示意图;
图14A与14B为图1实施例中从一个处理器单元发送一个搜索信号,该搜索信号被来自一个自由状态的处理器单元的一个自由信号所截获而构成一条网络路线的示意图;
图15示出在本发明的一个实施例中使用多二叉树;
图16为按照本发有的由二叉树互连的一个较佳平面阵列的一个示意性表示;
图17为放大的图16的阵列的一部分的示意性表示;
图18为本发明的一个简单实施例的一个示意性表示,处理器单元设置在一个较佳平面阵列布置中并以两个二叉树互连;
图19为处理器单元的一个较佳平面阵列示意的图,它示出以两个二叉树互连这些单元的一个较佳方案;
图20示出根据本发明以四个二叉树互连一个处理器单元的较佳平面阵列的一个较佳方案图;
图21为本发明的一个简单实施例的示意图,具有用四个二叉树互连的一个较佳处理器单元平面阵列;
图22为一个平面图形的示意性表示,由具有构成网络的四个二叉树的一个实施例的部分构成;
图23为类似于图21但具有256个处理器单元的一个实施例的示意性表示;
图24为本发明的一个实施例中提供输入与输出的另一种装置的图;
图25为本发明的一个实施例中使用词典布置的图;
图26A、26B、26C、26D、26F与26G为图1中的实施例的一个处理器单元中的通信电路的部件电路图;
图26E为在图26D的电路操作中出现的信号的图形表示;
图27为图1实施例的一个处理器单元的一个通信操作的图形表示;
图28表示图1的实施例的一个处理器单元中的寄存器;
图29至36示出使用图1的实施例计算一个λ表达式;
图37A与37B示出域0至6上函数符号NPLUS1与NMINUS1的定义;
图37C为图29至36所表示的计算的另一种初始状态的图;
图37D示出在参数n=4,m=2时计算一个函数NMINUSM时图1的实施例的单元的装入;
图38为图1的实施例的一个特殊处理器单元的方框图;
图39是用作输入与输出设备的一台外围计算机与图1中的实施例的特殊单元之间的连接的方框图;
图40至64为图1的实施例的一个处理器单元中的执行逻辑进程中的步骤与判定的图形表示;
图65为本发明的一个实施例的另一种网络节点的方框图;
图66、67与68为图65的节点的部件电路图;
图69为图1实施例的一种变型的部件的示意性表示;
图70与71为图5至12的节点的一种变型的示意性电路图;
图72为在一个具有图70与71的变型节点的网络中使用的单元通信电路的示意性电路图;
图73与74为图5至12的节点的另一种变型的部件的示意性电路图;
图75、76A、76B、77A、77B、78A与78B示出使用具有图73与74的变型节点的网络的两个单元间的路线的形成;
图79示出元指令CONS、HEAD与TAIL的图;以及图80至92为图1的实施例的标准单元的执行逻辑的状态图。
图1以方框形式表示本发明的一个数字处理装置10的一个第一例子。装置10具有大量处理单元11。大多数处理单元11具有相同的结构,因此在这里称作标准单元12。某些处理单元11具有包括一个标准单元的某此些结构以及附加的结构的一种结构,些单元在这里称作特殊单元13。在图1中示出了一个标准单元12及一个特殊单元13。
装置10也有一个通信网络14。各处理单元11连接到通信网络14,并且在必要时能够通过网络14建立一条通信路径到任何其它单元11。
装置10执行数据处理与主存储器的功能。特殊单元13中提供的附加结构使它们能作为该装置10与外围装置(未示出),诸如输入与输出设备及后备存储器,之间的接口工作。在此第一例子中,装置10为一台计算机的中央处理与存储器装置,它执行表达式的归约。
当装置10工作时,各单元11处于若干状态中的一个状态。这些状态在这里称为自由状态、搜索状态、呼叫状态、通信状态、等待状态、以及内部操作状态。自由状态是一个单元11的静止状态。当一个单元不再需要进入或留在任何其它状态中时便自动切换到自由状态。
图2是一个标准单元12的示意性功能图。该标准单元12包含一个译码与控制单元16,网络接口电路,以及寄存器15形式的少量存储器。一个脉冲源(未示出)提供用于驱动单元12的部件的脉冲,因为单元12主要是由串行电路构成的,并且通过网络14的通信也是串行的。
网络接口电路具有四种主要功能状态传输、数据传输、控制信号传输与接收、以及数据接收。
只要单元12是在自由状态中,各标准单元12的状态以一个高电平信号,这里以F表示,传输进网络14中,而只要单元12不在自由状态中则以一个低电平信号NOT-F或F表示。结果,各单元12发送F或NOT-F中的一个。
在使用中,某些处理单元11是原来装有二进制数据的。通过一个特殊单元13可执行一个装入操作,该特殊单元通过网络14与那些由该特殊单元13装入的单元11进行通信。这样一个特殊单元13具有输入接口结构,通过它该单元13与二进制数据的一个源(未示出)进行通信。特殊单元13的结构示出在图38中并将在以后说明。
在装置10的单元11的初始装入中,可以同时使用许多这样的特殊单元13来装入不同的单元11的群。
启动时,在执行任何初始装入以前,所有的单元11设置为在自由状态中。这一点可用已知类型的电路(未示出)完成,这种电路在启动装置10时发生一个脉冲。
作为一个输入单元操作的一个特殊单元13轮流与它要装入的各单元11进行通信。一个标准单元12通过建立在网络14中的从一个输入单元13至该标准单元12的一条通信路径从该输入单元13接收数据。装入一个单元11的数据表示一条或多条指令或者一个或多个名或者一个或多个值,一个或多个地址或者这些数据的组合。本例中使用了各种名,并将在下面说明。
装入一个单元11的地址数据表示一个或多个其它单元11的数字地址。一个单元11的数字地址是一个唯一地以其在通信网络14中的连接点标识该单元11的一个数。
在搜索状态中的一个标准单元12以及一个特殊单元13发送控制信号,它与在自由状态中的标准单元12所发送的自由信号F合作,能够通过网络14建立一条到达在自由状态中的一个单元12的通信路径。当这样一条通信路径被建立时搜索状态便结束了,并且立即被在搜索单元11中的一个通信状态所取代,以及以前在自由状态而现在通过该通信路径连接的单元12中被一个通信状态所取代。
在通信状态中,一个单元11至少向它通过网络14用一条通信路径连接的另一个单元11发送控制信号。当一个单元11感测到另一个单元11已经收到它发送的全部传输,并且另一个单元也已完成了向一个单元11的往回传输后,通信状态便告结束。
在呼叫状态中,一个标准单元12及一个特殊单元13执行包含控制信号与数据的传输的操作。呼叫状态中的单元11使用被呼叫的另一个单元11的地址以通过通信网络14建立一条到达被呼叫的单元11的通信路径。当所需要的通信路径一经建立,呼叫状态便告结束,并且如果被呼叫的单元11确认该呼叫,则在呼叫单元11中立即被通信状态所取代。如果被呼叫的单元11至少在紧接着呼叫单元11完成到达它的通信路径之前正处于一个适当的等待状态中,则该被呼叫单元11中的等待状态被通信状态所取代。
在等待状态中,单元11不执行任何涉及数据处理的内部操作。此外该单元11不在执行任何涉及控制信号或地址与其它数据传输的操作。然而,当单元11被呼叫状态中的一个单元11呼叫时,它存储有准备好被使用的数据。如果该单元是一个标准单元12,由于它不在自由状态中,则等待单元11也发送不自由信号NOT-F。
在内部操作状态中,一个单元11正在执行涉及译码与控制单元16的操作。这些操作包括在存储在单元12的寄存器15中的数据上的某些运算。
在装置10的总体操作中的任何特定时间上,不在自由状态或等待状态中的任何单元11,如有必要,能够访问其它任何在自由状态或等待状态中的单元11。在自由状态中的单元11集体地作为备用的处理能力,带有可利用的存储器空间,其它单元11可在其中写入数据与地址。在等待状态中的单元11可以集体地作为已装入的存储器区域,并且在某些情况中在呼叫状态中的一个单元11实际上可能正在执行一个存储器存取操作。
在通信状态中的一个单元11正在向或从被建立的通信路径的连接的单元写入或读取。
在搜索状态中的一个单元11可以认为是企图寻找一个当前不在使用的一个标准单元12。
由单元11集体构成的存储器的容量主要取决于在系统10中的单元11的数量。如果有216个单元11,即,65536个单元11,任何单元11的一个完整的数字地址在二进制表示中将需要16位,即,16比特。
当一个单元12回复到自由状态时,它变成自由的,即可利用的存储空间中的一个单元,并且是具有处理能力的一个单元。
标准单元12不需要一个程序计数器。虽然有可能将译码与控制单元16构成为一个微程序编程的控制与译码处理器,但将一个标准单元12的单元构成为一个带有一个指令寄存器的(这里称作原语寄存器)硬接线的译码器-控制器更为经济。一个微程序编程的控制与译码处理器需要一个精确的时钟脉冲源。这一源可以是来自一个晶体控制的时钟脉冲发生电路提供给单元16的一条时钟脉冲总线。这样一个微程序编码的处理器典型地包括存储在ROM(只读存储器)的一个区域中的一个微程序,以及一个微程序计数器。否则在单元的操作中可以不需要该微程序计数器。将一个特殊单元13的单元16构成为一个微程序编码的控制与译码处理器可能是较为理想的。
装置10中的处理活动创造中间结果及必须从该装置10输出的最终结果。这一结果必须放置在具有输出接口结构的一个特殊单元13中。在本例中,每一个特殊单元兼有输入与输出接口结构,并且可以安排为中间与最终结果出现在原先作为产生相关中间或最终结果的某些数据的输入单元的一个对应的特殊单元13上。
一个复杂计算问题是以求解大量简单问题来解答的。每一个这种简单问题只包含一个原语运算。原语运算是指不能再分解成为若干更简单的运算的一个运算而言的。每一个单元11是设计为执行原语运算的。该装置是旨在用于具有参照作用的透明性适用的问题,从而一个复杂的表达式可以用原语运算的替代与执行来计算。
一个复杂运算,即需要使用多个原语运算的一个运算,被赋予一个名,该名作为一个位模式存储在一个单元11的寄存器15之一中。该单元11也存储一个指针指向一群其它单元11中的一个,该群单元11中包括装有用于执行该原语运算模式的指令的单元11,这些原语运算组成该复杂运算。从而,装有这些指令的单元构成该复杂运算的函数体,它们与名单元及将函数体用指针链接到名单元的可能存在的一个或多个单元一起构成该复杂运算的定义。其它有必要与该复杂运算的一次执行相关连的数据,诸如值,可存储在另一群单元11的单元中,还有一个存储该复杂运算的名并同时存储指向这一另一群中的一个单元11的一个指针的单元11。从而这些单元11的群存储数据结构。在这样一个群中的名单元11存储至少一个指向该群中另一个单元11的指针。这样存储的链接该群的单元11的指针是由这些单元的地址构成的。
如果一条原语运算指令与一个或多个指针一起存储在执行该运算的一个单元11中,该原语运算的执行被禁止进行直到存储的一个或多个指针被预期的值取代为止。当这些值本身是其它运算的结果时出现这一情况。
当在一个复杂问题中多次使用一个特定的复杂运算时,保证复杂运算的格式及它对一些值的可获得性不被它的使用所破坏是首要的。因此,安排了一个单元11来存储表示一个复杂运算的一个名而不直接使用存储定义该复杂运算的原语运算指令与值的单元11。反之,存储该名的一个单元11启动一个进程来将这些单元链接到自由状态单元,启动建立所要求的通信路径的各种指令及值以及指针被写入这些自由状态的单元中,而在存储该名的单元11中则已写入一个指向这些被写入的自由状态单元中至少一个的一个指针。存储名的单元11本身可以通过一个复制进程变换到这样建立的现用定义的首部中。从而,该名所需的定义及值被从它们所存储的单元11中复制到可利用的存储器空间中。在“复制”单元中的数据必要时可被该复杂运算的执行所改变。
为了避免指针与指令、名、及值之间的混淆,它们所对应的位模式中的某些位专用于指示该模式的特征为(ⅰ)一个指针,或者(ⅱ)一条指令,或者(ⅲ)一个名或一个值,并且译码与控制单元16包括用于识别这三种模式中的每一种的装置。
通信网络14是由路径段与节点构成的。节点与通信路径段互连并且在确定单元11的各对间形成的通信路径中起作用。具体说,各节点包含一个装置使得来自一个搜索状态中的单元的控制信号(这里称为搜索信号)能够这样地与出现在该节点上的一个自由信号交互作用,使得这一搜索信号被导向那个在该节点上建立或提供该自由信号的存在的单元11。
在本例中,网络14由四个二叉树构成。单元11在这些树的叶位置上,而在此以前提到的节点则位于这些树的节位置上。每一个单元11有四个端口18、19、20与21(图2)该节点在这些端口上分别连接到四个二叉树。
图3示意性地示出网络14的一个二叉树30,单元11在叶位置上,但这是大为简化了的,其中总共只示出了三十二个单元11,而实际上一棵树有成千个单元11,从而将装备同样多的叶位置。可以下述方法为图3中的单元11分配五位的二进制地址。即,使得在一个单元11的地址中的每一位标识从其根节点31沿树向下的路线中的一个路径段。将从任何节点向下的两条下方路径段中的一条与二进制位“1”相关联而另一条则与二进制“0”相关联来进行区别。例如,如果图3中的单元11从右到左编号为00000、00001、11110、11111,则每一条右下方路径段与二进制位“0”相关联,而每一条左下方路径段则与二进制位“1”相关联。互连一对单元的一条路线可通过选择这两个单元的对应地址中的下述来定义,即互相不同的构成它们的地址中的下述位来定义,即互相不同的构成它们的地址的对应部分。
例如,如果两个单元的完整地址为11100与11010,则从具有地址11100的单元到具有地址11010的单元的一条路线是由第一地址的三个最低位,即100,的倒置,随以第二地址的三个最低位,即010,来定义的。第一地址的三个最低位定义向上或上升的路径支路,第二地址的三个最低位定义向下或下降的路径支路。两个完整地址的互相相同的部分,在这一例子中两个最高位,即11,定义路径的上升与下降支路相遇的节点的位置。这一例子示出在图3中,通常任何一个在二叉树的叶位置上的单元的地址与任何另一个在二叉树的叶位置上的单元的地址至少有一位不同,这便是最低位,而如果两个单元的地址有一个共同的部分,则这部分将至少包含最高位或者只由最高位或它们的地址的若干位组成。名词向上与上升在这里与一个二叉树布置相关使用来表达朝向该树的根节点的方向,类似地,名词向下与下降用来表达背向根节点方向。名词上方与下方以及较高与较低也同样涉及更接近或较远离根节点的位置。
从图3中可以看到,除了根节点31以外的每一个节点是三条路径段的结点一条上方段,一条左下方段,及一条右下方段。任何节点上的上方段必然是最接近的较高节点的左下段或右下段中的一条。
图4示出从具有十六个叶位置的一个二叉树40的节点11的自由信号传输的逻辑。图4中的树可以认为是一个更大的二叉树的一部分。如图所示,在每一个节点位置上有一个用于从自由状态中的单元11发送到树中的自由信号的一个两个输入端的“或”门41。在树的最低层上的各“或”门的输入42由连接到该节点的下方段上的两个单元11提供。从一个“或”门来的输出提供给紧接着的较高层上的“或”门的输入。在一个“或”门的输入端上的信号同时通过诸如用44指示的那些连线提供给该节点的其余部分,诸如在图4中以43表示的一个正方形。作为这一布置的结果,在树的高层节点上的一个自由信号的出现可以由挂靠在该节点上的叶位置上的一个或多个单元11建立。例如,在图4中最高节点45上出现的一个自由信号指示图4中十六个单元11中至少有一个是在自由状态中。此外,除非如下面所说明的被一个搜索信号所截获,否则来自任何单元11的自由信号调整从该单元11到树的根节点一路上的节点。
图5示意性地以方框形式示出网络14的一个节点的一种较佳结构的一个例子。再次示出了“或”门41及其连线42与44。右下方路径段包括一条左下方向上通道51,以及一条左下方向下通道52。类似地,右下方路径段包括一条右下方向上通道53,以及一条右下方向下通道54。上方段包括一条向上通道55及一条向下通道56。
下方向上通道51与53以及自由信号连线44进入一个向上仲裁器57,仲裁器57提供一个向上/跨接选择器58,它又提供向上通道55与一条跨接通道59。上方向下通道56与该跨接通道59提供一个向下仲裁器60,它又提供一个向下左/右选择61,左侧与右侧向下通道52与54从那里延伸。自由信号连接线44也连接到该左/右选择器61。
向上仲裁器57只允许向上通道51与53中一条上的控制信号通往向上/跨接选择器58。如将要说明的,仲裁器57保证从通道51与53到达它的第一个活动的控制信号就是通往选择器58的那一个。后到的信号被塞阻直到由第一个信号起动的一次事务处理结束,这时仲裁器57将后到的信号传送给选择器58。
向上/跨接选择器根据它从仲裁器57接收到的控制信号,判定仲裁器57连接到向上通道55还是到跨接通道59。
向下仲裁器60只允许向下通道56与跨接通道59中的一条上的控制信号通往左/右选择器61。再一次首先到达的现用信号是传送到选择器61的那个信号,而后到的信号则被塞阻。
左/右选择器61根据从仲裁器60接收到的控制信号或者根据在连线44中一条上的一个活动自由信号,确定仲裁器60连接到左下方通道52还是右下方通道54。从“或”门41的输出通过线62提供给最接近的上层节点的相当于连线44的一条连线及“或”门的一个输入端。同样,图5中所示的“或”门41的输入端上的一对连接线42与44是通过对应的线62L与62R从两个下方节点的对应“或”门来的,或者,如果图5的节点表示一个最低层节点,则来自一对邻接单元11。
从图5中可见,来自一个节点的上方路径段包括一条自由信号线62、一条向上通道55、及一条向下通道56,左下方路径段包括一条自由信号线62L、一条向上通道51及一条向下通道52,右下方路径段包括一条自由信号线62R、一条向上通道53及一条向下通道54。上方线62及通道55与56成为最接近的上方节点的左侧线62L及通道51与52或者右侧线62R及通道53与54中的一组。
向上与向下通道55和56是物理上有区别的并且互不干扰。
通道51至56中的每一条包含三条线一条获取信号线,一条地址/数据线以及一条确认信号线。
如图2所示,一个标准单元12的各端口18、19、20或21是一条自由信号线62、一条外向的获取信号线63、一条外向的地址/数据信号线64以及一条外向的确认信号线65的发源地,以及一条进入的获取线66、一条进入的地址/数据线67以及一条进入的确认线68的目的地。向外的获取及地址/数据信号线63和64连同进入的确认线68构成来自单元12的一条向上通道55,并且进入的获取及地址/数据信号线66及67连同向外的确认信号线65构成一条能向单元11的向下通道56。由于在本例中,单元12位于四个二叉树的叶位置上,因此有四个端口及四组线62至68。
一个特殊单元13的各网络端口是一条外向的获取信号线63、一条外向的地址/数据信号线64及一条向外的确认信号线65的发源地,并且是一条进入的获取线66、一条进入的地址/数据线67及一条进入的确认线68的目的地。一个特殊单元13向该单元13的一个网络接口直接连接的节点提供一个连通一条自由信号线62R的一个接线点,但本身并不发送自由信号,所述连接点永远保持在低电平上。
在图6中详细示出了仲裁器57与选择器58,其中用一个字母L来指示连接到左侧路径段自由信号线62L上的那些通向“或”门41的连接线44及输入42,并用一个字母R来指示连接到右侧路径段自由信号线62R上的那些连接线44及输入42,以示区别。同样,当有必要指明它们属于一条左下方路径段(L)或一条右下方路径段(R)时,其它信号的向外与进入线也指定为L与R。为了简化,从图5中省略了图6中蕴含的通道51与52的位置交换。
在呼叫状态中的一个单元11的输出处的向外的获取与地址/数据信号作为用于建立从呼叫单元11到所要求的目的地单元11的路线的控制信号。初始时,在呼叫状态中,单元11将获取信号设置为高电平,对应于逻辑1,并将地址/数据信号设置为低电平,对应于逻辑0。假定图6表示在呼叫单元11上方的第一个节点,并且假定连接到节点的另一个单元11不在企图占用该节点,如果呼叫单元是在左下方路径段的那一端(左单元),一个“或”门71及两个“与门72与75接收来自呼叫单元的信号并确定该节点的操作。来自“或”门71的高电平输出设置一个左/右锁存电路74使得在“或”门75的输出端上出现一个高电平信号,并且“与”门73与两个线路开关76与77被锁存电路74启动。由于在右下方路径段的一端上的单元(右单元)在其向外获取及地址/数据线63R及64R正在提供一个低电平的信号,对应的“或”门78及“与79与80接受低电平输入,并且“与”门80及两个对应的线路开关81及82不被锁存电路74启动。
需要指出的是,在图6及附图中的其它门电路图中,使用这样的约定,即用于将一个启动信号提供给一个门或开关的一个输入连接点是用表示该门或开关的图形符号中心附近的一个点来表示的,并且应当理解,如果作用在那里的启动信号是高电平的,从该门或开关输出的信号取决于另一个或多个输入到该门或开关的信号的状态以及该门或开关的逻辑性质,并且如果作用在其上的启动信号是低电平的,则从该门或开关输出的信号是低电平的。
线路开关76、77、81与82中每一个都是具有一个信号输入端,一个信号输出端及一个启动输入端的电路。当线路开关在其启动输入端上接收一个高电平信号时,在其信号输入端上的输入信号出现在其信号输出端上。当该线路开关在其启动输入端上接收一个低电平信号时,不论在其信号输入端上的信号的状态如何,在其信号输出端上的信号总是低电平的。例如,如果作用在启动输入端(在图6中由元件77中的中心点所表示的)上的信号是高电平电,则来自“与”门72的输出信号通过该线路开关77,然而如果作用在启动输入端上的信号是低电平的,则从线路开关77输出的信号是低电平的。其它线路开关被使用在节点的电路中。
由于“与”门72在其地址/数据输入端上接收一个低电平的输入,其输出是低电平的。因此,从线路开关77及82的输出都是低电平的并且馈以这两个输出的“或”门83向在“与”门84的一个输入端上的反相器提供一个低电平的输入,“与”门84是提供该节点的外向向上获取信号线63的。从而,门84被启动,以将出现在其另一输入端上的任何信号加在线63上。
来自“与”门72与线路开关82的低电平输出将两个“与”门85及86的输出设置为低电平,“与”门85和86提供“或”门87的输入中的两个。对门87的另外两个输入来自“与”门73与80并且也是低电平的。结果对“或”门88的两个输入也是低电平的,该“或”门88提供外向向上的地址/数据信号线64。
两个“与”门89及90从“与”门72及线路开关82接收各自的低电平输入,从而对它们的输出进行“或”运算的“或”门91向一个向上/跨接锁存电路92提供一个低电平信号。当该锁存电路92从“或”门87及91接收低电平输入并从“或”门75接收一个高电平输入时,该向上/跨接锁存电路92向“与”门84提供一个高电平输出,并启动“或”门88及线路开关93,并且触发单稳态触发器94。“与”门84在这一例子中使线63成为高电平,由于它是被启动的,而“或”门88则将线64设成低电平,从而,在线63L及64R上各自的高电平与低电平信号现在分别出现在上方外向线63及64上。线路开关93的启动将上方路径段的进入确认线68通过“或”门95耦合到线路开关81及76。单稳态触发器94的触发使得单稳态触发器94发射一个确认脉冲通过“或”门95及线路开关76到达左侧确认信号线68L并从而到达左单元,该单元便是呼叫单元。
由于电路是对称的,如果左单元并不企图占用该节点,对应的操作可从右单元发动。
如果两个单元都企图占用该节点,左/右锁存电路74启动信号首先到达的单元占用该节点。图7详细示出该左/右锁存电路74。来自左单元的输入被提供给输入及输出“与”门96及97,来自右单元的输入提供给输入及输出“与”门98及99,这些输入是分别来自连接线100及101的。在高层节点中,提供给连接线100及101的信号是来源于各自的左及右低层节点的。这些输入信号是通过延时元件102及103提供给“与”门97及99的。
从在100及101上有低电平输入信号及在“与”门97及99的输出104及105上有低电平输出信号的状态开始,可以看到由两个交叉耦合的“与非”门106及107构成的一个中间锁存器可在任何状态中。一旦100或101上的信号改变到高电平,一个高电平信号立即出现在对应的“与”门96或98的输出端上,因为两个“与”门96及98都被它们的另一个输入所启动,为了这一目的它们具有反相器。在“与”门96或98中一个的输出上出现一个高电平信号迫使锁存器的对应“与非”门生成一个高电平输出,并使另一个“与非”门生成一个低电平输出。例如,如果100成为高电平,门96及106生成高电平输出,而门107生成一个低电平输出。锁存器的高电平与低电平输出相应地启动及截止这些输出“与”门。输出“与”门上的一个高电平输出截止该电路另一侧的输入“与”门。例如,如果门97生成一个高电平输出,输入“与”门90的对应输入端上的反相器保证门98生成一个低电平输出。结果,例如,如果在100上的信号已经变成高电平以后,101上的信号变成高电平,101上的这一高电平信号对104与105上的输出信号没有影响。
延时元件102与103的目的在于保证,当输入端100与101上的信号发生任何变化之后,锁存器“与非”门有时间来按照这一新的输入信号进行操作并在这一新的输入信号作用在“与”门97及99之前调节输出“与”门97及99。
输出端104在108处连接到门73及开关76和77的启动输入端上,而输出端105则在109处连接到门80及开关81和82的启动输入端上,如图6所示。从而,与首先到达100或101上的输入信号相关联的那一组“与”门73或80以及两个线路开关76和77或81和82便是被启动的那一组,另一组门和开关则保持或变成被截止的。
输出104与105连接到“或”门75的两个输入端上,从而通过锁存电路74响应在100或101之一的一个高电平输入信号进行的操作而对该节点的占用导致对向上/跨接锁存电路92的一个高电平输入。
可以看到,除了用连接线110连接到输入连接线101的一个到门96的第三反相输入端以外,锁存电路74是对称的。连接线110及到门96的第三反相输入端的存在保证,如果在低电平信号之后高电平信号同时出现在100与101上,输入门中的一个,在本例中连接到输入连接线101的门98,将成为驱动门,而另一个输入门,在本例中为门96,将被截止。从而,锁存电路74对于所有输入信号逻辑状态的响应都是可予测的。
图8示出向上/跨接锁存电路92的细节。电路92在输入连接线111上接收“或”门75的输出,在输入连接线112上接收“或”门87的输出,以及在输入连接线113上接收“或”门91的输出。111上的信号直接作用在两个输入“与”门114及115,并通过延时元件116及117作用在两个输出“与”门118及119上。门118及119的输出通过“或”门120耦合到输入门114与114的反相输入端,从而,在输出门118或119之一上出现的一个高电平输出信号截止两个输入门114及115,借此使电路92不能响应输入连接线112上的信号变化。
输入连接线113连接到一个锁存器的“与非”门121的一个反相输入端上,该锁存器的另一个“与非”门122只有两个输入端。当输入连接线113上的信号为低电平时,锁存“与非”门121及122以与上文中的电路74中的锁存门106及107相同的操作方式在输入门114及115与输出门118及119之间操作。
在本操作实例中,左和右单元中的一个处于呼叫状态中,而另一个并不试图占用该节点,在输入连接线112与113上的信号都是低电平,因此,根据出现在输入连接线111上的一个高电平信号并假定在此以前两个输出“与”门118及119都在生成低电平输出信号,输入“与”门114生成一个高电平输出信号,并且门115生成一个低电平输出信号,因此,“与非”门121及122的输出信号分别为高电平与低电平,并且在延时元件116引入一个延时以后输出“与”门118在连接线123上生成一个高电平输出信号,而“或”门120向输入门114与115提供一个截止信号。如果在111上的信号变成低电平一个比元件116与117的张弛时间更长的一段时间,电路92将再次成为响应的。
由于高电平信号是随后通过门87和88(图6)从左侧向外的地址/数据线64L(在本例的操作中)传输到外向的地址/数据线64上的,所以输入“与”门114与115的这一截止是必要的。
连接线123将门118的输出信号供给“与”门84,“与”门84馈送向外的获取信号线63,如图6所示,从图6中也能看到这一信号确定门88及开关93是否启动以及单稳态触发器94是否触发。单稳态触发器94是上升沿触发类型的,从而每当在连接线123上的信号由低向高电平变化时便生成一个确认脉冲。
在本操作实例中,门119向连接线124作用一个低电平信号。
如果呼叫单元,在本例中为左单元,向“或”门71(图6)加一个带高电平获取信号的高电平地址/数据信号,除了下述方面以外,目前所描述电路按以上的说明操作。
由于门73是开通的,来自地址/数据信号线64L的高电平信号到达“或”门87,因此后者向门88及电路92的输入连接线112加高电平信号。112上的信号通过连接线125提供给门114的一个反相输入端,从而该高电平信号关断门114并接通门115。因此门121在其两个反相输入端上都有低电平的输入信号。结果,输出“与”门119在连接线123上生成一个低电平输出信号。结果,门84的向外的获取线63上信号是低电平的,门88及开关93保持被禁止,并且单稳态触发器94不被触发。从图6中可见,“与”门73的高电平输出同时出现在连接线126上。
图9更详细地示出图5的选择器58及仲裁器60。
从图9可见,来自锁存电路92的连接线124向一个向下/跨接锁存电路127提供一个输入,而来自图6的“与”门73的连接线126提供“与”门128的一个输入,该“与”门的一个启动输入由来自锁存电路127的输出连接线129控制。“与”门128也有一个由来自“或”门83的连接线130提供的一个反相输入。每当该节点被线63L或63R中的一条上的一个高电平获取信号占用时(可从图6中门72及79的操作中看到)“或”门83的输出信号为低电平。
锁存电路127也通过“或”门131接收来自进入的获取信号线66与通道56的进入的地址/数据信号线67的输入信号。电路127与图7中所示的锁存电路74相同,这一点可从图10中详细示出的电路127看到。从连接线124上的信号及“或”门131的输出信号都是低电平这一状态出发,如果在连接线124上的信号首先变高,则在电路127的输出连接线129上生成一个高电平输出信号,而在其另一条输出连接线132上是为一个低电平输出信号。这两个输出信号被“或”门133进行“或”运算,在本操作中生成一个高电平输出信号。在129上的这一高电平信号启动“与”门128、另一个“与”门134以及三个线路开关135、136与137。在132上的低电平信号使另外三个线路开关138、139与140保持关断。开关138的截止封锁进入的地址/数据线67上的任何进入高电平信号。开关140的截止保证封锁住由线67提供的“与”门141的任何高电平输出信号以及通过一个反相输入端封锁住进入的获取线66上的任何低电平信号。
图11示出图5的仲裁器60及选择器61的细节。
来自门73(图6)的连接线126上的地址/数据信号通过门128(在本操作模式中)传送到“或”门142。这一“或”门142也有来自线路开关137的一个输入,它是通过连接线143从“与”门85(图6)提供的,在本例中,作为门72的低电平信号的结果它是低电平的,以及一个来自“或”门144的一个输入。“或”门144有一个来自线路开关138的输入,在本例中,它是被截止的,因此所提供的是一个低电平信号,以及来自“与”门134及线路开关136的两个输入。由于在连接线130上是一个低电平信号,门134是接通的。门134的其它输入是提供在来自门80(图6)的连接线145上的,在本例中门80提供的是一个低电平信号,从而门134向“或”门143提供一个低电平信号。开关136,在本例中是被启动的,提供来自连接线146的“与”门86(图6)的输出信号,在本例中由于线路开关82是被截止的,所以该信号是低电平的。结果,连接线126上的地址/数据信号可通过门142到达受向下的左/右锁存电路140控制的线路开关147。
被截止的线路开关140向两个“与非”门149L及149R提供一个低电平信号,作为结果,锁存电路148的两则都被启动。锁存电路148的两则在输入连接线150与151上接收来自“或”门144的输入信号,在本例中都是低电平的。从而将电路148调节为将它从“或”门133接收的高电平输入信号耦合到一条右侧输出连接线152,并将其左侧输出连接线153设置为低电平。在连接线152及153上的信号作为输入提供给各目的右与左“与”门154及155,它们具有来自“或”门156的反相控制输入。在本例中,“或”门156接收来自线路开关140、136与137的低电平输入,所以“与”门154及155是接通的,允许在通往右单元的右侧进入获取信号线66R上出现一个高电平信号,并且在通往左单元的左侧进入获取信号线66L上出现一个低电平信号。同时,由于电路148的右侧是被启动的,线路开关147被来自电路148的一条连接线157上的一个信号启动,使得在连接线126上的地址/数据信号出现在通放往右单元的一条右侧进入地址/数据信号线67R上。
如果电路127已被来自右单元的一个信号跨接所占用,右单元有呼叫状态而左单元在等封状态,一个高电平信号已经作用在连接线145上,结果是电路148的左侧被启动而右侧被截止。线路开关147将会被截止,而线路开关158会被启动。一个高电平将出现在通往左单元的左侧进入获取信号线66L上,而在线66R上则出现一个低电平信号。地址/数据信号将被在线67L上传输到左单元。
确认信号是分别由左及右单元加在向外的确认信号线65L及65R上的,后者通过“或”门159耦合到线路开关139及135。电路148具有发生确认脉冲的装置,通过连接线160将脉冲加在门159上。
从图4中可见,如果该节点是一个较高层节点,而且因此其下方路径段不是连接到两个单元而是两个较代层的节点,当来自一个呼叫单元的一个获取信号占用锁存电路74时,自由信号可能出现在自由信号线62L及62R中的一条或两条上。然而,由于这时门85及86的输出都是低电平,自由信号在锁存电路92及门88上没有作用。此外,如果获取信号跨越并占用锁存电路127,在连接线143及146上的信号同样都是低电平的,并且由线路开关140加在门149L及149R上的信号也都是低电平的,从而不论在线62L及62R上有无自由信号出现,这两个门启动锁存电路148的两侧。从而,占用该节点的一个上升获取信号的通行并不受该节点上自由信号的存在与否的影响。
从连接线124上的锁存电路92跨接到锁存电路127的一个高电平信号是与“或”门131输出的高电平信号竞争的。图10示出,“或”门131的输出被提供给电路127的一条输入连接线161,电路127直接给一个输入“与”门162提供一个输入并通过一个反相器对另一个“与”门163的一个输入端提供输入。结果,如果高电平信号同时出现在输入连接线124与161,电路127被来自“或”门131的高电平信号占用。
当进入线66上的一个获取信号占用锁存电路127时,一个高电平信号出现在输出连接线132上及一个低电平信号出现在输出连接线129上。结果,门134、128及开关135、136及137被截止,而开关138、139及140则被启动。线66上的高电平信号建立“与”门141并从“与非”门149L及149启动锁存电路148的两则,使得电路148不受线62L及62R上的自由信号的存在与否的影响。“或”门133的高电平输出信号根据通过“或”门144到连接线150及151的地址/数据线67上的信号的状态确定传输给连接线152或153中的一条。然后,这一信号,取决于两个开关147与158中哪一个是启动的,传送到右地址/数据线67R或左地址/数据线67L中的一条。“或”门156只接收低电平信号,所以“与”门154及155是启动的。
图12示出锁存电路148的细节。
在电路148中,“或”门133的输出通过连接线170直接提供给两个输入“与”门171及172,并通过延时元件173及174给输出“与”门175及176。“与”门175及176的输出分别通过连接线152与153提供给门154及155及“或”门177,并且通过连接线157与178给线路开关147及158的启动输入端。“门”177的输出提供给输入“与”门171及172的反相输入端以及单稳态触发器179的触发输入端,后者的输出加在连接线160上。
“或”门156的输出通过一条连接线加在单稳态触发器179的一个启动输入端上的反相器上,因此单稳态触发器179被启动,除非门156输出一个高电平信号。
“与非”门149L及149R的输出分别通过连接线181与182提供给两个“与”门183及184,后者通过连接线185与186分别控制输出“与”门175及176的导向输入。
“与”门183及184和“与非”门187及188一起包含在一个“与非”门锁存器中,“与非”门171及172分别接收输入“与”门171及172的输出,使得“与”门183的输出直接提供给“与非”门188的一个输入端。而“与门184的输出直接提供给“与非”门187的一个输入端。当在来自“与非”门149L及149R的两条连接线181及182上都出现高电平信号时,锁存器183、184、187、188的操作如同“与”门183、184是透明的一样。如果一个高电平信号只出现在连接线181及182之一上,只有对应的“与”门183或184可能以其输出“与”门175或176提供高电平信号。
从图11与12中可见,如果来自“或”门144的连接线150及151上的输出是高电平,一个高电平信号加在门171上而一个低电平信号加在门172上,从而,如果在连接线170上有高电平信号并且门183及184是透明的,则门175将向门155提供一个高电平信号,并且门176将向门154提供一个低电平信号。同样,当在170上有高电平且门183及184是透明的时,来自“或”门144的一个低电平信号将从门176生成一个高电平信号并从门175生成一个低电平信号。从而,地址/数据信号线67上的信号状态能够引导通过该节点的路线到左下方路径段或者到右下方路径段,左段是由一个高电平地址/数据信号选择的,而右段则是由一个低电平地址/数据信号选择的。这一布置使得有可能使用一个单元的地址或者其地址的一部分作为选择到达该单元的进入路线的向下部分的控制数据。
当连接线180上有一个低电平信号时,在“或”门177的输出上出现的一个高电平信号触发单稳态触发器179(它是被上升沿触发),从而生成一个通过连接线160及“或”门159传输的确认脉冲,呼叫单元从线65接收一个确认脉冲导致该单元将下一个导向位作用到地址/数据线67上。
当一个获取信号从左下方段跨越到右下方段时,地址/数据信号跨接在连接线126上而不影响电路148,它是被来自开关136、门134及开关138导向的。然而,当一个获取信号从右下方段跨越到左下方段时,地址/数据信号在连接线145上跨越,因此通过“或”门144提供给电路148的输入连接线150与151。地址/数据信号被设置成高电平而使锁存电路92选择跨接连接线124,并保证引导锁存电路148在左输出连接线153上生成一个高电平输出而在右输出连接线152上生成一个低电平输出。左至右跨越与呼叫单元的右至左跨越没有区别,为了在向上/跨接锁存电路92的输入连接线112上提供一个高电平信号,任何跨越都将其地址/数据线64设置成高电平。
搜索状态中的一个单元在其向外线64与63上生成一个高电平地址/数据信号及一个低电平获取信号。现在描述一个节点对从左下方段到达该节点的一个向外搜索的反应(从图6开始)。为了简化,首先假定在线63R与64R上的信号都是低电平的,并且在该节点上没有自由信号,即,线62L与62R上的信号都是低电平的。
“或”门71生成一个占用锁存电路74的高电平输出并使门73以及开关76和77启动,而门80以及开关81与82则保持被截止,并且从“或”门75输出一个高电平输出。由于线63L及64L分别为低电平与高电平,“与”门72也生成一个高电平输出,从而向“或”门83传送一个高电平信号,并且作为结果,“与”门84在获取线63上提供一个低电平信号。由于在44R上没有自由信号,“与”门85生成一个低电平输出信号。因此,“与”门89通过“或”门91向锁存电路92(图8)的“与非”门121的一个反相输入端提供一个高电平信号。这保证“与”门118在连接线123上提供一个高电平信号并且“与”门119在跨接连接线124上提供一个低电平信号。“与”门72的高电平输出也作用在“与”门73的一个反相输入端上从而使它生成一个低电平输出信号。“与”门73的低电平信号通过“或”门87传送到连接线112,在那里将它加在电路92的输入“与”门115上,并加在从“或”门83接收高电平输入的“或”门88上。从而一个高电平信号加在外向地址/数据线64上。提供给门134、120以及跨接连接线145、126、146及143上的开关135、136及137的信号都是低电平的,因而图6中的电路的工作并不影响图11中的电路。提供给跨接连接线130上的门134及128的信号是高电平的。
由于图6的电路对于在线64R上的高电平地址/数据信号与线63R上的低电平获取信号的组合在没有自由信号的情况下是对称的,这样一种组合以相同的方式传送给上方路段的外向线64与63。
同时到达线64L、63L、64R与63R上的高电平地址/数据信号与低电平获取信号组合之间的竞争是由锁存电路74解决的,如对高电平获取信号所描述的,因为“或”门71与78屏蔽了高电平获取与高电平地址/数据信号之间的差别。
如果当线64L上的高电平地址/数据信号与线63L上的低电平获取信号的组合占用锁存电路74而在线62R上存在一个自由信号时,一个高电平信号通过连接线44R提供给“与”门85,并且一个高电平信号因此被门85作用在“与”门89的反相输入端上,因此它输出一个低电平信号。线路开关82被截止,因而“与”门90输出一个低电平信号。因此,来自“或”门91的连接线113上的信号是低电平并且“与非”门121被启动,对来自“与”门114及“与非”门122的输入作出反应。门85的高电平输出也通过连接线143提供给“或”门87,它因而启动“与”门115并截止“与”门114。结果,锁存器121、122向门119提供高电平信号而向门118提供低电平信号,借此在连接线111上高电平信号传输到跨接连接线124并在连接线123上建立一个低电平信号。这样,外向线63与64被设置为低电平,单稳态触发器94不触发,并且向电路127(图10)的门163提供一个高电平信号。
如果124上的高电平信号占用电路127,在连接线129上出现一个高电平信号而连接线132上出现一个低电平信号,并且电路148在连接线170上接收一个高电平输入。来自门85的连接线143上的高电平信号通过线路开关137传送到“或”门142。来自开关138、门134及开关136到“或”门144的信号是低电平,并且到“与非”门149L及149R的信号是低电平,因而电路148选择连接线152与157为高电平而连接线153与178为低电平。来自连接线143的高电平信号通过“或”门156并从而截止单稳态触发器179及“与”门154及155。因而,在地址/数据线67R上出现高电平信号而获取线66R及地址/数据线67L及获取线66L的信号则保持低电平。
从以上的描述中可以理解,在线62R上存在自由信号已经导致在线64L上的高电平地址/数据信号及在线63L上的低电平获取信号的组合在连接线143上生成一个高电平信号,保证相同的组合跨越而沿右路径段向下前进。类似地,在线62L上的一个自由信号能够截获并导致占用锁存电路74的线64R与63R上的高电平地址/数据信号、低电平获取信号组合的跨越。
对于通信状态,地址/数据线必须能够传输高电平与低电平两种信号。因此,在一个搜索单元与一个自由单元已经建立了一条路线之后,来自搜索单元的获取信号被设置成高电平而地址/数据信号仍然是高电平,并且沿路线的节点保持这一路线并允许数据作为地址/数据信号传输。“或”门71、78(图6)及131(图11)保证从高电平地址/数据改变到高电平获取对所建立的路线没有影响。当线63L与63R上的对应获取信号变成高电平时,“与”门72及79立即分别提供低电平输出信号,使数据能通过“与”门73或80传输,并且如果已存在了跨接,则通过“与”门128或134。“或”门120的高电平输出将锁存器121、122与连接线112上的数据隔离。同样,电路148(图12)的锁存器183、184、187、188被“或”门177从连接线150及151上的数据隔离。
当来自上方路径段的进入线67及66上的高电平地址/数据信号及低电平获取信号占用锁存电路127时,一个高电平信号从“与”门141(图11)通过线路开关140提供给“与非”门149L及149R,因而它们被启动,对线62L及62R上的自由信号存在与否作出反应。线67上的高电平地址/数据信号通过线路开关138及“或”门144传送到连接线150及151。如果没有自由信号出现,“与非”门给“与”门183及184(图12)加低电平信号,从而防止在连接线150及151上的高电平信号占用电路148。当节点上没有自由信号时,连接线181及182上生成的高电平信号被在线67及66上出现的高电平地址/数据信号及低电平获取信号改变成低电平信号,并且来自搜索单元的信号组合不能进一步向树的下方传送。如果在两条线62L及62R上都有自由信号,“与非”门149L及149R向“与”门183及182提供高电平信号,使连接线151及150上的高电平信号选择输出门175生成一个高电平输出,而输出门176生成一个高电平输出,因而,如果自由单元存在于两条左与右下方路径段下面,电路148选择左段。
如果一个自由信号只存在于线62R上,“与非”门149R提供一个高电平信号启动“与”门184,而“与”门149L提供一个低电平关断“与”门183,借此将一个低电平信号从连接线185强加在锁存器“与非”门188上。因而,“与”门176生成一个高电平信号,而“与”门175生成一个低电平信号。相应地,线67上的高电平地址/数据信号通过到达线67R。来自“与”门141的高电平信号保证门154及155在获取线66R及66L上生成低电平输出信号。如果只有在线62L上出现自由信号,电路148的操作是这样的,使得线67的高电平地址/数据信通过到线67L。从而一个自由信号将高电平地址/数据、低电平获取组合向下引导到该自由信号的源。
当从一个搜索单元到一个自由单元的一条路线已被一个高电平地址/数据信号及一个低电平获取信号建立时,该获取信号被设置为高电平。这导致两个“与非”门149L及149R都向电路148提供高电平信号。然而,由于锁存器183、184、187、188已经被“或”门177的输出隔离,这一状态不发生进一步的改变,并且连接线157及178上的输出信号的状态保持被与来自线62L及62R的一个或多个自由信号交互作用的高电平地址/数据、低电平获取组合所设定的状态。
在锁存电路74,而实际上是在锁存电路127上可能发生高电平地址/数据、低电平获取组合与高电平获取之间的竞争。该节点电路的操作方式取决于电路74是被该高电平地址/数据、低电平获取组合还是被该高电平获取所占用,以及电路127是被该组合还是该高电平获取所占用。
由于当在“或”门131上的一个进入信号占用电路127时门134、128及开关135、136及137是被截止的,两条通过该节点的路线可以并存,即,一条路线通过电路74及82从下方路径段通往上方路径段,一条路线通过电路127及148从上方路径段通往下方路径段中的一条。然而,当建立了一条跨接路线时,只有一条通过该节点的路线能够存在,这是因为电路74与127封锁了另一条路线。
从上述对节点的操作的说明中可以理解,由一个单元向网络中发送的一个高电平获取信号及一个低电平地址/数据信号构成的一个呼叫信号将自动地在它向其发送的二叉树中向上传送,即,将在各节点上从一条下主路径段传送到上方路径段,直到在一个选择的节点中该地址/数据信号被设置成高电平以建立一个跨接。作为二叉树结构的一种结果,由呼叫单元的一个上升的呼叫信号所构成的一条路线自动地对应于该二叉树的根节点与定义该单元的地址的单元之间的一序列路径段,但次序相反。因而,在构成到达另一个单元的一条路线时,呼叫单元只需在路线的上升部分以计数确认脉冲来计数节点。使用地址/数据信号的导向,只需要在该路线的下降部分上进行。以一个呼叫信号构成一条路线可称为由正常获取的构成。
一个搜索信号从一个单元以与一个呼叫信号相同的路线上升。在路线上升部分上计数确认脉冲,使该单元得到信息,该信息使其能够计算它自己在相关的二叉树中的地址中的最低位中有多少位是与该树中找到的自由单元的地址不相同的信息。
图13示出通过网络14的一个二叉树,从一个处理器单元PC1到另一个处理器单元PC2的一条路线的构成,其中处理器单元PC1是在呼叫状态中而另一个单元PC2是在等待状态中,并且假定该两个单元是在一棵具有八个叶位置的子树的远方叶位置上,只示出了相关的五个节点。每个节点当它被高电平的获取信号占用时向呼叫单元PC1发送回一个确认信号。这些脉冲比该等待单元PC2接收到高电平获取信号时发送回呼叫单元PC1的长确认信号为短。只有等待单元PC2的地址(目的地地址)中与呼叫单元PC1的地址中不同的部分中的一部分被用于引导该高电平获取信号。例如,如果PC1的地址的最后三个有效位为011而PC2地址的最后三个有效位为011,则只有10被用于引导该高电平获取信号依次从节点4与5向下到达等待单元PC2。三个互异位111的最高位并不需要因为另一条向下的段是在路线的最高节点上而自动选择的,即本例中的节点3,在那里发生跨越。为了在获取的点上产生跨越,呼叫单元PC1从等待单元PC2的地址的不同部分的位数中减去一的数字中数去从路线的上升部分中这些节点(节点1与2)接收到的确认脉冲来计算将地址/数据线设置为高电平的点。一个等待单元的地址的不同部分此后将称为截短的目的地地址。呼叫单元通过在相关二叉树中被呼叫的单元的全地址与同一二叉树中呼叫单元自己的地址进行比较找出与呼叫单元自己的地址不同的被呼叫单元的地址部分来计算该截短的目的地地址。在图13的例子中,每一单元的地址假定为七位,并且另外提供了一个最高位,位1,来指定其它七位(位2至8)为地址位。
图14A示出从一个搜索状态中的单元PC1到另一个自由状态中的单元PC2的一条路线的构成。这些事件的序列可称为一个自由空间(F.S)搜索序列。在本例中假定来自搜索单元PC1的搜索组合,高电平地址/数据、低电平获取,在一棵八个叶的子树的根节点上被来自由单元PC2的一个自由信号所截获,因此该根节点是从该搜索单元PC1来的路线中到达的第三节点,节点3。只有节点1和2传送确认脉冲回到搜索单元PC1,从或门156来的一个高电平信号在第节点3,4,5阻止单稳态触发器179,即在最上面的节点和路线中所有下部节点上。当在PC2收到高电平地址/数据、低电平获取组合时,自由单元PC2传送一个长确认脉冲回到搜索单元PC1,从在路线的向上部分的各节点,节点1和2,的确认脉冲被搜索单元PC1用来为传送到自由单元PC2而计算它自己的缩短地址,然后如果需要的话,单元PC2可以计算并传送它自己的适合的缩短地址到搜索单元PC1。
当在一个呼叫单元和一个等待单元之间建立了一个路线时,数据就从呼叫单元传送到在从呼叫单元来的输出地址/数据线64上的别的单元。从别的单元送出数据,在先前是等待单元的,就从那个单元通过向外的确认线65传送给呼叫单元。从节点的电路图中将可看到,不管在线上什么地方,传送地址/数据信号的门或开关都是接通的,为确认信号传送回到呼叫单元的线开关是启动的,这样从等待单元来的数据的传送线就建立了。
同样地,当在一个搜索单元和一个自由单元之间建立了路线,从搜索单元来的外向的地址/数据线就变成传送数据到别的单元(在先前是自由单元)的线,而从这个虽是自由单元来的外向的确认信号线就变成传送数据回到搜索单元的线。
在图14A的自由空间搜索中,搜索信号是一个高电平地址/数据信号伴随着一个低电平获取信号并且沿着已示出的二叉树逐个节点上升,直到在一个节点遇到一个自由信号,在本例中这个节点是节点3。这样搜索信号取初开始它的路线的下降部分,因此最近的节点受自由信号的限制。这样的过程可以称为一个无定向的、局部的、自由空间搜索。在搜索信号达到节点与搜索单元的距离达到一个最小数目之前一个自由空间搜索不能开始,这在某些情况下会是所希望的。这样的自由空间搜索可以称为无定向的、远程自由空间搜索,在图14B中示出一个例子。在无定向的、远程自由空间搜索中的搜索信号起初由一个低电平地址/数据信号伴随着的高电平获取信号,因此从搜索单元(图14B中的PC1)上升,正如一个呼叫信号在正常获取中的同一方式。搜索单元,PC1,对从在路线的上升部分的节点(节点1和2)收到的确认脉冲进行计数,直到节点数目比要求下降开始的最小距离节点少1时为止。搜索单元随即切换它的搜索信号到一个由低电平获取信号伴随的高电平地址/数据信号,因此这低电平获取信号继续下去,可能通过多个较高节点,直到被一个自由信号转向。在图14B中,假定在节点了有一自由信号存在,这样,路线的下降部分在最小距离节点立即开始,在本例情况中是节点3。路线的下降部分以同一方式完线,为前此所描述的一个非指向的局部自由空间搜索。
对于形成参照图13、14和14A描述的过程的通讯路线,各单元储存它们自己的地址以备路由计算之目的,如所描述。这种各单元储存自己地址的安排,在本文中称为绝对寻址过程。
图15说明使用多于一个的二叉树以形成网络14怎样能够在各单元对11之间不止仅仅较多的可能路线,而且有不同长度的路线,这样在整个网络14中就可以更平均地分配。在图15中,三个不同的二叉树的部分201、202、203和205被示意地示出,其叶位置位置连接在单元11,只有几个指明出本。部分202和203由在204的一个“环绕”组成一个完整的二叉树。部分201是本简单例子中的另一个树的整体。部分205是没有完全示出的另一个相等的二叉树的子树。可以看到,对这第三个树也有一个环绕。在相同的两个单元11之间的不同长度的路线的例子,以粗线在206、207和209示出。一个区域209经放大示出的以说明将树201、205、202和203与六个单元11的细节。部分202和203的边界在210指明。
图16说明以小方块表示的各单元11的优先的二维布置。这个布置是基于一个四单元方形陈列的单位模式,将单位模式分为四个一方,进一步将这样的分组布置分为四个一方,以此类推,这样每一个子模式是四个较小模式的方形布置,并且所有子模式布置到一个较大的四个一方的模式中。在图16中只有一个二叉树示出连接各单元11。一个节点的位置在211指明。在此例中,根节点示出连接到一个输入/输出单位212以访问任何单元11。
图17说明图16的布置的一小部分以示出个别的单元11怎样能够分配到地址。
图18说明比图16的单元11数量更少并且可以用两个二叉树213和214互相连接的一种方式,分别用粗线和细线示出。然而,更可取的是二叉树之间的重叠尽可能接近1/3∶2/3之比,如同图15的201和202、203各树的情况。图19说明在二维中两个树互相连接成一个(32×32)=1024个单元11的方形陈列而可以达到的1/4∶3/4之比。一个二叉树215被示出连接各单元11,其根节点是在诸单元11的方形陈列的中心。与单元陈列同样大小的一个方形的部分外形216代表一个第二二叉树的观念位置,其根节点会在位置218。陈列的这些单元11位于外形的内部是连接到第二二叉树,恰如其根节点是在218。在陈列右手上方第十六215的64个单元是连接到第二二叉树,恰如它们占领一个镜象,相对于陈列左上到右下的对角线,位移到外形216的左下第十六220,其在位置221的单元被连接,似乎它是在角位置222。同样地,在223的八乘二十四的单元被连接,似乎在陈列的水平中线上反射而位移到区域224,而在225的八乘二十四的单元被连接似乎被反射并位移到区域226。
图20说明一个单元的方形陈列怎样能够被一个由四个二叉树组成的网络互相连接,其诸单元位于每个树的叶位置,每个单元占领一个不同的在各个树中的叶位置位置,而这些树在二维中的各维中以1/3与2/3的比率彼此重叠。如同在前述的平面陈列中一样,一个四单元的方形的单位模式是陈列的基础,而陈列每一边的单元数目都是2的整数幂。图20中假定诸树的第一个227的叶位置位置是映射到单元陈列上。树227的根节点位置在228指明。别的三个树229、231和233的观念位置示出是彼此并和树227重叠,在两个维上以1/3与2/3的比率,它们的根节点位置在230、232和234分别指明。用反射和位移的方法,在与树227相重合的陈列位置边界之外的树229、231和233的区域可以映射到陈列上。
图21说明,在一个具有16个单元的方形陈列因而有16个叶位置位置的简单布置中,用四个二叉树在至少一维中以1/4与3/4的比率重叠而达到的互相连接。四个树的根节点位置在235、236、237和238分别指明。对有根节点位置235的树其单元位置从1-16编号。各个树水平和垂直重叠的程度在图表的下面指明,对有根节点位置238的树的数值端节点位置,作为一个例子示出在有根节点位置235的树的数值叶节点位置之下。为简明起见,环绕连接并不示出。
图22示出用四个二叉树和放在一个四单元方形单位模式上的一个方形单元陈列所能达到的较大规模部分的互相连接模式。这样的模式适合于要制造的大规模集成电路的基础,该电路包含数千个用多个(例如四个)形成此通讯网络的重叠的二叉树所互相连接的单元。应当注意,在任何一对单元之间提供的不同的互相连接的多样性,该模式保持一种正规的次序。在图21的底部给出的两个对应的数值叶节点位置说明一个线性的单元陈列不能够提供这样的次序。
图23说明一个单元11的16×16陈列240,具有由四个二叉树241、242、243和244形成的通信网络,分别以实线、点线、短虚线和长虚线指明,将可看到,根节点位置是在陈列边界之外并且在从每个根节点来的路径上段提供了一个输入/输出终端245。为了简明省略了环绕连接,但在另一个平行平面中实现,作为跨越陈列的垂直和水平的单一链接。例如,“a”连接到“b”。
电源、地和时钏脉冲的电源线也为一个在制的大规模集成电路提供了,按照在此以前描述过的平面模式。在配合使用多个这种集成电路以构成一个实施本发明的处理装置的一个例子中,每个这样的电路是由个别的集成电路提供它自己的时钏脉冲源以保证数据输出的完整性。通过二叉树的数据传送是不同步的而且时钟相位差在这个例子中的这种线路的大规模组合中是不显著的。
输入/输出接口方法的两个例子在图24中说明。这些方法之一中,一个常规的处理器246在一个叶位置位置上连接到网络内。在另一种方法中,一个常规的处理器247程序模拟许多单元248和它们占有叶位置位置的网络的那一部分。这个模拟的网络部分的根节点位置,例如节点位置249和250,通过串行端口251和252链接到实际网络的适当的点上。交叉路径,例如在253上所指明,可以提供为允许跨越外部处理器247转移。
外部处理器246用作一个特殊单元13,而且模拟的单元248也用作一个特殊单元13。然而,一个特殊单元13能够同等地由标准单元12的绝大多数结构与一个为与所需要的外围设备相连接的串行接口相结合而组成。
使用二叉树构成通信网络14允许用于单元11的二进制地址在网络中用作路线选择或者目的地信息。在每个单元中提供了寄存器以存储这种信息从而它们的长度就与需要构成完整地址的位的数目有关。例如,如果所有单元都在一个二叉树的叶位置位置上,有524288个,多于十九位的寄存器将能存储一个完整的地址和一个或更多的别的位。
在一个实施例中其中的网络包括其叶位置数少于单元的总数,该网络包括相互连接这种树的根节点的手段并且提供了区别这些不同的树的地址位。
图25是由单元11和一个网络支持的进程的简化的示意表示,在该网络中一个具有一个名字和一个定义的复杂操作当那个操作要用某些给定的复元执行时就被复制。一个处理比单元A已经存储了这个操作的名字,在图25中以FUNCTION-NAME(函数名)标志,而列更远单元11的指针包含这给定的复元。单元11的一个群,在图25中以嵌套的三角形表示并且以LEXICON(辞典)标志,包含存储着复杂操作的名字和定义的单元11。FUNCTION-NAME的定义存储在单元11的一个群B、C、D、E中,别的未示出。单元的这个群应当被看作包括在LEXICON的较小的三角形中,这个三角形有它最高点单元存储FUNCTION-NAME。
在一个简单的操作方式中,单元A还用一个列在LEXI-COM中的FUNCTION-NAME的指针装入。另一种方法,如图25所表示,只有一个到整个LEXICON的最高点单元11的一个指针才装入单元A,于是提供一个比较和通信操作,其中单元A传送FUNCTION-NAME和一个返回指针到它自己到最高点单元,这个单元用FUNCTION-NAME和自己包含的名字比较,并且,如果测试为负,则传送FUNCTION-NAME和对单元A的返回指针到下一个单元11,这个单元保持着一个名字并且是同一个测试的在LEXICOIN中的予定的次序中的下一个。在另一个方法中,如果在最高点单元的测试为负,最高点单元传回单元A一个测试失败信号和一个到LEXICON里的次序中的下一个单元11的指针,然后单元A重复这个进程,传送FUNCTION-NAME和一个指针到它自己到在LEXICON中的下一个单元11。这种测试和传送继续下去直到FUNCTION-NAME到达在LEXICON中的一个单元11提供结果为正,于是那个单元传送到单元A,使用返回指针以构造一条通过网络的路线到单元A,一个指针到FUNCTION-NAME的定义的头单元11,在这个例子中它是一个到单元B的指针。当单元A收到到单元B的指针,单元A搜索一个在自由状态的单元。这样一个单元11在图25中以单元b标志。已经定位了自由单元b,单元A用到单元B的指针装入单元b,由LOAD(PtrB)标志,并且,实际上,是一个呼叫指向的单元的指令,并且等待。单元b呼叫单元B而单元B在响应中传送它的函数的(表达式)内容到单元b。单元B包含一个为内部操作的指令I,它产生复杂运算FUNCTION-NAME的最终结果,一个另外的名字,以S标志,它用符号表示一个并入在FUNCTION-NAME的总定义里的子定义,和到这定义的两个单元(单元C和D)的指针。在这个例子中假定,LEXICON包含S的定义。在另一种方法,S可以标志一个值,诸如真或假,或者1或0。这样,单元b就被单元B用I、到C和D的指针和S所装入。当接到这些数据时,单元b测试它现在包含的数据的种类以确定它是否有一个内部运算指令和该运算可以用以立即执行的数据。测试为负,因为数据的一部分是指针,而且,如果S是一个名字,另外一部分是符号数据,不是一个值。所以单元b搜索两个自由单元,并且在定位了两个自由单元c和d后,就用到单元C的指针和一个访问单元C的指令装入单元c,用到单元D的指针和一个访问单元D的指令装入单元d。因此单元c和d分别呼叫单元C和D而被那些单元装入并且执行对收到的数据种类的测试。在图25中用例子方式指明,单元D包含到单元E的指针和进一步定义的单元,这样单元d必须定位另外的自由单元11。单元b也访问LEXICON以获得S的定义。
-当这样地利用和装入的自由单元之一确定它的内容对它的测试提供结果为正,该单元执行它的指令并且把结果传送到起初定位它的单元。这样一个单元可以称为父单元,而被定位的原先自由单元叫子单元。例如,单元d是单元b的子单元,而是单元e的父单元。这样,一个子单元能够传送一个结果到它的父单元,任何子单元是被其父单元用一个返回指针即,一个到其父单元的指针所装入。这样,如在图25中所指明,单元b是被单元A用一个到单元A的指针所装入,单元d是被单元b用一个到单元b的指针所装入,以此类推。
当一个父单元有多于一个的子单元,由子单元进行的复制操作就会并行的发生到相互连接这些单元的通信网络的状态所允许的程度。优先地,一个父单元的多于一个的子单元与父单元的通信通过不同的二叉树配置使得子单元之间的竞争得以避免而又允许同时采集。
定义单元B、C、D、E等等的内容以不发生执行的方式保持着,这种状态在图25中用邻近该处的相应单元的引号表示。这样,尽管在复制由单元b、c、d、e等等形成的定义中求值能够进行,在LEXTCON中在单元B、C、D、E等等中禁止求值。
当单元11作为从一个特殊单元B来的输入装入的结果或是作为一个复制操作或一个或更多的别的单元的某种其他活动的结果已经装入,单元11的译码和控制单位16(图2)起初测试寄存器的一个读写装置的内容,图2中标志中央寄存器17,这个寄存器和单位16中的一个寄存器一起包含装入到这个单元的数据。在单位16中的寄存器标志为原始寄存器(在图2中),因为它包含在中央寄存器17的内容上实行一个操作而装入此单元的任何指令,按照归约规则简化代表表达式元素的数据集。装入原语寄存器的指令在原语指令不能被多个能最后给出同一结果的较简单的指令所取代这个意义上是基本的。单元16进行的测试包括确定原语寄存器内容的测试和确定保存在寄存器17中的数据的种类的测试。如果发现一个地址,即属于指针类的数据,此单元可能被要求定位一个自由单元,它是要变成一个子单元的。如果在寄存器17中发现符号数据,即代表一个名字的数据,此单元将自己置于一个寻找由此符号数据代替的定义或值的状态。如果发现是值数据,即代表一个数值或逻辑值的数据,此单元将自己置于传送值数据到它的父单元的状态,使用一个已经存储在寄存器17中的指针到父单元。同样,如果测试指明寄存器17的内容不再需要处理,此单元将自己置于传送一个自由状态指示符到任何子单元的状态而随后将自己切换的这自由状态。此外,一个予定种类的数据可以在个别的中央寄存器17之间传输。
在一个单元内处理数据的详细的例子在此后参照图40到64详细地描述。
图2中所示的单元12是在四千二叉树布置中的各该叶位置上连接到网络14的,所以有四千端口18、19、20和21。寄存器15包括只读寄存器22(是由可编程只读存储器构成的)其中存储各个二叉树布置中的单元12的地址。一个附近的输入/输出特殊单元13的地址也可以储存在寄存器22之一中。
每个端口18至21包括首长和从属传送和接收线路,和自由信号传送线路,在图2中标志为FREE SPACE(自由空间)。
图26A说明构成一个标准单元12的四个端口18至21的从属和自由空间电路的逻辑电路,并示出一个端口仲裁电路260的两个单位261和262的相互连接。
各品端口的自由信号线62发源于一个两输入或门263的输出,有一个输入连到一个单元自由信号线264它从一个单位传送一个信号,叫做端口仲裁电路260的主仲裁电路261。在线264上的信号指明,单元是在自由状态当信号是高电平的,而当信号是低电平的则单元不在自由状态。所以当单元自由信号是高电平的则所有自由信号线62是高电平的。
图26A中所示电路对四个端口中每一个都是一样的,所以只有第一个端口即连到网络14的1#树的1#端口的电路将加以描述。外向的确认线65发源于一个两输入“或”门265的输出,“或”门265有一个输入由一个输出的数据线266供给,数据线266是从端口仲裁电路260的第二单位,叫做事务仲裁电路262,来的四个输出268之一所控制的线路开关267来的。从叫做事务仲裁电路262的第二单位来的四个输出之一268所控制的线开关267来的,端口仲裁电路260。在1#端口的输入数据出现在线269上,它供给一个线路开关270也由事务仲裁电路262的输出268所控制。线269由一个两输入“与”门271的输出供给,它从输入地址/数据信号线61收到它的输入并且得到1#端口的信号线66,这样当获取信号是高电平的时数据只能出现在线260上。事务仲裁电路262用在其输出268上的信号控制从单元内部到输出数据线266的数据通道和在输入数据线269到单元内部的数据通道,如果在输出268上的信号是高电平的则线路开关267和270都是导电的,如果在输出268的信号是低电平的则都是不导电的。输出数据和输入数据对其他三个端口的每一个,#2、#3和#4,同样地由事务仲裁电路的相应的输出所控制,如图26A所示。
事务仲裁电路262有四个输入是直接从四个端口#1、#2、#3和#4的四个输入获取信号线66取来,如所示。事务仲裁电路的功能是选择第一个高电平输入获取信号到过此单元或者如果多于一个高电平输入获取信号同时到达,以一种予定方式选择一个。选择是由事务仲裁电路262在其四个输出中只设置一个高电平的。事务仲裁电路262的线路在图26F中示出,从其中收可看到由三个相似电路272、273和274组成一个组合,其两个,273,274,在四条线66上接收信号作为输入而供给从事务仲裁电路262提供四个输出的四个线路开关275、276277、278。从供给线路开关275和276的线路272来的两个输出也提供输入到一个两输入OR门279,它提供一个线路274的输入。线路273的两个输出也同样地耦合到线路274的别的输入上。线路272、273和274的每一个的操作从与前已描述的图7的线路的比较中将可理解。线路272在到达1#端口和2#端口高电平获取信号之间进行选择、线路274以控制线开关275、276和277、278的脉冲的方式在线路272和273的输出之间进行选择。当事务仲裁电路262已经选择了四个输入获取信号之一作为是第一个收到的高电平获取,事务仲裁电路262就维持相对应的能够启动相对应的一对数据线开关的高电平输出并且保持禁止另外三对数据线路开关,直到第一个收到的高电平获取信号成为低电平一段足够的时间以开锁电路272或273。例如,如果要收到的第一个高电平获取信号是在1#端口的线66上的一个高电平获取,则输出268被事务仲裁电路262置为高电平,而它的另外三个输出保持低电平。结果是,这对线路开头67和270是启动的而另外三对数据线路开关(未编号)仍是禁止的。此后,当1#端口的线66上的高电平获取成为低电平在一段足够的时间后在268的高电平输出信号被一个低电平输出信号取代而线路开关267和270被禁止了。由衅26A可以看到,如果高电平获取信号同时出现在1#端口和2#端口,于是2#端口的高电平获取被电路272选中,如果高电平获取信号同时出现在3#和4#端口,于是3#端口被电路273选中。同样地,如果电路272和273的输出同时成为高电平的,电路273的输出被选中。所以,在本例中四个端口的选先次序是3#、4#、2#、1#,而3#有最高优先。
自由信号和输出确认信号“或”门263和265从一个三输入“与”门290接收它们的第二输入。门290从1#端口的输入地址/数据信号线67直接接收一个输入,并且通过一个输入反相器从1#端口的输入获取信号线66接收一个输入。对门290的第三个输入是由端口仲裁电路260的第一个单元的一个输出291供给,这第一个单元称为主仲裁电路261。主仲裁电路261在线264上的单元自由信号之外提供四个输出291、292、293、294,其中被选中的一个当单元一离开自由状态就置为高电平。当单元在自由状态,所有的输出291-294都是低电平的。如果单元在自由状态并且一个搜索信号到达端口1#到4#中的一个,输入地址/数据线67为高电平而输入获取线66为低电平。例如,1#端口在单元在自由状态时接收一个搜索信号,就被供给一个高电平地址/数据信号和一个低电平获取信号作为给“与”门290的两个输入,而主仲裁电路291在线295上接收高电平地址/数据信号。主仲裁电路261置其输出291为高电平以响应在线295上的一个高电平信号,而置在线264上的单元自由信号为低电平。这样“与”门290被启动以提供一个高电平输出给门263和265,而由线264供给到四个“或”门263的信号为低电平。从而,在端口2#、3#和4#上的自由信号线62置为低电平,但是1#端口的自由信号线62已经接收了搜索信号,仍由门290的输出维持高电平。并且,从门290的高电平输出通过1#端口的“或”门265耦合到它的输出确认线65作为一个长确认脉冲,这个线65维持高电平直到发出搜索信号的单元切换到获取信号高电平从而从“与”门290产生一个低电平输出。从1#端口来的线62上的自由信号也维持高电平直到高获取信号到达1#端口,因为它的高电平状态被要求来维持从搜索单元到接收单元的路线直到高获取信号通过这同一路线到达接收单元。因为一个自由状态单元对之响应的搜索单元变成原前自由单元的父单元(后面将解释),原前的自由单元要区分从父单元来的通信和从别的单元来的通信。进行这种区别的手段是部分地由主仲裁电路261使用它的四个输出291至294以控制两组296和297来提供。四个线路开关。四个线路开关296控制线295和从地址/数据信号线67来的三条对应线到一个“或”门298的四个输入的联接。四个线路开关297控制事务仲裁电路262的四个输出到一个“或”门299的四个输入的联接。由此而布置为,在地址/数据信号线67上的信号和指明被主仲裁电路261选中的端口的获取信号线66选中与否的信号分别出现在“或”门298和299的输出上。被离仲裁电路261这样选中的端口称为主端口。主仲裁电路261还在一条线300上从单元内部接收一个锁存信号作为输入。主仲裁电路261的线路图示出在图26G。当单元在自由状态,线300上的锁存信号为低电平。其后当主仲裁电路261选择一个端口作主端口时,单元检测从主地址/数据“或”门298来的输出并且在线300上的锁存信号为高电平。置线300为高电平就锁存了主仲裁电路261的线路状态而使它对在输入地址/数据信号线67上的信号变化不敏感。
从图26G可以看到,主仲裁电路261包括三个锁存电路301、302和303,分别提供输出信号Z和Z、X和X和X和Y和Y。四个两输入“与”门304、305、306和307对锁存电路的输出译码以提供主仲裁电路261的四个输出291、292、293和294,如下O/P291=X.ZO/P292=X.YO/P293=X.YO/P294=X.Z从这些关系中可以看到,当单元在自由状态时,倘存电路301、302和303的状态或者是X.Y.Z或者是X.Y.Z。这两个状态被一个“同”门308和一个两输入“与”门309解码。“同”门308的输出和Z。“与”门309的输出供给单元自由信号线264。
线300上的锁存信号被供给到两个三输入“与”门330和332,又分别供给输入到两个四输入“或”门331和333。与门331和333的输出分别供给锁存器302和303的输入。线300上的锁存信号也供给到一个两输入与门334上,门334的输出通过一个两输入或门335耦合到锁存器301的输入上。“与”门334的另外的输入由锁存器301的2输出提供。锁存信号也供给到一个三输入“与”门336的一个输入上,门336供给它的输出给“或、门331和333。
因为当单元在自由状态时锁存信号为低电平,从“与”门330、332、334和336来的输出在自由状态都是低电平,从而使锁存电路301、302和303为自由,以响应被一个三输入“与”门339的输出启动的两个“与”门337和338的输出,如果X.Y为真,或者响应一个四输入“与”门340的输出,如果X.Y为真。
从端口1#、2#、3#和4#来的输入地址/数据信号分别供给到编号为1#、2#、3#和4#的终端,如图26G。
直到一个高电平信号到达终端1#到4#之一以前,从“与”门337、338、342和一个四输入“或”门345来的输出都是低。从而从“或”门331和333来的输出是低电平并且铛存器302和303置于X.Y为真的状态。从而“与”门339产物一个低输出启动门337、338和342,而“与”门340被X.Y.Z为真的状态启动。当一个高电平信号到达终端1#至4#之一,“或”门345供给一个高信号给“与”门340,“与”门340在响应时通过“或”门331和333供给一个高电平信号给锁存器302和303的输入,然后这两个锁存器被切换以提供X.Y状态为真。因为X.Y.Z环在为真,“与”门339供给一个高电平输出到“与”门337、338和342。
在1#端口的高电平地址/数据信号现在就通过被门339的输出启动的“或”门341、“与”门342和“或”门335耦合到锁存器301的输入上,锁存器301于是被切换到产生输出2的状态。高电平地址/数据信号还分别通过两个“或”门343和344耦合到“与”门337和338,当时这两个“与”门仍被门339所启动。因为X.Y已经是真,从门337和338来的高电平输出不引起锁存器302和303的变化。然而,由于锁存器301现在输出Z,门304提供一个高电平输出291指明选择1#端口为主端口。由于Z现在是真,从门339有一个低电平输出禁止“门342、337和338,从而把锁存器301、302和303与终端1#、2#、3#和4+#上的变化隔离。锁存信号置为高电平以响应高电平输出291,这样“与”门336分别维持锁存器302和303产生X和Y。在线264上的单元自由信号当Z成为低电平时就成为低电平。如果当单元是自由状态时到达的高电平信号是在2#端口,只有两输入“与”门346供给一个高电平输出通过门343、337和331耦合到锁存器302。锁存器303从门340、336、338和332只接收低电平输入,而从锁存器302来的低电平X输出在锁存信号置为高电平时仍保持门332的输出为低电平。门336的输出仍为低电平因为锁存器301没有切换,即Z仍为真。从而门305置输出292为高电平。
一个到达3#终端的高电平信号当单元是自由状时同样地导致一个高电平输出293。在终端3#的高电平信号通过一个三输入“与”门347和门344、338和333耦合到锁存器303以产生状态X.Y.Z为真。
当一个高电平信号到达4#终端而单元在自由状态,一个四输入“与”门348就将这高电平信号耦合到门341再通过门342和335到锁存器301,锁存品301就切换以提供Z为真。在这情况发生之前,锁存器302和303通过门340的动作被切换为提供X.Y为真,但是当从门340来的输出回到低电平时,它们又被切换回来以提供X.Y为真。这时X.Z变为真而门307置输出294为高电平。虽然锁存信号因此而那时成为高电平,只有锁存器301被通过门334的Z的反馈所保持。与门336,330和332继续提供低电平输出由于X.Y为真。
当单元不在自由状态时,#1到#4的端口之一般选中,在线300上的锁存信号为高电平,X.Z为真,或者X为真,或者Y为真。当锁存信号为高电平时,输出X或Y或Z由通过各自的“与”门330或332或334的反馈所保持。从而当在线300上的锁存信号置为低电平时,由反馈保持的任一锁存器301、302或303被切换到它的另一状态。因此当单元不在自由状态时,锁存信号置为低电平而锁存器301、302和303置为提供X.Y.Z为真。
图26B表示形成一个用于正规获取操作即在传送一个呼叫信号期间的端口的首长线路的那个部分的逻辑线路。
一个内部信号NACQ的状态,它对正规获取操作为高电平否则为低电平,对一个正规获取(呼叫)信号提供高电平获取信号ACQ。所以信号NACQ就施加到一个输出接头281。要传送的地址/数据信号出现在一个“或”门282的输出上,而确认脉冲和输入数据都施加到一个接头283上。一个连到“或”门282的输入接头284供给从被调用单元的地址到网络路线从发生跨接的节点到被呼叫单元的向下部分的控制节点所用的位,和其后传送的任何数据。或门282的另一个输入是由从接头286接收一个跨接控制信号X-OVER的输入的“与”门285的输出供给。当交叉要在一个节点上起作用时,X-OVER信号为高。“与”门285有一个从触发器287的Q输出来的另一个直接输入X,和一个输入确认信号接头283来的反相输入。接头283在粘附在从这单元来的路线上的每个节点提供高电平信号否则为低电平而当一个跨接起作用时为低电平。
在接头283上收到的数据被一个内部生成的接收状态信号RX-DATA在“与”门288施以门控。
图26B中所示其他线路用于生成状态信号,线路包括一个能发器289在其Q输出上生成一个信号Y和一个触发器290在其互补输出Q上生成一个信号Z。
图26C表示形成一个用于搜索操作即传送一个搜索信号进入网络14期间的端口的导向电路的那个部分的逻辑线路。
一个内部信号FSS的状态,对搜索操作为高电平否则为低电平,是在接头311上直接供给到一个具有触发器313的Q输出供给的反向输入的“与”门312的一个输入。
在内部信号FSS成为高电平紧紧以前,定时电路314输出为低电平使得触发器313从以来自定时电路314的输出和具有触发器输出Y与内部信号FSS作为输入的“与”门316的输出作为输入的“或”门315接收一个低电平输入。从而此时触发器输出Y为低,并且来自“与”门312的输出X为低电平。当内部信号FSS成为高电平,触发器输出Y仍为低电平因为来自“与”门316和定时电路314的输出没有变化。来自“与”门312的输出X成为高电平因为终FSS为高电平而Y为低电平。
高电平输出X是通过一个¥或”门317而供给作为搜索信号的高电平地址/数据信号,而低电平输出信号Y是直接供给作为搜索信号的低电平获取信号。
从网络14沿着路线的上升部分的节点接收到的确认脉冲,即先于一个自由信号截取搜索信号,是太短以致不能从定时电路314产生一个输出,这样在触发器313的输入中没有变化。同样一个“与”门318以直接接收低电平输出Y和通过一个输入反相器接收高电平输出X而保持封闭,这样直接供给到门318的一个第三输入的确认脉冲并不通过门318。
当一个自由状态的单元被搜索信号达到,来自“或”门317的高电平地址/数据信号和来自触发器313的低电平获取信号从图26A的“与”门290中产生一个高电平输出,“与”门263在从图26A的“或”门265来的确认信号线65上提供一个高电平信号。所以这个高电平确认信号出现为定时电路314的输入,定时电路314在其予定的延迟时间之后产生一个高电平输出信号,它通过“或”门315活动导致触发器313的输出Y变成高电平。由此一个高电平获取信号就产生了,它确保能住自由单元的路线。高电平Y信号也导致来自“与”门312的输出信号X成为低电平而来自“或”门317的地址/数据信号也成为低电平。高电平获取信号和低电平地址/数据信号产生一个来自图26A的“与”门290的低电平输出从而来自图26A的“或”门265的确认信号再置为低电平。内部信号FSS仍为高电平,这样能发器313被其输出Y为高电平锁存。为响应低电平确认信号定时电路314的输出成为低电平,但是这个变化不影响“或”门315的输出,“或”门315由“与”门316的输出保持为高电平。
因为输出信号X为低电平数据可以从一个数据输入接头320通过“AK”UYH317传送出来。同样,因为X为低电平而Y为高电平,“与”门318是开的,来自先前自由单元的在确认信号线上传送的数据可以在来自接头319的“与”门318的输出321上收到。数据脉冲太短以致不能改变来自定时电路314的输出。
在先前自由的单元和使用参照图26C所描述的导向电路的单元之间信息交换的末尾,内部信号FSS置为低电平,这样输出信号Y,并且因之获取信号,成为低电平。
定时电路314可以是后面有一单稳态电路的积分电路的形式。积分电路的时间常数就选定为保证单稳态电路的触发电平不能达到除非确认信号在一段足够长的时间内保持高电平以辨别数据脉冲和来自节点的确认脉冲。
在数据传送期间,触发位被插入使得字的开头和末尾能够标识,第一个触发位被插入使得字的开头和末尾能够标识,第一个触发位为1而最后一个为0。在接收数据时,触发位就取消了。有触发位的数据的一个四字列的例子给出如下,其中假定位的传送次序从右到左00010001110100010100010111000可以看到,保留这同一次序,从右到左的传送,被传送字的数据位是0;010;00;001在上例中说明了的另一个数据传送规则是在字之间只有0被传送。
图26D示出一个触发位数据检测器350的线路,用于在各个单元中从输入的数据流中分离数据位和触发位成为单独的流。输入数据流供给到一个输入终端351,它是直接连接到一个两输入“与”门352的一个输入,“与”门352只供给数据位到一个数据位输出终端353。输入终端351还直接连接到另外的两输入“与”门354的一个输入,“与”门354只供给触发位到一个触发位输出终端355。线路有一个第三输出终端356由一个两输入“或非”门357供给,其中除了当一个数据字的末尾要指明以外信号为0,在该种情况下终端的输出信号为1。
此线路对触发位生成一个触发窗信号Y,此触发窗信号在线358上供给到“与”门354的别一个输入和“或非”门357的一个输入。触发窗信号Y是各个触发位的加长的文本,并且是由供给来自终端351的输入数据流到具有其输出连接到一个两输入“与”门的一个输入上的一个两输入“或”门而生成,生成一个数据位窗信号X并将此信号X供给到“与”门360的另一个输入上的反相器,生成一个触发位窗信号Y的延迟了的文本并且将这个延迟信号供给到“或”门359的另一个输入。数据位窗信号X,被反相了,使触发位窗信号Y在每个数据位持续期间成为0。延迟了的信号Y返馈回到门359保证到“与”门360的未反相输入为1,从实质上每个触发位的开始直到通过后续数据位持续期间实质上的一半长度,延迟是由一个以触发位窗信号Y馈入的并且供给经适当选择的延迟信号的延迟电路361所引入。从而“与”门354只提供触发位,它所有的都是1,在触发位输出终端355上。
延迟信号Y还供给到一个上升沿触发的单稳态电路362,它有一个时间常数使得电路362以一个等于数据字中相邻触发位的对应边之间的周期的持续时间产生一个脉冲。来自单稳态电路362的输出信号在图26D中标为C。因为触发位窗信号在每个触发位的开头成为1,(Y“或”C)为1除非不发生一个触发位。当触发位确实不发生时,(Y“或”C)变化到0实质上在通过此触发位遗失期间的一半长度,因为直到那个点之前C为1。然后(Y“或”C)为1除了从一个字的末尾到下一个字的开头。从而“或非”门357在输出终端356产生一个在任何数据字期间为0而在任何一个数据字末尾和下一个数据的开头之间为1的信号。
为了生成数据位窗信号X,此电路有一个产生一个输出信号X的三输入“与”门363和延迟这信号X的延迟电路364的产生此窗信号。此窗信号X被供给到“与”门360并在“与”门360反相,如前所述,并且被供给到“与”门352以阻塞除数据位外所有的位,并且反馈到“与”门263的一个输入上的一个反相器。来自终端351的输入数据流被供给到在“与”门363的第二个输入上的一个反相器使得门363在每个触发位期间关闭。延迟信号Y被供给到门363的第三个输入上使得门363从通过每个数据位的实质上一半长度直到通过下一个触发位实质上一半长度(在此期间,如果那个触发位发生,此门将由来自输入终端351的信号关闭)期间关闭。因此门363在每个触发位的下降边之后立即开启。由延迟电路364引入的延迟选择为等于在一个触发位的末尾和其后数据开头之间的时间间隔。从而输出信号X在输入数据流中的每个触发位之后立即切断到1,而在输入数据流中后续的数据位开始的时间切换到0。在触发位和其后继数据位之间时间间隔的持续时间选择为等于比一个数据位持续时间略微长一点点。因此在每个数据位期间X为1而在所有触发位期间为0。
图26E图解地说明信号c、Y、y、X和对两个数据字(DATA)的输出数据位(STORED DATA),其中指明了触发位t、示出了数据位值1和0和在两个字之间指明了一个END-OF-WORD(字结束)。
各个延迟电路361和364可以是一个SR型电路,其中输出以一个延迟跟随输入信号,此延迟是归因于包括此延迟电路的门的固有延迟,单元12从自由状态过滤到要求状态的进程,作为接收一搜索信号、确认此搜索信号、接收数据、传送数据从而审查收到的数据的种类的结果,在图27中图解地摘要。
单元12包括一个端口旋转寄存器23,以移位寄存器的形式,其输入输出耦合建立一个环形计数器操作模式,耦合到一个寄存器选择器24和数据与输入/输出路线选择线路25以保证在一个时间内各个端口只与一个选定的中央寄存器通信以及在单元操作期间旋转的次序是保留着的。
语指令的第一个集,其中任何一个都可以存储在译码和控制单位16的寄存器中,由在下面表1中示出的5个集组成。
表1原语指令 图解符号 二进制码TRUE真 T 1000SYMBOL符号 $ 1101LAMBDA约束 λ 1110
IDENTITY恒等 = 1100LANBDA-SYMBOL λ-S 1111将可看到,原语指令λ约束-符号λ-$是由一个组合形成,包含以1码掩蔽0码、λ约束和符号,也就是说,λ约束二进制码和符号二进制码是服从逻辑或运算的。
符号原语$当存在于原语寄存器中时表明至少一个中央寄存器是存储着代表一个符号名的代码,对此符号名必须得到一个定义或一个值。
约束原语λ当存在于原语寄存器中时表明中央寄存器之一存储着一个代码,它是到另一个暂时包含一个符号原语$的单元的指针,以及两个别的中央寄存器存储着指针,一个指针到一个父单元,另一个指针到一个子单元。
恒等原语=当存在于原语寄存器中时表明要执行一个操作,在一个中央寄存器中的一个值或将要装入的值将要与另一个中央寄存器中的一值或将要装入的值相比较,并且,如果这两个值被发现为恒等,在再一个中央寄存器中的一个值或将要装入的值就要传送到一个父单元,为这个父单元存储了一个返回指针在又一个中央寄存器中。如果所比较的值不恒等,一个零指示符就传送到此父单元。
真原语T当存在于原语寄存器中时表明一个或更多的中央寄存器包含到子单元的指针,以及寄存器17还包含一个到父单元的返回指针。
λ约束-符号指令λ-$当存在于原语寄存器中时表明一个或更多的中央寄存器存储着一个符号名,一个寄存器存储着推向一个其λ约束原语λ在其原语寄存器中的单元的父单元的返回指针,以及λ约束单元的父单元,即祖父单元,存储着指向符号名或几个名的定义或几个定义、或是此符号名或几个名的值或几个值的指针或几个指针,或指向更一个单元或单元的集合的指针,其中一个单元存储着指向此定义、几个定义、值或几个值的指针或几个指针。于是λ约束-符号指令的存在置此单元于一个状态,在此状态中此单元传送符号名或几个各首先到祖父单元,在那里这个名或几个名可以作为这个定义或几个定义或者值或几个值的标识符而存储。
数据的主要种类(ⅰ)指针;(ⅱ)指令;和(ⅲ)符号名或值;在单元11中和在通过网络14传送中所用的格式中是用具有相应不同的两位前缀编码做成可辨认得出的。从而译码和控制单位能够确定什么种类的数据存在于或应该存储于任何一个中央寄存器中,并且对值和指针的前缀编码能够用作修改原语指令的执行的命令,诸如真值原语和恒等原语。
在下面要描述的第一个例子中,作为数据通过网络传送和存储在中央寄存器17中的指针是它们所指的各单元完整的地址。然而,通常只有这种地址的一部分需要用来构成施加于输出地址线64的控制信号,这部分正经过计算,如下面参照图13所解释的。一个作为指针存储在中央寄存器中的完整的地址和这个单元本身的地址,以后称为一个自己的地址,在对应的二叉树中的比较是由一个地址和恒等比较器26实行。
地址和恒等比较器26也用于实行一个传送到此单元的符号名和一个存储在此单元的中央寄存器的符号名的比较。
地址和恒等比较器26可以作为一个基于一个单一的“异”门(未示出)的简单的常规的串行比较器来构成,并且构成此单元的算术逻辑部件(ALU)。在别的实施例中,各个单元要实行例如加、减、与、或、补、或非、与非和其他基本的算术逻辑函数的原语运算,单元的ALU更可取地作为串行ALU来构成以实行这些运算。这种ALU线路对本领域技术人员是人所共知的。
对中央寄存器17的读出和写入在当前的例子里是串行的,所以单元包括一个位选择器17A以访问寄存器中的各个地址,以及一个计数器27B驱动此位选择器27A。
一个单元进程示意地以块29表示在图2中,它是一个替代进程包括获取和复制别的单元的内容。
原语复合指令的第二个集合是由真值T、符号$、约束λ、恒等二原语指令构成,并有有关的原语指令的补码的代码,在以后可以称为反相原语指令。下面表2示出各反相原语指令。
表2反相指令 图解符号 二进制代码NIL-TRUE无-真 T 0111NIL-SYMBOL无-符号 $ 0010NIL-LAMBDA无-λ约 λ 0001束
NIL-IDENTITY无-恒苯 二 0011另外一个原语指令,叫做NIL,图解符号,是用来代表无指示符,是用来代表无指示符和假,具有二进制代码0000。常数NIL,即无指示符,是在单元之间传送的译多信息的重要元素,并且当暂时存在于原语寄存器中时,还在一个原先自由单元复制一个定义单元的进程中具有特殊的任务。由于这个特殊任务,反相原语指令在此后可以称为空(nil)原语,而在没有必要对这四个空原语在以区别的地方,各个空原语可以图解地称为-,如在图45中。
原语指令真,T,在信息中也用作一个常数。
图28表示原语寄存器、中央寄存器17和只读寄存器22。示出了各个寄存器的首四位位置。各个寄存器的予完的内容示出在图的右边,除了最低一组的四个寄存器的最后一个,它是备用的,即通常是空的。备用寄存器可能在复制和符号传送进程中使用。四个一组的符号寄存器中的第一个寄存器通常也是空的,而是特殊地使用作为供一个传送到此单元的符号名与树2、树3和树4符号寄存器中的符号名作比较时的暂时存储。树1至4是网络14的四二叉树布置。四个指针寄存器和四个符号寄存器可以交替地在每个里面装入一个值。指针和值可以用它们各自不同的前缀代码来区别。
图29图解地表示在本装置中为计算当n=2和m=3时表达式NPLUSM的值的表达式内容和各单元11之间的关系。表3示出λ约束表达式,是按照所要求的并且体现在图29所表示的各单元和关系中的串形式。
表3((LAMBDA(SYMBOL NPLUSM NPLUS1)((SYMBOL NPLUSM)32′(LAMBDA′(SYMBOL n)′(TRUE′(EQUAL′(SYMBOL n)54)′(EQUAL′(SYMBOL n)43)′(EQUAL′(SYMBOL n)32)′(EQUAL′(SYMBOL n)21)))))′(LAMBDA′(SYMBOL m n NMINUS1)′(TRUE′(EQUAL′(SYMBOL n)NIL′(SYMBOL m))′(′(SYMBOL NPLUSM)′(′(SYMBOL NPLUS1)′(SYMBOL m))′(′(SYMBOL NMINUS1)′(SYMBOL n))′(SYMBOL NMINUS1))))′(LAMBDA′(SYMBOL n)′(TRUE′(EQUAL′(SYMBOL n)NIL 1)′(EQUAL′(SYMBOL n)1 2)′(EQUAL′(SYMBOL n)2 3)′(EQUAL′(SYMBOL n)3 4)5)))
在图29中,各别的各单元11是用一个开始的和一个结束的园括弧表示的。原语指令符号数据的名和值的图解符号在开始和结束括弧之间指明。只有一个紧靠在一个开始括弧右边的原语指令图解符号代表驻在此单元的原语寄存器中的原语指令。列子单元的指针用一个单元括弧之间的一个点和一条伸向所指单元的线来指明。在其中指明了的原语指令是不用执行的单元用引号或在开始括弧前面的撇号′指明。这种单元可以称为括住单元。在括弧里面指明代表一个括住单元的原语指令因此而应理解为是指反相原语指令。例如在一个括住单元里的T代表NIL-TRUE(空-真)。代表指针的点的位置以下述方式联系到二叉树配置。如果没有原语指令图解符号紧靠着开始括弧的右边,在括弧之间的从左至右的点代表一个树1指针、一个树2指针、一个树3指针和一个树4指针,并且如果少于四个点,从左至右的点从树1指针开始而按树的数字次序排下去除非被值中断。如果在原语寄存器中有一个原语指令,最左边的点是一个树2指针而向右的点按树的次序住下排,除非被值中断。在一个单元中有诸如3、2、或NIL这样的值发生的地方,对于此指针,一个树就从树的数字次序中略去。例如,一个由(.32.)表示的单元有一个树1指针和一个树4指针,而一个由(二.NIL.)表示的单元有一个树2指针和一个树4指针。图29中表示的出现在单元里的符号数据的名是NPLUSM、NPLUS1、NMINUS1、m和n.包含一个或更多这种数据项的单元在原语寄存器中有符号原语$,或它的反相形式(反相的原语指令NIL-SYMBOL)。名n和m是参数的名,并且在适当场合用值或其结果是值的运算代替。名NPLUSM、NPLUS1和NMINUS1是复杂运算(函数)的名并且有定义。一个单元的群501构成NPLUSM的定义,另一个单元的群502构成NPLUS1的定义,而又一个单元的群503构成NMINUS1的定义。这些定义的最前两个的首单元504和505,被在单元500中的指针所指向,单元500是属于天这里称为函数单元的类型,因为它是用作一个函数求值的最后结果值的接收器并且持有被求值的函数是作用在参数值3和2的NPLUSM。
在这个详细的例子中,定义的查找不同于以前参照图25描述过的方法,并且说明使用动态取域。
函数单元500还指向一个在其原语寄存器中有λ约束原语和两个指针即一个树2指针和一个树3指针的单元506。树2指针指向单元507,在单元507的原语寄存器中有符号原语$和符号数据,即名NPLUSM和NPLUS1,在其树2和树3符号寄存器中。λ约束单元506的树3指针指向单元508,单元508有一个树1指针、在树2和树3指针寄存器中的值和一个树4指针。树4指针指向NMINUS1的定义503的首单元。树1指针指向一个单元509,它存储函数NPLUSM的名。单元508中的值3和2是要求值的NPLUSM的m和n的值。
图29实质上表示本装置10的标准单元12的内容,即紧接在外围设备(未示出)通过一个特殊单元13(在图29中未示出)操作装入此单元之后的内容。单元500是一个特殊单元13。
对于图29所表示的配置,单元509必须最后装入。
图30、31、32和33表示本装置在装入后的时候的内容。具体地,图30示出由单元509和对NPLUSM对n=2,m=3的部分求值而第一次确定NPLUSM的一个现用定义;图31示出由单元529确定一个第二现用定义;图32示出以n=1为NPLUSM的第二现用定义的部分求值;以及图33至36说明以n=3,m=3对NPLUSM作第三部分求值。函数单元500和单元506、507、508和509在图30中示出。有方块的数字1和2在单元500和508旁边示出以指明它们各自作为词典1和2的角色。词典1包含NPLUSM和NPLUS1的定义,词典2包含m、n和NMINUS1的最终定义,如此后所解释的。
一个在其固有词典-头指针寄存器中的固有词典-头指针提供给装入后的各个单元。固有词典-头指针是一个指针指向将存储指向存储着固有词典头指针的单元所需要的定义的指针的单元或者指向将存储这种指针的一系列单元中的第一个单元。在图29至36中,固有词典-头指针由关括弧的数字下标表示。函数单元500和定义501和502的单元不需要进一步的定义,并且是由单元500的指针直接联系的,所以在它们的固有词典-头指针寄存器中给出空白(NIL)。这些空白由下标)表示。
符号单元507用作供给列函数单元500的定义501和502的名(即符号数据)NPLUSM和NPLUS1,这个操作是作为对从λ约束单元506到符号单元507传送λ约束原语λ的一个响应而执行的,其中λ约束-符号原语λ-$是在单元507的原语寄存器中形成的。λ约束-符号原语的存在使单元507传送它的符号数据、在那个次序中的名NPLUSM和NPLUS1,到由保持在其固有词典-头指针寄存器中的词典-头指针所指向的词典头单元,它是单元500。单元507传送NPLUSM和NPLUS1的次序指明NPLUSM是存储在第二符号寄存器中和NPLUS1是存储在第三符号寄存器中。单元500使用这个数据次序以保证NPLUSM是存储在它固有的有效地和树2指针相联系的第二符号寄存器中,并且NPLUS1是存储在它固有的、和有效地和树3指针相联系的第三符号寄存器中。这样,NPLUSM就和指向它的定义501的指针相联系而NPLUS1和指向它的定义502的指针相联系。这些操作在装入单元509以前完成。为方便起见,图29中未示出这一点。
所有的词典-头指针是树4指针。因此树4固有词典-头单元的地址提供词典-头指针。
起初装入了$NPLUSM的单元509,如图29所示,用呼叫其自己的词典-头指针所指的词典头单元来响应在它的原语寄存器中符号原语$的存在,在本例中它是词典单元2,即单元508。用通常的获取进程(高获取信号)已经确立了从树干到单元508的路线,单元509传送它自己的树4地址和符号数据NPLUSM,它是指明树2符号寄存器作为到单元508的起初地点的信息的第一个符号数据,单元508用它的地址和恒等比较器26把NPLUSM和保持在它自己的树2符号寄存器中的符号数据相比较。没有发现匹配,因为被呼叫的单元的树2符号寄存器在这个阶段还是空的,所以单元508就把NPLUSM和保持在它自己的树3符号寄存器中的符号数据相比较,还是没有发现匹配,然后将NPLUSM和在它自己的树干符号寄存器中的符号数据相比较并且仍然没有发现匹配。所以单元508在从树4到单元509的路线上传送一个NIL值,并且在它自己的词典-头指针寄存器中的指针在此例中。指向词典单元1,即单元500。在收到这些数据后,单元509解锁从树4到单元508的路线。数据传送是非破坏性地执行的,即一个寄存器的内容被读出并且一个复制件被传送。一个词典指针的传送包括传送指明这指针是树4指针并且它是一个词典指针的补充数据。单元509接收的被传送的词典指针存储在它的新词典-头指针寄存器中,而单元509呼叫新的词典头单元500并且通过顺向的树4路线传送符号数据NPLUSM和它自己的树4地址。因为单元500已经从单元507接收和存储了NPLUSM,单元500在从单元509接收另一个NPLUSM并使用它的比较器26的时候发现这两个名匹配而在树4路线上传送回单元509和标识那个指针作为树2指针的数据一起。指向定义501首部的单元504的树2指针一收到这个指针,单元509存储这指针在它自己的新的词典-头寄存器中,解锁树4到单元500的路线,然后通过树2呼叫单元504。单元504以传送它的原语指令和它的指针、符号和自己的词典头指针寄存器的内容回单元509响应。在当前的例子中,单元504在它的符号寄存器中保持NIL-LAMBDA原语和空白,以及一个树2指针和一个树3指针。单元509道德反相NIL-LAMBDA原语。因为这个反相产生一个λ约束原语,单元509不能利用单元504送来的固有词典-头指针而保留它的固有词内头指针到词典单元2,即单元508。单元509在它的返回指针寄存器中还保留一个返回指针到单元508。这返回指针的目的在后面解释。单元508保持一个返回指针到单元506,单元506保持一个返回指针到单元500。一般地说,一个子单元保持一个到它的父单元的返回指针。
NIL-LAMBDA和树2指针和树3指针被单元504传送到单元509是一个复制进程的一部分,利用这个进程单元509复制定义单元504的表达式内容。这个传送当然包括标识树指针连到那一个寄存器的补充数据使得接收单元509能够把它们存储在正确不寄存器中。单元509在已经这样复制了单元504的表达式内容之后就传送一个搜索信号进入树2以定位一个自由单元。一经建立通过一个树2到一个自由单元的路由的通讯以后,单元509就把λ约束原语λ、它自己的树3地址、它的固有词典-头指针和起源于单元504的树2指针传送到这个单元。树2指针指向一个定义单元510,它是单元504的一个树2子女。原先的自由单元,图30中的单元511,道德传送它自己的树2地址回到单元509,呼叫单元510,并且复制单元510的表达式内容,使得单元511的表达式内容变成符号原语$、树2名和树3各m和n、和一个树4名NMINUS1。被单元511从单元509继承来的λ约束原语λ是存储在单元511的备用寄存器中直到复制单元510的进程完成。然后单元511把λ约束原语λ和符号原语$组合起来以构成λ约束-符号原语在其原语寄存器中。传送到单元509的单元511的树2地址在单元509的树2指针寄存器中代替到单元510的树2指针。
因为单元511已经变成一个λ约束-符号单元,然后单元511呼叫到它固有词典-头单元,即是单元508,并且传送m、n和NMINUS1到单元508中以分别存储在后者的树2、树3和树4的符号寄存器中,然后复位到自由状态。
单元509通过一个树3路线定位另一个自由单元,而这个单元用一个由单元509提供的树3指针呼叫一个定义单元512。原先的自由单元,即单元513,复制单元512的表达式内容并且由此得到一个真原语T,它被立即装入单元513的原语寄存器中,并且一个树2指针到一个定义单元514和一个树3指针到一个定义单元515。单元513冉单元509用单元509的自己的词典-头指针供给以作为自己的词典-头指针继承。
构成定义501的有效复制的过程以这样的方式继续下去除了当定义单元515已经被一个单元516复制之外,后者单元516首先只建立一个树1子单元529。
单元516的树1子女529被单元516送交一个真原语T而变成一个对应的定义单元524的有效的复制,即,反相从单元524接收来的反相原语。
单元513的树2子女是一个单元525,它建立的一个树2子单元526是一个定义单元527a的现有复制,接着一个树4子单元528是一个定义单元527b的现用复制。这两个单元526和528使用它们继承来的固有词典-头指针,它们是指向词典单元2,即单元508的,并且实现替代进程使得单元526从单元508接收n的值,它是2,而单元528从单元508接收m的值,它是3。在这替代进程中,单元508从单元526接收n,将这接收来的n和存储的m相比较然后存储n,并且把存储在树3指针寄存器里的值,它是2,传送到单元526。同样地,单元508从单元528接收m,把接收来的m和存储的m相比较并且把存储在树2指针寄存器里的值,它是3,传送给单元528。
当单元526和528已经接收了各自的n和m的值并且存储3它们,这些单元测试它们的寄存器的内容,发现只有一个值,并且用它们各自的返回指针,它们是一个树2指针和一个树4指针,传送各自的值到父单元525,使得父单元525存储值2在它的树2指针寄存器里面和存储值3在它的树4指针寄存器里面。单元525并不建立它的树4子单元528直到它已经从它的树2子单元526接收一个值并且在它的树3符号寄存器里找到一个值,NIL.单元525响应在其原语寄存器中的一个恒等原语,二,然后测试它的各寄存器的内容,发现在所有三个变元寄存器,即树2符号寄存器、树3符号寄存器和树4符号寄存器,里都有值。因此单元525能够对它的表达式内容求值,单元525是将树2符号寄存器内容和树3符号寄存器内容相比较而做到。因为没有发现恒等,单元525并不传送树4符号寄存器的内容到它的父单元513而是传送NIL,由此指明一个空结果。父单元513在它的树2指针寄存器中存储这个NIL值。由于单元525、526和528都已经传送了它们的值或结果给各自的父单元,这三个单元525、526和528自动把自己复位到自由状态。
单元516的树1子女529,它变成定义单元524的一个现用复制,是由被父单元516发送以作为固有词典-头指针使用父单元516的树干地址,如象对这个子单元的数字3下标所指明的那样,而在邻近单元516的小方格里的数字3指明单元516是词典3首单元。
单元529以单元509的同样方式操作(比较图29和30)并且成为单元504的有效复制,单元504是NPLUSM的定义501的首单元。应注意这个定义501是递归的。为了成为定义单元504的一个复制,单元529用它固有词典-头指针呼叫词典3首单元516并且传送NPLUSM、在响应中接收NIL和单元516的固有词典-头指针,并且为此呼叫词典2首单元508、传送NPLUSM,在响应中接收NIL和单元508的固有词典头指针,并且为此呼叫词典1首单元500、传送NPLUSM,并且接收来自单元500的到单元504的树2指针。来自单元508的词典指针代替来自单元516的词典指针,在寻找词典首单元的进程期间作为在单元529中的新的词典-头指针,词典首单元500保持匹配符号数据NPLUSM。
图31示出单元529,在这个单元复制了定义单元504的表达式内容并且建立了必需的树2和树3子单元530和531之后。的状态。单元529一旦保持λ约束原语λ而不是符号原语$,新的词典-头指针立即被消除并且单元回复到它的固有词典-头指针到词典3首单元516。
单元530成为单元510的一个现用复制,有一个固有词典-头指针到词典3首单元516。单元531成为单元512的一个现用复制,有一个固有词典头指针到单元516。单元530还从单元529接收λ约束原语λ,它在单元中使用逻辑或运算与符号原语$组合构成λ约束-符号原语λ-$,因此使用它的固有词典-头指针通过树4到单元516的路由传送符号数据m、n和NMINUS1。这些符号数据如图30所示作为存储在词典3首单元516的适当的符号寄存器里面。这时,单元516本身也建立一个树2子单元517、一个树3子单元518和一个树4子单元519。这三个子单元分别通过在树2、3和4的路由建立,并且被父单元516发送NIL原语。这些子单元517、518和519的每一个(图30)在它的原语寄存器中写入反相的NIL原语,并且在从相应的定义单元接收反相原语时在它的原语寄存器中写入反相原语代替NIL原语。结果是,单元517、518和519成为进一步的定义单元,并且传送NIL原语到它们的子单元,在需要的地方,以保证它们的子单元成为定义单元。
单元531建立两个子单元532和533,它们各自成为定义单元514和515的现用复制。单元533建立一个树1子单元555并且接着以前述的对于单元516的同样方式通过树2、树3、和树4的子单元进和定义,使得定义单元534、535、536、537、538、539和540的各个群被建立。树4子单元533的建立实际上被延迟了直到父单元531从树2子单元532接收一个NIL。
单元532建立一个树2子单元541,它成为定义单元527a的现用复制,有固有词典-头指针到词典3首单元516。单元532的树4子单元的建立被延迟,如同单元528的情况(图30)单元541呼叫单元516以寻找n的定义。在这种情况中,定义不简单地是一个值,如像对单元526和对单元528的情况,而是一个由在词典3首单元516中的树3指针所指向的定义。因此单元541从单元516接收一个指针到单元518,呼叫和复制单元518的表达式内容,建立两个子单元543和544(图32),并且用单元518的树1和树2指针到单元522和523供给这两个单元。单元543成为单元522的现用复制而单元544成为单元523的被动复制,即一个定义单元,如前此对于单元516和单元533所描述的在处理中的差异的结果。
当符号单元541复制单元518,单元518发送它的固有词典-头指针给单元541,在这个例子中,它是一个到词典2首单元508的树4指针。单元541使这个收到的复制指针成为它的固有词典-头指针因为定义单元518没有发送一个反相λ约束原语。
在图32示出的它的新形式中,单元541是一个函数单元,这样它的相应树2子单元有同样的固有词典-头指针,如象父单元541那样,它是一个到词典2首单元508的指针。对于树1子单元,函数单元541成为相应的新的词典首单元。来自单元541的子单元的发展,部分地示出。树1子单元543一开始成为单元522(未示出)的一个复制有一个固有词典-头指针到词典4首单元541,舍不得从单元522复制来的符号NMINUS1为在单元541首先比较而被传送,然后在单元508发现一个匹配。因此单元543收到一个到一个λ约束单元545(图29)的树4指针,它是NMINUS1的定义的首单元。复制向前进行如所描述,为对于单元529发展一个NPLUSM的现用的复制,但是在此例中为发展一个NMINUS1的有效复制,由单元543和单元546、547、548、549、550、551、552以及其他的单元所组成,如图32所指明的。单元550起初成为一个在定义503中的(Sn)单元553的一个复制,但是有一个到词典4首单元541的词典-头指针。因此符号n被传送到单元541作比较,在那里发现一个匹配,而到定义单元544的指针返回到单元550,于是单元550成为单元544的一个复制。这个复制过程包括复制单元544的固有词典-头指针,因为单元544不是一个λ约束单元,使得单元550成为一个有到词典2首单元508的固有词典-头指针的($n)单元。因此单元550传送符号n到单元508,单元508发现一个匹配并返回值2。同样的连续的复制进和发生在所有的NMINUS1的有效定义的其他($n)单元中,诸如在单元552。一旦这些单元接收到它们的值,它们传送这些值到它们各自的父单元,这些父单元是定义的恒等原语单元。由于这些值都是2,只有单元551传送它的第三个值到它的父单元549,而所有其他恒等原语单元都传送NIL,因为在2和3或4或5之间没有恒等。
真值原语(T)单元诸如单元531、547和549,没有与树1相联系的值,就把在它们树2和树3符号寄存器中发现的第一个非-NIL值传送给它们的父单元,以该次序,或者,如果两者都是NIL并且它们的树4寄存器是空的就传送值NIL或是在它们的树4符号寄存器中的值。从而在当前的例子中,单元549传送从单元551接收的值1到单元547,于是单元547传送值1到单元543。那些从它们的子单元接收值的λ约束原语单元和函数单元传递这些值到它们的父单元。因此,值1被单元543和541传送到单元532。因为单元532是一个恒等原语单元并且现在在它的树2和树3符号寄存器中有值,那个单元(应是单元532译注)比较该两个值以求值,并且,如果它们是恒等的,就把在它的自己的树4符号寄存器中的值传送到它们的父单元。然而,单元532将只传送NIL到单元531,因为在单元532中在1和NIL之间没有恒等。到定义单元529(图29)的树4指针仍未使用。真值原语单元531只存储从单元532接收来的NIL值,建立它的树4子单元533并且等待一个要由子单元533传送的值。
单元533是一个函数单元,它有一个单元555作为它的树1子女,如图31所指明,单元555起初是符号单元524(图29)的一个复制,有一个到词典5首单元533的固有词典-头指针。通过连续的比较,单元555最终从单元500接收到λ约束单元504的树2指针,并且复制单元504,而保留到词典5首单元533的固有词典-头指针。这样函数NPLUSM的又一个现用复制就被启动并且如图32中以单元556、557、558和560所指明的那样发展。在这个现用复制中的所有单元起初都有到词典5首单元533的固有词典头指针。还示出了一个树4子单元561但在这个阶段并不存在。
图33再示出在单元560和561已经分别复制之后的单元558、560和561及建立了的子单元562、563、564和565,它们分别是定义单元539、540、537和538的复制。应注意,单元560至565由它们的进程已经得到到词典3首单元516的自己的词典头指针。树4子单元561的建立被延迟直到已经返回一个值到父单元558。
图34a再示出在作为从词典首单元516和508接收到的指针的一个结果单元562已经成为相应的λ约束单元545的一个复制之后的单元560、562和563。在单元562的情况中,为NMINUS1的一个定义呼叫单元516导致在单元562中复制单元519,单元519本身又导致单元562为NMINUS1的一个定义呼叫词典2首单元508。
如同在503定义的那样,NMINUS1的现用复制的形成向前进行,同时单元560成为局部词典首单元,标为词典6症单元。因此,在NMINUS1中替换($n)起初导致复制单元563,单元563有一个到单元516的固有词典-头指针。对于函数NMINUS1的一个这样的单元在图34a中指明,这个单元是对于NMINUS1的单元566。
图35表示的仍是单元566,这是该单元从单元516的符号n的定义中复制了单元518以后的情况。可以看出,单元566的树1子单元是函数NMINUS1的再次的现用复制单元,它对应于定义503的lambda单元545,单元566变成局部词典8首单元。由词典8首单元566给出的符号n的定义是($n),并带有一个自己的词典首指针,指向单元508,故此处参数n被值2替代,如单元568所示。然后单元568的父单元生成值1并且把这个值传送给它自己的父单元。图35中其它的全同原语单元都以NIL为其结果。然后,函数单元566接受值1并把这个值传送给它的父单元,后者是值2的一个全同原语单元。结果,这个全同单元生成值NIL并把它从子单元传到父单元。检查NMINUS1的定义可以看出,图34a中的现用函数仅在单元560中产生一个NIL值,它又被传送给全同元单元558,见图33和32。此时单元558在树2和树3符号寄存器中找到值,并建立起它的树4子单元561。
图36表示的是单元561。它已经是定义单元534复制单元,并建立了它们子单元564和565。
单元564的情况是单元564呼叫单元516,仅接收到指向词典2首单元508的指针,又呼叫单元508,仅接收到指向词典1首单元500的指针,最后接收到指向lambda单元505的指针。
替换NPLUS1中的($n)先引起对单元565的复制,这个单元也有一个指向单元516的自己词典首指针,图36展示了此后的参数单元567。
图36显示参数单元567变成了函数单元517的复制单元,并且象局部词典9首单元那样。对函数NPLUS1做进一步的现用复制,把该函数的参数换成单元508的值3,复制的结果是图36中的所有全同原语单元,除了单元569以外,都传送NIL给它们各自的父单元。单元569传送值4,因为3和3全等,而函数单元567接收值4从图346中可以看出,单元567的值将同值3做比较,然后而单元567的父单元将传送值NIL给它自己的父单元,即三值真元单元570(见图346)。图34b中现用函数NPLUS1产生的其它值可被展示为NIL。单元570的树4值是NIL,它接收NIL作为它的树2和树3值,故单元570传送NIL给它的父单元571,这是另一个三值真原语单元,在此情况下单元571的树4值是5。结果,单元571传送值5,该值被送交到函数单元561。因此,图32和33中展示的全同原语单元558接收值5作为其树4值,并传送该值给单元557。
进而单元557接收值5作为其树2值,并传送该值给lambda单元555。单元557现在有树2值和树3值(NIL),故它不建立树4子单元,原因在于真原语单元557的运行条件模式,也就是下述规则被传送的值一般是树2值和树3值,仅当它们都是NIL时才获取并传送树4值,此时不管树4值是不是NIL。
lambda单元555(见图32)送交值5给函数单元533,单元533接着传送值5给真原语单元531。单元531一直在等待一个值以便替换它的树4指针寄存器中的指针。一旦单元531接收到树3值5,它就立即传送该值给lambda单元529。检查图30可以看出,经由同样的由子单元到父单元的传送过程,值5最终达到函数单元500。
单元500是类似于特殊单元13的输入/输出类型单元,因而值5对于连接上的外围输入输出设备都是可用的(未展示)。
参照图29到图36,从上文描述的计算实例中可以看出,起函数单元作用的单元,尽管开始时只存放指针有时也存放值,仍能在计算中发挥多种功能。函数单元的树1指针指向lambda原语单元;树2、树3和树4指针如果存在的话则指向一个或多个定义。树2、树3和树4的指针寄存器可以存放值而不存放指针,lambda原语树1子单元开始一个过程,在该过程中,将是符号原语单元的该lambda单元的树2子单元把它的符号传送给函数单元,存放在该函数单元的适当的符号寄存器中,以便识别要与那些符号相关联的值或指针。因此而同符号相关联的指针将指向一个定义,它本身又可能是要求一个进一步的定义的符号。一个函数单元还决定它所指向的定义单元的自己词典首指针,这些定义单元具有与该函数单元相同的自己词典首指针;并且决定它的树1子单元的自己词典首指针,它是以该函数单元的树4地址作为自己词典指针的lambda单元,后一个过程保证该函数单元变成局部词典首单元,因为lambda单元树3子单元从该lambda单元中继承了同一个自己词典首指针,而且以该;ambda单元为首单元的现用定义中的每个单元都继承相同的自己词典首指针。但应当注意,带括号的定义单元,比如构成定义501、502和503,包括带括号的符号单元553,521,527,518要被调用复制时,这些单元传送其自己的词典首指针,根据呼叫单元进行处理时的性质,这些指针被采用或不被采用。规则是?如果呼叫单元不是符号原语<$>单元,则该单元不用被呼叫定义单元自己的词典头指针,但将会保留从其自己的<呼叫单元的>父单元继承的词典首指针。如果发出呼叫的单元是符号原语<$>单元,则该单元将利用被呼叫的定义单元的自己词典首指针,除非它是;ambda原语单元<严格地说是一个NIL-LAMBDA单元,因为一个带括号的单元只有与该lambda单元相对应的反转原语指令>,在此种情况下发出呼叫的单元保持它的自己词典首指针。这个规则的第二个子项保证使单元对其符号数据获得正确替换的信息是可用的。在图31和32的例子中,单元541可以看作使用该规则的第二个子项,一个计算中涉及到的每个现用单元,即不在带括号的状态中的单元,将把本身复位为自由状态,它如果并且已执行了保存在它的原语指令寄存器中的原语指令或其它指令所确定的运算;或者将在响应来自其父单元的包含复位指令的消息时复位为自由状态。某些情况下,一个单元将是另一个单元的父单元,而后者在这个父单元准备复位为自由状态时当未完成自己的运算。此时该父单元在复位为自由状态之前首先使用指向子单元的指针建立一条通过网络14到达子单元的路线,然后传送一个获取信号线上的瞬时高电平信号到那个子单元,然后再把本身复位为自由状态,当一个单元被另一个单元呼叫,高电平获取信号形成了这样的路线时,被呼叫单元接收高电平获取信号就同执行一个发给它的指令,把本身为自由状态,然后在需要时再传送高电平获取信号给它的每一个子单元。与传统存贮器体系结构下的传统函数式程序设计的废料收集相比较,这个单元复位为自由状态的过程可以看成是废料收集。
在其原语寄存器中有;ambda原语的单元,比如单元506和509必须在单元链中保持作为一个链路来把一个或多个结果传交给首函数单元,如单元500,因此,lambda单元直至把来自其树3子单元的值送回给它的父单元,或从它自己的父单元接收到复位命令(一个瞬时高电平获取信号),才把本身复位为自由状态。类似地,函数单元直至把来自其树1子单元的值送回给其父单元,或从其父单元接收到复位命令,才把本身复位为自由状态。
图29中,NPLUS儿NMIMUS1的定义502和503只定义在域0至5上。从原语指令TRUE和IDENTITY的运算规则明显可见,该域可以扩充到任意大的数。图37A和37B分别展示了域0至6上的NPLUS1和NMINUS1的定义。
图37C展示了与图29不同的另一种初始写和方式。图37C中使用了与图29中相同的参照数码,以便比较。但很显然,图37C中表示的单元并非必须是图29中所表示的单元。
图37C中没有单元对应于图29中的lambda单元506和符号单元507,图37C的单元508被做成单元500的树1子单元,此外,单元500的树2和树3符号寄存器初始时分别写入NPLUS1和NMINUS1。对单元500的符号寄存器初始写入后,便不再需要lambda单元506和符号单元507的动作为了完成图37C所示的初始写入,图中显示的所有单元都由特殊单元13写入,这是个输入输出单元(未展示)。特殊单元的输入方式用来做初始写入。单元500作为其父单元的一个特殊单元13(未展示)设置为利用它的输出方式。另一种方法是单元500也可以是支行其输出方式的特殊单元13。
在图37C的初始写入中,带括号的单元在活动单元500,508和509之前写入。这三个单元最后写入,顺序是500,508和509。这样一个写入顺序保证单元509执行在一个符号单元变成lambda原语单元时可以完成它的操作。一次一个单元的写入方式比较好,优于从远离首要函数单元的带括号单元(如定义单元580)开始的方式。例如,写入顺序可以对与表3的正常形式相反,只是要考虑到没有单元506和507。
图37D例示了单元的写入过程中,这是求整数n和m的差的初始格局,本例中n=4,m=2,求差函数称作NMIMUSM,它利用先行函数NMIMUS1。具有工作站571形式的外围设备用来同特殊单元13a通信,该特殊单元被操作来将原先是自由单元的一群573(十四个单元)装入作为构成差函数NMINUSM的定义的加括号单元,并将原先是由自单元的一群573十七个单元作为加括号的单元,这组573单元包含有一个结构,结构中包括先行函数NMINVS-SI的定义574,带括号的函数单元575,它带有参数n和m分别有值4和2,又包括带括号的入-单元576,以及两个带括号的符号单元577和578。
在执行装入过程时,工作站571转换下述符号串序列。
'<λ'<Smn NMINUS1>
'<T'<='<Sm)NIL'<Sn>>
'<T'<S NMINUSM>
'<T'<S NMINUS1>'<Sm>>
'<T'<S NMINUS1>'<Sn>>>>>
成为特殊单元13a的控制指令,13a在响应时构造带括号组572。特殊单元13a使用搜索信号寻找自由的标准单元来构造单元组572,把′($n)装入第一个这种自由单元成为单元579。下一个自由单元用′($NMINUS1)装入而成为单元580。单元579和580是用分别来自树2和树1的特殊单元13a的搜索信号建立起来的,因为单元13a请求单元579的树2自己地址以及单元580的树1自己地址以便存贮在下一个单元即单元581中。单元581建立作′(··),其中树1和树2指针分别指向单元580和579。单元581的建立要使用树3的搜索信号,这个信号提供树3指针,这个指针存放在特殊单元13a中,在下面4个单元即582,583,584和585被建立后又被提供给下一个要建立的单元即单元586,586装入时用的是指向单元585的树1指针,指向单元584的树2指针和指向单元581的树3指针,因此,特殊单元13a在构造单元组572时所使用的每个单元都是用搜索信号建立的,要建立的单元的父单元要求搜索信号提供树指针,单元组573也用同样方法建立,它是从单元587开始的。
为建立带括号的单元组573,工作站571转换符号串序列。
'<λ'<S NMINUSM>
'<T'<='<S NMINUSM>24'<λ'<Sn>
'<T'<='<Sn>54>
'<='<Sn>43>
'<='<Sn>32>
'<='<Sn>21>>>>>>
成为特殊单元13a的控制指令,13a在响应时自由标准单元构造括号的单元组573。
下面解释的是,单元组572和573中的单元被防止把特殊13a提供的指针处理作复制地址。
在单元13a用来建立单元组572和573以后,借助另一个特殊单元13b,工作站通过树1搜索另一树单元。建立起一个活动函数单元588,它的写入是用单元13a的指向单元576的树1指针和单元13a的指向单元组572的首单元589的树2指针。特殊单元13b完成这一写入工作。它向单元500发送继承来的数据,即TRUE原语和通过树#1,#2,#3中任一个指向第一特殊单元13a的指针的复制地址。过去的自由单元588复制单元13a此后特殊单元13b就成为单元588的父单元,也是该函数到工作路571的输出单元。现用单元588开始于建立未展示的树1子单元,该子单元以复制地址方式继承了指向单元576的树1指针,又借助复制过程把自己倒转成入一单元576的现用复制单元,它随后构成树1子单元(示展示),该子单元先变成符号单元577的现肜复制单元,又变成入一符号单元,向函数单元588发送它的符号NMINUSM,函数单元588随即在树2上建立起树2子单元(未展示),它有一个以复制地址的方式指向入一单元589的树2指针。这个树2子单元的树2自己地址替换了在单元588中指向单元589的指针。然后,单元组572被复制进另一单元组,后者的首单元是单元589的复制单元,因此这新单元组可用作单元588中新树2指针的指的NMINUSM定义。然后,单元588的树1子单元(未展示)建立树2子单元为单元575的现用复制单元。复制过程进行下去,单元570的现用复制单元开始了NMI-NUSM的第一次求值,NMINUSM的求值过程按照图29至36所例示的单元行为规则而进行,直到值2最后被单元588的树1子单元传送给单元588,又被588转传给用作588的父单元的特殊单元13b,特殊单元13b把这个最后的值传送给工作站571以便存放和显示。
本例中,工作站571是能够处理USP类型的软件一种个人计算机,被用于同特殊单元13进行通信。
一旦两个带括号的单元组572和573已经形成,单元576和579的树1和树2自己地址被分别接收被单元588用作指针,特殊单元13a便可被释放以便用作其它目的。
图38出示了特殊单元13的结构。它有装置对一个外围计算机(未展示)作输入输出,单元13可由该计算机装入,通过网络14传到单元13的结果可以送交到该计算机。特殊单元13与图2所示的标准单元12不同,它没有传送自由信号进入网络14的电路,单元13只提供一个终端(未展示),对于连接网络端口的4个网络结点的自由信号线62L与62R,这个终端永远保持低电平。除了4批输出输入要求信号线,地址/数据信号线和确认信号线以外,特殊单元13还将它的4个网络端口分别连接到这种线的第5组590和自由信号线62,该信号线直接连到数据转换接口591,这个接口连接单元信号线第5组590和一个外围计算机(未展示),单元13能使用跟有指针数据和高电平获取信号的低电平地址/数据信号和正常高电平获取信号的低电平地址/数据信号和正常高电平获取信号来呼叫该装置的任何其它单元,并能使用高电平地址/数据信号和低电平获取信号来搜索自由单元、单元13不能变成其它单元可访问的自由单元,因为它不传送自由信号进入网络14。接口591中数据转换事项优先于单元13中的其它事项,每当单元13进入自由状态。线62上的自由信号就被接口591连到外围计算机(未展示)上,它说明单元13可被自由写入。
一旦最后的计算结果被图37D的例子所示的特殊单元输出,输出特殊单元13置为自由状态而清除其内容,置自由状态可以是自动的,也可以使用来自各自的接口591的高电平获取信号,这样单元13就可为其它使用作好准备。
为把复杂的数据结构写入到一大组标准单元12,可使用与特殊单元13相连接的几个外围计算机,当使用适当的外围计算时,每一个都可以连接大量通道到特殊单元13从而对大量的特殊单元13进行写入。图39展示了这样一种场面,一个外周计算机连接了6个特殊单元13,外围计算机可以是IBM PC,Xerox1186,Sun360等,要带有适当线路来构成多路输入/输出控制592。外围计算机必须能够转换串形式(如表3中展示的那种)成为特殊单元13的各种寄存器所要求的数据形式。多路输入输出控制器592允许外围计算机593把这些数据形式提供给各自的特殊单元13,并提供适当的附加数据来说明有需要的目的寄存器,提供控制指令来控制特殊单元13建立对自由标准单元12的写入。
特殊单元13的译码一控制器16除了具有标准单元12的译码由一控制器的能力之外,还能对10AD指令作译码并作适当的响应,从而引起特殊单元13搜索自由标准单元12,用反相原语写入它,并写入数据使它成为定义单元;在单元13b的情况下则写入真值T原语和指针(见图37D)。
图1中装置的标准单元12执行的逻辑过程可以参照图40到64来描述,它们是执行的逻辑过程中步骤和判定的图形表示。在图40到64中,判定是用图形形式的分支点表示的,用逻辑值1表示检验结果是正判定,用逻辑值0表示检验结果是负判定。
图40表示标准单元从任何其它运算状态进入自由状态的过程。这个过程在下文中称为SET FREE SPACE例程。单元12在该图的点600处开始,它可能是接收瞬时高电平获取信号的结果,也可能是第一过程的结束。这个单元有4个标志,下文中称为流示志,表示该单元提无准备在它的4个端口上接收一个或多个数据字。这4个端口分别提供4组输入通道55和输出通道56(见图2)以及自由信号线62,它们对应于网络14中的4个二叉树,图40到64中这4个二叉树分别和为#1,#2,#3和#4。4个流标志分别关联于4个端口进而又关联于4个二叉树。图40中把这4个标志称为#1STREAM,#2STREAM,#3STREAM和#4STREAM,从而说明这种联系。
从点600进入程序SET FREE SPACE,第一个检验或制定点检查#1STREAM是否被置位,即是否该标志说明#1端口期待一个或多个数据字,标志被置位(逻辑值为1)意味着#1端口的导向器部分传送一个正常获取信号给树1子单元,并且不等收到回复的确认信号,便传送一个瞬时高电平获取信号给树1子单元,然后跳到一个判定点(分支点)来检验#2 STREAM是否被置,如果#1 STREAM未被置,该单元便立即进入#2 STREAM分支点,#2 STREAM分支点的逻辑1分支所遵循的过程完全同于#1STREAM的逻辑1分支,只是树2子单元结束时跳到#3 STREAM分支点。图40显示所有这4个流标志都以同一方式处理,只是#4 STREAM的逻辑0分支以及它的逻辑1分支的末端把单元寄存器复位为0,并且把自由状态标志之外的各单元标志都置为0,自由状态标志则置为逻辑1,以便该单元的所有4个端口都传送自由信号进入网络14中各自对应的二叉树,后面的步骤在图40中由SETFREE说明。
图41表示了标准单元12传送数据字到其父单元的过程。这个过程下文中称为CELL TX PARENT例程,它使用这个单元的返回指针,通过网络14上的任何一个二叉树来呼叫其父单元,这个父单元开始时正是通过这个二叉树使前者成为后者的子单元的。子单元在这个二叉树上传送和接收通信并且使它成为其父单元的子单元的端口在此称为主端口。例程CELL TX PARENT在点601处进入,此处该单元具有一个多传送给其父单元的值,该单元有一个RE-CALL PARENT标志,当这个标志被置位时,从点601处进入后,该单元不呼叫其父单元而是等待父单元的呼叫,方框602的AWAITPARENT说明了这一点。如果RECALL PARENT标志未置位,该单元就在步骤603中传送一个使用返回指针的正常获取信号,给其父单元来呼叫其父单元,本例中就是前述二叉树上的父单元地址,如果父单元在忙,它就不确认这个呼叫,发出呼叫的单元在步骤604中废止向父单元传送的企图,然后对RECALL PARENT标志置位,并返回到AWAIT PARENT状态602,如果接收呼叫信号时父单元不忙,它就发出确认脉冲表示响应,发出呼叫的单元在步骤605中传送一个数据字,它来自它的#N符号寄存器,亦即与二叉树N相关联的符号寄存器。还传送#N STREAM标志的值为说明是否还有至少一个数据字要被传送。然后,发出呼叫单元把其#N符号寄存器的内容复位为NIL,并在点b处离开CELL TX PARENT例程,如果该单元在AWAIT PARENT状态602处已经被置位,则当它的任何端口接收任何呼叫信号时,都首先检查呼叫信号后面是否紧跟一个瞬时高电平获取信号。如果有,就在606进入SET FREE SPACE例程,否则检查高电平获取信号伴有高电平地址/数据信号,因为这种信号说明该单元被子单元呼中。如果有一个伴随的高电平地址/数据信号,就进入检验607检查它的原语是不是TRUE,即T,并检查在其树1指针寄存器中是否有一个指会,如果检验607的结果是真,该单元就是一个函数单元,要被接收的呼叫信号来自符号单元,于是该单元确认这一呼叫,送回TRUE即T和该符号,并比较所接收的符号与存贮在它的符号寄存器#2,#3,#4中的符号,该单元就传送NIL和它的指向符号单元的自己词典首指针,然后回到AWAIT PARENT状态602。如果一个被存放的符号与要求的符号相匹配,则该单元传送对应的指向符号单元的被存放指针,并返回到AWAIT PARENT状态602,如果检验607的结果是否定的,该单元便不传送确认脉冲,这在图中由NUT ACK表现;并且对标志置位来撤消发出呼叫的子单元,这由SET RECALL CHILD说明;然后返回到AWAIT PARENT状态602。如果没有伴随的高电平地址/数据信号,该单元就进入步骤600,准备接收来自父单元的呼叫,然后传送确认脉冲609。如果没收到数据,就执行步骤605。及后续步骤,到达点b。
如果该单元在它的其它符号寄存器中有值传送给父单元,或者在等待它的一个或多个子单元传送给它一个或多个值(这些子单元相对于它的父单元来说是子单元),则#N STREAM标志置1。
图42表示一个单元从一个特定的子单元接收数据字的过程。在图42中这个子单元是通过网络14的#N二叉树建立的,这个过程的前面是AWAIT CHILD#N状态(未展示),在该状态中该单元等待从子单元接收呼叫。等待单元的父单元与等待单元之间可以借助属于#N二叉树的指针发生联系,也可以不发生联系。图42的过程在下文中称为CELL RX CHILD例程。它开始于点610,那时#N二叉树上的一个呼叫信号到达该单元的#N端口,并全新进入点611,某些情况下在AWAIT CHILD #N状态与开始点610之间可能有一个或多个判定。
紧接着开始点610的是检查该单元是否正在接收来自子单元的呼叫信号,即检查是否高电平获取信号伴随有高电平地址/数据信号。如果没有,该呼叫就是来自被呼叫单元父单元,因而被呼叫单元不传送确认脉冲,这由ACK说明;并对RECALL PARENT标志复位,在612处进入AWAIT CHLLD #N状态,如果开始点610处的呼叫信号伴有高电平地址/数据信号,则该单元就在613处准备接收来自#N子单元传送,并传送一个确认脉冲614,然后接收来自#N子单元的数据字,它存放在被呼叫单元的#N符号寄存器中,又接收子单元的#N STREAM标志的值1或NIL。值1表示该子单元至少还有一个数据字要传送,值NIL则表示该子单元再也没有数据字要传送了。因此被呼叫单元检查接收的是不是1,如果是1则在615处对RECALL CHILD #N标志置位,并在点C处脱离该例程,如果收到的是NIL,被呼叫单元就复位#N STREAM标志并在点d处脱离该例程。
如果RECALL CHILD #N标志被置位,该单元就在某时刻回到重入点611并检查RECALL CHJILD #N是否被置位,当在步骤616处发现被置位时,便呼叫#N子单元。如果没有确认脉冲响应,该呼叫就流产。该单元复位RECALL CHILD #N标志,并在612处进入AWAIT CHILD #N状态。如果该子单元不忙,它就传送确认脉冲,呼叫单元接收一个数据字。该字存放到它的#N符号寄存器中。然后看后面的信号是1还是AIL,决定后面是去c点还是d点。
应当注意,如同下文描述的,图41和42的例程仅嵌套在执行逻辑序列之中被使用。因此,一个单元应当进入这两个例程中的哪一个,取决于它保持的原语运算符,以及它在响应这个运算符的过程中达到了哪个步骤。
关于图42中的CELL RX CHILD例程,应当注意如果有一个原语运算符,对它的响应包括该单元应当某个步骤等待两个或多个子单元中的一个单元,则图42的例程可被修改,使其包括下述过程如果等待单元在预定的短时间间隔中接收了带有电平地址/数据信号的两个或多个正常获取(呼叫)信号,则第二个及任何后续的呼叫信号都不被确认,并且该单元将因第二个和后续的呼叫信号而对各自的RECALL CHLLD标志置位。引起后续呼叫信号的子单元在其父单元处理完首先由呼叫的子单元后侍被该父单元呼叫。
图42的左边(结束于AWAIT CHILD #N状态612)表示了一个单元在等待子单元呼叫如何响应其父单元发出的呼叫。除此而外,在CELL RX CHILD例程进行中的任何时候如果该单元接收其父单元的呼叫,呼叫信号是并端口接收的一个高电平获取信号伴有低电平地址/数据信号,则该单元现有的内部操作以及其它端口的任何通信操作都被冻结,并检查主端口的呼叫是不是瞬时高电平获取信号。如果高电平获取信号是瞬时的,则该单元置这个获取信号为低电平,从而打断任何其它端口上的当前通信操作,并且进入SET FREE SPACE例程,如果另一个端口上的流产的通信涉及到某个子单元,该子单元就把来自该端口的置低电平的获取信号解释作瞬时获取信号并采取相应的行动。
图43A和43B表示一个标准单元如何从自由状态620(图43A所示)到达在其原语指令寄存器中有原语指令的状态。当该单元任何一个端口的从属部分接收一个搜索信号(即一个高电平地址/数据信号伴有一个低电平获取信号)时,它就离开状态620,它响应信号的方式是复位一个内部自由状态标志下,其结果是在那三个未接收到搜索信号的端口处立即清除该单元传送的自由信号,在接收到的端口处传输了确认脉冲以后清除该自由信号,上文中图26A解释了这一点。这个步骤在图43A的621处说明。接收端口变成了该单元的主端口。然后该单元从进行搜索的单元接收数据,这由图43A的RX WHERITED DATA STREAM说明。数据流,即数据字的序列,被看作是继承来的,因为进行搜索的单元变成了过去自由单元的父单元。继承来的数据流包括的成分有一个原语指令,一个到进行搜索单元的返回地址,二叉树#N或NIL的复制地址,以及词典地址。如果有一个复制地址,就会伴随有数据来识别它所适用的树#N。父单元曾通过该树#N构造了一条到达前自由单元的路线。原语指令存放在前自由单元的原语寄存器中,返回地址存放在它的返回指针寄存器中,复制地址如果已被接收则同识别树#N的数据一起存放在新的词典首指针寄存器中,而词典指针存放在它自己的词典首指针寄存器中,如果未接收到复制地址,则接收到的NIL存放在词典首指针寄存器中,该单元还通过接收端口的确认信号线把对应的二叉树上它自己的地址传送到进行搜索的单元。如果接收到的是NIL而不是复制地址,则被继承的数据流还包括要写进树#1到树#4寄存器以及中央寄存器17的4个符号寄器的数据。此外,该单元继承的它指令将是反转的元指令。
把各种作为继承数据接收来的各种项目存放在适当的寄存器中以后,该单元检查其新词典首寄存器,看接收的是NIL还是一个地址。如果检查结果是肯定的,即接收的是NIL,则转入图45所示的WAIT状态630,如果来接收NIL,则新词典首指针寄存器中有一个树#N复制地址,该单元进入步骤622,呼叫树#N上复制地址处的单元。当从被呼叫单元(是定义单元)接收到确认脉冲(未展示)以后,发出呼叫的单元传送值TRUE(T)形式的复制要求(如623所示),并从复制单元亦即定义单元接收作为响应的数据。复制单元的组成成分是一个原语指令,一个或多个值或更多定义单元的地址,以及一个词典地址。此处,如图43B所示,该单元检查它继承的原语指令是不是NIL。如果结果为是,则复制单元原语指令写进该单元的原语指令寄存器中存放NIL的地方,如果继承的原语指令不是NIL,则该单元反转复制单元原语指令,然后实现被反转的复制单元原语指令同被继承的原语指令之间的逻辑OR,并把结果写进原语指令寄存器中存放被继承指令的地方。被继承原语指令若不是NIL则是TRUE(二地进制码为1000)或lambda(二进制码是1110)。因此,如果被继承的原语指令是TRUE,OR运算的结果不改变。此外,把lambda表达式写进该单元时,如果被继承的原语指令是lambda即入,则反转的复制单元元指令就是symbol,即$(二进制码为1101),使OR运算的结果是lambda-symbol,即入-$(二进制码为1111)。复制单元数据的其余部分中,即值和/或其它定义单元的地址,以及复制词典地址,其中只有值或定义单元地址被用来替换被继承的数据,复制词典地址则被抛弃。根据被继承的是不是NIL,把复制单元元指令保持作是被接收的指令或OR运算。据此,该单元对存在于元指令寄存器中的元指令进行译码。译码中的第一项检验是判断原语指令是不是符号类型的指令,即是不是$或入-$。如果结果为否,该单元就进入点A。但如果指令是$或入-$,则该单元在步骤624中呼叫词典首地址中的词典单元,在该步中这个地址是被继承的。所有的词典地址都是树4地址。
当呼叫被确认后,该单元检查它的原语是不是lambda-symbol,即入-$,若是,则传送符号寄存器的内容到词典首单元。lambda-symbol单元接收来自词典首地址的响应NIL或,以及新词典首指针,或者TRUE,即T。来自lambda-symbol单元的符号传输协议是,每个符号所关联的树的同一性包括在传输当中。因此,正在接收的词典首单元可以立即判定它对应的符号寄存器是否已经被写入。如果对应的符号寄存器尚未写入,词典首单元便把接收到的符号存放在某些适当的符号寄存器中,并把TRUE,T传送回lambda-symbol单元。但是如果词典首指针的某个对应的符号寄存器已被写入,词典首单元就把NIL即传送回lambda-symbol单元。在一起的是新的词典首指针,它是词典首单元的自己词典首指针。在分支是625处,lambda-symbol单元检验是否接收到NIL即XIV。如果收到,lambda-symbol单元就转到点A1,然后回到步骤624,但新的词典首指针存放在它的新词典首指针寄存器中,这个过程使用新词典首指针寄存器而不断重复,直到lambda-symbol单元从词典首单元中接收到TRUE即T。无论何时只要lambda-symol单元接收到TRUE即T,它就在点625处转入CELL TX PARENT例程,然后进入SEE FREE SPACE例程,再次变成树单元。
如果类型为符号的原语指令不是lambda符号原语,则该单元进入点Z。
图44展示从点Z开始的过程。在该点处某个单元的原语指令是符号元$,该单元在其树二符号寄存器中有符号数据,它传送TRUE即T以及该数据到词典首单元,这在626处表示。该单元从词典首单元接收到应答的数据,该单元先检查收到数据是不是地址。如果不是地址,它就是一个值且必须传送给父单元。此时该单元在步骤627把这个值重新安放到对应于一个二叉树的符号寄存器中。该单元是通过这个二叉树联系于其父单元的,然后依次实现CELL TX PARENT例程和SET FREE SPACE例程。如果收到的数据是地址,它可能是伴有NIL的新词典地址,表示该数据的匹配者必须在传送来该数据的词典首单元中;也可能是一个复制单元地址和树本体。如果收到的地址是新词典地址,该单元就把这个地址存放到它的新词典首指针寄存器中,返回到图43中的DECODE PRIMIIVE点,并用这个新词典地址实现步骤624。如果收到的是复制地址,该单元就把该地址和树全同存放在其新词典首指针寄存器中,并呼叫复制地址处的单元,这就是步骤628,这个复制地址可识别它所适用的二叉树,故相应的符号单元通过该二叉树发出呼叫。该二叉树在图44的步骤628中用#N表示。接收该呼叫的确认信号时,该单元传送复制要求(T),接收复制单元数据,例转复制单元元指令,用复制地址替换它的全部指针寄存器内容,并把复制地址自己词典首地址存放在它的新词典首指针寄存器中,这是步骤629,该单元把继承的自己词典首指针存放在它的自己词典首指针寄存器中,但对词典标志LEXTCON置位,表示它的新词典首指针寄存器将后续运算中首先被使用。然后该单元对其新的原语指令译码,如果是符号元指令$,就使用它的新词典首地址呼叫新词典首单元,返回到点Z。如果新原语指令不是符号原语$,该单元就进入点A。
表4依据图40到44总结了单元间6种类型的事项表41.要求自由空间单元父单元 自由单元在#N上的主自由单元搜索 ACKTX NIL/数据 RX被继承数据TX自己地址RX子单元地址2.复制要求新单元 NIL-原语单元带括号单元)呼叫#N上的复制单元 ACKTXT在#N上RXT(复制要求)TX复制-单元数据RX复制-单元数据3.LAMBDA-符号转换器λ-符号单元 函数单元呼叫#4上的函数单元 ACK
TXT-符号-符号…在#4上RXT-符号-符号…如果完成则TXT如果没有地方则带有词典地址的TX NILRX确认数据4.符号替换符号单元 词典(函数)单元呼叫#4上的词典单元 ACKTXT-符号#4上TXT-符号如果不匹配则为TXNIL-LEX.ADDR否则为TXT-数据RX数据5.子单元到父单元子单元 父单元呼叫#N上的父单元 如果不忙则ACK如果ACK TX DATAWORD,STREAMBIT(如果NOT-ACK,则流产)RX DATA WORD
STREAM BIT6.父单元到子单元父单元 子单元呼叫#N上的子单元 如果不忙则ACK(否则ACK流产)TX DATA WORDSTREAM BITRX DATA WORD,STREAM BIT
图45表示如何从点A进入到一个检查,检查原语指令是不是反转的原语指令,即由Nil-True T,Nil-Symbol$,N-Lambdaλ以及Nil-Jdentity=组成的第二集合之一。该项检验检查元指令的二进制码是否以0开始(见表2),图43中此项检验用A后面一点处的-表示。如果回答是否定的,该单元就进入点B,如果回答是肯定的,该单元就检查其树1指针突寄存器中是否有地址。若有则传送搜索信号到树1并安放一个自由单元来接收NIL(L)和另一数据(安是要被复制的一个单元的地址),该树单元传回它自己的树1地址(见图43步骤621),然后反转的元单元对其#1STREAM标志置位,作为存在树1子单元的内部说明,然后跳去检验在其树2指针寄存器中是否有树2地址。这在图45中由#2 ADDRESS说明。如果树1指针寄存器中没有树1地址,该单元便立即去做#2ADDRESS检验,#2 ADDRESS检验和#3 ADDRESS检验所用过程与#1 ADDRESS相同。在最后的#4 ADDRESS检验中,如果树4指针寄存器中没有树4地址,该单元就立即去到WAIT状态630,如果有树4地址,该单元就使用与#1ADDRESS相过程,只是在对#4STREAM标志置值后直接去到WAIT状态630。
带有反转指令(即第二集合中的一条指令)的单元是定义(复制)单元,因而等待要实现复制过程的单元呼叫。图43显示在631处呼叫反相原语单元,该单元检查该呼叫最后是否有瞬时高电平获取信号。如果有,则执行SET FREE SPACE例程,如果没有,就从呼叫单元接收一个复制请求,即TRUE值,传送它的可复制数据给呼叫单元,这个数据包括反相原语单元的原语指令,值或复制地址,以及自己词典首地址,然后返回到WAIT状态630。
图46显示从点B出发,检验该单元的元指令是不是TRUE(T)指令,如果不是,就进到点k。如果是,则检查在其树1指针寄存器中是否有树1地址,如果没有,就去到点D。如果有,该单元就是函数单元(如图31的童533),它去执行建立树1子单元的过程,见图46中的631部分,然后该结点进入WAIT状态632,在那里它等待被lambda-symbol单元呼叫,这个lambda-symbol单元传送任何需要该函数单元存放的数据,这些数据用作该函数单元要建立的一个或多个定义的标识符。相应地,在接收正常获取信号时,该函数单元检查该信号后面是否紧跟一个瞬时高电平获取信号。如果有,该单元就把值NIL传给它的父单元并进入SET FREE APPACE例程。如果没有,该函数单元就在633处接收值TRUE(T)以及符号数据或NIL(关于λ-$见图43)这样的符号数据如果接收到的话,它们是一个或多个符号名,该函数单元要把它们存放到适当的符号寄存器中。接收这些符号名的顺序决定了它们被存放在哪个符号寄存器中,开始一个是树2符号寄存器。未接收到符号名的符号寄存器接收NIL,即L。下一步,根据对#2,#3和#4ADDRESS的检验的结果,该函数单元建立树2、树3或树4子单元。这些步骤的执行方式与反相原语单元的相同(见图45),只是最后该函数单元进入AWAIT CHILD#1状态634,等待被树1上的子单元呼叫,接收呼叫信号时,该函数单元通过点R,并立即检查是否接收到瞬时高电平获取信号(见图47)如果有,就进入SET FREE SPACE例程,则便检查该呼叫中否通过二叉树4。这项检验在图47中用#4ACQUIRE表示。如果确定通过了,这个呼叫就可能来自一个符号单元,它企图用它的符号匹配词典定义。此时该函数单元确认这个呼叫。如果通过树4路线,该函数单元接收的是T和符号数据,该单元就把这个符号数据依次同其树2、树3、树4的符号寄存器内容作比较,直到找到匹配者或者发现没有一个能匹配。如果有一个匹配,该函数单元就在步骤635通过树4路线向发出呼叫的单元进行传送,传送的一项内容是一个指针,它保存在一个指针寄存器中,这个指针寄存器与匹配者的符号寄存器相对应,传送的另一项内容是数据,它标识该指针必须指向的树,以及指针寄存器中所保存的值然后该函数单元返回到AWAIT CHILD#1状态634。如果及没找到匹配者,该函数单元就在步骤636中把NIL(L)和它的自己字典首地址传送给发出呼叫的单元,并返回到AWAIT CHILD#1状态634。
如果通过树4例程未接收到正常获取信号,则它将从树1子单元通过树1路线被接收到。因此该函数单元进入CELL RX CHILD#1例程,然后又进入CELL TX PARENT例程,把它的树1符号寄存器的内容传送给其父单元,树1符号寄存器曾在CELL RX CHILD#1例程中用来自树1子单元的值写入过,然后该函数单元检查#1STREAM标志是否被置位。置位则表示期待来自树1子单元的一个或一个以上的数据字。如果检查结果是肯定的,就执行RECALL CHILD#1步骤637,然后在CELL RX CHILD#1例程中返回到点611(见图42)。如果检查结果是否定的,该函数单元就进入SET FREE SPACE例程,因为不再期待从树1子单元传来更多的值。
从图46将看到,如果以TRUE(真)原语驻留在它的原语指令寄存器中的单元,在它的树1指针寄存器中没有找到地址,单元转到点D。从点D,图48的过程跟着发生。在树1指针寄存器中树1地址不存在导致一个单元不是函数单元而是TRUE原语单元(例如图33的单元557),这个TRUE原语单元在条件方式下操作,并且可以认为是真值条件单元。像这样的单元通常至少有两个存储在树2,3和4指针寄存器中的地址。点D之后紧接着,单元把保持在它的4个树指针寄存器中的任一值转移到对应的符号寄存器,正如在图48#1、#2、#3、#4符号寄存器中由RELOCATE VALUE(重定位值)所指出的那样。然后,单元对在它的树2指针寄存器中的树2地址的存在作测试,如果答案为是,就创立对应于树2的子单元。正如图48中638上标明的那样。
如果在树2指针寄存器中没有树2地址,则单元转到点E。
接着在638树2子单元的创立,单元直接转到#3ADDRESS(地址)测试。
如果有树3地址,对应的树3子单元在639创立,并且单元传递到等待子3(AWAIT CHILD#3)状态640。当单元正处于这个等待状态640,收到了一个呼叫,则单元就转到点G1。如果紧接着在638创立树2子单元,则第3地址(#3 ADDRESSS)测试给出一个负值结果,单元转到一个等待子2(AWAIIT CHICD #2)状态641。如果单元在这种等待状态641期间收到一个呼叫,单元转到点H。
图49显示来自点G1的过程。在点G1之后的第一步是单元测试呼叫之后是否跟随一瞬时的高电平获取信号。如果测试是肯定的,单元进入设置自由空间例程。如果没有瞬时高电平获取信号,单元执行单元RXZ例程642。在点C或者在点d离开子例程642时,为确定树2符号寄存器是否保存值NIL,单元执行测试643。如果答案为是,进入等待子3状态644。如果树2符号寄存器保存有值而不是NIL,则单元传递到单元TX父(CELL TX PARENT)例程,在例程中它将保留在树2符号寄存器中的值传送到父单元,然后传递到测试645确定流2标志是否被设置如果答案为是,在例程642中由检索子(RECLL CHILD)#3步骤646传递到点611(图43)。如果#2流标志未设置,单元进入等待子3状态647。
当在状态647时单元收到一个呼叫,单元转到点G2,紧接着G2,如图50所示,如果瞬时高电平获取信号跟随在呼叫之后的话,单元进入设置自由空间例程;如果没有瞬时高电平获取信号,为从树3子单元收到数据,单元进入CELL RX CHILD例程648。在点C或者在点d离开例程648时,单元测试它的树3符号寄存器是否包含NIL。如果有NIL,进入设置自由空间例程。如果树3符号寄存器的值不是NIL,单元执行CELL TX PARENT例程,在例程中保留在树3符号寄存器中的值被传送到父单元,然后测试是否#3 STREAM标志被设置。如果标志未设置,单元进入设置自由空间例程。如果标志被设置,由步骤649,单元到例程648中的点611。
当在状态644(图49)时单元收到了一个呼叫,单元传递到点G3,如图51所示,紧接着G3,单元执行上文描述的与图50有关的过程,但是在为了确定否树3符号寄存器是否包含有值NIL的测试650除外。如果那个寄存器地址的存在,单元转到测试651(也见图57)。
图52显示紧接着图48点H的过程。在H之后,单元对瞬时高电平获取信号的存在进行测试。如果检测出这样的信号,单元进入SET FREE SPACE例程。如果没有瞬时高电平获取信号,单元执行与树2子单元有关的CELL RX CHILD例程652。然后,在点C或d离开时,为了确定树2符号寄存器包含值NIL而执行一个测试。如果那个寄存器包含NIL,则单元对是否树3符号寄存器包含值NIL做一个测试。如果树3符号寄存器包含有值NIL,单元传递到#4 ADDRESSSS测试651。如果树3寄存器包含另一值,单元执行CELL TX PARENT例程653,在该例和程中保存在寄存器中的值被传送到父代单元,然后单元进入SET FREE SPACE子例程。
如果离开例程652时,树2符号寄存器包含一个值而不是NIL,单元执行CELL TX PARENT例程去传递此值到父单元。然后对是否#2 STREAM标志被设置进行测试,如果标志被设置,由步骤654,单元返回到在例程652中的点611。如果#2 STREAM标志未被设置,单元为确定树3符号寄存器是否包含值NIL执行测试655。如果它的值是NIL,单元进入SET FREE SPACE例程。如果树3符号寄存器保存一个不是NIL的值,则单元执行CELL TXPAR-ENT例程去传送那个传值到父单元,然后进入SETFREE SPACE例程。
在图48点E,单元在它的树2指针寄存器中没找到地址,如图53所示,单元对它的树3指针寄存器的地址是否存在进行测试。如果没找到这个地址,单元传递到点J。如果有树3地址,单元创立对应的树3子单元,正如在656指出的那样,然后确定在树符号寄存器中的值是否为NIL。如果值是NIL,单元进入AWAIT CHILD #3状态657。如果树2符号寄存器包含一个值而不是NIL,则保存在那个寄存器中的值被传送到例程658中的父单元。然后单元进入AWAIT CHILD #3状态659。
当在状态657时收到一个呼叫,单元转到点L1,如图54所示,从L1,单元对瞬时高电平获取信号进行测试,如果发现一个,单元进入SET FREE SPACE例程。或者,如果没有瞬时高电平获取信号,执行CELL RX CHILD #3例程660。过程如参照图51描述的那样继续。
当在状态659时收到一个呼叫,单元转到点L2,如图55所示,从L2,单元如参照图50描述那样执行相同的过程。
如果单元到达图53的点J,单元执行显示在图56的过程,从点J之后,在那里单元对树2符号寄存器值是否为NIL进行测试。如果答案是NIL,单元对树3符号寄存器包含的值是否为NIL执行一个测试661,并且如果答案为是,传递到#4 ADDRESS测试651。如果树3符号寄存器含有一个值而不是NIL,则单元传送那个寄存器中的值到例程662中的父单元,然后进入SET FREE SPACE例程。
如果在点J之后,发现树2符号寄存器被包含一个值而不是NIL,则单元执行测试663以确定树3符号寄存器是否包含值NIL。如果树3符号寄存器中包含的值是NIL,单元传送树2符号寄存器中的值到例程664中的父单元,然后进入SET FREE SPACE例程。
如果测试663显示树3符号寄存器也包含一个不是NIL的值,单元传送树2符号寄存器和树3符号寄存器的值到例程665和666的父单元,而后进入SET FREE SPACE例程。
图57显示以#4ADDRESS测试651开始的过程。
如果单元为确定它的树4指针寄存器(#4ADDRESS在图51、52、54和56中)中有树4地址而到达测试651,而那里没有树4地址,单元转到CELL TX PARENT例程667,在其中树4符号寄存器的内容被传送到父单元。单元进入SET FREE SPACE例程。
如果在树4指针寄存器中有树4地址,单元在过程668中创立树4子单元,而后进入AWAIT CHILD #4状态669。
如果在AWAIT CHILD #4状态669期间单元收到一个呼叫,单元为瞬时高电平获取信号进行测试。如果这样的信号存在,进入SET FREE SPACE例程,如果在这点没有瞬时高电平获取信号,单元进入CELL RX CHILD#4例程670去从树4子女单元接收一个值,在离开例程670时,单元进入CELL TX PARENT例程671,在其中单元传送它的树4符号寄存器的内容到它的父单元。从例程671,单元转到一个测试以确定#4STREAM FLAG(#4流标志)是否被设置,如果它未被设置,则单元进入SET FREE SPACE例程,因为没有更多的值将被传送。如果标志被设置,由步骤672,单元转到在CELL RX CHILD#4例程670中的点611(图42)。
图58显示从图46的点K出现的过程。从点K,单元转到对原语指令寄存器是否存有入原语的测试。如果答案为否,单元转到点F。如果答案为是,单元复位词典标志LEXICON(词典)以指出单元在自己的词典头指针寄存器中的自己的词典头地址将被使用(步骤673)。然后单元用过程674创立树2子女单元。过程674包括传送入原语到树2子女单元做为那个子女单元继承的原语指令(也见图43上文的描述),并且等候树2子女单元去传送NIL(L),指出树2子女单元操作胜利完成(见图43B从点625)。而后单元用过程675创立一个树3子单元,并进入AWAIT CHILD#3状态676。
如果在AWAIT CHILD#3状态676期间单元收到一个呼叫,单元传递到点U,如图59所示,从点U,单元为瞬时高电平获取信号的出现进行一个测试。如果有瞬时高电平获取信号,单元进入SET FREE SPACE例程。如果没有瞬时高电平获取信号,单元执行与树3子女单元有关的CELL RX CHILD例程,而后执行CELL TX PARENT例程去传送在它的树3符号寄存器中的值。下一步单元测试是否#3 STREAM标志被设置。如果它未被设置,进入SET FREE SPACE例程。如果此标志被设置,单元由步骤RECALL CHILD #3转到在CELL RX CHILD #3例程中的点611。
来自图58点F的过程显示在图60。因为原语指令不是S。入-S,反相的原语,T或入,借助消除原语指令,必须是完全恒等原语=。在初始化装入或拷贝过程中,值被存储到树2、树3和树4的指针寄存器中。紧接着点F,单元的第一步是为此在它的树2,树3和树4符号寄存器中再定位任一这样的值。于是,从图58的点F,单元传递到在图60到图64中显示的过程。在这些图中,第一步677是在与之对应的符号寄存器中出现于树1、树2、树3和树4的指针寄存器中的任一值的再定位。
图60至图64的过程是在原语寄存器中恒等原语“=”存在所要求的操作的集合。然而,并没有对这个原语的存在的实际测试因为如果单元已经到达点F,它必须由消除过程在它的原语值寄存器中保留恒等原语。提供与此恒等原语类似的其它原语的更多的实施例中,一个对恒等源语的存在和其后任何其它一这样的更多的原语的存在的明显的测试当然被包括。
在执行步骤677之后,单元对它的树2指针寄存器的地址的存在进行测试。如果那里没有地址,传递到点M,如果有树2地址,单元创立对应于树2的子单元,正如678上指出的,然后对它的树3指针寄存器中的地址的存在进行测试。如果有树3地址,单元创立对应于树3的子单元,正如679上指出的,然后进入AWAIT CHILD #2状态680。如果没有树3地址,单元立即转到进入AWAIT CHILD #2状态681。
当在等待状态681期间收到一个呼叫,单元转到点P1,紧接着它,如图61所示,如果有一个瞬时高电平获取信号但没有执行测试682去确定是否通过#2二叉树呼叫已经至达,单元进入SET FREE SPACE例程。如果呼叫是一个树2呼叫,单元执行CELL RX CHILD #2例程683,再加上CELL RX CHILD#3例程684。如果在例程684的结尾,#3 STREAM标志被设置,单元在点C退出(见图42)并且执行测试685以确定是否#2 STREAM标志也被设置。如果两个标志都被设置,在686,单元测试在它的树2符号寄存器中的值是否与它的树3符号寄存器中的值相同。如果它们相同,由步骤687返回到例程683中的点611。如果在测试685上#2 STREAM标志被设置,即在例程683中被复位(见图42),或者如果在测试686上的值不相同,单元传递到点P3。
如果在例程684的结尾#3 STREAM标志被复位,单元在点d出口,并执行测试688以确定是否#2 STREAM标志也被复位。如果两个标志都被复位,则单元在689测试树2和树3符号寄存器中的值是否相等。如果它们相等,转到图57的#4 ADDRESS测试651。如果值不相等,或如果在测试688上两个STREAM标志没有都被复位,单元转到点P3。从图42和图61将看到如果来自树3子单元的数据与来自树2子女单元的数据相等,单元转到#4 ADDRESS测试651,反之如果两组数据不相等,单元转到点P3。
当等待在图60的状态681时收到一个呼叫,单元转到点P2,紧接着它,如图62所示,单元对瞬时高电平获取信号进行测试。如果这样的信号存在,进入SET FREE SPACE例程,如果没有瞬时高电平获取信号,单元执行CELL RX CHILD #2例程690。因为树3符号寄存器保留有值(见图60),如果#2STREAM标志在来自例程690的出口上的被设置(点C),单元直接转到点P3。如果#2 STREAM标志被例程690(点d)复位,单元测试在树2和树3符号寄存器中的值是否相等。如果值不相等,单元转到点P3;如果值相等,单元转到#4 ADDRESS 651。
图63显示来自图61和图62的点P3的过程。紧接着P3,单元执行CELL TX PARENT例程,在其中保存在它的树1符号寄存器中的值被传送到父单元,而后进入SET FREE SPACD例程。树1符号寄存器中的值被安排为NIL。或者作为图60步骤677的部分,或者作为用从一个定义单元复制的方式的寄存器的内容的定义的初始过程的结果被装入值NIL定义单元树1符号寄存器。
如果单元转到图60的点M,单元执行图64的过程,在其中,在点M之后,单元确定是否它的树3指针寄存器中保留有地址。如果是,创立象在691指出的那样的对应于树3的子单元。然后进入AWAIT CHILD #3状态692。
当在状态692时收到一个呼叫,或者如果有瞬时高电平获取信号,则单元进入SET FREE SPACE例程,如果没有瞬时高电平获取信号,则执行CELL RX CHILD #3例程693。例程693之后的过程与在此之前根据图描述的62与例程690有关过程一样。
如果在树3指针寄存器中没有树3地址,单元执行测试694以确定是否树3符号寄存器中的值与树2符号寄存器中的值相等,如果值不相等,单元转到点P3。如果值是相等,单元到#4 ADDRESS测试651。
图65大略地图示了本发明实施例网络的可供选择节点结构。与图5的节点的联接和分支相对应的图65的节点的联接和分支,在图65中以同样的参考数字给出。
就象在图5的节点中的情况一样,图65的节点被设计用来响应获取、地址/数据、确认和自由信号,除了某些不同点之外,这些不同点将在下文中解释。
在图65的节点中,左侧下层的向上通道51和右侧下层向上通道53被联接到各自的跨接向上选择器701和702。选择器701和702的每一个向各自的向上通道51或53上传递信号,或者到向上仲栽器703,或者到各自的向下仲裁器704或705。向上仲裁器703把上层路径段的向上通道55提供给节点。上层路径段的向下通道56把在向下通道56上传递信号的左右选择器706,或者提供给向下仲裁器704,或者提供给向下仲裁器705。向下仲裁器704传递的信号,或者是由左/右选择器706提供的,或者是由跨接/向上选择器702提供的。这些信号传递到左侧下的向下通道52。并且向下仲裁器705传递的信号或者是由左/右选择器706提供,或者是由跨接/向上选择器701提供。这些信号传送到右侧下层的向下通道54。提供到右侧自由信号线路62R的自由信号通过联接707和709被提供到跨接/向上选择器701和左/右选择器706。并且,提供到左侧自由信号线路62L的自由信号通过联接点708和710被提供到跨接/向上选择器702和左/右选择器706。
图66显示的是左侧向下仲裁器704,跨接/向上选择器702和向上仲裁器703的电路。
当一个正常的获取信号出现在右侧下层的向上通道53时,在线路63R上就有一个高电平获取信号和在线路64R上有一个低电平地址/数据信号,该信号在连接线711上提供一个高电平信号到双稳态电路712,并创立一个来自“与”门713的低电平输出信号,门713具有一个来自线路63R的反相输入,来自“与”门713的低电平输出,被直接联接到相应的也产生一个低电平输出信号的“与”门714的一个输入。
连接线711上的高电平信号设置双稳态电路712,它因而提供高电平信号直接到两个“与”门715和716各自的输入,并通过一个延迟元件到“与”门717的一个输入。“与”门715被连接线711上的高电平信号保持关闭,该信号是通过一个反相器施加到门715上的。“与”门716也被连接结线718上的一个低电平信号保持关闭,该信号来自在复位状态中的双稳态电路719。如果获取信号持续高电平直至输入到“与”门717上的延迟消逝,“与”门717产生一个高电平输出信号,这是因为它的其它输入是通过一反相器由来自复位双稳态电路719的输出提供的。来自“与”门717的高电平输出设置另一个双稳态电路720,它因此为“与”门715的反相输入提供一个高电平信号,并为一个“或”门721也提供一个高电平信号,该“或”门是打开的,因为“与”门714正为“或”门721的另一输入提供一个低电平输出信号。于是“或”门721为向上仲裁器703中的连接线722提供一个高电平信号。连接线722是有与图7锁存电路74相同配置的锁存电路的一部分。因而,如果连接线722在其中的另一个连接线723之前收到一个高电平信号,锁存电路的“与”门724提供一个高电平输输出启动四个线路开关725到728,锁存电路的“与”门729仍然关闭并且保持一个使4个线路开关730到733停用的低电平输出信号。在获取线路63R上的高电平信号因而通过线路开关726和“或”门734传递到上层路径段的向上通道55的向上输出获取线路63,来自“或”门734的高电平输出信号也通过“或”门传递到一个边沿触发的单稳态电路736,此电路因而产生一个确认脉冲,此脉冲通过“或”门737和线路开关728传递到“或”门738它提供可手下层的向上确认线路68R。
如果在获取线路连接线711上的高电平信号在带延迟输入的“与”门717产生高电平输出信号之前瞬间下降,“与”门715收到一个直接来自双稳态电路712的高电平输入信号,并在其反相输入端接收来自双稳态电路720和连接线711的低电平信号,并因此产生一个通过“或”门739去设置双稳态电路719的高电平输出信号。当设置时此电路719利用一个高电平信号到反相输入而保持“与”门717关闭,并且通过连接线718加到“与”门716的高电平信号锁存跨接/向上选择器702进入跨接状态。双稳态电路719的高电平输出也通过“或”门740提供到向下仲裁器704。因为它的其它输入收到来自“与”门741的输出,而714接收来自“与”门713的低电平输出信号作为输入“或”门740被打开。“或”门740的输出被联接到具有与图10的锁存电平12配置相同的锁存电路上,并且,如果锁存电路没有已被来自“或”门742的高电平输出信号占用,锁存电路的“与”门743产生一个高电平输出信号,并且锁存电路的“与”门744保持一个低电平输出信号。于是“与”门743启动3个线路开关745、746和747;“与”门744保持3个线路开关740、749和750停用。因而“或”门751的输入由“与”门741和开关748的低电平输入信号提供,并提供一个低电平输出信号到“与”门753的反相输入,门753的输出提供给左侧下层的向下通道获取线路66L。门753的其它输入由直接来自“或”门754的高电平信号提供,而门754又由来自“与”门743和744的输出信号提供。在线路64R上的地址/数据信号通过线路开关746传递到提供左侧下层的向下通道地址/数据线路67L的“或”门755。在线路65L上的确认信号的跨接联接通过线路开关747到“或”门738来提供。由图66和图67的观察可以看到,跨接/向上选择器701和向下仲裁器705被构成以与选择器702和仲裁器704相同的方式操作。
图68显示左/右选择器706的电路。对于进入的正常获取信号,在获取线路66上有一个高电平信号,在地址/数据线67上有一个低电平信号或者有一个高电平信号,从而“与”门141被关闭。高电平获取信号通过延迟元件提供到“与”门756和757的两个输出,并直接提供到两个输入“与”门758和759各自的输入。如果在线路67上的地址/数据信号为高电平,门758打开;如果信号为低电平,门759打开。
来自门141的低电平输出信号直接被提供到两个“与非”门760和761的输入。这两个门因而提供高电平输出到各自的“与”门762和763,门762和763因此被打开,并传递来自各自的“与非”门764和765和信号到“与”门756和757。“与非”门764和765通过反相器接收来自“与”门758和759的输入,并具有来自电路另一边的“与”门762或763的各自的直接输入,以致“与非”门764和765被有效地跨接耦合。此后,当“与”门762和763二者被打开时,门762到765锁存来自输入“与”门758到输出“与”门756的低电平输出,或者一个来自输入“与”门759到输出“与”门757的高电平输出“或”门766耦合来自门756或757的高电平输出到输入“与”门758和759二者的反相输入,因此使输出“与”门756和757脱离线路67上的地址/数据信号中的进一步变化。来自“或”门766的高电平信号也通过连接线767施加于边沿触发单稳态电路768,该电路由来自“与”门141的低电平输出信号启动并因此产生通过“或”门769耦合到确认线路65的确认脉冲。
来自门756的高电平输出信号打开“与”门770以允许线路67上的地址/数据信号传递到连线771到图66的“与”门752和线路开关749。来自门757的高电平输出信号打开“与”门772以允许线路67上的地址/数据信号传递到连接线773到与之对应的图67的“与”门774和线路开关775。
图68的两个线路开关776和777在它们的启动输入上有反相器,并且来自“与”门141输出的信号被提供到这些反相器上。在目前的例子中,来自门141的输出信号是低电平,以致线路开关776和777被启动。因而线路开关776传递“与”门756的输出信号到连接线778到图66的“与”门752和“或”门742,并且线路开关777传递“与”门757的输出信号到连接线779到图67的与之对应的“与”门774和对应的“或”门780。
通过线路开关750和一个线路开关781来自线路65L(图66)和65R(图67)的确认脉冲通过连接线782和783各自地到达“或”门769。
当在图68中线路66上有高电平获取信号时,在自由信号线路62L和62R上的自由信号的存在或不存在不影响左/右选择器706的操作,因为高电平获取信号导致低电平输出信号从门141来,而门141强制从“异或”门760和761产生高电平输出信号。
类似地,当获取线路63R(图66)上有高电平获取信号时,在自由信号线路62L上的自由信号的存在与否不影响向上仲载器704。因为高电平获取信号导致从“与”门713来低电平输出信号,而门713强制从“与”门714和741来低电平输出信号。同样地,当在获取线路63L(图67)上有高电平获取信号时,自由信号线路62R上的自由信号存在与否不影响向上仲裁器703并且不影响右侧向下仲裁器705。因为高电平获取信号导致从“与”门784来的低电平输出信号。
当搜索信号在左右选择器706的线路66和67上呈现时,在线路66上有一个低电平获取信号,在线路67上有一个高电平地址/数据信号,因而“与”门141产生一个高电平输出信号,它通过“或”门785被提供到输入“与”门758和759,并且通过各自的延迟元件到输出“与”门756和757。线路67上的高电平地址/数据被直接施加于两个“与”门770和722,它们因此被打开,高电平地址/数据信号也被直接施加于输入“与”门758,并且通过一个反相器施加到输入“与”门759,来自“与”门756和757的低电平输出通过“或”门766被耦合到“与”门758和759的反相输入。因此“与”门758产生一个高电平输出信号而“与”门759产生一个低电平输出信号。
来自“与”门141的高电平输出信号打开“与非”门760和761去影响自由信号线路62L和62R上的自由信号的存在或不存在。如果在线路62L和62R二者上有自由信号,“与”门763产生一个高电平输出信号,“与”门763上产生一个低电平输出信号,以致通过与门756和757跟着发生的操作,“与”门770在连接线771上产生一个高电平输出信号,“与”门772在连接线773上产生一个低电平输出信号。
如果在线路63L有自由信号而在线路62R上没有,则“与”门762产生一个高电平输出信号,“与”门763产生一个低电平输出信号。以致再一次“与”门770在连接线771上产生一个高电平,“与”门772在连接线773上产生一个低电平。
如果在线路62R上有自由信号而在线路62L上没有,则“与”门762上产生一个低电平输出信号,它强制从“与非”门765产生高电平输出信号,致使“与”门763产生一个高电平输出信号,在这种情况下,“与”门772在连接线773上供给一个高电平信号,并且“与”门770在连接线771上提供一个低电平信号。
如果线路62L和线路62R上都没有自由信号,“与非”门760和761二者都产生低电平输出信号,致使连接线771和773二者都保持低电平,搜索信号由左/右选择器706的这两个操作封锁。
占用左/右选择器706的搜索信号或者作为连接线771和778上的搜索信号出现,或者作为连接线773和779上的搜索信号出现,所以或者“与”门752(图66)或者“与”门774(图67)产生高电平输出信号,它可以分别地占用左侧向下仲裁器704或右侧向下仲裁器705,它们可以分别地在线路67L和66L或67R和66R上相应传播搜索信号。应该注意,来自“与”门752或754的高电平输出分别在图67中对应的“与”门中关闭“与”门753(图66)。
线路67和66上的搜索信号的存在确保到左侧和右侧向下仲裁器704和705的获取信号连接线778和779,通过“与”门141和线路开关776和777的作用被保持低电平。
当一个搜索信号在跨接/向上选择器702的线路63R和64R(图66)上呈现时,在线路63R上有一个低电平获取信号并且在线路64R上有一个高电平地址/数据信号。线路63R上的低电平获取信号保持双稳态电路712在复位状态,致使“或”门740继续收到来自双稳态电路719的低电平输入信号,并且“或”门721继续收到来自双稳电路720的低电平输入信号,“与”门713产生一个高电平输出信号,它根据自由信号存在与否打开自由信号线路62L上的“与”门741和714,如果没有自由信号,即在线路62L上的低电平,门741产生一个低电平输出信号,并且门714产生一个高电平输出信号,如果电路没被来自其它跨接向上选择器701的信号占用的话,该高电平输出信号通过“或”门721去占用向上仲裁器703的锁存电路搜索信号可能因此向上通过线路开关726和727,并且由单稳态电路736借助从“与”门714来的高电平输出信号的传递通过线路开关725和“或”门735产生确认脉冲。
如果线路62L上有自由信号,“与”门714产生一个低电平输出信号,致使向上仲裁器703将不被搜索信号占用,并且“与”门741产生一个高电平输出信号,它通过“与”门740去占用左侧向下仲裁器704,如果这个仲裁器没有被来自左/右选择器706的信号占用的话。如果搜索信号占用仲裁器704,来自“与”门741的高电平输出信号也通过线路开关745,从那里通过“或”门751到“与”门753的反相输入,因而753在获取线路66L上产生一个低电平输出信号。线路64R上的高电平地址/数据信号通过线路开关746传递到“或”门775,于是门775在地址/数据信号线路67L上提供一个高电平地址/数据信号。
因为节点电路的对称性,呈现在线路63L和64L(图67)的搜索信号具有对应效应。
图65至68的节点允许通过跨接向上选择器701到右侧向下仲裁器705的路线与通过跨接向上选择器702到左侧向仲裁器704的路线并存。具有与图65到68一致的节点的网络14因而有能力支持比具有与图5到12一致的节点的网络14并行路线更高的密度。为了与图65到68的节点合作,处理器单元11被修改以传送正常高电平获取信号中的瞬间低电平,以产生节点的跨接。替用地,图65到68的节点电路也可这样修改,以便产生跨接,响应由图2和38的处理器单元传送的高电平地址/数据跨接信号。
图69所示的一种进一步控制机构能够加进网络14之中。在图69中,将对应于16个叶位置的二叉子树,与通过连接线42、从自由信号线62来的8条连接线一同画出。这8条连接线起自该二叉树的第二级节点上通向“或”门41的输入自由信号连线42,并直接与8输入端“与”门801连接。因此,只有当至少16个处理器单元中另外的处理器单元正在向网络14传送自由信号时,门801才提供一个高电平输出信号。从门801来的输出信号作为一个输入信号直接供给二输入端“与”门802,与门802接收第四级节点上或门41的输出信号作为其另一端的输入信号,“与”门802的输出作为图69所示的子树的总自由信号再送给二叉树网络。因此,只有在16个处理器单元11中另外的处理单元处于自由状态下,搜索信号才能进入图69所示的子树。16个处理单元中的任一个或多个处理器单元发出的搜索信号是不受影响的,它们可以相汇并可以被这16个处理器单元中的另一个处理单元产生的自由信号拉过来。因此提供一种机构,当在定义范围内自由状态处理单元的密度降到某一预定的级和分布值以下时,利用此机构搜索信号的存取能够被限制为在网络中定义范围之内产生的搜索信号的存取。如果需要也能使用图69中16个处理器单元中其它单元以外的级和分布值。
在本处理装置的一个可替换实施例中,处理器单元不存储其自身的地址,但却在通信过程中依据通信网络14的节点提供的信号再生这些地址。本替换实施例的节点适合于重生两种确认信号一种确认信号大致如上所述;另一个确认信号在所有处理器单元的地址中产生一个比特位,该节点是关于所有处理器单元的子树的根,在此子树中,这些处理器单元位于叶位置。因此,当一个呼叫信号从树的一个单元上上升到该树上时,连续获得的每一个节点都产生该单元的一个比特位的地址,并将该比特位作为第二种确认信号仅传给呼叫单元。通过对二叉树结构的考察,能够明显地看出这一点,例如在图3中,存储在任一节点上的地址位都是紧接该节点之上的路径段的地址。在本实施例中每个单元只存储一个树中最小量的自身地址比特位,因此,对一个四树网络说来,每一个标准单元将为其四个端口中的每一个端口存储一个比特住。
两种类型的确认信号既能够以串行方式产生,(所以在一个方向上只需一条确认信号线,象参考图6~12或66~68所介绍的节点电路那样),也能够以并行方式产生。如果两种类型的确认信号以并行方式产生,则要求有第二条确认信号线。
图70所示为图6电路的一种改进电路,它能触发以串行方式产生的第二类确认信号。为了对获取已经找到电路74和92的上升呼叫或搜索信号产生响应,要求节点产生由应答信号线68上的一个脉冲构成的第一确认信号,并在线68上根据被发送的地址比特位,产生由1或0构成的第二确认信号。作为图6中单稳态电路94的替换,图70拥有一个脉冲发生器电路94′,带有用于第一确认信号的第一输出端801和用于第二确认信号的第二输出端802。图6中的三端输入“或”门95在图70中被一个四端输入“或”门95′所取代,95′拥有作为输入信号的来自801和802的两个确认信号和来自线交换器93和135(图9)的输出信号。图6中线123上到脉冲发生器电路94′的输出信号在此被供给第一确认脉冲发生器,该脉冲发生器包括一个第一施密特触发延迟电路803,其输入和输出端分别与两端输入与门804上的直接输入端和输入反相器相连。门804产生一个输出脉冲,从线123输出端变为1时开始,到第一延迟电路803输出端变为1时结束。因此,无论何时只要线123的输出端变为1,第一个确认信号就以单脉冲的形式被送至输出端801。电路94′的这一部分仅执行图6中单稳态电路94的功能。电路94′还包括第二第三个旋密特延迟电路805和806。到第三延迟电路806的输入和输出信号分别与二输入端与门807的一个直接输入端和一个输入反相器相连。如图所示,这三个延迟电路是以串联形式连接的,因此门807产生的脉冲滞后于门804产生的任一脉冲。门801的输出被送给第一地址端808。第二地址端809与第二输出端802相连。如果该节点要传输的地址信号为1,则地址端808和809被链路810连通(在图70中以点线表示)。如果要传输的地址信号为0,则链路810不存在,因此,门801产生的任何脉冲都无法到达输出端,802端。因此,在每一个确认信号脉冲之后,根据在地址端808和809之间是否提供链路810,脉冲发生器电路94′向“或”门95′提供下一个脉冲,指示地址比特位为1;或者不提供下一个脉冲,指示地址比特位为0。
图71是对图11和图12电路作出的必要的改进,以便在线811上产生串行的第一和第二确认信号供给图11中的线交换器135和139。作为对单稳态电路179的取代,改进电路拥有一个两输入端“与”门812,其输出端馈给脉冲发生器电路813,脉冲发生器电路在第一输出端814上提供第一确认信号,在第二输出端815上提供第二确认信号。第一输出端814由线160连接到四端输入或门159′的一个输入端上,该四端输入“或”门取代了图11中的三端输入“或”门159。第二输出端由线160′连接到“或”门159′的第二输入端上。门159′的另外两个输入端,象门159一样,由左边和右边上输出确认信号线65L和65R提供信号。脉冲发生电路813与图70中的电路94′结构相同。因此,如果线180上的信号为0,电路813便在814端上产生第一确认脉冲,并且815端上产生第二确认脉冲或无脉冲出现,后者取决于相对图70中的链路是否存在。
图72所示的电路被提供在每一个处理器单元中,用于将串行的第一第二确认信号分离成第一确认脉冲和地址比特位值0和1。串行确认信号被提供给输入端816,输入端816分别与两个两端输入“与”门817和818连接。门817和818另外的输入分别由SR触发器的输出端Q和Q来提供。触发器819的S输入端由“与”门818的输出提供,触发器819的R输入端由两输入端“或”门820的输出提供,或门820拥有一个由门817提供的输入端和另一个由第二个SR触发器821的输出Q提供的输入端。触发器821的输出Q也馈给触发器821的R输入端,因此触发器821置位之后稍许延迟便自动复位。第一个触发器819的Q输出端提供给触发器821的置位输入端S。第二触发器821的输出端经“或”门820耦合还作为第一触发器819的瞬时复位信号。
当两个触发器819和821处于其复位状态时,如果有一脉冲抵达输入端816,则门817被触发器819的Q端的0关闭,而门818被触发器819Q端的1保持在开门状态,因此输入脉冲到达第一触发器819的S输入端,该触发器就翻转到置位状态。所以第一触发器的输出端Q和Q分别变成1和0,它们分别将门817打开,将门818关闭。在触发器821的延迟之后,第一触发器819的输出端Q=1使第二触发器置位之前,由触发器819和821的输出端提供输入的两输入端“与”门824在地址比特位0输出端825上保持0输出。第二触妇器821在其置位状态通过线822向自己的R输入端连于触发器819的“或”门820提供复位信号。但如果在触发器821的传输延迟结束之前有足够宽度的一个第二脉冲抵达输入端816,那么第一触发器819抢在第二触发器821置位之前被该第二脉冲复位。“与”门824只在第一触发器819置位时输出端825上才输出1,到第二触发器821置位时为止,即仅仅在端816上没有紧跟的第二脉冲的情况下端825上才输出1。如果在端816上出现一紧跟的第二输入脉冲,当第二触发器821的输出Q为1时,第一触发器819的互补输出端Q也为1,导致由这两个信号提供输入的“与”门826在地址比特位1输出端827上输出为1。每个第一确认信号脉冲都产生于输出端823上,该端由处于置位状态呈现逻辑1的第二触发器821的输出端Q提供信号。如果相应的地址比特位为0,则在端823呈现逻辑1期间“与”门824保持端825为逻辑1。如果相应的地址比特位为1,则在端823呈现逻辑1期间,“与”门826保持端827为逻辑1。
图73所示为图6电路的改进电路,它能在第一第二确认信号线上同步地提供第一第二确认信号。除了“或”门95外,单稳态电路94可将其输出脉冲供给第二个三端输入“或”门95″。如果节点要发送一个值为1的地址比特位时,或门95″的一个输入端用链路830(用断线表示与单稳态94的输出端相连;而当节点要发送一个值为0的地址比特位时,“或”门95″的这个输入端处于未连接状态,链路830不存在。或门95″的另外两个输入信号分别由通过受控于线123的线交换器93′的下输出第二确认信号线68′,和用于上输出第二确认信号的交叉连线831提供。门95的输出信号提供给分别受控于来自电路74的线108和109上信号的两个线交换器。线交换器76的输出供给左手第二下输出确认信号68L′,线交换器81′的输出供给右手第二下输出确认信号线68R′。
图74所示为图11的改进电路,它能在第一第二确认信号线65和65′上同步产生第一第二确认信号。图12中电路148的单稳态电路179和其连线160、180以及从图12中门177的输入在图74和75的电路148′中都被去掉了,代之以两个分别向二个“或”门834和835提供输入的两个单稳态电路832和833在其它方面148′与148相同。门834的输出穿过控制第一上输出确认信号线65的线交换器139。门835的输出也穿过受控于来自电路127的线132上的信号并控制第二上输出确认信号线65′上信号的线交换器139′。有四条上输入确认信号线65L,65R、65L′和65R′。关于第一确认信号的两条输入线65L和65R被加在二端输入或门836的输入端上,或门836将其输出提供给另一个或门834的输入端,关于第二确认信号的两条输入线65L′和65R′被加在二端输入或门837的输入端,或门837将其输出提供给另一或门835的输入端。
单稳态电路832由二端输入“或”门838的输出触发,或门838的一个输入端可用通向“与”门840的链路839连接,与门840接收来自电路127的线132上的信号,并通过一个输入反相器接收经线交换器138在地址/信号线67的输出作为输入。如果电路127被下输出呼叫信号占用(一般捕获),并且链路存在的话,则门846的输出触发单稳态电路832并且确认脉冲指示逻辑1被发送给线65。如果链路839不存在,单稳态电路不被触发,则指示逻辑0。因此,如果要发送的节点地址比特位为1,则链路839被引入,所以单稳态电路832被触发;而如果要发送的节点地址为0,则链路839不存在,所以单稳态电路832不被门840的输出触发。或门834的输出还被提供给线交换器135(图74中未画出),线交换器135受线129上的信号控制,或门835的输出也被加在另一个线交换器(未画)上,该线交换器受线129上信号的控制并向线831(图73)提供信号。
单稳态电路833由三端输入或门841触发。
两端输入“或非”(NOR)门842的输入信号从来自电路148′的线181和182上得到,并输出这样一种信号除非电路127已被下输出搜索信号占用(在线67上地址/数据信号为高,线66上捕获信号为低)并且在两条自由信号线62L和62R上无自由信号的情况之外,其输出为0。“或非”门842的输出被提供到或门838和834相应的输入端,以便如果一个下输出搜索信号捕获到电路127但在该节点无自由信号的话,则触发单稳态电路832和833。因此,从一节点上除去两种自由信号的信号被通知到已经形成通向该节点的通道的一个搜索单元。
不论电路127何时被占用,“或”门133的输出都变为值1。为了传送这一事件的信号,“或”门133的输出通过线843上的一个直流隔离电容器(与一放电电阻一起)提供到“或”门841的第二输入端,从而触发第二单稳态电路833。如电路127已被来自上输入路径段上的一个跨接信号占用的话,来自电路833的结果脉冲经过“或”门835耦合到线831(图73)上;如果电路127已被一个下输入信号占用,该结果脉冲则经过线交换器139′耦合到第二应答信号线65′上。
很显然,由图73可知,响应一个上升信号,例如一个正在形成一条从网络14中单元11的级中扩展而出的通路的信号,地址比特位在第二确认信号线68′、68L′和68R′上传输。从图74可以看出,在部分正向网络14中单元11的级扩展的通路中的一个节点上,地址比特位在第一确认信号线65,65L,65R上传输,以响应向线67施加一个低地址/数据信号的下输出信号,这些地址比特位与第二确认信号线65′上的确认脉冲同步,确认脉冲由第二单稳态电路833响应或门133的高输出或响应“与”门840的高电平输出而产生,“或”门133和与门840的输出均通过“或”门841耦合到第二单稳态电路833上。通过将线67上的地址数据信号从高电平交换为低电增,能够在下输出节点上产生地址比特位。从图73和74可以看出,在本节点中出现了一个跨接,没有地址比特位产生,但在第二应答信号线68R′或68L′上有一个确认脉冲被提供给图74的第二单稳态电路833,以响应“或”门133从低电平到高电平的变化。
图75表示一种普通的确认过程,在此过程中,第一处理器单元PC1通过发送最初与低地址/数据信号同时产生的高电平请求信号形成一条到达第二处理器单元PC2的通路,在跨接到达通路的最高节点之后,低电平地址/数据信号被地址比特位所取代。为执行此种通路形成过程,第一单元PC1必须在其指针寄存器中拥有一个相对指针,它是以第一和第二单元PC1和PC2的相应地址作为运算对象的“异或”运算的结果。在此例中,为简单起见,假设每一单元的地址是7个比特位,在图75中表示2至8比特,其中OWN ADDRESS(自身地址)是呼叫单元PC1的地址,DESTINATION ADDRESS(目标地址)是目标单元PC2的地址。在每种情况中,第一比特位是特征位,表示第2到第8比特位的性质,第一比特位为0表示地址,第一比特位为1表示一个相对指针。PC1的地址为0000011,PC2的地址是0000110。所以相对指针为0000101。在相对指针具有值1的最大有效位是比特6,该最大有效位表明跨接必须出现在PC1之上第三个节点上。每个单元只存储其地址的最低位,在此例中第8比特位,因此PC1存储1,PC2存储0。如上所述,每个节点都可发送一个与其上路径段的地址值相对应的地址比特位。图75表示8叶二叉子树的相关节点,编号为1至5,在此子树中,单元PC1和PC2处于两个叶位置。位于该子树最高节点(节点3)上的跨接不要求有一个地址位去控制它,因为它的发生是针对节点3将地址/数据信号置成高电位的结果,如以上参考图6和8所示。但是,目的地址的地址位7和8则需要在节点7和8上进行正确调整。如参考图11和图12所述。呼叫单元PC1拥有永久存储其自身地址的第8比特位,除了接收在其第一输入确认线65上的确认脉冲(逻辑1)之外,还在其第二输入确认信号线65′上从节点1和2接收比特位7和6。在图75中,确认脉冲和比特位7和6被表示在ACK1和ACK2下方。因此,当呼叫单元PC1在线65上接收到第二确认脉冲从而要置其地址/数据信号为高电平以完成节点3上的跨接时,单元PC1也接收到了足以通过异或运算求出所要求的目的单元PC2的地址比特位的自身地址比特位。呼叫单元地址的比特位7和8和相对指针的比特位7和8被作为运算对象来进行异或运算以得到10,它们是目标单元地址的比特位7和8。确认脉冲(逻辑1)在来自跨接节点(节点3)以及沿此通路的下降部分的节点4和节点5的第二确认线上被反送给呼叫单元PC1。在来自节点3、4和5的第一确认信号线上发送地址比特位的情形在此过程中被省略。对节点4和5的呼叫信号的调整已如上参考图11和12所述,目标地址的比特位7被用作节点4上的地址/数据信号值(ADD4),而目标地址的比特位8被用作节点5的地址数据信号值(ADD5)。目标单元PC2只在确认信号线2(即其引出线68′)上提供一个确认脉冲ACK6,构成其最小地址比特位0。
值得一提的是,从异或运算的关系中可以看出,如果向单元A提供到单元B的相对指针PAB,和从单元B到单元C的相对指针PBC,则可在相同的二叉树结构中,计算出到单元C的相对指示字P-A-C。例如,设A,B和C的地址分别是01101,01010和10011,则PAB=00111PBC=11001和PAC=11110图76A表示从搜索单元PC1到自由单元PC2的路线的第一级结构,每个单元只存储其地址的最低位比特位,而其它地址位沿此路线被反送给搜索单元PC1。搜索信号是一个由低电平请求信号生成的高电平地址/数据信号,如上参考图6到12所述。但是,如上述参考图73和74所介绍的节点电路,搜索单元在第二确认信号线68′上接收来自节点1和2的地址比特位7和6,它们分别是沿此路线从单元PC1开始向上的第一和第二个节点。每个上升路径节点1和2也在第一确认信号线68上向单元PC1发送确认脉冲。再次假设每个单元的地址有7个比特位,在图76A中,从比特位2到8,跨接出现在第三节点(节点3)上,搜索信号的跨接是,如上所述,搜索信号被一个受控的自由信号截取的结果,在此例中,为节点3。然后搜索信号沿自由信号的路径下降到该单元或者这些单元中发出自由信号的一个单元上。在跨接节点3,并在该为路线的下降部分的任一节点上,单稳态833为第二确认信号线65′产生一个确认信号脉冲。没有为第一应答信号线65产生脉冲,因为节点4和6中线67上的地址/数据信号为高,而节点3上线132为低。响应搜索信号的自由单元PC2在第二确认信号线65′上发出一个长脉冲并在第一确认信号线65上发出一个低电平信号。在图76A中,确认信号仍以下标数码的ACK1到ACK6表示。在搜索单元PC1接收到来自自由单元PC2的确认信号之前,它拥有自身地址的比特位,该地址不同于自由单元PC2的地址。在此例中,这些位是比特位6、7和8,它们是011。
图76B表示从搜索单元PC1到以前的自由单元PC2的路线的第二级结构,在以前的自由单元已确认接收到搜索信号之后,第二级以搜索单元将其请求信号置高电平开始,立即置其地址/数据信号为低电平。将请求信号置高电平拦截了从PC1到PC2的路线,并允许地址/数据信号被用于恢复数据。将地址/数据信号置低电平,导致节点4和5中的“与”门840产生一个高输出,如果链路839存在的话,该高输出将触发单稳态电路832。由于在此例中以前的自由单元PC2的地址为0000110,在节点4和5中链路均存在并且节点4和5都在第一应答信号线65上发出一个地址比特位1。在来自以前的自由单元PC2的第二应答信号线65′上的维持(长)确认脉冲在高电平获取信号从节点5到达单元PC2之后中止。据此单元PC2向在第一确认信号线65上的搜索单元PC1发送其存储地址的比特位8及信号确认线65′上的一伴随脉冲一起。借助在与一节点(见图76B中ACK4和ACK5)的第二确认信号线65′同产产生的确认脉冲,搜索单元PC1能够识别来自该路线下降部分节点的已接收地址比特位的出现。相似地,原自由单元PC2在发送其已存地址比特位8之时在第二确认信号线上产生一个确认脉冲。
在该路线结构的第二级末尾,搜索单元PC1具有这些前自由单元的地址比特位,这些比特位与其自身地址不同。在此例中,这些位是6,7和8,其值为110。PC2的地址为0000110,如图76B所示。为了以后使用,搜索单元PC1现在能够使用自身地址和目标地址的比特位6、7和8进行异或运算,计算出到PC2的相对指针,即PC2的地址为(011)+(110)=101因此,相对指针为0000101,如图76B所示。
图77A表示使用节点地址比特位的一种无定向、远程自由空间检索的第一级。这个第一级与上边参考图14B所述的绝对地址、无定向、远程自由空间搜索的情形相类似。在图77A所示的例子中,第一单元PC1对其发出的搜索信号进行控制,使其至少在到达高于单元PC1的第三级(节点3)之前不被自由信号转变方向。在该搜索单元之上第二级的节点被占用之前,搜索单元PC1向网络14发送一个带低电平地址/数据信号的高电平获取信号。该搜索信号被转换为高电平地址/数据信号,伴随产生低电平获取信号,在获取信号被置低之前地址/数据信号被置高。因此路线到节点2的上升部分被保护,并且使可能被自由信号转变方向的搜索信号得以提供。在图77A的例子中,假设节点3受8叶子树内从自由单元PC2发出的自由信号控制。因此,与低获取信号伴随产生的高电平地址/数据信号穿过节点4和5被引向自由单元PC2。
在该路线的上升部分,搜索单元PC1在第二确认信号线上接收来自节点1和2上的自身地址比特位7和6,但只接收第二确认信号线上来自跨接节点3和该路线下降部分的节点4和5上的确认脉冲。在确认信号线2上自由单元PC2只接收到长(维持)确认脉冲。然而搜索单元仅拥有其自身地址比特位6、7和8。应该注意如果搜索信号从高电平获取被变成高电平地址/数据之后,仍继续向上搜索,则搜索单元一面继续在第二确认信号线上接收其自身的地址比特位,一面在第一确认信号线上接收确认脉冲。因此,当搜索单元接收到搜索信号捕获的一个自由单元时,它总能够接收到足以计算出相对指针的自身地址比特位。
图77B表示利用节点地址比特位进无定向、远程自由空间搜索的第二级的情形,将会看到这种第二级的情形与图76B所示的无定向、本地自由空间搜索相同,以及它所提供的已发现自由单元地址比特位6、7和8。
图78A表示搜索信号的第一级的情形,搜索信号被定向送至一个特定单元上,该单元被认为处于自由状态。这种搜索过程的执行情况参见定向的远程自由空间搜索。在理想的跨接节点(在本例中为节点3)被占用之前,这种搜索与图77A所示的无定向、远程自由空间搜索过程的方式相同。就本搜索而言,地址/数据信号为高电平,而获取信号为低。至于朝着设想目标的该路线的下降部分,参阅图78A的已设计地址,在搜索单元PC1上的地址/数据信号保持高电平。为在该路线下降部分的节点上提供控制信号,搜索单元PC1设定获取信号,该获取信号向下降部分的每个节点中受请求地址比特位级发送补码。在图78A的例子中,已设计地址的比特位必须被用于控制搜索信号,使之到达设想的自由单元PC2。这些比特位分别是1和0,当节点4被占用时,搜索单元PC1将获取信号置成低电平,当节点5被占用时获取信号为高电平。除非地址比特位0被请求,否则单元PC1将使已发送的获取信号保持低电平。从图6到12可以看出,节点电路通过路线上升部分节点中的“与”门72(或79)和84(图6)向获取信号中发送地址补码比特位。通过与门72和73(或79和80)的补码作用,使上升地址/数据信号保持高电平。在跨接节点,被获取信号调制的地址补码再次由“与”门72、85和154,或“与”门79,86和155产生,请记住在图6和11中的线62R或62L上必须有相应的信号出现。如果上升搜索信号已由某一节点的左手低路径段发出,则与门73的输出被“与”门72的输出相调制,并通过“与”门128(图11)。因此,受地址比特位调制的地址/数据信号将被送给线67R。相似地,如果上升搜索信号已从某一节点的右手低路径段发出,则被地址比特位调制的地址/数据信号被从“与”门134送到线67L上。在本路线下降部分的一个节点上,地址/数据信号的调制和获取信号的补码调制在“或”门131(图11)的输出端提供一个恒定的输出以占用该节点。若在线62L和62R上均出现自由信号,则“与”门141的输出调制不受影响,并且在电路148(图74中为148′)中左或右低路径段的选择已被在“或”门144输出端的地址数据信号所确定。如果已设计地址的单元处于自由状态,则适当的自由信号出现在只有一个自由信号的节点上,使电路148(在图74为148′)在“与”门141输出为1时能够控制搜索信号;而当“与”门141的输出为0时,地址/数据信号判断选择哪边的较低路径段。如果已设计地址的单元不在自由状并且该搜索信号到达本路线的下降部分的一节点上,在该节点上自由信号从这边请求的较低路径段到达反方向的较低路段上,那么电路148(图74中为148′)将选择发出自由信号的较低路径段。因此,如果已设计地址的单元不是自由的,但在含已设计地址和跨接节点的子树中有一个或多个其它单元是自由的,则搜索信号将被引向这些自由单元中的一个自由单元上。如果没有自由信号出现在预设跨接节点上,那这个已设计地址单元就不是自由的,并且在包含跨接节点和已设计地址的子树中不存在自由单元。进一步而言,跨接将不会发生,因为在搜索过程中跨接依赖于自由信号的存在。搜索单元将从预设的跨接节点的节点上继续接收地址比特位,并响应控制信号交换到无定向远程自由空间搜索状态,如上参考图77A和77B所述。在定向远程自由空间搜索状态,地址比特位和确认脉冲从本路线的上升部分,和从本路线的下降部分的跨接节点和节点,反送到搜索单元的发送过程产生的情况,与已介绍的无定向远程自由空间搜索的情况完全相同。
图7B表示图78A的定向远程自由空间搜索的第二级。该第二级以搜索单元PC1预置已发送获取信号为高电平,马上再置已发送地址/数据信号为低电平开始,使在第一级中已建立的路线得以维持。与低电平地址/数据信号共生的高电平获取信号从在路线下降部分的每一个节点(在此例中为节点4和5中的“与”门840(图74)发出一个高电平输出,以便由链路839的存在与否而代表的地址比特位从这些第一确认信号线65上的节点被传送回到搜索单元PC1。还有,当带有低电平地址/数据的高电平获取信号到达目标地址处的自由单元PC2时,已获取的自由单元PC2在第一确认信号线65上向搜索单元反传存储的(最低)地址比特位,同时在第二确认信号线65′上反传一个确认脉冲。指针的计算如图76A和B、图77A和B所述。
图73和74的节点电路可用于使用绝对地址的多处理器单元的实施例中,即它们存储自身的地址,并使用完整的或截断的地址作为指示字。这种节点电路的优点是,它允许执行定向的、远程自由空间搜索。从这些节点传出的地址比特位是冗余的,但是,在第二确认信号线65′,65L′和65R′上、从一条路线的下降部分的节点中传出的确认脉冲、提供为搜索信号发送有关捕获的补码地址所要求的时标信号,如参考图78A所述。显而易见,对于绝对地址而言,图73和74所示的节点电路可以省去链路830和839。
在特定情况下,对特殊单元13而言,执行定向远程自由空间搜索是一项很有用的功能。
再参考图25、29和37,应注意到通过占有动态数据和指针的组合和搜索以确定这些数据的几种不同的方法在上边已作了介绍。还应注意到无论基于词法定域(lexical scoping)(有时称静态定域(static scoping))技术方法,或者基于用在例如LISP数据结构生成的动态轮廓技术方法,都可以用于操作本发明实施例的数据结构的生成。
在本发明的一个实施例中,例如,一个请求定义其字符的字符占有单元可能道德呼叫一个本地词典头单元,该单元占有某一函数的变量字符,字符占有单元中的字符能形成该函数的一部分。变量字符是该数中的约束变量。如果在本地词典头单元中没有找到恰当的定义,则本地词典头单元向该字符单元提供一个指针,该指针指向系统序列中占有它们定义的变量字符的词典头单元的下一个词典头单元。在本地词库中找不恰当定义表明该字符在所述函数中属于自由变量。当在从一个词典头单元向另一个的搜索过程中,找到了匹配的字符,那么产生匹配字符的这个词典头单元便提供一个指示该字符的词头定义单元的指示字。为一个字符而再现一种函数运算的词头定义单元就是λ单元,并且该单元被设计成当定义λ单元被复制后,已变成定义λ单元的复制品的以前的字符单元拥有一个如同自己的词库头指针一样的指向原始本地词典头单元指针,并将这个词典头指针传递给其原先的单元,这些原先的单元仍继续将该指针往下传,因而这些单元形成了复制的字符定义,以及指向原始词典头单元的词典头指针。
另一方面,字符保持单元可能被装进指向本地词典头单元的本地词典头指针,本地词典头单元占有属于该函数一部分的变量字符,并且第一词典头指针以一种词典头的被动设置方式指向第一词库头单元。如果在本地词典头单元中找不到匹配者,象以前那样该字符占有元就接收一个指向下一词典的指示字,但这一点被省略了。取而代之的是,它通过呼叫第一词典头单元和发送字符以求多次匹配来进行响应。当无法匹本时,第一词典头单元回送给字符单元一个指向第二词典头单元的指针,第二词典头单元将第一词典头指针更换掉。这个过程能以此方式继续与第二词典头单元进行,直至在第n个词典头中找到匹本为止,第n个词典头单元向字符占有单元发送自己的(即第n个词典头的)地址和指向定义头单元的指针。字符占有单元然后用已接收到的第n个词典指针更换第一词典头指针。符占有单元绝对建起了一个子单元之后,该子单元继承字符占有单元的本地词典头指示字并复制其正在复制的定义单元的本地词典头指针,所以该子单元立即拥有两个相应的词典头指针,因为复制的定义单元的本地词典头指针是指向节n个词典头单元的。
在参考图29到36和图40到64所介绍的详细实例中,虽然原语结构局限于一个包括全同原语的组内,如单元纯算术/逻辑原语,本发明的其它实施例要能拥有能够执行进一步的算术/逻辑原语,例如加、减、与、与非、或、或非、异或等运算,其中为了提供结果值,将对两各变量值进行处理。适用于这种实施例的单元具有一个算术/逻辑部件,该部件最好是以串行方式工作,以及一个保存算术/逻辑部件操作结果的结果寄存器。例如,来自树2和树3字符寄存器的值被用2作变量值。来自结果寄存器的结果可以被转移到另一个字符寄存器(例如树1字符寄存器)中,以便向父单元传送结果。控制捕获变量值的执行逻辑与以上介绍的有前全同原语相类似。
在本发明的另一些实施例中,这些单元也可是能够执行对就于数据处理(Lisp)语言的头(HEAD)、尾(TAIL)和结构(CONSTRUCT)的原语指令。这些原语指令在某些方面从逻辑上讲与λ和真(TRUE)条件的原语类似,并能以相似的方式执行。CONSTRUCT(简写成CONS)、HEAD和TAIL过程的一种可能的执行情况如图79所示,其中HEAD在单元A上操作、TAIL在单元B上操作,CONS在HEAD和TAIL的结果上操作。CONS、HEAD和TAIL都被送给子单元,在子单元中它们对指针进行运算。HEAD和TAIL将已选择的指示字用NIL和一个被送给相应子单元的转移高捕获信号来取代。CONS将单元A和B置成自由状态。在图79的特例中,单元A和单元B被引用作为字符单元,就分别继承HEAD和TAIL而言,它们的“引用”被禁止。作为结果,单元A定位并复制定义字符A的头单元,而单元B定位并复制定义字符B的头单元。然后,在单元A中的HEAD原语使单元A的树2、树3和树4的字符和指示字寄存器的新内容被置到NIL。在单元B中的TAIL原语使单元B的树1字符和指示字寄存器的新内容被置到NIL。单元A和单元B的相应文单元(它们最初含有原语指令HEAD和TAIL,并将这些指令送给单元A和单元B)保留在此能中简单作为单元A和B在一个方面的链路,而本例中的这个单元含有CONS原语。CONS原语进行操作以留下这样一个单元拥有单元A的树1字符和指示字寄存器的新内容作为自己的树1字符和指示字寄存器的内容,并拥有单元B的树2、树3和树4字符和指示寄存器的新内容作为自己的树2、树3和树4字符和指示字寄存器内容。值得一提的是,在HEAD、YAIL和CONS的操作过程中,继承机构起着重要作用。应该注意,为了清晰起见,在图79中只画了全部四个二叉树的每一个单元的中心寄存器的有效内容。
进一步讲,本发明一个实施例可以包括一个QUOTE指令和一个EVALUATE命令,而不具有表1和表2所示的原语指令。QUOTE指令用于在使用该指令的表达式中禁止所有单元的化简;EVALUATE命令用于被引用表达式,无控QUOTE禁止和开始化简。当EVALUATE命令在表达式中从一个单元到一个单元穿过并且当这些单元中包括着原语指令允许进行化简时,QUOTE指令在复制过程期间被继承。
显而易见,如果网络14具有少于或多于四个二叉树的配置,则这些单元11的结构和运行必须相应地加以修正。
图80到92为图26和64所示实施例的标准单元12的状态图。在这些图中,采用这样的贯例,即双环形轮廓线表示有关状态是复合状态,代表一个子状态的周期。
图80表示从树状态、经过数据继承、内部操作状态、然后回到树状态的状态周期。
图81表示数据继承中的子状态周期。
图82表示在内部继承状态中的子状态周期。
图83表示向父单元的数据传输中的子状态周期。
图84表示向一等待单元执行一普通捕获的子状态周期。
图85表示返回到树状态过程中的子状态周期。
图86表示在图82的内部操作状态中形成复合状态“RX CHILD DATA”的子状态周期。
图87表示在图86的“RX CHILD DATA”周期中形成复合状态“来自子单元的数据Rx”(RX DATA FRQM CHILD)的子状态周期。
图88表示在图82的单元内部操作状态中形成复合状态“译码原语”(DECODE PRIMITIVE)的子状态周期。
图89表示在图88的周期中形成复合状态“翻译原语”(INTERPRET PRIMITIVE)的子状态周期。
图90表示在图82的内部操作状态中形成复合状态“复制”(COPY)的子状态周期。
图91表示在图90的周期中形成复合状态“Tx数据(T)”(TX DATA(T))的子状态周期。
图92表示在图90的周期中形成复合状态“Rx数据(复制)”(RX DATA (COPY))的子状态周期。
下面的表5列出了这些状态图中所示出的变量。
表5图80 主执行逻辑控制变量H 当第二级事务处理发生时,保持最高级触发器的状态。
主ACQ(MASTER 呼叫父单元,使主端口上的ACQ) ACQ线置成高。
主ADD(MASTER 父单元使主端口上的ADD线置ADD) 成高。
输出变量主ACK(MASTEA ACK信号从单元返回到主树上ACK) 的父本。
主F.S特征位 在父单元完成捕获时,置高以保持主树控(MASTEA F.S 制的F-线置高。
FLAG)单元F.S特征位 在自由空间搜索状态,单元从父CELL F.S 单元接受到ADD后,立即置成FLAG) 低。
图81.继承数据控制变量H1 当第三级事务处理发生时,保持第二级触发器的状态。
输出变量H 当继承事务处理发生时,保持最高级触发器在“继承数据”状态。
图82单元内部操作状态控制变量H1 当第三级事务处理进行时,保持第二级状态。
-(原语) 指令寄存器译码第一位的结果。
如果第一位为0,即指令为“QUOTED”,则置“1”H 当第二级事务处理进行时,保持最高级触发器。
图83至父单元的TX数据控制变量数据位 从选中的数据寄存器(典型地从字符号寄存器)读出数据位并与触发位相组合。该数据寄存器然后被增值。
字符/数据寄存器特征位 发送数据字直到寄存器特征位降至低值,表示字结束。
父单元占位(冻结) 如果父单元占位(如无应答信号)则置位。单元本身置位“不再次呼叫父单元”。如果父单元首先呼叫子单元,这一路径不被调用。
输出变量H 保持第一级触发器直到事务处理完成时为止。
数据位 当关于父或子单元的事务处理开始时,在ADD或ACK线上合成触发/数据。
不再次呼叫父单元 如果子单元呼叫父单元而被无确认加以拒绝,子单元自身置位“不再次呼叫父单元”并等待父单元。
图84正常捕获控制变量ACK 在捕获期间从网络节点上接收脉冲。用于增加地址寄存器以便产生同步于节点捕获的ADD脉冲。
地址长度脉冲 当地址寄存器到达最高位时产生跨接地址脉冲。当寄存器计数降至最小有效位时还起动数据事务处理。
输出变量ADQ 来自选定端口的获取线ACQ被置于全高位。用于锁存较高N-级触发器(即HN)。
ADD 一但跨接被置位,根据接收到的节点确认脉冲,将数据位从地址寄存器中读出,首先是最高位。
图86在父网上的RX子单元数据控制变量H2 当第四级事务处理发生时保持第二级触发器。
单元占位特征位 当另一端口开启或当中间运行正在进行时置高位。(置“再次呼叫子单元”特征位)输出变量H1 当第三级事务处理发生时保持第二级触发器在状态中。为了防止其它访问还为单位置“单元占位”特征位。
ACK 产生确认脉冲以指明单元(在此为父单元)已准备好RX数据。
再次呼叫子单元特征位如果单元本身占位时置此特征位,从而使得单元本身空闲时能够被再次呼叫。
图87来自子单元(在主树上)的RX数据(类似于RX数据(复制))控制变量RX脉冲 一但子单元连线已由子单元建立则产生一个地址线ADD。脉冲为触发-脉冲-数据脉冲并由这一事务译码。
寄存器 当第一数据寄存器被占位时,计算器 它允许利用通常的触发来接收包(完成) 括一个单独比特的第二字。在此情况下由寄存器计数器指示完成,则该事务处理退出。
输出变量H2 当第四级进行时保持第三级触发器状态。
触发脉冲 被译码的触发脉冲被用来增加寄存器并指明字的结束。
数据脉冲 被译码的数据脉冲通过寄存器和连续数据流特征位。
图88被译码原语控制变量H2 当第四级进行时保持第三级触发器。
⊥- 代表一个“QUOTED”原语(即原语寄存器的第一位为0)还指明NIL在#4树上被接收S 被译码-符号指令(即在原始寄存器内的1101)。
λ-S 被译码-λ-符号指令(即在原始寄存器内的1111)。
输出变量H1 当该项事务处理被维持时保持第二级触发器。
选择4 选择自己的词典地址寄存器和#4端口,并开始捕获替代单元。
图89翻译原语控制变量H3 当第五级进行时保持第四级触发器。
T 如果原语寄存器包含1000则置高位。
第1号地址 如果寄存器#1包含一地址时,T-λ则置高位。如果原始寄存器包含1110,则置高位。
图90复制控制变量H2 当第四级事务发生时保持第三级触发器在状态中。
输出变量H1 在“内部操作”状态中保持第二级触发器,并且通过读暂存复制单元地址的自身词典寄存器来指明复制原语;在主树上置捕获位ACQ,以便用来自“自身词典”寄存寄存器的有关ADD信号捕获该复制单元。
图91TX数据(T)没有控制参数被请求,则事务处理一步一步按操作步骤进行。
输出变量H2 当该事务在进行时,保持第三级触发器的状态。
ADD脉冲 产生瞬态T-信号(与触发脉冲有关)。对于一个数据流,当ADD根据数据内容被调制时该状态被保持。
图92RX数据(复制)控制变量ACK脉冲 随着数据的发送(本例中为T)响应在该级的复制事务的单元的第一个效力是接收来自复制单元的确认脉冲ACK。允许有一个延迟。然后接着产生一个ACK脉冲流(包括触发信号)。
寄存器计数器 如果从寄存器计数器接收到一个(或数据完成) 脉冲或者数据事务处理被终止则开启。在该级中这种动作以不同的状态出现,所以不会产生混乱的结果。如果需要的话,它们可以被作为分离的控制来对待)。
输出变量H2 当该事务处理发生时,保持第三级触发器在状态中。
触发脉冲 在ACK线上对进入的数据和触发脉冲译码,寄存器计数器控制和字控制(在逻辑图中用于数字译码器)产生中间触发脉冲。
数据脉冲 在ACK线上对进入的数据和触发脉冲译码,产生用于装载单元寄存器的数据脉冲。
对于本领域的技术人员来说,很容易理解,一个状态图就是提供了可以构成实施由该状态图定义的操作的电路信息。(例如,可见Herbert Toub的《数字电路和微处理器》(DigitalCircuit and Microprocessors)一书中的第七章,国际版,由MeGraw-Hill图书公司(McGraw-Hill Book Company)1985年在伦敦,巴黎和东京发表;以及ZviKohavi的《开关和有限自动控制理论》(Suitching and Finite Automata Thoory)一书,第二版,由新德里的Tata McGraw-Hill Pubbshing Co.,Ledd.出版)。而且,已经有商业化的软件包在市场上可以买到,它自动地提供相应于一状态图的门电路设计,如Express V-HDL(注册商标)和Statemate,它们都是由i-Logix有限公司生产的、公司地址是22 Third Ave.Burlington,Massachuse-tts01803,USA)。
尽管作为特定实施例的单元,前面详尽描述了其电路原理,还应该注意到当通信网络14包括四个二叉树的配置时,每一标准单元可以是一个传输装置或一个具有四个串行输入/输出端口的类似微处理器。一个传输装置或这类微处理器被编程为实施由各种原始指令请求的操作、通信操作和数据运算操作。当使用的网络14具有少于或多于四个二叉树的配置时,每一单元可以是一台装置有必要数目的串行输入/输出端口和适当编程的非冯诺依曼(nonNeumann)计算机。当传输装置被用作为标准单元时,两个或更多传输装置可以适当地组合以形成一个特定用途的单元,或者其它一些适当的微处理器也可分别地用作为特定的单元。
λ-算法最初见诸于Alonzo Church的《λ-公约算法》9(The Calculi of Lambola-Convention)之中,于1941年由Princetion University Press首次发表,1951年第二次印刷。纯粹的Church Lambda Calculus则见诸于《Introduction to Combinators and λ-Calculus》,作者J.Roger Hindley和Jonathan P.Seldin,1986年由剑桥大学出版社在英国剑桥和美国纽约出版。λ计算相对于函数编程的重要性可见Anthony J.Field和Peter G.Harrison的《Functional Programming》一书,由Addison-Wesiey Publishing Compomy在英国Wokingham和美国Massachusetts以及日本东京出版。而β减法则在《Introduc-tion of Combinators and λ-Calculus》一书的第1C节和《Functional Programming》一书第6.2节中已作出了解释。
较佳的情况是特定单元与标准单元的比率大约在1∶3000左右。当单元11总数比较多时,几个或很多不同的计算应用可以用一个单独的设备独立地完成,这是一个特别突出的优点,从而可以提供进一步的并行度。
权利要求
1.一种用于执行并行处理的装置,所述装置具有多个处理器单元和一个通讯网络,通过该网络的多个路径能够共存,每一所述路径互连各自的一对单元,并且是由所述单元对中的至少一个的操作而建立的,允许在这对单元之间的数据传输,每一单元都能执行归约操作,在操作中该单元根据对单元组中存储数据的归约表示规则来变换其中的数据。
2.根据权利要求1的装置,其中所述的通讯网络具有一装置,它响应由处理器单元加来的一搜索信号形成一部分路径,响应由另一处理器单元加来的一自由信号形成一部分路径;以及一装置,当所述自由信号的部分路径与所述搜索信号的部分路径相遇时,用于将搜索信号的部分路径接通到该网络上的自由信号的输入点。
3.根据权利要求2的装置,其中多数的处理器单元在使用中都是可置于至少一个搜索状态和在自由状态,在所述搜索状态时向该网络发送一个搜索信号,在所述自由状态时向该网络发送一自由信号,其它的处理器单元的每一个在使用中都可置于搜索状态和等待状态,在所述搜索状态时其每个处理器单元向该网络发送一个搜索信号。
4.根据权利要求3的装置,其中每一个至少可置于自由状态的所述单元在使用中可置于一呼叫状态,在该呼叫状态时向该网络发送一个呼叫信号,该网络包括一个装置,用于根据包含在该呼叫信号中的并指示从该呼叫信号起源的该呼叫状态单元向另一单元延伸的路径的目的地信息来确定呼叫信号的路径。
5.根据权利要求1-4中任何一项的装置,其中将互连各自的一对单元的每一所述路径形成为通过该网络的单调前进通路。
6.根据权利要求5的装置,其中所述的单调前进通路通过一些离散段前进。
7.根据权利要求1-6中任何一项的装置,其中所述的网络是这样的在网络中形成的来自一个处理器单元的路径能与其中来自另一处理器单元已形成或部分形成的路径相遇,并将所形成的路径的接通一直延迟到所述已形成或部分形成的路径被断开。
8.根据权利要求1-7中任何一项的装置,其中每一互连各自一对单元的所述路径是被所述的一对单元中的所述一个的操作来断开的。
9.根据权利要求1-8中任何一项的装置,其中该网络包括一个或多个用于在这些单元之间提供路径的树结构,这些单元位于该树结构的叶位置。
10.根据权利要求9的装置,其中所述的一个或多个树结构是二叉树结构。
11.根据前面任何一个权利要求的装置,其中每个单元能执行通讯操作;命令操作,在该操作中该单元将命令信号发送到网络的另一单元;从属操作,其中该单元执行由另一单元通过网络发送来的命令;其中的通讯的操作包括该单元从网络的另一单元接收数据,和向网络的另一单元发送数据。
12.根据前述任何一项权利要求的装置,其中所述的归约表达式的规则是与纯丘吉入演算一致的。
13.根据前述任何一项权利要求的装置,其中所述的表达式是λ表达式。
14.根据前述任何一项权利要求的装置,其中,在所述网络中通过网络的一路径可将任何一个单元连接到任何另一单元。
15.根据前面任何一项权利要求的装置,其中每对单元可由多个路径通过网络互连。
16.根据权利要求1的装置,其中每一单元在使用中,可置于一呼叫状态,当在该呼叫状态时,将一呼叫信号发送给该网络,该网络包括一个装置,用于根据包含在该呼叫信号中的并指出从该呼叫信号起源的该呼叫单元向另一单元延伸的路径的目的地信息来确定呼叫信号的路径。
17.根据权利要求1或6的装置,其中至少一些该单元的每一个在使用中可被置于一搜索状态和一自由状态,在该搜索状态时向该网络发送一个搜索信号,在该自由状态时向该网络发送一个自由信号,该网络包括响应一搜索信号形成一个部分路径和响应一自由信号形成一个部分路径的装置;当所述自由信号的部分路径与所述搜索信号的部分路径相遇时,将搜索信号的部分路径接通到自由信号起源的单元上的装置。
18.根据权利要求16的装置,其中所述的网络包括许多节点,每一节点包括一个装置用于根据包含在呼叫信号中的并指示从该呼叫信号起源的呼叫单元向另一单元延伸的路径,包括所述节点的目的地信息来确定呼叫信号的路径。
19.根据权利要求17的装置,其中所述的网络包括许多节点,每一节点包括一装置,当自由状态在所述节点出现时用于截获到达该节点的搜索信号,通过产生这种截获的一个或多个节点,在搜索状态的一单元与自由状态的另一单元之间建立一个路径。
20.根据权利要求19的装置,其中每一单元在使用中可置于一呼叫状态,在该呼叫状态时,向该网络发送一呼叫信号,每一节点包括一装置,用于根据包含在所述呼叫信号中的并指示从该呼叫信号起源的呼叫状态单元向另一单元延伸的路径,包括所述节点的目的地信息来确定呼叫信号的路径。
21.根据前述任何一个权利要求的装置,其中每一单元在使用中可置于等待状态,在该状态中该单元存储表达式信息。
22.根据权利要求21的装置,其中存储的表达式信息包括指示从等待状态的单元向另一单元延伸的路径目的地信息。
23.根据前述任何一项权利要求的装置,其中每一单元包括一装置,用于测试存储在该单元内的数据,以确定是否对该数据执行归约操作,当该测试的结果为否定时,用于将该单元置成一种状态,即该单元继续存储所述的数据,直到该单元从另一或另一些单元接收另外的数据,当这另外的数据代替或与先前所述的数据的至少一部分结合而产生的数据对所述的测试给出肯定的结果时,则根据此该单元执行归约操作。
24.根据权利要求18,19或20的装置,其中至少多数节点的每一个,在形成网络路径的至少三个通路段之间形成结。
25.根据权利要求24的装置,其中至少多数通路段的每一个互连各自的一对节点。
26.根据前述任何一项权利要求的装置,其中单元的数目对于以归约表达式规则进行原语操作的每一单独单元的归约操作来说是足够大的。
27.一种用于实现并行处理的装置,所述的装置具有多个处理器单元和一个通讯网络,穿过该网络的多个路径能够共存,每一这种路径互连各自的一对单元,且是由所述单元对的至少一个的操作而建立的,它允许在这对单元之间的数据传输,每一单元都能执行归约操作,在操作中该单元根据对单元组中存储数据的归约表达式规则来变换其中的数据,所述的规则包括函数表达式的并行β归约的执行规则。
28.根据权利要求27的装置,其中的通讯网络具有响应由处理器单元供给的搜索信号形成一部分路径和响应由另一处理器单元供给的自由信号形成一部分路径的装置;当所述自由信号的部分路径与所述搜索信号的部分路径相遇时,用于将搜索信号的部分路径接通到该网络上的自由信号输入点的装置。
29.根据权利要求28的装置,其中至少多数的处理器单元的每一个在使用中可置于至少一个搜索状态和一个自由状态,该单元在搜索状态时向该网络发送一搜索信号,在自由状态时向该网络发送一自由信号,其它的处理单元在使用中每个都是可置于搜索状态和等待状态的,在所述搜索状态每个单元向该网络发送一个搜索信号。
30.根据权利要求29的装置,其中所述的网络包括一个或多个用于给出这些单元之间的路径的树结构,所述的单元位于这个或这些树结构的叶位置。
31.根据权利要求27-30中任何一项的装置,其中单元的数目对于以归约表达式规则进行原语操作的每一单独单元的归约操作来说是足够大的。
32.一种通讯网络,具有响应加到其上的一搜索信号形成一部分路径和响应加到其上的一自由信号形成一部分路径的装置;当所述自由信号的部分路径与所述搜索信号的部分路径相遇时,用于将搜索信号的部分路径接通到该网络的自由信号加入点的装置。
33.一种用于实现并行处理的装置,具有权利要求32所述的通讯网络和多个处理器单元,其中每一单元在使用中是可置于至少一个搜索状态和一个自由状态的,该单元在搜索状态向该网络发送一个搜索信号,在自由状态向该网络发送一个自由信号。
34.根据权利要求33的装置,还包括另外多个处理器单元,其中的每一个在使用中可置于一搜索状态和一等待状态,在搜索状态该单元向该网络发送一个搜索信号。
35.根据权利要求33或34的装置,其中,至少可置于一自由状态的所述单元的每一个,在使用中可置于一呼叫状态,在该呼叫状态单元向该网络发送一个呼叫信号;该网络包括一个装置,用于根据包含在该呼叫信号中的并指示从该呼叫信号起源的该呼叫状态单元向另一单元延伸的路径的目的地信息来确定一呼叫信号的路径。
36.根据权利要求35的装置,其中每一单元具有执行归约操作的装置,在操作中该单元根据对单元组中存储数据的归约表达式规则来变换在该单元中存储的数据,所述单元的数目对于以归约表达式规则进行原语操作的所述每一单独单元的归约操作来说是足够大的。
37.根据权利要求36的装置,其中所述的归约表面式规则是与能丘吉λ演算一致的。
38.根据权利要求37的装置,其中所述的表达式是λ表达式。
39.根据权利要求32的一种通讯网络,包括多个节点和更多个通路段,至少多数这些节点的每一个在至少三个通路段之间形成一个结,每一节点具有信号输入装置和信号输出装置位于该节点和通往每一通路段的连接点上;一个装置,用于将信号从连接其上的任一通路段上的输入装置发送到在连接其上的至少另一能路段上的输出装置;一个装置,它响应在节点上从至少一个输入装置接收的自由信号,用于选择穿过该节点到输出装置的通路,该输出装置位于该节点到一预定通路段的连接点上,而该预定路段是用于当到达该节点上的另一通路段的各个输入装置之后,在该节点上接收的搜索信号。
40.根据权利要求39的通讯网络,其中每一节点具有一装置,它响应在该节点上从连接其上的通路段接收的获取信号,在不管所述自由信号是否存在的情况下为该获取信号提供通过该节点到输出装置的通路,该输出装置位于该节点到被选择的另一通路段的连接点上。
41.根据权利要求40的通讯网络,其中至少多数节点的每一个在三个通路段之间形成结,并且所述响应获取信号的装置响应另一信号的状态,以便当在该节点上从同样的通路段接收所述的另一信号作为获取信号时选择一个或其它一些通路段。
42.一种用于实现并行处理的装置,该装置具有多个处理器单元,一个按照权利要求32所述的通讯网路,所述的单元连接该通讯网络,所述的通讯网络包括多个节点,这些单元的至少一些的每一个在使用中可置于至少一搜索状态和一自由状态,该单元在搜索状态时向该网络发送一个搜索信号,在自由状态时向该网络发送一自由信号,每一节点包括一装置,用于截取当一自由信号出现在该节点时到达该节点的搜索信号,从而通过发生这种截取的一个或多个节点在处于搜索状态的单元与处于自由状态的另一单元之间建立一个通讯路径。
43.根据权利要求42的装置,其中该网络包括有通路段的这些节点的至少一个二叉树结构,其节点位于该二叉树结构的节位置,而处理器单元位于该树形结构的叶位置。
44.根据权利要求43的装置,其中所述的网络包括多个二叉树结构,每一单元位于每一树形结构的叶位置,所述的节点在这些叉树结构的节位置上。
45.根据权利要求44的装置,其中所述的节点在至少两个二叉树结构上占有不同的叶位置,使得包含所述两个二叉树结构里的不同数目节点的路径能在两个单元之间建立。
46.根据权利要求43,44或45的装置,其中将所述的单元排列成一个平面阵列,重复方形的四单元单位结构,以形成单元的一个方阵,该方阵任一边的单元数目都是二的整数次幂。
47.根据权利要求46的装置,其中每一单元在四个二叉树结构中占据不同的叶位置。
48.根据权利要求42-47中任何一项的装置,其中每一单元在使用中可置于一呼叫状态,该单元在呼叫状态向该网络发送一个呼叫信号,且每一节点包含一个装置,用于根据包含在该呼叫信号中的并指示从该呼叫信号起源的呼叫状态单元向另一单元延伸的路径,包括所述节点的目的地信息来确定呼叫信号的路径。
49.一种用于实现并行处理的装置,该装置具有多个处理器单元和如权利要求32所述的一通讯网络,所述的单元连接在该通讯网络上,该通讯网络包括多个节点,至少一些该单元的每一个在使用中可置于一呼叫状态,在呼叫状态,它向该网络发送一个呼叫信号,每一节点包括一个装置,用于根据包含在该呼叫信号中的并指示从该呼叫信号起源的呼叫状态单元向另一单元延伸的路径,包含该节点的目的地信息来确定呼叫信号的路径,该网络包括一组二叉树结构,这些单元位于每一二叉树结构的叶位置,而这些节点位于这些二叉树结构的节位置上,每一单元占据在至少两个二叉树形结构的不同叶位置上,使得含有所述两个二叉树结构中不同节点数目的路径能够在两个单元之间建立。
50.根据权利要求49的装置,其中将所述的单元排列成一个平面阵列,重复四个单元一个方块的单位结构,以形成单元的一个方阵,沿该方阵任一边的单元的数目是二的整数次幂。
51.根据权利要求50的装置,其中每一单元占据在四个二叉树结构中的不同叶位置。
52.根据权利要求43-47中任何一项的装置,其中至少一个二叉树结构是一不完全的二叉树。
53.根据权利要求52的装置,其中将不完全的二叉树连接到用于模拟该二叉树的剩余的至少一部分的装置,这部分包括它的节点,和位于这部分的叶位置上的单元。
54.一种处理器单元具有可装载多种数据的存储装置;一个装置,用于确定在所述存储装置中存储的数据的种类,并根据确定的要存储在该存储装置中的数据的种类,将该处理器置于它的多个工作过程中所选择的一个中,至少一个工作过程包括采用该存储装置中存储数据的计算步骤,该处理器单元具有计算装置,用于执行所述计算步骤;用于接收在存储装置中存储的数据的装置;用于输出来自该处理单元的工作过程的数据结果的装置;用于确定数据的种类的装置,它包含一个装置,用于响应与所述计算步骤不兼容种类的数据的出现,以阻止所述执行装置对这种数据的操作;用于输出指示所选择的工作过程是否是预先确定的静止过程的状态信号的装置。
55.根据权利要求54的处理器单元,其中所述的预定静止状态自动地跟在一些所述工作过程的每一个的后面。
56.一种用于实现并行处理的装置,所述的装置包括如权利要求54所述的多个处理器单元;通讯装置,用于在所述单元之间进行通讯;每一单元具有执行预定操作的装置,当这种预定种类的数据出现在其中时只用预定种类的数据执行预定的操作;用于通过该通讯装置向另外一些单元发送数据和从它们那里接收数据的装置;一个装置,用于响应代表禁止命令的数据的出现,以便禁止该执行装置对预定种类数据的操作。
57.根据权利要求56的装置其中所述的预定操作包括归约操作,所述的数据种类包括符号数据和指针,所述的执行装置包括用于确定是否符号数据和指示字存在于该单元内的装置,如果该确定是肯定的,则禁止一个或多个归约操作。
58.根据权利要求57的装置,其中的用于确定符号数据和指示字存在的装置包括一装置,根据指针启动发送装置。
59.根据权利要求56-58中任何一项的装置,其中至少一些单元的每一个包括状态信号发送装置,用于将所述状态信号发送到通讯装置,以指示该单元是否含有需进一步处理的数据,该状态信号发送装置响应确定数据种类的装置。
60.根据权利要求59的装置,其中的通讯装置包括一个如权利要求39所述的通讯网络,所述自由信号是由指示一个单元不包含带进一步处理数据的状态信号构成的。
61.根据权利要求60的装置,其中所述的用于确定数据种类的装置包括一个装置,它响应该单元中的数据种类的预定结合中包括一个指针,以启动该发送装置,向该网络发送一获取信号,每一所述节点具有一装置,响应在该节点上从连接到其上的一通路段接收的获取信号,以便在不管所述自由信号是否存在的情况下,为该获取信号提供一个通过该节点到所述输出装置,到被选择的另一通路段的通路。
62.根据权利要求56-61中任何一项的装置,其中的通讯装置包括一个或多个树结构用于在单元之间提供数据传输路径,所述的这些单元位于这个或这些树结构的叶位置上。
63.根据权利要求62的装置,其中的一个或多个树结构是二叉树结构。
64.一种用于实现并行处理的装置,该装置具有如权利要求52所述的多个处理器单元和一个通讯网络,通过该网络的多个路径能够共存,每一这种路径互连各自的一对单元,每一单元能够执行包括一组操作在内的多种操作,这组操作包括通讯操作;命令操作,在此过程中该单元向该网络中发送命令信号给另一单元;从属操作,该单元执行由另一单元通过该网络传送给它的命令;内部操作,在这当中该单元处理在它里面存储的数据,所述的通讯操作包括该单元通过该网络从另一单元接收数据的操作,和该单元通过该网络向另一单元发送数据的操作。
65.根据权利要求64的装置,其中至少该单元的一内部操作是归约操作,在操作中该单元根据对单元组中存储的数据的归约表达式规则变换在该单元中的数据。
66.根据权利要求65的装置,其中的归约表达式规则是与纯丘吉λ演算一致的。
67.根据权利要求65或66的装置,其中的表达式是λ表达式。
68.根据权利要求64-67中任何一项的装置,其中至少一些单元其每个的操作状态之一是搜索状态,其另一操作状态是自由状态,在搜索状态该单元向该网络发送一个搜索信号,而在自由状态该单元向该网络发送一个自由信号,该网络包括一个装置,它响应一搜索信号形成一部分路径,响应自由一自由信号形成一部分路径;一个装置,当所述自由信号的部分路径与所述搜索信号的部分路径相遇时,将一搜索信号的部分路径接通到自由信号起源的单元;该自由信号是所述状态信号的一个状态,而该自由状态是所述的静止过程。
69.根据权利要求64-68中任何一项的装置,其中操作状态之一是呼叫状态,在此状态该单元向该网络发送一个呼叫信号,该网络包括一个装置,它根据包含在该呼叫信号中的并指示从该呼叫信号起源的该呼叫状态单元向另一单元伸展的路径的目的信息来确定呼叫信号的路径。
70.根据权利要求64-69中任何一项的装置,其中每一单元包括一个装置,用于测试在该单元中存储的数据,以便确定是否可对该数据执行内部操作,如测试的结果是否定的,则对该单元设备一个状态,使它继续存储所述数据,直到从其它一个或多个单元接收另外的数据,当以此替代或与最初所述数据的至少一部分结合而产生的数据对所述测试给出一个肯定的结果时,该单元根据此执行内部操作。
71.根据权利要求70的装置,其中所述的测试装置根据测试数据的种类来确定测试的结果。
72.根据权利要求71的装置,其中可检测的一类数据是目的地信息数据,在该单元的指定存储装置中存在的目的地信息对所述测试给出一个否定的结果。
73.根据权利要求70的装置,其中所述的测试包括测试至少一个特征位的状态。
74.根据权利要求73的装置,其中所述的测试包括确定在该单元中存在的数据的种类。
75.一种用于实现并行处理的装置,该装置具有多个处理器单元和一个如权利要求32所述的通讯网络,每一处理器单元具有可存储多种不同数据的存储装置;一个装置,用于确定在所述存储装置中存储的数据种类,且根据被确定的在所述存储器中存储的数据种类将该处理器置于它的多个操作过程中所选择的一个;至少一个操作过程包括一个利用所述存储装置中存储数据的计算步骤;该单元具有一个计算装置,用于执行所述的计算步骤;用于接收存储在该存储装置中数据的装置;用于输出该单元操作过程的数据结果的装置;所述确定数据种类的装置包括一个装置,它响应与所述计算步骤不兼容的数据种类的出现,以便禁止所述执行装置对该种数据进行操作,至少所述多个单元和多数的每一个具有用于向该通讯网络输出状态信号的装置,该状态信号指示所选择的操作过程是否是构成该单元的自由状态的预定静止过程,当表示自由状态时该状态信号用作为一自由信号。
76.根据权利要求16,18,20,22,35,48,49,69和72中任何一项的装置,其中的目的地信息被存储在该网络中。
全文摘要
一种用于执行并行处理的装置,包括多个处理器单元和一个通讯网络,通过该网络的多个路径能够共存,每一所述路径互连各自的一对单元,并且是由所述单元对中的至少一个的操作而建立的,允许在这对单元之间的数据传输,每一单元都能执行归约操作,在操作中该单元根据对单元组中存储数据的归约表示规则来变换其中的数据。
文档编号G06F9/44GK1063168SQ92100198
公开日1992年7月29日 申请日期1992年1月10日 优先权日1991年1月11日
发明者德里克·约翰·哈林 申请人:Gec马科尼有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1