CN1636185A - 逻辑计算系统和方法 - Google Patents
逻辑计算系统和方法 Download PDFInfo
- Publication number
- CN1636185A CN1636185A CNA02828383XA CN02828383A CN1636185A CN 1636185 A CN1636185 A CN 1636185A CN A02828383X A CNA02828383X A CN A02828383XA CN 02828383 A CN02828383 A CN 02828383A CN 1636185 A CN1636185 A CN 1636185A
- Authority
- CN
- China
- Prior art keywords
- configuration data
- logical calculated
- data
- module
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
- Executing Machine-Instructions (AREA)
Abstract
由逻辑块43参照为LUT的FPGA数据模块被分为多个模块。多个数据寄存器(41a-41d)的每个储存多个FPGA数据模块之一。通过参照储存在多个数据寄存器(41a-41d)的一个或多个的FPGA数据模块,逻辑块(43)的门电路(43a)和触发器(43b)产生逻辑输入数据的逻辑功能值。提供逻辑输入数据的逻辑功能值,作为逻辑输出数据。
Description
技术领域
本发明涉及一种由硬件直接执行程序,特别涉及适于执行大尺寸程序的计算系统。
背景技术
在当代通用计算机执行操作过程时,CPU(中心处理单元)连续解释对应程序的多个操作码。多个操作码被存在存储器中,形成软件。因此,该程序由该软件实现。作为硬件的CPU的结构不能优化用于包含于软件程序中的独立操作过程。因此,在由CPU执行的操作过程期间导致开销高。
同时,作为由硬件执行程序的技术,PCT WO 94/10627公报(日本国内公报No.H8-504258)和PCT WO 98/08306公报(日本国内公报No.2000-516418)公开了采用FPGA(现场可编程门阵列)的系统。未审日本专利申请KOKAI公报No.H8-330945公开了在可编程阵列中的动态重新编程。
在FPGA中,根据作为程序而从外部输送的配置数据改变由多个逻辑电路实现的逻辑功能。换言之,经FPGA的操作过程的结果取决于对应配置数据的FPGA的硬件结构。
FPGA的处理速度不与只用于执行特殊操作过程的ASIC(专用集成电路)一样高。然而,FPGA可以以比常规通用计算机的CPU高的速度执行操作过程。
将由目前通用计算机执行的程序分为多个模块。尤其是,大尺寸程序含有很多模块。例如,由CPU执行的第一程序模块调用第二程序模块。处理第二程序模块之后,调用第三程序模块,或者回调第一程序模块。多个程序模块之间的这种链接作为整体实现了对应程序的操作过程。每个程序模块可以独立于其它程序模块而设计。此外,在有些情况下,每个程序模块可以被再用作其它软件的一部分。程序模块的这种使用可以减少设计整个程序所需的时间。
在采用FPGA的常规计算系统中,存在将硬件分为对应一些功能的多个模块的情况。在这种情况下,多个硬件模块经连接线总线彼此连接。然而,人们还没有提出将用于改变FPGA的逻辑功能的数据分为多个模块的系统。在常规FPGA中,用于多个门阵列的每个的配置数据一个一个被重新写入。在重新写配置数据时,停止逻辑计算。根据这种方法,需要很长的时间来更新配置数据。常规FPGA中配置数据的更新导致费用过高,因此降低了整个系统的处理容量。因而,难以频繁地改变采用常规FPGA的计算系统中的逻辑功能。逻辑功能的不变性限制了可由系统执行的程序的规模。
发明内容
本发明的目的是提供一种在不使用通用CPU的情况下由硬件有效地执行包多个模块的大尺寸程序的逻辑计算系统。
为实现上述目的,根据本发明的逻辑计算系统包括:
多个数据储存单元(41a-41d、49a-49d),该单元储存多个配置数据模块,每个配置数据模块包括查询表;
包括多个可编程逻辑电路(43a)的逻辑计算单元(43),
其中通过参照被储存在多个数据储存单元(41a-41d、49a-49d)的至少一个中的至少一个配置数据,逻辑计算单元(43)提供逻辑输入数据的逻辑功能值,作为逻辑输出数据。
根据这种结构,几乎不会由于更新配置数据而产生开销问题。因而,有效地进行大尺寸程序的逻辑计算,并且程序的执行速度增高。
多个数据储存单元(41a-41d)可形成移位寄存器(40)。
逻辑计算单元(43)可参照被储存在包含于移位寄存器(40)中的多个数据储存单元(41a-41d)的一个或多个中的配置数据模块。
移位寄存器(40)可使配置数据模块在多个数据储存单元(41a-41d)当中循环地转移。
该逻辑计算系统可包括选择多个数据储存单元(49a-49d)的至少一个的选择器(42)。
逻辑计算单元(43)可参照被储存在由选择器(42)选择的数据储存单元中的配置数据模块。
选择器(42)可循环地从多个数据储存单元(49a-49d)当中选择多个数据储存单元中的一个。
该逻辑计算系统可包括:
参数寄存器(45),储存逻辑计算单元的所有或部分内部参数,用于堆叠(stacking);
检测器(44),检测由多个配置数据模块之一向多个配置数据模块的另一个的调用和回调;和
控制器(47),控制由逻辑计算单元执行的逻辑计算,
其中控制器(47)可:
当选择器(44)检测到由多个配置数据模块之一向作为子例程的、多个配置数据模块的另一个的调用时,在参数寄存器(45)中储存逻辑计算单元的内部参数;和
当检测器(44)检测到多个配置数据模块之一的回调时,恢复被储存在逻辑计算单元(43)中的参数寄存器(45)中的内部参数。
根据这种结构,当改变配置数据模块时,可以在参数寄存器中储存逻辑计算单元的内部参数。当发生配置数据的回调时,恢复被储存在参数寄存器中的内部参数。通过这种方式,可以由硬件以高速度执行包括多个模块的大尺寸程序。
该逻辑计算系统还可包括装载机(3),该装载机将配置数据模块装载到多个数据储存单元(41a-41d,49a-49d)的一个或多个中。
多个数据储存单元(41a-41d,49a-49d)的每个可储存可重写的配置数据模块。
装载机可将配置数据模块从外部装载到多个数据储存单元中。由于这种结构,可由硬件执行包括很多数据模块的大尺寸程序。
该逻辑计算系统可包括:
检测器(44),检测由多个配置数据模块之一向多个配置数据模块的另一个的调用;和
控制器(47),控制由逻辑计算单元(43)执行的逻辑计算,
其中
控制器(47):
当检测器检测到由多个配置数据模块之一向作为子例程、多个配置数据模块的另一个的调用时,可检索该多个数据存储单元(41a-41d,49a-49d)查找作为子例程的配置数据模块;和
在没有检索出作为子例程的配置数据模块的情况下,可将装载指令发送到装载机(3),和
装载机(3)可将由装载指令表示的作为子例程的配置数据模块装载到多个数据配置单元(41a-41d,49a-49d)之一中。
该逻辑计算系统可包括:
储存逻辑计算单元(43)的所有或部分内部参数用于操纵的参数缓冲器(46);
检测器(44),检测由多个配置数据模块之一向多个配置数据模块的另一个的调用或回调;和
控制由逻辑计算单元执行的逻辑计算的控制器(47),
其中控制器(47):
当检测器(44)检测到由多个配置数据模块之一向多个配置数据模块的另一个的调用或回调时,可在参数缓冲器(46)中储存逻辑计算单元(43)的内部参数;和
当被调用或回调的配置数据模块设置成使得它可以由逻辑计算单元(43)参照时,可将储存在参数缓冲器(46)中的参数输入到逻辑计算单元(43)中。
根据这种结构,逻辑计算系统可在多个模块之间移交参数。
该逻辑计算系统可包括编译器(6),它在多个源程序模块的每个的基础上产生多个配置数据模块的每个。
为了实现上述目的,根据本发明的逻辑计算方法包括:
在多个数据储存单元(41a-41d,49a-49d)中储存各包括查询表的多个配置数据模块;
制备逻辑计算单元(43),它包括多个可编程逻辑电路(43a);
由逻辑计算单元(43)参照被储存在多个数据储存单元(41a-41d,49a-49d)的至少一个中的至少一个配置数据模块;和
在由逻辑计算单元(43)参照的配置数据模块的基础上提供逻辑输入数据的逻辑功能值,作为逻辑输出数据。
该逻辑计算方法可包括:
使用多个数据储存单元(41a-41d)形成移位寄存器(40);和
参照被储存在包含于移位寄存器(40)中的多个数据储存单元(41a-41d)的一个或多个中的配置数据模块。
该逻辑计算方法可包括:
由移位寄存器(40)将配置数据模块在多个数据储存单元(41a-41d)当中循环地转移。
该逻辑计算方法可包括:
由选择器(42)选择多个数据储存单元(49a-49d)的至少一个;和
参照被储存在由选择器(42)选择的数据储存单元中的配置数据模块。
由选择器(42)进行的选择可在多个数据储存单元(49a-49d)当中循环地改变。
该逻辑计算方法可包括:
检测由多个配置数据模块之一向多个配置数据模块的另一个的调用;
响应该检测,在参数寄存器(45)中储存逻辑计算单元(43)的所有或部分内部参数;和
当多个配置数据模块之一被回调时,恢复被储存在逻辑计算单元(43)的参数寄存器(45)中的内部参数。
该逻辑计算方法可包括:
可重写地在多个数据储存单元(41a-41d,49a-49d)中储存多个配置数据模块;和
由装载机(3)装载将要储存在多个数据储存单元(41a-41d,49a-49d)中的多个配置数据模块的至少一个。
该逻辑计算方法可包括:
当检测到由多个配置数据模块之一向作为子例程、多个配置数据模块的另一个的调用时,从多个数据储存单元(41a-41d,49a-49d)中检索作为子例程的配置数据模块;
在没有检索到作为子例程的配置数据模块时,向装载机(3)发送装载指令;和
由装载机(3)将作为子例程的由装载指令表示的配置数据模块装载到多个数据储存单元(41a-41d,49a-49d)之一。
该逻辑计算方法可包括:
检测由多个配置数据模块之一向多个配置数据模块的另一个的调用或回调;
响应该检测,在参数缓冲器(46)中储存逻辑计算单元(43)的所有或部分内部参数;和
当被调用或回调的配置数据模块设置成使得它可以由逻辑计算单元(43)参照时,将储存在参数缓冲器中的参数输入到逻辑计算单元(43)中。
该逻辑计算方法可包括:
在多个源程序模块的每个的基础上,由编译器(6)产生多个配置数据模块的每个。
附图说明
通过阅读下面的详细说明和附图使本发明的这些目的和其它目的和优点更显然,其中:
图1表示根据第一实施例的计算系统的结构;
图2表示根据第一实施例的计算系统的一个修改结构;
图3表示根据第一实施例的计算系统的一个修改结构;
图4表示根据第一实施例的计算系统的一个修改结构;
图5表示根据第一实施例的计算系统的一个修改结构;
图6表示根据第二实施例的计算系统的结构;和
图7表示根据第二实施例的计算系统的一个修改结构。
具体实施方式
图1表示根据本发明第一实施例的计算系统101的结构。如图1所示的计算系统101是可编程的逻辑单元。计算系统101包括FPGA数据存储器2、装载机3、和FPGA器件4。
FPGA数据存储器2储存多个FPGA数据模块2-1到2-n。设置在计算系统101外部的编译器6编译多个源程序5-1到5-n,以便产生FPGA数据模块2-1到2-n。编译器6可被包含于计算系统101中。利用硬件描述语言对源程序5-1到5-n编程。例如,FPGA数据模块2-1到2-n是通过编译源程序5-1产生的。FPGA数据模块2-2是通过编译源程序5-2产生的,并且对于其余FPGA数据模块也是这样的。每个FPGA数据模块2-1到2-n是包括用于形成查询表(LUT)的数据的配置数据模块。FPGA器件4中的逻辑输入数据和逻辑输出数据之间的对应关系由LUT表示。源程序5-1到5-n的至少一个模块调用源程序5-1到5-n当中的另一模块。根据源程序5-1到5-n之间的这种关系。FPGA数据模块2-1到2-n的至少一个模块与FPGA数据模块2-1到2-n当中的另一个模块相关。例如,FPGA数据模块2-1到2-n之一用作FPGA数据模块2-1到2-n当中的另一模块的子例程。对于另一例子,FPGA数据模块2-1到2-n分别对应将一个接着一个被处理的一系列程序模块。
装载机3响应多个装载指令将FPGA数据模块2-1到2-n从FPGA数据存储器2装载到FPGA器件4上。当FPGA器件4起动时,从FPGA器件4的外部输送多个装载指令之一。在由FPGA器件4计算的过程中产生其它装载指令。装载机3响应一个装载指令将FPGA数据模块2-1到2-n之一从FPGA数据存储器2装载到数据寄存器41a-41d之一上。例如,装载机3经总线48连接到数据寄存器41a-41d。总线48包括数据总线、地址总线、写启动线等。响应装载指令,装载机3向总线48的地址总线发送地址信号,并将写启动线上的信号转换成有效电平。写启动线上的信号被转换成有效电平之后,装载机3将数据信号发送给总线48的数据总线。
FPGA器件4通过参照FPGA数据模块2-1到2-n当中的由装载机3装载的一个或多个模块来形成逻辑电路。FPGA器件4产生逻辑输入数据的逻辑功能值,其中该逻辑输入数据是从计算系统101的外部输入的。例如,FPGA器件4的逻辑输入数据可借助输入单元如键盘输送。或者,逻辑输入数据可从外部存储器如硬盘驱动器(HDD)读出。逻辑输入数据的逻辑功能值提供给外部,作为计算系统101的逻辑输出数据。例如,FPGA器件4的逻辑输出数据可提供给输出单元,如显示器件。或者,逻辑输出数据可以被写到外部存储器上。此外,逻辑输出数据可用于控制外围器件。
FPGA器件4包括移位寄存器40、逻辑块43、例程检测器44、参数寄存器45、参数缓冲器46和控制器47。
如图1所示的移位寄存器40包括四个数据寄存器41a-41d。例如,每个数据寄存器41a-41d根据FPGA数据模块2-1到2-n的尺寸而包括多个触发器。每个数据寄存器41a-41d储存由装载机3从FPGA数据存储器2装载的FPGA数据模块2-1到2-n之一。例如,在总线48的写启动线上的信号有效的情况下,在由装载机3选择的数据寄存器41a-41d之一中,对应总线48的数据总线上的信号的数据被写到对应总线48的地址总线上的信号的地址中。
被储存在数据寄存器41a-41d中的数据模块可在数据寄存器41a-41d之间循环地移位。移位寄存器40内部的数据模块的循环由图1中的虚线表示。更详细地说,被储存在数据寄存器41d中的数据模块被转移到数据寄存器41c中。被储存在数据寄存器41c中的数据模块被转移到数据寄存器41b中。被储存在数据寄存器41a中的数据模块被转移到数据寄存器41d中。在图1所示的移位寄存器40中,被储存在移位寄存器41a中的数据模块由逻辑块43作为查询表参照。被储存在数据寄存器41a中的数据模块分别被并行地转移到其它数据寄存器中。因此,循环地改变由逻辑块43参照的数据模块。
逻辑块43包括门电路43a和触发器43b。实际逻辑块43可包括多个门电路43a和触发器43b。对于示意说明,图1示出了一个门电路43a和一个触发器43b。
门电路43a是用于实现多种逻辑门(例如,AND、OR、NOT、XOR及这些功能的组合)的可编程逻辑电路。在被储存在数据寄存器41a中的数据模块的基础上确定门电路43a的逻辑功能。触发器43b保持来自门电路43a的输出并作为内部参数。此外,参数可外部地被写到触发器43b中。
例程检测器44识别被储存在数据寄存器41a中的数据模块和另一数据模块之间的关系。如果被储存在数据寄存器41a中的数据模块与FPGA数据模块2-1到2-n当中的另一数据模块相关,则例程检测器33指定相关的另一数据模块。该指定的数据模块被报告给控制器47。
当转移被储存在移位寄存器40中的数据模块时,参数寄存器45储存被储存在触发器43b中的所有或部分参数,用于堆叠。例如,参数寄存器45可根据LIFO(后进行出)法堆叠这些参数。当同一数据模块作为回调而再次被转移到数据寄存器41a时,被堆叠在参数寄存器45中的参数返回到触发器43b。
当被储存在数据寄存器41a中的数据模块调用作为子例程的另一数据模块时,参数缓冲器46储存被储存在用于操纵的触发器43b中的所有或部分参数。当将要在后续过程中作为子例程参照的数据模块被转移到数据寄存器41a中时,被储存在参数缓冲器46中的参数返回到逻辑块43,作为到门电路43a的输入。在另一种情况下,当FPGA数据模块2-1到2-n之一作为主程序被回调时,参数缓冲器46储存逻辑块43的输出,作为返回值。当时将要被参照作为主程序的数据模块转移到数据寄存器41a时,被储存在参数缓冲器46中的参数通过被写到触发器43b中而返回到逻辑块43。
控制器47控制逻辑块43中的逻辑计算。当例程检测器44检测到由储存在数据寄存器41a中的数据模块向另一数据模块的调用时,控制器47在被储存在触发器43b中的内部参数当中的要被堆叠的参数和要被操纵的参数之间进行识别。要被堆叠的参数被储存在参数寄存器45中。要被操纵的参数被输入到参数缓冲器46中。控制器47试图检测数据寄存器41b-41d中的由例程检测器44指定的另一数据模块。如果检测到由例程检测器44指定的数据模块,则为了将这个数据模块转移到数据寄存器41a中,控制器47驱动移位寄存器40。另一方面,如果由例程检测器44指定的数据模块没有在数据寄存器41b-41d中被检测到,则控制器47发送装载指令给装载机3。这个装载指令表示要被装载的FPGA数据模块2-1到2-n之一以及要重写其内容的数据寄存器41a-41d之一。由装载机3装载之后,控制器47驱动移位寄存器40,以便将被装载的数据模块转移到数据寄存器41a中。当指定的数据模块被转移到数据寄存器41a中时,控制器47控制被储存在参数缓冲器46中的参数被写入触发器43b中。
当FPGA数据模块2-1到2-n之一作为主程序被回调时,控制器47在被储存在触发器43b中的内部参数当中指定要被操纵的参数。由控制器47指定的参数输入到参数缓冲器46。当作为主程序的数据模块被转移到数据寄存器41a中时,控制器47控制被储存在参数寄存器45中的参数被写入触发器43b的一部分中,并控制被储存在参数缓冲器46中的参数被写入触发器43b的另一部分中。
根据第一实施例的计算系统101,首先,装载机3从外部接收装载指令。装载机3根据装载指令将FPGA数据模块2-1到2-n之一从FPGA数据存储器2装载带数据寄存器41a中。
例如,装载机3将FPGA数据模块2-1装载到数据寄存器41a上。当FPGA数据模块2-1的装载完成时,逻辑块43通过参照储存FPGA数据模块2-1的数据寄存器41a而形成逻辑电路。从外部输送给逻辑块43的逻辑输入数据被引入门电路43a中。门电路43a和触发器43b通过将储存FPGA数据模块2-1的数据寄存器41a作为LUT而产生逻辑输入数据的逻辑功能值。逻辑块43向外部提供逻辑输入数据的逻辑功能值,作为逻辑输出数据。通过这种方式,计算系统101执行对应作为主程序的FPGA数据模块2-1的操作。在由FPGA器件4执行的这种逻辑计算中,例程检测器44检测由储存在数据寄存器41a中的数据模块向另一数据模块的调用。
例如,FPGA数据模块2-1与FPGA数据模块2-n相关。在这种情况下,例程检测器44检测由FPGA数据模块2-1到FPGA数据模块2-n的调用。响应由该调用的例程检测器44的检测,控制器47将被储存在参数寄存器45和/或参数缓冲器46中的触发器43b中的内部参数储存起来。此外,控制器47将存储与内部参数相关的用于参数寄存器45中的FPGA数据模块2-1的主程序识别符。
控制器47从数据寄存器41a-41d中搜索作为子例程的FPGA数据模块2-n。如果没有发现FPGA数据模块2-n,则控制器47给装载机3发送装载指令。在本例中,根据这个装载指令将FPGA数据模块2-n从FPGA数据存储器2装载到数据寄存器41b中。当FPGA数据模块2-n的装载完成时,控制器47驱动移位寄存器40,以便将FPGA数据模块2-n转移到数据寄存器41a中。数据寄存器41b中所包含的所有寄存器元件将FPGA数据模块2-n并行地输送到数据寄存器41a的寄存器元件。同时,被储存在数据寄存器41a中的FPGA数据模块2-1被转移到数据寄存器41d。
如果在数据寄存器41a-41d的任何一个中发现FPGA数据模块2-n,则在不进行任何数据模块的装载的情况下控制器47驱动移位寄存器40。根据移位寄存器40的驱动,FPGA数据模块2-n被转移到数据寄存器41a。
当数据模块的转移完成时,逻辑块43通过参照储存FPGA数据模块2-n的数据寄存器41a而重新配置逻辑电路。此时,被储存在参数缓冲器46中的参数返回到逻辑块43,作为到门电路43a的所有或部分输入。
当完成逻辑电路的重新配置时,门电路43a和触发器43b可以通过将储存FPGA数据模块2-n的数据寄存器41a作为LUT而产生逻辑输入数据的逻辑功能值。由此,计算系统101执行作为子例程的对应FPGA数据模块2-n的操作。
当对应FPGA数据模块2-n的操作完成时,回调作为主程序的FPGA数据模块2-1。为回调FPGA数据模块2-1,控制器47将逻辑块43的逻辑输出数据储存在参数缓冲器46中。控制器47获得被储存在参数寄存器45中的主程序识别符。这个主程序识别符表示作为主程序的FPGA数据模块2-1。在这个主程序识别符的基础上,控制器47驱动移位寄存器40。结果是,FPGA数据模块2-1被转移到数据寄存器41a。同时,控制器47控制参数寄存器45中的参数被写入触发器43b的一部分中,并且控制参数缓冲器46中的参数被写入触发器43b的另一部分中。
逻辑块43通过参照储存已经被转移给它的FPGA数据模块2-1的数据寄存器41a而重新配置逻辑电路。门电路43a和触发器43b通过将储存FPGA数据模块2-1的数据寄存器41a作为LUT而执行用于逻辑输入数据的逻辑功能值。因此,计算系统101可以再次执行作为主程序的对应FPGA数据模块2-1的操作。
作为子例程的FPGA数据模块2-n还可调用除了FPGA数据模块2-1以外的其它数据模块。在这种情况下,当完成对应FPGA数据模块2-n的操作时,被储存在参数寄存器45中的参数被下推。触发器43b将内部参数作为对应FPGA数据模块2-n的结果储存起来。被储存在触发器43b中的所有或部分内部参数伴随着程序识别符被转移到参数寄存器45的最顶部。与被储存在参数寄存器45的顶部的参数一起,程序识别符表示将要被回调的FPGA数据模块2-n。当根据这个程序识别符回调FPGA数据模块2-n时,被储存在参数寄存器45顶部的被写入所有或部分触发器43b中。这个调用过程的其它部分与FPGA数据模块2-nbei FPGA数据模块2-1调用的过程相同。回调过程与FPGA数据模块2-n回调FPGA数据模块2-1的过程相同。
至少一个FPGA数据模块2-1到2-n可以是适于递归程序的一个。递归程序是在其执行期间调用其本身的程序。
如上所述,作为逻辑块43的内部参数被储存在触发器43b中的参数被储存在参数寄存器45中,用于堆叠。堆叠内部参数之后,被调用为子例程的数据模块传送到数据寄存器41a。储存FPGA数据模块2-1到2-n之一的数据寄存器41a可以由逻辑块43引用为LUT。当作为主程序的数据模块被回调时,被储存在参数寄存器45中的参数在逻辑块43中恢复。通过这种方式,可由硬件执行包括多个模块的大尺寸程序。由硬件执行程序所需的时间比由使用CPU的软件执行程序所需的时间短。计算系统101可以以高速执行逻辑计算。
当储存FPGA数据模块2-1到2-n之一的数据寄存器41a被逻辑块43引用时,装载机3可以将FPGA数据模块2-1到2-n的另一个从FPGA数据存储器2装载到数据寄存器41b-41d之一中。通过这种装载,FPGA数据模块2-1到2-n的另一个可以被依次写入数据寄存器41b-41d之一中。移位寄存器40并行地转移被储存在数据寄存器41a-41d中的数据模块。转移数据模块所需的时间比写数据模块所需的时间短很多。因而,通过更新配置数据而在FPGA器件4种产生的开销问题远远小于在只有一个配置存储器的结构中产生的开销问题。
产生FPGA数据模块2-1到2-n,以便对应由编译器6编译的源程序5-1到5-n。源程序5-1到5-n被模块单元分割。因此,源程序5-1到5-n可以彼此独立地产生。此外,源程序5-1到5-n的每个可以作为另一软件的一部分被再使用。
当LUT(被储存在数据寄存器41a中的数据模块)彼此改变时,被储存在触发器43b中的逻辑块43的内部参数被储存在参数寄存器45和/或参数缓冲器46中。参数寄存器45储存内部参数用于堆叠,并且参数缓冲器46储存内部参数用于操纵。被储存在参数缓冲器46中的参数从主程序过程到子例程过程、或者从子例程过程到主程序过程被操纵。当处理从子例程回到主程序时,被储存在参数寄存器45中的参数恢复。由于这种结构,可由硬件执行包括很多模块的大尺寸程序。
对于根据第一实施例的计算系统101来说,可以获得各种修改和应用。
在一个例子中,被寄存在数据寄存器41a-41d任一个中的数据模块可以被读出,以便由逻辑块43参照为LUT。在本例中,移位寄存器40的数据寄存器41a-41d连接到读启动线。被寄存在数据寄存器41a-41d之一中的FPGA数据模块2-1到2-n之一可以根据处于有效电平的读启动线之一而被读出。
在另一例子中,被储存在移位寄存器40中的多个数据模块可以同时被读出。在本例中,根据处于有效电平的两个或多个读启动线,可以同时读出被储存在数据寄存器41a-41d的两个或多个中的FPGA数据模块2-1到2-n中的两个或多个。在从移位寄存器40读出的数据模块的基础上确定门电路43a的逻辑功能。
此外,装载机3可以将数据模块从FPGA数据存储器2只装载到一个数据寄存器41a-41d中(例如只装载到数据寄存器41d中)。
在数据寄存器41b-41d的每个是双端口RAM时,数据寄存器41a-41d之一的输出端口可以连接到数据寄存器41a-41d的另一个的输入端口。例如,在图2所示的移位寄存器40中,数据寄存器41d的输出端口(OUT)连接到数据寄存器41c的输入端口(IN)。数据寄存器41c的输出端口连接到数据寄存器41b的输入端口。数据寄存器41b的输出端口连接到数据寄存器41a的输入端口。数据寄存器41a的输出端口连接到数据寄存器41d的输入端口。在这种结构中,被储存在数据寄存器41a-41d中的数据模块在数据寄存器41a-41d之间循环移位。
如图3所示,移位寄存器40可包括对应FPGA数据模块2-1到2-n的数据寄存器41-1到41-n。FPGA数据模块2-1到2-n的数量和数据寄存器41-1到41-n的数量是相同的。在这种结构中,编译器6储存已经在数据寄存器41-n中被编译的源程序5-1到5-n之一。移位寄存器40一旦将储存在数据寄存器41-1到41-n中的数据转移,则每次编译器6都编译源程序5-1到5-n。当编译器6完成所有源程序5-1到5-n的编译时,移位寄存器40在数据寄存器41-1到41-n中保持所有FPGA数据模块2-1到2-n。随着程序处理的进行,移位寄存器40将FPGA数据模块2-1到2-n之一转移到数据寄存器41-1到41-n中。被转移到数据寄存器41-1到41-n的数据模块由逻辑块43引用为LUT。换言之,在不装载FPGA数据模块2-1到2-n的情况下,如图3所示的移位寄存器40启动将由另一个代替的LUT。
在不用编译器6的情况下可以直接将源程序5-1到5-n装载到数据寄存器41a-41d。在这种情况下,如图4所示,FPGA器件4包括连接在移位寄存器40和逻辑块43之间的解释器50。例如,解释器50是通过包括多个门电路的组合的硬件实现的。逻辑块43可以在来自解释器50的输出的基础上重新配置逻辑电路,而几乎不会影响计算的执行速度。数据电路43a的输出被获得到触发器43b的所有或部分中,每次完成被包含于源程序中的操作的执行。因此,被包含于源程序中的操作一个接着一个执行。
根据这种结构,移位寄存器40向解释器50输送被储存在数据寄存器41a中的源程序5-1到5-n之一。
解释器50一个一个地解释包含于被储存在数据寄存器41a中的源程序中的操作码。在解释器50解释的结果基础上确定门电路43a的逻辑功能。如果作为解释的结果调用另一源程序,则控制器47检测这种调用。在控制器47的控制下,源程序5-1到5-n之一被装载,和/或驱动移位寄存器40,以便可以将被调用的源程序储存在数据寄存器41a中。当检测到源程序的调用时,控制器47将被储存在触发器43b、参数寄存器45和/或参数缓冲器46中的内部参数储存起来。此外,控制器47将涉及内部参数的主程序识别符储存在参数寄存器45中。
当完成对应作为子例程被调用的源程序5-1到5-n之一的操作时,作为主程序回调另一源程序5-1到5-n。此时,控制器47将逻辑块43的逻辑输出数据储存在参数缓冲器46中。并且控制器47获得被储存在参数寄存器45中的主程序识别符。基于这个主程序识别符,控制器47驱动移位寄存器40。同时,控制器47控制被储存在参数寄存器45中的参数,将其写入触发器43b的一部分中,并控制被储存在参数缓冲器46中的参数被写入触发器43b的另一部分中。
由此,源程序5-1到5-n可以由模块单元装载到数据寄存器41a-41d之一。因此,在没有编译器6的情况下可以由硬件执行由多个模块构成的大尺寸程序。由于源程序5-1到5-n在数据寄存器41a-41d之间循环移位,因此,由于更新配置数据而在FPGA器件4种产生的开销小于在只有一个配置存储器的结构中产生的开销。
如图5所示,移位寄存器40根据源程序5-1到5-n可包括数据寄存器41-1到41-n。源程序5-1到5-n的数量和数据寄存器41-1到41-n的数量是相同的。移位寄存器40将所有源程序5-1到5-n储存在数据寄存器41-1到41-n中。移位寄存器40根据程序的进行将源程序5-1到5-n之一转移到数据寄存器41-1中。被转移到数据寄存器41-1的源程序由解释器50解释。换言之,图5所示的移位寄存器40启动源程序,以便用另一源程序改变,而不加载源程序5-1到5-n。
图6示出了根据本发明第二实施例的计算系统102的结构。在图6中,与根据第一实施例的计算系统101相同的结构给出相同的参考标记。如图6所示,计算系统102的FPGA器件7包括选择器42和数据存储器49a-49d,代替了移位寄存器40。
选择器42根据从控制器47接收来的控制信号而选择数据存储器49a-49d之一。由选择器42选择的数据存储器中的数据模块由逻辑块43参照为LUT。例如,选择器42可以是具有四个输入端和一个输出端的多路复用器。选择器42的四个输入端的每个分别连接到被包含于每个数据存储器49a-49d中的多个储存单元之一。在实际FPGA器件7中,选择器42的数量可以对应LUT的尺寸。为了示意性的说明,图6示出了一个选择器42。将要由选择器42选择的数据存储器可以用数据存储器49a-49d当中的另一个循环改变。此外,选择器42可以同时选择两个或多个数据存储器49a-49d。
例如,每个数据存储器49a-49d是触发器或RAM。与第一实施例的数据寄存器41a-41d一样,每个数据存储器49a-49d经总线48连接到装载机3。总线48包括数据总线、地址总线、写启动线等。当总线48的写启动线上的信号有效时,对应总线48的数据总线上的信号的数据被写入一个或多个数据存储器49a-49d中对应总线48的地址总线上的信号的地址中。在每个数据存储器49a-49d是RAM的情况下,每个数据存储器49a-49d连接到读启动线。有效电平的信号输送给连接到由选择器42选择的数据存储器49a-49d之一的读启动线。在选择器42同时选择两个或多个数据存储器49a-49d的情况下,有效电平的信号可以输送给连接到多个数据存储器49a-49d的多个读启动线。被选择器42选择的数据存储器49a-49d之一由逻辑块43参照为LUT。
根据第二实施例的计算系统102,FPGA数据模块2-1到2-n之一由装载机3从数据存储器2装载到数据储存器49a-49d,与第一实施例相同。例如,FPGA数据模块2-1被装载到数据储存器49a。选择器42根据从控制器47输送来的控制信号选择数据存储器49a-49d。在本例中,选择器42选择数据存储器49a。逻辑块43通过参照由选择器42选择的数据存储器49a-49d之一即数据存储器49a而形成逻辑电路。门电路43a和触发器43b通过将数据存储器49a作为LUT而产生逻辑输入数据的逻辑功能值。例程检测器44检测由被储存在由选择器42选择的数据存储器49a中的数据模块向另一数据模块的调用。
例如,FPGA数据模块2-1与FPGA数据模块2-n相关。在这种情况下,例程检测器44检测由FPGA数据模块2-1向FPGA数据模块2-n的调用。控制器47控制逻辑块43、参数寄存器45、和参数缓冲器46的行为,与第一实施例类似。
控制器47从数据存储器49a-49d中检索FPGA数据模块2-n,作为子例程。如果没发现FPGA数据模块2-n,从控制器47向装载机3发送装载指令。在本例中,根据装载指令,将FPGA数据模块2-n从FPGA数据存储器2装载到数据存储器49b中。当完成FPGA数据模块2-n的装载时,控制器47发送用于控制选择器42的控制信号,以便选择数据存储器49b。根据这种控制信号,选择器42选择数据存储器49b。
相反,如果在数据存储器49a-49d的任何一个中发现FPGA数据模块2-n,则在不装载任何数据模块的情况下控制器47向选择器42发送控制信号。
逻辑块43通过参照由选择器42选择的数据存储器49b而重新配置逻辑电路。当完成逻辑电路的重新配置时,门电路43a和触发器43b通过将储存FPGA数据模块2-n的数据存储器49b看作是LUT而可以产生逻辑功能值。
当对应FPGA数据模块2-n的操作完成时,控制器47向选择器42发送用于选择数据存储器49a的控制信号,以便回调FPGA数据模块2-1作为主程序。根据这种控制信号,选择器42选择数据存储器49a。
逻辑块43通过参照储存FPGA数据模块2-1的数据寄存器而重新配置逻辑电路。门电路43a和触发器43b通过将储存FPGA数据模块2-1的数据寄存器41看作是LUT而执行用于逻辑输入数据的逻辑功能。因此,计算系统102可作为主程序再次执行对应FPGA数据模块2-1的操作。
与第一实施例相同,除了FPGA数据模块2-1之外,作为子例程的FPGA数据模块2-n可以另外调用另一数据模块。
根据这种结构,可以由硬件执行包括多个模块的大尺寸程序。由计算系统102进行的逻辑计算可以以比通过使用CPU的软件进行的逻辑计算的速度高的速度执行。在由选择器42选择的数据存储器49a-49d之一被逻辑块43参照的同时,装载机3可以重写另一个数据存储器49a-49d,以便装载FPGA数据模块2-1到2-n之一。通过改变选择器42的选择而用另一个立即改变LUT。相应地,通过更新配置数据地方在FPGA器件7中产生的开销小于在只有一个配置存储器的结构中产生的开销。
对于根据第二实施例的计算系统102可以获得各种修改和应用。
例如,选择器42可循环地选择数据存储器49a-49d。更具体地说,选择数据存储器49a之后,选择器42选择数据存储器49b。选择数据存储器49b之后,选择器42选择数据存储器49c。选择数据存储器49c之后,选择器42选择数据存储器49d。选择数据存储器49d之后,选择器42选择数据存储器49a。在这个操作中,选择器42和数据存储器49a-49d基本上实现了与第一实施例的移位寄存器40相同的功能。
基于与图3所示的计算系统101相同的想法,FPGA器件7根据FPGA数据模块2-1到2-n可包括n个数据存储器。在这种情况下,选择器42可以是具有n个输入和一个输出的多路复用器。
在不用编译器6的情况下可以直接将源程序5-1到5-n装载到数据存储器49a-49d中。在这种情况下,如图7所示,FPGA器件7包括连接在选择器42和逻辑块43之间的解释器50。解释器50一个一个地解释被包含于源程序中的操作码,其中所述源程序被储存在由选择器42选择的数据存储器49a-49d之一中。基于与图5所示计算系统101相同的想法,FPGA器件7根据源程序5-1到5-n可包括n个数据存储器。
这种应用基于在2001年12月28日申请的日本专利申请No.2001-401462,并包括说明书、权利要求书、附图和摘要。这里引证上述日本专利申请的公开的全部内容供参考。
工业实用性
本发明涉及包括多个模块的大尺寸程序由硬件的直接执行,而不使用通常的CPU。
Claims (20)
1、一种逻辑计算系统,包括:
多个数据储存单元(41a-41d、49a-49d),这些单元储存多个配置数据模块,每个配置数据模块包括查询表;和
包括多个可编程逻辑电路(43a)的逻辑计算单元(43),
其中通过参照被储存在所述多个数据储存单元(41a-41d、49a-49d)的至少一个中的至少一个配置数据模块,所述逻辑计算单元提供逻辑输入数据的逻辑功能值,作为逻辑输出数据。
2、根据权利要求1的逻辑计算系统,其中:
所述多个数据储存单元(41a-41d)形成移位寄存器(40);和
所述逻辑计算单元(43)参照被储存在包含于所述移位寄存器(40)中的所述多个数据储存单元(41a-41d)的一个或多个中的配置数据模块。
3、根据权利要求2的逻辑计算系统,
其中所述移位寄存器(40)可使配置数据模块在所述多个数据储存单元(41a-41d)当中循环地移位。
4、根据权利要求1的逻辑计算系统,还包括选择所述多个数据储存单元(49a-49d)中的至少一个的选择器(42),
其中所述逻辑计算单元(43)参照被储存在由所述选择器(42)选择的所述数据储存单元中的配置数据模块。
5、根据权利要求4的逻辑计算系统,
其中所述选择器(42)从所述多个数据储存单(49a-49d)当中循环地选择所述多个数据储存单元中的一个。
6、根据权利要求1的逻辑计算系统,还包括:
参数寄存器(45),储存所述逻辑计算单元(43)的所有或部分内部参数,用于堆叠;
检测器(44),检测由多个配置数据模块之一向多个配置数据模块的另一个的调用和回调;和
控制器(47),控制由所述逻辑计算单元执行的逻辑计算,
其中控制器(47):
当所述检测器(44)检测到由多个配置数据模块之一向作为一个子例程的、多个配置数据模块的另一个的调用时,在所述参数寄存器(45)中储存所述逻辑计算单元的内部参数;和
当检测器(44)检测到对多个配置数据模块之一的回调时,恢复被储存在所述逻辑计算单元(43)中的所述参数寄存器(45)中的内部参数。
7、根据权利要求1的逻辑计算系统,还包括装载机(3),该装载机将配置数据模块装载到所述多个数据储存单元(41a-41d,49a-49d)的一个或多个中,
其中所述多个数据储存单元(41a-41d,49a-49d)的每个储存可重写的配置数据模块。
8、根据权利要求7的逻辑计算系统,包括:
检测器(44),检测由多个配置数据模块之一向多个配置数据模块的另一个的调用;和
控制器(47),控制由所述逻辑计算单元(43)执行的逻辑计算,
其中
所述控制器(47):
当所述检测器(44)检测到由多个配置数据模块之一向作为一个子例程的、多个配置数据模块的另一个的调用时,从所述多个数据储存单元(41a-41d,49a-49d)检索作为子例程的配置数据模块;和
在没有检索出作为子例程的配置数据模块的情况下,将装载指令发送到所述装载机(3),和
所述装载机(3)将由装载指令表示的作为子例程的配置数据模块装载到所述多个数据存储单元(41a-41d,49a-49d)之一中。
9、根据权利要求1的逻辑计算系统,包括:
储存所述逻辑计算单元(43)的所有或部分内部参数用于操纵的参数缓冲器(46);
检测器(44),检测由多个配置数据模块之一向多个配置数据模块的另一个的调用或回调;和
控制由所述逻辑计算单元执行的逻辑计算的控制器(47),
其中所述控制器(47):
当所述检测器(44)检测到由多个配置数据模块之一向多个配置数据模块的另一个的调用或回调时,所述在参数缓冲器(46)中储存所述逻辑计算单元(43)的内部参数;和
当被调用或回调的配置数据模块设置成可由逻辑计算单元(43)参照时,将储存在所述参数缓冲器(46)中的参数输入到所述逻辑计算单元(43)中。
10、根据权利要求1的逻辑计算系统,包括编译器(6),它在多个源程序模块的每个的基础上产生多个配置数据模块的每一个。
11、一种逻辑计算方法,包括:
在多个数据储存单元(41a-41d,49a-49d)中储存各包括一查询表的多个配置数据模块;
制备逻辑计算单元(43),它包括多个可编程逻辑电路(43a);
由所述逻辑计算单元(43)参照被储存在多个数据储存单元(41a-41d,49a-49d)的至少一个中的至少一个配置数据模块;和
在由所述逻辑计算单元(43)参照的配置数据模块的基础上提供逻辑输入数据的逻辑功能值,作为逻辑输出数据。
12、根据权利要求11的逻辑计算方法,包括:
使用所述多个数据储存单元(41a-41d)形成移位寄存器(40);和
参照被储存在包含于所述移位寄存器(40)中的所述多个数据储存单元(41a-41d)的一个或多个中的配置数据模块。
13、根据权利要求12的逻辑计算方法,包括:
由所述移位寄存器(40)将配置数据模块在所述多个数据储存单元(41a-41d)当中循环移位。
14、根据权利要求11的逻辑计算方法,包括:
由选择器(42)选择所述多个数据储存单元(49a-49d)的至少一个;和
参照被储存在由所述选择器(42)选择的所述数据储存单元中的配置数据模块。
15、根据权利要求14的逻辑计算方法,
其中由所述选择器(42)进行的选择在所述多个数据储存单元(49a-49d)当中循环地改变。
16、根据权利要求11的逻辑计算方法,包括:
检测由多个配置数据模块之一向作为子例程的、多个配置数据模块的另一个的调用;
响应所述检测,在参数寄存器(45)中储存所述逻辑计算单元(43)的所有或部分内部参数;和
当多个配置数据模块之一被回调时,恢复被储存在所述逻辑计算单元(43)的所述参数寄存器(45)中的内部参数。
17、根据权利要求11的逻辑计算方法,包括:
可重写地在所述多个数据储存单元(41a-41d,49a-49d)中储存多个配置数据模块;和
由装载机(3)装载将要储存在所述多个数据储存单元(41a-41d,49a-49d)中的多个配置数据模块的至少一个。
18、根据权利要求17的逻辑计算方法,包括:
当检测到由多个配置数据模块之一向作为子例程的、多个配置数据模块的另一个的调用时,从所述多个数据储存单元(41a-41d,49a-49d)中检索配置数据模块,作为子例程;
在没有检索出作为子例程的配置数据模块时,向所述装载机(3)发送装载指令;和
由所述装载机(3)将作为子例程的由装载指令表示的配置数据模块装载到所述多个数据储存单元(41a-41d,49a-49d)之一。
19、根据权利要求11的逻辑计算方法,包括:
检测由多个配置数据模块之一向多个配置数据模块的另一个的调用或回调;
响应所述检测,在参数缓冲器(46)中储存所述逻辑计算单元(43)的所有或部分内部参数;和
当被调用或回调的配置数据模块设置成可由所述逻辑计算单元(43)参照时,将储存在所述参数缓冲器(46)中的参数输入到所述逻辑计算单元(43)中。
20、根据权利要求11的逻辑计算方法,包括:
在多个源程序模块的每个的基础上,由编译器(6)产生多个配置数据模块的每个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP401462/2001 | 2001-12-28 | ||
JP2001401462A JP3540796B2 (ja) | 2001-12-28 | 2001-12-28 | 演算システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1636185A true CN1636185A (zh) | 2005-07-06 |
Family
ID=19189780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA02828383XA Pending CN1636185A (zh) | 2001-12-28 | 2002-12-24 | 逻辑计算系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20050108290A1 (zh) |
JP (1) | JP3540796B2 (zh) |
KR (1) | KR100612717B1 (zh) |
CN (1) | CN1636185A (zh) |
WO (1) | WO2003058429A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527335A (zh) * | 2016-12-08 | 2017-03-22 | 湖南戈人自动化科技有限公司 | 一种支持协程功能的plc控制器 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3836109B2 (ja) * | 2004-02-19 | 2006-10-18 | 東京エレクトロン株式会社 | プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム |
US7471116B2 (en) * | 2005-12-08 | 2008-12-30 | Alcatel-Lucent Usa Inc. | Dynamic constant folding of a circuit |
JP5131188B2 (ja) * | 2006-04-05 | 2013-01-30 | 日本電気株式会社 | データ処理装置 |
JP5347974B2 (ja) * | 2008-02-01 | 2013-11-20 | 日本電気株式会社 | 多分岐予測方法及び装置 |
JP5589479B2 (ja) | 2010-03-25 | 2014-09-17 | 富士ゼロックス株式会社 | データ処理装置 |
JP6740719B2 (ja) * | 2016-06-03 | 2020-08-19 | 富士通株式会社 | 情報処理装置、情報処理方法、およびプログラム |
KR102559581B1 (ko) | 2018-05-23 | 2023-07-25 | 삼성전자주식회사 | 재구성 가능 로직을 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
WO2021171300A1 (en) | 2020-02-24 | 2021-09-02 | Selec Controls Private Limited | A modular and configurable electrical device group |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68929518T2 (de) * | 1988-10-05 | 2005-06-09 | Quickturn Design Systems, Inc., Mountain View | Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät |
US4942319A (en) * | 1989-01-19 | 1990-07-17 | National Semiconductor Corp. | Multiple page programmable logic architecture |
US5778439A (en) * | 1995-08-18 | 1998-07-07 | Xilinx, Inc. | Programmable logic device with hierarchical confiquration and state storage |
US5646545A (en) * | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
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 |
US6046603A (en) * | 1997-12-12 | 2000-04-04 | Xilinx, Inc. | Method and apparatus for controlling the partial reconfiguration of a field programmable gate array |
-
2001
- 2001-12-28 JP JP2001401462A patent/JP3540796B2/ja not_active Expired - Fee Related
-
2002
- 2002-12-24 CN CNA02828383XA patent/CN1636185A/zh active Pending
- 2002-12-24 WO PCT/JP2002/013442 patent/WO2003058429A2/en active Application Filing
- 2002-12-24 US US10/500,197 patent/US20050108290A1/en not_active Abandoned
- 2002-12-24 KR KR1020047010229A patent/KR100612717B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527335A (zh) * | 2016-12-08 | 2017-03-22 | 湖南戈人自动化科技有限公司 | 一种支持协程功能的plc控制器 |
CN106527335B (zh) * | 2016-12-08 | 2019-03-19 | 湖南戈人自动化科技有限公司 | 一种支持协程功能的plc控制器 |
Also Published As
Publication number | Publication date |
---|---|
WO2003058429A2 (en) | 2003-07-17 |
JP2003198362A (ja) | 2003-07-11 |
WO2003058429A3 (en) | 2008-02-21 |
US20050108290A1 (en) | 2005-05-19 |
JP3540796B2 (ja) | 2004-07-07 |
KR100612717B1 (ko) | 2006-08-17 |
KR20040072684A (ko) | 2004-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1069423C (zh) | 排序系统和方法 | |
CN1122283C (zh) | 半导体存储装置及其驱动方法 | |
CN1193376C (zh) | 半导体集成电路、半导体集成电路的存储器修复方法 | |
CN1108560C (zh) | 用于存储与多种编程语言相关的执行数据的方法和装置 | |
CN1636185A (zh) | 逻辑计算系统和方法 | |
CN1251064C (zh) | 信息处理系统、信息处理终端和存储装置的处理方法 | |
CN100346285C (zh) | 处理器芯片与存储控制系统及方法 | |
CN1825266A (zh) | 具多重操作电压的闪存控制器及其使用方法 | |
CN1554048A (zh) | 用于检查和操作数据的存储器引擎 | |
CN1801388A (zh) | 半导体存储装置 | |
CN100344983C (zh) | 半导体测试电路、半导体存储器件和半导体测试方法 | |
CN1741193A (zh) | 非易失性存储装置 | |
CN1892602A (zh) | 一种二进制翻译中库函数调用的处理方法 | |
CN101075213A (zh) | 只读存储器数据修补电路和方法、及其嵌入式系统 | |
CN101069345A (zh) | 滤波器调整电路 | |
CN1967720A (zh) | 半导体存储器件及其控制方法 | |
CN1471164A (zh) | 半导体器件 | |
CN1767068A (zh) | 非易失性存储器装置 | |
CN1210722C (zh) | 半导体数据存储电路装置及其检查方法以及替换该装置中有缺陷单元的方法 | |
CN1794205A (zh) | 用于文件信息写处理的方法和程序 | |
CN1578421A (zh) | 定时脉冲发生器、固态成像装置和像机系统 | |
CN1959630A (zh) | 微处理器 | |
CN100340971C (zh) | 运算装置 | |
CN1960194A (zh) | 排序装置 | |
CN1716182A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: TOKYO ELECTRON LTD. Free format text: FORMER OWNER: TOKYO ELECTRON DEVICE LTD. Effective date: 20070615 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20070615 Address after: Tokyo, Japan, Japan Applicant after: Tokyo Electron Limited Address before: Kanagawa, Japan Applicant before: Tokyo Electron Device Ltd. |
|
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20050706 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |