CN87100892A - 在单指令多数据流并行处理机阵列中模拟附加处理机的方法 - Google Patents
在单指令多数据流并行处理机阵列中模拟附加处理机的方法 Download PDFInfo
- Publication number
- CN87100892A CN87100892A CN198787100892A CN87100892A CN87100892A CN 87100892 A CN87100892 A CN 87100892A CN 198787100892 A CN198787100892 A CN 198787100892A CN 87100892 A CN87100892 A CN 87100892A CN 87100892 A CN87100892 A CN 87100892A
- Authority
- CN
- China
- Prior art keywords
- processor
- instruction
- data
- storer
- array
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Abstract
本发明是在单指令多数据流计算机中模拟附加处理机的方法,把与每一处理机相联系的存储器划分为一组子存储器,连续地对每一个子存储器进行操作,与另一个单独的处理机相联系。这样,第一条指令或第一组指令提供给阵列的所有处理机,使得至少一部分处理机处理存储在第一子存储器的第一个或第一组存储单元中的数据,同样的第一条指令或第一组指令提供给阵列的所有处理机,使得至少一部分处理机处理存储在第二子存储器的同样的第一个存储单元中的数据,用这种方式操作单指令多数据流计算机,改变阵列中的处理机的数目,按照问题需要提供处理机的数量。
Description
本发明涉及一种在单指令多数据流并行处理机阵列中模拟附加处理机的方法。
在单指令多数据流计算机中,大量的处理机并行处理一项算题,在Connection Machine(注册商标)计算机中,并行联接着32000多个处理机/存储器的单指令多数据流处理机阵列。虽然大量处理机/存储器的出现代表着技术的高度进展,但仍然需要具有更多处理机/存储器的阵列。例如,在显示时,如果能够为显示中每一个象素的数据点提供一个处理机/存储器,那就十分有益了。为了实现具有这种能力的1000×1000个象素的高分辨率显示,就必须提供1,000,000个处理机/存储器。在模拟视觉和其它涉及人工智能研究的装置中,也需要类似的数量。其它方面的应用,例如在“模拟由偏微分方程描述的系统的方法和设备”中叙述的流体介质的各种模拟方法,如果这些发明要能够达到实际可用的话,也需要大量的处理机/存储器。
我们发现,在单指令多数据流计算机中可以这样来模拟附加的处理机,即把与每一个处理机相联系的存储器划分为一组子存储器,然后连续地对每一个子存储器进行操作,就好象它是与另一个单独的处理机相联系。这样,第一条指令或第一组指令提供给阵列的所有处理机,使得至少一部分处理机处理存储在第一子存储器的第一个或第一组存储单元中的数据,然后,同样的第一条指令或第一组指令提供给阵列的所有处理机,使得至少一部分处理机处理存储在第二子存储器的同样的第一个存储单元中的数据,以后,对每一个子存储器都是类似地继续下去。
用这种方式操作单指令多数据流计算机,就有可能实际上改变阵列中的处理机的数目,按照问题的需要提供处理机的数量。这就允许各种需要大量处理机的程序在那些并不实际具有那么多的处理机的计算机上运行。这样就有可能对本来要用别的办法才能实现运算的问题,例如,对产生具有高分辨率的显示的问题进行运算。
在模拟偏微分方程所描述的系统的情形下,本发明所提供的技术使得在一个仅用32,768个处理机的阵列中计算4,000,000个点以上的数据成为可能。
本发明的上述和其它目的、特点以及优点将由于下面对本发明的最佳实施例的详细叙述而更容易了解,在这一实施例中:
图1和图2简略地画出了本发明的实施中优先采用的一种单指令多数据流处理机的各个部分。
图3是说明本发明实施的流程图。
本发明主要用于单指令多数据流计算机,例如用于申请号为499,474的美国专利申请中详细描述的Connection Machine计算机。
图1重新画出了上述申请中的图1A,图中,这一计算机系统包括一个计算机主机10,一个微控制器20,一个并行处理集成电路35的阵列30,一个数据发送器(数据源)40,一个第一缓冲器和多路转换器/多路分配器50,第一、第二、第三和第四双向总线控制电路60、65、70和75,一个第二缓冲器和多路转换器/多路分配器80,以及一个数据接收器90。计算机主机10可以是一个编程的、市场上可以购得的通用计算机,例如由数字设备公司(Digital Equipment Corp)制造的VAX(商标)计算机。微控制器20是常规设计的指令序列发生器,用来产生一系列的指令,并利用一条32位的并行总线22传送到阵列30。微控制器20在线26上接收来自阵列30的信号,这一信号是一个通用或全局信号,可以用于数据输出和状态信息。总线22和线26并行连接到每一个集成电路35,因此,来自微控制器20的信号同时加到阵列30中的每一个集成电路35,在线26上提供给微控制器20的信号由这一阵列的所有集成电路35的信号输出结合而成。
在实施本发明中所采用的Connection Machine计算机的实施例中,阵列30包括4096(=2″)个同样的集成电路35,每一个集成电路35包括16(=24)个同样的处理机/存储器36,这样,整个阵列30包括65,536(=215)个同样的处理机/存储器36。
处理机/存储器36以两种几何结构安排和互联,一种是常规的两维网格图形,处理机/存储器安排成128×512的处理机/存储器矩形阵列,并且连接到阵列中四个最邻近的单元,另一种是十五维的布尔体。
为了把每一个处理机/存储器连接到它的四个最邻近的单元,单个处理机/存储器由网格每一行和每一列上相邻的处理机/存储器之间的电气导线相连接,如上述专利申请499,474的图6A和7A所示。除了那些位于阵列边缘的集成电路以外,一个集成电路的四个最邻近的单元将被看作是在东、南、西、北与该集成电路直接相邻的四个集成电路。
在布尔体中,每一个处理机/存储器连接到十五个最邻近的单元是通过电气导线和发送程序来实现的,接线的具体方法在上面参见的专利申请740,943中已经提出,发送程序则请参见专利申请499,474。
图2与专利申请499,474中的图7A相同,详尽地揭示了作为举例说明的处理机/存储器36。如图2所示,处理机/存储器包括随机存取存储器(RAM)250,算术逻辑单元(ALU)280和标志控制器290。算术逻辑单元对来自三个数据发送器、随机存取存储器中的两个寄存器的数据和一个标志输入进行操作,产生两个输出,一个“和”输出写入随机存取存储器的一个寄存器中,一个进位输出则提供给标志控制器中的某些寄存器以及某些别的处理机/存储器。
随机存取存储器250的输入是总线152、154、156、158,来自算术逻辑单元270的“和”输出线285,来自专利申请499,474图6B中通讯接口单元(CIU)180的信息包输入线122,以及来自标志控制器290的写启动线298。随机存取存储器250的输出是线256、257。线256、257上的信号从随机存储器250同一列上两个不同的寄存器中得到,一个指定为寄存器A,另一个是寄存器B。总线152、154、156、158按照来自微控制器20的指令字访问这些寄存器和其中的列,作为说明的例子,随机存取存储器250的存储容量为4096位。
标志控制器290是具有八个一位D触发器292、一个16-2选择器294和若干逻辑门的阵列。触发器292的输入是来自算术逻辑单元280的进位输出信号,线298上来自选择器294的写启动信号,以及来自专利申请499,474的图6B中可编程逻辑阵列(PLA)150的总线172的八条线。线172是地址线,其中每一条连接到一个不同的触发器292以选择标志位所要写入的触发器,触发器292的输出则提供给选择器294。
选择器294的输入端连接到16条标志信号线295,其中8条来自触发器292,选择器294的输入端还连接到总线174、176每一条的16根线,线174和176也是地址线,选择一条标志信号线,作为输出或进一步处理,当哪一个标志被对应的地址线174和176所选出时,选择器294就在线296和297上产生输出,在专利申请499,474的表Ⅳ中详细定义了这些标志。
算术逻辑单元280包括一个1-8译码器282,一个“和”输出选择器284和一个进位输出选择器286。如在专利申请499,474中详细描述过的那样,这使得它能够产生用于许多功能,包括加、逻辑或和逻辑与的“和”输出以及进位输出。算术逻辑单元280一次处理3位,两个在线256、257上,来自随机存取存储器250的寄存器A和B,一个在线296上,来自标志控制器290。算术逻辑单元有两个输出:一个是线285上的“和”输出,它被写入随机存取存储器250的寄存器A,一个是线287上的进位输出,它被写入标志寄存器292,并传送到与该处理机/存储器相连的另一处理机/存储器36的东、南、西、北和菊花链输入端。
按照本发明,每一个处理机/存储器可以被分为功能相同的几个单元,事实上,每一单元就象一个独立的处理机/存储器那样工作,共享一个实际的处理机/存储器的随机存取存储器、算术逻辑单元和标志控制器。在一个实际的处理机/存储器中可以分成多少个这种单元取决于每一单元对存储器的需要量。
把一个实际的处理机/存储器划分为几个部分(单元)是通过下列方式来完成的,以同一方法将每一个实际的处理机/存储器的存储器分区,并赋予图1中的微控制器20以一定的能力,使其控制每一个实际的处理机/存储器首先在分区的存储器的一段区域上操作,然后在下一段区域上操作,等等,依此类推,在存储器的每一子区间上进行操作。说明这一过程的流程图画在图3中。
存储器的划分很容易完成,例如,在这一例子中的Connection Machine计算机,每一个随机存取存储器250包含4096位或512个8位字节,图中作为例子,每字节具有一个单独的存储单元或地址,从000至511,要把存储器划分为四个子存储器,只须把000至127的存储单元指定为第一子存储器,128至255的存储单元指定为第二子存储器,256至383的存储单元指定为第三子存储器,以及把384至511的存储单元指定为第四子存储器。如果需要的话,存储器还可以分成更小的子区间。
在每一个子存储器中,与第一个存储单元具有同样对应关系的存储单元都以同样方式使用。例如,如果一个表示角度大小的度、分、秒的数据存储在第一子存储器的第一、第二和第三存储单元000、001和002中,那末给出一个角度的度、分、秒的数据也存储在第二子存储器的第一、第二和第三个存储单元128、129和130中,存储在第三子存储器的第一、第二和第三个存储单元256、257和258中,存储在第四子存储器的第一、第二和第三个存储单元384、385和386中。
无论它涉及的是一个或多个运算操作,在每一段分区的存储器上所执行的操作序列总是相同的,从分区的存储器的一段向下一段进行的能力可以用不同的方法获得。例如,控制器给出的程序中所有寻址可以参照每一个子存储单元的第一存储地址来进行,或者,程序中使用的存储地址可以用程序中的对应项来给出,当从分区的存储器的一段进行到下一段时,这些地址可以加1(进行增量)。
显然,对于掌握了本发明的人来说,在上面所描述的发明的范围内可以作出许多种不同变化。
Claims (3)
1、一种单指令多数据流并行处理机,包括一个控制器,一个由所述的控制器并行控制的处理机阵列,每一个处理机具有一个同样的输入端、一个同样的输出端、一个同样的处理单元和一个与每个处理单元相连的同样的存储器,处理单元按照所述的控制器提供的指令对其输入端和与其相连的存储器所提供的数据进行操作,并在其输出端产生数据,一种模拟阵列中存在附加的处理机的方法包括步骤:
a,以同样的方式划分与处理单元相连的存储单元,形成一组与每一处理单元相连的子存储器,
b,由控制器向处理机至少提供第一条指令或第一组指令,使得至少一部分处理机的处理单元都处理存储在与处理单元相连的第一子存储器的第一存储单元内的数据,
c,在其后的一个时刻,由控制器向处理机提供所述的第一条指令或第一组指令,使得至少一部分处理机的处理单元都处理存储在与处理机相连的第二子存储器的同样的第一存储单元内的数据。
2、权利要求1所述的方法,还进一步包括对存储在第一和第二子存储器的同样的第一存储单元内的新数据重复进行步骤(b)和(c)的步骤。
3、权利要求1所述的方法,它还进一步包括对存储在第一和第二子存储器的第二存储单元内的数据重复进行步骤(b)和(c)的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/832,913 US4773038A (en) | 1986-02-24 | 1986-02-24 | Method of simulating additional processors in a SIMD parallel processor array |
Publications (1)
Publication Number | Publication Date |
---|---|
CN87100892A true CN87100892A (zh) | 1988-11-16 |
Family
ID=25262910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN198787100892A Pending CN87100892A (zh) | 1986-02-24 | 1987-02-20 | 在单指令多数据流并行处理机阵列中模拟附加处理机的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4773038A (zh) |
EP (1) | EP0237218A3 (zh) |
JP (1) | JPS62264357A (zh) |
CN (1) | CN87100892A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095326B (zh) * | 2004-11-05 | 2013-07-24 | 辉达技术英国有限公司 | 计算编码的正交振幅调制的信号的对数似然比的方法和系统 |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8618943D0 (en) * | 1986-08-02 | 1986-09-10 | Int Computers Ltd | Data processing apparatus |
JPH0616279B2 (ja) * | 1986-09-30 | 1994-03-02 | 工業技術院長 | 仮想情報処理システム |
US5418970A (en) * | 1986-12-17 | 1995-05-23 | Massachusetts Institute Of Technology | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content |
US5170482A (en) * | 1987-08-14 | 1992-12-08 | Regents Of The University Of Minnesota | Improved hypercube topology for multiprocessor computer systems |
US4943912A (en) * | 1987-10-13 | 1990-07-24 | Hitachi, Ltd. | Parallel processor system having control processor and array control apparatus for selectively activating different processors |
US5088048A (en) * | 1988-06-10 | 1992-02-11 | Xerox Corporation | Massively parallel propositional reasoning |
US5583506A (en) * | 1988-07-22 | 1996-12-10 | Northrop Grumman Corporation | Signal processing system and method |
US5159690A (en) * | 1988-09-30 | 1992-10-27 | Massachusetts Institute Of Technology | Multidimensional cellular data array processing system which separately permutes stored data elements and applies transformation rules to permuted elements |
WO1990004235A1 (en) * | 1988-10-07 | 1990-04-19 | Martin Marietta Corporation | Parallel data processor |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
US5072371A (en) * | 1989-03-01 | 1991-12-10 | The United States Of America As Represented By The United States Department Of Energy | Method for simultaneous overlapped communications between neighboring processors in a multiple |
US5210836A (en) * | 1989-10-13 | 1993-05-11 | Texas Instruments Incorporated | Instruction generator architecture for a video signal processor controller |
EP0424618A3 (en) * | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
US5170370A (en) * | 1989-11-17 | 1992-12-08 | Cray Research, Inc. | Vector bit-matrix multiply functional unit |
EP0432359A3 (en) * | 1989-11-21 | 1993-03-17 | International Business Machines Corporation | Method and apparatus for performing memory protection operations in a parallel processor system |
US5280474A (en) * | 1990-01-05 | 1994-01-18 | Maspar Computer Corporation | Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays |
CA2073185A1 (en) * | 1990-01-05 | 1991-07-06 | Won S. Kim | Parallel processor memory system |
AU644141B2 (en) * | 1990-01-05 | 1993-12-02 | Maspar Computer Corporation | A method of controlling a router circuit |
EP0444368B1 (en) * | 1990-02-28 | 1997-12-29 | Texas Instruments France | Digital Filtering with SIMD-processor |
US5193202A (en) * | 1990-05-29 | 1993-03-09 | Wavetracer, Inc. | Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor |
JPH05500124A (ja) * | 1990-05-30 | 1993-01-14 | アダプティブ・ソリューションズ・インコーポレーテッド | Simdアーキテクチャにおける並行演算/通信機構 |
GB9018048D0 (en) * | 1990-08-16 | 1990-10-03 | Secr Defence | Digital processor for simulating operation of a parallel processing array |
US5325500A (en) * | 1990-12-14 | 1994-06-28 | Xerox Corporation | Parallel processing units on a substrate, each including a column of memory |
US5131054A (en) * | 1991-01-09 | 1992-07-14 | Thinking Machines Corporation | Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity |
US5175858A (en) * | 1991-03-04 | 1992-12-29 | Adaptive Solutions, Inc. | Mechanism providing concurrent computational/communications in SIMD architecture |
US5355492A (en) * | 1991-11-05 | 1994-10-11 | Thinking Machines Corporation | System for compiling parallel communications instructions including their embedded data transfer information |
US5515535A (en) * | 1991-11-05 | 1996-05-07 | Thinking Machines Corporation | System and method for parallel variable optimization |
US5442797A (en) * | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
US5355494A (en) * | 1991-12-12 | 1994-10-11 | Thinking Machines Corporation | Compiler for performing incremental live variable analysis for data-parallel programs |
US5561801A (en) * | 1991-12-13 | 1996-10-01 | Thinking Machines Corporation | System and method for multilevel promotion |
US5278986A (en) * | 1991-12-13 | 1994-01-11 | Thinking Machines Corporation | System and method for compiling a source code supporting data parallel variables |
US5349527A (en) * | 1991-12-20 | 1994-09-20 | Schlumberger Technology Corporation | Method of seismic time migration using a massively parallel computer |
US5586026A (en) * | 1991-12-20 | 1996-12-17 | Schlumberger Technology Corporation | Method of seismic migration using a massively parallel computer |
US5659778A (en) * | 1992-02-03 | 1997-08-19 | Tm Patents, L.P. | System and method of mapping an array to processing elements |
US5347654A (en) * | 1992-02-03 | 1994-09-13 | Thinking Machines Corporation | System and method for optimizing and generating computer-based code in a parallel processing environment |
US5551039A (en) * | 1992-02-03 | 1996-08-27 | Thinking Machines Corporation | Compiling a source code vector instruction by generating a subgrid loop for iteratively processing array elements by plural processing elements |
US5274818A (en) * | 1992-02-03 | 1993-12-28 | Thinking Machines Corporation | System and method for compiling a fine-grained array based source program onto a course-grained hardware |
US5581773A (en) * | 1992-05-12 | 1996-12-03 | Glover; Michael A. | Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements |
US5579527A (en) * | 1992-08-05 | 1996-11-26 | David Sarnoff Research Center | Apparatus for alternately activating a multiplier and a match unit |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US6073185A (en) * | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
US5537319A (en) * | 1993-12-01 | 1996-07-16 | Schlumberger Technology Corporation | Method for load balancing seismic migration processing on a multiproccessor computer |
US5524223A (en) * | 1994-01-31 | 1996-06-04 | Motorola, Inc. | Instruction accelerator for processing loop instructions with address generator using multiple stored increment values |
JPH07234842A (ja) * | 1994-02-22 | 1995-09-05 | Fujitsu Ltd | 並列データ処理システム |
US6567837B1 (en) * | 1997-01-29 | 2003-05-20 | Iq Systems | Object oriented processor arrays |
US6230257B1 (en) * | 1998-03-31 | 2001-05-08 | Intel Corporation | Method and apparatus for staggering execution of a single packed data instruction using the same circuit |
US6185667B1 (en) | 1998-04-09 | 2001-02-06 | Teranex, Inc. | Input/output support for processing in a mesh connected computer |
US6212628B1 (en) | 1998-04-09 | 2001-04-03 | Teranex, Inc. | Mesh connected computer |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
US6119215A (en) * | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
US6195739B1 (en) | 1998-06-29 | 2001-02-27 | Cisco Technology, Inc. | Method and apparatus for passing data among processor complex stages of a pipelined processing engine |
US6836838B1 (en) | 1998-06-29 | 2004-12-28 | Cisco Technology, Inc. | Architecture for a processor complex of an arrayed pipelined processing engine |
US6356548B1 (en) | 1998-06-29 | 2002-03-12 | Cisco Technology, Inc. | Pooled receive and transmit queues to access a shared bus in a multi-port switch asic |
US6513108B1 (en) | 1998-06-29 | 2003-01-28 | Cisco Technology, Inc. | Programmable processing engine for efficiently processing transient data |
US6101599A (en) * | 1998-06-29 | 2000-08-08 | Cisco Technology, Inc. | System for context switching between processing elements in a pipeline of processing elements |
US6839728B2 (en) * | 1998-10-09 | 2005-01-04 | Pts Corporation | Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture |
US6728839B1 (en) | 1998-10-28 | 2004-04-27 | Cisco Technology, Inc. | Attribute based memory pre-fetching technique |
US6385747B1 (en) | 1998-12-14 | 2002-05-07 | Cisco Technology, Inc. | Testing of replicated components of electronic device |
US6173386B1 (en) | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
US6920562B1 (en) | 1998-12-18 | 2005-07-19 | Cisco Technology, Inc. | Tightly coupled software protocol decode with hardware data encryption |
JP2001051957A (ja) * | 1999-08-04 | 2001-02-23 | Hitachi Ltd | オンチップマルチプロセッサ |
US6681341B1 (en) | 1999-11-03 | 2004-01-20 | Cisco Technology, Inc. | Processor isolation method for integrated multi-processor systems |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US6892237B1 (en) | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
US6732253B1 (en) | 2000-11-13 | 2004-05-04 | Chipwrights Design, Inc. | Loop handling for single instruction multiple datapath processor architectures |
US6931518B1 (en) | 2000-11-28 | 2005-08-16 | Chipwrights Design, Inc. | Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic |
US7493607B2 (en) | 2002-07-09 | 2009-02-17 | Bluerisc Inc. | Statically speculative compilation and execution |
CA2526467C (en) | 2003-05-20 | 2015-03-03 | Kagutech Ltd. | Digital backplane recursive feedback control |
US20050114850A1 (en) | 2003-10-29 | 2005-05-26 | Saurabh Chheda | Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control |
US7996671B2 (en) | 2003-11-17 | 2011-08-09 | Bluerisc Inc. | Security of program executables and microprocessors based on compiler-architecture interaction |
US8607209B2 (en) | 2004-02-04 | 2013-12-10 | Bluerisc Inc. | Energy-focused compiler-assisted branch prediction |
US20080126766A1 (en) | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573852A (en) * | 1968-08-30 | 1971-04-06 | Texas Instruments Inc | Variable time slot assignment of virtual processors |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS57150043A (en) * | 1981-03-11 | 1982-09-16 | Hitachi Ltd | Information processor |
US4546433A (en) * | 1981-07-04 | 1985-10-08 | Gec Avionics Limited | Arrangement for processing data in a two-dimensional array |
US4539655A (en) * | 1982-03-16 | 1985-09-03 | Phoenix Digital Corporation | Microcomputer based distributed control network |
US4523273A (en) * | 1982-12-23 | 1985-06-11 | Purdue Research Foundation | Extra stage cube |
US4621339A (en) * | 1983-06-13 | 1986-11-04 | Duke University | SIMD machine using cube connected cycles network architecture for vector processing |
-
1986
- 1986-02-24 US US06/832,913 patent/US4773038A/en not_active Expired - Fee Related
-
1987
- 1987-02-20 CN CN198787100892A patent/CN87100892A/zh active Pending
- 1987-02-23 EP EP87301523A patent/EP0237218A3/en not_active Withdrawn
- 1987-02-24 JP JP62039301A patent/JPS62264357A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101095326B (zh) * | 2004-11-05 | 2013-07-24 | 辉达技术英国有限公司 | 计算编码的正交振幅调制的信号的对数似然比的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US4773038A (en) | 1988-09-20 |
EP0237218A3 (en) | 1988-04-20 |
EP0237218A2 (en) | 1987-09-16 |
JPS62264357A (ja) | 1987-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN87100892A (zh) | 在单指令多数据流并行处理机阵列中模拟附加处理机的方法 | |
US5485627A (en) | Partitionable massively parallel processing system | |
CN1326061C (zh) | 流形阵列处理方法和装置 | |
CN1020972C (zh) | 超大规模计算机 | |
US5070446A (en) | Method of simulating a hexagonal array of computer processors and/or memories | |
US5963212A (en) | Parallel computing system for modeling and data processing | |
US4809202A (en) | Method and apparatus for simulating systems described by partial differential equations | |
EP0099135B1 (en) | Dynamic gate array whereby an assembly of gates is simulated by logic operations on variables selected according to the gates | |
US5247613A (en) | Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel | |
EP0495537A2 (en) | Parallel processor | |
JPH0680511B2 (ja) | シミユレーシヨン・エンジン | |
US5050069A (en) | Method and apparatus for simulating m-dimension connection networks in and n-dimension network where m is less than n | |
US5159690A (en) | Multidimensional cellular data array processing system which separately permutes stored data elements and applies transformation rules to permuted elements | |
Stout | Hypercubes and pyramids | |
US4939642A (en) | Virtual bit map processor | |
EP1314099B1 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
Margolus | An embedded DRAM architecture for large-scale spatial-lattice computations | |
EP0456394A2 (en) | Video memory array having random and serial ports | |
Mel’čuk et al. | Molecular dynamics simulation of liquids on the connection machine | |
JPH04316153A (ja) | ニューロプロセッサ | |
Korkin et al. | Evolving hardware on a large scale | |
Tomboulian | Introduction to a system for implementing Neural Net connections on SIMD architectures | |
JPH0549991B2 (zh) | ||
Siegel | Partitioning permutation networks: The underlying theory | |
JPWO2004061722A1 (ja) | 論理シミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |