CN1378665A - 编程概念 - Google Patents
编程概念 Download PDFInfo
- Publication number
- CN1378665A CN1378665A CN00811550A CN00811550A CN1378665A CN 1378665 A CN1378665 A CN 1378665A CN 00811550 A CN00811550 A CN 00811550A CN 00811550 A CN00811550 A CN 00811550A CN 1378665 A CN1378665 A CN 1378665A
- Authority
- CN
- China
- Prior art keywords
- cell structure
- basic cell
- module
- storer
- dimensions
- 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
- 238000000034 method Methods 0.000 claims description 268
- 230000015654 memory Effects 0.000 claims description 56
- 238000011068 loading method Methods 0.000 claims description 43
- 238000003860 storage Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 35
- 230000005055 memory storage Effects 0.000 claims description 34
- 230000004087 circulation Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 24
- 238000013461 design Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000002093 peripheral effect Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 9
- 230000027455 binding Effects 0.000 claims description 8
- 238000009739 binding Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000004069 differentiation Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 33
- 238000004422 calculation algorithm Methods 0.000 description 31
- 238000001637 plasma atomic emission spectroscopy Methods 0.000 description 13
- 229920000110 poly(aryl ether sulfone) Polymers 0.000 description 13
- UBKQRASXZMLQRJ-UHFFFAOYSA-N 2-phenylsulfanylethanamine Chemical compound NCCSC1=CC=CC=C1 UBKQRASXZMLQRJ-UHFFFAOYSA-N 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 7
- 101100194362 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res1 gene Proteins 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000036962 time dependent Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 101100194363 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res2 gene Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000009183 running Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 101100518697 Arabidopsis thaliana PAE4 gene Proteins 0.000 description 2
- 241001673391 Entandrophragma candollei Species 0.000 description 2
- 101150069245 PAE2 gene Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 235000015170 shellfish Nutrition 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005919 time-dependent effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100518699 Arabidopsis thaliana PAE6 gene Proteins 0.000 description 1
- 101100518700 Arabidopsis thaliana PAE7 gene Proteins 0.000 description 1
- 241000397426 Centroberyx lineatus Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
Abstract
本发明涉及彼此间排列可变化的基本单元结构。本发明尤其给出了为此目的及带着那样的基本单元结构的序列是如何以及用哪些单元进行分割的。
Description
发明的目的与应用领域
本发明延伸到可编程算术的和/或逻辑模块(VPU)的领域,尤其它能在运行过程中重新编程,具有多个算术和/逻辑单元,其互相的连结也能在运行期间予以编程或重新编程。那样的逻辑模块可从多个制造商处得到,通常名为FPGA(Field-Programmable Gate Array-现场可编程门阵列)。此外,已公开的若干专利,揭示了具有自动数据同步和改善的算术数据处理能力的特殊算术模块。
所有上述模块具有二维或多维的逻辑和/或算术单元(处理阵列单元-PAES)的结构,它们能通过总线系统互连。
按照本发明,这些模块的特征是,它们或者具有下面所列的单元或者这些单元被编程或被加上(包括外加),用于按本发明的用途:
1、至少一个单元(CT)用于加载配置数据;
2、PAES;
3、至少一个对一个或多个存储器和/或外围设备的接口。
本发明的目的是提供一个编程方法,采用该方法使得上述模块以已知的高级编程语言有效地编程,使得最大程度地实现自动、完全和有效地使用由多个单元获得的上述模块的平行功能。
背景信息
在序言中提到的类型的模块大多数使用通常的数据流语言编程。这产生了两个基本问题:
1、以数据流语言编程需要由程序员所习惯;多层顺序任务只能以复杂的方式描述;
2、大的应用和顺序描述仅在一定的程度上能用现有的翻译工具(综合工具)映射到所希望的目标技术(综合的)。
通常,应用(application)被分割成多个子应用,它们然后分别综合到目标技术(图1)。每个单独的二进制码随后被加载到一个模块。本发明的基本前提是在德国专利44 16 881中描述的方法,它使得有可能通过分析时间的依赖关系,在单个模块中使用多个被分割的子应用,通过控制信号从高层加载单元顺序地请求所需的子应用程序,随后加载单元将子应用加载到模块中。
现有的综合工具仅在一定程度上能将程序循环映射到模块上(图2 0201)。FOR循环(0202)常常通过转出循环到目标模块的资源仅作为原始循环而被支持。
与FOR循环相反,WHILE循环(0203)不具有定常的退出值。相反,一旦中断发生,使用一个条件予以计算。因此,通常(当条件不是常数时)去综合时不知道何时退出循环。由于它们的动态特点,这些综合工具不能将这些循环映射到硬件上,即以固定的方式将它们转移到目标模块上。
递归,如果递归深度未知,即在综合时不是常数,则按照有关技术使用综合工具基本上不能将递归映射的硬件上。在使用递归时,随着每次新的递归层分配新的资源。这意味着,必须做出新的硬件适用于每个递归层,但是,这在动态上是不可能的。
当目标模块足够大,即提供了足够的资源,则即使简单的基本结构也只能通过综合工具映射。
简单的时间依赖关系(0301)用当今的综合工具不分割成多个子应用,因而只能整个转移到一个目标模块。
有条件的执行(0302)和根据条件循环(0303)只有在目标模块中存在足够资源的情况才能够被映射。
按本发明的方法
在德国专利44 16 881中描述的方法允许在运行时间在上述模块的硬件结构中识别条件,并使得有可能动态地响应那样的条件,使硬件的功能按照所接收的条件予以修改,它基本上是通过配置一个新的结构实现的。
在按本发明的方法中的一个重要步骤是将图(应用)分割成时间依赖关系的子图S(子应用)。
术语“时间依赖关系”是那样定义的,使得在两个子应用之间传输的数据被任何设计的存储器(即包括简单的寄存器)所分开。尤其是在两个子图之间存在带有限的和最少数量的信号的一个清楚的接口的图的点上这是可能的。
此外,在具有下列特征的图中的点尤其适用:
1、在节点之间几乎没有信号或变量;
2、少量的数据借助信号或变量发送;
3、没有反馈,即没有信号或变量以互相反向的方向发送。
在大图的情况下,时间依赖关系能够通过引入特定的、明确确定的接口来达到,接口尽可能简单地将数据存入缓冲器(见图4中的Sn)。
相对于其他算法而言,循环常常具有很强的时间依赖关系,因为它们长时间针对(大多数)局限在循环中的变量值运作,且仅当进入或离开该循环时传送操作数或结果。
用时间依赖关系可以实现,在一个子应用被完全执行以后,后续的子应用能被加载而不必发生任何进一步的依赖关系或影响。当数据存入上述命名的存储器中时,能产生一个状态信号(触发,见PACT08),它请求高层加载单元,加载下一个子应用。当简单的寄存器用作存储器时,在数据写入该寄存器时总能产生触发。当使用存储器,尤其使用按FIFO(先进先出)原则操作的存储器时,触发根据多个条件产生。例如下列那些条件或其组合能产生触发:
一结果存储器满
一操作数存储器空
一没有新的操作数
一在子应用中产生的任何条件,如由
·比较器(等于,大于,等)
·计数器(溢出)
·加法器(溢出)
下面,子应用也称作为模块,以便从传统编程的观点看改善可理解性。由于同样的理由,下文中信号也称之为变量。这些变量在一个重要方面区别于传统的变量:示出该变量是否具有合理值的状态信号(Ready-就绪)赋予每个变量。如果一个信号具有一个合理(已计算的)值,状态信号是就绪(Ready);如果该信号有非合理值(计算尚未完成),状态信号为非就绪(Not-Ready)。此原理在专利P196 51 075.9中详细描述。
总之,下面的功能可以赋予触发:
1、作为单独的PAES的状态的数据处理的控制;
2、PAES的重新配置(子应用的时间顺序)的控制。
尤其是,循环(WHILE)和递归的退出准则和在子应用中的条件跳转由触发来实现。
在情况1,触发在PAES之间交换;在情况2,触发由PAES发送到CT。对本发明重要的是在情况1和情况2之间的转移基本上取决于在PAES的矩阵中在那时运行的子应用的数目。换言之,触发通常在PAE上执行时被送到子应用。如果子应用未被配置,该触发被送到CT。重要的是,如果此子应用也被配置,对应的触发将被直接送到对应的PAE。
这就导致计算性能随着增加PAE的规模即随着多个PAE矩阵的级联而自动地放大。不需要更多的重新配置时间,但是该触发被直接送到已经被配置的PAES。
波动(WAVE)重新配置
多个模块能使用合适的硬件架构互相叠加(见图10/11)。这意味着多个模块在PAE中同时预配置而且各配置之间的切换能花费最少的时间完成,使得在对每个PAE的多个配置中只有一个配置是起作用的。
重要的是在预配置模块A和模块B的数个PAE中,一部分数目能使用A部分起作用而同时另一部分数目能使用B部分起作用。两部分的区分恰恰是由其中发生A和B之间切换的PAE给出的。这意味着,从某个时间点起B在所有PAE中起作用,而在此时间点以前A对这些PAE起作用,而且在此时间点以后A仍然在所有其他PAE中起作用。随着增加时间,B在越来越多的PAE中起作用。
切换根据由数据计算得出的特定数据、状态而发生,或根据任何外部产生的其他事件或由如CT那样的事件发生。
其结果是,在一个数据包被处理以后发生到另一个配置的切换。同时/另一方面,能给CT发一个信号(RECONFIG-TRIGGER-重配置触发),引起由CT预加载新的配置。预加载能加到其他PAES,后者能依赖当前的数据处理或与其无关。通过将起作用的配置与可用于重配置的配置(见图10/11)隔离,新的配置甚至能加到当前运行的(起作用的)PAES中,特别是也能加到产生RECONFIG-TRIGGER(重配置触发)信号的PAE中。这就允许一个配置与数据处理重叠。
图13示出波动重新配置(WRC)的基本原理。这是根据PAES的一行(PAE1-PAE9),数据通过该行如通过管线那样跑。特别需要指出的是,WRC不限于管线方式,PAES的互连和分组可以采取任何希望的形式。选择该图示只是为了易于理解示出简单的例子。
在图13a中,数据包在PAE1中跑。PAE具有四种可能的配置(A、F、H、C),可使用合适的硬件(见图10/11)选择。对当前的数据包在PAE1中配置F起作用(阴影线区)。
在下一个周期,数据包跑到PAE2,且在PAE1出现一个新的数据包。F也在PAE2中起作用。与数据包一起在PAE1中出现一个事件(↑1)。一旦PAE接收到任何外部事件(如一个状态标志或一个触发)就发生该事件,或者它在PAE中由完成的计算产生。
在图13c中,由于事件(↑1),配置H在PAE1中起作用;同时,出现新的事件(↑2),引起配置A在下面的周期起作用(图13d)。
在图13e中,在PAE1中接收(↑3),引起F被G改写(图13f)。随着接收(↑4)G起作用(图13g)。(↑5)导致K被加载以替代C(图13h,i),且(↑6)加载并起动F以替代H(图13j)。
图13g*)到13j*)示出,当运行波动重配置时,不是所有的PAE需要按照同样的样式运行。一个PAE由波动重配置所配置的方式主要解决于其自己的配置。这里应该提到的是PAE4到PAE6被配置,使得它们响应分别从其他PAE来的事件。例如,在图13g*)中,H替代A起作用以响应事件↑2(见图13g)中的事件↑3而加载G,配置F保持而A起作用。在图13*)中,对PAE7示出,事件↑3又将引起G被加载。在PAE4中,事件↑4引起F替代配置G而起作用(见图13j)。
在图13中重配置的波动响应事件穿过一系列PAEs运动,它可以具有二维或多维的设计。
发生一次的重配置不是绝对必须在整个流动过程中发生。例如,响应事件(↑2)A起作用的重配置可以只在PAE1到3及PAR7的局部中发生,而H继续保持在所有其他PAE中起作用。换言之:
a)有可能一个事件只局部地发生,因而作为结果只有局部的重新起作用;
b)全局的事件可以对某些PAE没有任何影响,取决于所执行的算法。
在(↑2)之后仍继续保持H起作用的PAE中,接收事件(↑3)当然可以有完全不同的效果,(i)如使C起作用而不去加载G;(ii)而且(↑3)可以对这些PAE完全没有任何影响。
处理器模型
在以后的图形中示出图总具有〔一个〕模块作为一个图的节点,认为多个模块可以映射到一个目标模块。这就意味着,虽然所有的模块在时间上是互相独立的,只有在用垂直线和Δt标记的模块中完成重配置和/或插入数据存储设备。此点称为重配置时间。
重配置时间取决于某些数据或从某些数据处理得出的状态。
总之,这意味着:
1.大的模块能在适当的点分割并分解成时间互相无关的小模块,并以最优的方式归入PAE陈列中。
2.在能够一起映射到一个目标模块的小模块的情况,时间的互相无关是不需要的,这就节省了配置的步骤并加速了数据处理。
3.按照目标模块的资源(设置配置的次数。这就使得以任何希望的方式放大图的长度成为可能。
4.模块能重叠配置。
5.模块的重配置通过数据本身或通过数据处理的结果加以控制。
6.由模块产生的数据被储存,且时间上后续的模块从此存储器读出该数据并转而将结果存入一个存储器或将最终结果输出到外围设备。
处理器模型的状态信息
为了确定图中的状态,使得独立单元(PAE)的状态寄存器通过存在于数据总线(0801)以外的自由可进行路由选择和可分段的状态总线(0802)为所有的其他算术单元所用(图8b)。这就意味着一个单元(PAEX)能估算另外单元(PAEY)的状态信息并据此处理数据。为了示出相对于现有的并行计算系统的差别,图8a以处理器通过一个公共的数据总线(0803)互连的多处理器形式示出有关的技术。对数据和状态的同步交换不存在明确的总线系统。
换言之,状态信息(0802)的网络表示为一个自由地和特定地分布的单个传统处理器(或一个SMP计算机的多处理器)的状态寄存器。每个单独的ALU(即每个单独的处理器)的状态,尤其是每个单独的状态信息片可为需要该信息的ALU或若干ALU(处理器)所用。没有另外的程序运行时间或通信运行时间(除了信号运行时间)用于在ALU(处理器)之间交换信息。
总之,应该注意到,根据任务能按照上面描述的方法处理数据流图表和控制流图表。
虚拟机模型
按照以前的章节,使用VPU模块数据处理的原理主要是数据定向的流动。但是,为了执行带有合理性能的顺序程序,必须可用一个须序的数据处理模型,对此在各个PAE中的定序器往往是不够的。
但是,VPU的架构基本上允许任何所希望的复杂的定序器从单独的PAE中形成。这意味着:
1.能够配置精确地对应于算法需要的复杂的定序器。
2.通过适当的配置,数据流能够精确地表示算法的计算步骤。
因此特别对应于算法的顺序需要的虚拟机能在VPU上实现。
VPU架构的主要优点在于一个算法能由一个编译器不解,使得数据流部分被提出(并且)用一个“最优”的数据流表示,在此一个调节后的数据流被配置,且通过配置一个调节后的定序器,算法的顺序部分由一个“最优”的定序器来表示。多个排序和数据流能同时在一个VPU上互相适应,这仅仅取决于可用的资源。
由于大量的PAE,在运行期间在VPU中有大量的局部状态。在改变任务或调用一个子程序(中断)时,这些状态必须保存(对标准的处理器见PUSH/POP)。但是由于大量的状态,这实际上做不到的。
为了将状态数减少到可以管理的数目,必须在两类状态之间作出区分。
1.机器模型的状态信息(MACHINE-STATE-机器状态)。此状态信息仅在执行特定模块中有效且也仅局部地使用在此特定模块的定序器及数据流单元。这就意味着这些机器状态表示在按照有关技术的处理器的硬件背景上发生的状态,它们隐含在命令和处理步骤中并在执行一条命令以后对后续的命令不再有更多的信息。那样的状态不需要保存。对此的条件是,中断应仅在完成所有当前起作用的模块的执行以后被执行。如果引起对执行的中断,不加载新的模块;此外,如果算法允许,不发送新的操作数到起作用的模块。因此一个模块成为不可分割的不可中断的单元,可与按有关技术的处理器的一条指令相比较。
2.数据处理的状态(数据状态一DATA STATUS)。当按有关技术的处理器模块发生一个中断时,与数据有关的状态必须保存并写入存储器。这些是特定需要的寄存器和标志;或按VPU技术的术语称为触发。
在数据状态的情况,处理能根据算法进一步简化,下面将详细解释两个基本策略:
1.状态信息的伴随跑动
所有在以后时间需要的有关状态信息如在正常地在管线中实现的那样从一个模块传递到下一个模块。然后该状态信息与数据一起隐含地存入存储器,使得在数据被调用时状态也可以被使用。因此,不发生状态信息的明确的处理,特别在使用PUSH和POP情况更加如此,这就根据算法大大地加速了处理并导致简化的编程。状态信息可以与相应的数据包一起储存,或仅在中断事件中存储并专门标记。
2.保存重入地址
在处理大量储存在存储器中的数据时,将刚处理过的数据包的至少一个操作数的地址与数据包一起通过PAEs是有利的。在此情况地址是不修改的,但当数据包作为指向最后处理的操作的指针写入RAM时是可用的。
此指针能与对应的数据包一起储存,或仅在一个中断的情况储存并专门标记。特别是,如果对操作的所有指针使用一个地址(或一组地址)计算,只保存一个地址(或一组地址)是有利的。
“ULIM”-“UCISC”模型
为了理解非常类似于一个按照有关技术的处理器的这个模型,VPU加构的概念必须扩展。虚拟机器模型作为基础使用。PAEs(PA)陈列被认为是一个带可配置架构的算术单元。CT(s)表示一个对操作码的加载单元(LOAD-UNIT)。IOAG(s)取代总线接口和/或寄存器组。
此安排允许两个能够使用的基本操作模式在运行期间相混合:
1.配置一组PAEs(也能是一个PAE)执行一条复杂命令或命令序列,且然后处理与此命令相关的数据(可以是单个数据字)。然后此组重配置处理下一条命令。该组的大小与排列可以改变。按照以前提到的分割技术建立尽可能优化的组是编译器的责任。组作为命令由CT“加载”在模块上,因此该方法可与已知的VLIW相比较,其不同处是管理多得多的算术单元并在算术单元之间的互连结构也能由指令字(Ultra Large Instruction Word=″ULIW″-超大指令字)承担。这就允许实现很高指令级的并行性(ILP),(也见图27)。一个指令字在这里对应一个模块。多个模块能同时处理,只要数据的依赖关系允许且在此模块中有足够的资源可用。如在VLIW指令的情况那样,通常在该指令字被执行完以后下一个指令字立即被加载。为了借助时间关系优化此过程,下一个指令字甚至能在指令执行期间被预加载(见图10)。在多个可能的后续指令字的情况,能预加载一个以上的指令字,而正确的指令字在执行以前例如由触发信号来选择(见图4a B1/B2,图15 ID C/IDK,图36 A/B/C)。
2.配置一个PAE组(也能是一个PAE)执行频繁使用的命令序列。在此情况也能是单个数据字的数据当需要时被送到该组并被该组所接收。此须在多个周期中保持而不必重配置。此安排可与在按相关技术的处理器(如MMX)中的专门算术单元相比较,后者为专门的任务所提供关只在需要时使用。用此方法,可按照CISC原理产生专门的命令,其优点是这些命令能配置成针对应用的(Ultra-CISC=UCISC)。
RDY/ACK协议的扩展(见PACT02)
PACT02描述了RDY/ACK的标准协议,它描述了按照关于典型的数据流应用的德国专利44 16 881的同步过程的主要需要。此协议的缺点是只有数据能发送且接收被认可。虽然数据被请求发送被认可的(以后称之为REQ/ACK)用同样的双线协议在电路上能实现。它不是在语义上被检测。当REQ/ACK和DRY/ACK以混合操作方式使用时,这尤其正确。
因此,在协议之间作出清楚的区分;
DRY:在发送器处数据对接收器可用;
REQ:接收器从发送器请求数据;
ACK:对完成的接收和发送通常的认可。
(原则上,在对RDY的ACK和对REQ的ACK之间也可以作出区别,但是ACK的语义通常隐含在协议中)。
存储器模型
存储器(一个或多个)能集成在VPU中并如在PAE的情况那样编址。下面将描述一个存储器模型,它同时表示一个到外部外围设备和/或外部存储器的接口。
一个在带有如PAE总线功能的VPU中的存储器可以代表各种存储器模式:
1.标准存储器(随机访问)
2.高速缓存(作为标准存储器的扩展)
3.查找(LOOKUP)表
4.FIFO(先进先出)
5.LIFO(堆栈-后进先出)
一个一次写入存储器区或从中读出一个字或一个块的可控制接口与存储器相连接。
产生下列使用选项:
1.数据流的隔离(FIFO)
2.较快访问所选的外部存储器区域,所者代表如高速缓存那样的功能(标准存储器,查找表)。
3.可变深度堆栈(LIFO)
可以使用该接口,但这不是绝对必要的,例如,如果数据只在VPU中局部地使用且在内部存储器的空余存储器已足够就是此情况。
堆栈模型
能够通过命名用REQ/ACK协议和LIFO模式的内部存储器设计一个简单的堆栈处理器。在此模式中,临时数据由PAEs写到堆栈并在需要时从堆栈中取出。需要的编译器的技术是众所周知的。由于可变的堆栈深度,堆栈可以象所需要的那样大,它可以通过内部存储器与外部存储器的数据交换来达到。
累加器模型
每个PAE能代表按累加器原理的算术单元。如从PACT02得知,输出寄存器可以循环回到PA遥输入。这就产生一个相关技术的累加器。简单的累加器处理器能按照图11与定序器共同设计。
寄存器模型
简单的寄存器处理器能通过使用REQ/ACK协议和标准存储器模式的内部存储器设计。寄存器的地址由一组PAE产生,而另一组PAE负责处理数据。
存储器架构
存储器具有两个接口:第一个接口将存储器连到阵列,第二个接口将存储器与IO单元相连。为了改善访问时间,存储器应设计成双口RAM,它允许读和写的访问互相独立地进行。
第一接口是传统的PAE接口(PAE1),它保证访问到阵列的总线系统并确保同步与触发处理。能使用触发来显示存储器的不同状态,或者在存储器中强迫运转,例如:
1.空/满:当作为FIFO使用时,显示FIFO状态“满”,“几乎满”,“空”,“几乎空”;
2.堆栈溢出/下溢:当作为堆栈用时,堆栈溢出及下溢时发信号;
3.高速缓存找到/未找到:在高速缓存模式中,显示在高速缓存中是否找到地址。
4.高速缓存刷新:由触发信号强制将高速缓存的内容写入外部RAM。
一个控制不同操作模式的可配置的状态机与PAE接口相连结。一个计数器与状机相连结以便产生FIFO和LIFO模式的地址。地址通过一个多路复用器送到存储器,使在阵列中产生的附加地址能提供给存储器。
第二个接口用于连结一个IO单元(IOI)。IO单元设计成具有外部接口的可配置的控制器。控制器每次从存储器读出一个字或一个块的数据或写入其中。数据与IO单元交换。使用一个附加的TAG存储器,控制器也支持不同的高速缓存功能。
IOI和PAEI互相同步,所以不发生两个接口的碰撞。根据运行的模式不同同步是不同的;例如,虽然在标准的存储器或堆栈模式操作中,无论是IOI或PAEI可以在任何时间访问整个存储器。在FIFO模式同步是逐行的,即当IOI访问行X时,PAEI在同时能访问除X以外的任何其他行。
IO单元是按外围设备的要求配置的,例如:
1.SDRAM控制器
2.RDRAM控制器
3.DSP总线控制器
4.PCI控制器
5.串行控制器(如NGIO)
6.专用控制器(SCSI,Ethernet,USB等)
一个VPU可以具有任何希望的存储器单元,它们具有任何希望的IO单元,在单个VPU中可以使用不同的IO单元。
操作模式
1.标准存储器
1.1.内部/局部
数据和地址通过PAEI与存储器交换。可编址存储器的大小受存储器大小的限止。
1.2外部/存储器映射窗
数据和地址通过PAEI与存储器交换。在IOI控制器中规定外部存储器的基地址。控制器从外存储器地址中一次读出一个块并写入(内部)存储器,随着每次读或写操作内部和外部地址增加(或减少),直到整个内部存储器被传送或达到预定的限制。阵列用局部数据工作,直到数据又一次被控制器写入外部存储器。写操作类似于上面描述的读操作一样发生。
由控制器的读和写可由下列事件起动:
a)由一个触发或
b)通过阵列访问非局部存储的地址。如果阵列访问那样的地址,开始内部存储器内容被写到外部存储器,然后存储器块用所希望的地址重新加载。
对一个寄存器处理器此操作模式尤其与应用一个寄存器组有关。在此情况,带着外存储器的寄存器组的PUSH/POP能使用触发实现,用于改变任务或前后关系的切换。
1.3外部/查找表
查找表功能是1.2的功能的简化。在此情况,通过CT调用或从外部RAM到内部RAM的触发数据被一次或数次读出。阵列从内部存储器读数据,但不写数据到内部存储器。外存储器的基地址由CT或阵列存入控制器,且在运行时间可以修改。从外存储器的加载由CT或者由从阵列的触发所发动且也能在运行时间进行。
1.4外部/高速缓存
在此模式中,阵列可选地访问存储器。存储器作为对按有关技术的外部存储器的高速缓冲存储器操作,通过从阵列的触发或通过CT,高速缓存能变成空的(即高速缓存能完全写入外部存储器)。
2.FIFO
当数据流从外面送到VPU时通常使用FIFO模式。然后使用FIFO将外面的数据处理与VPU中的数据处理隔离开来,到FIFO的写操作从外面发生而读操作由VPU完成或者相反。FIFO的状态由触发向阵列发信号,或者如果需要发到外面,FIFO本身按有关技术带着不同的读和写指针实现。
3.堆栈/内部
内部堆栈由一个编址寄存器构成,根据由阵列每次对存储器的写访问的模式,寄存器是(a)增加或(b)减少。相反,在从阵列读访问的情况,寄存器是(a)减少和(b)增加。寄存器使所需的地址对每次访问可用。堆栈受存储器大小的限止。错误(溢出/下溢)由触发指出。
4.堆栈/外部
如果内部存储器太小不能形成堆栈,它可以转移到外部存储器。为此目的在控制器中可用一个对外部堆栈地址的地址计数器。如果在内部堆栈中超出一定数量的记录,若干记录每次一块地写到外部堆栈上。堆栈是从未端,即最老的记录向外写,若干最新的记录不写到外部存储器,而留在内部。外部地址记数器(ERC)每次修改一行。
在内部堆栈留出空间以后,堆栈的余下由容必须移到堆栈的开始;内部堆栈地址随之调整。
一个更有效的方案是将堆栈配置成环形存储器(见PACT04)。通过增加或去除堆栈的内容而修改内部地址计数器。一旦内部地址计数器(IAC)超出存储器的顶端,它就指向最低地址。如果IAC小于最低地址,它指向最高位置。一个附加计数器(FC)指出存储器的满状态,即计数器随着写每个字而增加,随读每个字而减少。使用FC能够确定何时存储器满或空。此技术是从FIFO得知的。因此,如果将一个块写入外部存储器,调整FC对更新堆栈是足够了。外部地址计数器(EAC)永远指向在内部存储器中的最老的记录,因此在IAC对面的堆栈未端。若发生下列情况,则修改EAC:
(a)数据写到外部堆栈;然后它跑向IAC;
(b)数据从外部堆栈读出;然后从IAC移开。
通过监视FC保证FC和IAC不冲突。
ERC是根据外部堆栈操作修改(增大或缩减)。
MMU
MMU能与外部存储器接口连接。MMU完成两项功能:
1.重算内部地址到外部地址以支持现代操作系统;
2.监视器访问外部地址,例如若外部堆栈溢出或下溢产生一个错误信号作为触发。
编译器
按本发明的VPU技术编程原则包括分割顺序的程序码并将它们分解成最大可能数量的小的和独立的子算法,而数据流码的子算法被直接映射到VPU。
VPU程序码和标准程序码之间的区别
下面用C++表示在相关技术中所有可能的编译器(Pascal Java Fortran等)可以定义一个特定的扩展(VC=VPUC),它包含能特别好地映射到VPU技术去的语言结构和类型。只有在不使用其他结构或类型的方法和函数中VC能被程序员使用。这些方法和函数能直接映射到VPU,并运行得特别有效。编辑器在预处理器中提取VC并将其直接送至VC后端处理(VCBP)。
可关行化的编译器程序的提取
在下面步骤中,编译器分析余下的C++程序码并提取那些不需要使用定序器而能容易地平行化并映射到VPU技术去的部分(MC=可映射的C)。每个独立的MC放入虚拟阵列并确定路径。然后分析空间的需求和预期的性能。为此目的,调用VCBP且单独的MCs与VC一起被分割,后者在所有情况下能被映射。
其VPU的应用达到最高性能增长的MCs被接收,而其他进入到如C++那样编辑器的下一个阶段。
优化定序器发生器
这个编译器阶段能以不同的方式实现,取决于VPU系统的架构。
1.设有定序器或外部处理器的VPU所有余下的C++程序对外部处理器编译。
2.只具有定序器的VPU
2.1在PAEs中定序器
所有余下的C++程序对PAE的定序器编译。
2.2在阵列中的可配置的定序器
余下的C++程序对每个独立的模块分析。从数据库中选择最适合定序器的方案并作为VC程序码(SVC)存入。此步骤大多数是迭代的,即选择一个定序器方案,程序被编译,分析并与其他定序器方案的编译后的程序码作比较。最终,对选定的SVC产生C++程序的目标程序码。
2.3同时使用2.1和2.2
操作模式对应于2.2的模式。专门的静态定序器模型在PAEs中的定序器的数据库中可以得到。
3.具有定序器和外部处理器的VPU
此操作模式也对应于2.2。专门的静态定序器模型在外部处理器的数据库中可得到。
连接程序
连接程序连接各个模块(VC,MC,SVC和SVCD),形成执行程序。为此目的,它使用VCBP放置各个模块并确定路径,并确定时间的分割。如果需要,连接程序还加入各个模块之间的通讯结构,加入寄存器和存储器。在分析控制结构和各个模块的依赖关系的基础上加上对重新配置的情况储存阵列和定序器内部状的结构。
有关处理器模型的注释
使用的机器模型能以任何希望的方式在VPU中间结合。在一个算法内也可能从一个模型切换到另一个,取决于哪个模型最好。
如果一个附加的存储器被加到从中读出操作数并写入结果的寄存器处理器,则可以建立加载/存储处理器。借助分别处理各个操作数和结果可以分配多个不同的存储器。
然后这些存储器或多或少地象加载/存储单元那样操作,并对外部存储器表示为一种类型的高速缓存器。地址由与数据处理无关的PAES计算。
指针重排序
如C/C++那样的高级语言常常使用指针,它很难由管线处理。如果直到该指针,它很难由管线处理。如果直到该指向的数据结构被使用以前还未被计算,则管线常常不能快速地充分充满而处理是低效率的,尤其在VPU中更如此。
如果可能的话在编程VPU时不使用任何指是很好的;但是这常是不可能的。
总是是通过由编译器重新排序指针结构而得以解决,使指针的地址在使用以前尽可能早地被计算。同时,在指针和它所指向的数据之间应有尽可能少的直接依赖关系。
PAEs的扩展(与专利196 51 075.9和196 54 846.2比较)
专利196 51 075.9和196 54 846.2确定了与基本单元(PAEs)的配置特征相关的有关技术。
我们将详细讨论两个特征:
1.按照专利196 51 075.9包含配置的一组配置寄存器与一个PAE(0903)相连接(图9a);
2.按照专利196 54 846.2一组PAEs(0902)能访问一个存储器存入或读出数据(图9b)。
其目标是
a)提供一个加速PAEs的重配置的方法,将其在时间上与高级加载单元分离,且
b)设计一个方法,使得提供同时排序多于一个配置的可能性,且
c)在一个PAE中同时保持多个配置,其中之一总有是起作用的,且在不同的配置之间能快速切换。
配置寄存器的隔离
借助使用一组多个配置寄存器(1001),配置寄存器与高层加载单元(CT)(图10)隔离。确切地说总是有一个配置寄存器可选择地确定PAE的功能。能过多路复用器(1002)选择该活动的寄存器。CT能自由地写入每个配置寄存器,只要该配置寄存器不确定当前PAE的配置,即不是活动的。使用在PACT10中描述的方法,写到活动的寄存器原则上是可能的。
由1002选择的配置寄存器能由不同的来源确定:
1.任何一个或一组状态信号通过总线学线(0802)提供给1002(图10a)。该状态信号由PAE任何产生或通过模块的外部连接程序成为可用(见图8)。
2.由1001/1002配置的PAE的状态信号被用于选择(图10b)
3.由高层CT产生的信号被用于选择(图10c)。
可选地,进入的信号(1003)能使用寄存器储存一段时间并可选地在需要时被调用。
通过使用多个寄存器,CT在时间上被隔离。这意味着CT能“预加载”多个配置而无需存在直接的时间依赖关系。
如果选中的/活动的1001中的寄存器尚未被加载,直到CT加载寄器时PAE的配置才被显示。为确定寄存器是否具有有效的信息,例如可以将由CT设置的“有效位”(1004)插入每个寄存器。如果在选中的寄存器中0906未被设置,通过一个信号请求CT尽可能快地配置该寄存器。
在图10中描述的方法能容易地扩展到定序器(图11)。为此目的,使用具有指令解码器(1101)的定序器触发多路复用器(1002)的选择信号。作为当前选择的配置(1102)的功能和附加的状态信息部分(1103/1104),定序器确定下面将选择的配置。
状态信息可以是:
a)由1001/1002配置的PAE的状态信号的状态(图11a)。
b)能过0802提供的任何所希望的状态信号(图11b)
c)(a)和(b)的组合。
1001也能设计成存储器,命令由1101而不是1002确定地址。此处选扯取决于命令本射和取决于状态寄存器。在这方面,其结构对应于“冯.诺依曼-VonNeumann”机器的结构,区别是:
(a)通用可应用性的区别,即不使用定序器(见图10)。
(b)状态信号不需要由与定序器连接的算术单元(PAE)产生,但可以任何其他算术单元来(见图11b)
重要的是定序器能执行跳转,尤其是也执行在1001中的条件跳转。
对于在VPUs中建立定序器的另外的附加或其他方法(图12)是使用内部数据存储设备。在此情况,存储器的数据输出连接到一个或多个PAE(1202)的配置输入或数据输入。对1201的地址(1203)能由同样的PAE/PAEs或任何一个或多个其他的PAE(s)产生。
在此方法中,定序器不是固定的实现,而是由一个或一组PAE模仿。内部存储器能从外部存储器重新加载(见按本发明的存储器系统)。
为存储局部数据(例如为了迭代计算和作为对定序器的寄存器),对PAE提供一个附加的寄存器组,其单独的寄存器或由配置确定连接到ALU或由ALU写入;或者它们能由一个实现的定序器(寄存器模式)的命令组自由地使用。这些寄存器中之一也可作为累加器(累加器模式)使用。如果PAE作为充满特色的机器使用,最好使用其中一个寄存器作为对外部数据地址的地址计数器。
为了管理PAE以外的堆栈的累加器(例如,在接本发明的存储器中),使用以前描述的RDY/ACK REQ/ACK同步模型。
有关技术的PAEs(见PACT02)不是很好的地适用于处理位方式的操作,同为集成的ALU不特别支持位操作,即它具有局限的设计(1,2,4位宽),通过用FPGA核心(LC)替代ALU核心保证单独位或信号的有效处理,FPGA按照其配置执行逻辑操作。LC能按其功能和内部的连接自由地配置。能使用有关技术的LCs。对某些操作最好分配一个存储器到LC的内部。在FC和阵列配一个存储器到LC的内部。在FC和阵列总线之间的接口模块只是略为调整到FC,但基本上保持。但是为了以更灵活的方式配置FC的时间响应,最好是在接口模块的寄存器配置成使它们能关掉。
附图说明
图4a示出按本发明的方法的某些基本特征:
类型A的模块连接成一个组,最终具有到B1或到B2的条件眺转。在此位置(0401)插入重配置点,因为将条件跳转的每个分支处理成分离的组是有用的(情况1)。但是,如果两个B分支(B1和B2)与A一起适合目标模块(情况2),在0402仅插入一个重配置点是更加方便,因为这样减少了配置的数目并增加了处理速度。两个分支(B1和B2)在0402跳转到C。
在目标模块的基本单元配置图示于图4b。单独图的节点的功能映射到目标模块的基本单元。每条线表示一个配置。在新线上的虚线箭头指出一个重配置。Sn是每个希望的设计(寄存器,存储器等)的数据存储基本单元。SnI是接收数据的存储器,而SnO是输出数据的存储器。存储器Sn对同样的n是相同的;I和O识别数据传输的方向。
示出条件跳转的两种情况(情况1,情况2)
图4的模型对应于数据流模型,但是带有那里达到的重配置点和图形分割的重要的扩展。在各分割部分之间发送的数据被缓存。
在图5a的模型中,一个图Bn,从一系列任何个数的图B及这此图的组合(0501)被调用。B执行以后数据返回到0501。
如果在0501中应用足够大的定序器(A),十分相似于典型的处理器的原理能用此模型实现。在此情况,数据流向。
1.定序器A,它将其译解码成命令并按照“冯.诺依曼”原理对它作出响应;
2.定序器A,作为数据处理,并流向固定配置的算术单元C用于计算。
图形B可选择地做成可用的专门算术单元和/或对某些功能的专门操作码,另外可用于加速C。例如,B1能是一个完成矩阵乘法的优化算法,B2表示FIR滤波器,而B3是一个图案识别。按照由0501译码的操作三调用适当的,即对应的图B。
图5b图示了到单独基本单元的映射,管线型算术单元在0502中用符号标记。
虽然在图4的重配置点最好引入较大的存储器用于数据的暂时存储,数据的简单同步在图5的重配置点是足够了,这是因为数据流最好作为整体跑过图B,且图B不再进一步分割;因此,数据的暂时存储是过多的。
图6a示出不同的循环。循环基本上能以三种不同的方法处理。
1.硬件方法:循环映射到完全转出为目标硬件(0601a/b)。如前所解释,这仅对少量类型的循环是可能的;
2.数据流方法:循环在数据流中的多个基本单元上形成(0602a/b)。循环的终点回到循环的起点。
3.定序器方法:具有最小命令组的定序器执行此循环(0603a/b)。目标模块的基本单元被配置成使最它们包含对应的定序器(见图11a/b)。
有时候循环的执行能通过以适当的方式分解它们而优化:
1.使用有关技术的优化方法,循环体,即重复执行的部分强常能够通过从循环中去掉某些操作并将其放到循环的前面或后面而加以优化(0604a/b)。因此被排序的命令数目大大减少。被去掉的操作在循环执行的前面或后面只执行一次。
2.另外一个优化的选择方法是特循环分解成多个较小或较短的循环。分解是这样做的,使得得到多个并行的或顺序的(0605a/b)循环。
图7示出递归的实现。在对每个递归层(1-3)的基本单元的形式中使用同样的资源(0701)。每个递归层(1-3)的结果被写入建立起来(0711:)的堆栈型的存储器(0702)。堆栈随着层的卸除(tear-down)(0712:)也被撤除。
图14示出虚似机模型。数据(1401)和与此数据有关的状态(1402)被从外部存储器读入到VPU(1403)。通过由VPU产生的地址1404选择1401/1402。PAE组合起来形成VPU中的组(1405,1406,1407)。每个组具有一个数据处理部分(1408),它具有当地的隐含状态(1409),后者对周围的组不起作用。然而数据处理部分的状态不被送到组的外部。但是它可以取决于外部的状态。另外部分(1410)产生对周围的组起作用的状态。
结果的数据和状态存入另外的存储器(1411,1412)。同时,操作数的地址(14004[SIC])作为指针(1413)存入。为了时间同步1404能通过寄存器(1414)。
为清楚起,见图14示出一个简单的模型。互连及组合比它们在此模型中要复杂得多。状态和数据也能发送到下面提到的模块以外的模块。数据发送到与状态不同的模块。某个模块的数据和状态可以被多个不同的模块接收。1408,1409,1410可以出现在一个组中。根据算法各个部分也可以不出现(如1410和1409出现,但1410不出现)。
图15示出如何从一个处理图中提取子应用。图形被分解,使得长的图形分成合适的较小的部分,并映射到子应用中(H,A,C,K)。跳转以后形成新的子图形S(C,K),对每个跳转形成分别的子图形。
在ULIW模型中,每个子图由CT分别加载(见PACT10)。重要的是子图能由PACT10的机制管理。这些尤其包括子应用的智能配置,执行/起动,和删除。
1503引起在应用K执行的同时加载或配置子应用A。因此,
a)如果PAEs具有一个以上的配置寄存器,在子应用K被完全执行时A已经在PAEs中配置;
b)如果PAEs只有一个配置寄存器,在子应用K被完全执行时A已经加载到CT。
1504开始子应用K的执行。
这意味着在运行时间,在当前程序运行的同时下一个需要的程序部分被独立地加载。这就比通常的高速缓存机制产生有效得多的程序码的处理。
示出子应用A的别外特殊的特征。原则上比较结果的两个可能分支(C,K)可以想象地被预配置。仍设对此空余的可用的配置寄存器的数目不够,配置两个分支中最有可能的那个(1506)。这也节省了配置时间,当执行示配置的分支时,程序执行被中断(因为配置尚未加载到配置寄存器)直到该分支被配置。
原则上未配置的子应用也能执行(1505);在此情况,如前所述它们必须在执行以前加载。
FETCH命令能通过它自己的ID由一个触发起动。这就允许根据阵列的状态预加载子应用。
ULIW模型主要在下列方面与VLIW模型不同:
1.也包括数据的路径;
2.形成较大的指令字。
上述的分割方法也能根据RISC/CISC原理由编辑器对现有的标准化处理器使用。在那样的情况,如果按照PACT10的单元(CT)用于控制命令高速缓存器,它也能大为优化并加速。
为此目的,“正常”程序以适当的方式分割成子应用。按照PACT10,插入对可能的后续子应用的引用(1501,1502)。于是一个CT触需要子应用以前将它们预加载到高速缓冲器中。在跳转的情况,只有作出跳转的子应用被执行;其他的新的子应用在其后改写。除了智能预加载以外,该方法还有附加的优点,即子应用的大小在加载时已知。因此在访问存储器时由CT执行优化字符组,转而又大大加速了存储器的访问。
图16示出堆栈处理器的结构。为了写入存储器(1602)或从中读出,由PAE阵列(1601)产生协议。对写使用RDY/ACK协议,而对读使用REQ/ACK协议。由CT(1603)配置互连及操作模式。1602能将其内容传送到外部存储器(1604)。
在此实施例中一个PAEs阵列作为寄存器处理器操作(图17)。每个PAE由一个算术单元(1701)和一个累加器(1702)组成,1701的结果又循环回到该累加器(1703)。因此,在此实施例中,每个PAE表示一个累加器处理器。PAE(1705)读出数据并将其写入配置成标准存储器的RAM(1704)。另外的PAE(1706)产生寄存器地址。
常常建议对读数据使用分别的PAE。这样,1705只写而PAE1707只读。为了产生读地址增加另外的PAE(1708,以下面的虚线示出)
不是绝对需要使用分别的PAEs产生地址。寄存器常是隐含的并配置成常数,因而能由数据处理PAEs发送。
作为一个倒子示出使用累加器处理器作为寄存器处理器。也能使用没有累加器的PAEs来建立寄存器处理器。在图17中示出的架构能用于激活寄存器,用于激活加载/存储单元。
当用作加载/存储单元时,几乎总倾向于下方连接外部RAM(1709),使得1704只表示1709的临时部分,类似于一个高速缓存器。
当1704也用作为寄存器组时,在某些情况建议下方连接一个外部存储器。因此将寄存器的内容写到存储器或从中读出的按有关技术的PUSH/POP操作能够完成。
作为一个例子图18示出一个复杂的机器,其中PAE阵列(1801)控制一个带有一个下方RAM(1803)加载/存储单元,并也具有一个带有下方RAM(1805)的寄存器组。1802和1804能由一个PAE,每个PAE或PAEs的任何组合激活。该单元由一个CT(1806)按VPU的原理加以控制。
重要的是在加载/存储单元(1802)和寄存器组之间及它们的激活机制之间没有根本的差别。
图19,20,21示出按本发明的内部存储器,同时表示具有外部存储器和/或外围设备的通讯单元。各个图示出同一存储器的不同操作模式。配置了各操作模式及各个详细的设置。
图19a示出按本发明以“寄存器/高速缓存”模式的存储器。在按本发明的存储器(1901)中,存储通常较大和较慢的外部存储器(1902)的数据字。
在1901,1902和通过总线(1903)连接的PAEs(未示出)之间的数据交换如下述那样发生,在两种操作模式之间作出区分:
a)由PAEs从主存储器1902中的数据读出或发送的数据使用高速缓存技术被缓存在1901中。可以使用任何已各的高速缓存技术。
b)某些地址的数据通过加载/存储单元在1902和1901之间发送。某些地址在1902和1901中预先确定,通常对1902和1901使用不同的地址。各个地址由常数或通过PAEs中的计算产生。在此操作模式中存储器1901作为寄存器组操作。
在1901和1902之间的地址以任何希望的方式分配,它只取决于两种操作模式的对应算法。
在图19b中对应的机器作为一个方块图示出。作为加载/存储单元(1904)(按照有关技术)或作为高速缓存控制器(按照有关技术)的控制单元(1904)与1901和1902之间的总线相连结。若需要,一个带有地址翻译及地址校核的内存管理单元(MMU)能与此单元连结。1904和1905均能由PAEs激活。于是,例如对MMU编程,设置加载/存储地址,或触发高速缓存刷新。
图20示出存储器(2001)以FIFO模式的使用,其中数据流按照已知的FIFO原则被隔离。典型的应用是在写(2001a)或读(2001b)接口中,在此情况在连接到内部总线系统(2002)和外围总线(2003)的PAEs之间数据在时间上隔离。
提供一个将写和读的FIFO指针作为2003和2002的总线操作的函数来控制的单元(2004)来控制FIFO。
图21示出按照本发明以堆栈模式的存储器的操作原理。一个堆栈(按有关技术)是一个存储器,其最上/最下单元是在当前的一个活动单元。数据总是挂在顶部/底部,且数据似乎从顶部/底部取是,这就意味着最后写入的数据也是最先读出的数据(后进先出)。一个堆栈是向上延伸还是向下延伸是不相干的,这取决于实施方法。在下面的实施例中将讨论向上延伸的堆栈。
当前的数据保持在内部存储器2101中;最新的记录(2107)位于2101的最顶部。老的记录转移到外部存储器2102。如果堆栈不断增长,内部存储器2101的空间将不够。当达到一定量的数据时,2101的部分作为一个数据块写到2102中的堆栈的最新论(2103),达到一定量可以用一个(自由可选择的)2101的地址或一个记录计数器的(自由可选择的)值来表示。这部分是最老的因此是离当前最远数据(2104)。接着,在2101中的余下的数据被移位,使得在2101中考贝到2102中的数据被余下的数据(2105)改写,因此形成了足够的存储器(2106)用于新的堆栈输入。
如果堆栈减少,在某(自由可选择的)点开始在2101中的数据被移位,使得出最老和离当前最远的数据之后形成了空余的存储器。一个存储块从2102考贝到空余的存储器,且随后在2102中删除。
换言之,2101和2102表示单堆栈,当前的记录位于2101中,较早的和远离当前的记录被转移到2102中。此方法表示对堆栈的拟高速缓存方法。数据块最好用块操作发送;因此,2101和2102之间数据传输能以现代存储器(SDRAM,RAMBUS等)的快速二进制位组操作模式完成。
需要再次提到的是在图21的实弥例中堆栈是向延上延伸的。如果堆栈向下延伸(常常使用的方法),在存储器中数据移动的位置顶部/底部和方向正好相反。
内部堆栈2101最好设计成环形存储器类型。在环的一端的数据在PAEs和2101之间传输,在环的另一端数据在2101和2102之间传输。其优点在于数据能容易地在2101和2102之间转移而对在2101中的内部地址没有任何影响。只需高速底部和顶部数据的位置指针及充满状态计数器。在2101和2102之间的数据传输触由已知的环形存储器标志“几乎满”/“满”/“几乎空”/“空”触发。
所需的硬件在图21b中作为方块图示出。一个用于管理指针和计算器的单元(2110)与内部堆栈2101相连结。一个用于控制数据传输的单元(2111)环接到2101和2102之间的总线(2114)。一个按有关技术具有相关的测试系统和地址翻译的MMU(2112)能与此单地相连结。
PAEs和2101之间的连结由总线系统2113实现。
图22示出一个图的重新排序的例子。左手到(22..a)示出未经优化的命令排列。加载了指针A(2207a)和B(2211a)。在所有情况下一个循环以后需要这些指针值(2208a,2212a)。此依赖关系太短以致于不能有效地执行,因为需要一定的时间(2220a,2221a)从存储器加载。通过重新排序这些指令(22..b)时间周期增加到最大(2220b,2221b),虽然在2210和2208需要A的指针值,2208放在2210之后,因为以这样方式对于计算B赢得更多时间。例如,为了对存储器访问赢得更多的时间,与指针(2203,2204,2206)无关的计算可以插在2211和2212之间。一个编译器或汇编器能使用表示访问时间的系统参数实现对应的优化。
图23示出图4-7的特殊情况,算法常常由数据流部分和顺序部组成,甚至包含在循环中。那样的结构能够按上面叙述的方法使用在PACT07中描述的总线系统有效地构成。为此目的,总线系统的RDY/ACK协议开始由REQ/ACK协议按本发明扩燕尾服。各个PAEs的寄存器内容能由一个或多个其他的PAE或由CT专门地询问。现在,一个循环(2305)至少被分成两个图:第一个(2301)表示数据流部分,第二个(2302)表示顺序部分。
条件跳转选择两个图之一。专门的特征是现在2302需要知道2301对于执行的内部状态2301反之亦然,2301必须知道2302的状态。
这可借助将状态存入一次,即存入高性能数据流图(2301)的PAEs的寄存器中来实现。
如果在2302完成一次跳转,定序器在需要时使用PACT07的总线系统从(2303)读出对应寄存器的状态。定序器完成其操作并将所有经修改的状态写回(2304)到寄存器(再次通过PACT07的总线系统)。最终必须提到,上面提及的图不必然须要是窄的循环(2305)。该方法能常可应用到在程序运行时多次执行(重入的)的任何子算法,并或顺序运行或并行地运行(数据流类型);状态必须在顺序部分和并行部分之间转换。
波动重配置特别对简单的顺序部分提供关于配置速度方式的相当大的优点。
此处理方法的一个基本特征是定序器也能设计成一个外部微处理器。这就意味着一个处理器通过数据通道连结到阵到,并与阵列通过总线系统交换局部的,暂时的数据。不能映射到PAEs阵列的算法的所有顺序部分在该处理器上运行。
在三个总线系统之间必须作出区分:
1.管理在VPU和处理之间(处理的)数据交换的数据总线;
2.使能访问VPU寄存器因而保证在2302和2301之间数据交换(2302,2304)的寄存器总线;
3.配置那些配置VPU阵列的数据总线。
图24示出随时间变化的效果。
单阴影线的区域表示数据处理PAEs,2401示出重配置以后的PAEs,2403示出在重配置以前的PAEs。交叉阴影线的区域(2402)示出正在重配置或等待重配置的PAEs。
图24a示出在简单顺序算法上彼动重配置的效果。此外精确地重配置那些指定新任务的PAEs恰恰是可能的。因为一个PAE在每个周期接收一个新任务,这能有效地,即同时地完成。
作为一个例子示出从一个VPU的所有PAEs的矩阵来的一行PAEs。给出在周期以后的周期中的状态,带着一个周期的延迟。
图24b示出大的部分的重配置随时间变化的效果。作为例子示出一个VPU的一系列的PAEs。在周期t以后的周期中的状态以不同的多个周期的延迟给出。
虽然开始只有小部分的PAEs被重配置或等待重配置,这个区域随时间变得越来越大,直到所有的PAEs被重配置。区域的扩大意味着由于重配置的时间延迟,越来越多的PAEs将等待重配置(2402),导致计算能力的降低。
因而提供在CT(尤其是CT的存储器)和PAEs之间使用较宽的总线系统,它提供足够的线用于在一个周期内同时的重配置多个PAEs。
图25示出VPU技术的可扩大性。可扩大性基本上从一个没有时间顺序的图形分割成各个子应用的转出而得出。作为例子选择图4的算法。在图25a中各图顺序地转换到VPU,而B1和B2被加载。在图25b中,所有子图转换到一系列的VPU并通过总线系统互相连结。因此大量数据能有效地处理而没有重配置的负面影响。
图26示出用于加速PAEs(重)配置时间的线路。同时,该线路能用于处理顺序算法。PAEs的阵列(2605)被分割成多个部分(2603)。用于(重)配置的独立单元(2602)与每个部分相连结。接有关技术(见PACT10)CT(2601)处在比这些单元更高的层并转而连结到其他的CT或存储器(2604)。CT将该算法加载到配置单元(2602)。2602自动地将配置数据加载到与它们连结的PAEs。
图27示出配置单元的结构。该单元的核心是一个定序器(2701),它具有一系列命令。
最重要的命令是:
Wait(trg#)
等待从阵列接收某个独发,该触发指出将加载哪个配置。
Loolup(trg#)
返回由接收到的触发调用的子程序的地址。
Jmp(adr)
跳转到该地址
call(adr)
跳转到该地址。返回跳转的地址存入堆栈。
Jmp(cond)(adr)
条件跳转到该地址
call(cond)(adr)
条件跳转到该地址。返回跳转的地址存入堆栈。
ret
返回跳转到存在堆栈中的返回跳转地址。
mov(target)(soeurce)
将数据字从源传送到目标,源和目标每个都可以是外围设备地址或在存储器中。
命令基本上从PACT10,即CT的描述中得知,基本的差别是在2602的实现中,只有非常简单的命令用于数据管理,使用不完整的微控制器。
命令组的一个重要扩展是用于配置PAEs的“pabm”命令,可以用两个命令(pabmr,pabmm),它们具有下列结构:
a)
pabmr | regno | count |
pa_adr0 | pa_dta0 | |
pa_adr1 | pa_dta1 | |
… | … | |
pa_adrcount | pa_dtacount |
b)
pabmr | 0 | count |
偏移 | ||
pa_adr0 | pa_dta0 | |
pa_adr1 | pa_dta1 | |
… | … | |
pa_adrcount | pa_dtacount |
b)
pabmr | regno | count |
memref |
pabmm | 0 | count |
偏移 | ||
memref |
这些命令将PAE地址和PAE数据的有关数据块从存储器拷贝到PAE阵列。数据块或者直接附在操作码之后,或者通过指定第一存储器地址(memref)引用(b)。
每个pa_adrn-pa_dtan行表示对一个PAE的配置。Pa_adrn指定地址而pa_dtan指定PAE的配置字。
从PACT10知道RDY/ACK-REJ协议。如果配置数据被一个PAE接收到,该PAE用一个ACK认可该发送的数据。但是,如果一个PAE因为不在可重配置的状态不能接收配置数据,它返回一个REJ。于是该子算法的配置失败。
用REJ排斥的pa_adnn-pa_dtan行的位置被储存。在较后时间该命再次调用(见PACT10,FILMO)。如果命令执完成,即未发生REJ,该命令不再完成另外的配置而立即结束。如果发生REJ,命令直接跳转到被排斥的pa_adnn-pa_dtan行的位置。根据该命令,以不同的方法存储该位置:
pabmr:地址存入名为<regno>的寄存器中;
padmm:地址直接存入命令中存储器位置<offset>处。
命令可以借助DMA结构作为按有关技术的存储器/IO传输来实现。DMAs借助一个用于监视进入的ACK/REJ的逻辑而加以扩展。起始地址由<regno>或<offset>确定。数据块的最后地址通过命令地址加其操作码长度减1加pa_adnn_pa_dtan行的数目计算得到。
由上面提到的命令扩展在PACT10中描述的线路也是有用的。
图27击出2602单元的结构。该单元具有寄存器组2701,一个简单的ALU与其连结用于堆栈操作(2702)。该结构包括地址寄存器和堆栈指针。可选地可以使用高性能ALU。一个具有最小带宽的总线系统(2703)连结寄存器和ALU。带宽是使得实际上能表示简单的控制流命令或简单的ALU操作。也支持上述的PABM命令和按照PACT10的命令。寄存器和ALU由定序器2706控制,后者通过它的命令执行表示一个完整的微控制器。
一个接收并认可从有关PAEs来的触发并将触发在适当时发送到PAEs的单元2704被连接到2703。进入的触发在定序器2706中引起一个中断,或由WAIT命令询问。可选地,一个到有关PAEs的数据总线的接口(2705)连结到2703以便能将数据发送到PAEs。例如,一个在PAEs中实现的定序器的汇编程序码通过2705发送。该接口在需要时包含一个转换器,用于调整不同的总线宽度。2701到2706的单元通过多路复用器/信号分离器(2707)连接到多信带宽并进到存储器(2709)的总线系统(2708)。2707由地址/堆栈寄存器的低位地址激活;高位地址直接导向RAM(2711)。总线系统2708导向接口(2709),后者由PA命令控制并导向PAEs的配置总线。2708设计成其带宽足以能通过2709在每周期单元发送尽可能多的配置。一个附加的接口(2710)将该总线连结到高层CT,后者用2602交换配置数据和控制数据。接口2710和2709已经在PACT10,PACT??中反复地描述。
重要的是2706具有一个减缩的最小的命令集,它对任务,主要对PA命令,跳转,中断和查的命令是优化的。此外,通过2707转换到窄带总线系统的优化的宽带总线系统2708,对单元的重配置速度具有特殊的重要性。
图27a是图27的特殊方案。接口2705用于将汇编程度码发送到在PAE阵列中配置的定序器。定序器的处理能力主要取决于接口2705的速度及它的存储器访问速度。在图27a中2705用具有直接存储器访问(2720n)的DMA功能替代。2720n完成它自己的存储器访问并具有它自己的带有适当总线带宽调节(2721n)的总线系统(2722n);总线对于加载宽的命令序列(ULIW)能相对地宽,使得在限定的情况完全可完不需要2721n。为了时一步提高速度,存储器已在特理上分成2711a和2711b,穿过2711a和2711b的地址空间仍为线性,但是2701,2701和2706能独立地并同时地访问两个存储器块;2720n能只访问2711bn。2720n,2721n,和2711b能作为多个单元(n)实现,使能够同时和理多于1个的定序器。为此目的,2711bn能再次划分成多个物理上独立的存储区域。在图28中描述了对2720n实现的例子。
图28示出了复杂程序的结构。程序的基本模块是复杂的配置(2801),包括一个和多个PAEs的配置及对应的总线和触发的配置。2801由一个可以具有附加参数(2803)的操作码(2802)表示。这些参数可以具有常数数据值,可变的起始值或甚至特殊的配置。根据其功能有一个参数,多个参数,或没有参数。
多个操作码使用共同的复杂配置组形成一个操作码组(2805)。一个组的不同操作码由该复杂配置的特殊方案而互相不同。为此目的使用鉴别(differentiaion)单元,它或者包含附加的配置字或者改写发生在2801的配置字。
如果不需要鉴别单元,复杂的配置直接由操作码(2806)调用。程序(2804)由一串具有对应参数的操作码组成。
复杂的功能可以一次加载到阵列中,然后由不同的参数或鉴别再次重配置。只有配置的可变部分重配置。不同的操作码组使用不同的复杂配置(2805a,...2805n)。
不同的层(复杂配置,鉴别,操作码,程序)在不同的CT层(见PACT10中的CT层次结构)中运行。不同的层示于2810中,1代表最低层N代表最高层。可以构造具有任意深度的层次结构的CTs(见PACT10)。
在2801中作出两类程序码之间的区别:
1.将一个算法映射到PAEs阵列的配置字。算法能设计成定序器。配置通过接口2709发生。配置字由硬件确定。
2.算法专用程序码,它取决于一个排序顺或一个算法的可能的配置。这些程序码由程序员或编译器确定并用于激活一个算法。例如,如果配置280作为在PAEs中的定序器,这些程序码表示280微处理器的操作码。算法专用的程序码通过2708被发送到PAEs的阵列。
图29示出PAE可能的基本结构。2901和2902分别表示数据的输入和输出寄存器。连结到阵列的数据总线(2920,2921)的完全的互连逻辑与这些寄存器相连结(见PACT02)。按PACT08的触发线由2903从触发总线(292)引出并通过2904连结到触发总线(2923)。任何希望的配置的ALU连结在2901和2902之间。存储局部数据的寄存器组(2915)与数据总线(2906,2907)相连并与ALU相连。数据总线和触发总线的RDY/ACK同步信号被提供(2908)给一个状态机(或一个定序器)(2910)或由单元(2909)产生。
CT可选地使用系统(2912),通过接口单元(2911)访问多个配置寄存器(2913)。2910通过多路复回器(2914)选择某个配置或通过多个随后表示对定序器的命令的配置字排序。
因为VPU技术主要以管线方式操作,额外地为2901和2903组或2902和2904组或两个组提供FIFOs机制是有利的。这能防止管线被简单的延迟(如在同步方面)所堵塞。
2920是可选的总线访问,通过它CT的存储器中的一个(见图27,2720)或一个传统的内部存储器能连结到的定序器2910而不连到配置寄存器。这就允许大的顺序程序能在一个PAE中执行。切换多路复用器2914使得它只连结到内部存储器。
地址是
a)对CT存储器由图38的线路产生;
b)对内部存储器直接由2910产生;
图30示出为了允许CT或其他连结的微处理器访问该数据存储器PAE可能的扩展。由附加的数据总线(3001)扩展地址空间和总线单元的接口(以前是2911,现在是3003)。一个通过它3003能将数据经总线3001写入寄存器的多路复用器(3002)被连接到每个寄存器的上方。寄存器的输出经3001循环回到3003。3003发送数据到CT2912。作为另一种选择方案(3003a),数据能经过附加的接口(3004)发送到与CT无关的总线(3005),以便将该数据发送到CT。
图31示出PAEs的阵列(3101)到高级微控制器的连结。按本发明3101(包括)按存储器方工的所有IO通道。此架构如图23中那样操作。图31a中的2912按照图30为配置数据和寄存数据提供总线。数据总线分别地由3104示出。3102表示CT,它在图31中也表示微处理器。
对所有的总线系统,有下列到处理器的连结模式,它们可根据编程模型及收支价格及性能未选择。
1.寄存器模型
在寄存器模型中对应的总线通过寄存器选址,后者直接集成到处理器的寄存器组中并由汇编器作为一个寄存器或一个寄存器组选址。当少量寄存器对数据交换足够时,该模型是最有效的。
2.IO模型
对应的总线位于处理器的IO区域。这通常是最简单及最节省成本的方案。
3.共享存储器模型
处理器和对应的总线共享在数据存储器存储设计中的一个存储器区域。这对大的数据量是有效的方案。
4.共享存储器-DMA模型
如在以前的模型那样,处理器和总线共享同一个存储器。有快速DMA进一步加速(见图38),它承担总线和存储器之间的数据交换。
为增加发送速度,对应的存储器应在物理上与其他存储器(多个存储器组)分开,使得处理器和VPU能独立地访问他们的存储器。
在图31b中,CT(3102)完成阵列的配置,而一个专用的处理器(3103)借助经过3006与阵列交换数据经过3104交换传统的数据,通过3006保证按照图23的编程模型。
图31c/d对应于图31a/b,但选择共享存储器(3105)用于在对应的处理器和3101之间交换数据。
图32示出一个线路,它使得按本发明的存储器单元联合访问一个或一组存储器;该组的每个单独的存储器能够单独地唯一地选址。为此目的,单独的存储器单元(3201)连结到一个总线系统,其中每个3201具有它自己的总线。总线可以是双向的或用两股单方向的总线实现。对每个存储器有一个地址/数据多路复用器,它将总线连结到存储器。为此目的,每个总线的邻近地址被译码(3207),然后由仲裁器(3208)在每个时间单位选择(3204)一个总线。对应的数据和地址传输到相应的存储器总线(3205a),由一个状态机(3206)产生所需的协议。如果根据读请求从存储器接受到数据,对应的状态机将存储器地址送到请求数据的总线。所有进入的总线的地址由多路复用单元对总线系统(3202)中的每个总线计算,并传输的对应的总线。计算是对应于输出数据的计算而发生,即对每个输个总线(3205b)的译码器(3209)传导一个信号给一个仲裁器(3210),由它激活数据多路复用器。因此,不同的输入总线在每个时间单位连结到总线系统(3202)。
在图33中,用自由可编程的状态机/定序器(3301)替代固定的状态机/定序器2910,用于更简单更灵活地计算触发和RDY/ACK信号。3301的全部功能在由CT执行算法以前由配置寄存器(2913)确定。3301的加载由CT接口(3302)控制,后者相对于2911由3301的管理而被扩展。3301的优点在于它允许以比固定实现的2910灵活得多的方式处理不同的触发和RDY/ACK信号。其缺点是3301的尺寸。
在极大灵活性和合理的尺寸之间的折衷是由一个按3301设计的单元计算触发和RDY/ACK信号并在PAE中由按2910设计的固定实现的单元控制所有固定的过程。
在图34中示出按本发明用于处理逻辑功能的PAE。该单元的核心是在下面描述用于选通各个信号的单元(3401)。总线信号经过已知的寄存器2901,2902,2903,2904连结到3401。为此目的寄存器借助装入模式扩展,它可选地交换总线和3401之间的各个信号而不在同一周期存储它们(寄存器)。多路复用器(3402)和配置寄存器(3403)调整到3401的不同配置。CT的接口(3404)也相应地配置。
图35示出3401的可能实施例。全局数据总线将逻辑基本单元3501和3502连接到寄存器2901,2902,2903,2904。3504经过总线切换连接到那些逻辑基本单元,它们可以设计成多路复用器,门,发送门,或简单的晶体管。逻辑基本单元可以设计成完全等同或可以具有不同的功能(3501,3502)。3503表示一个RAM。
逻辑基本单元的可能设计包括:
查代表
逻辑
多路复用器
寄存器
功能和互连的选择或者能通过SRAM灵活编程,或者使用只读ROMs或半静态闪态ROMs。
为了加速不同于并行化的顺序算法,推测的设计是带传统处理器的有关技术。图36中示出VPUs的并行方案。操作数(3601)在同一时间传到子算法的多个可能的路径(3602a,3602b,3602c)。子算法可以有不同的存储区域及执行时间的要求。根据子算法,数据按本发明在重配置后被下一个子算法处理(3603)以前被存储(3612a,3612b,3612c)。各个子算法的重配置的次数也互相无关,子算法本身(3603,3614)的数目也如此。一旦确定了哪个路径被选中,该路径经过一个总线或一个多路复用器被结合。由条件产生OS触发信号(见PACT08)(3606)确定选中哪个路径并进入下一个算法。
图37示出高级语言编译器的设计,它将普通的顺序高级语言(C,pascal,Jave)翻译到VPU系统。从并行的程序码(3708)分割顺序的程序码(3711),而3708直接在PAEs阵列中处理。
对3711有三种设计选择:
1.在PAE(2910)的一个定序器中。
2.通过在VPU中配置以定序器。为了这样做,编译器直接产生一个为该任务优化的定序器,以及算法专用的定序器程序码(见2801)。
3.在传统的外部处理器(3103)上。
所选的选项取决于VPU的,计算机系统的以及算法的架构。
程序码(3701)开始在预处理器中(3702)被分割成数据流程序码(3716)(以有关编程语言的专门版本书写并为数据流优化的),和通常的顺序程序码(3717)。3717针对可并行化子算法(3703)进行校核,且消除顺序的子算法(3718)。可并行化子算法暂时地作为宏命令被置并指定路径。
在一个迭代过程中,该宏命令与以数据流优化程序码(3713)一起被置,指定路径及分割(3705)。一个统计单元(3706)计算各个宏命令以及在考虑到效率、考虑到时间和考虑到用于影响到效率计算的重配置的起源的基础上计算它们的分割。无效的宏命令被除去并作为顺序程序码(3714)被分割。
余下的并行程序码(3715)与3716一起被编译和汇编(3707),并输出VPU目标程序码(3708)。
涉及所产生的程序码及各个宏命令(包括用3714)去除的那些)的效率的统计被输出(3709);因此程序码员接收有关程序的速度优化的重要信息。
余下的顺序程序码的每个命令被校验其复杂性和需要(3720)。从数据库中选择合适的排序顺,这取决于VPU架构及计算机系统(3719),并作为VPU程序码(3721)输出。编译器(3721)产生并输出(3711)对由3720选择的定序器的对应宏命令的汇编程序码。3710和3720紧密地连结。此过程能以迭代方式地发生以便找到带有最少和最快的汇编程序码的最合适的定序器。
一个连接程序(3722)结合了这些汇编程序码(3708,3711,3721),并产生可执行的目标程序码(3723)。
图38示出2720的内部结构。线路的核心是一个可加载的向上/向下计数器(3801),它从经适当设置的多路复用器3802的图27的线路的总线3803(对应于2703)得到其初始值。该计数器用作对有关定序器的程序计数器(PC);起始值是要执行程序的第一个地址。3801的值经过加法器(3805)和3802循环回到该计数器。一个从PC减去或加到PC的偏移量经总线3804由定序器送到3805。因此能够有效地实现相对跳转。PC通过总线3811提供给PAE阵列并对调用(call)操作能存在堆栈中。对返回(ret)操作将PC经过3804和3802从堆栈送到3801。
由PAE阵列提供的PC或堆栈指针(3807)经多路复用器3806提供给加法器(3808)。这里存入寄存器3809并经过3803写的偏移量从该值减去或加到该值上。3808允许该程序被移入存储器2711。这就使得垃圾收集器(garbage collector)功能能够清除存储器(见PACT10)。通过调节在3809中的偏移量来补偿由于垃圾收集器而发生的地址移位。
图38a是图38的一个变化,其中也结合了堆栈指针(3820)。对于相对跳转(3804a)只有偏移量经过3804被提供给3805。堆栈指针是类似于3801的向上/向下计数器,其起始值表示堆栈的开始并经过3803加载。在发生调用(call)操作时PC直接被送到对存储器的数据总线以便经过多路复用器写到堆栈上。存储器的数据总线经3821和3802循环回到3801以完成返回(ret)操作。
图39示出存储器的操作模式。存储器(3901)通过多路复回器(3902)寻址。在标准模工,查找模式,和寄存器模式中,地址从阵列(3903)直接提供到3901。在堆栈模式和FIFO模式中,地址在一个向上/向下计数器(3904)中产生。在此情况,地址通过另外的向上/向下计数器(3905)提供到IO处。对外部RAM(或IO)的地址由又一个向上/向下计数器(3906)产生;从寄存器(3907)加载基地址。该寄存器由CT或一个外部的主处理器设置。一个状态机(3908)接管整个控制。3908在向上/向下计数器内读出存储器产状态(满,空,半满,等)计数器计算在存储器中的字的数目。如果存储器逐块地修改(将堆栈写到外部堆栈或从外部堆栈读入),则块的大小作常数提供给加法器/减法器,3909的计数循环回到那里。结果被加载到3909。
因上计数能迅速地调整到逐块改变(当然,也可能用每次以快操作写或读字来修改计算器)。对高速缓存操作,可用一个按有关技术的高速缓存控制器(3911),它与一个标识符(tag)存储器(3912)相关。根据操作模式,作为地址经过多路复用器(3913)送出3911或3906的值(3914)。数据经过总线3915送出,且数据经过总线3916与阵列交换。
为说明子算法的程序例子
一个模块能以下面方式说明,例如:
module example1 <dp n="d35"/> input(var1,var2:ty1;var3:ty2) output(res1,res2:ty3) begin … register<regname1>(res1) register<regname2>(res2) terminate@(res1 & res2;1) end
module标识模块的开始。
Input/output定义tyn类型的输入/输出变量。
begin...end标识模块体。
trgister<regname1/2>将结果传输到输出,结果暂时存储在以<regname1/2>指定的寄存器中,<regname1/2>是对某个寄存器的全局引用。
例如可用下列存储器类型作为到输出的附加传输模式。
fifo<fifoname>,其中数据发送到以FIFO原理操作的存储器。<fifoname>是对以FIFO原理操作的特定存储器的全局引用。terminated@由参数“fifo full”扩展,该参数是表示存储器已满的信号。Stack<stackname>,其中将数据发送到以堆栈原理操作的存储器,<stackname>是对以堆栈模式操作的特定存储器的全局引用。
terminate@区分按本发明方法的编程与传统的顺序编程。该命令确定模块的退出准则。结果变量rest1和rest2不由terminate@对它们的实际值计算而只校验这些变量(即它们的状态信号)的有效性。为此目的,两个信号res1和res2通过AND,OR或XOR操作互相逻辑上选通。如果两个变量有效,模块带着值1结束。这意味着具有值上的信号进入到高层加载单元,随后高层的载单元加载下一个模块。
module example2 input(var1,var2:ty3;var3:ty2). output(res1:ty4) begin register<regname1>(var1,var2) <dp n="d36"/> … fifo<fifoname1>(res1,256) terminate@(fifofull(<fifoname1>);1) end
在此例子中通过输入定义register。这里<regname1>与例1中相同,这就使得在例1中接收输出数据的寄存器对例2提供输入数据。
fifo对输出数据res1确定了深度为256的FIFO存储器。FIFO存储器的满标志(fifo full)用作为在terminate@中的退出准则。
module main input(in1,in2:ty1;in3:ty2) output(out1:ty4) begin define<regname1>:register(234) define<regname2>:register(26) define<fifoname1>:fifo(256,4)∥FIFO depth 256 … (var12,var72)=call example1(in1,in2,in3) … (out1)=call exmaple2(varl2,var72,var243) … signal(out1) terminate@(example2) end
define定义了对数据(寄存器,存储器,等)的接口。用此定义规定了所需的资源和接口的名字。因为每个资源只可用一次,它们必须明确地指定。因此定义是全局的,即名字对整个程序有效。
Call调用一个模块作为子程序。
Signal定义一个信号为输出信号,不使用缓冲器。
一旦子程序example2结束,模块主体由terminate@(example2)命令终止。
原则上,,由于全局说明“define...”,那样定义的输入/输出信号不需要包括在该模块的接口说明中。
Claims (181)
1.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,提取程序的数据流图及控制流图。
2.如权利要求1所述的方法,其特征在于,将所述图分解成多个子图,使得在各所述子图之间得到尽可能少的连结。
3.如权利要求1所述的方法,其特征在于,将所述图分解成多个子图,使得在各所述子图之间传送尽可能少的数据。
4.如权利要求1所述的方法,其特征在于,将所述图表被分解成多个子图表,使得尽可能在各所述子图之间不存在返回循环(loop-back)。
5.如权利要求1所述的方法,其特征在于,将所述图分解成多个子图,使得所述子图被调整到尽可能准确的模块资源。
6.如权利要求1所述的方法,其特征在于,在各子图之间插入存储器单元,用于保存数据和状态。
7.如权利要求1所述的方法,其特征在于,在子图的各节点之间发送状态信号,使得每个单独节点的状态可用于每个其他节点。
8.如权利要求1和7所述的方法,其特征在于,向控制基本单元的配置的高层单元发送一系列状态信号,以便触发重配置。
9.如权利要求1和7的方法,其特征在于,向控制基本单元的配置的高层单元发送一系列的状态信号,以便将一个状态发送到不加载到该基本单元结构的子图。
10.如权利要求1所述的方法,其特征在于,在多个模块之间分配所述子图。
11.如权利要求1所述的方法,其特征在于,一条指令(IF,CASE)的多个路径中根据指令的计算总有一条路径被执行,这些路径被分解,使得每条路径产生一个子图。
12.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,指示信号是否有效(RDY)的状态与每个数据信号有关。
13.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,指示信号是否有效(RDY)的状态与每个状态信号有关。
14.如权利要求12和13所述的方法,其特征在于,有效信号的接收器确认接收(ACK)。
15.如权利要求12和13所述的方法,其特征在于,所述接收器指出,它要求一个信号(REQ)。
16.如权利要求15所述的方法,其特征在于,所述发送器指出它在发送所要求的信号。
17.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,所述基本单元结构的第一部分计算一个子图,并逐步地终止其计算;一旦一个或多个基本单元终止了所述计算,它们被重配置而成所述基本单元结构的第二部分,使得第三部分与经重配置的基本单元同时〔计算〕新的子图(波动重配置)。
18.如权利要求17所述的方法,基特征在于,基本单元的多个配置寄存器同时存储不同子图的不同配置。
19.如权利要求17和18所述的方法,其特征在于,在多个配置中一个配置是活动的。
20.如权利要求17和18所述的方法,其特征在于,特别标出未经配置的配置寄存器。
21.如权利要求17所述的方法,其特征在于,对应的配置是由基本单元结构产生的状态信号选择的。
22.如权利要求17所述的方法,其特征在于,对应的配置是由高层加载单元产生的状态信号选择的。
23.如权利要求17所述的方法,其特征在于,对应的配置是由外部产生的状态信号选择的。
24.如权利要求17以及21至23所述的方法,其特征在于,每个基本单元按照其配置单独地计算状态信号,并激活对应的配置。
25.如权利要求17和20到24所述的方法,其特征在于,当未经配置的配置寄存器被激活时,则从高层加载单元请求配置,并在该配置被完全加载以前,子图的执行被挂起。
26.如权利要求17所述的方法,其特征在于,配置的加载由所述基本单元结构产生的状态信号触发。
27.如权利要求17所述的方法,其特征在于,由高层加载单元来触发配置的加载。
28.如权利要求17所述的方法,其特征在于,由外部产生的状态信号触发配置的加载。
29.如权利要求17和26到28的方法,其特征在于,每个基本单元根据其配置单独计算状态信号并导致加载对应的配置。
30.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,选址该配置寄存器并执行存储在该配置寄存器中的程序的定序器被集成在该基本单元之中。
31.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,选址与该基本单元结构有关的存储器并执行存储在该存储器中的程序的定序器被集成在该基本单元之中。
32.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,根据要执行的程序配置的定序器是通过将多个基本单元互连起来而形成的。
33.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,一个外部处理器耦合到该模块,以便执行顺序子图。
34.如权利要求33所述的方法,其特征在于,高层加载单元也被用作处理器,用于执行顺序子图。
35.如权利要求30到34所述的方法,其特征在于,所述定序器访问多个基本单元的数据寄存器。
35.(原文如此)如权利要求30至34所述的方法,其特征在于,余下的子图按照它们对应的设计被配置成定序器。
36.如权利要求30到35所述的方法,其特征在于,余下的子图按照它们对应的设计被重配置成定序器。
37.如权利要求30到34所述的方法,其特征在于,与CISC模型对应的标准算术单元被配置成定序器。
38.如权利要求30到34及37所述的方法,其特征在于,由编译器产生激活所述标准算术单元的适当命令,并将多个所述子图映射到一个标准的算术单元。
39.如权利要求30到34及37到38所述的方法,其特征在于,由编译器产生用于标准算术单元的外部连结的适当的命令,且将多个子图映射到一个标准的算术单元。
40.如权利要求30到34和37到38所述的方法,其特征在于,由编译器产生用于标准算术单元的内部连结的适当的命令,且将所述多个子图映射到一个标准的算术单元。
41.如权利要求30到34和37到40所述的方法,其特征在于,所述命令由程序计数器确定而被周期性地加载。
42.如权利要求30到34所述的方法,其特征在于,所述定序器管理其对一个堆栈的操作数,并代表一个堆栈处理器。
43.如权利要求30到34所述的方法,其特征在于,所述定序器管理其在累加器中的操作数,并代表一个累加器处理器。
44.如权利要求30到34所述的方法,其特征在于,所述定序器管理其在寄存器组中的操作数,并代表一个寄存器处理器。
45.如权利要求30到34所述的方法,其特征在于,所述定序器管理其在存储器中的操作数,并代表一个加载/存储处理器。
46.如权利要求30到34和42到45所述的方法,其特征在于,所述定序器同时实现适合于执行该程序的不同过程。
47.如权利要求30到34和42到46所述的方法,其特征在于,多个不同设计的定序器在该基本单元结构中同时被配置。
48.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,在程序中出现的指针重新分类,使得它们具有最大可能的时间独立性,即,使尽可能多的不依赖一个指针的命令位于两个指针之间。
49.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,在程序中出现的指针被重新分类,使得由指针引用的数据在以后尽可能从该指针的计算中被用在下游中。
50.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,在发生跳转和比较时,所有可能的子图在该基本单元结构中被同时配置和计算,直到知道由跳转或比较选中哪一个子图为止。
51.如权利要求50所述的方法,其特征在于,忽略所有未选中的子图的数据和状态,且只有被选中的子图的数据和状态被进一步处理。
52.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,一个或多个存储器与该基本单元结构相关联。
53.如权利要求52所述的方法,其特征在于,该存储器象所希望那样自由地进行选址(随机访问)。
54.如权利要求52所述的方法,其特征在于,所述存储器用作查找表。
55.如权利要求52所述的方法,其特征在于,所述存储器用作FIFO存储器,用于隔离数据流。
56.如权利要求52所述的方法,其特征在于,该存储器用作定序器的堆栈。
57.如权利要求52所述的方法,其特征在于,该存储器用作定序器的寄存器组。
58.如权利要求52到54和56到57的方法,其特征在于,该存储器代表外部存储器的一部分。
59.如权利要求52到53所述的方法,其特征在于,该存储器作为对外部存储器的一个高速缓存而运作。
60.如权利要求52所述的方法,其特征在于,该存储器由一个来自该基本单元结构的信号而写入该外部存储器。
61.如权利要求52所述的方法,其特征在于,该存储器由一个来自高层加载单元的信号而写入该外部存储器。
62.如权利要求52所述的方法,其特征在于,该存储器由一个来自该基本单元结构的信号而从外部存储器读取。
63.如权利要求52所述的方法,其特征在于,该存储器由一个来自高层加载单元的信号从外部存储器读取。
64.如权利要求52和60到63所述的方法,其特征在于,基地址在外部存储器中与该基本单元结构无关而被设置。
65.如权利要求52和60到63所述的方法,其特征在于,基地址在外部存储器中与该高层加载单元无关而被设置。
66.如权利要求52和60到63所述的方法,其特征在于,基地址在外部存储器中与外部单元无关而被设置。
66、(原文如此)如权利要求52,57和60到66所述的方法,其特征在于,从一个子图到另一个子图的切换(用PUSH/POP上下切换)由该寄存器组写入外部存储器或从中读出来执行。
67.如权利要求52和56所述的方法,其特征在于,该栈大于那个存储器,因而堆栈的一些部分被传送到外部存储器。
68.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,该高层加载单元具有一个层次结构。
69.如权利要求68所述的方法,其特征在于,该配置程序的不同部分在每个层次结构的层上存储和/或运行。
70.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,该高层加载单元具有一些宽存储器,用于快速传送配置数据。
71.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,用于高层加载单元定序器的存储器宽度通过多路复用器而减少。
72.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,高层加载单元具有用于逐块传送配置数据的命令。
73.如权利要求72所述的方法,其特征在于,逐块传输配置数据的命令按DMA原理实现。
74.如权利要求72所述的方法,其特征在于,用于配置数据的存储器独立于其他存储器并与其同时被访问。
75.如权利要求72所述的方法,其特征在于,存在多个单元用于逐块传输配置数据。
76.如权利要求72和75所述的方法,其特征在于,对用于各个单元的配置数据的存储器的独立访问是同时发生的。
77.如权利要求72所述的方法,其特征在于,当配置一个不可配置的基本单元时,该命令退出。
78.如权利要求72和77所述的方法,其特征在于,该命令存储该不可配置的基本单元的配置数据的地址。
79.如权利要求72和77到78所述的方法,其特征在于,在未配置的基本单元的配置数据的位置处发生新执行时该命令继续操作。
80.如权利要求72和77到79所述的方法,其特征在于,仅在一个基本单元不能被配置时该命令再次被执行。
81.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,该高层加载单元在配置调用以前将这些配置加载到它们的内部存储器内。
82.如权利要求81所述的方法,其特征在于,加载是通过一条命令来执行的。
83.如权利要求81所述的方法,其特征在于,加载是通过一个状态信号执行的。
84.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,配置互相结合形成编组。
85.如权利要求84所述的方法,其特征在于,一个编组在调用时可变地定制。
86.如权利要求84到85所述的方法,其特征在于,这些组和它们的定制结果被存入较低层次的高层加载单元上。
87.如权利要求84到86所述的方法,其特征在于,这些编组的调用被存在较高层次的高层加载单元上。
88.如权利要求84到87所述的方法,其特征在于,程序由多个那样的调用组成。
89.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,定序器的配置和命令序列存入高层加载单元。
90.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,定序器的命令序列包含在内部和/或外部存储器中。
91.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,定序器的内部状态和数据处理的状态之间作出区别。
92.如权利要求91所述的方法,其特征在于,数据处理的状态伴随基本单元结构中的数据。
93.如权利要求91到92所述的方法,其特征在于,数据处理的状态与数据一起被保存起来。
94.如权利要求91到93所述的方法,其特征在于,数据处理的状态与每个存储的数据字一起保存起来。
95.如权利要求91到93所述的方法,其特征在于,数据处理的状态与在重配置前最后存储的数据字一起保存起来。
96.一种对具有一维或多维的基本单元结构的模块进行编程的方法,其特征在于,最后处理的操作数的地址在重配置之前被保存起来。
97.如权利要求96所述的方法,其特征在于,最后操作数据处理状态在重配置之前被保存起来。
98.如权利要求91所述的方法,其特征在于,定序器的内部状态是不保存的。
99.一种对具有一维或多维的基本单元结构的模块程序进行编译的方法,其特征在于,在四类程序码之间作出区分:
a)并行程序码
b)能有效地并行化的程序码
c)不能有效地并行化的程序码
d)顺序程序码。
100.如权利要求99所述的方法,其特征在于,从中取出并行的程序码。(原文如此)
101.如权利要求99到100所述的方法,其特征在于,提取的程序码被放置并指定路径。
102.如权利要求99到101所述的方法,其特征在于,通过放置与指定路径迭代地完成分割。
103.如权利要求99所述的方法,其特征在于,提取可并行化的程序码。
104.如权利要求99和103所述的方法,其特征在于,提取的程序码被放置并指定路径。
105.如权利要求99和103到104所述的方法,其特征在于,通过放置和指定路径迭代地完成分割。
106.如权利要求99和103到105所述的方法,其特征在于,相对应有效性分析每个程序码,且分离不能有效工作的程序码。
107.如权利要求99和103到106所述的方法,其特征在于,对哪些程序码是有效的而哪些程序码是无效的作出统计,并向程序员提供适当的指令,用于进行更有效地编程。
108.如权利要求99和106所述的方法,其特征在于,分析顺序的和被分离的程序码,并对每个单独的程序码选择适当的定序器。
a)在数据库内预确定的一系列可能的定序器;
b)可能具有的单个定序器(处理器)
109.如权利要求108所述的方法,其特征在于,翻译对有关选定的定序器的程序码。
110.如权利要求108和109所述的方法,其特征在于,定序器的选择和翻译是迭代发生的,因为每次翻译关于其有效性进行分析,并选择其翻译的程序码是最有效的定序器。
111.如权利要求99到111所述的方法,其特征在于,该翻译的程序码和分割的程序码由连接程序组合且插入需要的通信结构。
112.如权利要求111所述的方法,其特征在于,该连接程序插入所需的存储器。
113.如权利要求111和112所述的方法,其特征在于,该连接程序插入用于保存该基本单元结构的内部状态的结构。
114.一种对具有一维或多维的基本单元结构的模块进行操作的方法,其特征在于,一个或多个存储器直接连接到该基本单元结构。
115.如权利要求114所述的方法,其特征在于,该存储器是使用逐字寻址来进行访问的。
116.如权利要求114所述的方法,其特征在于,该存储器工作时如同是一个查找表。
117.如权利要求114所述的方法,其特征在于,该存储器工作时如同是一个定序器的堆栈。
118.如权利要求114所述的方法,其特征在于,该存储器工作时如同是一个定序器的寄存器组。
119.如权利要求114到118所述的方法,其特征在于,外围设备或外部存储器的接口与该存储器相连接或集成在该存储器内。
120.如权利要求114到119所述的方法,其特征在于,该存储器按照FIFO原理工作,因此它将在该基本单元结构中的数据流与外部数据流隔离。
121.如权利要求114和119所述的方法,其特征在于,该存储器工作时如同是一个在基本单元结构和外部存储器之间的高速缓存。
122.如权利要求114和121所述的方法,其特征在于,该存储器存储该基本单元阵列中实现的定序器的程序码。
122.(原文如此)如权利要求114所述的方法,其特征在于,多个存储器访问一条共同的外围总线。
123.如权利要求114和122所述的方法,其特征在于,一个仲裁器总是每个共同总线准确地选择一个存储器,并经过多路复用器将其连结到该总线。
124.如权利要求114所述的方法,其特征在于,状态信号使存储器的内容写入外部存储器内。
125.如权利要求114所述的方法,其特征在于,状态信号使得从外部存储器读取该存储器的内容。
126.如权利要求114和124到125所述的方法,其特征在于,外部存储器的基地址存在寄存器中。
127.如权利要求114和124到126所述的方法,其特征在于,该寄存器是由该基本单元结构设置的。
128.如权利要求114和124到126所述的方法,其特征在于,该寄存器由高层加载单元设置。
129.如权利要求114和124到126所述的方法,其特征在于,该寄存器由外围设备设置。
130.如权利要求117所述的方法,其特征在于,该堆栈具有可变的大小,使外部存储器被用来放大该堆栈。
131.如权利要求117和130所述的方法,其特征在于,该堆栈的最老部分在堆栈超限以前写入到外部存储器中的堆栈上。
132.如权利要求117和130所述的方法,其特征在于,该堆栈最新的部分在堆栈欠载运行以前从在外部存储器的堆栈中读入。
133.如权利要求114所述的方法,其特征在于,该存储器通过状态信号提供其状态。
134.如权利要求114和121所述的方法,其特征在于,TAG存储器与该存储器相连结用作高速缓存功能。
135.如权利要求114和119所述的方法,其特征在于,所述外围设备的接口与基本单元结构的接口是同步的。
136.如权利要求114和119所述的方法,其特征在于,用于监视地址的单元与到外围设备的接口相连结。
137.如权利要求114和119所述的方法,其特征在于,用于翻译地址的单元与外围设备的接口相连结。
138.如权利要求114所述的方法,其特征在于,该存储器设计成环形存储器。
139.如权利要求114和119和138所述的方法,其特征在于,该基本单元结构和外围设备均具有位置指针。
140.如权利要求114和138所述的方法,其特征在于,寄存器提供存储器中一系列的记录。
141.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元的状态被传送到所有其他的基本单元。
142.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元具有多个配置寄存器。
143.如权利要求142所述的方法,其特征在于,在运行时间选择一个配置寄存器。
144.如权利要求142所述的方法,其特征在于,该选择通过在该基本单元结构中的状态信号进行。
145.如权利要求142所述的方法,其特征在于,该选择通过该基本单元的状态信号进行。
146.如权利要求142到143所述的方法,其特征在于,该选择通过来自高层加载单元来的信号进行。
147.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,定序器集成在该基本单元中。
148.如权利要求142和147所述的方法,其特征在于,所述基本单元中实现的定序器选择所述配置寄存器。
149.如权利要求142和147所述的方法,其特征在于,所述定序器将所述配置字作为命令来进行分析。
150.如权利要求147所述的方法,其特征在于,所述定序器响应所述基本单元结构的状态信号。
151.如权利要求147所述的方法,其特征在于,所述定序器响应于所述基本单元的状态信号。
152.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元作为累加器处理器进行操作。
153.如权利要求152所述的方法,其特征在于,累加器被集成在所述基本单元中。
154.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元作为寄存器处理器进行操作。
155.如权利要求154所述的方法,其特征在于,寄存器组被集成在所述基本单元内。
156.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元作为堆栈处理器进行操作。
157.如权利要求156所述的方法,其特征在于,所述堆栈集成在与所述基本单元结构相关的存储器中。
158.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,一组基本单元构成累加器处理器。
159.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,一组基本单元构成堆栈处理器。
160.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,一组基本单元构成寄存器处理器。
161.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,一组基本单元构成加载/存储处理器。
162.如权利要求158到161所述的方法,其特征在于,与所述基本单元结构连结的存储器与该组相连结。
163.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,这些基本单元的数据寄存器由高层加载单元进行访问。
164.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,这些基本单元的数据寄存器由高层处理器进行访问。
165.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,这些基本单元的数据寄存器由配置成处理器的另外一个基本单元来进行访问。
166.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,这些基本单元的数据寄存器由配置成诸处理器的其他诸基本单元进行访问。
167.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,在基本单元中实现一个寄存器组。
168.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,该基本单元输入寄存器以FIFO方式提供。
169.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,该基本单元的输出寄存器以FIFO方式提供。
170.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,该基本单元能连接到与该基本单元结构相连的存储器,使得对在该基本单元中实现的定序器的程序码从连接的存储器加载。
171.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,该基本单元能连接到高层加载单元的存储器,使得对在该基本单元中实现的定序器的程序码从高层加载单元的存储器加载。
172.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,一个基本单元的状态机是可编程的。
173.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元的状态机是部分可编程的。
174.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元的状态机被设计成可编程逻辑。
175.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,基本单元的状态机和算术逻辑被设计成可编程逻辑。
176.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,对于该基本单元结构的高层加载单元,提供一个用于产生由定序器访问的程序码的地址的单元。
177.一种操作具有一维或多维的基本单元结构的模块的方法,其特征在于,对于该基本单元结构的高层加载单元,提供一个用于产生由定序器访问的堆栈地址的单元。
178.如权利要求176至177所述的方法,其特征在于,地址的翻译由被偏移而移位的存储器中的记录而进行。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19926538.0 | 1999-06-10 | ||
DE19926538A DE19926538A1 (de) | 1999-06-10 | 1999-06-10 | Hardware und Betriebsverfahren |
DE10000423 | 2000-01-09 | ||
DE10000423.7 | 2000-01-09 | ||
DE10018119.8 | 2000-04-12 | ||
DE10018119 | 2000-04-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1378665A true CN1378665A (zh) | 2002-11-06 |
Family
ID=27213558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00811550A Pending CN1378665A (zh) | 1999-06-10 | 2000-06-13 | 编程概念 |
Country Status (7)
Country | Link |
---|---|
US (7) | US8230411B1 (zh) |
EP (1) | EP1228440B1 (zh) |
JP (1) | JP2003505753A (zh) |
CN (1) | CN1378665A (zh) |
AU (1) | AU5805300A (zh) |
DE (1) | DE10081643D2 (zh) |
WO (1) | WO2000077652A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101907999A (zh) * | 2010-07-19 | 2010-12-08 | 中国科学技术大学 | 超长指令字程序的二进制翻译方法 |
CN101963943A (zh) * | 2010-06-30 | 2011-02-02 | 上海华岭集成电路技术有限责任公司 | 寻找fpga配置文件与clb块配置资源的映射方法 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071196A2 (de) | 2001-03-05 | 2002-09-12 | Pact Informationstechnologie Gmbh | Verfahren und vorrichtung zu datenbe- und/oder verarbeitung |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
WO2003036507A2 (de) * | 2001-09-19 | 2003-05-01 | Pact Xpp Technologies Ag | Rekonfigurierbare elemente |
WO2000077652A2 (de) * | 1999-06-10 | 2000-12-21 | Pact Informationstechnologie Gmbh | Sequenz-partitionierung auf zellstrukturen |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
JP2009054170A (ja) * | 2001-03-05 | 2009-03-12 | Pact Xpp Technologies Ag | データ流の管理方法 |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7657877B2 (en) * | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
AU2002338729A1 (en) | 2001-09-19 | 2003-04-01 | Pact Xpp Technologies Ag | Router |
AU2003214003A1 (en) | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US7394284B2 (en) * | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
WO2004053716A2 (en) * | 2002-12-12 | 2004-06-24 | Koninklijke Philips Electronics N.V. | Dataflow-synchronized embedded field programmable processor array |
US9152427B2 (en) | 2008-10-15 | 2015-10-06 | Hyperion Core, Inc. | Instruction issue to array of arithmetic cells coupled to load/store cells with associated registers as extended register file |
US8347055B2 (en) * | 2009-06-30 | 2013-01-01 | Incard S.A. | Method to defrag a memory of an IC card |
EP2519876A1 (en) | 2009-12-28 | 2012-11-07 | Hyperion Core, Inc. | Optimisation of loops and data flow sections |
CN102360306A (zh) * | 2011-10-19 | 2012-02-22 | 上海交通大学 | 高级语言代码中循环数据流图提取优化信息处理方法 |
CN102508689A (zh) * | 2011-11-08 | 2012-06-20 | 上海交通大学 | 高级语言程序数据流图提取中依赖关系保持数据处理系统 |
US9489184B2 (en) * | 2011-12-30 | 2016-11-08 | Oracle International Corporation | Adaptive selection of programming language versions for compilation of software programs |
CN103631316B (zh) * | 2012-08-21 | 2020-06-26 | 是德科技股份有限公司 | 用于输出复杂触发信号的多级触发系统 |
US10515118B2 (en) * | 2013-06-24 | 2019-12-24 | Micro Focus Llc | Processing a data flow graph of a hybrid flow |
US9483282B1 (en) * | 2014-05-30 | 2016-11-01 | Altera Corporation | Methods and systems for run-time hardware configuration change management |
US9348595B1 (en) | 2014-12-22 | 2016-05-24 | Centipede Semi Ltd. | Run-time code parallelization with continuous monitoring of repetitive instruction sequences |
US9208066B1 (en) * | 2015-03-04 | 2015-12-08 | Centipede Semi Ltd. | Run-time code parallelization with approximate monitoring of instruction sequences |
US10296350B2 (en) | 2015-03-31 | 2019-05-21 | Centipede Semi Ltd. | Parallelized execution of instruction sequences |
US10296346B2 (en) | 2015-03-31 | 2019-05-21 | Centipede Semi Ltd. | Parallelized execution of instruction sequences based on pre-monitoring |
US9715390B2 (en) | 2015-04-19 | 2017-07-25 | Centipede Semi Ltd. | Run-time parallelization of code execution based on an approximate register-access specification |
US9503094B1 (en) * | 2015-10-05 | 2016-11-22 | Altera Corporation | Programmable logic device virtualization |
US10127503B2 (en) * | 2015-10-21 | 2018-11-13 | International Business Machines Corporation | Generating multidimensional combination data |
CN106709860B (zh) * | 2016-12-12 | 2020-04-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种gpu统一染色处理阵列的调试结构 |
DE102017200457A1 (de) * | 2017-01-12 | 2018-07-12 | Robert Bosch Gmbh | Hardwarekonfigurierbare Logikeinheit und Mikrocontroller mit einer derartigen hardwarekonfigurierbaren Logikeinheit |
CN110506393B (zh) | 2017-05-26 | 2023-06-20 | 弗莱克斯-罗技克斯技术公司 | 具有逻辑瓦片的虚拟阵列的fpga及其配置和操作的方法 |
EP3639370A4 (en) | 2017-06-13 | 2020-07-29 | Flex Logix Technologies, Inc. | CLOCK DISTRIBUTION AND GENERATION ARCHITECTURE FOR LOGIC PAVERS OF AN INTEGRATED CIRCUIT AND ITS OPERATING PROCESS |
US10348308B2 (en) | 2017-07-01 | 2019-07-09 | Flex Logix Technologies, Inc. | Clock architecture, including clock mesh fabric, for FPGA, and method of operating same |
US10423416B2 (en) * | 2017-12-07 | 2019-09-24 | International Business Machines Corporation | Automatic creation of macro-services |
US10686447B1 (en) | 2018-04-12 | 2020-06-16 | Flex Logix Technologies, Inc. | Modular field programmable gate array, and method of configuring and operating same |
KR102502526B1 (ko) * | 2018-04-16 | 2023-02-23 | 에밀 바덴호르스트 | 프로세서 및 프로세서 작동 방법 |
US10705967B2 (en) * | 2018-10-15 | 2020-07-07 | Intel Corporation | Programmable interface to in-memory cache processor |
US10831507B2 (en) | 2018-11-21 | 2020-11-10 | SambaNova Systems, Inc. | Configuration load of a reconfigurable data processor |
US11188497B2 (en) | 2018-11-21 | 2021-11-30 | SambaNova Systems, Inc. | Configuration unload of a reconfigurable data processor |
US10698853B1 (en) | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
US10768899B2 (en) | 2019-01-29 | 2020-09-08 | SambaNova Systems, Inc. | Matrix normal/transpose read and a reconfigurable data processor including same |
US11386038B2 (en) | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US11055141B2 (en) | 2019-07-08 | 2021-07-06 | SambaNova Systems, Inc. | Quiesce reconfigurable data processor |
TWI708488B (zh) * | 2019-08-20 | 2020-10-21 | 智易科技股份有限公司 | 傳輸系統、傳送裝置及傳輸路徑分配方法 |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
CN112199320B (zh) * | 2020-09-28 | 2023-06-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多通道可重构信号处理装置 |
CN112698954B (zh) * | 2021-01-14 | 2022-05-10 | 上海交通大学 | 一种基于子图解耦的粗粒度可重构阵列调度方法 |
US11409540B1 (en) | 2021-07-16 | 2022-08-09 | SambaNova Systems, Inc. | Routing circuits for defect repair for a reconfigurable data processor |
US11327771B1 (en) | 2021-07-16 | 2022-05-10 | SambaNova Systems, Inc. | Defect repair circuits for a reconfigurable data processor |
US11556494B1 (en) | 2021-07-16 | 2023-01-17 | SambaNova Systems, Inc. | Defect repair for a reconfigurable data processor for homogeneous subarrays |
US11599358B1 (en) * | 2021-08-12 | 2023-03-07 | Tenstorrent Inc. | Pre-staged instruction registers for variable length instruction set machine |
US11487694B1 (en) | 2021-12-17 | 2022-11-01 | SambaNova Systems, Inc. | Hot-plug events in a pool of reconfigurable data flow resources |
US20230297818A1 (en) * | 2022-03-15 | 2023-09-21 | Rebellions Inc. | Neural processing device and method for controlling the same |
Family Cites Families (784)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2067477A (en) | 1931-03-20 | 1937-01-12 | Allis Chalmers Mfg Co | Gearing |
GB971191A (en) | 1962-05-28 | 1964-09-30 | Wolf Electric Tools Ltd | Improvements relating to electrically driven equipment |
US3473160A (en) | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
US3531662A (en) | 1967-04-10 | 1970-09-29 | Sperry Rand Corp | Batch fabrication arrangement for integrated circuits |
US3564506A (en) | 1968-01-17 | 1971-02-16 | Ibm | Instruction retry byte counter |
GB1253309A (en) | 1969-11-21 | 1971-11-10 | Marconi Co Ltd | Improvements in or relating to data processing arrangements |
US3753008A (en) | 1970-06-20 | 1973-08-14 | Honeywell Inf Systems | Memory pre-driver circuit |
DE2057312A1 (de) | 1970-11-21 | 1972-05-25 | Bhs Bayerische Berg | Planetenradgetriebe mit Lastdruckausgleich |
US5459846A (en) | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
US3754211A (en) | 1971-12-30 | 1973-08-21 | Ibm | Fast error recovery communication controller |
US3855577A (en) | 1973-06-11 | 1974-12-17 | Texas Instruments Inc | Power saving circuit for calculator system |
US3956589A (en) | 1973-11-26 | 1976-05-11 | Paradyne Corporation | Data telecommunication system |
US4020469A (en) | 1975-04-09 | 1977-04-26 | Frank Manning | Programmable arrays |
US4151611A (en) | 1976-03-26 | 1979-04-24 | Tokyo Shibaura Electric Co., Ltd. | Power supply control system for memory systems |
US4233667A (en) | 1978-10-23 | 1980-11-11 | International Business Machines Corporation | Demand powered programmable logic array |
US4412303A (en) | 1979-11-26 | 1983-10-25 | Burroughs Corporation | Array processor architecture |
CA1174370A (en) | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
US4428048A (en) * | 1981-01-28 | 1984-01-24 | Grumman Aerospace Corporation | Multiprocessor with staggered processing |
US4414547A (en) | 1981-08-05 | 1983-11-08 | General Instrument Corporation | Storage logic array having two conductor data column |
US4498134A (en) | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4590583A (en) | 1982-07-16 | 1986-05-20 | At&T Bell Laboratories | Coin telephone measurement circuitry |
US4498172A (en) | 1982-07-26 | 1985-02-05 | General Electric Company | System for polynomial division self-testing of digital networks |
US4667190A (en) | 1982-07-30 | 1987-05-19 | Honeywell Inc. | Two axis fast access memory |
JPS5936857A (ja) | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
US4539637A (en) | 1982-08-26 | 1985-09-03 | At&T Bell Laboratories | Method and apparatus for handling interprocessor calls in a multiprocessor system |
US4663706A (en) | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4594682A (en) | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
US4739474A (en) | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US4566102A (en) | 1983-04-18 | 1986-01-21 | International Business Machines Corporation | Parallel-shift error reconfiguration |
US5123109A (en) | 1983-05-31 | 1992-06-16 | Thinking Machines Corporation | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system |
US4571736A (en) | 1983-10-31 | 1986-02-18 | University Of Southwestern Louisiana | Digital communication system employing differential coding and sample robbing |
US4646300A (en) * | 1983-11-14 | 1987-02-24 | Tandem Computers Incorporated | Communications method |
US4870302A (en) | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4577293A (en) | 1984-06-01 | 1986-03-18 | International Business Machines Corporation | Distributed, on-chip cache |
US4761755A (en) | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US4642487A (en) | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
US4682284A (en) | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
US4623997A (en) | 1984-12-13 | 1986-11-18 | United Technologies Corporation | Coherent interface with wraparound receive and transmit memories |
DE3681463D1 (de) | 1985-01-29 | 1991-10-24 | Secr Defence Brit | Verarbeitungszelle fuer fehlertolerante matrixanordnungen. |
US4720778A (en) | 1985-01-31 | 1988-01-19 | Hewlett Packard Company | Software debugging analyzer |
US5023775A (en) | 1985-02-14 | 1991-06-11 | Intel Corporation | Software programmable logic array utilizing "and" and "or" gates |
US5247689A (en) | 1985-02-25 | 1993-09-21 | Ewert Alfred P | Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US5015884A (en) | 1985-03-29 | 1991-05-14 | Advanced Micro Devices, Inc. | Multiple array high performance programmable logic device family |
US5225719A (en) | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
DE3513980A1 (de) * | 1985-04-18 | 1986-10-30 | Bayer Ag, 5090 Leverkusen | Matrixwerkstoffe, verfahren zu ihrer herstellung und ihre verwendung zur herstellung von verbundwerkstoffen |
US4972314A (en) * | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
US4967340A (en) | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
GB8517376D0 (en) | 1985-07-09 | 1985-08-14 | Jesshope C R | Processor array |
US4748580A (en) | 1985-08-30 | 1988-05-31 | Advanced Micro Devices, Inc. | Multi-precision fixed/floating-point processor |
US4720780A (en) | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
US4722084A (en) | 1985-10-02 | 1988-01-26 | Itt Corporation | Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits |
DE3687400T2 (de) | 1985-11-04 | 1993-07-15 | Ibm | Digitale nachrichtenuebertragungsnetzwerke und aufbau von uebertragungswegen in diesen netzwerken. |
US5070475A (en) | 1985-11-14 | 1991-12-03 | Data General Corporation | Floating point unit interface |
US4700187A (en) | 1985-12-02 | 1987-10-13 | Concurrent Logic, Inc. | Programmable, asynchronous logic cell and array |
US4852048A (en) | 1985-12-12 | 1989-07-25 | Itt Corporation | Single instruction multiple data (SIMD) cellular array processing apparatus employing a common bus where a first number of bits manifest a first bus portion and a second number of bits manifest a second bus portion |
US4733393A (en) * | 1985-12-12 | 1988-03-22 | Itt Corporation | Test method and apparatus for cellular array processor chip |
US4882687A (en) | 1986-03-31 | 1989-11-21 | Schlumberger Technology Corporation | Pixel processor |
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 |
US4724307A (en) | 1986-04-29 | 1988-02-09 | Gtech Corporation | Marked card reader |
US5034914A (en) | 1986-05-15 | 1991-07-23 | Aquidneck Systems International, Inc. | Optical disk data storage method and apparatus with buffered interface |
GB8612396D0 (en) | 1986-05-21 | 1986-06-25 | Hewlett Packard Ltd | Chain-configured interface bus system |
US4760525A (en) | 1986-06-10 | 1988-07-26 | The United States Of America As Represented By The Secretary Of The Air Force | Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction |
US4791603A (en) | 1986-07-18 | 1988-12-13 | Honeywell Inc. | Dynamically reconfigurable array logic |
US4860201A (en) | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US4910665A (en) | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US4884231A (en) | 1986-09-26 | 1989-11-28 | Performance Semiconductor Corporation | Microprocessor system with extended arithmetic logic unit |
GB2211638A (en) | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US4768196A (en) | 1986-10-28 | 1988-08-30 | Silc Technologies, Inc. | Programmable logic array |
JP2900359B2 (ja) | 1986-10-30 | 1999-06-02 | 株式会社日立製作所 | マルチプロセッサシステム |
FR2606184B1 (fr) | 1986-10-31 | 1991-11-29 | Thomson Csf | Dispositif de calcul reconfigurable |
US4918440A (en) | 1986-11-07 | 1990-04-17 | Furtek Frederick C | Programmable logic cell and array |
US4811214A (en) | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US4786904A (en) | 1986-12-15 | 1988-11-22 | Zoran Corporation | Electronically programmable gate array having programmable interconnect lines |
US4837735A (en) | 1987-06-09 | 1989-06-06 | Martin Marietta Energy Systems, Inc. | Parallel machine architecture for production rule systems |
US5226122A (en) | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
CA1299757C (en) | 1987-08-28 | 1992-04-28 | Brent Cameron Beardsley | Device initiated partial system quiescing |
US5119290A (en) | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
US4862407A (en) | 1987-10-05 | 1989-08-29 | Motorola, Inc. | Digital signal processing apparatus |
CA1286421C (en) | 1987-10-14 | 1991-07-16 | Martin Claude Lefebvre | Message fifo buffer controller |
US5115510A (en) | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
US5031179A (en) | 1987-11-10 | 1991-07-09 | Canon Kabushiki Kaisha | Data communication apparatus |
US5113498A (en) | 1987-11-10 | 1992-05-12 | Echelon Corporation | Input/output section for an intelligent cell which provides sensing, bidirectional communications and control |
US4918690A (en) | 1987-11-10 | 1990-04-17 | Echelon Systems Corp. | Network and intelligent cell for providing sensing, bidirectional communications and control |
US5276826A (en) * | 1988-01-04 | 1994-01-04 | Hewlett-Packard Company | Apparatus for transforming addresses to provide pseudo-random access to memory modules |
NL8800053A (nl) | 1988-01-11 | 1989-08-01 | Philips Nv | Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem. |
NL8800071A (nl) | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
USRE34444E (en) | 1988-01-13 | 1993-11-16 | Xilinx, Inc. | Programmable logic device |
US5197016A (en) | 1988-01-13 | 1993-03-23 | International Chip Corporation | Integrated silicon-software compiler |
DE68917326T2 (de) | 1988-01-20 | 1995-03-02 | Advanced Micro Devices Inc | Organisation eines integrierten Cachespeichers zur flexiblen Anwendung zur Unterstützung von Multiprozessor-Operationen. |
US5261113A (en) | 1988-01-25 | 1993-11-09 | Digital Equipment Corporation | Apparatus and method for single operand register array for vector and scalar data processing operations |
US5303172A (en) | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
US4959781A (en) | 1988-05-16 | 1990-09-25 | Stardent Computer, Inc. | System for assigning interrupts to least busy processor that already loaded same class of interrupt routines |
JP2741867B2 (ja) | 1988-05-27 | 1998-04-22 | 株式会社日立製作所 | 情報処理システムおよびプロセツサ |
JPH06101043B2 (ja) | 1988-06-30 | 1994-12-12 | 三菱電機株式会社 | マイクロコンピュータ |
US4939641A (en) | 1988-06-30 | 1990-07-03 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
US5287511A (en) | 1988-07-11 | 1994-02-15 | Star Semiconductor Corporation | Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith |
JPH03500461A (ja) | 1988-07-22 | 1991-01-31 | アメリカ合衆国 | データ駆動式計算用のデータ流れ装置 |
US5010401A (en) | 1988-08-11 | 1991-04-23 | Mitsubishi Denki Kabushiki Kaisha | Picture coding and decoding apparatus using vector quantization |
US4901268A (en) | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5204935A (en) | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
US5353432A (en) | 1988-09-09 | 1994-10-04 | Compaq Computer Corporation | Interactive method for configuration of computer system and circuit boards with user specification of system resources and computer resolution of resource conflicts |
ES2047629T3 (es) | 1988-09-22 | 1994-03-01 | Siemens Ag | Disposicion de circuito para instalaciones de conmutacion de telecomunicaciones, especialmente instalaciones de conmutacion telefonica de multiplexacion temporal-pcm con campo de acoplamiento central y campos de acoplamiento parcial conectados. |
US5452231A (en) | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
EP0651343B1 (en) | 1988-10-05 | 2004-04-28 | Quickturn Design Systems, Inc. | Method of using electronically reconfigurable gate array logic and apparatus formed thereby |
EP0390907B1 (en) | 1988-10-07 | 1996-07-03 | Martin Marietta Corporation | Parallel data processor |
US5014193A (en) | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
US5041924A (en) | 1988-11-30 | 1991-08-20 | Quantum Corporation | Removable and transportable hard disk subsystem |
US5081375A (en) | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
US5245616A (en) | 1989-02-24 | 1993-09-14 | Rosemount Inc. | Technique for acknowledging packets |
GB8906145D0 (en) | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US5203005A (en) | 1989-05-02 | 1993-04-13 | Horst Robert W | Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement |
US5237686A (en) | 1989-05-10 | 1993-08-17 | Mitsubishi Denki Kabushiki Kaisha | Multiprocessor type time varying image encoding system and image processor with memory bus control table for arbitration priority |
US5109503A (en) | 1989-05-22 | 1992-04-28 | Ge Fanuc Automation North America, Inc. | Apparatus with reconfigurable counter includes memory for storing plurality of counter configuration files which respectively define plurality of predetermined counters |
JP2584673B2 (ja) | 1989-06-09 | 1997-02-26 | 株式会社日立製作所 | テストデータ変更回路を有する論理回路テスト装置 |
US5343406A (en) | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
CA2021192A1 (en) | 1989-07-28 | 1991-01-29 | Malcolm A. Mumme | Simplified synchronous mesh processor |
US5489857A (en) | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
US5233539A (en) | 1989-08-15 | 1993-08-03 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure, input/output structure and configurable logic block |
US5212652A (en) | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5128559A (en) | 1989-09-29 | 1992-07-07 | Sgs-Thomson Microelectronics, Inc. | Logic block for programmable logic devices |
JP2968289B2 (ja) | 1989-11-08 | 1999-10-25 | 株式会社リコー | 中央演算処理装置 |
GB8925721D0 (en) | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
GB8925723D0 (en) | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5212777A (en) | 1989-11-17 | 1993-05-18 | Texas Instruments Incorporated | Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation |
US5522083A (en) | 1989-11-17 | 1996-05-28 | Texas Instruments Incorporated | Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors |
EP0428770B1 (de) | 1989-11-21 | 1995-02-01 | Deutsche ITT Industries GmbH | Datengesteuerter Arrayprozessor |
US5099447A (en) | 1990-01-22 | 1992-03-24 | Alliant Computer Systems Corporation | Blocked matrix multiplication for computers with hierarchical memory |
WO1991011765A1 (en) | 1990-01-29 | 1991-08-08 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
US5125801A (en) | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
JPH03254497A (ja) | 1990-03-05 | 1991-11-13 | Mitsubishi Electric Corp | マイクロコンピュータ |
JP3118266B2 (ja) | 1990-03-06 | 2000-12-18 | ゼロックス コーポレイション | 同期セグメントバスとバス通信方法 |
US5036493A (en) | 1990-03-15 | 1991-07-30 | Digital Equipment Corporation | System and method for reducing power usage by multiple memory modules |
US5142469A (en) | 1990-03-29 | 1992-08-25 | Ge Fanuc Automation North America, Inc. | Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller |
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
EP0463721A3 (en) | 1990-04-30 | 1993-06-16 | Gennum Corporation | Digital signal processing device |
WO1991017507A1 (en) | 1990-05-07 | 1991-11-14 | Mitsubishi Denki Kabushiki Kaisha | Parallel data processing system |
US5198705A (en) | 1990-05-11 | 1993-03-30 | Actel Corporation | Logic module with configurable combinational and sequential blocks |
US5483620A (en) | 1990-05-22 | 1996-01-09 | International Business Machines Corp. | Learning machine synapse processor system apparatus |
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 |
US5111079A (en) | 1990-06-29 | 1992-05-05 | Sgs-Thomson Microelectronics, Inc. | Power reduction circuit for programmable logic device |
CA2045773A1 (en) | 1990-06-29 | 1991-12-30 | Compaq Computer Corporation | Byte-compare operation for high-performance processor |
SE9002558D0 (sv) | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
DE4129614C2 (de) | 1990-09-07 | 2002-03-21 | Hitachi Ltd | System und Verfahren zur Datenverarbeitung |
US5274593A (en) | 1990-09-28 | 1993-12-28 | Intergraph Corporation | High speed redundant rows and columns for semiconductor memories |
US5301340A (en) | 1990-10-31 | 1994-04-05 | International Business Machines Corporation | IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5245227A (en) | 1990-11-02 | 1993-09-14 | Atmel Corporation | Versatile programmable logic cell for use in configurable logic arrays |
JPH04175974A (ja) * | 1990-11-09 | 1992-06-23 | Hitachi Ltd | コプロセッサ論理回路自動生成方法 |
US5588152A (en) | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5625836A (en) | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
DE69131272T2 (de) | 1990-11-13 | 1999-12-09 | Ibm | Paralleles Assoziativprozessor-System |
US5794059A (en) | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5617577A (en) | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5765011A (en) | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5752067A (en) | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
CA2051222C (en) | 1990-11-30 | 1998-05-05 | Pradeep S. Sindhu | Consistent packet switched memory bus for shared memory multiprocessors |
US5613128A (en) | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
US5276836A (en) | 1991-01-10 | 1994-01-04 | Hitachi, Ltd. | Data processing device with common memory connecting mechanism |
IE920032A1 (en) * | 1991-01-11 | 1992-07-15 | Marconi Gec Ltd | Parallel processing apparatus |
US5301284A (en) | 1991-01-16 | 1994-04-05 | Walker-Estes Corporation | Mixed-resolution, N-dimensional object space method and apparatus |
US5301344A (en) | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
JP2867717B2 (ja) | 1991-02-01 | 1999-03-10 | 日本電気株式会社 | マイクロコンピュータ |
US5212716A (en) | 1991-02-05 | 1993-05-18 | International Business Machines Corporation | Data edge phase sorting circuits |
US5218302A (en) | 1991-02-06 | 1993-06-08 | Sun Electric Corporation | Interface for coupling an analyzer to a distributorless ignition system |
DE59109046D1 (de) | 1991-02-22 | 1998-10-08 | Siemens Ag | Programmierverfahren für einen Logikbaustein |
JPH04290155A (ja) | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
JPH04293151A (ja) | 1991-03-20 | 1992-10-16 | Fujitsu Ltd | 並列データ処理方式 |
US5617547A (en) | 1991-03-29 | 1997-04-01 | International Business Machines Corporation | Switch network extension of bus architecture |
KR0125623B1 (ko) | 1991-04-09 | 1998-07-01 | 세끼자와 다다시 | 데이타 프로세서 및 데이타 처리방법 |
JPH04328657A (ja) | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
US5446904A (en) | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
WO1992022029A1 (en) | 1991-05-24 | 1992-12-10 | British Technology Group Usa, Inc. | Optimizing compiler for computers |
US5659797A (en) | 1991-06-24 | 1997-08-19 | U.S. Philips Corporation | Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface |
JP3259969B2 (ja) | 1991-07-09 | 2002-02-25 | 株式会社東芝 | キャッシュメモリ制御装置 |
US5347639A (en) | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
US5327570A (en) | 1991-07-22 | 1994-07-05 | International Business Machines Corporation | Multiprocessor system having local write cache within each data processor node |
US5298805A (en) | 1991-08-29 | 1994-03-29 | National Semiconductor Corporation | Versatile and efficient cell-to-local bus interface in a configurable logic array |
US5317209A (en) | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
US5581731A (en) | 1991-08-30 | 1996-12-03 | King; Edward C. | Method and apparatus for managing video data for faster access by selectively caching video data |
US5633830A (en) | 1995-11-08 | 1997-05-27 | Altera Corporation | Random access memory block circuitry for programmable logic array integrated circuit devices |
US5550782A (en) | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
FR2681791B1 (fr) | 1991-09-27 | 1994-05-06 | Salomon Sa | Dispositif d'amortissement des vibrations pour club de golf. |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
WO1993011503A1 (en) | 1991-12-06 | 1993-06-10 | Norman Richard S | Massively-parallel direct output processor array |
US5208491A (en) | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
FR2686175B1 (fr) | 1992-01-14 | 1996-12-20 | Andre Thepaut | Systeme de traitement de donnees multiprocesseur. |
US5412795A (en) | 1992-02-25 | 1995-05-02 | Micral, Inc. | State machine having a variable timing mechanism for varying the duration of logical output states of the state machine based on variation in the clock frequency |
JP2791243B2 (ja) | 1992-03-13 | 1998-08-27 | 株式会社東芝 | 階層間同期化システムおよびこれを用いた大規模集積回路 |
US5452401A (en) | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
JP2647327B2 (ja) | 1992-04-06 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 大規模並列コンピューティング・システム装置 |
US5493663A (en) * | 1992-04-22 | 1996-02-20 | International Business Machines Corporation | Method and apparatus for predetermining pages for swapping from physical memory in accordance with the number of accesses |
JP2572522B2 (ja) | 1992-05-12 | 1997-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピューティング装置 |
US5611049A (en) | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
WO1993024895A2 (en) | 1992-06-04 | 1993-12-09 | Xilinx, Inc. | Timing driven method for laying out a user's circuit onto a programmable integrated circuit device |
DE4221278C2 (de) | 1992-06-29 | 1996-02-29 | Martin Vorbach | Busgekoppeltes Mehrrechnersystem |
DE69326467T2 (de) | 1992-07-02 | 2000-05-31 | Atmel Corp | Unterbrechungsfreies, wahlfreies zugriffspeichersystem. |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
JP3032382B2 (ja) * | 1992-07-13 | 2000-04-17 | シャープ株式会社 | デジタル信号のサンプリング周波数変換装置 |
US5386154A (en) | 1992-07-23 | 1995-01-31 | Xilinx, Inc. | Compact logic cell for field programmable gate array chip |
US5365125A (en) | 1992-07-23 | 1994-11-15 | Xilinx, Inc. | Logic cell for field programmable gate array having optional internal feedback and optional cascade |
US5590348A (en) | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
US5802290A (en) | 1992-07-29 | 1998-09-01 | Virtual Computer Corporation | Computer network of distributed virtual computers which are EAC reconfigurable in response to instruction to be executed |
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 |
ATE237861T1 (de) | 1992-09-03 | 2003-05-15 | Sony Corp | Datenaufzeichnungsgerät und -verfahren |
US5572710A (en) * | 1992-09-11 | 1996-11-05 | Kabushiki Kaisha Toshiba | High speed logic simulation system using time division emulation suitable for large scale logic circuits |
US5425036A (en) | 1992-09-18 | 1995-06-13 | Quickturn Design Systems, Inc. | Method and apparatus for debugging reconfigurable emulation systems |
JPH06180653A (ja) | 1992-10-02 | 1994-06-28 | Hudson Soft Co Ltd | 割り込み処理方法および装置 |
US5857109A (en) | 1992-11-05 | 1999-01-05 | Giga Operations Corporation | Programmable logic device for real time video processing |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5497498A (en) | 1992-11-05 | 1996-03-05 | Giga Operations Corporation | Video processing module using a second programmable logic device which reconfigures a first programmable logic device for data transformation |
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5394030A (en) | 1992-11-10 | 1995-02-28 | Infinite Technology Corporation | Programmable logic device |
US5357152A (en) | 1992-11-10 | 1994-10-18 | Infinite Technology Corporation | Logic system of logic networks with programmable selected functions and programmable operational controls |
US5361373A (en) | 1992-12-11 | 1994-11-01 | Gilson Kent L | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
US5311079A (en) | 1992-12-17 | 1994-05-10 | Ditlow Gary S | Low power, high performance PLA |
JP2977688B2 (ja) | 1992-12-18 | 1999-11-15 | 富士通株式会社 | マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ |
US5428526A (en) | 1993-02-03 | 1995-06-27 | Flood; Mark A. | Programmable controller with time periodic communication |
US5386518A (en) | 1993-02-12 | 1995-01-31 | Hughes Aircraft Company | Reconfigurable computer interface and method |
GB9303084D0 (en) | 1993-02-16 | 1993-03-31 | Inmos Ltd | Programmable logic circuit |
JPH06276086A (ja) | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | フィールドプログラマブルゲートアレイ |
US5548773A (en) | 1993-03-30 | 1996-08-20 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Digital parallel processor array for optimum path planning |
US5596742A (en) | 1993-04-02 | 1997-01-21 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5418953A (en) * | 1993-04-12 | 1995-05-23 | Loral/Rohm Mil-Spec Corp. | Method for automated deployment of a software program onto a multi-processor architecture |
US5473266A (en) | 1993-04-19 | 1995-12-05 | Altera Corporation | Programmable logic device having fast programmable logic array blocks and a central global interconnect array |
WO1994025917A1 (en) * | 1993-04-26 | 1994-11-10 | Comdisco Systems, Inc. | Method for scheduling synchronous data flow graphs |
US5339840A (en) * | 1993-04-26 | 1994-08-23 | Sunbelt Precision Products Inc. | Adjustable comb |
DE4416881C2 (de) | 1993-05-13 | 1998-03-19 | Pact Inf Tech Gmbh | Verfahren zum Betrieb einer Datenverarbeitungseinrichtung |
US5435000A (en) | 1993-05-19 | 1995-07-18 | Bull Hn Information Systems Inc. | Central processing unit using dual basic processing units and combined result bus |
US5349193A (en) | 1993-05-20 | 1994-09-20 | Princeton Gamma Tech, Inc. | Highly sensitive nuclear spectrometer apparatus and method |
WO1994028475A1 (en) | 1993-05-28 | 1994-12-08 | Regents Of The University Of California | Field programmable logic device with dynamic interconnections to a dynamic logic core |
IT1260848B (it) | 1993-06-11 | 1996-04-23 | Finmeccanica Spa | Sistema a multiprocessore |
US5835792A (en) | 1993-06-24 | 1998-11-10 | Discovision Associates | Token-based adaptive video processing arrangement |
US5444394A (en) | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
JPH0736858A (ja) | 1993-07-21 | 1995-02-07 | Hitachi Ltd | 信号処理プロセッサ |
US5581734A (en) | 1993-08-02 | 1996-12-03 | International Business Machines Corporation | Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity |
CA2129882A1 (en) | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
US5457644A (en) | 1993-08-20 | 1995-10-10 | Actel Corporation | Field programmable digital signal processing array integrated circuit |
US5440538A (en) | 1993-09-23 | 1995-08-08 | Massachusetts Institute Of Technology | Communication system with redundant links and data bit time multiplexing |
GB2282244B (en) | 1993-09-23 | 1998-01-14 | Advanced Risc Mach Ltd | Integrated circuit |
US5502838A (en) | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
US6219688B1 (en) | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5455525A (en) | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
US6064819A (en) * | 1993-12-08 | 2000-05-16 | Imec | Control flow and memory management optimization |
US5535406A (en) | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
US5680583A (en) | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
JPH07234842A (ja) | 1994-02-22 | 1995-09-05 | Fujitsu Ltd | 並列データ処理システム |
WO1995025306A2 (en) | 1994-03-14 | 1995-09-21 | Stanford University | Distributed shared-cache for multi-processors |
US6408402B1 (en) * | 1994-03-22 | 2002-06-18 | Hyperchip Inc. | Efficient direct replacement cell fault tolerant architecture |
AU700629B2 (en) | 1994-03-22 | 1999-01-07 | Hyperchip Inc. | Efficient direct cell replacement fault tolerant architecture supporting completely integrated systems with means for direct communication with system operator |
US5561738A (en) | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5574927A (en) | 1994-03-25 | 1996-11-12 | International Meta Systems, Inc. | RISC architecture computer configured for emulation of the instruction set of a target computer |
US5781756A (en) | 1994-04-01 | 1998-07-14 | Xilinx, Inc. | Programmable logic device with partially configurable memory cells and a method for configuration |
US5504439A (en) | 1994-04-01 | 1996-04-02 | Xilinx, Inc. | I/O interface cell for use with optional pad |
US5761484A (en) | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5896551A (en) | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
WO1995028671A1 (en) | 1994-04-18 | 1995-10-26 | Green Logic Inc. | An improved system logic controller for digital computers |
US5426378A (en) | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
US5677909A (en) | 1994-05-11 | 1997-10-14 | Spectrix Corporation | Apparatus for exchanging data between a central station and a plurality of wireless remote stations on a time divided commnication channel |
US5706478A (en) * | 1994-05-23 | 1998-01-06 | Cirrus Logic, Inc. | Display list processor for operating in processor and coprocessor modes |
JP2671804B2 (ja) | 1994-05-27 | 1997-11-05 | 日本電気株式会社 | 階層型資源管理方法 |
US5532693A (en) | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
EP0690378A1 (en) | 1994-06-30 | 1996-01-03 | Tandem Computers Incorporated | Tool and method for diagnosing and correcting errors in a computer programm |
JP3308770B2 (ja) | 1994-07-22 | 2002-07-29 | 三菱電機株式会社 | 情報処理装置および情報処理装置における計算方法 |
US5600845A (en) | 1994-07-27 | 1997-02-04 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
JP3365581B2 (ja) | 1994-07-29 | 2003-01-14 | 富士通株式会社 | 自己修復機能付き情報処理装置 |
US5574930A (en) | 1994-08-12 | 1996-11-12 | University Of Hawaii | Computer system and method using functional memory |
US5513366A (en) | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
US5619720A (en) | 1994-10-04 | 1997-04-08 | Analog Devices, Inc. | Digital signal processor having link ports for point-to-point communication |
US5450022A (en) | 1994-10-07 | 1995-09-12 | Xilinx Inc. | Structure and method for configuration of a field programmable gate array |
EP0707269A1 (en) | 1994-10-11 | 1996-04-17 | International Business Machines Corporation | Cache coherence network for a multiprocessor data processing system |
US5530946A (en) | 1994-10-28 | 1996-06-25 | Dell Usa, L.P. | Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof |
US5815726A (en) | 1994-11-04 | 1998-09-29 | Altera Corporation | Coarse-grained look-up table architecture |
JPH08137824A (ja) | 1994-11-15 | 1996-05-31 | Mitsubishi Semiconductor Software Kk | セルフテスト機能内蔵シングルチップマイコン |
US6154826A (en) | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
US5808487A (en) | 1994-11-30 | 1998-09-15 | Hitachi Micro Systems, Inc. | Multi-directional small signal transceiver/repeater |
US5584013A (en) | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache |
EP0721157A1 (en) | 1994-12-12 | 1996-07-10 | Advanced Micro Devices, Inc. | Microprocessor with selectable clock frequency |
US5537580A (en) * | 1994-12-21 | 1996-07-16 | Vlsi Technology, Inc. | Integrated circuit fabrication using state machine extraction from behavioral hardware description language |
US5603005A (en) * | 1994-12-27 | 1997-02-11 | Unisys Corporation | Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed |
JP3598139B2 (ja) | 1994-12-28 | 2004-12-08 | 株式会社日立製作所 | データ処理装置 |
US5682491A (en) | 1994-12-29 | 1997-10-28 | International Business Machines Corporation | Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier |
US6128720A (en) | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
US5778237A (en) | 1995-01-10 | 1998-07-07 | Hitachi, Ltd. | Data processor and single-chip microcomputer with changing clock frequency and operating voltage |
US5696791A (en) | 1995-01-17 | 1997-12-09 | Vtech Industries, Inc. | Apparatus and method for decoding a sequence of digitally encoded data |
US5532957A (en) | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US5493239A (en) | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US5659785A (en) | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
WO1996025701A1 (en) | 1995-02-14 | 1996-08-22 | Vlsi Technology, Inc. | Method and apparatus for reducing power consumption in digital electronic circuits |
US5537057A (en) | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
DE69632424T2 (de) | 1995-02-17 | 2005-05-12 | Kabushiki Kaisha Toshiba, Kawasaki | Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5675743A (en) | 1995-02-22 | 1997-10-07 | Callisto Media Systems Inc. | Multi-media server |
US5570040A (en) | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5757207A (en) | 1995-03-22 | 1998-05-26 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5752035A (en) | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5748979A (en) | 1995-04-05 | 1998-05-05 | Xilinx Inc | Reprogrammable instruction set accelerator using a plurality of programmable execution units and an instruction page table |
US5651137A (en) | 1995-04-12 | 1997-07-22 | Intel Corporation | Scalable cache attributes for an input/output bus |
JP3313007B2 (ja) | 1995-04-14 | 2002-08-12 | 三菱電機株式会社 | マイクロコンピュータ |
US6594752B1 (en) * | 1995-04-17 | 2003-07-15 | Ricoh Company, Ltd. | Meta-address architecture for parallel, dynamically reconfigurable computing |
US5794062A (en) | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US6077315A (en) * | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
US5933642A (en) | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
WO1996034346A1 (en) | 1995-04-28 | 1996-10-31 | Xilinx, Inc. | Microprocessor with distributed registers accessible by programmable logic device |
JP3329986B2 (ja) | 1995-04-28 | 2002-09-30 | 富士通株式会社 | マルチプロセッサシステム |
US5701091A (en) | 1995-05-02 | 1997-12-23 | Xilinx, Inc. | Routing resources for hierarchical FPGA |
US5600597A (en) | 1995-05-02 | 1997-02-04 | Xilinx, Inc. | Register protection structure for FPGA |
GB9508931D0 (en) | 1995-05-02 | 1995-06-21 | Xilinx Inc | Programmable switch for FPGA input/output signals |
US5541530A (en) | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5649179A (en) | 1995-05-19 | 1997-07-15 | Motorola, Inc. | Dynamic instruction allocation for a SIMD processor |
US5721921A (en) | 1995-05-25 | 1998-02-24 | Cray Research, Inc. | Barrier and eureka synchronization architecture for multiprocessors |
US5821774A (en) | 1995-05-26 | 1998-10-13 | Xilinx, Inc. | Structure and method for arithmetic function implementation in an EPLD having high speed product term allocation structure |
JPH08328941A (ja) | 1995-05-31 | 1996-12-13 | Nec Corp | メモリアクセス制御回路 |
JP3677315B2 (ja) | 1995-06-01 | 2005-07-27 | シャープ株式会社 | データ駆動型情報処理装置 |
US5652529A (en) | 1995-06-02 | 1997-07-29 | International Business Machines Corporation | Programmable array clock/reset resource |
US5646546A (en) | 1995-06-02 | 1997-07-08 | International Business Machines Corporation | Programmable logic cell having configurable gates and multiplexers |
US5631578A (en) | 1995-06-02 | 1997-05-20 | International Business Machines Corporation | Programmable array interconnect network |
US5671432A (en) | 1995-06-02 | 1997-09-23 | International Business Machines Corporation | Programmable array I/O-routing resource |
US5646544A (en) | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5815715A (en) | 1995-06-05 | 1998-09-29 | Motorola, Inc. | Method for designing a product having hardware and software components and product therefor |
ZA965340B (en) | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
US5889982A (en) | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US5559450A (en) | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
US5978583A (en) | 1995-08-07 | 1999-11-02 | International Business Machines Corp. | Method for resource control in parallel environments using program organization and run-time support |
US5649176A (en) | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
US5996083A (en) | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
GB2304438A (en) | 1995-08-17 | 1997-03-19 | Kenneth Austin | Re-configurable application specific device |
US5583450A (en) | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5646545A (en) | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US5600263A (en) * | 1995-08-18 | 1997-02-04 | Xilinx, Inc. | Configuration modes for a time multiplexed programmable logic device |
US5778439A (en) | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5784313A (en) | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5737565A (en) | 1995-08-24 | 1998-04-07 | International Business Machines Corporation | System and method for diallocating stream from a stream buffer |
US5737516A (en) | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
US5734869A (en) | 1995-09-06 | 1998-03-31 | Chen; Duan-Ping | High speed logic circuit simulator |
US6430309B1 (en) | 1995-09-15 | 2002-08-06 | Monogen, Inc. | Specimen preview and inspection system |
US5652894A (en) | 1995-09-29 | 1997-07-29 | Intel Corporation | Method and apparatus for providing power saving modes to a pipelined processor |
US5745734A (en) | 1995-09-29 | 1998-04-28 | International Business Machines Corporation | Method and system for programming a gate array using a compressed configuration bit stream |
US5603047A (en) * | 1995-10-06 | 1997-02-11 | Lsi Logic Corporation | Superscalar microprocessor architecture |
JPH09106389A (ja) * | 1995-10-12 | 1997-04-22 | Sony Corp | 信号処理装置 |
US5754827A (en) | 1995-10-13 | 1998-05-19 | Mentor Graphics Corporation | Method and apparatus for performing fully visible tracing of an emulation |
US5642058A (en) | 1995-10-16 | 1997-06-24 | Xilinx , Inc. | Periphery input/output interconnect structure |
US5815004A (en) | 1995-10-16 | 1998-09-29 | Xilinx, Inc. | Multi-buffered configurable logic block output lines in a field programmable gate array |
US5608342A (en) | 1995-10-23 | 1997-03-04 | Xilinx, Inc. | Hierarchical programming of electrically configurable integrated circuits |
US5656950A (en) | 1995-10-26 | 1997-08-12 | Xilinx, Inc. | Interconnect lines including tri-directional buffer circuits |
US5675262A (en) | 1995-10-26 | 1997-10-07 | Xilinx, Inc. | Fast carry-out scheme in a field programmable gate array |
US5943242A (en) | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5732209A (en) | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US5812844A (en) | 1995-12-07 | 1998-09-22 | Microsoft Corporation | Method and system for scheduling the execution of threads using optional time-specific scheduling constraints |
US5773994A (en) | 1995-12-15 | 1998-06-30 | Cypress Semiconductor Corp. | Method and apparatus for implementing an internal tri-state bus within a programmable logic circuit |
JPH09231788A (ja) | 1995-12-19 | 1997-09-05 | Fujitsu Ltd | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
US5914906A (en) * | 1995-12-20 | 1999-06-22 | International Business Machines Corporation | Field programmable memory array |
US5804986A (en) | 1995-12-29 | 1998-09-08 | Cypress Semiconductor Corp. | Memory in a programmable logic device |
CA2166369C (en) * | 1995-12-29 | 2004-10-19 | Robert J. Blainey | Method and system for determining inter-compilation unit alias information |
US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5715476A (en) | 1995-12-29 | 1998-02-03 | Intel Corporation | Method and apparatus for controlling linear and toggle mode burst access sequences using toggle mode increment logic |
US6317819B1 (en) * | 1996-01-11 | 2001-11-13 | Steven G. Morton | Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction |
JP3247043B2 (ja) | 1996-01-12 | 2002-01-15 | 株式会社日立製作所 | 内部信号で障害検出を行う情報処理システムおよび論理lsi |
KR100415417B1 (ko) | 1996-01-15 | 2004-04-17 | 지멘스 악티엔게젤샤프트 | 이미지-처리프로세서 |
JP2795244B2 (ja) | 1996-01-17 | 1998-09-10 | 日本電気株式会社 | プログラムデバッグシステム |
US5760602A (en) | 1996-01-17 | 1998-06-02 | Hewlett-Packard Company | Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA |
US6247036B1 (en) | 1996-01-22 | 2001-06-12 | Infinite Technology Corp. | Processor with reconfigurable arithmetic data path |
US5854918A (en) | 1996-01-24 | 1998-12-29 | Ricoh Company Ltd. | Apparatus and method for self-timed algorithmic execution |
US5898602A (en) | 1996-01-25 | 1999-04-27 | Xilinx, Inc. | Carry chain circuit with flexible carry function for implementing arithmetic and logical functions |
US5787007A (en) * | 1996-01-30 | 1998-07-28 | Xilinx, Inc. | Structure and method for loading RAM data within a programmable logic device |
US5936424A (en) | 1996-02-02 | 1999-08-10 | Xilinx, Inc. | High speed bus with tree structure for selecting bus driver |
US5635851A (en) | 1996-02-02 | 1997-06-03 | Xilinx, Inc. | Read and writable data bus particularly for programmable logic devices |
US5727229A (en) | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
US5754459A (en) | 1996-02-08 | 1998-05-19 | Xilinx, Inc. | Multiplier circuit design for a programmable logic device |
KR0165515B1 (ko) | 1996-02-17 | 1999-01-15 | 김광호 | 그래픽 데이터의 선입선출기 및 선입선출 방법 |
US6020758A (en) | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
US5841973A (en) * | 1996-03-13 | 1998-11-24 | Cray Research, Inc. | Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory |
US6279077B1 (en) | 1996-03-22 | 2001-08-21 | Texas Instruments Incorporated | Bus interface buffer control in a microprocessor |
US6311265B1 (en) * | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
US6154049A (en) | 1998-03-27 | 2000-11-28 | Xilinx, Inc. | Multiplier fabric for use in field programmable gate arrays |
US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5687325A (en) | 1996-04-19 | 1997-11-11 | Chang; Web | Application specific field programmable gate array |
US6173434B1 (en) | 1996-04-22 | 2001-01-09 | Brigham Young University | Dynamically-configurable digital processor using method for relocating logic array modules |
US5960200A (en) | 1996-05-03 | 1999-09-28 | I-Cube | System to transition an enterprise to a distributed infrastructure |
US5894565A (en) | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5784636A (en) | 1996-05-28 | 1998-07-21 | National Semiconductor Corporation | Reconfigurable computer architecture for use in signal processing applications |
US5892370A (en) | 1996-06-21 | 1999-04-06 | Quicklogic Corporation | Clock network for field programmable gate array |
EP0978051A1 (en) | 1996-06-21 | 2000-02-09 | Mirage Technologies, Inc. | Dynamically reconfigurable hardware system for real-time control of processes |
US5893165A (en) | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO |
US6785826B1 (en) | 1996-07-17 | 2004-08-31 | International Business Machines Corporation | Self power audit and control circuitry for microprocessor functional units |
US6526461B1 (en) | 1996-07-18 | 2003-02-25 | Altera Corporation | Interconnect chip for programmable logic devices |
US6023742A (en) | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US6023564A (en) | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
US5774704A (en) | 1996-07-29 | 1998-06-30 | Silicon Graphics, Inc. | Apparatus and method for dynamic central processing unit clock adjustment |
KR100280285B1 (ko) | 1996-08-19 | 2001-02-01 | 윤종용 | 멀티미디어 신호에 적합한 멀티미디어 프로세서 |
US6058465A (en) | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5933023A (en) | 1996-09-03 | 1999-08-03 | Xilinx, Inc. | FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines |
US6624658B2 (en) | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
US5859544A (en) | 1996-09-05 | 1999-01-12 | Altera Corporation | Dynamic configurable elements for programmable logic devices |
US6049866A (en) | 1996-09-06 | 2000-04-11 | Silicon Graphics, Inc. | Method and system for an efficient user mode cache manipulation using a simulated instruction |
JP3934710B2 (ja) | 1996-09-13 | 2007-06-20 | 株式会社ルネサステクノロジ | マイクロプロセッサ |
US5828858A (en) | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
US6209020B1 (en) | 1996-09-20 | 2001-03-27 | Nortel Networks Limited | Distributed pipeline memory architecture for a computer system with even and odd pids |
US6178494B1 (en) | 1996-09-23 | 2001-01-23 | Virtual Computer Corporation | Modular, hybrid processor and method for producing a modular, hybrid processor |
US5805477A (en) | 1996-09-26 | 1998-09-08 | Hewlett-Packard Company | Arithmetic cell for field programmable devices |
US5694602A (en) | 1996-10-01 | 1997-12-02 | The United States Of America As Represented By The Secretary Of The Air Force | Weighted system and method for spatial allocation of a parallel load |
SG125044A1 (en) | 1996-10-14 | 2006-09-29 | Mitsubishi Gas Chemical Co | Oxygen absorption composition |
US5901279A (en) | 1996-10-18 | 1999-05-04 | Hughes Electronics Corporation | Connection of spares between multiple programmable devices |
US5832288A (en) | 1996-10-18 | 1998-11-03 | Samsung Electronics Co., Ltd. | Element-select mechanism for a vector processor |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US5844422A (en) | 1996-11-13 | 1998-12-01 | Xilinx, Inc. | State saving and restoration in reprogrammable FPGAs |
US5895487A (en) | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
US5860119A (en) | 1996-11-25 | 1999-01-12 | Vlsi Technology, Inc. | Data-packet fifo buffer system with end-of-packet flags |
US6005410A (en) | 1996-12-05 | 1999-12-21 | International Business Machines Corporation | Interconnect structure between heterogeneous core regions in a programmable array |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
US5913925A (en) | 1996-12-16 | 1999-06-22 | International Business Machines Corporation | Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order |
US6338106B1 (en) | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
EP1329816B1 (de) | 1996-12-27 | 2011-06-22 | Richter, Thomas | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) |
DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
US6427156B1 (en) | 1997-01-21 | 2002-07-30 | Xilinx, Inc. | Configurable logic block with AND gate for efficient multiplication in FPGAS |
EP0858168A1 (en) | 1997-01-29 | 1998-08-12 | Hewlett-Packard Company | Field programmable processor array |
EP0858167A1 (en) | 1997-01-29 | 1998-08-12 | Hewlett-Packard Company | Field programmable processor device |
DE19704044A1 (de) | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
US5865239A (en) | 1997-02-05 | 1999-02-02 | Micropump, Inc. | Method for making herringbone gears |
US6055619A (en) | 1997-02-07 | 2000-04-25 | Cirrus Logic, Inc. | Circuits, system, and methods for processing multiple data streams |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
JP3730740B2 (ja) | 1997-02-24 | 2006-01-05 | 株式会社日立製作所 | 並列ジョブ多重スケジューリング方法 |
US6150837A (en) | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
WO1998038958A1 (en) | 1997-03-05 | 1998-09-11 | Massachusetts Institute Of Technology | A reconfigurable footprint mechanism for omnidirectional vehicles |
US5857097A (en) * | 1997-03-10 | 1999-01-05 | Digital Equipment Corporation | Method for identifying reasons for dynamic stall cycles during the execution of a program |
US6125408A (en) | 1997-03-10 | 2000-09-26 | Compaq Computer Corporation | Resource type prioritization in generating a device configuration |
US5884075A (en) | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
JPH10256383A (ja) * | 1997-03-12 | 1998-09-25 | Toshiba Corp | 半導体装置及びその回路構成方法 |
GB2323188B (en) | 1997-03-14 | 2002-02-06 | Nokia Mobile Phones Ltd | Enabling and disabling clocking signals to elements |
US6085317A (en) | 1997-08-15 | 2000-07-04 | Altera Corporation | Reconfigurable computer architecture using programmable logic devices |
AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6507898B1 (en) | 1997-04-30 | 2003-01-14 | Canon Kabushiki Kaisha | Reconfigurable data cache controller |
US6389379B1 (en) | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
US6230278B1 (en) * | 1997-05-02 | 2001-05-08 | Texas Instruments Incorporated | Microprocessor with functional units that can be selectively coupled |
US6134516A (en) * | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
US6035371A (en) | 1997-05-28 | 2000-03-07 | 3Com Corporation | Method and apparatus for addressing a static random access memory device based on signals for addressing a dynamic memory access device |
US6421817B1 (en) | 1997-05-29 | 2002-07-16 | Xilinx, Inc. | System and method of computation in a programmable logic device using virtual instructions |
US6047115A (en) | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US6385672B1 (en) | 1997-05-30 | 2002-05-07 | 3Com Corporation | System to optimize packet buffer utilization via selectively partitioned transmit and receive buffer portions |
US6339840B1 (en) | 1997-06-02 | 2002-01-15 | Iowa State University Research Foundation, Inc. | Apparatus and method for parallelizing legacy computer code |
US6895452B1 (en) | 1997-06-04 | 2005-05-17 | Marger Johnson & Mccollom, P.C. | Tightly coupled and scalable memory and execution unit architecture |
US6011407A (en) | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
US5996048A (en) | 1997-06-20 | 1999-11-30 | Sun Microsystems, Inc. | Inclusion vector architecture for a level two cache |
US6058266A (en) * | 1997-06-24 | 2000-05-02 | International Business Machines Corporation | Method of, system for, and computer program product for performing weighted loop fusion by an optimizing compiler |
US5838988A (en) | 1997-06-25 | 1998-11-17 | Sun Microsystems, Inc. | Computer product for precise architectural update in an out-of-order processor |
US6240502B1 (en) | 1997-06-25 | 2001-05-29 | Sun Microsystems, Inc. | Apparatus for dynamically reconfiguring a processor |
US5970254A (en) | 1997-06-27 | 1999-10-19 | Cooke; Laurence H. | Integrated processor and programmable data path chip for reconfigurable computing |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US6072348A (en) | 1997-07-09 | 2000-06-06 | Xilinx, Inc. | Programmable power reduction in a clock-distribution circuit |
US6437441B1 (en) | 1997-07-10 | 2002-08-20 | Kawasaki Microelectronics, Inc. | Wiring structure of a semiconductor integrated circuit and a method of forming the wiring structure |
US6226714B1 (en) | 1997-07-15 | 2001-05-01 | International Business Machines Corporation | Method for invalidating cache lines on a sharing list |
US6020760A (en) | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
EP0892352B1 (en) | 1997-07-18 | 2005-04-13 | Bull S.A. | Computer system with a bus having a segmented structure |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6170051B1 (en) * | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6078736A (en) | 1997-08-28 | 2000-06-20 | Xilinx, Inc. | Method of designing FPGAs for dynamically reconfigurable computing |
US6038656A (en) | 1997-09-12 | 2000-03-14 | California Institute Of Technology | Pipelined completion for asynchronous communication |
JP3636871B2 (ja) | 1997-09-16 | 2005-04-06 | 株式会社日立製作所 | 並列プロセッサシステム |
JP3612186B2 (ja) | 1997-09-19 | 2005-01-19 | 株式会社ルネサステクノロジ | データ処理装置 |
US6539415B1 (en) | 1997-09-24 | 2003-03-25 | Sony Corporation | Method and apparatus for the allocation of audio/video tasks in a network system |
US6148407A (en) | 1997-09-30 | 2000-11-14 | Intel Corporation | Method and apparatus for producing computer platform fingerprints |
US6034542A (en) * | 1997-10-14 | 2000-03-07 | Xilinx, Inc. | Bus structure for modularized chip with FPGA modules |
US5966143A (en) | 1997-10-14 | 1999-10-12 | Motorola, Inc. | Data allocation into multiple memories for concurrent access |
JP3850531B2 (ja) * | 1997-10-21 | 2006-11-29 | 株式会社東芝 | 再構成可能な回路の設計装置、及び再構成可能な回路装置 |
SG82587A1 (en) | 1997-10-21 | 2001-08-21 | Sony Corp | Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, presentation medium and recording medium |
US6076157A (en) | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
JP4128251B2 (ja) | 1997-10-23 | 2008-07-30 | 富士通株式会社 | 配線密度予測方法およびセル配置装置 |
US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6209065B1 (en) | 1997-10-24 | 2001-03-27 | Compaq Computer Corporation | Mechanism for optimizing generation of commit-signals in a distributed shared-memory system |
US6108737A (en) | 1997-10-24 | 2000-08-22 | Compaq Computer Corporation | Method and apparatus for reducing latency of inter-reference ordering in a multiprocessor system |
US6247147B1 (en) | 1997-10-27 | 2001-06-12 | Altera Corporation | Enhanced embedded logic analyzer |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US6108760A (en) | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
US5915123A (en) | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
US6127908A (en) | 1997-11-17 | 2000-10-03 | Massachusetts Institute Of Technology | Microelectro-mechanical system actuator device and reconfigurable circuits utilizing same |
JPH11147335A (ja) * | 1997-11-18 | 1999-06-02 | Fuji Xerox Co Ltd | 描画処理装置 |
JP4197755B2 (ja) | 1997-11-19 | 2008-12-17 | 富士通株式会社 | 信号伝送システム、該信号伝送システムのレシーバ回路、および、該信号伝送システムが適用される半導体記憶装置 |
US6212650B1 (en) | 1997-11-24 | 2001-04-03 | Xilinx, Inc. | Interactive dubug tool for programmable circuits |
US5966048A (en) * | 1997-11-25 | 1999-10-12 | Hughes Electronics Corporation | Low IMD amplification method and apparatus |
US6237059B1 (en) | 1997-11-26 | 2001-05-22 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system interactions among contexts in a computer system |
US6075935A (en) | 1997-12-01 | 2000-06-13 | Improv Systems, Inc. | Method of generating application specific integrated circuits using a programmable hardware architecture |
US6091263A (en) | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
DE69737750T2 (de) | 1997-12-17 | 2008-03-06 | Hewlett-Packard Development Co., L.P., Houston | Erst- und Zweitprozessoren verwendetes Verfahren |
DE69827589T2 (de) | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen |
JP2003526129A (ja) | 1997-12-17 | 2003-09-02 | エリクセントリミティド | プログラマブル・アレイにおける乗算器の実現 |
DE69841256D1 (de) | 1997-12-17 | 2009-12-10 | Panasonic Corp | Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6260114B1 (en) | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6049222A (en) | 1997-12-30 | 2000-04-11 | Xilinx, Inc | Configuring an FPGA using embedded memory |
US6172520B1 (en) | 1997-12-30 | 2001-01-09 | Xilinx, Inc. | FPGA system with user-programmable configuration ports and method for reconfiguring the FPGA |
US6105106A (en) | 1997-12-31 | 2000-08-15 | Micron Technology, Inc. | Computer system, memory device and shift register including a balanced switching circuit with series connected transfer gates which are selectively clocked for fast switching times |
US6301706B1 (en) * | 1997-12-31 | 2001-10-09 | Elbrus International Limited | Compiler method and apparatus for elimination of redundant speculative computations from innermost loops |
US6216223B1 (en) | 1998-01-12 | 2001-04-10 | Billions Of Operations Per Second, Inc. | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor |
US6034538A (en) | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6038646A (en) | 1998-01-23 | 2000-03-14 | Sun Microsystems, Inc. | Method and apparatus for enforcing ordered execution of reads and writes across a memory interface |
WO1999038071A1 (en) | 1998-01-26 | 1999-07-29 | Chameleon Systems, Inc. | Reconfigurable logic for table lookup |
US6230307B1 (en) | 1998-01-26 | 2001-05-08 | Xilinx, Inc. | System and method for programming the hardware of field programmable gate arrays (FPGAs) and related reconfiguration resources as if they were software by creating hardware objects |
US6141734A (en) | 1998-02-03 | 2000-10-31 | Compaq Computer Corporation | Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol |
DE69919059T2 (de) | 1998-02-04 | 2005-01-27 | Texas Instruments Inc., Dallas | Datenverarbeitungssytem mit einem digitalen Signalprozessor und einem Koprozessor und Datenverarbeitungsverfahren |
US6094726A (en) * | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
US6086628A (en) | 1998-02-17 | 2000-07-11 | Lucent Technologies Inc. | Power-related hardware-software co-synthesis of heterogeneous distributed embedded systems |
US7152027B2 (en) | 1998-02-17 | 2006-12-19 | National Instruments Corporation | Reconfigurable test system |
US6198304B1 (en) | 1998-02-23 | 2001-03-06 | Xilinx, Inc. | Programmable logic device |
US6096091A (en) | 1998-02-24 | 2000-08-01 | Advanced Micro Devices, Inc. | Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
FR2776093A1 (fr) | 1998-03-10 | 1999-09-17 | Philips Electronics Nv | Circuit processeur programmable muni d'une memoire reconfigurable, pour realiser un filtre numerique |
US5990910A (en) | 1998-03-24 | 1999-11-23 | Ati Technologies, Inc. | Method and apparatus for co-processing multi-formatted data |
US6124868A (en) | 1998-03-24 | 2000-09-26 | Ati Technologies, Inc. | Method and apparatus for multiple co-processor utilization of a ring buffer |
US6298043B1 (en) | 1998-03-28 | 2001-10-02 | Nortel Networks Limited | Communication system architecture and a connection verification mechanism therefor |
US6079008A (en) * | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6456628B1 (en) | 1998-04-17 | 2002-09-24 | Intelect Communications, Inc. | DSP intercommunication network |
US6084429A (en) | 1998-04-24 | 2000-07-04 | Xilinx, Inc. | PLD having a window pane architecture with segmented and staggered interconnect wiring between logic block arrays |
US6421808B1 (en) * | 1998-04-24 | 2002-07-16 | Cadance Design Systems, Inc. | Hardware design language for the design of integrated circuits |
US6119219A (en) | 1998-04-30 | 2000-09-12 | International Business Machines Corporation | System serialization with early release of individual processor |
US6173419B1 (en) | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
US6052524A (en) | 1998-05-14 | 2000-04-18 | Software Development Systems, Inc. | System and method for simulation of integrated hardware and software components |
US6449283B1 (en) | 1998-05-15 | 2002-09-10 | Polytechnic University | Methods and apparatus for providing a fast ring reservation arbitration |
US5999990A (en) | 1998-05-18 | 1999-12-07 | Motorola, Inc. | Communicator having reconfigurable resources |
US6286090B1 (en) | 1998-05-26 | 2001-09-04 | Compaq Computer Corporation | Mechanism for selectively imposing interference order between page-table fetches and corresponding data fetches |
US6092174A (en) | 1998-06-01 | 2000-07-18 | Context, Inc. | Dynamically reconfigurable distributed integrated circuit processor and method |
US6298396B1 (en) | 1998-06-01 | 2001-10-02 | Advanced Micro Devices, Inc. | System for loading a current buffer desciptor register with a value different from current value to cause a previously read buffer descriptor to be read again |
JP3123977B2 (ja) | 1998-06-04 | 2001-01-15 | 日本電気株式会社 | プログラマブル機能ブロック |
US5991900A (en) | 1998-06-15 | 1999-11-23 | Sun Microsystems, Inc. | Bus controller |
US6587961B1 (en) | 1998-06-15 | 2003-07-01 | Sun Microsystems, Inc. | Multi-processor system bridge with controlled access |
US6260159B1 (en) | 1998-06-15 | 2001-07-10 | Sun Microsystems, Inc. | Tracking memory page modification in a bridge for a multi-processor system |
US6282627B1 (en) | 1998-06-29 | 2001-08-28 | Chameleon Systems, Inc. | Integrated processor and programmable data path chip for reconfigurable computing |
US6202182B1 (en) | 1998-06-30 | 2001-03-13 | Lucent Technologies Inc. | Method and apparatus for testing field programmable gate arrays |
DE69803373T2 (de) | 1998-07-06 | 2002-08-14 | Hewlett Packard Co | Verdrahtung von Zellen in logischen Feldern |
WO2000003516A1 (en) | 1998-07-08 | 2000-01-20 | Broadcom Corporation | Network switching architecture with multiple table synchronization, and forwarding of both ip and ipx packets |
WO2001006371A1 (en) | 1998-07-21 | 2001-01-25 | Seagate Technology Llc | Improved memory system apparatus and method |
EP0974906A3 (en) * | 1998-07-24 | 2008-12-24 | Interuniversitair Microelektronica Centrum Vzw | Method for determining an optimized memory organization of a digital device |
DE19835189C2 (de) | 1998-08-04 | 2001-02-08 | Unicor Rohrsysteme Gmbh | Vorrichtung zur kontinuierlichen Herstellung von nahtlosen Kunststoffrohren |
US6321296B1 (en) | 1998-08-04 | 2001-11-20 | International Business Machines Corporation | SDRAM L3 cache using speculative loads with command aborts to lower latency |
US6137307A (en) | 1998-08-04 | 2000-10-24 | Xilinx, Inc. | Structure and method for loading wide frames of data from a narrow input bus |
US6289369B1 (en) | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
US20020152060A1 (en) | 1998-08-31 | 2002-10-17 | Tseng Ping-Sheng | Inter-chip communication system |
JP2000076066A (ja) | 1998-09-02 | 2000-03-14 | Fujitsu Ltd | 信号処理回路 |
US7100026B2 (en) | 2001-05-30 | 2006-08-29 | The Massachusetts Institute Of Technology | System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values |
US6205458B1 (en) | 1998-09-21 | 2001-03-20 | Rn2R, L.L.C. | Adder and multiplier circuits employing logic gates having discrete, weighted inputs and methods of performing combinatorial operations therewith |
US6216174B1 (en) | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6421757B1 (en) | 1998-09-30 | 2002-07-16 | Conexant Systems, Inc | Method and apparatus for controlling the programming and erasing of flash memory |
JP3551353B2 (ja) | 1998-10-02 | 2004-08-04 | 株式会社日立製作所 | データ再配置方法 |
EP0992916A1 (en) | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6467009B1 (en) | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
US6952827B1 (en) * | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6215326B1 (en) | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
JP2002530780A (ja) | 1998-11-20 | 2002-09-17 | アルテラ・コーポレーション | 再構成可能なプログラマブルロジックデバイスコンピュータシステム |
US6977649B1 (en) | 1998-11-23 | 2005-12-20 | 3Dlabs, Inc. Ltd | 3D graphics rendering with selective read suspend |
US6249756B1 (en) | 1998-12-07 | 2001-06-19 | Compaq Computer Corp. | Hybrid flow control |
US6292916B1 (en) * | 1998-12-10 | 2001-09-18 | Lucent Technologies Inc. | Parallel backtracing for satisfiability on reconfigurable hardware |
WO2000034883A2 (en) | 1998-12-11 | 2000-06-15 | Microsoft Corporation | Accelerating a distributed component architecture over a network using an implicit flow control |
JP2000181566A (ja) | 1998-12-14 | 2000-06-30 | Mitsubishi Electric Corp | マルチクロック並列処理装置 |
US6044030A (en) | 1998-12-21 | 2000-03-28 | Philips Electronics North America Corporation | FIFO unit with single pointer |
US6694434B1 (en) * | 1998-12-23 | 2004-02-17 | Entrust Technologies Limited | Method and apparatus for controlling program execution and program distribution |
SE9804529L (sv) | 1998-12-23 | 2000-06-24 | Axis Ab | Flexibel minneskanal |
US6434695B1 (en) | 1998-12-23 | 2002-08-13 | Apple Computer, Inc. | Computer operating system using compressed ROM image in RAM |
US6757847B1 (en) | 1998-12-29 | 2004-06-29 | International Business Machines Corporation | Synchronization for system analysis |
US6496902B1 (en) | 1998-12-31 | 2002-12-17 | Cray Inc. | Vector and scalar data cache for a vector multiprocessor |
JP3585800B2 (ja) | 1999-01-13 | 2004-11-04 | 株式会社東芝 | 情報処理装置 |
US6324673B1 (en) * | 1999-01-14 | 2001-11-27 | Princeton University | Method and apparatus for edge-endpoint-based VLSI design rule checking |
US6539438B1 (en) | 1999-01-15 | 2003-03-25 | Quickflex Inc. | Reconfigurable computing system and method and apparatus employing same |
US6490695B1 (en) | 1999-01-22 | 2002-12-03 | Sun Microsystems, Inc. | Platform independent memory image analysis architecture for debugging a computer program |
US6321298B1 (en) | 1999-01-25 | 2001-11-20 | International Business Machines Corporation | Full cache coherency across multiple raid controllers |
US6226717B1 (en) | 1999-02-04 | 2001-05-01 | Compaq Computer Corporation | System and method for exclusive access to shared storage |
DE10028397A1 (de) | 2000-06-13 | 2001-12-20 | Pact Inf Tech Gmbh | Registrierverfahren |
US6243808B1 (en) | 1999-03-08 | 2001-06-05 | Chameleon Systems, Inc. | Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups |
US6446242B1 (en) * | 1999-04-02 | 2002-09-03 | Actel Corporation | Method and apparatus for storing a validation number in a field-programmable gate array |
US6191614B1 (en) * | 1999-04-05 | 2001-02-20 | Xilinx, Inc. | FPGA configuration circuit including bus-based CRC register |
US6512804B1 (en) | 1999-04-07 | 2003-01-28 | Applied Micro Circuits Corporation | Apparatus and method for multiple serial data synchronization using channel-lock FIFO buffers optimized for jitter |
GB9909196D0 (en) | 1999-04-21 | 1999-06-16 | Texas Instruments Ltd | Transfer controller with hub and ports architecture |
US6286134B1 (en) | 1999-04-23 | 2001-09-04 | Sun Microsystems, Inc. | Instruction selection in a multi-platform environment |
JP2000311156A (ja) | 1999-04-27 | 2000-11-07 | Mitsubishi Electric Corp | 再構成可能並列計算機 |
US6381624B1 (en) | 1999-04-29 | 2002-04-30 | Hewlett-Packard Company | Faster multiply/accumulator |
US6298472B1 (en) | 1999-05-07 | 2001-10-02 | Chameleon Systems, Inc. | Behavioral silicon construct architecture and mapping |
US7007096B1 (en) * | 1999-05-12 | 2006-02-28 | Microsoft Corporation | Efficient splitting and mixing of streaming-data frames for processing through multiple processing modules |
US6748440B1 (en) | 1999-05-12 | 2004-06-08 | Microsoft Corporation | Flow of streaming data through multiple processing modules |
US6211697B1 (en) | 1999-05-25 | 2001-04-03 | Actel | Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure |
WO2000077652A2 (de) * | 1999-06-10 | 2000-12-21 | Pact Informationstechnologie Gmbh | Sequenz-partitionierung auf zellstrukturen |
DE19926538A1 (de) | 1999-06-10 | 2000-12-14 | Pact Inf Tech Gmbh | Hardware und Betriebsverfahren |
EP1061439A1 (en) | 1999-06-15 | 2000-12-20 | Hewlett-Packard Company | Memory and instructions in computer architecture containing processor and coprocessor |
US6757892B1 (en) | 1999-06-24 | 2004-06-29 | Sarnoff Corporation | Method for determining an optimal partitioning of data among several memories |
US6347346B1 (en) | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
JP3420121B2 (ja) | 1999-06-30 | 2003-06-23 | Necエレクトロニクス株式会社 | 不揮発性半導体記憶装置 |
GB2352548B (en) | 1999-07-26 | 2001-06-06 | Sun Microsystems Inc | Method and apparatus for executing standard functions in a computer system |
US6745317B1 (en) | 1999-07-30 | 2004-06-01 | Broadcom Corporation | Three level direct communication connections between neighboring multiple context processing elements |
US6370596B1 (en) | 1999-08-03 | 2002-04-09 | Chameleon Systems, Inc. | Logic flag registers for monitoring processing system events |
US6341318B1 (en) | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6204687B1 (en) | 1999-08-13 | 2001-03-20 | Xilinx, Inc. | Method and structure for configuring FPGAS |
US6438747B1 (en) * | 1999-08-20 | 2002-08-20 | Hewlett-Packard Company | Programmatic iteration scheduling for parallel processors |
US6507947B1 (en) | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6606704B1 (en) | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6457100B1 (en) | 1999-09-15 | 2002-09-24 | International Business Machines Corporation | Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls |
US6349346B1 (en) | 1999-09-23 | 2002-02-19 | Chameleon Systems, Inc. | Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit |
US6311200B1 (en) | 1999-09-23 | 2001-10-30 | Chameleon Systems, Inc. | Reconfigurable program sum of products generator |
US6288566B1 (en) | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6631487B1 (en) | 1999-09-27 | 2003-10-07 | Lattice Semiconductor Corp. | On-line testing of field programmable gate array resources |
DE19946752A1 (de) | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Rekonfigurierbares Gate-Array |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6665758B1 (en) | 1999-10-04 | 2003-12-16 | Ncr Corporation | Software sanity monitor |
US6526430B1 (en) | 1999-10-04 | 2003-02-25 | Texas Instruments Incorporated | Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing) |
US6434642B1 (en) | 1999-10-07 | 2002-08-13 | Xilinx, Inc. | FIFO memory system and method with improved determination of full and empty conditions and amount of data stored |
AU1780301A (en) | 1999-11-18 | 2001-05-30 | Sun Microsystems, Inc. | Decompression bit processing with a general purpose alignment tool |
JP2001167066A (ja) | 1999-12-08 | 2001-06-22 | Nec Corp | プロセッサ間通信方法及びマルチプロセッサシステム |
US6501999B1 (en) | 1999-12-22 | 2002-12-31 | Intel Corporation | Multi-processor mobile computer system having one processor integrated with a chipset |
US6625654B1 (en) | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6633181B1 (en) | 1999-12-30 | 2003-10-14 | Stretch, Inc. | Multi-scale programmable array |
DE60133595T2 (de) | 2000-01-07 | 2009-04-30 | Nippon Telegraph And Telephone Corp. | Funktionsrekonfigurierbare Halbleitervorrichtung und integrierte Schaltung zum Konfigurieren der Halbleitervorrichtung |
JP2001202236A (ja) | 2000-01-20 | 2001-07-27 | Fuji Xerox Co Ltd | プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法 |
US20020031166A1 (en) | 2000-01-28 | 2002-03-14 | Ravi Subramanian | Wireless spread spectrum communication platform using dynamically reconfigurable logic |
US6925641B1 (en) | 2000-02-04 | 2005-08-02 | Xronix Communications, Inc. | Real time DSP load management system |
US6496971B1 (en) | 2000-02-07 | 2002-12-17 | Xilinx, Inc. | Supporting multiple FPGA configuration modes using dedicated on-chip processor |
US6487709B1 (en) | 2000-02-09 | 2002-11-26 | Xilinx, Inc. | Run-time routing for programmable logic devices |
US6763327B1 (en) | 2000-02-17 | 2004-07-13 | Tensilica, Inc. | Abstraction of configurable processor functionality for operating systems portability |
US7036106B1 (en) | 2000-02-17 | 2006-04-25 | Tensilica, Inc. | Automated processor generation system for designing a configurable processor and method for the same |
US6519674B1 (en) | 2000-02-18 | 2003-02-11 | Chameleon Systems, Inc. | Configuration bits layout |
JP2001236221A (ja) | 2000-02-21 | 2001-08-31 | Keisuke Shindo | マルチスレッドを利用するパイプライン並列プロセッサ |
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 |
JP3674515B2 (ja) | 2000-02-25 | 2005-07-20 | 日本電気株式会社 | アレイ型プロセッサ |
US6434672B1 (en) | 2000-02-29 | 2002-08-13 | Hewlett-Packard Company | Methods and apparatus for improving system performance with a shared cache memory |
US6539477B1 (en) | 2000-03-03 | 2003-03-25 | Chameleon Systems, Inc. | System and method for control synthesis using a reachable states look-up table |
KR100841411B1 (ko) | 2000-03-14 | 2008-06-25 | 소니 가부시끼 가이샤 | 전송장치, 수신장치, 전송방법, 수신방법과 기록매체 |
US6657457B1 (en) | 2000-03-15 | 2003-12-02 | Intel Corporation | Data transfer on reconfigurable chip |
US6871341B1 (en) | 2000-03-24 | 2005-03-22 | Intel Corporation | Adaptive scheduling of function cells in dynamic reconfigurable logic |
US6665865B1 (en) * | 2000-04-27 | 2003-12-16 | Microsoft Corporation | Equivalence class based synchronization optimization |
US6624819B1 (en) | 2000-05-01 | 2003-09-23 | Broadcom Corporation | Method and system for providing a flexible and efficient processor for use in a graphics processing system |
US6845445B2 (en) * | 2000-05-12 | 2005-01-18 | Pts Corporation | Methods and apparatus for power control in a scalable array of processor elements |
US6362650B1 (en) | 2000-05-18 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for incorporating a multiplier into an FPGA |
US6373779B1 (en) | 2000-05-19 | 2002-04-16 | Xilinx, Inc. | Block RAM having multiple configurable write modes for use in a field programmable gate array |
US6725334B2 (en) | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
US6675265B2 (en) | 2000-06-10 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants |
US7340596B1 (en) | 2000-06-12 | 2008-03-04 | Altera Corporation | Embedded processor with watchdog timer for programmable logic |
EP2226732A3 (de) | 2000-06-13 | 2016-04-06 | PACT XPP Technologies AG | Cachehierarchie für einen Multicore-Prozessor |
US6285624B1 (en) | 2000-07-08 | 2001-09-04 | Han-Ping Chen | Multilevel memory access method |
US6799265B1 (en) | 2000-07-11 | 2004-09-28 | Intel Corporation | Dependency checking for reconfigurable logic |
US20020100029A1 (en) * | 2000-07-20 | 2002-07-25 | Matt Bowen | System, method and article of manufacture for compiling and invoking C functions in hardware |
US20030028690A1 (en) | 2000-07-20 | 2003-02-06 | John Appleby-Alis | System, method and article of manufacture for a reconfigurable hardware-based multimedia device |
DE10129237A1 (de) | 2000-10-09 | 2002-04-18 | Pact Inf Tech Gmbh | Verfahren zur Bearbeitung von Daten |
DE10036627A1 (de) | 2000-07-24 | 2002-02-14 | Pact Inf Tech Gmbh | Integrierter Schaltkreis |
JP2002041489A (ja) | 2000-07-25 | 2002-02-08 | Mitsubishi Electric Corp | 同期信号生成回路、それを用いたプロセッサシステムおよび同期信号生成方法 |
US7164422B1 (en) * | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
US7924837B1 (en) | 2000-07-31 | 2011-04-12 | Avaya Communication Israel Ltd. | IP multicast in VLAN environment |
US6538468B1 (en) | 2000-07-31 | 2003-03-25 | Cypress Semiconductor Corporation | Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD) |
US6542844B1 (en) | 2000-08-02 | 2003-04-01 | International Business Machines Corporation | Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits |
US6754805B1 (en) | 2000-08-07 | 2004-06-22 | Transwitch Corporation | Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration |
EP1356401A2 (en) | 2000-08-07 | 2003-10-29 | Altera Corporation | Software-to-hardware compiler |
EP1182559B1 (en) | 2000-08-21 | 2009-01-21 | Texas Instruments Incorporated | Improved microprocessor |
US7249351B1 (en) | 2000-08-30 | 2007-07-24 | Broadcom Corporation | System and method for preparing software for execution in a dynamically configurable hardware environment |
US6829697B1 (en) | 2000-09-06 | 2004-12-07 | International Business Machines Corporation | Multiple logical interfaces to a shared coprocessor resource |
US7346644B1 (en) | 2000-09-18 | 2008-03-18 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6538470B1 (en) | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6518787B1 (en) | 2000-09-21 | 2003-02-11 | Triscend Corporation | Input/output architecture for efficient configuration of programmable input/output cells |
GB2367647B (en) | 2000-10-03 | 2002-11-20 | Sun Microsystems Inc | Resource access control for a processor |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6525678B1 (en) | 2000-10-06 | 2003-02-25 | Altera Corporation | Configuring a programmable logic device |
JP2004517386A (ja) | 2000-10-06 | 2004-06-10 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | 方法および装置 |
US20040015899A1 (en) | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US20020045952A1 (en) | 2000-10-12 | 2002-04-18 | Blemel Kenneth G. | High performance hybrid micro-computer |
JP2002123563A (ja) * | 2000-10-13 | 2002-04-26 | Nec Corp | コンパイル方法および合成装置ならびに記録媒体 |
US6398383B1 (en) | 2000-10-30 | 2002-06-04 | Yu-Hwei Huang | Flashlight carriable on one's person |
JP3636986B2 (ja) | 2000-12-06 | 2005-04-06 | 松下電器産業株式会社 | 半導体集積回路 |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
EP1346280A1 (en) | 2000-12-20 | 2003-09-24 | Koninklijke Philips Electronics N.V. | Data processing device with a configurable functional unit |
US6643747B2 (en) | 2000-12-27 | 2003-11-04 | Intel Corporation | Processing requests to efficiently access a limited bandwidth storage area |
US6571322B2 (en) | 2000-12-28 | 2003-05-27 | International Business Machines Corporation | Multiprocessor computer system with sectored cache line mechanism for cache intervention |
US6483343B1 (en) | 2000-12-29 | 2002-11-19 | Quicklogic Corporation | Configurable computational unit embedded in a programmable device |
US6426649B1 (en) | 2000-12-29 | 2002-07-30 | Quicklogic Corporation | Architecture for field programmable gate array |
US6522167B1 (en) | 2001-01-09 | 2003-02-18 | Xilinx, Inc. | User configurable on-chip memory system |
US6392912B1 (en) | 2001-01-10 | 2002-05-21 | Chameleon Systems, Inc. | Loading data plane on reconfigurable chip |
US7020673B2 (en) | 2001-01-19 | 2006-03-28 | Sony Corporation | Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system |
US20020099759A1 (en) | 2001-01-24 | 2002-07-25 | Gootherts Paul David | Load balancer with starvation avoidance |
US6633242B2 (en) | 2001-02-08 | 2003-10-14 | Sun Microsystems, Inc. | Entropy coding using adaptable prefix codes |
US6847370B2 (en) | 2001-02-20 | 2005-01-25 | 3D Labs, Inc., Ltd. | Planar byte memory organization with linear access |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US9436631B2 (en) | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
GB2373595B (en) | 2001-03-15 | 2005-09-07 | Italtel Spa | A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US6792588B2 (en) | 2001-04-02 | 2004-09-14 | Intel Corporation | Faster scalable floorplan which enables easier data control flow |
US20020143505A1 (en) | 2001-04-02 | 2002-10-03 | Doron Drusinsky | Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals |
US6836849B2 (en) | 2001-04-05 | 2004-12-28 | International Business Machines Corporation | Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements |
WO2002082267A1 (en) | 2001-04-06 | 2002-10-17 | Wind River Systems, Inc. | Fpga coprocessing system |
US6836842B1 (en) | 2001-04-24 | 2004-12-28 | Xilinx, Inc. | Method of partial reconfiguration of a PLD in which only updated portions of configuration data are selected for reconfiguring the PLD |
US7155602B2 (en) | 2001-04-30 | 2006-12-26 | Src Computers, Inc. | Interface for integrating reconfigurable processors into a general purpose computing system |
US6999984B2 (en) | 2001-05-02 | 2006-02-14 | Intel Corporation | Modification to reconfigurable functional unit in a reconfigurable chip to perform linear feedback shift register function |
US6802026B1 (en) | 2001-05-15 | 2004-10-05 | Xilinx, Inc. | Parameterizable and reconfigurable debugger core generators |
US6976239B1 (en) | 2001-06-12 | 2005-12-13 | Altera Corporation | Methods and apparatus for implementing parameterizable processors and peripherals |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
JP3580785B2 (ja) | 2001-06-29 | 2004-10-27 | 株式会社半導体理工学研究センター | ルックアップテーブル、ルックアップテーブルを備えるプログラマブル論理回路装置、および、ルックアップテーブルの構成方法 |
US7043416B1 (en) | 2001-07-27 | 2006-05-09 | Lsi Logic Corporation | System and method for state restoration in a diagnostic module for a high-speed microprocessor |
US7383421B2 (en) | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7036114B2 (en) | 2001-08-17 | 2006-04-25 | Sun Microsystems, Inc. | Method and apparatus for cycle-based computation |
US7216204B2 (en) | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US6874108B1 (en) | 2001-08-27 | 2005-03-29 | Agere Systems Inc. | Fault tolerant operation of reconfigurable devices utilizing an adjustable system clock |
US6868476B2 (en) | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US6918012B2 (en) * | 2001-08-28 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Streamlined cache coherency protocol system and method for a multiple processor single chip device |
US20030056091A1 (en) | 2001-09-14 | 2003-03-20 | Greenberg Craig B. | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations |
US7472230B2 (en) | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
US20030055861A1 (en) | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
US20030052711A1 (en) | 2001-09-19 | 2003-03-20 | Taylor Bradley L. | Despreader/correlator unit for use in reconfigurable chip |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US6854073B2 (en) | 2001-09-25 | 2005-02-08 | International Business Machines Corporation | Debugger program time monitor |
US6625631B2 (en) | 2001-09-28 | 2003-09-23 | Intel Corporation | Component reduction in montgomery multiplier processing element |
US6798239B2 (en) | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US7000161B1 (en) | 2001-10-15 | 2006-02-14 | Altera Corporation | Reconfigurable programmable logic system with configuration recovery mode |
US20060264508A1 (en) | 2001-10-16 | 2006-11-23 | Stone Richard A | Modulation of ocular growth and myopia by gaba drugs |
US6922821B1 (en) * | 2001-11-15 | 2005-07-26 | Cypress Semiconductor Corp. | System and a method for checking lock step consistency between an in circuit emulation and a microcontroller while debugging process is in progress |
AU2002357739A1 (en) | 2001-11-16 | 2003-06-10 | Morpho Technologies | Viterbi convolutional coding method and apparatus |
US6886092B1 (en) | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US7188234B2 (en) * | 2001-12-12 | 2007-03-06 | Intel Corporation | Run-ahead program execution with value prediction |
US6668237B1 (en) | 2002-01-17 | 2003-12-23 | Xilinx, Inc. | Run-time reconfigurable testing of programmable logic devices |
US20030154349A1 (en) | 2002-01-24 | 2003-08-14 | Berg Stefan G. | Program-directed cache prefetching for media processors |
DE20221985U1 (de) | 2002-02-01 | 2010-03-04 | Tridonicatco Gmbh & Co. Kg | Elektronisches Vorschaltgerät für Gasentladungslampe |
US6476634B1 (en) | 2002-02-01 | 2002-11-05 | Xilinx, Inc. | ALU implementation in single PLD logic cell |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US6732354B2 (en) | 2002-04-23 | 2004-05-04 | Quicksilver Technology, Inc. | Method, system and software for programming reconfigurable hardware |
US6961924B2 (en) | 2002-05-21 | 2005-11-01 | International Business Machines Corporation | Displaying variable usage while debugging |
US20030226056A1 (en) | 2002-05-28 | 2003-12-04 | Michael Yip | Method and system for a process manager |
US6708708B2 (en) * | 2002-07-25 | 2004-03-23 | The Boeing Company | Pneumatic actuation control system and method of operation |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
WO2005010632A2 (en) | 2003-06-17 | 2005-02-03 | Pact Xpp Technologies Ag | Data processing device and method |
US6865662B2 (en) | 2002-08-08 | 2005-03-08 | Faraday Technology Corp. | Controlling VLIW instruction operations supply to functional units using switches based on condition head field |
US6908227B2 (en) | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US6976131B2 (en) | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US6931494B2 (en) | 2002-09-09 | 2005-08-16 | Broadcom Corporation | System and method for directional prefetching |
US6803787B1 (en) | 2002-09-25 | 2004-10-12 | Lattice Semiconductor Corp. | State machine in a programmable logic device |
US7571303B2 (en) | 2002-10-16 | 2009-08-04 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
US7299458B2 (en) * | 2002-10-31 | 2007-11-20 | Src Computers, Inc. | System and method for converting control flow graph representations to control-dataflow graph representations |
US7155708B2 (en) * | 2002-10-31 | 2006-12-26 | Src Computers, Inc. | Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation |
US6816814B2 (en) | 2002-11-12 | 2004-11-09 | Sonics, Inc. | Method and apparatus for decomposing and verifying configurable hardware |
US7873811B1 (en) * | 2003-03-10 | 2011-01-18 | The United States Of America As Represented By The United States Department Of Energy | Polymorphous computing fabric |
US20130111188A9 (en) | 2003-07-24 | 2013-05-02 | Martin Vorbach | Low latency massive parallel data processing device |
US7127560B2 (en) | 2003-10-14 | 2006-10-24 | International Business Machines Corporation | Method of dynamically controlling cache size |
US7412581B2 (en) | 2003-10-28 | 2008-08-12 | Renesas Technology America, Inc. | Processor for virtual machines and method therefor |
TW200532454A (en) | 2003-11-12 | 2005-10-01 | Gatechange Technologies Inc | System and method for message passing fabric in a modular processor architecture |
US8645927B2 (en) * | 2003-11-24 | 2014-02-04 | The Boeing Company | Methods and apparatus for simulation speedup |
US7870182B2 (en) | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US8495122B2 (en) | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7567997B2 (en) | 2003-12-29 | 2009-07-28 | Xilinx, Inc. | Applications of cascading DSP slices |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7472155B2 (en) | 2003-12-29 | 2008-12-30 | Xilinx, Inc. | Programmable logic device with cascading DSP slices |
US7038952B1 (en) | 2004-05-04 | 2006-05-02 | Xilinx, Inc. | Block RAM with embedded FIFO buffer |
US7290238B2 (en) | 2004-05-12 | 2007-10-30 | International Business Machines Corporation | Method, system and program product for building an automated datapath system generating tool |
US7299339B2 (en) | 2004-08-30 | 2007-11-20 | The Boeing Company | Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework |
EP1880274A2 (en) * | 2005-04-22 | 2008-01-23 | Altrix Logic, Inc. | Array of data processing elements with variable precision interconnect |
DE102005021749A1 (de) | 2005-05-11 | 2006-11-16 | Fachhochschule Dortmund | Verfahren und Vorrichtung zur programmgesteuerten Informationsverarbeitung |
US7933838B2 (en) | 2005-05-17 | 2011-04-26 | Zhishen Ye | Apparatus for secure digital content distribution and methods therefor |
US20070043965A1 (en) | 2005-08-22 | 2007-02-22 | Intel Corporation | Dynamic memory sizing for power reduction |
US7455450B2 (en) | 2005-10-07 | 2008-11-25 | Advanced Micro Devices, Inc. | Method and apparatus for temperature sensing in integrated circuits |
US7759968B1 (en) | 2006-09-27 | 2010-07-20 | Xilinx, Inc. | Method of and system for verifying configuration data |
DE102006054052B4 (de) | 2006-11-16 | 2018-11-29 | Siemens Aktiengesellschaft | Drehübertrager |
SG150395A1 (en) | 2007-08-16 | 2009-03-30 | Micron Technology Inc | Stacked microelectronic devices and methods for manufacturing stacked microelectronic devices |
US8463835B1 (en) | 2007-09-13 | 2013-06-11 | Xilinx, Inc. | Circuit for and method of providing a floating-point adder |
US7971051B2 (en) | 2007-09-27 | 2011-06-28 | Fujitsu Limited | FPGA configuration protection and control using hardware watchdog timer |
US20090193384A1 (en) | 2008-01-25 | 2009-07-30 | Mihai Sima | Shift-enabled reconfigurable device |
US8790099B2 (en) | 2008-01-29 | 2014-07-29 | Dafeng Fengtai Fluid Machinery Technology Co., Ltd. | Rotary compressor with synchronous turning between cylinder block and rotor |
JP2010277303A (ja) | 2009-05-28 | 2010-12-09 | Renesas Electronics Corp | 半導体装置及び異常検出方法 |
KR101947722B1 (ko) | 2012-06-07 | 2019-04-25 | 삼성전자주식회사 | 적층 반도체 패키지 및 이의 제조방법 |
-
2000
- 2000-06-13 WO PCT/DE2000/001869 patent/WO2000077652A2/de active Application Filing
- 2000-06-13 JP JP2001503066A patent/JP2003505753A/ja active Pending
- 2000-06-13 EP EP00943684.1A patent/EP1228440B1/de not_active Expired - Lifetime
- 2000-06-13 AU AU58053/00A patent/AU5805300A/en not_active Abandoned
- 2000-06-13 US US10/009,649 patent/US8230411B1/en not_active Expired - Lifetime
- 2000-06-13 CN CN00811550A patent/CN1378665A/zh active Pending
- 2000-06-13 DE DE10081643T patent/DE10081643D2/de not_active Expired - Fee Related
-
2010
- 2010-03-10 US US12/720,898 patent/US8726250B2/en not_active Expired - Fee Related
- 2010-07-21 US US12/840,559 patent/US20110012640A1/en not_active Abandoned
- 2010-07-21 US US12/840,477 patent/US8312200B2/en not_active Expired - Lifetime
-
2014
- 2014-05-13 US US14/276,449 patent/US9690747B2/en not_active Expired - Fee Related
-
2017
- 2017-06-21 US US15/629,720 patent/US10409765B2/en not_active Expired - Fee Related
-
2019
- 2019-08-22 US US16/547,796 patent/US20200057749A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963943A (zh) * | 2010-06-30 | 2011-02-02 | 上海华岭集成电路技术有限责任公司 | 寻找fpga配置文件与clb块配置资源的映射方法 |
CN101963943B (zh) * | 2010-06-30 | 2015-04-29 | 上海华岭集成电路技术股份有限公司 | 寻找fpga配置文件与clb块配置资源的映射方法 |
CN101907999A (zh) * | 2010-07-19 | 2010-12-08 | 中国科学技术大学 | 超长指令字程序的二进制翻译方法 |
CN101907999B (zh) * | 2010-07-19 | 2013-06-26 | 中国科学技术大学 | 超长指令字程序的二进制翻译方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2000077652A3 (de) | 2002-04-25 |
JP2003505753A (ja) | 2003-02-12 |
EP1228440A2 (de) | 2002-08-07 |
DE10081643D2 (de) | 2002-05-29 |
US20100228918A1 (en) | 2010-09-09 |
US9690747B2 (en) | 2017-06-27 |
US20170286364A1 (en) | 2017-10-05 |
AU5805300A (en) | 2001-01-02 |
US20100287324A1 (en) | 2010-11-11 |
WO2000077652A2 (de) | 2000-12-21 |
WO2000077652A9 (de) | 2004-03-25 |
US20140337601A1 (en) | 2014-11-13 |
US20200057749A1 (en) | 2020-02-20 |
US20150100756A9 (en) | 2015-04-09 |
US10409765B2 (en) | 2019-09-10 |
US8230411B1 (en) | 2012-07-24 |
US20110012640A1 (en) | 2011-01-20 |
US8726250B2 (en) | 2014-05-13 |
EP1228440B1 (de) | 2017-04-05 |
US8312200B2 (en) | 2012-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1378665A (zh) | 编程概念 | |
CN1298521A (zh) | 具有二维或多维可编程序的单元结构(fpgas、dpgas等)的数据流处理器和模块的无死锁配置方法 | |
CN1324861C (zh) | 位串的校验方法及装置 | |
CN1236380C (zh) | 具随机数产生器及用于存储随机数数据的指令的微处理器 | |
CN1130626C (zh) | 支援并行程序的装置以及支持程序编制的方法 | |
CN1111790C (zh) | 检查点处理加速装置及具有该装置的计算机 | |
CN1186718C (zh) | 微控制器指令集 | |
CN1192314C (zh) | 并行处理器结构的sram控制器 | |
CN1303536C (zh) | 执行自高速缓存的快速推测式加载运算的微处理器及方法 | |
CN1860441A (zh) | 用于可重新配置环境中的高效高性能数据操作元件 | |
CN1273893C (zh) | 模块化计算机系统以及相关方法 | |
CN1427335A (zh) | 电路组控制系统 | |
CN1894659A (zh) | 在寄存器和存储器之间移动数据的数据处理设备和方法 | |
CN1666202A (zh) | 管理集成电路设计的装置和方法 | |
CN1062426A (zh) | 归约处理器 | |
CN1761956A (zh) | 基于片段的串行化系统与方法 | |
CN1319210A (zh) | 可配置的硬件块的配置方法 | |
CN101052949A (zh) | 操作系统 | |
CN1922576A (zh) | 操作系统 | |
CN1890630A (zh) | 在寄存器和存储器之间移动数据的数据处理设备和方法 | |
CN1862490A (zh) | 信号处理装置 | |
CN1261871C (zh) | 具有支持多任务运算的随机数产生器的微处理器及方法 | |
CN1269052C (zh) | 支持缩小代码长度的常量还原型处理器 | |
CN1137421C (zh) | 可编程控制器 | |
CN1284180A (zh) | 利用布尔逻辑和可编程结构进行地址分析的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 |