CN101438260A - 计算机阵列中的资源分配 - Google Patents

计算机阵列中的资源分配 Download PDF

Info

Publication number
CN101438260A
CN101438260A CN200780005652.2A CN200780005652A CN101438260A CN 101438260 A CN101438260 A CN 101438260A CN 200780005652 A CN200780005652 A CN 200780005652A CN 101438260 A CN101438260 A CN 101438260A
Authority
CN
China
Prior art keywords
computing machine
instruction
array
computers
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200780005652.2A
Other languages
English (en)
Inventor
查理斯·H·莫尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VNS Portfolio LLC
Original Assignee
VNS Portfolio LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by VNS Portfolio LLC filed Critical VNS Portfolio LLC
Publication of CN101438260A publication Critical patent/CN101438260A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

一种计算机阵列(10)具有多个计算机(12)。这些计算机(12)直接与邻居计算机通信,并且间接与阵列中的其它计算机通信。这些计算机传递包括数据和/或指令的数据字。一个18位数据字中可以包括多至四条指令。由于一次传送四条指令,因此可以传送由多至四条指令组成的完整的微循环。本发明的计算机可以直接从它们的输入寄存器中执行指令。

Description

计算机阵列中的资源分配
技术领域
本发明涉及计算机和计算机处理器领域,更具体地涉及计算机之间唯一类型的交互的方法及工具。当前本创造性计算机阵列主要用在单个微芯片上组合多个计算机的方面。
背景技术
使用多个计算机处理器共同工作来完成任务在现有技术中是公知的。多线程及若干其它方案已经用来允许处理器的合作。然而,业界普遍认为在该领域中还有很多改进的空间。而且,将若干个处理器合并到单个芯片上是目前的一个趋势,从而激化了问题,且增加了寻找用于使计算机以有效的方式共同工作的解决方案的紧迫性。目前认为,出于一些原因,对于很多应用而言,多处理器的最佳布置可能是由很多计算机组成的阵列,每个计算机均具有处理能力,并且至少某些计算机具有专用存储器。在这样的例子中,这些计算机各自的功能凭其自身都不是特别强大,但是计算能力将通过计算机的密切合作来实现。
以该同一发明人的名义的相关未决申请已经描述并要求保护这类计算机阵列的若干创造性方面,包括一些关于如何布置这类计算机以及这类计算机之间的通信通道如何产生的细节。然而,为了以最高的效率来运行,实现具有相对较新构思的计算机阵列还需要更多创新。
很明显,关于如何最好地布置计算机阵列、在计算机阵列之间进行通信、在计算机阵列中划分任务以及以别的方式来使用计算机阵列,还有很多有待解答的问题。这些问题中的一些问题可能已经得到解答,但是即使在现有解决方案的基础上还可能有充分的改进空间。在其它情况下,可能需要处理第一次出现的问题的解决方案,以解决现有技术中不存在的新难题。
发明内容
因此,本发明的一个目的在于提供一种用于有效使用计算机阵列中可用的计算能力的方法及装置。
本发明的另一目的在于提供一种用于以低成本提供强大的计算能力的装置及方法。
本发明的再一目的在于提供一种用于提高多计算机阵列的运算速度的装置及方法。
本发明的又一目的在于提供一种用于完成在计算机上强度大的任务的装置及方法。
本发明的再一目的在于提高速度和效率,使计算机组中的一个计算机可以与剩余计算机中的一个或多个计算机进行通信和/或使用剩余计算机中的一个或多个计算机的资源。
简言之,本发明的一个已知实施例是计算机阵列,各计算机具有其自身的存储器,并且能够独立执行计算功能。为了合作完成任务,这些计算机必须在彼此之间传输数据和/或指令。根据发明的一个实施例,这些计算机与垂直相邻的计算机之间具有连接的数据通路,从而使各计算机能够与多至四个“邻居”直接通信。如果期望计算机与另一个非直接邻居的计算机进行通信,则通信会通过其它计算机引导至期望的目的地。
由于根据本发明所描述的实施例,包含多至四条指令的数据字可以在计算机之间并行传递,也可以向各计算机的内部存储器并行传递,以及从各计算机的内部存储器并行传递,所以根据本发明,各数据字可以由最小程序组成,这里该最小程序称作微循环。应该记住在大型的处理器阵列中,大型的任务被理想地划分为多个较小的任务,各较小的任务可以由能力有些有限的处理器来容易地完成。因此,四条指令的循环被认为十分有用。该事实甚至由以下相关联的事实变得更加值得注意,即由于这些计算机具有有限的装备,因此对它们来说间或从邻居“借用”装备是有利的。这将会给予微循环的使用以理想的机会。虽然计算机可能需要从邻居借用处理能力等,但另一种可能是计算机可能需要从邻居借用一些存储器,并以有些类似于其自身的内部存储器的方式来使用借用的存储器。这种存储器的借用可以通过向邻居传输指示该邻居读取或写入数据串的微循环来很容易地完成。这样的微循环可以包含例如从特定的内部存储器位置写入、将该位置递增然后重复一给定次数的迭代的指令。
以上向邻居传递微循环的例子是本发明又一方面的例子,由于这些例子目前是以Forth计算机语言实现的,因此该例子被称作“Forthlet”—尽管本发明的应用不严格局限于使用Forth。Forthlet是可以被直接发送到计算机以供执行的小型程序。在现有技术的计算机中,指令在执行之前必须被读取并存储,但是从这里的详细描述中可以看出,根据本发明不需要在执行之前读取并存储指令。的确,预计发明的重要方面是计算机可以生成Forthlet并将其传递到另一计算机来执行。Forthlet可以由程序员“预写入”并存储,以供使用。的确,Forthlet可以被积累到“库”中,以供在需要时使用。然而,可以在计算机内根据预编程的准则生成Forthlet也落在该发明的范围内。
以举例方式,在该发明的实施例中,I/O寄存器被视为存储器地址,这意味着对存储器进行读和写的相同(或相似)指令还可以执行I/O操作。在多核芯片的情况下,I/O结构的这种选择具有很强大的分支。核处理器不仅可以从其本地ROM和RAM读取并执行指令,而且还可以读取并执行在I/O端口或寄存器上呈递给它的指令。目前传输数据的紧致循环的构思变得难以置信的强大。它允许指令流在I/O端口处呈递给核,并从这些端口处直接执行。因此,一个核可以向邻接的核处理器发送代码对象,该邻接的核处理器可以直接执行该代码对象。目前代码对象可以在核之间传递,这些核在寄存器中执行这些代码对象。由于各核基本上完全在其自身的本地地址空间中工作,没有明显的时间用于传输代码指令,因此代码对象以很快的速度到达。
如上所述,各取指令将多条(在当前描述的实施例中是四条)指令带入核处理器。尽管这类内建“高速缓冲存储器”当然很小,但是当指令本身可以利用它时就它会变得非常有效。例如,由于-下一条(for-next)微循环可以构造为完全包含在单个18位指令字的范围内。当与建立在I/O寄存器内的自动状态信令结合时,这种类型的构造是理想的,因为这意味着大的数据块可以仅用单个取指令来传输。并且使用这种类型的指令打包,执行在来自邻居处理器核的共享的I/O寄存器上呈递的指令的构思具有新的能力,因为现在出现在那个寄存器中的各字表示的不是一条指令,而是四条指令。这些类型的软件/硬件结构以及它们对多核芯片的性能的巨大影响是传统语言不能轻易获得的-它们仅在这种指令集中才是可能的,即在单个字之内打包了多条指令,并且可以从该字内执行完整的循环。
考虑到这里所描述的以及在几副附图中所示出的对发明的实施方式及其工业实用性的描述,本发明的这些及其它目的和优点将对本领域技术人员来说变得清晰。所列出的目的和优点并没有穷尽发明的所有可能的优点。而且,即使在应用中缺少或不需要一个以上计划的目的和/或优点的情况下,也可以实施该发明。
进一步地,本领域技术人员将认识到本发明的各种实施例可以实现所描述的目的和/或优点中的一个或更多,但不一定是全部的目的和/或优点。因此,这里所描述的目的和/或优点并不是本发明的必须元素,且不应当解释为限制。
附图说明
图1是根据本发明的计算机阵列的概略图;
图2是示出图1的计算机子集的更详细视图以及图1的互连数据总线的更详细视图;
图3是描绘图1和图2的计算机之一的一般布局的框图;
图4是根据本发明的应用的指令字的概略图;
图5是图3的时间片定序器42的示意图。
具体实施方式
在参见附图的以下描述中对该发明进行描述,在附图中,相似的附图标记表示相同或相似的元件。虽然本发明是根据用于实现本发明的目的的模式来描述的,但是本领域技术人员将认知到可以不脱离本发明的精神或范围的情况下,根据这些启示实现变体。
这里所描述的和/或在附图中所示的本发明的实施例及其变体仅以示例方式给出,并不限定本发明的范围。除非以其它方式具体说明,本发明的个别方面和部件可以被省略或修改,可以具有因此被替代的已知等价物,也可以具有还未知的替代品,例如可能在未来开发的替代品,或例如可能在未来被发现是可接受的替代品。由于潜在应用的范围很大,且由于本发明意在适应很多这样的变体,因此只要保持在所要求的发明的精神和范围之内,还可以针对各种各样的应用来对本发明进行修改。
虽然使用即具有计算机之间的异步通信也具有独立异步运行的计算机的计算机阵列来描述以下实施例,但是本发明的应用决不受到该背景的限制。
实施本发明的一种已知方式是单个计算机的阵列。图1中的概略图中描绘创造性计算机阵列,该计算机阵列在此由一般附图标记10来指代。计算机阵列10具有多个(在示出的例子中是24个)计算机12(在阵列的例子中有时也称作“核”或“节点”)。在示出的例子中,计算机12中的所有计算机都位于单个电路小片14上。根据本发明,计算机12中的各计算机通常是独立运行的计算机,这在下文更详细地讨论。计算机12通过多条互连数据总线16(其数量将在下文更详细地讨论)相互连接。在该例子中,数据总线16是双向异步高速并行数据总线,尽管出于该目的而采用其它的互连手段也在发明的范围之内。在阵列10的本实施例中,不仅计算机12之间的数据通信是异步的,而且独立的计算机12内部也以异步模式运行。发明人已经发现这种模式提供了重要的优势。例如,由于没有必要在整个计算机阵列10中分发时钟信号,因此可以节省大量的功率。此外,没有必要分发时钟信号还消除了可能限制阵列10的大小或产生其它已知困难的很多时序问题。
本领域技术人员将认识到,电路小片14上还存在附加的部件,为了清楚起见,图1的视图中省略了这些部件。这些附加的部件包括微处理器芯片的电源总线、外部连接焊盘及其它这些普通方面。
计算机12e为不处于阵列10边界的一个计算机12的例子。也就是说,计算机12e具有四个互相垂直的相邻计算机12a,12b,12c和12d。在下文中将使用计算机12a-12e的这个分组,来更详细讨论阵列10的计算机12间的通信。在图1的视图中可以看出,诸如计算机12e之类的内部计算机12具有四个其他的可以通过总线16与其通信的计算机12。在以下讨论中,所讨论的原理将应用于除了只能够与三个其他计算机12直接通信的位于阵列10边界的计算机12、以及只能够与两个其他计算机12直接通信的拐角计算机12之外的所有计算机12。
图2为图1中的一部分的更详细视图,只示出一些计算机12,特别是包括计算机12a-12e。图2的视图还揭示每条数据总线16都具有读线18、写线20和多条(在本例子中为18)数据线22。数据线22通常能够并行同时传输一个18位指令字的所有位。应当注意到,在发明的一个实施例中,一些计算机12是相邻计算机的镜像。然而,计算机12是全部具有同一方向,还是作为相邻计算机的镜像并不是当前所描述的发明的方面。因此,为了更好地描述该发明,在此将不再进一步讨论该潜在的复杂情况。
根据本创造性方法,诸如计算机12e之类的计算机12可以设置其一条、两条、三条或全部四条读线18,从而准备从相应的一个、两个、三个或全部四个相邻计算机12中接收数据。相似地,计算机12也可以将其一条、两条、三条或全部四条写线设置为高。尽管发明人相信同时将计算机12的一条以上的写线20设置为高在当前没有任何实际价值,但是可以想到针对这种操作的应用可能会发生,而这样做也并不会超出该发明的范围。
当相邻计算机12a、12b、12c或12d中的一个计算机将其自身与计算机12e之间的写线20设置为高时,如果计算机12e已经将对应读线18设置为高,那么字在相关联的数据线22上从那个计算机12a、12b、12c或12d传输至计算机12e。然后,发送计算机12将释放写线20,并且接收计算机12e(在该例子中)将写线20和读线18拉低。后一个动作是向发送计算机12确认已经接收到数据。注意,上述说明并不必然地意在按次序指示事件的顺序。在实际应用中,该例子中接收计算机可以在发送计算机12释放(停止拉高)写线20之前,试着将写线20设置得略低。在这种情况下,发送计算机12一释放写线20,写线20就会被接收计算机12e拉低。
在本例子中,只有编程错误才会使位于一条总线16的对立端的两个计算机12试着将它们之间的读线18设置为高。而且,一条总线16两端的两个计算机12同时试着将它们之间的读线18设置为高是错误的。类似地,如上所述,目前所能预计到的是,并不期望将单个计算机12的四条写线20中的一条以上设置为高。然而,目前预计到,将存在以下时机:期望将读线18的不同组合设置为高,从而使一个计算机12可以处于等待来自选中计算机12中的首个计算机的数据来将该首个计算机的对应写线20设置为高的等待状态。
在以上讨论的例子中,计算机12e被描述为在相邻的计算机(选自计算机12a、12b、12c或12d中的一个以上计算机)将该相邻计算机的写线20设置为高之前,计算机12e将该计算机12e的读线18中的一条以上读线设置为高。然而,该过程当然也可以以相反的次序发生。例如,如果计算机12e正尝试向计算机12a写,那么计算机12e会将计算机12e和计算机12a之间的写线20设置为高。如果计算机12e和计算机12a之间的读线18还没有被计算机12a设置为高,则计算机12e会简单地等待,直到计算机12a将该读线20设置为高为止。然后,如上所讨论的,当写线18与读线20的对应对均为高时,等待在数据线22上进行传输的数据被传输。之后,发送计算机12e一释放写线20,接收计算机12(在该例子中是计算机12a)就会将两个计算机(在该例子中是12e与12a)之间的读线18和写线20都设置为低。
每当诸如计算机12e的计算机12预计要写,将其一条写线20设置为高时,它将简单等待,基本不消耗功率,直到如上所述有适当的相邻计算机12“请求”该数据为止,除非数据待被发送到其上的计算机12已经将它的读线18设置为高,在这种情况下数据被立即发送。类似地,每当计算机12预计要读取,将其一条以上读线18设置为高时,它将简单等待,基本不消耗功率,直到连接到所选择的计算机12的写线20变高以在两个计算机12之间传输指令字为止。
可能存在若干种潜在的手段和/或方法来使计算机12如所述工作。但是,在本例子中,计算机12之所以运转得这样简单是因为它们通常都是内部异步运行(除了以所述异步方式相互之间传输数据)。也就是说,通常是按顺序完成指令。当发生写指令或读指令时,直到该指令完成(或者,也许作为替代地,直到其因为“复位”或其他原因被异常中断时)才会有进一步的动作。现有技术中,没有规则的时钟脉冲。更具体地说,只有当正在被执行的指令既不是读类型指令也不是写类型指令时(假如读或写类型指令经常需要另一个实体完成)或当该读或写类型操作事实上已经完成时,才生成脉冲以完成下一条指令。
图3为描绘图1和图2的一个计算机12例子的总体布局的框图。如图3的视图所见,各计算机12为具有其自己的RAM24和ROM26的通用整装计算机。如先前提到的,计算机12有时也称为独立的“核”。在本例子中,假设计算机12被组合在单芯片上。
计算机12的其他基本部件为返回堆栈28、指令区域30、算术逻辑单元(“ALU”)32、数据堆栈34和用于对指令进行解码的解码逻辑段36。本领域技术人员通常应该很熟悉诸如本例子中的计算机12的基于堆栈的计算机的操作。计算机12为具有数据堆栈34和分离的返回堆栈28的双堆栈计算机。
在发明的这个实施例中,计算机12具有四个与相邻计算机12进行通信的通信端口38。通信端口38为三态驱动器,具有关闭状态、接收状态(用于驱动信号使其进入计算机12)和发送状态(驱动信号使其离开计算机12)。当然,如果特定计算机12不在诸如计算机12e的例子的阵列(图1)内部,那么至少出于这里所述的意图,一个以上通信端口38不会被那个特定计算机使用。指令区域30包括若干寄存器40,在本例子中,寄存器40包括A寄存器40a、B寄存器40b、P寄存器40c。在本例子中,A寄存器40a为全18位寄存器,而B寄存器40b和P寄存器40c为9位寄存器。
尽管该发明并不限于该例子,但是本计算机12被实施为执行本机Forth语言指令。熟悉Forth计算机语言的人将认知到,复杂Forth指令,即通常所说的Forth“字”是根据设计在计算机中的本机处理器指令所构建的。在其它语言中,这可能为通常所说的“库”。如下文将更详细描述的,计算机12在一个时段从RAM 24、ROM 26或直接从一条数据总线16(图2)读取十八位。然而,由于在Forth中大多数指令(即通常所说的无操作数指令)直接从堆栈28和34中得到它们的操作数,因此它们的长度通常仅为5位,使得在单个十八位指令字中可以包含多达四条指令,条件是该组指令的最后一条指令选自仅需三位的指令的有界集。在图3的视图中以框图的形式描绘的还有时间片定序器42。在发明的该实施例中,数据堆栈34顶部的两个寄存器是T寄存器44和S寄存器46。
图4为指令字48的概略图。(应该注意指令字48实际上可以包含指令、数据,或包含指令和数据的一些组合。)指令字48由十八位50组成。作为二进制计算机,各位50将为“1”或“0”。如这里先前所讨论的,十八位宽的指令字48可以包含位于四个时间片54中的多达四条指令52,该四个时间片54被称为时间片零54a、时间片一54b、时间片二54c和时间片三54d。在发明的本实施例中,十八位指令字48总是作为整体被读取。因此,由于指令字48中总是存在具有多达四条指令的潜能,因此在计算机12的指令集中包括no-op(无操作)指令以提供用于当没有必要或甚至是不期望使用所有可用的时间片54的情况。应该注意,根据该发明的一个特定实施例,在间隔的时间片(具体来说,时间片一54b和时间片三54c)中位50的极性(与有效低相比较是有效高)是相反的。然而,这不是当前描述的发明的必需方面,因此,为了更好地解释该发明,在下面的讨论中避免这种潜在的复杂情况。
图5为图3的时间片定序器42的示意图。从图5的视图中可以看出,时间片定序器42具有排列成环形的多个(在该例子中是十四个)反相器56和一个与非门58,使得信号在经过该十四个反相器56和与非门58时被反相奇数次。当或门60的两个输入中的任一个变为高时,在时间片定序器42中发起一信号。第一或门输入端62得自正在被执行的指令52的位i466(图4)。如果位i466为高,则该特定指令52是ALU指令,且位i466为“1”。当i4位为“1”时,则第一或门输入端62为高,且时间片定序器42被触发,以发起使下一条指令52被执行的脉冲。
当第一或门输入端62变高或被第二或门输入端64变高(如将在下文中讨论的)而触发时间片定序器42时,信号绕时间片定序器42移动两圈,每次在时间片定序器输出端68产生输出。该信号第一次通过时间片定序器输出端68时,时间片定序器输出端68的输出为低,而第二次时为高。来自时间片定序器输出端68的相对宽的输出被提供给脉冲发生器70(以框图的形式示出),该脉冲发生器70产生窄时序脉冲作为输出。本领域技术人员应该认识到窄时序脉冲是为准确发起计算机12的操作所期望的。
当正在被执行的特定指令52为读指令或写指令,或不期望正在被执行的指令52顺序地触发下一条指令52的执行的任何其它指令时,则i4位66为“0”(低),并且因此第一或门输入端62也为低。本领域技术人员将认识到,在诸如计算机12的器件中,事件的时序通常很关键,而且无一例外。本领域技术人员将认识到,一旦检测时间片定序器42,来自或门60的输出即必须保持为高,直到该信号循环通过与非门58以便发起环的第二“圈”之后为止。之后,在第二“圈”期间,来自或门60的输出会变低,以便阻止电路的多余继续振荡。
根据以上讨论可以认知到,假设下文会讨论的第二或门输入端66不为高,则当i4位66为‘0’时,时间片定序器42不会被触发。
如上所述,根据各指令52是否为读类型指令或写类型指令来设置各指令52的i4位66。指令52的剩余位50为该指令提供了特定操作码的剩余部分。在为读类型指令或写类型指令的情况下,一个以上位可用于指示从该特定计算机12读取数据的地址或将数据写入该特定计算机12的地址。在该发明的本例子中,待写入的数据总是来自于T寄存器44(数据堆栈34的顶部),然而数据可以被选择性地仅读入T寄存器44或仅读入可以执行该数据的指令区域30。这是由于在该发明的该特定实施例中,可以以在此所述的方式来传送数据或指令,因此尽管不是本发明的必需方面,也可以从数据总线16直接执行指令。此外,一个以上位50将用来指示哪个端口38,如果存在的话,将被设置为读或写。该稍后的操作可以通过利用一个以上位指代诸如A寄存器40a、B寄存器等的寄存器40来可选地完成。在这种例子中,将具有与各端口38(以及计算机12可尝试与之通信的任何其它潜在实体,例如存储器、外部通信端口等)相对应的位的数据预载入所指代的寄存器40。例如,在特定寄存器40中,四位中的各位可以对应于上端口38a、右端口38b、左端口38c或下端口38d中的各端口。在这些位的位置中的任意位置存在“1”的情况下,通过对应的端口38将通信设置为继续进行。如这里先前所讨论的,在该发明的本实施例中,预计读操作码可能在单条指令中设置一个以上用于通信的端口38,而尽管有可能,但预计写操作不会在单条指令中设置一个以上用于通信的端口38。
紧接着的例子采用计算机12e尝试向计算机12c写的通信,尽管该例子适用于在任意相邻计算机12之间的通信。当在写计算机12e中执行写指令时,选中的写线20(在该例子中,是计算机12e与12c之间的写线20)被设置为高。如果对应的读线18已经为高,则通过所选中的通信端口38马上将数据从选中的位置发送出去。作为替换地,如果对应的读线18还不为高时,则计算机12e简单地停止操作,直到对应的读线18确实变高为止。这里先前已经讨论过当存在读类型指令或写类型指令时停止计算机12a(或更准确地说是禁止计算机12a的进一步操作)的机制。简言之,指令52的操作码在位的位置i466处为‘0’,因此或门60的第一或门输入端62为低,并且时间片定序器42不会被触发而生成使能脉冲。
关于如何在读类型指令或写类型指令完成时恢复计算机12e的操作,机制如下:当计算机12e和12c之间的读线18和对应写线20均为高时,则两条线18和20分别被将相应线保持为高的相应计算机12中的各计算机12释放。(在该例子中,发送计算机12e将写线18保持为高,而接收计算机12c会将读线20保持为高)。然后,接收计算机12c将两条线18和20拉低。在实际应用中,接收计算机12c可以在发送计算机12e释放写线18之前尝试将线18和20拉低。然而,由于线18和20被拉高,且只能微弱地保持(锁存)为低,因此将线18或20拉低的任何尝试实际上都不会成功,直到线18或20被将其锁存为高的计算机12释放为止。
当数据总线16中的两条线18和20均被拉低时,则这是“确认”条件。计算机12e和12c中的各计算机在接收该确认条件之后,将其自身的内部确认线72设置为高。从图5的视图中可以看出,确认线72提供给第二或门输入端64。由于到或门60输入端62或64中的任一个的输入都会使或门60的输出变高,所以这将以这里先前所述的方式来发起时间片定序器42的操作,从而将执行指令字48的下一个时间片54中的指令52。确认线72保持为高,直到下一条指令52被解码为止,从而防止伪地址到达地址总线。
当正在被执行的指令52位于指令字48的时间片三的位置时,无论如何,计算机12将提取下一个等待的十八位指令字48,当然除非位i466为‘0’。在实际应用中,本创造性机制可以包括用于“预提取”指令的方法和装置,使得可以在指令字48中所有指令52的执行结束之前开始该提取。然而对于异步数据通信来说这也不是本创造性方法和装置的必需方面。
已经详细描述了计算机12e向计算机12c写的以上例子。根据以上讨论可以认知到,无论计算机12e首先尝试向计算机12c写还是计算机12c首先尝试从计算机12e读取,其操作基本相同。操作在计算机12和12c都就绪之后才会完成,而且无论计算机12e还是计算机12c首先就绪,该首先就绪的首个计算机12简单地“进入睡眠”,直到另一个计算机12e或12c完成传输为止。实际上,考虑上述处理的另一种方式是,当写计算机12e和接收计算机12c分别执行写指令和读指令时,它们均进入睡眠,但是当读线18和写线20都为高时,最后进入事务处理的计算机几乎瞬时再度醒来,而发起事务处理的首个计算机12会几乎无限期地保持睡眠,直到第二计算机12做好完成处理的准备为止。
发明人相信使能器件之间有效的异步通信的关键特征是某种确认信号或条件。在现有技术中,器件之间的大多数通信是时钟控制的,且发送器件没有得知接收器件已准确接收数据的直接方式。诸如校验和操作的方法可用来尝试保证数据被正确接收,但是发送器件没有操作已完成的直接指示。如这里所述的本创造性方法提供必要的确认条件,该条件允许器件之间的异步通信,或至少使器件之间的异步通信变得实用。此外,确认条件还可能使一个以上器件“进入睡眠”,直到确认条件发生才会醒来。当然,也可以通过在计算机12之间发送的分离信号(通过互连的数据总线16或通过分离的信号线)来在计算机12之间传送确认条件,而且这样的确认信号在本发明的该方面的范围之内。然而,根据这里描述的该发明的实施例可以认知到,因为用于确认的方法不需要在实际上影响通信的任何额外的信号、时钟周期、定时脉冲或除所述的之外的任何这类资源,因此这里包括更多的经济节约。
可以在不改变本发明的值或范围的情况下,对其进行各种修改。例如,虽然这里在读指令和写指令方面对该发明进行了描述,但是在实际应用中,可以存在至少两种读类型指令和/或至少两种写类型指令。仅作为一个例子,在该发明的一个实施例中,存在使寄存器递增的写指令和不使寄存器递增的其它写指令。类似地,可以根据使用哪个寄存器40来选择通信端口38等而改变写指令,如这里先前所描述的。还可以存在若干不同的读指令,仅取决于计算机12的设计者认为哪种改变是作为替换的读行为的有用选项。
类似地,尽管在这里已经关于单个电路小片14上的阵列10中的计算机12之间的通信描述了本发明,但相同的原理和方法可用于或被修改为用于完成其它器件间通信,例如计算机12与其专用存储器之间的通信,或阵列10中的计算机12与外部器件之间的通信(通过输入/输出端口等)。实际上,预计到,一些应用可能需要阵列的阵列—利用当前描述的器件间通信方法潜在地适用于阵列的阵列中的通信。
尽管这里已讨论了创造性计算机阵列10和计算机12的具体例子,但是,预期将存在很多还无法想象的应用。实际上,本发明的一个优势在于本创造性方法及装置可以适于大量使用。
上面的所有仅是本发明的可用实施例的一些例子。本领域技术人员将容易看出,可以在不脱离本发明的精神或范围的情况下进行大量其它的修改和变动。相应地,这里的公开内容目的不意在限定,且所附的权利要求被解释为包含本发明的全部范围。
工业实用性
创造性计算机阵列10、计算机12和关联的方法74意在广泛使用在大量的计算机应用中。预期它们在需要强大的计算能力的应用中尤其有用,并且功耗及热的产生也是重要的考虑因素。
如这里先前所述的,本发明的实用性在于很多类型的器件与计算机之间的通信可以由此而得到改进。预计可允许一些计算机在未使用时“进入睡眠”的创造性方法可以在大量的应用与实现中用于减小功耗、减少热的产生,并改进计算机与计算机化的器件之间的通信效率。
由于本发明的计算机阵列10、计算机12及方法74可以很容易地生产并与现有任务、输入/输出器件等集成,并且由于提供了这里所描述的优点,因此预期它们在工业中很容易被接受。出于这些或其它原因,预期该发明的应用性及工业实用性在范围上会很巨大,且在持久性方面很耐用。
注意:该对应表仅为提供信息的目的而提供。其并不是官方专利申请的 一部分
10 计算机阵列
12 计算机
14 电路小片
16 数据总线
18 读线
20 写线
22 数据线
24 RAM
26 ROM
28 返回堆栈
30 指令区域
32 ALU
34 数据堆栈
36 解码段
38 内部通信端口
38a 上端口
38b 右端口
38c 左端口
38d 下端口
40 寄存器
40a A寄存器
40b B寄存器
40c P寄存器
42 时间片定序器
44 T寄存器
46 S寄存器
48 指令字
50 位
52 指令
54 时间片
54a 时间片0
54b 时间片1
54c 时间片2
54d 时间片3
56 反相器
58 与非门
60 或门
62 第一或门输入端
64 第二或门输入端
66 i4位
68 时间片定序器输出端
70 脉冲发生器
72 确认线

Claims (13)

1、一种计算机阵列,包括:
多个计算机;以及
连接这些计算机的多条数据通路;其中:
各计算机与它的至少一些最接近的邻居之间具有直接通信通路。
2、根据权利要求1所述的计算机阵列,其中:
各计算机与它的所有最接近的邻居之间具有直接通信通路。
3、根据权利要求1所述的计算机阵列,其中:
所述邻居的定义限定为与目标计算机直接相邻的那些计算机。
4、根据权利要求1所述的计算机阵列,其中:
所述邻居的定义包括仅在水平方向上与目标计算机直接相邻或仅在垂直方向上与目标计算机直接相邻的那些计算机。
5、根据权利要求1所述的计算机阵列,其中:
目标计算机能够通过传递消息来与所述阵列中未与该目标计算机直接相邻的另一些计算机通信,所述消息是经由其它计算机中的至少一些计算机而传递的。
6、一种计算机,其中:
指令被可选地直接从输入寄存器执行。
7、一种在具有多字指令集的计算机中的改进,包括:
将循环指令纳入所述多字指令集,以返回到所述多字指令集中的首指令。
8、根据权利要求7所述的改进,其中:
所述循环指令是所述多字指令集中的末指令。
9、根据权利要求7所述的改进,进一步包括:
空操作指令,在构成完整循环所需的指令少于四条指令的情况下纳入在所述多字指令集中。
10、一种在计算机阵列中的改进,包括:
使所述计算机中的第一计算机向所述计算机中的第二计算机传送指令组;以及
使所述计算机中的第二计算机直接从输入寄存器执行所述指令组。
11、根据权利要求10所述的改进,其中:
所述计算机中的所述第一计算机和所述计算机中的所述第二计算机之间具有直接通信通路。
12、根据权利要求10所述的改进,其中:
所述指令组被规定为其路线至少经过所述第一计算机与所述第二计算机之间的第三计算机。
13、根据权利要求10所述的改进,其中:
所述指令组具有与之关联的用于规定所述指令组从所述第一计算机到所述第二计算机的路线的指令。
CN200780005652.2A 2006-02-16 2007-02-16 计算机阵列中的资源分配 Pending CN101438260A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US11/355,495 US7904615B2 (en) 2006-02-16 2006-02-16 Asynchronous computer communication
US11/355,495 2006-02-16
US11/355,513 2006-02-16
US60/788,265 2006-03-31
US11/441,818 2006-05-26
US11/441,784 2006-05-26
US11/441,812 2006-05-26

Publications (1)

Publication Number Publication Date
CN101438260A true CN101438260A (zh) 2009-05-20

Family

ID=38370086

Family Applications (3)

Application Number Title Priority Date Filing Date
CN200780000017.5A Pending CN101410823A (zh) 2006-02-16 2007-02-16 异步计算机通信
CN200780005652.2A Pending CN101438260A (zh) 2006-02-16 2007-02-16 计算机阵列中的资源分配
CN200780000014.1A Pending CN101341454A (zh) 2006-02-16 2007-02-16 异步节电计算机

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200780000017.5A Pending CN101410823A (zh) 2006-02-16 2007-02-16 异步计算机通信

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN200780000014.1A Pending CN101341454A (zh) 2006-02-16 2007-02-16 异步节电计算机

Country Status (2)

Country Link
US (2) US7904615B2 (zh)
CN (3) CN101410823A (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7904695B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
WO2007105471A1 (ja) * 2006-03-07 2007-09-20 Nec Corporation 資源情報管理装置、システム、方法、及びプログラム
US20080270751A1 (en) * 2007-04-27 2008-10-30 Technology Properties Limited System and method for processing data in a pipeline of computers
US7840826B2 (en) * 2007-05-31 2010-11-23 Vns Portfolio Llc Method and apparatus for using port communications to switch processor modes
US20090300334A1 (en) * 2008-05-30 2009-12-03 Vns Portfolio Llc Method and Apparatus for Loading Data and Instructions Into a Computer
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
KR101738641B1 (ko) 2010-12-17 2017-05-23 삼성전자주식회사 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법
CN109901049B (zh) * 2019-01-29 2021-05-04 厦门码灵半导体技术有限公司 检测集成电路用时序路径中异步路径的方法、装置

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3757306A (en) 1971-08-31 1973-09-04 Texas Instruments Inc Computing systems cpu
US3868677A (en) 1972-06-21 1975-02-25 Gen Electric Phase-locked voltage-to-digital converter
US4107773A (en) 1974-05-13 1978-08-15 Texas Instruments Incorporated Advanced array transform processor with fixed/floating point formats
US4215422A (en) 1978-05-22 1980-07-29 International Business Machines Corporation Selectively modifiable phrase storage for a typewriter
US4215401A (en) 1978-09-28 1980-07-29 Environmental Research Institute Of Michigan Cellular digital array processor
US4298932A (en) 1979-06-11 1981-11-03 International Business Machines Corporation Serial storage subsystem for a data processor
US4360913A (en) * 1980-03-17 1982-11-23 Allen-Bradley Company Multiplexing I/O module
US4593351A (en) 1981-06-12 1986-06-03 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4462074A (en) 1981-11-19 1984-07-24 Codex Corporation Do loop circuit
EP0113275B1 (en) 1982-12-17 1989-03-01 Victor Company Of Japan, Limited Spectrum display device for audio signals
US4739474A (en) 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
US4821231A (en) 1983-04-18 1989-04-11 Motorola, Inc. Method and apparatus for selectively evaluating an effective address for a coprocessor
US4589067A (en) 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
US4672331A (en) 1983-06-21 1987-06-09 Cushing Vincent J Signal conditioner for electromagnetic flowmeter
US4591980A (en) 1984-02-16 1986-05-27 Xerox Corporation Adaptive self-repairing processor array
US4631659A (en) * 1984-03-08 1986-12-23 Texas Instruments Incorporated Memory interface with automatic delay state
JPS60204149A (ja) 1984-03-29 1985-10-15 Mitsubishi Electric Corp デ−タ伝送装置
ATE94999T1 (de) 1984-11-21 1993-10-15 Harris Corp Mikroprozessor fuer forth-aehnliche sprache.
US4984151A (en) 1985-03-01 1991-01-08 Advanced Micro Devices, Inc. Flexible, next-address generation microprogram sequencer
US4742511A (en) 1985-06-13 1988-05-03 Texas Instruments Incorporated Method and apparatus for routing packets in a multinode computer interconnect network
EP0227319A3 (en) 1985-12-26 1989-11-02 Analog Devices, Inc. Instruction cache memory
US5021947A (en) 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
US4789927A (en) 1986-04-07 1988-12-06 Silicon Graphics, Inc. Interleaved pipeline parallel processing architecture
US4868745A (en) 1986-05-30 1989-09-19 Hewlett-Packard Company Data processing system and method for the direct and indirect execution of uniformly structured object types
US5053952A (en) 1987-06-05 1991-10-01 Wisc Technologies, Inc. Stack-memory-based writable instruction set computer having a single data bus
US4943909A (en) 1987-07-08 1990-07-24 At&T Bell Laboratories Computational origami
US5222237A (en) 1988-02-02 1993-06-22 Thinking Machines Corporation Apparatus for aligning the operation of a plurality of processors
US5029124A (en) 1988-05-17 1991-07-02 Digital Equipment Corporation Method and apparatus for providing high speed parallel transfer of bursts of data
US4961167A (en) 1988-08-26 1990-10-02 Mitsubishi Denki Kabushiki Kaisha Substrate bias generator in a dynamic random access memory with auto/self refresh functions and a method of generating a substrate bias therein
DE3937807C2 (de) 1988-11-19 1995-04-06 Vaillant Joh Gmbh & Co Verfahren zum Übertragen von Daten zwischen zwei sendenden und empfangenden Stationen
JPH0769791B2 (ja) 1988-12-21 1995-07-31 三菱電機株式会社 マイクロプロセッサ
DE3901457A1 (de) 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit
CA2019299C (en) 1989-06-22 2002-01-15 Steven Frank Multiprocessor system with multiple instruction sources
US5440749A (en) 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
DE58908974D1 (de) 1989-11-21 1995-03-16 Itt Ind Gmbh Deutsche Datengesteuerter Arrayprozessor.
US5396635A (en) 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
DE4019040A1 (de) 1990-06-14 1991-12-19 Philips Patentverwaltung Multirechnersystem
US5826101A (en) 1990-09-28 1998-10-20 Texas Instruments Incorporated Data processing device having split-mode DMA channel
US5390304A (en) 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5765015A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
JP3102027B2 (ja) 1990-11-20 2000-10-23 日本電気株式会社 ループ制御のネスティング管理機構
JP3190080B2 (ja) 1990-11-30 2001-07-16 株式会社東芝 サンプリング周波数変換装置
US5434989A (en) 1991-02-19 1995-07-18 Matsushita Electric Industrial Co., Ltd. Cache memory for efficient access with address selectors
US5218682A (en) 1991-05-10 1993-06-08 Chrysler Corporation Two-way handshake circuit and method for communication between processors
JPH04367936A (ja) 1991-06-17 1992-12-21 Mitsubishi Electric Corp スーパースカラープロセッサ
DE69229657T2 (de) 1991-06-19 1999-12-02 Hewlett Packard Co Co-Prozessor unterstützende Architektur für einen Prozessor, der keine Zusatzprozessorfähigkeit hat
ATE200357T1 (de) 1991-07-08 2001-04-15 Seiko Epson Corp Risc-prozessor mit dehnbarer architektur
CA2078315A1 (en) 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
JPH0581216A (ja) 1991-09-20 1993-04-02 Hitachi Ltd 並列プロセツサ
CA2073516A1 (en) 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
JP2543306B2 (ja) 1992-05-22 1996-10-16 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
GB2267588B (en) 1992-06-06 1996-03-20 Motorola Inc FIFO memory system
EP0583089B1 (en) 1992-08-12 2000-01-26 Advanced Micro Devices, Inc. Instruction decoder
US5386585A (en) 1993-02-03 1995-01-31 Intel Corporation Self-timed data pipeline apparatus using asynchronous stages having toggle flip-flops
US5473271A (en) 1993-02-09 1995-12-05 Dallas Semiconductor Corporation Microprocessor output driver
US5937202A (en) 1993-02-11 1999-08-10 3-D Computing, Inc. High-speed, parallel, processor architecture for front-end electronics, based on a single type of ASIC, and method use thereof
JPH0713945A (ja) 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
CA2129882A1 (en) 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US5535417A (en) 1993-09-27 1996-07-09 Hitachi America, Inc. On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
US5583990A (en) 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
US5893148A (en) 1994-03-03 1999-04-06 International Business Machines Corporation System and method for allocating cache memory storage space
JP3212213B2 (ja) 1994-03-16 2001-09-25 株式会社日立製作所 データ処理装置
US6173387B1 (en) 1994-05-11 2001-01-09 Intel Corporation Interleaved exchange in a network mesh
JP3308770B2 (ja) 1994-07-22 2002-07-29 三菱電機株式会社 情報処理装置および情報処理装置における計算方法
JPH0863355A (ja) 1994-08-18 1996-03-08 Mitsubishi Electric Corp プログラム制御装置及びプログラム制御方法
US5630154A (en) 1994-10-11 1997-05-13 Hughes Aircraft Company Programmable systolic array system arranged in a found arrangement for passing data through programmable number of cells in a time interleaved manner
US5706491A (en) 1994-10-18 1998-01-06 Cyrix Corporation Branch processing unit with a return stack including repair using pointers from different pipe stages
JP3647069B2 (ja) 1994-11-11 2005-05-11 キヤノン株式会社 デジタル信号再生装置
US5680597A (en) 1995-01-26 1997-10-21 International Business Machines Corporation System with flexible local control for modifying same instruction partially in different processor of a SIMD computer system to execute dissimilar sequences of instructions
GB2299422B (en) 1995-03-30 2000-01-12 Sony Uk Ltd Object code allocation in multiple processor systems
US5692197A (en) 1995-03-31 1997-11-25 Sun Microsystems, Inc. Method and apparatus for reducing power consumption in a computer network without sacrificing performance
US5727194A (en) 1995-06-07 1998-03-10 Hitachi America, Ltd. Repeat-bit based, compact system and method for implementing zero-overhead loops
US5870591A (en) 1995-08-11 1999-02-09 Fujitsu Limited A/D with digital PLL
US5550489A (en) 1995-09-29 1996-08-27 Quantum Corporation Secondary clock source for low power, fast response clocking
US5854760A (en) 1995-11-10 1998-12-29 Nippon Telegraph And Telephone Corporation Two-dimensional PE array, content addressable memory, data transfer method and mathematical morphology processing method
US5832291A (en) 1995-12-15 1998-11-03 Raytheon Company Data processor with dynamic and selectable interconnections between processor array, external memory and I/O ports
US5752259A (en) 1996-03-26 1998-05-12 Advanced Micro Devices, Inc. Instruction cache configured to provide instructions to a microprocessor having a clock cycle time less than a cache access time of said instruction cache
US6567564B1 (en) 1996-04-17 2003-05-20 Sarnoff Corporation Pipelined pyramid processor for image processing systems
US6130602A (en) 1996-05-13 2000-10-10 Micron Technology, Inc. Radio frequency data communications device
US6192388B1 (en) 1996-06-20 2001-02-20 Avid Technology, Inc. Detecting available computers to participate in computationally complex distributed processing problem
US5818289A (en) 1996-07-18 1998-10-06 Micron Technology, Inc. Clocking scheme and charge transfer switch for increasing the efficiency of a charge pump or other circuit
US5784602A (en) 1996-10-08 1998-07-21 Advanced Risc Machines Limited Method and apparatus for digital signal processing for integrated circuit architecture
US5911082A (en) 1997-02-25 1999-06-08 Audio Digitalimaging Inc. Parallel processing building block chip
GB9704068D0 (en) 1997-02-27 1997-04-16 Sgs Thomson Microelectronics Trigger sequencing controller
US6003128A (en) 1997-05-01 1999-12-14 Advanced Micro Devices, Inc. Number of pipeline stages and loop length related counter differential based end-loop prediction
US6023753A (en) 1997-06-30 2000-02-08 Billion Of Operations Per Second, Inc. Manifold array processor
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6101598A (en) 1997-11-14 2000-08-08 Cirrus Logic, Inc. Methods for debugging a multiprocessor system
US6085304A (en) 1997-11-28 2000-07-04 Teranex, Inc. Interface for processing element array
US6173389B1 (en) 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
US6112296A (en) 1997-12-18 2000-08-29 Advanced Micro Devices, Inc. Floating point stack manipulation using a register map and speculative top of stack values
KR100252136B1 (ko) 1997-12-29 2000-04-15 윤종용 디지털 신호 처리 칩에서의 반복 구문 실행 제어회로
US6057791A (en) 1998-02-18 2000-05-02 Oasis Design, Inc. Apparatus and method for clocking digital and analog circuits on a common substrate to enhance digital operation and reduce analog sampling error
US6236645B1 (en) 1998-03-09 2001-05-22 Broadcom Corporation Apparatus for, and method of, reducing noise in a communications system
US7072330B2 (en) 1998-04-03 2006-07-04 Consolidated Ip Holdings, Inc. Systems for voice and data communications having TDM and packet buses and telephony station cards including voltage generators
KR100292565B1 (ko) 1998-04-09 2001-06-01 니시무로 타이죠 내부 전압 발생 회로와 반도체 메모리
US6212628B1 (en) * 1998-04-09 2001-04-03 Teranex, Inc. Mesh connected computer
US6219783B1 (en) 1998-04-21 2001-04-17 Idea Corporation Method and apparatus for executing a flush RS instruction to synchronize a register stack with instructions executed by a processor
US6449709B1 (en) 1998-06-02 2002-09-10 Adaptec, Inc. Fast stack save and restore system and method
US7028163B2 (en) 1998-06-22 2006-04-11 Samsung Electronics, Co., Ltd. Apparatus for controlling multi-word stack operations using a multi-bank stack in digital data processors
US6081215A (en) 1998-07-06 2000-06-27 Motorola, Inc. High speed interlaced analog interface
US6353880B1 (en) 1998-07-22 2002-03-05 Scenix Semiconductor, Inc. Four stage pipeline processing for a microcontroller
US6128678A (en) 1998-08-28 2000-10-03 Theseus Logic, Inc. FIFO using asynchronous logic to interface between clocked logic circuits
US20020152060A1 (en) * 1998-08-31 2002-10-17 Tseng Ping-Sheng Inter-chip communication system
US6219685B1 (en) 1998-09-04 2001-04-17 Intel Corporation Method to detect IEEE overflow and underflow conditions
US6148392A (en) 1998-09-08 2000-11-14 Hyundai Electronics Industries Co., Ltd. Low power implementation of an asynchronous stock having a constant response time
EP0992896A1 (en) 1998-10-06 2000-04-12 Texas Instruments Inc. Pipeline protection
JP3344345B2 (ja) 1998-12-15 2002-11-11 日本電気株式会社 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
US6507649B1 (en) * 1998-12-18 2003-01-14 Ericsson Inc. Mechanism and method for distributing ISUP stacks over multiple loosely coupled processors
US6857013B2 (en) 1999-01-29 2005-02-15 Intermec Ip.Corp. Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
FR2789501B1 (fr) 1999-02-09 2001-04-13 St Microelectronics Sa Procede et dispositif de reduction de la consommation d'un microcontroleur
US6232905B1 (en) 1999-03-08 2001-05-15 Agere Systems Guardian Corp. Clocking technique for reducing sampling noise in an analog-to-digital converter
US6966002B1 (en) 1999-04-30 2005-11-15 Trymedia Systems, Inc. Methods and apparatus for secure distribution of software
US6094030A (en) 1999-05-13 2000-07-25 Deltatee Enterprises Ltd. Resistance and charging monitor within a standby battery bank
JP2000357391A (ja) 1999-06-14 2000-12-26 Fujitsu Ltd 半導体集積回路
US6427204B1 (en) 1999-06-25 2002-07-30 International Business Machines Corporation Method for just in-time delivery of instructions in a data processing system
US6507947B1 (en) 1999-08-20 2003-01-14 Hewlett-Packard Company Programmatic synthesis of processor element arrays
EP1215569B1 (en) * 1999-08-30 2010-04-28 IP Flex Inc. Data processor
US6647027B1 (en) 1999-11-10 2003-11-11 Lsi Logic Corporation Method and apparatus for multi-channel data delay equalization
US6560716B1 (en) 1999-11-10 2003-05-06 Lsi Logic Corporation System for measuring delay of digital signal using clock generator and delay unit wherein a set of digital elements of clock generator identical to a set of digital elements of delay unit
US8085943B2 (en) 1999-11-29 2011-12-27 Bizjak Karl M Noise extractor system and method
US6502141B1 (en) 1999-12-14 2002-12-31 International Business Machines Corporation Method and system for approximate, monotonic time synchronization for a multiple node NUMA system
US6665793B1 (en) 1999-12-28 2003-12-16 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for managing access to out-of-frame Registers
US6937538B2 (en) 2000-02-02 2005-08-30 Broadcom Corporation Asynchronously resettable decoder for a semiconductor memory
US6865663B2 (en) 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
US6965991B1 (en) * 2000-05-12 2005-11-15 Pts Corporation Methods and apparatus for power control in a scalable array of processor elements
US6725361B1 (en) 2000-06-16 2004-04-20 Transmeta Corporation Method and apparatus for emulating a floating point stack in a translation process
JP2002049605A (ja) 2000-08-02 2002-02-15 Fujitsu Ltd タイマ調整システム
US6912626B1 (en) 2000-08-31 2005-06-28 Micron Technology, Inc. Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
US6388600B1 (en) 2000-11-13 2002-05-14 Trw Inc. Asynchronous superconductor serial multiply-accumulator
US6732253B1 (en) 2000-11-13 2004-05-04 Chipwrights Design, Inc. Loop handling for single instruction multiple datapath processor architectures
JP4560205B2 (ja) 2000-12-18 2010-10-13 キヤノン株式会社 A/d変換器及びそれを用いた固体撮像装置
DE10102202A1 (de) 2001-01-18 2002-08-08 Infineon Technologies Ag Mikroprozessorschaltung für tragbare Datenträger
US6993669B2 (en) 2001-04-18 2006-01-31 Gallitzin Allegheny Llc Low power clocking systems and methods
US7155602B2 (en) 2001-04-30 2006-12-26 Src Computers, Inc. Interface for integrating reconfigurable processors into a general purpose computing system
US6938253B2 (en) 2001-05-02 2005-08-30 Portalplayer, Inc. Multiprocessor communication system and method
US6930628B2 (en) 2001-05-03 2005-08-16 Coreoptics, Inc. Amplitude detection for controlling the decision instant for sampling as a data flow
US20060248360A1 (en) 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
US6898721B2 (en) 2001-06-22 2005-05-24 Gallitzin Allegheny Llc Clock generation systems and methods
US20030005168A1 (en) 2001-06-29 2003-01-02 Leerssen Scott Alan System and method for auditing system call events with system call wrappers
JP2003016051A (ja) 2001-06-29 2003-01-17 Nec Corp 複素ベクトル演算プロセッサ
US6874079B2 (en) 2001-07-25 2005-03-29 Quicksilver Technology Adaptive computing engine with dataflow graph based sequencing in reconfigurable mini-matrices of composite functional blocks
US7249357B2 (en) 2001-08-20 2007-07-24 Silicon Graphics, Inc. Transparent distribution and execution of data in a multiprocessor environment
WO2003019356A1 (en) 2001-08-22 2003-03-06 Adelante Technologies B.V. Pipelined processor and instruction loop execution method
JP4152319B2 (ja) 2001-09-07 2008-09-17 アイピーフレックス株式会社 データ処理システムおよびその制御方法
US6411152B1 (en) 2001-09-24 2002-06-25 Broadcom Corporation Conditional clock buffer circuit
JP3656587B2 (ja) 2001-10-01 2005-06-08 日本電気株式会社 並列演算プロセッサ、その演算制御方法及びプログラム
US6970895B2 (en) 2001-10-01 2005-11-29 Koninklijke Philips Electronics N.V. Programmable delay indexed data path register file for array processing
US6636122B2 (en) 2001-10-09 2003-10-21 Zilog, Inc. Analog frequency locked loop with digital oversampling feedback control and filter
US6522282B1 (en) 2001-11-07 2003-02-18 Telefonaktiebolaget Lm Ericsson (Publ) Estimation of timing offsets in parallel A/D converters
US6845412B1 (en) 2001-11-07 2005-01-18 Lsi Logic Corporation Method and system for a host processor to broadcast data to instruction or data memories of several processors in a multi-processor integrated circuit
US7158141B2 (en) 2002-01-17 2007-01-02 University Of Washington Programmable 3D graphics pipeline for multimedia applications
US6920545B2 (en) 2002-01-17 2005-07-19 Raytheon Company Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster
US6959372B1 (en) 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
US20030179123A1 (en) 2002-03-22 2003-09-25 Devilbiss Alan D. Analog-to-digital conversion using a counter
US7254520B2 (en) 2002-05-14 2007-08-07 Analysis And Measurement Services Corporation Testing of wire systems and end devices installed in industrial processes
US6948040B2 (en) 2002-05-17 2005-09-20 Samsung Electronics Co., Ltd. System and method for synchronizing a plurality of processors in a processor array
US7089438B2 (en) * 2002-06-25 2006-08-08 Micron Technology, Inc. Circuit, system and method for selectively turning off internal clock drivers
US7415594B2 (en) 2002-06-26 2008-08-19 Coherent Logix, Incorporated Processing system with interspersed stall propagating processors and communication elements
JP3509023B2 (ja) 2002-06-26 2004-03-22 沖電気工業株式会社 ループ制御回路及びループ制御方法
US7237045B2 (en) 2002-06-28 2007-06-26 Brocade Communications Systems, Inc. Apparatus and method for storage processing through scalable port processors
US7471643B2 (en) * 2002-07-01 2008-12-30 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
US6825843B2 (en) 2002-07-18 2004-11-30 Nvidia Corporation Method and apparatus for loop and branch instructions in a programmable graphics pipeline
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
JP3987784B2 (ja) 2002-10-30 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US7365661B2 (en) 2002-11-14 2008-04-29 Fyre Storm, Inc. Power converter circuitry and method
US6965220B2 (en) 2002-11-14 2005-11-15 Fyre Storm, Inc. System for controlling a plurality of pulse-width-modulated switching power converters
US7353501B2 (en) 2002-11-18 2008-04-01 Microsoft Corporation Generic wrapper scheme
US7131113B2 (en) 2002-12-12 2006-10-31 International Business Machines Corporation System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts
SE525470C2 (sv) 2003-01-15 2005-03-01 Infineon Technologies Ag Metod och anordning för att uppskatta tidsfel i ett system med tidssammanflätade A/D omvandlare
US7673118B2 (en) 2003-02-12 2010-03-02 Swarztrauber Paul N System and method for vector-parallel multiprocessor communication
US7079046B2 (en) 2003-03-28 2006-07-18 Yokogawa Electric Corporation Multi-point data acquisition apparatus
US7581081B2 (en) 2003-03-31 2009-08-25 Stretch, Inc. Systems and methods for software extensible multi-processing
US7613900B2 (en) 2003-03-31 2009-11-03 Stretch, Inc. Systems and methods for selecting input/output configuration in an integrated circuit
GB2400198B (en) 2003-04-04 2006-04-05 Advanced Risc Mach Ltd Controlling execution of a block of program instructions within a computer processing system
US7574581B2 (en) 2003-04-28 2009-08-11 International Business Machines Corporation Cross-chip communication mechanism in distributed node topology to access free-running scan registers in clock-controlled components
US7162573B2 (en) 2003-06-25 2007-01-09 Intel Corporation Communication registers for processing elements
JP4423953B2 (ja) 2003-07-09 2010-03-03 株式会社日立製作所 半導体集積回路
US7170315B2 (en) 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US7257560B2 (en) 2003-07-31 2007-08-14 Cisco Technology, Inc. Cost minimization of services provided by multiple service providers
US7157934B2 (en) * 2003-08-19 2007-01-02 Cornell Research Foundation, Inc. Programmable asynchronous pipeline arrays
JP2005217837A (ja) 2004-01-30 2005-08-11 Sony Corp サンプリングレート変換装置およびその方法、並びに、オーディオ装置
US7418144B2 (en) 2004-03-03 2008-08-26 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Curved wavelet transform for image and video compression
US20050206648A1 (en) 2004-03-16 2005-09-22 Perry Ronald N Pipeline and cache for processing data progressively
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
JP4610218B2 (ja) 2004-03-30 2011-01-12 ルネサスエレクトロニクス株式会社 情報処理装置
US7255476B2 (en) 2004-04-14 2007-08-14 International Business Machines Corporation On chip temperature measuring and monitoring circuit and method
US7269805B1 (en) 2004-04-30 2007-09-11 Xilinx, Inc. Testing of an integrated circuit having an embedded processor
US20050262278A1 (en) 2004-05-20 2005-11-24 Schmidt Dominik J Integrated circuit with a plurality of host processor family types
US7502240B2 (en) 2004-07-27 2009-03-10 Silicon Laboratories Inc. Distributed power supply system with separate SYNC control for controlling remote digital DC/DC converters
US7392366B2 (en) 2004-09-17 2008-06-24 International Business Machines Corp. Adaptive fetch gating in multithreaded processors, fetch control and method of controlling fetches
DE102004049161B4 (de) 2004-10-08 2009-10-29 Infineon Technologies Ag Zeitversetzt arbeitender Analog-Digital-Wandler
US7265640B1 (en) 2004-12-23 2007-09-04 Xilinx, Inc. Circuit approach for common mode control in high-frequency clocks
US7774784B2 (en) 2005-03-17 2010-08-10 Microsoft Corporation Determining an actual amount of time a processor consumes in executing a portion of code
US7484041B2 (en) 2005-04-04 2009-01-27 Kabushiki Kaisha Toshiba Systems and methods for loading data into the cache of one processor to improve performance of another processor in a multiprocessor system
US7409570B2 (en) 2005-05-10 2008-08-05 Sony Computer Entertainment Inc. Multiprocessor system for decrypting and resuming execution of an executing program after transferring the program code between two processors via a shared main memory upon occurrence of predetermined condition
US7299342B2 (en) 2005-05-24 2007-11-20 Coresonic Ab Complex vector executing clustered SIMD micro-architecture DSP with accelerator coupled complex ALU paths each further including short multiplier/accumulator using two's complement
US7904695B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US7292170B2 (en) 2005-06-13 2007-11-06 Texas Instruments Incorporated System and method for improved time-interleaved analog-to-digital converter arrays
US20070035611A1 (en) 2005-07-27 2007-02-15 Chao-Hung Wu Mobile audio/video data transmission system and method for the same
US7403055B2 (en) 2005-08-31 2008-07-22 Infineon Technologies Ag Duty cycle detector with first and second oscillating signals
US7330964B2 (en) 2005-11-14 2008-02-12 Texas Instruments Incorporated Microprocessor with independent SIMD loop buffer
US7319355B2 (en) 2006-01-03 2008-01-15 Taiwan Semiconductor Manufacturing Co., Ltd. Pulse generator
DE102006009644A1 (de) 2006-01-04 2007-07-05 Biotronik Crm Patent Ag Phasenregelkreis
EP1821211A3 (en) 2006-02-16 2008-06-18 Technology Properties Limited Cooperative multitasking method in a multiprocessor system
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7528756B2 (en) 2007-03-22 2009-05-05 Vns Portfolio Llc Analog-to-digital converter system with increased sampling frequency
US7555637B2 (en) 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions

Also Published As

Publication number Publication date
US7904615B2 (en) 2011-03-08
US8825924B2 (en) 2014-09-02
US20070192504A1 (en) 2007-08-16
CN101341454A (zh) 2009-01-07
CN101410823A (zh) 2009-04-15
US20110185088A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
CN101438260A (zh) 计算机阵列中的资源分配
CN101339544A (zh) 用于将数据和指令载入计算机的方法及装置
CN101454755A (zh) 具有提高的操作效率的计算机系统
JPS62208158A (ja) マルチプロセツサシステム
JPH06509671A (ja) 並列構造を有するプロセッサボードのシステムアーキテクチャ
CN102073543A (zh) 通用处理器与图形处理器融合系统及其融合方法
CN101295241A (zh) 传送数据
CN1394310A (zh) 处理器间通信系统
WO2019147708A1 (en) A deep learning accelerator system and methods thereof
US10659396B2 (en) Joining data within a reconfigurable fabric
KR20090016644A (ko) 동작 효율성을 증가시킨 컴퓨터 시스템
CN101281513A (zh) 基于Avalon总线的流处理器IP核
CN103793208A (zh) 矢量dsp 处理器和协处理器协同运作的数据处理系统
US7840826B2 (en) Method and apparatus for using port communications to switch processor modes
CN101923386B (zh) 一种降低cpu功耗的方法及一种低功耗cpu
CN101258480A (zh) 具有分离串行模块的处理器阵列
JP7073403B2 (ja) 高スループット内部通信プロトコルを用いる画像処理プロセッサ
EP1984836A2 (en) Allocation of resources among an array of computers
EP1821217B1 (en) Asynchronous computer communication
CN102566969A (zh) 一种在sopc系统中提高软硬件交互的方法
CN101930281B (zh) 一种降低cpu功耗的方法及一种低功耗cpu
JP2589828B2 (ja) 複数のプロセッサと複数のメモリとを備えるデータ処理システム用中央処理ユニット
WO2019006119A1 (en) COMBINING DATA IN A RECONFIGURABLE MATRIX
CN103235771A (zh) 基于寄存器窗口互相重叠的多核间数据交换方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090520