CN1252144A - 一可编程组件中可构元件的自同步方法 - Google Patents
一可编程组件中可构元件的自同步方法 Download PDFInfo
- Publication number
- CN1252144A CN1252144A CN98803968A CN98803968A CN1252144A CN 1252144 A CN1252144 A CN 1252144A CN 98803968 A CN98803968 A CN 98803968A CN 98803968 A CN98803968 A CN 98803968A CN 1252144 A CN1252144 A CN 1252144A
- Authority
- CN
- China
- Prior art keywords
- register
- element part
- data
- unit
- trigger pulse
- 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 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 238000005304 joining Methods 0.000 claims description 35
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 230000005284 excitation Effects 0.000 claims 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims 1
- 230000001143 conditioned effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 34
- 238000011156 evaluation Methods 0.000 description 9
- 230000006855 networking Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000000547 structure data Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Hardware Redundancy (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及在带有二维或多维可编程单元结构(DFP,FPGA,DPGA,RAW机)的组件中实现同步和重构,以及在普通微处理机、数字信号处理器和微控制器中控制条件转移的方法。依据所述方法,通过比较、前置符号、算术运算的传递、出错状态等,由待处理和配构的组件在数据流内部的处理期间产生同步信号,并经过数据总线传送给进行同步的其它元件。从数据流中根据相应的指令在一可构元件内产生配构字,并连同待获得的检测器的地址一道经过数据总线传输到其它可构元件,其间,后者在没有外部装入逻辑的影响下进行(重新)配构。在运行时间,根据同步信号,从大量的配构中选择可构元件的一有效配构,或从一运算处理单元的许多可能的指令中选择一有效指令。
Description
1.本发明的背景
1.1技术发展现状
1.1.1问题
现在的组件(FPGA,DPGA等),可构元件的同步大多数情况下都是通过时钟脉冲建立的。这种时间控制同步方式引起许多问题,因为往往预先不知道某一项任务在完成有效结果之前需要多长时间。时间控制同步的另一个问题是,使同步得以实现的事件不是由待同步的元件本身触发的,而是由一个独立的元件触发的。在这种情况下,有两个不同的元件参与同步。这必然导致管理费用的大幅度提高。
1.1.2采用本发明加以改进
通过本发明说明一种方法,这种方法允许同步从待同步的元件本身出发。同步不再通过一个中心机构执行,也不再通过一个中心机构管理。通过将同步安排到每一个元件中,还可以同时执行许多个同步任务,因为不相关的元件在访问中心同步机构时不再相互妨碍。本发明同步方法的细节、特殊配置以及特征,就成为诸项权利要求的对象。
2.对本发明的说明
2.1关于本发明的概况,简介
在一个带有二维或多维布置的可编程单元结构(DFP,DPGA)的组件中,每一个可构元件可经过一个网络结构访问其它可构元件的配构和状态寄存器,并借以对其功能和工作方式产生有效的影响。这样,除了通用的方法以外,还可通过一装入逻辑根据处理阵列(PA,参见P19651075.9)进行配构。
2.2本发明的详细说明
从一个在运行时间可自由编程的组件出发,该组件在运行时间还可以进行重构。芯片上所包含的可构元件具有一个或多个适合于不同任务的配构寄存器。在这些配构寄存器上可进行读、写访问。在所述方法中是从以下所述情况出发的,即对于下述信息,可在一个待配构的元件中调整配构。
-网络寄存器。在这一寄存器中调节与其它单元联接的方式。
-指令寄存器。在这一寄存器中记录可构元件的待执行的功能。
-状态寄存器。在这一寄存器中,单元存储其当前状态。该状态向组件的其它元件提供关于单元处在何种处理周期中的消息。
一个单元通过一个指令进行配构,该指令决定单元应当执行的功能。另外要输入配构数据,以便调整与其它单元的联网和状态寄存器的内容。在这一过程之后,单元处于准备运行就绪状态
为了能使多个单元进行灵活和动态协同工作,每一个单元可以对另一单元的所有配构寄存器进行读、写访问。对多个配构寄存器的哪一个进行读、写访问,由单元用以进行配构的指令的类型决定。单元能够执行的每一个指令存在于很多个不同的寻址方式中,如同在一个待配构的元件中有各种不同的彼此不相关的配构寄存器一样。
例如:一个单元具有上述配构寄存器(网络、指令和状态),并且应当执行进行加法运算的指令ADD。通过不同类型的ADD指令,可以选择该功能的结果向什么方向传输。
ADD-A.结果传输给目标单元的操作数寄存器A。
ADD-B.结果传输给目标单元的操作数寄存器B。
ADD-V.结果传输给目标单元的网络寄存器。
ADD-S.结果传输给目标单元的状态寄存器。
ADD-C.结果传输给目标单元的指令寄存器。
2.2.1控制和同步触发脉冲
除了结果以外,每一单元可产生大量触发信号。不一定如同已配构的指令的处理结果那样,都传输给同一个目标单元。一个触发信号,或者甚至几个触发信号的组合,在目标单元触发一定的动作,或将单元置于一定的状态。对于各种状态,下文将做进一步的描述。现给出触发信号如下:
-启动触发脉冲。启动触发脉冲将目标单元置于READY[就绪]状态。
-重构触发脉冲。重构触发脉冲将目标单元置于RECOFIG[重构]状态,
使单元可重新编程。特别是在与开关表联合工作时,这一触发脉冲特
别有意义。如果开始时,拟处理的数据以上升的时钟脉冲边缘被装入
操作数寄存器,在H电平的时间间隔内进行处理,并以下降的脉冲边
缘写入输出寄存器,则单元可以以下降的脉冲边缘重构。新的配构数
据被以下降的脉冲边缘写入指令寄存器。L电平的时间间隔足以保证
成功地结束重构。
-单步触发脉冲。单步触发脉冲在目标单元处于WAIT[等待]状态时触
发一次执行已配构的指令。
-停止触发脉冲。停止触发脉冲中断目标单元,单元在中断时被置于
STOP[停止]状态。
通过对正在处理的单元规定结果应输入到目标单元的哪个寄存器中,以及应产生哪种类型的触发信号的可能性,可以在一个数据流中产生大量的管理数据。这些管理数据不代表原本应当通过芯片处理的任务的结果,而是仅仅服务于内部状态的管理、同步、优化等。
每一个单元可以接受以下状态,这些状态通过在状态寄存器中相应的代码得以表示。
-READY[就绪]。单元被用一个有效的指令进行配构,并能处理数据。
处理伴随着每一个时钟周期进行。数据根据发送数据的单元的寻址方
式被读入目标单元的寄存器。
-WAIT[等待]。单元被用一个有效的指令进行配构,并能处理数据。
处理同时能通过组件的其它元件产生的触发信号进行。数据根据发送
数据的单元的寻址方式被读入目标单元的寄存器。
-CONFIG[配构]。单元不用一个有效的指令进行配构。随着下一个时
钟周期发送给单元的数据包被读入指令寄存器。发送数据的单元不论
采用了哪种寻址方式,数据包在任何情况下都被读入指令寄存器。
-CONFIG-WAIT[配构-等待]。单元不用一个有效的指令进行配构。数
据包随着可由组件的其它元件产生的下一个触发信号被读入,并被写
入指令寄存器。发送数据的单元不论采用了哪种寻址方式,数据包在
任何情况下都被读入指令寄存器。
-RECONFIG[重构]。单元被用一个有效的指令进行配构,但不处理其
它数据,也不接受数据。单元可以通过组件的其它另一个元件进行重
构。
-STOP[停止]。单元被用一个有效的指令进行配构,但暂不处理数据。
数据被单元接受(传输到输入寄存器中),但不做进一步处理。
通过上述不同的状态和对一单元的不同寄存器进行读、写访问的可能性,每一个单元都能承担一个有效的管理作用。与此相反,所有目前存在的这种类型的组件都有一个中心管理机构,它必须始终能识别和处理组件的全部状态。
为了达到更进一步的灵活性,另外还有一指令等级,可在第一次执行之后更换其方式。关于ADD指令的例子,可用一个指令来说明:
-ADD-C-A.ADD功能的结果在第一次执行指令时被写入目标单元的指
令寄存器。每次继续执行时,结果被写入操作数寄存器A中。
这种可能性可以任意扩展,甚至可以设想ADD-C-V-A-C...-B这种形式的指令。每一个指令可以接受不同寻址和触发方式的所有排列组合。
2.2.2利用重构触发脉冲进行重构控制
在迄今所用的方法中不可或缺的是,每一个拟配构的元件都必须从一外部机构获得一重构触发脉冲,以便转入‘可重构’状态。这样做的缺点是,重构触发脉冲的分配需要相当大的联网费用和配构费用。
通过网络结构可以排除上述缺点。所有通过联网关联的可构元件用一个有向图表示。这样的图形可有多个根[源]和多个叶[目标]。可构的元件这样进行扩展,即:它们或者对准其输出寄存器、输入寄存器,或者对准两者的一种组合,传播一个输入重构触发脉冲。通过如此传播,所有直接与可构元件联接的可构元件同样获得重构触发脉冲。
一个配构(图形)可以完整地转入‘可重构’状态,在该状态下,或者向所有的根发送一个重构触发脉冲,或者所有的根对准输出寄存器传播重构触发脉冲。在一图形中必须对之发送一重构触发脉冲的根的数量大大少于图形中所有节点的数量。这样,费用可得到明显地减少。当然,也可以将一重构触发脉冲发送给所有的叶。这种情况下,重构触发脉冲对准输入寄存器传播。
通过使用两种可能性,或使用两种方法的混合,预计必须连接以重构触发脉冲的可构元件的数量最少。
可构元件可得到对其状态寄存器的一补充说明,指明是否应该或不应该传播一输入重构触发脉冲。这一信息在下述情况下是必需的,即:当两个或多个不同的图形在一个或多个位置上相互关联(即有一过渡)时,并且不希望其它图形中的某一个图形过渡到‘可重构’状态时。一个或几个可构元件的状态如同一个闸门。
另外,状态寄存器可以这样进行扩展,即:一个补充顶说明将对准什么方向继续发送一输入重构触发脉冲。
所述方法可以应用于所有各类触发脉冲和(或)数据。由此可以建立一个自动的分配层次结构,为了实行这种分配层次结构,只需要很小的来自外部的访问能力。
3.在同一批可构元件中同时执行多种功能
3.1基本功能和所需要的触发脉冲
下面介绍通过一个条件调用各种不同宏指令的一种特别复杂的方案:
当满足一个条件(IF COMP THEN A ELSE B;其中,COMP表示比较,A和B为待执行的操作)时,不产生启动和停止触发脉冲。代之产生一触发向量(TRIGV),说明比较COMP导向什么结果。因此,触发向量可以接受“等于”、“大于”、“小于”诸状态。
向量被发送给一个后继的单元,该单元根据向量的状态从大量的配构寄存器中准确地选择一个确定的配构寄存器(对应于A或B)。由此而达到的目的是,根据前面进行的比较的结果,执行关于数据的另一个功能。诸状态如“大于-等于”、“小于-等于”、“等于-不等于”等被分解,所用的方法是用同样的配构数据描述两个配构寄存器。例如,用同一个配构词语描述配构寄存器“大于”和配构寄存器“等于”,而配构寄存器“小于”则包含另一个配构词语。
在执行触发向量(TRIGV)时,不要求对诸状态“大于”、“小于”和“等于”有任何限制。为了求解大“CASE...OF”结构,可以把代表CASE状态的任意数n作为触发向量(TRIGV-m)引向一个或数个后续单元。换言之,n说明CASE内部的比较,是在求解相邻的数据时已经应验了的。为了执行在CASE内部指派给比较的功能,n被引导到诸执行单元,以选择相应的功能。当诸单元在“大于/小于/等于”的情况下至少需要3个配构寄存器时,则在运用TRIGV-m时配构寄存器的数量至少必须精确地相当于n的最大值(max(n))。
3.2必需的功能通过触发脉冲的传播
TRIGV/TRIGV-m被发送给第一个正在处理数据的单元。在该单元中对TRIGV/TRIGV-m进行求解,并相应地对数据进行处理。TRIGV/TRIGV-m同数据一道被继续引导到后续的单元(传播)。然后完成继续引导到根据求解(IF或CASE)执行一定功能的所有单元。此时,这一继续引导直接与数据包的继续引导耦合,就是说,继续引导实现与数据同步。在到时间点t时产生的TRIGV/TRIGV-m与在到时间点t时停留在第一批处理单元(CELLS1,比较图5:0502,0505,0507)上的数据结合。TRIG/TRIG-V这样被继续引导,即:向量与数据到时间点t+1时在第二批处理单元上等待处理,到时间点t+2时在第三批处理单元上等待处理,等等,一直到时间点t+m时,TRIG/TRIG-V和数据在第(m-1)批单元上等待处理,并同时在与启动比较(IF/CASE)相关的最后一批单元上等待处理。绝不会发生这样的结合,即:到时间点t时产生的TRIG/TRIG-V与到时间点told<t时在CEKKS1上等待处理的数据结合。
3.3对出现触发脉冲和不出现触发脉冲的反应
在特殊情况下,要求对触发脉冲不存在作出反应,也就是说,触发状态出现,但不启动改变触发向量。即使在这种情况下,也可能有一个有意义的和重要的信息传动给后续的单元。例如,如果对“大于”、“小于”、“等于”进行比较,当从状态“小于”向状态“大于”过渡时,触发信号“等于”不存在,而且也不发生变化。但是,不存在“等于”就包含着一个信息,即“不等于”。为了能对“存在”和“不存在”作出反应,要把一项输入附加到单元的配构寄存器中,它应当说明要对什么样的状态作出反应。
此外,对于代表状态“等于”、“大于”和“小于”的触发向量TRIGV,要附加一个表示出现触发脉冲的信号TRIGDRY。这是必要的,因为各个向量中一个向量的“不存在”状态不再能说明一个触发脉冲本身的存在。
TRIGDY可用于发送单元与接收单元之间的信号交换协议,其中,接收单元一旦求解出触发向量,便立即产生一个TRAGACK。当TRIGACK到达之后,发送单元才收回触发状态。根据进入配构寄存器的情况,确定发出一触发向量时是否需要等候一TRIGACK的收到,或者触发通道的定序是否是不同步。
3.4在微处理机中应用
在最新体系结构的微处理机中,条件转移不再按照已熟知的分支预测方法,即转移的预测方法实施。导致提高处理机效率的纯理论转移预测是根据纯理论算法预测转移,而且在计算出错时必须重新装入整个处理机流水线,这将导致相当大的效率损失。
为了消除这样的损失,采用了新的谓词/NOP方法。其中,给每一个指令分配一个宽度为一个比特的状态特征位,该状态特征位指明指令是否应当-或不应当执行。可能存在任意数量的状态特征位。给指令分配状态特征位通过一个编译器在翻译代码的过程中进行。状态特征位将由分配给它的比较操作管理执行时间,并显示有关比较的结果。根据分配给指令的状态特征位的状态,然后由处理机执行指令(只要状态特征位显示“执行”),或者不执行指令,而代之以一个NOP(只要状态特征位显示“不执行”)。NOP代表“不操作”,意味着处理机在本次循环中不执行操作。因此,有意义的循环走向消失。
为了优化循环损失,建议采用两种方法:
3.5.1每个运算装置有多个指令寄存器
一台现代微处理机拥有多个相对独立的运算器。
根据这里提出的触发脉冲原理,每一个运算装置可配有多个指令寄存器,其中,根据P19651075.9,一微处理机运算器的指令寄存器是一配构寄存器的替代名。选择有关有效指令寄存器时,
a)根据触发向量进行选择,借助比较产生其它的运算器。
b)根据多比特状态特征位(以下称为状态向量)进行选择,多比特状态特征位根据符合当前技术水准的方法分配比较指令。
3.5.2修改的VLIW指令组
通过VLIW指令组可形成一种特殊的范式。这样,在一个指令字之内,可以将多个可能存在的、与一个比较相关的指令组合成一个指令。一个任意宽的VLIW字被划分为任意多的指令(代码)。这些代码中的每一个代码可用一个触发向量或状态向量做基准。这意味着,在运行时间可以从VLIW字中选择和处理一个有用的代码。
下表中是一个含有四个代码的可能的VLIW字,以它为基准的是一个2比特的触发向量或一个2比特的状态向量。
VLIW指令字对应:
触发向量/状态向量
代码0 | 代码1 | 代码2 | 代码3 |
00 | 01 | 10 | 11 |
4.相对P19651075.9硬件的扩充
4.1附加寄存器
除了在P19651075.9中描述的寄存器外,又添加了一个状态寄存器和一个配构寄存器。这两个寄存器都由PLU总线控制,并与SM-UNIT的状态机(P19651075.9图2的0213)联接。
4.2 PLU总线的更改
在P19651075.9中,可构寄存器M-/F-PLUREG只经由PLU总线(P19651075.9图2的0210)管理。为了确保本发明的功能,现在必须允许附加通过标准总线(P19651075.9图2的0210)进行访问的可能性。这一点也适用于新的状态和配构寄存器。其中,只有寄存器的***总线部分有关,***总线部分经过BM-UNIT(P19651075.9图2的0210)与PAE联网。
因此,总线由BM-UNIT被继续引导到寄存器,在该处,前置的多路转换器或前置的门电路接收PLU总线与同PAE有关的***总线之间的转换。
其中,多路转换器或门电路是这样连接的,即:除了在组件复位(RESET)之后,或当重构信号(P19651075.9图3的0306)有效时,多路转换器或闸门电路总是与同PAE相关的总线***接通。
4.3根据P19651075.9可构元件(诸PAE)的扩充
4.3.1触发源
一可构元件可以同时接收多源的触发脉冲。通过这一可能性,可以借助屏蔽寄存器实现触发脉冲灵活的语义。
4.3.2多个配构寄存器
PAE有多个(最多n个)配构寄存器,而不是一个配构寄存器。
4.3.3配构状态机和多路转换器
在配构状态机后串接着一多路转换器,该多路转换器选择可能的诸配构中的一种配构。多路转换器由一个单独的或集成在PAE状态机中的的状态机实施控制,状态机根据输入的触发向量控制多路转换器。
4.3.4触发脉冲计值和配构
一个可构元件可包含一个特征寄存器,在该特征寄存器中可以调整触发信号必须在哪些触发脉冲输入上等待处理,以满足可构元件一次动作的条件。一可构元件不仅对触发脉冲起反应,而且对经过调整的触发脉冲组合起反应。此外,一可构元件还能对同时输入的触发脉冲进行优先选择。
输入的触发脉冲根据TRIGDY信号进行识别。其中,触发向量还根据附加到配构寄存器中的配构数据进行计值。
4.3.5触发脉冲的信号交换
触发向量一旦被计值,便产生一个证实触发向量的TRIGACK。
4.3.6 BM-UNIT
BM-Unit这样进行扩充,即:让BM-Unit将来自总线的触发脉冲根据在M-PLUREG中的配构继续伸展到Sync-Unit和BM-Unit。由EALU产生的触发脉冲(例如比较值“大于”、“小于”、“等于”、0检测器、代数符号、移位、错误状态(除以0,等等)等)根据M-PLUREG中的连接信号从BM-UNIT继续传导到总线。
4.4***总线的扩充
***总线(P19651075图2的0201)用下述方式扩充,即:关于目标寄存器的信息同数据一道传输。这意味着,在数据接收机上选择所需寄存器的地址被一道发送。
同样,***总线也扩展到触发向量和触发信号交换的独立传输。
5.对附图的简要说明
图1表示一环路结构是何以能通过输入触发脉冲而实现的。
图2表示一比较结构是何以能通过输入多个触发脉冲而实现的。
图3表示一多输出比较结构是何以能通过输入多个触发脉冲及其嵌套而实现的。
图4表示相对于P19651075.9必要的扩充。
图5表示在一功能示例中通过触发脉冲对可构元件不同功能的选择。
图6表示为了执行不同的功能由触发脉冲控制的多个配构寄存器的实现。
图7表示图6中的方法在微处理机上的实现。
6.对附图的详细说明和实施实例
图1
宏0103在这一示例中应当执行70次。执行一次宏需要26个时钟脉冲周期。这意味着,只有每隔26个时钟脉冲周期计数器0101才可以减少1。自由可编程组件上的一个问题在于,不能总是确保实际上在26个时钟脉冲之后结束对宏0103的处理。可能由例如下述原因造成延迟,即:应当为宏0103提供输入数据的宏突然需要延长10个时钟脉冲周期。由于这样的原因,宏0103中的单元向计数器0101发送一个触发信号,通过该单元计算结果被发送给另外一个宏。同时,通过同一个单元对宏0103的处理停止。这个单元明确“提示”:结束计算的操作已经实现。
在这种情况下,被发送的触发信号是一个单步触发脉冲,它促使计数器再次执行其配构功能。计数器的计数下降1,并进行比较,看它是否已经达到0值。如果没有达到,则有一启动触发脉冲被发送给宏0103。这个启动触发脉冲促使宏0103再次接受它的功能。
这一过程重复进行,直到计数器0101达到0值为止。在这种情况下,有一个触发信号被发送给宏0102,并在该处触发一功能。通过触发脉冲的如此的联合作用,可以实现非常精细的同步。
图2
图2与图1的基本思想相符。但元件0202中的功能不是计数器,而是一个比较器。宏0201在每一处理过程之后发送一个比较值给比较器0202。根据比较的输出,再激励不同的触发脉冲,以便例如在宏0203中引起一个动作。图2中实现的结构相当于程序设计语言中的一个条件询问结构。
图3
同图2一样,这里***了多个比较器0301、0302,以实现一个IF-ELSE-ELSE[如果-否则-否则](或一个多重选择)结构。通过采用不同种类的触发脉冲和把这些触发脉冲连接到宏0303、0304,可以简单地实现非常复杂的过程。
图4
图4表明与P19651075.9图2的区别。附加的配构寄存器(0401)和附加的状态寄存器(0402)经过总线(0407)连接到SM-UNIT。寄存器0101、0102、F-PLUREF和M-PLUREG经过内部总线与一门电路0403连接。后者根据位置连接内部总线(0406),以通过PLU允许一种配构,或者经过一总线0408连接BM-UNIT。根据数据总线0404上的寻址,再继续将数据连接到O-REG,或连接到寻址的寄存器0401)0402、F-PLUREG或M-PLUREG。
BM-UNIT(0401)经过0415将触发信号发送给SYNC-UNIT(0412)。0411由EALU经过0404得到结果(“等于”、“大于”、“小于”、“结果=0”、“结果为正”、“结果为负”、溢出(正和负)等),以便将结果转换成触发向量。作为替代方案,由SYNC-UNIT或STATE-MACHINE(状态机)生成的状态可以经过0415传送给BM-UNIT。
由BM-UNIT发送到总线(0404)的触发信号可根据正在计值的可构元件的配构情况当作步进/停止/启动和重构触发脉冲使用,或者用于选择配构寄存器。在正在计值的可构元件上生成的触发脉冲满足哪种功能,由相应的可构元件的联网(0404)和配构来决定。同一个触发脉冲在不同的可构元件上可能有不同的功能。
0416是R-REGsft到总线***的和后续可构元件的结果输出。
图5
图5中举例示明了生成的触发脉冲与通过触发脉冲选择的配构寄存器之间的时间特性。0501通过一次比较生成触发向量TRIGV,该向量可接受“equal”(等于)“greater”(大于)或“less”(小于)诸值。可构元件0502-0504与比较(0501)不相关地处理数据。其中,处理与“equal”、“greater”和“less”诸比较值相关。处理是流水线化的,就是说,数据字连续被0502修正,然后被0503修正,最后被0504修正。
0505对数据的处理同样也与0501相关。这种情况下,相关性当然仅限于比较值“less”。“greater”和“equal”对功能的执行有相同的作用。所有要区别“小于”和“大于”或“等于”诸值。0506在流水线0505中是后置的。所以,0506对“equal”、“greater”和“less”的反应不同(比较0503)。
同样,0507与0501相关,但值“等于”与“不等于”(小于或大于)有区别。实施例开始于时间点t(图5a),结束于时间点(t+3)。如果数据通过诸流水线(0502、0503、0504或0505、0506)之一,则数据每一次在诸宏(0502-0506)之一中执行时延迟一个时钟脉冲周期。时间更长的延迟,特别是时间不同的延迟,也同样有可能出现。由于在数据与触发信号之间存在进行自动同步(比较P19651075.9(数据)或字样(TRIGACK/TRIGRDY))的信号交换机制,所以,这种情况下不得分别输入。
由于延迟,到时间点t时,以前时间点t-2的数据和触发信号在第二个与第三个流水线级之间等待处理。
图5a到图5d表示3个时间脉冲周期(t到t+2)的过程。
由0501生成的触发向量(即比较结果)在t范围内观察,表现如下:
时间t | 比较结果 |
t-2 | less,小于 |
t-1 | greater,大于 |
t | qual,等于 |
t+1 | greater,大于 |
t+2 | equal,等于 |
图6
图6中示出了多个配构寄存器在一个可构元件中的组合。在这一实施例中存在三个根据图4的配构寄存器(0409)。这三个配构寄存器经过战线0406进行配构。经过***总线0411,控制单元(C601)(它也可以形成为状态机)得到信号TRIGV和TRIGRDY。控制单元根据TRIGV将诸配构寄存器之一经过多路转换器连接到导向可构元件的控制机构的总线***0401。为了使触发信号与可构元件的内部过程同步,0601有一个连接到同步单元(0412)或状态机(0413)的同步输出。为了触发脉冲源的同步,0601在处理输入的触发脉冲后产生同步交换信号TRIGACK。
在实施例中,给每一个配构寄存器(0409)分配一个(“equal”、“greater”、“less”)类型的TRIGV。如果对每一个触发脉冲类型执行另外一些操作,则每一个配构寄存器被占用的情况不同。例如,如果仅根据“equal”[等于]和“not equal”[不等于]进行区分,则“less”和“greater”类型的配构寄存器立即被占用,即采用“not equal”的配构。“equal”的配构寄存器具有另一种布局,这意味着,根据配构寄存器的布局,可对比较进行更准确的规定,其中,每一个可构元件可以有区别地制定这一规定。
经过寄存器0603,TRIGV与结果一道被继续传导到后续的可构元件,以实现图5a-d的流水线。寄存器和同步交换信号受0412或0413控制。触发脉冲信息可与来自R-REGsft的结果一道,或错开时间,即在结果之前,经过接口0416传递给后续的可构元件。
错开时间的传递有一定的优点,即不需要追加时间来调整后续可构元件中的配构寄存器,因为调整已经在得到数据之前(与结果的释放同时发生(比较P19651075.9图8))完成。相应的时序(相对于P19651075.9图8)示于图6a。触发向量(0615)随着上升的部件时钟脉冲边沿(0613)而生成。可构元件中的触发脉冲随着下降的脉冲边沿(0612)被计值。数据移相运行,这就是说,数据在0612被释放,并用0613读入。在0610期间,触发向量经过总线传输,并对数据进行计算。在0611期间,数据经过总线传输,并对触发脉冲进行计算,或者更确切地说,可构元件的配构寄存器根据存储在0613的数据进行选择,并相应地调整配构。
图7
图7a表示根据符合当前技术发展水准的谓词/NOP方法的对转移的管理。在执行一次比较时,一项记录被放入谓词寄存器(0704)。这一记录在执行指令的过程中被询问,并规定是否执行指令(指令位于由条件转移触发的代码序列内),或者通过一个NOP替代(指令位于另外一个不同于由条件转移触发的代码序列内)。这种情况下,指令处在指令寄存器0701内。谓词寄存器包含很多记录,这些记录被分配以大量的操作和(或)大量的运算器。这样的分配是为了编译器的程序编译时间而给定的。分配信息(0707)被划归输入到指令寄存器中的指令,因此,一个明确的记录被相应的命令当作基准。
通过0703选择是否根据0701执行一项指令或一次NOP。在执行一次NOP时,损失一个时钟脉冲周期。这样,0703具有象征性的特征,因为。原则上执行元件可直接受0704控制。
在图7b中存在着n个指令寄存器(0701:功能1...功能n)。
在执行一次比较/条件转移时,拟寻址的指令寄存器,即比较的结果,被作为记录存放在谓词寄存器0706中,而0706则由许多个这样的记录构成。因此,0706中相应的记录(0708)是如此之宽,以致一个执行元件(0702)的所有可能的指令寄存器都可以通过它寻址,这意味着,当有n个指令寄存器时,记录宽度为log2(n)。谓词寄存器包含许多个记录,这些记录被分配以大量的操作和(或)大量的运算器。这样的分配是为了编译器的程序编译时间而给定的。分配信息(0707)被分配以很多指令,这些指令被输入到指令寄存器内。因此,一个明确的记录被相应的命令当作基准。
经过多路转换器选定哪个指令寄存器提供瞬时执行的代码。
通过这样的技术,在条件转移时,即使在最不利的情况下,执行一个有利的指令取代诸NOP,因此不会浪费任何时钟脉冲周期。
名称约定部件 -UNIT工作方式(模式) -MODE多路转换器 -MUX反信号(否信号) not-可视PLU寄存器 -PLUREG内部寄存器 -REG移位寄存器 -sft
功能约定
“非”功能!
“与”功能&
“或”功能#
“闸门”功能G
I | Q |
0 | 1 |
1 | 0 |
A | B | Q |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
A | B | Q |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
EN | B | Q |
0 | 0 | - |
0 | 1 | - |
1 | 0 | 0 |
1 | 1 | 1 |
定义BM-UNIT 把数据接通到阵列处理机外部总线***上的部件。接通是经过数
据输出端的多路转换器或数据输入端的闸门电路实现的。oACK
传导被作为集电极开路激励器执行。BM-UNIT通过M-
PLUREG进行控制。数据接收机 对阵列处理机的结果继续进行处理的部件(一个或多个)。数据发送机 提供数据供阵列处理机作为操作数使用的部件。数据字 数据字由任意长的位列构成。位列代表一设备的处理单元。在一
个数据字中,既可对处理机或类似组件的指令编码,也可对纯数
据编码。DFP 根据专利/公开说明书DE 44 16 881的数据流处理机。DPGA 动态可构FPGA。当前技术发展水准。EALU 扩充了的算术逻辑部件。被扩充特殊功能的算术逻辑部件,所扩
充的特殊功能,是运行根据DE 441 16 881 A1的数据处理装置所
必需的或有意义的。这属于特殊计数器。元件 可在电子部件中充当零件使用的各类独立单件的总称。元件有:
-各类可构单元
-集群器
-随机存取存储器块
-逻辑电路
-运算器
-寄存器
-多路转换器
-芯片的输入/输出针脚事件 事件可以由一硬件元件以某种适用的方式方法进行计值,或作为
对该计值结果的反应触发一条件活动。因此,事件就是例如:
-一计算装置的时钟脉冲周期。
-内部或外部的中断信号。
-组件内部其它元件的触发信号。
-一数据流与/或一指令流与一个数值的比较。
-输入/输出事件。
-一计数器的运行、溢出和重新设定等。
-对一次比较的计值。FPGA 可编程逻辑部件。当前技术发展水准。F-PLUREG 将阵列处理机功能放置其内的寄存器。同样还放入单稳和休眠模
式。寄存器由PLU描述。H电 平逻辑1电平,取决于所采用的技术。可构元件 一可构元件代表一个可通过一配构字调整执行一特定功能的逻
辑组件单位。因此,可构元件就是各类RAM单元,多路转换器,
算术逻辑单元,寄存器以及各类内部和外部联网描述等。可构单元 见逻辑单元配构 对一逻辑单元、一(FPGA)单元或一PAE功能和联网的调整(比较
重构)。配构数据 任意多的配构字。配构存储器 配构存储器包括一个或多个配构字。配构字 配构字由任意长的位列构成。位列代表对拟配构元件的有效调
整,从而产生一能完成某种功能的单元。装入逻辑 用以配构和重构PAE的单元。通过一个适合其任务的专用微控制
器建立。逻辑单元 在DFP、FPGA、DPGA上使用的可构单元,用以根据其配构完
成简单的逻辑或算术任务。L电平 逻辑0电平,取决于所采用的技术。M-PLUREG 放入阵列处理机联网的寄存器。寄存器由PLU描述。O-REG 操作数寄存器,用来存储EALU的操作数。允许阵列处理机在时
间和功能上独立于数据发送机。这样,数据的传输得到简化,因
为可实现同步或包指向。同时还提供了独立于阵列处理机重构数
据发送机和独立于数据发送机重构阵列处理机的可能性。PLU 阵列处理机的配构和重构部件。由特别适合其任务的微控制器构
成。传播 一被接收信号的受控继续传导。RECONFIG 一PAE的可重构状态。RECONFIG 触发脉冲将一PAE置于可重构状态。SM-UNIT 状态机部件。控制EALU的状态机。开关表 开关表是一由某种控制所要求的环形存储器。一开关表的记录可
接受任意的配构字。控制可以执行指令。开关表对触发信号作出
反应,并根据环形存储器内的记录对可构元件进行重构。同步信号 由一可构元件或一运算器产生的状态信号,为了数据处理的控制
和同步,状态信号被继续传导给其它可构元件和运算器。也有可
能经过事件延迟(存储)将一同步信号反向传导给同一个可构元件
或运算器。TRIGACK/ 触发脉冲的信号交换。(比较P10651075中数据的信号交换)TRIGRDY触发脉冲 同步信号的替代名。重构 当任意数量的阵列处理机继续其专有的功能时,对其余任意数量
的阵列处理机进行新的配构(比较“配构”)。处理周期 处理周期描述一个单元为了从一个规定的和(或)有效的状态转入
下一个规定的和(或)有效的状态所需要的持续时间。VLIW 非常大的指令字。微处理机的编码,方法根据当前技术发展水准。单元 可构元件的替代名。
Claims (16)
1.在带有二维或多维可编程单元结构(DFP,FPGA,DPGA,RAW机)的组件中实现同步和重构,
以及在普通微处理机、数字信号处理机和微控制器中控制条件转移的方法,
其特征在于,
a)同步信号在处理过程中,在进行处理的可构元件的数据流内部,通过算术运算、出错状态的比较、前置符号、传递等得以产生,并经过数据总线传送给进行同步的其它元件,
b)从数据流中根据相应的指令在一可构元件内产生配构字,并连同起触发作用的触发脉冲的寻址一道经过数据总线传输到其它可构元件,其间,后者在没有外部装入逻辑的影响的情况下进行(重新)配构,
c)在运行时间,根据同步信号,从大量的配构中选择可构元件的一有效配构,或从一运算器的许多可能的指令中选择一有效指令。
2.根据权利要求1的方法,其特征在于,在进行同步时,可通过一触发脉冲激励一可构元件执行单项操作。
3.根据权利要求1的方法,其特征在于,在进行同步时,可通过一触发脉冲激励一可构元件执行多项操作。
4.根据权利要求1的方法,其特征在于,在进行同步时,可通过一触发脉冲中断一可构元件的执行。
5.根据权利要求1的方法,其特征在于,在进行同步时,可通过一触发脉冲允许一可构元件进行重构。
6.根据权利要求1-5的方法,其特征在于,可构元件可在一状态寄存器中显示其瞬时状态。
7.根据权利要求1-6的方法,其特征在于,待进行控制的寄存器的数据在指令中编码,并经过数据总线传输。
8.根据权利要求1-7的方法,其特征在于,同步信号被传输到数据接收机,数据发送机或一独立的可构元件。
9.根据权利要求1-8的方法,其特征在于,可以禁止同步信号的传输。
10.根据权利要求1-9的方法,其特征在于,不同的同步信号被有选择地传输(比较,出错状态等),其中,同步信号的类型在生成单元中是可自由选择的,而且同步信号的作用在接收单元中是可自由选择的。
11.根据权利要求1-10的方法,其特征在于,一个同步信号可传输给多个接收机。
12.根据权利要求1-11的方法,其特征在于,给一个同步信号分配一个认收线路。
13.根据权利要求1-12的方法,其特征在于,一个同步向量由一个或许多个同步信号构成。
14.根据权利要求1-13的方法,其特征在于,一配构寄存器通过一个同步向量从许多个配构寄存器中挑选;或者更确切地说,一个指令寄存器从许多个指令寄存器中挑选。
15.根据权利要求1-14的方法,其特征在于,一个寄存器的挑选过程通过同步信号与数据处理同步,不会损失时钟脉冲周期。
16.根据权利要求1-5的方法,其特征在于,在一个已分配某一项操作的寄存器中--它是从许多个寄存器中挑选出来的,所产生的同步信号的值是这样存储的,即:另一个被分配的操作可以有选择地对它进行访问,并根据信息从许多个指令/配构中挑选一个可能的和有效的指令或一个可能的和有效的配构。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704728A DE19704728A1 (de) | 1997-02-08 | 1997-02-08 | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
DE19704728.9 | 1997-02-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1252144A true CN1252144A (zh) | 2000-05-03 |
Family
ID=7819640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98803968A Pending CN1252144A (zh) | 1997-02-08 | 1998-02-07 | 一可编程组件中可构元件的自同步方法 |
Country Status (10)
Country | Link |
---|---|
US (3) | US6081903A (zh) |
EP (2) | EP0961980B1 (zh) |
JP (1) | JP4146519B2 (zh) |
CN (1) | CN1252144A (zh) |
AT (1) | ATE298907T1 (zh) |
AU (1) | AU740243B2 (zh) |
CA (1) | CA2279917A1 (zh) |
DE (3) | DE19704728A1 (zh) |
EA (1) | EA001823B1 (zh) |
WO (1) | WO1998035299A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196947B (zh) * | 2006-12-04 | 2012-06-06 | 富士通株式会社 | 电路设计支持装置和方法 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
WO2003025781A2 (de) | 2001-09-19 | 2003-03-27 | Pact Xpp Technologies Ag | Verfahren zur konfiguration der verbindung zwischen datenverarbeitungszellen |
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 |
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 |
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 |
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.) |
ATE243390T1 (de) | 1996-12-27 | 2003-07-15 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.) |
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 |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
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. |
US6243836B1 (en) * | 1998-08-17 | 2001-06-05 | Lucent Technologies, Inc. | Apparatus and method for circular buffering on an on-chip discontinuity trace |
CN1378665A (zh) | 1999-06-10 | 2002-11-06 | Pact信息技术有限公司 | 编程概念 |
EP1342158B1 (de) * | 2000-06-13 | 2010-08-04 | Richter, Thomas | Pipeline ct-protokolle und -kommunikation |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
DE10059270B4 (de) * | 2000-11-29 | 2012-08-02 | Heidelberger Druckmaschinen Ag | Vorrichtung und Verfahren zur Synchronisation von an mehreren Einheiten ablaufende Prozesse |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
JP2004536373A (ja) * | 2001-03-05 | 2004-12-02 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理方法およびデータ処理装置 |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US20090300262A1 (en) * | 2001-03-05 | 2009-12-03 | Martin Vorbach | Methods and devices for treating and/or processing data |
US7444531B2 (en) * | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
US7624204B2 (en) * | 2001-03-22 | 2009-11-24 | Nvidia Corporation | Input/output controller node in an adaptable computing environment |
US10031733B2 (en) * | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
AU2002347560A1 (en) * | 2001-06-20 | 2003-01-02 | Pact Xpp Technologies Ag | Data processing method |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US7594229B2 (en) * | 2001-10-09 | 2009-09-22 | Nvidia Corp. | Predictive resource allocation in computing systems |
US7644279B2 (en) * | 2001-12-05 | 2010-01-05 | Nvidia Corporation | Consumer product distribution in the embedded system market |
US7577822B2 (en) * | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
WO2003071418A2 (en) * | 2002-01-18 | 2003-08-28 | Pact Xpp Technologies Ag | Method and device for partitioning large computer programs |
AU2003208266A1 (en) | 2002-01-19 | 2003-07-30 | Pact Xpp Technologies Ag | Reconfigurable processor |
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 |
AU2003223892A1 (en) * | 2002-03-21 | 2003-10-08 | Pact Xpp Technologies Ag | Method and device for data processing |
US7093255B1 (en) * | 2002-05-31 | 2006-08-15 | Quicksilver Technology, Inc. | Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths |
US7620678B1 (en) | 2002-06-12 | 2009-11-17 | Nvidia Corporation | Method and system for reducing the time-to-market concerns for embedded system design |
US7802108B1 (en) | 2002-07-18 | 2010-09-21 | Nvidia Corporation | Secure storage of program code for an embedded system |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
AU2003289844A1 (en) | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US7502915B2 (en) * | 2002-09-30 | 2009-03-10 | Nvidia Corporation | System and method using embedded microprocessor as a node in an adaptable computing machine |
US8949576B2 (en) * | 2002-11-01 | 2015-02-03 | Nvidia Corporation | Arithmetic node including general digital signal processing functions for an adaptive computing machine |
US7617100B1 (en) | 2003-01-10 | 2009-11-10 | Nvidia Corporation | Method and system for providing an excitation-pattern based audio coding scheme |
DE112004000026D2 (de) * | 2003-04-04 | 2006-06-14 | Pact Xpp Technologies Ag | Verfahren und Vorrichtung für die Datenverarbeitung |
US8296764B2 (en) * | 2003-08-14 | 2012-10-23 | Nvidia Corporation | Internal synchronization control for adaptive integrated circuitry |
EP1676208A2 (en) * | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US8018463B2 (en) * | 2004-05-10 | 2011-09-13 | Nvidia Corporation | Processor for video data |
US8130825B2 (en) * | 2004-05-10 | 2012-03-06 | Nvidia Corporation | Processor for video data encoding/decoding |
JP2006011705A (ja) * | 2004-06-24 | 2006-01-12 | Fujitsu Ltd | プロセッサおよび半導体装置 |
TWI256013B (en) * | 2004-10-12 | 2006-06-01 | Uli Electronics Inc | Sound-effect processing circuit |
EP1849095B1 (en) * | 2005-02-07 | 2013-01-02 | Richter, Thomas | Low latency massive parallel data processing device |
US7281942B2 (en) * | 2005-11-18 | 2007-10-16 | Ideal Industries, Inc. | Releasable wire connector |
WO2007082730A1 (de) | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
US7999820B1 (en) | 2006-10-23 | 2011-08-16 | Nvidia Corporation | Methods and systems for reusing memory addresses in a graphics system |
US20080111923A1 (en) * | 2006-11-09 | 2008-05-15 | Scheuermann W James | Processor for video data |
US8169789B1 (en) | 2007-04-10 | 2012-05-01 | Nvidia Corporation | Graphics processing unit stiffening frame |
US7987065B1 (en) | 2007-04-17 | 2011-07-26 | Nvidia Corporation | Automatic quality testing of multimedia rendering by software drivers |
US8572598B1 (en) | 2007-04-18 | 2013-10-29 | Nvidia Corporation | Method and system for upgrading software in a computing device |
US8726283B1 (en) | 2007-06-04 | 2014-05-13 | Nvidia Corporation | Deadlock avoidance skid buffer |
US7944453B1 (en) | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
US7948500B2 (en) * | 2007-06-07 | 2011-05-24 | Nvidia Corporation | Extrapolation of nonresident mipmap data using resident mipmap data |
US7932227B1 (en) | 2007-09-17 | 2011-04-26 | University Of Virginia Patent Foundation | Lacritin-syndecan fusion proteins |
US8438522B1 (en) | 2008-09-24 | 2013-05-07 | Iowa State University Research Foundation, Inc. | Logic element architecture for generic logic chains in programmable devices |
US8661394B1 (en) | 2008-09-24 | 2014-02-25 | Iowa State University Research Foundation, Inc. | Depth-optimal mapping of logic chains in reconfigurable fabrics |
CN101616175B (zh) * | 2009-07-24 | 2013-01-09 | 中国科学院上海技术物理研究所 | 用于分布式多dsp***的网络拓扑结构获取方法和装置 |
US10302658B2 (en) | 2014-03-12 | 2019-05-28 | University Of Virginia Patent Foundation | Compositions and methods for treating eye infections and disease |
CN104967783B (zh) * | 2015-07-01 | 2018-01-09 | 西北工业大学 | 面向微纳星的多路微图像采集*** |
Family Cites Families (214)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US34363A (en) * | 1862-02-11 | Improvement in machinery for cleaning cotton | ||
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 |
US3681572A (en) | 1970-08-11 | 1972-08-01 | Siegfried Johannes Gerathewohl | Air traveler's rest period calculator |
DE2057312A1 (de) | 1970-11-21 | 1972-05-25 | Bhs Bayerische Berg | Planetenradgetriebe mit Lastdruckausgleich |
US3855577A (en) | 1973-06-11 | 1974-12-17 | Texas Instruments Inc | Power saving circuit for calculator system |
US4498134A (en) * | 1982-01-26 | 1985-02-05 | Hughes Aircraft Company | Segregator functional plane for use in a modular array processor |
US4489857A (en) | 1982-03-22 | 1984-12-25 | Bobrick Washroom Equipment, Inc. | Liquid dispenser |
JPS5936857A (ja) | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
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 |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4761755A (en) * | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US4682284A (en) | 1984-12-06 | 1987-07-21 | American Telephone & Telegraph Co., At&T Bell Lab. | Queue administration method and apparatus |
EP0190813B1 (en) | 1985-01-29 | 1991-09-18 | The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and | Processing cell for fault tolerant arrays |
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 |
US4967340A (en) * | 1985-06-12 | 1990-10-30 | E-Systems, Inc. | Adaptive processing system having an array of individually configurable processing components |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
JPS62109451A (ja) * | 1985-11-04 | 1987-05-20 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | データ伝送ネットワークの通信パス確立・不可用性データ収集方法 |
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 |
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 |
GB8612396D0 (en) | 1986-05-21 | 1986-06-25 | Hewlett Packard Ltd | Chain-configured interface bus system |
US4910665A (en) * | 1986-09-02 | 1990-03-20 | General Electric Company | Distributed processing system including reconfigurable elements |
US4860201A (en) | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
US5367208A (en) * | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
FR2606184B1 (fr) * | 1986-10-31 | 1991-11-29 | Thomson Csf | Dispositif de calcul reconfigurable |
US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
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 |
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 |
US5303172A (en) * | 1988-02-16 | 1994-04-12 | Array Microsystems | Pipelined combination and vector signal processor |
JPH06101043B2 (ja) | 1988-06-30 | 1994-12-12 | 三菱電機株式会社 | マイクロコンピュータ |
US5204935A (en) * | 1988-08-19 | 1993-04-20 | Fuji Xerox Co., Ltd. | Programmable fuzzy logic circuits |
US4901268A (en) * | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
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 |
ATE98833T1 (de) | 1988-09-22 | 1994-01-15 | Siemens Ag | Schaltungsanordnung fuer fernmeldevermittlungsanlagen, insbesondere pcmzeitmultiplex-fernsprechvermittlungsanlagen mit zentralkoppelfeld und angeschlossenen teilkoppelfeldern. |
WO1990004235A1 (en) * | 1988-10-07 | 1990-04-19 | 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 |
US5081375A (en) * | 1989-01-19 | 1992-01-14 | National Semiconductor Corp. | Method for operating a multiple page programmable logic device |
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 |
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 | 株式会社日立製作所 | テストデータ変更回路を有する論理回路テスト装置 |
CA2021192A1 (en) * | 1989-07-28 | 1991-01-29 | Malcolm A. Mumme | Simplified synchronous mesh processor |
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 |
US5489857A (en) * | 1992-08-03 | 1996-02-06 | Advanced Micro Devices, Inc. | Flexible synchronous/asynchronous cell structure for a high density programmable logic device |
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 |
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 |
US5125801A (en) * | 1990-02-02 | 1992-06-30 | Isco, Inc. | Pumping system |
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 |
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 |
SE9002558D0 (sv) * | 1990-08-02 | 1990-08-02 | Carlstedt Elektronik Ab | Processor |
US5274593A (en) | 1990-09-28 | 1993-12-28 | Intergraph Corporation | High speed redundant rows and columns for semiconductor memories |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5734921A (en) | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
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 |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5794059A (en) | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5713037A (en) | 1990-11-13 | 1998-01-27 | International Business Machines Corporation | Slide bus communication functions for SIMD/MIMD array processor |
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 |
DE59107764D1 (de) * | 1991-02-22 | 1996-06-05 | Siemens Ag | Speicherprogrammierbare Steuerung |
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 | 세끼자와 다다시 | 데이타 프로세서 및 데이타 처리방법 |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
CA2109799A1 (en) * | 1991-05-24 | 1992-12-10 | Daniel Mark Nosenchuck | Optimizing compiler for computers |
US5287344A (en) * | 1991-06-05 | 1994-02-15 | At&T Bell Laboratories | Transferring lines in a digital loop carrier transmission system |
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 |
US5347639A (en) | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
US5338984A (en) * | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
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. |
US5223539A (en) * | 1991-11-22 | 1993-06-29 | G. D. Searle & Co. | N,n-di-alkyl(phenoxy)benzamide derivatives |
CA2073516A1 (en) | 1991-11-27 | 1993-05-28 | Peter Michael Kogge | Dynamic multi-mode parallel processor array architecture computer system |
AU2939892A (en) | 1991-12-06 | 1993-06-28 | Richard S. Norman | 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. |
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 |
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 |
JP3737104B2 (ja) * | 1992-06-04 | 2006-01-18 | ジリンクス,インコーポレーテッド | プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法 |
US5475803A (en) * | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
US5590348A (en) | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
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 | 割り込み処理方法および装置 |
US5329179A (en) * | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
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 |
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 |
US5428526A (en) | 1993-02-03 | 1995-06-27 | Flood; Mark A. | Programmable controller with time periodic communication |
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 |
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 |
DE4416881C2 (de) * | 1993-05-13 | 1998-03-19 | Pact Inf Tech Gmbh | Verfahren zum Betrieb einer Datenverarbeitungseinrichtung |
US5349193A (en) | 1993-05-20 | 1994-09-20 | Princeton Gamma Tech, Inc. | Highly sensitive nuclear spectrometer apparatus and method |
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 | 信号処理プロセッサ |
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 |
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 |
US5535406A (en) * | 1993-12-29 | 1996-07-09 | Kolchinsky; Alexander | Virtual processor module including a reconfigurable programmable matrix |
DE69529856D1 (de) | 1994-03-22 | 2003-04-10 | Hyperchip Inc | Massive Paralleldatenverarbeitungsvorrichtung mit photovoltaischen Zellen für die Absorption des Umgebungslichtes |
US5561738A (en) * | 1994-03-25 | 1996-10-01 | Motorola, Inc. | Data processor for executing a fuzzy logic operation and method therefor |
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US5761484A (en) | 1994-04-01 | 1998-06-02 | Massachusetts Institute Of Technology | Virtual interconnections for reconfigurable logic systems |
US5896551A (en) * | 1994-04-15 | 1999-04-20 | Micron Technology, Inc. | Initializing and reprogramming circuitry for state independent memory array burst operations control |
US5426378A (en) * | 1994-04-20 | 1995-06-20 | Xilinx, Inc. | Programmable logic device which stores more than one configuration and means for switching configurations |
US5532693A (en) * | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
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 |
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 |
EP0721157A1 (en) * | 1994-12-12 | 1996-07-10 | Advanced Micro Devices, Inc. | Microprocessor with selectable clock frequency |
US5493239A (en) * | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
US5532957A (en) * | 1995-01-31 | 1996-07-02 | Texas Instruments Incorporated | Field reconfigurable logic/memory array |
US5742180A (en) | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5659785A (en) * | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
US5537057A (en) * | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5892961A (en) | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5541530A (en) * | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
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 |
US5649176A (en) * | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
US5583450A (en) * | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer 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 |
US5652894A (en) | 1995-09-29 | 1997-07-29 | Intel Corporation | Method and apparatus for providing power saving modes to a pipelined processor |
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 |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5854918A (en) * | 1996-01-24 | 1998-12-29 | Ricoh Company Ltd. | Apparatus and method for self-timed algorithmic execution |
US5936424A (en) | 1996-02-02 | 1999-08-10 | Xilinx, Inc. | High speed bus with tree structure for selecting bus driver |
US6020758A (en) * | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
US6173434B1 (en) * | 1996-04-22 | 2001-01-09 | Brigham Young University | Dynamically-configurable digital processor using method for relocating logic array modules |
US5894565A (en) | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
JP2000513523A (ja) * | 1996-06-21 | 2000-10-10 | オーガニック システムズ インコーポレイテッド | プロセスの即時制御を行う動的に再構成可能なハードウェアシステム |
US5892370A (en) * | 1996-06-21 | 1999-04-06 | Quicklogic Corporation | Clock network for field programmable gate array |
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 |
US5838165A (en) | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5859544A (en) * | 1996-09-05 | 1999-01-12 | Altera Corporation | Dynamic configurable elements for programmable logic devices |
US5828858A (en) * | 1996-09-16 | 1998-10-27 | Virginia Tech Intellectual Properties, Inc. | Worm-hole run-time reconfigurable processor field programmable gate array (FPGA) |
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 |
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 |
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 |
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
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.) |
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 |
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 |
WO1998038958A1 (en) | 1997-03-05 | 1998-09-11 | Massachusetts Institute Of Technology | A reconfigurable footprint mechanism for omnidirectional vehicles |
US5884075A (en) * | 1997-03-10 | 1999-03-16 | Compaq Computer Corporation | Conflict resolution using self-contained virtual devices |
US6047115A (en) * | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US6011407A (en) * | 1997-06-13 | 2000-01-04 | Xilinx, Inc. | Field programmable gate array with dedicated computer bus interface and method for configuring both |
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 |
US6038656A (en) * | 1997-09-12 | 2000-03-14 | California Institute Of Technology | Pipelined completion for asynchronous communication |
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 |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming 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 |
EP0926594B1 (en) * | 1997-12-17 | 2007-05-23 | Hewlett-Packard Company, A Delaware Corporation | Method of using primary and secondary processors |
DE19861088A1 (de) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
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 |
US6034538A (en) | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6389579B1 (en) | 1998-01-26 | 2002-05-14 | Chameleon Systems | Reconfigurable logic for table lookup |
US5965518A (en) | 1998-02-23 | 1999-10-12 | Nakatsu; Tetsuo | Fragrance compositions having antimicrobial activity |
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. |
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 |
US6345346B1 (en) * | 1999-02-26 | 2002-02-05 | Voom Technologies | Substantially instantaneous storage restoration for non-computer forensics applications |
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 |
US6347346B1 (en) * | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
GB2352548B (en) * | 1999-07-26 | 2001-06-06 | Sun Microsystems Inc | Method and apparatus for executing standard functions in a computer system |
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 |
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 |
US6288566B1 (en) | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6311200B1 (en) | 1999-09-23 | 2001-10-30 | Chameleon Systems, Inc. | Reconfigurable program sum of products generator |
DE19946752A1 (de) * | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Rekonfigurierbares Gate-Array |
US6519674B1 (en) * | 2000-02-18 | 2003-02-11 | Chameleon Systems, Inc. | Configuration bits layout |
US6539477B1 (en) * | 2000-03-03 | 2003-03-25 | Chameleon Systems, Inc. | System and method for control synthesis using a reachable states look-up table |
EP1342158B1 (de) * | 2000-06-13 | 2010-08-04 | Richter, Thomas | Pipeline ct-protokolle und -kommunikation |
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) |
US20040015899A1 (en) * | 2000-10-06 | 2004-01-22 | Frank May | Method for processing data |
US6392912B1 (en) | 2001-01-10 | 2002-05-21 | Chameleon Systems, Inc. | Loading data plane on reconfigurable chip |
US7210129B2 (en) * | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
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 |
-
1997
- 1997-02-08 DE DE19704728A patent/DE19704728A1/de not_active Withdrawn
- 1997-10-08 US US08/946,812 patent/US6081903A/en not_active Expired - Lifetime
-
1998
- 1998-02-07 JP JP53356398A patent/JP4146519B2/ja not_active Expired - Fee Related
- 1998-02-07 DE DE19880129T patent/DE19880129D2/de not_active Expired - Lifetime
- 1998-02-07 AT AT98909346T patent/ATE298907T1/de not_active IP Right Cessation
- 1998-02-07 CN CN98803968A patent/CN1252144A/zh active Pending
- 1998-02-07 EA EA199900653A patent/EA001823B1/ru not_active IP Right Cessation
- 1998-02-07 AU AU63918/98A patent/AU740243B2/en not_active Ceased
- 1998-02-07 CA CA002279917A patent/CA2279917A1/en not_active Abandoned
- 1998-02-07 EP EP98909346A patent/EP0961980B1/de not_active Expired - Lifetime
- 1998-02-07 DE DE59812895T patent/DE59812895D1/de not_active Expired - Lifetime
- 1998-02-07 WO PCT/DE1998/000334 patent/WO1998035299A2/de active IP Right Grant
- 1998-02-07 EP EP05008631A patent/EP1669885A3/de not_active Ceased
-
2000
- 2000-03-29 US US09/537,932 patent/US6526520B1/en not_active Expired - Lifetime
-
2003
- 2003-02-24 US US10/373,595 patent/US6968452B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196947B (zh) * | 2006-12-04 | 2012-06-06 | 富士通株式会社 | 电路设计支持装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0961980B1 (de) | 2005-06-29 |
JP2001511325A (ja) | 2001-08-07 |
DE19704728A1 (de) | 1998-08-13 |
DE59812895D1 (de) | 2005-08-04 |
US6968452B2 (en) | 2005-11-22 |
CA2279917A1 (en) | 1998-08-13 |
EP1669885A2 (de) | 2006-06-14 |
US20040052130A1 (en) | 2004-03-18 |
US6081903A (en) | 2000-06-27 |
EP0961980A2 (de) | 1999-12-08 |
EA001823B1 (ru) | 2001-08-27 |
JP4146519B2 (ja) | 2008-09-10 |
WO1998035299A3 (de) | 1998-09-17 |
DE19880129D2 (de) | 2000-01-27 |
EP1669885A3 (de) | 2007-09-12 |
US6526520B1 (en) | 2003-02-25 |
AU6391898A (en) | 1998-08-26 |
WO1998035299A2 (de) | 1998-08-13 |
EA199900653A1 (ru) | 2000-08-28 |
ATE298907T1 (de) | 2005-07-15 |
AU740243B2 (en) | 2001-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1252144A (zh) | 一可编程组件中可构元件的自同步方法 | |
CN1230759C (zh) | 进行最佳数据传送的多总线信息处理***的总线-总线桥 | |
CN1129843C (zh) | 使用组合的数据处理器***和指令*** | |
CN1302380C (zh) | 处理器和编译器 | |
CN1121014C (zh) | 具有risc结构的八位微控制器 | |
CN101051301A (zh) | 用于操作计算机处理器阵列的方法和装置 | |
CN1284095C (zh) | 多处理器***中的任务分配方法和多处理器*** | |
CN1247613A (zh) | 对数字运算和逻辑运算进行处理以及在处理机(cpus)、多计算机***中使用的装置 | |
CN1993674A (zh) | 多芯架构中的资源管理 | |
CN1678988A (zh) | 数据处理设备中的流水线之间的同步化 | |
CN1152305C (zh) | 虚拟机*** | |
CN1877532A (zh) | 编译装置 | |
CN1752934A (zh) | 编译器、编译方法以及编译程序 | |
CN1046987A (zh) | 可编程控制器 | |
CN101069161A (zh) | 调度方法、调度装置和多处理器*** | |
CN1208197A (zh) | 高效执行特长指令字的处理器 | |
CN1147306A (zh) | 多指令集映射 | |
CN1495605A (zh) | 独立处理多个指令流、软式控制各指令流的处理功能的多程序流程同时处理器 | |
CN1655118A (zh) | 处理器和编译器 | |
CN1742257A (zh) | 基于识别寻址模式的双目的寄存器的数据预测机制 | |
CN1228558A (zh) | 程序变换方法和程序变换*** | |
CN1245922A (zh) | 有时间片任务切换能力的前后关系控制器及其应用处理器 | |
CN1115631C (zh) | 具有risc结构的八位微控制器 | |
CN1554048A (zh) | 用于检查和操作数据的存储器引擎 | |
CN101065725A (zh) | 命令供给装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1041712 Country of ref document: HK |