CN101341454A - 异步节电计算机 - Google Patents

异步节电计算机 Download PDF

Info

Publication number
CN101341454A
CN101341454A CN200780000014.1A CN200780000014A CN101341454A CN 101341454 A CN101341454 A CN 101341454A CN 200780000014 A CN200780000014 A CN 200780000014A CN 101341454 A CN101341454 A CN 101341454A
Authority
CN
China
Prior art keywords
computing machine
instruction
external entity
sequencer
letter
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
CN200780000014.1A
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
Technology Properties Ltd
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 Technology Properties Ltd filed Critical Technology Properties Ltd
Publication of CN101341454A publication Critical patent/CN101341454A/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)彼此之间异步通信,并且计算机(12)自身内部一般也以异步方式操作。当一台计算机(12)试图与另一台通信时,它将进入休眠状态,直到另一计算机(12)即将完成处理,从而可以省电并减少放热。在每一计算机中的时段定序器(42)产生定时脉冲,以使计算机(12)执行下一指令。不过,在当前指令是读取或写入类型指令时,时段定序器不产生脉冲,直到确认信号(86)启动它。当确认另一计算机(12)已经完成通信时,产生确认信号(86)。

Description

异步节电计算机
技术领域
本发明涉及计算机和计算机处理器领域,更具体地说,涉及一种方法和装置,其用于使计算机在等待与另一计算机或设备通信时进入“休眠状态”,从而省电并减少放热。本发明异步计算机的当前主要用途在于在单个微芯片上与多台计算机组合,其中计算能力、功耗和放热是重要的考虑因素。
背景技术
在计算领域中,处理速度是一种非常期望的特性,因此对创建更快计算机和处理器的探索一直在进行。然而,在业内公认的是,提高微处理器速度的极限正被迅速逼近,至少对于利用目前已知的技术而言。因此,利用多处理器通过分享处理器中的计算任务来提高整体计算速度越来越引起大家的兴趣。但是还公认的是,有关共享工作量的整体效率几乎不可避免地会有些降低。也就是说,仅仅因为一个人60分钟可以挖一个洞,就推断60个人必然能用1分钟挖一个洞这一谚语将适用。相同的道理几乎适用于任何任务的分享,因此处理器中的任务分享也不例外。
当然,正在努力使计算机处理器中的任务分享更有效。正在研究怎样正确地分配任务的问题,并且过程得以改善。然而,无论怎样实现,都没有人希望在这样的安排中浪费哪怕至少某个处理器能力。
在多处理器计算机中,缺乏高水平的效率未必是计算机芯片或系统的整个计算能力的巨大阻碍。效率缺乏通常可以很容易地通过纯粹强制地增加可用处理器和处理能力来克服。不过,这种解决方式会导致另一问题。也就是,那么多的处理器和相关部件会产生不断增加的热量。即使对当今大功率单处理器计算机芯片来说,热量也仍然是个问题。仅仅为了正常操作,它们就需要特别的冷却装置,例如风扇,甚至需要水冷却。因此,在小型手持设备、小型专用数字装备等设备中,使用更大功率的单处理器实际上是不可能的。目前,在单个芯片上组合使用多种类型的处理器的想法,似乎超出了封装的物理极限,而不能散发所产生的热量,即使利用特别的辅助装置。
以上论述的热量问题在业界是公知的。正在十分努力地解决这个问题。所提供的解决方案包括用于提高效率并从而降低所需处理器的数量和尺寸的方法,和用于降低各个处理器功耗的方法。然而,通常所认知的是,对该问题的最终解决方案还没有找到。在业内,由于将这些处理器应用于小型手持设备的趋势,这一问题进一步加重。虽然散热问题在更大的计算机封装中已经够困难,但是在非常小型的设备中当考虑到散热表面的尺寸和该表面的固有缺乏时,散热问题几乎是不可克服的。并且,功耗问题和放热问题关系密切。很明显的是,多余的放热意味着多余的功耗。这一直都是所不希望的,而在小型电池供电的设备中,更是不能接受的。
很明显,找到一种提供大量计算能力而不浪费大量功耗或产生大量热的方案是非常有利的。不过,就发明人的认知而言,在本发明之前还没有满意的解决方案。
发明内容
因此,本发明的目的在于提供一种用于提高计算机处理速度同时降低功耗的装置和方法。
本发明的另一目的在于提供一种用于廉价地提供相当大计算能力的装置和方法。
本发明的目的还在于提供一种用于实现大强度计算任务的装置和方法。
本发明的目的还在于提供一种计算机装置,其不消耗大量功率就能产生大量的处理能力。
本发明还有一目的在于提供一种计算机装置,其不生成大量的热就能产生大量的处理能力。
简要地说,本发明的已知实施例是一种自身具有内存以便能独立计算的计算机。在本发明的一个实施例中,多台计算机被布置成阵列。为了协同完成任务,这些计算机必须能彼此之间传输数据和/或指令。既然所有同时工作的计算机通常会提供比大多数任务所需的计算能力强得多的计算能力,既然在若干计算机中分配任务所用的任何算法或方法几乎肯定导致分配不平均,因此可以预期的是,计算机中的至少一些,也可能是大多数,在任何给定的时候都不活跃地参与任务的实现。为了避免不必要的功耗和不必要的放热,当计算机试图与相邻计算机的一个或多个通信时,它将处于休眠模式,并且实质上没有任何功耗,直到相邻计算机或相邻计算机中的一个运行起来以完成通信。
正如这里所描述的,计算机之间的通信是异步的,原因在于没有任何时钟等来定时。更确切地说,随着资源变得可用,它既可以开始也可以结束。也就是说,当计算机的程序指令它这么做时,计算机可以启动发送数据,或者也可以使自己处于预备状态以接收数据。于是,当计算机或其试图与之通信的所选择的计算机之一即将完成通信时,它就这么做。
为了实现所期望的省电并减少放热,所希望的是,当所启动的计算机正在等待通信完成时,它能停止或者至少显著降低功耗。可以想象的到,这可以由许多手段中的任一手段来实现。例如,如果计算机由内部或者外部时钟来定时,那么在那段时间可以调慢时钟或者停止时钟。不过,根据在此描述的本发明的实施例,计算机内部本身也是异步操作。也就是说,没有时钟类型的信号来驱动计算机(除了这里论述的一个例外)。这种异步装置的自然状态是将停在一种这样的状态中,在该状态中,当计算机正在等待下一操作时,本质上没有任何功耗(除了少量泄漏电流所消耗的功耗之外)。
根据本发明,在计算机之间完成异步操作可以通过利用确认操作来实现。也就是说,在现有技术中,对通信进行计时,通常假定装置之间的通信发生在相对于计时信号的特定时间内。发送计算机通常不具有任何直接的正反馈来确认其数据被接收计算机所接收。不过,根据本发明,当一台计算机通过试图发送或通过试图接收来试图通信,然后另一计算机通过接收或通过发送完成该操作时,接收计算机确认收到发送计算机的动作,以便这两个计算机都知道处理完成。在本发明的实施例中,通过使控制线变为低电平来实现这种确认,以便数据循环或时间不会浪费在完成这种确认的操作中。然而,发明人认为,确认通信完成的操作本质上适用于装置之间的任何异步通信,无论这些装置内部是否本质上异步,甚至也无论它们是否基于传统的电子电路、基本原理或任何其它现存的或将来开发的操作原理。
考虑到这里所描述的实施本发明的模式及其工业实用性的描述以及若干附图所示,本发明的这些和其它目的以及优点对本领域的技术人员来说将变得清楚。这里所列的目的和优点不是本发明的所有可能优点的穷尽列举。此外,即使当本申请中没有或不需要所预期的目的和/或优点中的一个或更多的情况下,也有可能实行本发明。
进一步地,本领域的技术人员应该认识到,本发明的各种实施例可以实现所描述的目的和/或优点中的一个或更多,但没有必要是全部。因此,这里所描述的目的和/或优点不是本发明的必要元素,也不应该作为限制来解释。
附图说明
图1是根据本发明一个实施例的计算机阵列的简图;
图2是示出图1计算机的子集和图1中互连数据总线的更多详情的详细视图;
图3描述图1和图2中的一台计算机的通用布局的结构图;
图4是根据本申请的指令字的示图;
图5是图3中的时段定序器(slot sequencer)42的示图;和
图6是描述本发明方法示例的流程图。
具体实施方式
在以下说明中,将参考附图对本发明进行描述,在附图中,类似的附图标记表示相同或相似的元件。虽然本发明根据用于实现本发明目的的方式进行描述,但是本领域的技术人员应该理解,可以根据这些教义在不脱离本发明的精神或范围的情况下做出各种修改。
这里所描述和/或附图所示的本发明的实施例和变形,仅以示例的方式呈现出来,并不限制本发明的范围。除非另外明确地进行陈述,否则本发明的各个方案和部件都可以被省略或修改,或者因此可以替换已知的等效物,或者作为还未知的替换物,例如将来开发出来的或者在将来发现的可接受的替换物。本发明还可以在处于所要求保护的发明的精神和范围之内的同时,针对多种应用进行修改,这是因为潜在应用的范围很广阔,还因为本发明本就旨在适于多种这类的变形。
已知的用于实施本发明方式是各个计算机的阵列。该阵列被描述于图1的简图中,并在此处总地用附图标记10来指示。计算机阵列10具有多个(在所示的示例中是24个)计算机12(在阵列的示例中,有时也称作“核”或“节点”)。在所示的示例中,所有的计算机12都位于单个芯片(die)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的内部计算机具有通过总线16与该内部计算机直接通信的其它四台计算机12。在下文的论述中,所论述的原理将适用于所有计算机12,除了在阵列10的周边上的计算机12仅仅与其它三台计算机直接通信之外,还除了边角计算机12仅仅与其它两台计算机12直接通信的情况。
图2是图1的一部分的更为详细的视图,其仅仅示出了一些计算机12,具体而言,仅仅包括计算机12a-12e。图2的视图还揭示了,每条数据总线16均具有读取线18、写入线20和多条(在本示例中为18条)数据线22。数据线22能够几乎同时地并行传输一个18比特指令字的所有比特。应该注意的是,在本发明的一个实施例中,一些计算机12是相邻计算机的镜像。不过,无论计算机12是全部同一定向或者是作为相邻计算机的镜像,均不构成这里描述的本发明的方案。因此,为了更好地描述本发明,在此并不进一步论述这种潜在的复杂性。
根据本发明的方法,计算机12,例如计算机12e,可以对它的一条、两条、三条或所有四条读取线18进行设置,从而使得该计算机准备从相应的一台、两台、三台或所有四台相邻计算机12接收数据。类似地,计算机12还可以将其一条、两条、三条或所有四条写入线20设置为高电平。虽然发明人认为在同一时刻将不止一台计算机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将其一条或多条读取线18设置为高电平。不过,这个过程当然可以按照相反的顺序进行。例如,如果计算机12e正试图向计算机12a写入,那么计算机12e将把计算机12e与计算机12a之间的写入线20设置为高电平。如果接下来计算机12e和计算机12a之间的读取线18尚未被计算机12a设置为高电平,则计算机12e将只能等待,直到计算机12a确定将该读取线20设置为高电平。然后,如上文所述,当相应一对写入线18和读取线20均为高电平时,就传送在数据线22上待传送的数据。此后,发送计算机12e一释放,接收计算机12(在本示例中为计算机12a)就将两台计算机(在本示例中为12e和12a)之间的读取线18和写入线20均设置为低电平。
除非数据将要发送到的计算机12已经将其读取线18设置为高电平,在这种情况下,数据会被立即发送,否则,只要诸如计算机12e的计算机12已经将其写入线20中的一条设置为高电平以期望写入,它都将仅仅等待而几乎不耗电,直到数据如上文所述那样由合适的相邻计算机12“请求”。类似地,只要计算机12已经将其一条或多条读取线18设置为高电平以期望读取,它就将仅仅等待而几乎不耗电,直到所连接至所选计算机12的写入线20变为高电平,以在两台计算机12之间传送指令字。
可能有若干潜在的装置和/或方法来使得计算机12如上所述地运行。不过,在本示例中,计算机12之所以这样运转,仅仅是因为它们通常在内部异步操作(除了以所述异步方式在它们之间传送数据之外)。也就是说,指令按顺序被完成。当产生写入指令或读取指令时,可以不采取进一步行动,直到指令被完成(或者,或许可选地,直到其被“重置”等中止)。在现有技术意义中,并不存在规则的时钟脉冲。更确切地说,只有当正在执行的指令既不是读取类型指令也不是写入类型指令时(假定读取或写入类型的指令需要由另一实体完成)时,或者当读取或写入类型的操作实际上已经完成时,脉冲才产生以实现下一指令。
图3是描述图1和图2中一台计算机12的示例通用布局的结构图。从图3的视图可知,每台计算机12一般均为自身具有RAM 24和ROM 26的计算机。如之前所提到的,计算机12有时候也被称为单独的“核”,假设在本示例中它们被组合到单个芯片上。
计算机12的其它基础部件为返回堆栈28、指令区域30、算术逻辑单元(“ALU”)32、数据堆栈34和用于对指令进行解码的解码逻辑部分36。本领域的技术人员通常很熟悉基于堆栈的计算机的操作,例如本示例的计算机12。计算机12为具有数据堆栈34和分立的返回堆栈28的双堆栈计算机。
在本发明的该实施例中,计算机12具有四个通信端口38,其用于与相邻计算机12进行通信。通信端口38为三态驱动器,其具有截止状态、接收状态(用于将信号驱动进入计算机12)和发送状态(用于将信号驱动出计算机12)。当然,如果特定的计算机12不像计算机12e的示例那样处于阵列10(图1)的内部,那么至少出于在此所描述的目的,在所述特定的计算机中将不会使用一个或多个通信端口。指令区域30包括多个寄存器40,在该示例中,包括寄存器40包括A寄存器40a、B寄存器40b和P寄存器40c。在该示例中,A寄存器40a是满18比特寄存器,而B寄存器40b和P寄存器40c为9比特寄存器。
尽管本发明不局限于该示例,但是该计算机12能执行自然Forth语言指令。熟悉Forth计算机语言的人都应该理解,作为已知的Forth“字”的复杂Forth指令,可以由设计到计算机中的自然处理器指令组成。Forth字的集合被称为“字典(dictionary)”。在其它语言中,这可能被称为“库(library)”。如同下文将更详细描述的一样,计算机12同时从RAM 24、ROM 26或直接从数据总线16(图2)之一中读取18比特。不过,由于在Forth中,大多数指令(称为无操作数指令)直接从堆栈28和34获取它们的操作数,所以它们通常只有5个比特的长度,以便在这一组中的最后指令选自只需要3比特的有限指令集合的状况下,单个18比特的指令字中可以包含多达4条指令。在图3的视图中,还以块图形式描述的有时段定序器42。在本发明的这个实施例中,数据堆栈34中的最上面两个寄存器是T寄存器44和S寄存器46。
图4是指令字48的示图。(应该理解,指令字48实际上可以包括指令、数据或它们的某种组合。)指令字48由18个比特50组成。这是一个二进制计算机,每个比特50都是“1”或者“0”。如在此之前所论述的,18比特宽的指令字48可包括被称为时段零54a、时段一54b、时段二54c和时段三54d的四个时段54中的多达四条指令52。在本发明的该实施例中,18比特的指令字48总是作为整体来读取。因此,由于总是存在在指令字48中具有多达四个指令的可能性,因而在计算机12的指令集中包含no-op(非操作)指令,这些指令是为可能没有必要甚至不希望使用所有可用时段54的情况所提供的。应该注意的是,根据本发明的一个特定实施例,在间隔的时段(具体而言,时段一54b和时段三54c)中,比特50的极性(高有效对比于低有效)被反转。不过,这并不是在此描述的本发明的必要方案,因此,为了更好地阐释本发明,在下文的描述中避免这种潜在的复杂性。
图5是图3的时段定序器42的示图。从图5的视图可见,时段定序器42具有以环状排列的多个(本示例中为十四个)反相器56和一个NAND门58,这样,当信号穿过十四个转换器56和NAND门58时,该信号被反相奇数次。当OR门60的两个输入中的任一个变为高电平时,在时段定序器42中产生一信号。第一OR门输入62源自正在执行的指令52的比特i466(图4)。如果比特i4为高,则特定指令52为ALU指令,并且i4比特66为“1”。当i4比特为“1”时,则第一OR门输入62为高电平,并且时段定序器42被触发,以产生将要导致执行下一指令52的脉冲。
当时段定序器42通过第一OR门输入62变为高电平或者通过第二OR门输入64变为高电平(将在下文详细论述)来触发时,信号将绕着时段定序器42行进两次,每次都在时段定序器输出68处产生输出。第一次该信号穿过时段定序器输出68时,它为低电平,第二次时段定序器输出68处的输出为高电平。来自时段定序器68的相对宽的输出被提供给脉冲生成器70(示为块图的形式),脉冲生成器70产生窄的定时脉冲作为输出。本领域的技术人员将意识到,需要窄的定时脉冲来准确地启动计算机12的操作。
当正被执行的特定指令52是读取或写入指令,或者是任意其它指令时,其中不希望正在执行的指令52立即触发执行顺次的下一指令52,那么i4比特66为“0”(低电平),并且第一OR门输入62因此也为低。本领域的技术人员将认知到,在诸如计算机12的装置中的事件的定时通常相当严格,而不能有例外。在对时段定序器42进行观察之后,本领域的技术人员将认知到,来自OR门60的输出必须保持高电平,直到信号已经循环经过NAND门58从而开始循环的第二“圈(lap)”之后。此后,为了防止电路的有害持续振荡,在该第二“圈”期间,来自OR门60的输出将变为低电平。
如同可以根据上文所理解的那样,当i4比特66为“0”时,时段定序器42就将不被触发--假定下文所要论述的第二OR门输入66不为高电平。
如上文所论述的,每条指令52的i4比特66都是根据该指令是读取类型的指令还是写入类型的指令而被设置。在指令52中的其余比特50为该指令提供特定操作码的剩余部分。在读取类型指令或写入类型指令的情况中,一个或多个比特可以用来指示,在该特定计算机12中数据将要从何处读取或将要写入何处。在本发明的本示例中,将要写入的数据总是来自T寄存器44(数据堆栈34的顶部),不过,数据可以选择性地读入T寄存器44或指令区域30,从此处执行该数据。这是因为,在本发明的特定实施例中,数据或者指令可以以此处描述的方式传送,并且指令因此可以直接从数据总线16执行,虽然这并非是本发明的必要方案。此外,一个或多个比特50将用于指示,端口38的哪一个将被设置成读取或写入,如果有这样端口的话。可选地,后一操作通过使用一个或多个比特指定诸如A寄存器40a、B寄存器之类的寄存器40来实现。在该示例中,指定的寄存器40将被预载入数据,该数据具有与每个端口38(并且还有计算机12可能试图与其通信的其它任何可能实体,例如存储器、外部通信端口39,等等)对应的比特。例如,在特定寄存器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’,因此,OR门60的第一OR门输入62为低电平,进而,不触发时段定序器42产生使能脉冲。
至于在读取或写入类型指令完成时如何重新开始计算机12e的操作,用于此的机制如下:当计算机12e与12c之间的读取线18和相应的写入线20均为高电平时,线18和20由将其保持为高电平的每个相应计算机12释放。(在该示例中,发送计算机12e将使写入线18保持为高电平,而接收计算机12c将使读取线20保持为高电平)。接下来,接收计算机12c将把线18和20拉为低电平。在实际操作中,在发送计算机12e释放写入线18之前,接收计算机12c可能试图将线18和20拉为低电平。不过,因为线18和20被拉为高电平并且只是被不牢固地保持(锁存)为低电平,因此任何将线18或20拉为低电平的企图实际上都将不会成功,直到线18或20由将其锁存为高电平的计算机12所释放。
当数据总线16中的线18和20均被拉为低电平时,这是一种“确认”条件。一旦有该确认条件,计算机12e和12c中的每一台都将其自身内部的确认线72设置为高电平。从图5的视图可见,确认线72提供了第二OR门输入64。因为到OR门60的输入62或64中任意一个输入将导致OR门60的输出变高,因此就将以在此之前所述的方式启动时段定序器42的操作,从而执行在指令字48的下一时段54中的指令52。确认线72保持在高电平,直到下一指令52被解码,以防止伪地址到达地址总线。
无论如何,当正在执行的指令52处于指令字48的时段三位置中时,计算机12将获取下一正在等待的18比特指令字48,当然,除非比特i466为“0”。在实际操作中,本发明机制包括一种方法和装置,其用于“预获取”指令,从而在指令字48中的所有指令52执行完之前可以开始该获取操作。不过,这也不是当前针对异步数据通信的本发明方法和装置的必要方案。
在此已经详细描述了上述示例,其中计算机12e正在向计算机12c进行写入。如同根据以上论述可以理解的那样,不论计算机12e首先试图对计算机12c写入,还是计算机12c首先试图从计算机12e读取,操作基本相同。直到计算机12e和12c均准备就绪,才完成操作,并且无论计算机12e或12c中的哪一台首先准备就绪,首先准备就绪的计算机12仅仅“进入休眠状态”,直到另一台计算机12e或12c完成传送。观察上述过程的另一种方式为,实际上,在写入计算机12e和接收计算机12c分别执行写入和读取指令时,这两台计算机均进入休眠状态,但是当读取线18和写入线20均为高电平时,后一台进行处理的计算机几乎即刻再唤醒,然而,首先发起处理的计算机12可以几乎无限期地保持在休眠状态,直到第二台计算机12即将完成上述过程。
发明人相信,在设备之间进行有效异步通信的关键特征是某种确认信号或条件。在现有技术中,设备之间的大多数通信被定时,并且对于发送设备而言,没有直接的方式用于了解接收设备已正确接收数据。诸如校验和操作的方法可能已经用于试图确认数据被正确接收,但是发送设备没有操作完成的直接指示。这里所述的本发明方法提供了必要的确认条件,其允许设备之间的异步通信,或者至少使得设备之间的异步通信可实现。此外,确认条件也使得对于一个或更多设备而言,“进入休眠状态”直到确认条件发生变得可能。当然,确认条件可以在计算机12之间由单独在计算机12之间发送的信号(或者通过互连的数据总线16或者通过单独的信号线)进行传送,并且这种确认信号处于本发明的该方案的范围中。不过,根据这里所述的本发明实施例,可以理解这里存在甚至更多的经济因素,原因在于,用于确认的方法不需要任何额外的信号、时钟周期、定时脉冲,或除了上述之外的任何这类资源,来实际上实现通信。
根据用于实现它们的步骤和方式的上述论述,现在可以理解本发明方法的示例的以下简要描述。图6是描述该方法示例的流程图,由附图标记74指示。在“启动通信”的操作76中,一台计算机12执行使其试图与另一计算机12进行通信的指令53。这可以是试图写入或试图读取。在通常与“启动通信”的操作76同时发生的“将第一线设置为高电平”的操作78中,读取线18或写入线20被设置为高电平(根据第一计算机12是试图读取还是试图写入而定)。作为“将第一线设置为高电平”操作的一部分,根据当前描述的操作的实施例,计算机12这样做将停止操作,如同在此之前详细描述的一样。在“将第二线设置为高电平”的操作80中,第二线(或者是写入线20或者是读取线18)由第二计算机12设置为高电平。在“传输数据”的操作中,数据(或指令等)通过数据线22被发送和接收。在“将线拉为低电平”的操作84中,读取线18和写入线20被释放,然后被拉为低电平。在“继续”的操作86中,确认条件使计算机12重新开始它们的操作。在本发明示例的情况下,确认条件产生确认信号86(图5),在该情况下,确认信号86仅是确认线72的“高电平”条件。
可以对本发明进行多种修改,而不改变本发明的价值或范围。例如,虽然在此已经针对读取指令和写入指令来描述本发明,不过在实际操作中,可能存在不止一个读取类型指令和/或不止一个写入类型指令。仅仅作为一个示例,在本发明的一个实施例中,存在使寄存器递增的写入指令以及其它不执行此功能的写入指令。类似地,根据哪一个寄存器40被用来选择通信端口38等等,写入指令可以变化,如同在此之前所描述的那样。还可以存在多个不同的读取指令,所依据的只是,计算机12的设计者相信何种变化是可替换读取行为的有用选择。
类似地,虽然在此已经针对单个芯片14上的阵列10中的计算机12之间的通信来描述本发明,不过相同的原理和方法可以用作,或者被改造为用作完成其它设备间的通信,例如计算机12和其专用内存之间的通信,或者阵列10中的计算机12和外部设备之间(通过输入/输出端口等)的通信。实际上,可以预见的是,在一些应用中可能要求由阵列组成的阵列--将这里描述的设备间的通信方法潜在地应用于阵列中的阵列之间的通信。
虽然已经在此论述了本发明的计算机阵列10和计算机12的特定示例,不过可以预期,针对于此的大量应用还未被想到。事实上,本发明的一大优势在于,本发明方法和装置可适用于许多不同的使用。
上述全部内容仅仅为本发明的可用实施例的一些示例。本领域的技术人员将易于想到,在不脱离本发明的精神和范围的前提下,可进行多种其它修改和变化。相应地,本公开在此并不意在限制,并且所附权利要求书应被理解为涵盖了本发明的全部范围。
工业实用性
本发明计算机阵列10、计算机12以及相关的方法74意在广泛用于多种计算机应用场合中。可以预见,它们将特别使用于需要相当计算能力而功耗和放热是重要考虑因素应用场合中。
如同此前论述的一样,本发明的适用性在于,多种类型的设备间的计算机通信可以因此显著改善。可以预期,本发明的方法,其中某些计算机在不用时可被允许“进入休眠状态”,能用于降低功耗、减少放热,并以多种应用和实现来提高计算机之间以及计算机装置之间的通信效率。
由于本发明的计算机阵列10、计算机12和方法74可以容易地产生并与现存的任务、输入/输出设备等结合,并且由于提供了在此所述的优点,所以可以预期,它们将很容易地在业内被接受。由于这些和其它原因,可以预期,在范围和长期持续等方面,本发明的实用性和工业实用性都将非常显著。
注意:提供本对照表仅用于提供信息的目的,它并不是官方专利申请的 一部分。
对照表
10计算机阵列
12计算机
14芯片
16数据总线
18读取线
20写入线
22数据线
24RAM
26ROM
28返回堆栈
30指令区域
32ALU
34数据堆栈
36解码部分
38内部通信端口
38a上端口
38b右端口
38c左端口
38d下端口
40寄存器
40a A寄存器
40b B寄存器
40c P寄存器
42时段定序器
44T寄存器
46S寄存器
48指令字
50比特
52指令
54时段
54a时段零
54b时段一
54c时段二
54d时段三
56反相器
58NAND门
60OR门
62第一OR门输入
64第二OR门输入
66i4比特
68时段定序器输出
70脉冲生成器
72确认线
74方法
76启动通信的操作
78将第一线设置为高电平的操作
80将第二线设置为高电平的操作
82传送数据
84继续
86确认信号

Claims (23)

1、一种计算机,包括:
处理器,其用于执行来自指令区域的指令;和
定序器,其用于提供脉冲,以从当前执行的指令前进到下一指令;其中
所述指令包括用于向所述定序器提供输入的比特,以便当所述比特被设置时,所述定序器被触发而进入运行。
2、如权利要求1所述的计算机,其中:
当所述比特为“1”时,所述比特被设置。
3、如权利要求1所述的计算机,其中:
所述指令为较大指令字的一部分。
4、如权利要求1所述的计算机,其中:
当所述用于向所述定序器提供输入的比特未被设置时,所述定序器不被触发进入运行。
5、如权利要求4所述的计算机,其中:
当所述用于向所述定序器提供输入的比特未被设置时,所述计算机与第二计算机之间的第一通信状态线被设置。
6、如权利要求5所述的计算机,其中:
所述第一通信状态线为写入线。
7、如权利要求5所述的计算机,其中:
所述第一通信状态线为读取线。
8、如权利要求5所述的计算机,其中:
当第二通信状态线被设置时,数据在所述计算机与所述第二计算机之间传送。
9、如权利要求8所述的计算机,其中:
数据从所述计算机传送到所述第二计算机。
10、如权利要求8所述的计算机,其中:
所述数据包括指令。
11、如权利要求8所述的计算机,其中:
当所述第二通信状态线被设置时,一输入被提供给所述定序器,以便所述定序器被触发而进入运行。
12、一种用于使计算机暂时降低其功耗的方法,包括:
(a)当试图与外部实体通信时,使所述计算机停止操作;并且
(b)当确认完成与所述外部实体的通信时,使所述计算机重新开始操作。
13、如权利要求12所述的方法,其中:
所述外部实体为另一计算机。
14、如权利要求12所述的方法,其中:
所述计算机和所述外部实体都位于单个芯片上。
15、如权利要求12所述的方法,其中:
当所述计算机停止操作时,它也改变所述计算机与所述外部实体之间的第一状态线的状态。
16、如权利要求12所述的方法,其中:
当两条通信状态线被设置为同一状态时,确认与所述外部实体的通信。
17、如权利要求12所述的方法,其中:
当停止所述计算机操作时,所述计算机与所述外部实体之间的两条状态线中的第一条被设置;并且
当所述两条状态线中的第二条被设置时,传送数据,然后重新开始所述计算机的操作。
18、如权利要求12所述的方法,其中:
一定序器产生脉冲,以执行多条指令中的每条指令;并且
当试图与所述外部实体通信时,不立即产生这种脉冲。
19、如权利要求18所述的方法,其中:
当确认完成与所述外部实体的通信时,产生一脉冲,以执行下一指令。
20、在一种用于执行指令的计算机中,所述指令中的至少一些是与外部实体进行通信的指令,一种改进包括:
用于当与所述外部实体通信的指令被试图进行时使所述计算机停止的装置;和
用于当与所述外部实体通信的指令被完成时使所述计算机重新启动的装置。
21、如权利要求20所述的改进,其中:
所述用于当与所述外部实体通信的指令被试图进行时使所述计算机停止的装置包括一脉冲生成装置,该脉冲生成装置用于当执行每一条指令时都产生一脉冲,除了当所述指令是与所述外部实体通信的指令时,不产生这种脉冲的情况。
22、如权利要求21所述的改进,其中:
所述用于当与所述外部实体通信的指令被完成时使所述计算机重新启动的装置包括一用于使所述脉冲生成装置产生脉冲的装置。
23、如权利要求21所述的改进,其中:
当所述外部实体确认完成所述通信时,使所述脉冲生成装置产生一脉冲。
CN200780000014.1A 2006-02-16 2007-02-16 异步节电计算机 Pending CN101341454A (zh)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
CN101341454A true CN101341454A (zh) 2009-01-07

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 (2)

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 计算机阵列中的资源分配

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
CN101438260A (zh) 2009-05-20
US20070192504A1 (en) 2007-08-16
CN101410823A (zh) 2009-04-15
US20110185088A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
CN101341454A (zh) 异步节电计算机
US9971635B2 (en) Method and apparatus for a hierarchical synchronization barrier in a multi-node system
CN1890640B (zh) 高效的系统管理同步方法和系统
US7904695B2 (en) Asynchronous power saving computer
CN1135469C (zh) 用于计算机中的处理设备与方法
CN101339544A (zh) 用于将数据和指令载入计算机的方法及装置
KR20090016644A (ko) 동작 효율성을 증가시킨 컴퓨터 시스템
CN100562864C (zh) 一种嵌入式异构多核体系片上通信的实现方法
CN114239806A (zh) 一种risc-v架构的多核神经网络处理器芯片
CN102446155A (zh) 同步装置及方法
KR20090017390A (ko) 마이크로 루프 컴퓨터 명령어
EP1821174B1 (en) Asynchronous power saving computer
JPH04229354A (ja) 電力消費節減のためにインタラプト待ち状態のマイクロプロセッサのウェイクアップフェーズ間にdmaモードでのデータトランスファー
WO2007098024A2 (en) Allocation of resources among an array of computers
Deng et al. A hybrid high-performance embedded Processing System
JP2002278753A (ja) データ処理システム
JP4293086B2 (ja) マルチプロセッサシステム及びプロセッサの制御方法
Zuberek Modeling and analysis of dual block multithreading
Simpson Dynamic interactions in distributed real time networks
JPH0844674A (ja) プロセッサ
JPH09198355A (ja) プロセッサシステム

Legal Events

Date Code Title Description
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20081031

Address after: American California

Applicant after: VNS Portfolio LLC

Address before: American California

Applicant before: Technology Properties Ltd.

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: 20090107