CN100456278C - 带有接受全球蜂窝自动机的可再配置架构的计算机装置 - Google Patents

带有接受全球蜂窝自动机的可再配置架构的计算机装置 Download PDF

Info

Publication number
CN100456278C
CN100456278C CNB2005800312820A CN200580031282A CN100456278C CN 100456278 C CN100456278 C CN 100456278C CN B2005800312820 A CNB2005800312820 A CN B2005800312820A CN 200580031282 A CN200580031282 A CN 200580031282A CN 100456278 C CN100456278 C CN 100456278C
Authority
CN
China
Prior art keywords
unit
crossbar switch
ram
switch unit
data
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.)
Expired - Fee Related
Application number
CNB2005800312820A
Other languages
English (en)
Other versions
CN101023421A (zh
Inventor
克里斯琴·西默斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN101023421A publication Critical patent/CN101023421A/zh
Application granted granted Critical
Publication of CN100456278C publication Critical patent/CN100456278C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures 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)

Abstract

本发明涉及一种计算机装置,该计算机装置包括带有可结构化的RAM单元(2)的基于RAM的主部件(Ht),在其输入端上前接第一纵横开关单元(1)并且后接第二纵横开关单元(3)。由所述第一纵横开关单元(1)将地址信号(18,13)供给到所述RAM单元(2)以及所述第二纵横开关单元(3),由该第二纵横开关单元(3)将输出端一侧的数据反馈给该第一纵横开关单元(1)并且此外输出。用于对主部件(Ht)进行特别是可配置的过程控制的附加控制部分(St)包括一个与该第一纵横开关单元(1)同步的计数器单元(4),以便为所述第一和第二纵横开关单元(1和3)产生计数器状态信号(12)。所述计算机装置特别适用于接受全球蜂窝自动机(GCA)。

Description

带有接受全球蜂窝自动机的可再配置架构的计算机装置
技术领域
本发明涉及一种带有可再配置的结构、特别是用于进行算法的并行计算的计算机装置,其包括:带有总线系统的、包含至少一个纵横开关单元(Kreuzschienenschalteinheit)的、基于RAM的主部件,以及用于过程控制的装置。
背景技术
参考图1至4。
2.1公知的计算机模型
计算机的构造和结构/架构例如在参考文献[7]中进行了说明(特别参见其中的第174至181页、229至248页、376至384页、400和401页)。
如由图1的原理图所说明的、所谓的“冯·诺伊曼架构”被视为通用的计算机装置。其中,借助于带有中央处理单元[CPU,其中包含控制单元(CU)和算术逻辑单元(ALU)]、存储器、输入/输出以及总线系统的基于这种架构的计算机,原则上可以计算所有可算法化的问题。这种计算机在各种问题上的设置,是通过程序、即例如按照程序语言C、C++或Java的对算法的文字描述来实现的。该程序通过本身表示一种程序的翻译器(编译器)被翻译成机器可读的程序。
在基于按照图1的冯·诺伊曼架构或类似架构(例如,哈佛架构或者改进的哈佛架构)的计算机中,程序处理原则上是按照顺序的方式进行的。这点被理解为,如下地处理由机器指令集合组成的算法:第一条指令是已知的。跟随在命令之后的指令,或者是在存储器中下一个地址上存在的指令(正常的程序流),或者最后被执行的指令是一条跳转命令,其将当前的程序状态转移到另一个位置上。存储当前程序状态的内部寄存器被称为“程序计数器”(PC)。
该顺序处理原则意味着,在一个时间点上恰好一条指令在处理中。这被称为“冯·诺伊曼原则”。被称为RISC(Reduced Instruction-Set,精简指令集计算)、超标量或VLIW(Very Long Instruction Word,极长指令字)的现代的架构,尽管在一个时间点上执行多于一条指令;不过仍然保持顺序性的原则。该执行原则被总称为“时间顺序”(Computing in Time,按照时间计算),其意味着算法需要时间。
程序处理的完全另一类原理,在于可编程的逻辑器件[PLD(Programmable Logic Devices),对应于图2]或者其熟知的实施、FPGA(Field-Programmable Gate Arrays,现场可编程的门阵列)。这种架构也是通用的,即,可以用于每个可算法化的问题。在此,这样地进行编程:在网络中错接多数情况下在比特层面上定义的并因此被称为逻辑元件的基本计算单元。编程的该形式多数情况下被称为“配置”。
与冯·诺伊曼原则不同,在PLD中的程序处理具有最大的并行性。可以将一个部件的总的配置综合为一个在一个周期中被完全处理的、单一的指令,不过与冯·诺伊曼原则不同,不是固定地定义、而是进行组合。经常与外部时钟结合的周期时间则取决于组合的复杂性。由此,采用了一种与处理器相比更低的时钟,不过该时钟通过执行的并行性被过度补偿。执行的该原则被称为“Computing in Space(按照空间计算)”。
2.2确定性有限自动机
一种用于对问题算法化的重要模型是确定性有限自动机[DEA,也称为DFA(deterministic finite automata)]。其在技术中也被称为“Finite StateMachines(有限状态机器)”(按照图3的原理图的FSM)。该模型将问题视为一个带有所定义的过渡函数(Next State Decoder,下一状态解码器)的状态的序列,所述通过函数在各状态之间,取决于输入值。尽管DEA的模型在理论上不如冯·诺伊曼模型有影响,但却可以在实践中解决任意的问题(必要时利用在模型中的补充)。
该DEA的最大的问题在于,其函数随着状态的数量按照指数的方式增加,这涉及到了对半导体材料(特别是硅)的面积要求。出于这种原因,人们优选地选择由多个相互通信的自动机组成的模型。这类计算机模型被称为“复杂的、协作的自动机”。
2.3布尔函数的表示
布尔函数或者开关函数是一种映射f:Bm→Bn,其中,B={0,1},其按照形式f=(f1,f2,...fn),即可以由函数fk:Bm→B表示为矢量。因此,下面由函数fk仅仅输出一个输出值;其被一般地称为f。
此外,还公知的是:可以按照析取或者合取范式来表示f。对于析取范式这意味着,
f=z1+z2...+zk,其中,k=1,2,...,2m以及“+”作为OR操作符(逻辑或)                                  (1)
以及
zi=y1*y2*...yn,其中,i=1,2,...,k以及“*”作为AND操作符(逻辑与)                                  (2)
成立。自然,仅仅采用这样的zi:对于其来说待描述的函数得到值“真”或者“1”。在此,符号yj确定如何从输入矢量x=(i1,i2,...ik)得到输入比特ik。在输入比特仅仅允许来自集合{0,1}的值的同时,这必须对于yj改变:该值被赋予三个属性{0,1,-}之一。在此,属性“1”对于yj意味着,不改变地采用ik,“0”意味着,必须取倒数地选择ik(记为/ik),而“-”表示不关心;即,不采用ik。如果对于yj仅仅采用值{0,1}作为属性,则称为“正则析取范式”。
这种表示因此具有意义,因为由此在输入比特的已知的顺序下,可以将按照上述等式(2)的部分表达zi(也被称为“项”)表示为所谓的“字符串项”:在顺序i1,i2,i3的情况下,“111”意味着z1=i1*i2*i3,“0-1”表示z2=/i1*i3,等等。
在三个输入比特的条件下,所有可能的输入矢量的集合是v={000,001,010,011,100,101,110,111}。如果例如函数f仅仅在输入矢量{001,011,111}上得到值“真”,则也仅仅需要或者应当给出其;按照字符串项的形式,这可以通过111和0-1实现,其完全表征出了给定的函数,并且是与析取范式f=/i1*i3+i1*i2*i3同构的。
2.4内容可寻址的存储器(CAM)
读/写存储器部件[RAM(Random Addressable Read/Write Memory,随机可寻址读/写存储器)]通常被用于存储数据和程序。在这种情况下,地址出现在地址总线上,并且在特定于部件的等待时间之后,在读取过程中所存储的数据出现在数据总线上并可以被继续使用。写入过程按照对应地方式工作。
从希望获得数据的实例(Instanz)(例如处理器)来看,地址是已知的,而所存储的内容是事先未知的。不过,也存在其中关系恰好反过来的应用:所存储的内容是已知的,而感兴趣的是将该内容存储在哪个地址上,其中答案也可以是“不存在”。支持这种类型的查询的存储器部件被称为“内容可寻址的存储器”(CAM)。
被称为CAM并且支持这种特性的存储器部件,是特殊的部件并且不会经常见到。不过,对于实际的应用可以通过常见的RAM部件来模拟CAM的功能。为此,必须对于在CAM中直接存储的所有数据在查询中不是给出值、而是这样的存储器地址,对应的地址事先被计算出来并且被存储在与数据对应的RAM地址上。
2.5蜂窝自动机
蜂窝自动机[CA(Cellular Automata)]是在现场按照确定的拓扑结构设置并且具有其它特性的有限自动机的集合(参见参考文献[1]和[4])。该FSM的集合是作为n维的阵列(多数情况下n=2)设置的,其中,为每个位置给出固定的坐标。每个FSM具有可以与其通信的明确的近邻。在n=2的情况下,多数情况下4个周边的FSM(按照“方位”N、E、W、S,因此也被称为“NEWS邻域”)被视为近邻。
与近邻的通信这样进行,使得可以读出并且从而可以分析直接的近邻的状态。按照每个时间步长并行地计算所有单元的状态。如果要将来自更远处单元的数据用于计算新的状态,则必须将这些数据逐步地从单元至单元地传送。因此,经典的蜂窝自动机良好地适合于对具有数据的较高的局部性的问题进行计算。
CA与前面讨论的架构一样是通用的计算机;此外,其完全并行地工作。如果将CA的网络设计成硬件电路、例如ASIC或PLD,则连接数量随着自动机的数目线性地增加。而连接本身根据所选择的拓扑结构仅仅相对短而固定地敷设。即,用于CA相互之间通信的开销是相对极低的。如果将存储器需求视为开关函数的复杂性(该存储器需求是在RAM中建立该开关函数所必需的),则与单元的特性相对应的开关函数的最大复杂性随着输入变量的数量指数地增加,并且随着函数输出变量的数量线性地增加。在此,输入变量的数目是所有这样的比特的总和,即,为了对所有与单元连接的CA的状态(包括单元本身的状态)进行编码所需要的比特。由此,单元的最大复杂性基本上是通过每个自动机的连接的数量来限制的。
全球蜂窝自动机[GCA(Global Cellular Automata)]的概念如下地克服了CA的限制:不仅允许一个单元与其最近的近邻的连接、而且允许其与在整个现场上的任意的单元进行连接。由此,GCA不再具有固定的拓扑结构,而是可以采用与问题匹配的以及必要时甚至在计算的运行时变化的拓扑结构。这可以在程序处理中带来显著的加速。单个自动机的连接的数量必要时是通过上限确定的。如果仅仅允许单个的连接,则称之为单臂的GCA,而在一般的情况下称之为k臂的GCA。
结果,在由GCA实现一个现场时对于单元相互间的通信所要求的开销随着单元的数目强烈地增加。单个自动机之间可能的连接随着其数量平方地增加。
单个自动机本身的或者作为基础的开关函数的复杂性,与在常规的CA中一样基本上取决于每个单元的连接的数量。如果要在可再配置的电路(PLD)中构建GCA,则每个可以实现任意的开关函数的单个单元都必须允许最大可能的复杂性。
如果将单个的自动机分别映射到一个具有局部存储器的计算器上,则每个单元也可以实现复杂的开关函数。对于所有单元的任意的通信的开销随着单元的数量呈平方地增加。这样,电路的粒度(
Figure C20058003128200081
)就由单元的数量或者单元之间连接的比特宽度来决定。这种电路可以实现按照FSM和比特宽度与电路的预先规定对应的、极其良好的GCA。在每个单个的单元中也可以实现复杂的开关函数。不过,其缺点在于,在连接的数量上以及所需要的比特宽度上与规定的颗粒度()不一致的GCA,很难被映射到电路上。
如果将这些单个的单元实现为开关网络,则每个单元必须能够处理所有其它单元的数据、包括其自身的状态。出于这种原因,每个开关网络必须能够实现这样的开关函数,即,其可以包含所有单元的所有二进制编码的状态作为输入变量。开关函数的输入变量的数量仅仅需要能够允许对单个单元的所有状态进行二进制编码。在此的缺点是,开关函数的复杂性随着输入变量的数量指数地增加。同样作为缺点的是,对于单元相互间的通信的开销多项式地增加。
也就是说,适合于接受GCA的可(再)配置的架构(PLD),必须每个FSM可以接受任意的复杂性。这意味着,如果要直接将FSM映射到PLD的一个单元中,则这些单元必须接受每个任意的功能。已知的是,由此形成了单元参数的指数性增长。此外,在PLD中的可配置的网络必须被完全地执行,即,每个单元输出必须可以与每个其它单元连接。由此,网络平方地增长,对网络的配置也同样地增长。
目前尚未公开满足该两个要求的PLD架构:带有完全的设计空间的大的单元不存在,仅仅有带有完全的设计空间[所谓的“Look-Up-Tabel-Struktur,查找表结构”(LUT)]的小的单元,或者带有用于映射任意的函数的完全的可能性的大的单元。所有单元的完全的可连接性仅仅在大的单元中才可能。因此,GCA在现存PLD上的映射是困难的、甚至经常是不可能的。
为了避免上述的问题,尚未公开的题为“Rekonfigurierbare Architekturzur parallellen Berechnung beliebiger Algorithmen”的2004年2月13目的德国专利申请10 2004 007 232.9提出了一种计算机装置的架构,该装置具有至少一个单个的可配置的和/或可再配置的开关网络,该开关网络在时间点tn-1的输出变量构成了该开关网络在时间点tn的输入变量,并且该计算机装置配备有用于存储该开关网络在时间点tn-1和tn之间的输出变量的装置。
在此,利用时间点tn-1和tn表示对开关函数的直接相继的分析。在一种技术上有利的实现中,这些时间点可以从一个带有时钟长度T的有效时钟中导出,从而有tn-tn-1=k·T,其中k=1,2,3,...。在此对于给定的应用k是常数,对于不同的应用其可以被不同地选择。
在确定了开关函数的复杂性随着输入变量的数量指数地增加、并且随着输出变量的数量或者在待映射的GCA的现场中的单元的数量线性地增加、以及对于GCA相互的通信的开销随着单元的数量至少呈平方地增加之后,所建议的可(再)配置的架构适合于接受GCA。为此,其由至少一个单个的可配置的开关网络组成,该开关网络在时间点tn-1的输出变量构成了该开关网络在时间点tn的输入变量。在时间点tn-1和tn之间该开关网络的输出被存储在一个存储器、特别是寄存器中,从而形成了一种控制器(Schaltwerk)或者FSM。
所建议的架构还可以如下地构成:
-可以设置寄存器存储器作为存储器装置。
-尤其是三级地构成该开关网络。
-其中,
第一级可以包括多个可以通过输入线寻址的、并行连接的存储器部件,其中,为每个存储器部件供给与在所属的、被确定的蕴涵项(Implikant)相结合的输入变量的一个子集,并且
带有若干存储器部件的第二级设置于第一级之后,这些存储器部件通过对单个蕴涵项的识别来寻址,
第二级后面设置了第三级,后者带有用于将来自该第二级的存储器部件的单个蕴涵项的输出值进行析取地连接(disjunktiven Verknuepfung)的装置。
-在此,这些单个的蕴涵项可以通过最小化方法确定。
-此外,第一级可以与第二级通过至少一个纵横开关单元(所谓的Crossbar-Switch)相互连接。
-可以设置CAM和/或RAM作为存储器部件。
-特别优选的是,集成至少一个GCA。
-可以设置磁阻部件、特别是TMR(Tunnel Magneto Resistance,隧道磁致电阻)类型的磁阻部件作为存储器部件。对应的隧道磁阻部件本身是公知的。
所建议的架构的上述扩展的实施方式尤其是以下面表示的考虑为基础:
尽管在所选择的开关网络中开关函数的复杂性随着输出变量的数量线性地增加,但是取消了对于单元相互间通信的总的开销。在这种开关函数中可以映射多个带有若干输出变量的单个的自动机,或者若干带有多个输出变量的GCA或者不同单元的混合。由此不规定粒度,而FSM相互间的通信原则上是完全可能的。不过,由开关网络可以接受的开关函数的最大复杂性设定了一个界限。
具有大量输入的开关网络的使用(如果映射一个带有多个FSM的GCA则一般地出现这种情况)意味着,可以再次形成一种与多个输入的面积需求呈指数的依赖关系。如果将每个状态编码为一个比特,则面积随exp(状态数量)的增长作为上限;在一般情况面积需求是较低的。但是,因为通用的电路必须包含最大的情况,也要采用指数的增长定律。
在此,被视为特别具有优势的是,将开关网络接受的电路划分成三个特定的片段/级。为此,给出一个可(再)配置的电路,可以将具有大量输入变量和大量输出变量的开关函数实现为开关网络。
为了设计一种用于开关函数的可再配置的开关网络,作为起始的考虑要注意两种可能性:
一方面,可以将开关函数完全设置在RAM存储器中。开关函数的输入变量构成了地址比特,并且对于输入变量的每个可能的组合寻址一个存储器单元。该存储器单元的内容则对应于开关函数的值,存储器部件的数据线构成了该函数的输出变量。该概念的优点在于,简单的电路构造、简单的可再配置性、存储器部件的高的集成密度、以及对开关函数的分析需要的固定的时间长度。不过,所需要的存储器单元的数量、即所需要的存储器部件的尺寸随着输入变量的数目呈指数地增长。由于该原因,仅仅能够按照这种方式映射小的开关函数。
这点是在PLD中的现有技术,并且被作为查找表结构应用在FPGA中,多数情况下具有4个二进制值的输入变量和1个二进制值的输出。
将开关函数映射到开关网络中的第二种可能性在于,在2阶或多级网络中可配置地设置门(Gatter)。由此,可以将具有最小门消耗的开关函数映射到开关网络中。在此,开关电路理论提供了对于开关函数的有利的表示形式,例如Reed-Muller形式,或者用于逻辑最小化的高效算法。该措施的优点在于,对于门的最小的消耗,以及使用用于逻辑最小化的高效的方法和算法的可能性(参见参考文献[2]和[3])。该方法可以良好地用于表示固定的开关函数、例如实现ROM。通过例如纵横开关的硬件部件可以将单个的门可配置地错接,不过在此对于可再配置性的开销随着开关函数的输入变量的数量指数地增加。
根据图4,所建议的架构在其具体的实施方式中包括:基于RAM的主部件,其具有一个被称为第二RAM级的、具有多个RAM元件的结构化的RAM单元,后者通过总线系统可寻址地与纵横开关单元(Crossbar-Switch)的输出相连接。在其输入上给出了第一RAM级的数据。为带有逻辑块的第二RAM级后接一个按照所谓的XOR元件形式的、非等价的(antivalent)连接单元,该单元的数据被送至寄存器单元,该寄存器单元与另一个纵横开关单元相连接。通过该纵横开关单元一方面将由外部供给的输入数据送至第一RAM级,另一方面将输出数据为了传递而输出。在这种架构中存储器区域是被事先分区。
发明内容
本发明要解决的技术问题是,将所建议的计算机结构这样地构造,使得可以在引入存储器区域(即,在良好的面积利用)的条件下,在与各种应用的需求更大地相匹配的情况下进行迅速的计算。
按照本发明,上述技术问题是通过在本发明中给出的措施解决的。据此,带有可再配置的架构的计算机装置要包含下列的部分,即:
基于RAM的主部件,其带有
·具有多个RAM元件的可结构化的RAM单元,
·第一纵横开关单元,在其输入端上从外部给出该架构的输入数据,而其输出端通过第一总线系统与所述RAM单元的输入端连接,
·第二纵横开关单元,其输入端通过第二总线系统与所述RAM单元的输出端连接,而其输出端通过第三总线系统与所述第一纵横开关单元的输入端连接,以便将所述第二纵横开关单元输出端一侧的数据反馈到所述第一纵横开关单元的输入端,
其中,为了进行寻址为所述RAM单元以及第二纵横开关单元供给由所述第一纵横开关单元产生的地址信号,
其中,所述第二纵横开关单元输出端一侧的数据、必要时在进一步的处理之后也被供给到输出网络,以便输出所述架构的输出数据,
以及
用于对带有计数器单元的主部件进行过程控制的附加控制部分的装置,其中,为所述计数器单元和所述第一纵横开关单元供给共同的时钟信号,并且其中,所述为第一和第二纵横开关单元供给由该计数器单元所产生的计数器状态信号。
在此,所使用的概念“可配置的”被理解为“特征参数的说明和/或可设置性,特别是对于影响有关计算机部分的其它特性的运行所使用的结构”。“可编程”被理解为“用于改变有关计算机部分据以工作的当前程序状态或程序过程的可能性”。
与按照本发明的计算机装置的结构相联系的优点尤其在于,与所建议的装置相比,实现了针对与可能的应用的匹配的提高的灵活性,其中实现地预计对存储区域的固定的分区。按照本发明的架构适合于接受全球蜂窝自动机以及类似的计算机架构。在这种架构中,对新状态的计算需要相对少的时间;为此,仅仅需要计算通过量(Durchlauf)的数量。在此,该架构在存储器的分布中在单个的计算步骤上是灵活的,并且同时允许通过量的数量的可改变性。计算机架构这种形式特别适用于在嵌入式应用(例如自动化领域)中时间上极其关键的计算,适用于通信技术以及适用于自动化技术、特别是在控制的周期特性中。
也就是说,在该计算机装置的基本结构中,将输出信号直接地作为由第二纵横开关单元输出的、通过第三总线系统引导的输出端上的数据的一部分而出现。这意味着,并不一定要求对输出端上的数据进行存储以及对其进行进一步的处理。不过,在此通过量的数量是事先固定的。
在按照本发明的计算机装置中,这样利用所述RAM单元,使得在输出端上实现了输入数据的可再配置的布尔函数。这意味着,输入端表示了RAM单元的的地址总线,而输出端表示了RAM单元的数据总线。由此,该RAM单元在运行中被作为ROM(只读存储器)运行;仅仅在(再)配置期间被写入到RAM中。
从这个观点出发,该RAM单元被作为小的LUT(查找表)结构的序列运行,其中可以调整该LUT的参数以及数量。
供给到第一和第二纵横开关单元的计数器状态信号表明:在前面提到的序列的哪个点上涉及了该计算。在此,这样构造计算的类型,使得在每个周期中使用RAM单元的一部分,而完整的计算需要多个这样的周期。每个周期由该计数器单元进行标记,而纵横开关单元在每个周期上被再配置到特定的值上,以便允许该序列。同时,计数器单元连同比较单元确定该序列何时结束。
按照这种方式,利用按照本发明的措施优选地使得一种组合了迅速的计算以及尽可能好的面积利用的通用的计算机成为可能。作为这些措施的基础的是普遍公知的GCA(Global Cellular Automaton)模型。该模型允许相对简单地变换到唯一的LUT。因此其是优选的,因为在GCA中通信是或者可以是全球的。而恰恰是该通信在现有技术中带来将GCA变换到公知的PLD的巨大的问题。
此外,在现有技术中极其巨大的LUT则显示了问题:面积需求随着按照地址线形式的输入而指数地增加。因此,通常将LUT的大小限制在最大5个输入。
现在,本发明允许将GCA以及由此的通用计算机装置映射到LUT的序列。该序列可以通过计数器(利用1...X-1周期)进行配置,RAM单元被极其良好地利用,或者可以在相同的大小的情况下接受显著复杂的算法。由此,该部件可以按照计算时间的开销(=序列的数量×周期时间)来与面积需求这样进行匹配,使得可以完整地处理所述问题。面积利用则对应地是有利的。
在此,还可以如下地构造该接收装置:
-对于所述第二纵横开关单元输出端一侧的数据/信号的存储和处理来说,如果输出端一侧的数据首先被供给可编程的非等价的连接单元,则是优选的。借助于这种非等价的连接单元可以扩大设计空间。
-依赖于其或者优选为额外地,可以将所述第二纵横开关单元输出端一侧的数据/信号供给后接的寄存器单元,该寄存器单元的输出与所述输出网络连接,以便输出所述架构的输出数据。这种寄存器单元使得输出更稳定。
-在此,可以合适地为所述计数器单元分配可配置的比较单元,为后者供给共同的时钟信号,其中,为所述寄存器单元供给一个所述比较单元的、对来自所述非等价的连接单元的数据接受进行控制的时钟信号,并且为所述计数器单元供给一个该比较单元的复位信号。
-此外,如果所述RAM单元包括RAM基本区域,该基本区域具有与OR/MUX开关单元连接的RAM元件,则是优选的。
-在此,可以为所述OR/MUX开关单元供给来自所述第一纵横开关单元的地址信号。
-可以优选地额外地设置CAM作为存储器部件。在此,可以设想,将RAM的布线以及其应用部分地与CAM的布线以及其应用相对应:即,搜索的不是内容,而是一条特定内容所在的位置。这意味着,可以将RAM的一部分通过CAM替代或者扩充。在该范围内,对于基于RAM的主部件也可以采用CAM。
-特别优选的是,集成或者实现至少一个GCA。GCA由多个简单的状态自动机的耦合构成。状态自动机按照时钟(特别是比较单元的时钟信号)、从迄今为止的结果(状态)以及输入值中计算出新的状态。此时,在一个GCA中集成了多个这种状态自动机,其中,单个自动机的唯一输出端与其它自动机的输入端连接。这点构成了耦合。此时的实现表现为:单个的自动机“相邻地”以硬件实现。这意味着,如果存在寄存器单元,则对于每个状态自动机,多个寄存器分别表示了按照二进制编码的形式的状态。如果不存在寄存器,则其为一种所谓的“异步”自动机;在这种情况下,将第三总线系统导线的一部分用作状态编码。然后,按照公知的方式“个别地”实现这些自动机。耦合是借助于第一和第二总线系统进行的。在此,RAM的多级(Mehrteilung)可以用作对实现的可能性的扩展。
-优选地可以设置磁阻部件、特别是TMR类型的磁阻部件作为存储器单元。对应的隧道磁阻部件是充分公知的。
附图说明
下面对照附图对按照本发明的计算机单元的结构和工作方式再次作进一步的说明。在此,如已经解释的那样,附图1至4涉及现有技术。而相反的是,
图5示出了本发明的装置的一种可结构化的、可再配置的RAM架构的总的结构,
图6示出了RAM区域的结构或者带有所属的可再配置的纵横开关单元的RAM单元的结构,
图7示出了RAM基本区域的结构,
图8示出了OR/MUX开关单元的结构,以及
图9示出了该专门的开关单元的内部结构。
在图5至9中为对应的部分标记了相同的附图标记。在此,利用了如下的附图标记:
1    第一纵横开关单元rCBS1,
2    可结构化的RAM单元或者RAM,
3    第二纵横开关单元rCBS2,
4    被称为计数器的计数器单元,
5    可配置的比较单元,
6    可编程的非等价的(XOR)连接单元,
7    寄存器单元,
8    输出网络,
9    电路输入总线,
10   用于反馈的第三数据总线系统,
11   状态信号,
12   计数器状态信号,
13   地址信号,
14   时钟信号,
15   导出的时钟信号或者R_Clk,
16   复位信号,
17   电路的输出总线,
18   地址信号,
20   输入端的第一数据总线系统,
21   输出端的第二数据总线系统,
Ht   基于RAM的主部件,
St   附加的控制部分。
其它所显示的部分以及其关系在下面的文字中提及。
具体实施方式
在图5中示出的总体上以Ht表示的该架构的基于RAM的主部件包括:由两个以所对应的附图标记1和3表示的可再配置的纵横开关单元(也称为“Crossbar-Switch”的rCBS1和rCBS2)、可结构化的RAM单元2、连接的总线系统20和21(在图中标记有地址总线(A)和数据总线(D))、附加的地址信息13和18、反馈的数据总线10(同时表示对于单元7的状态寄存器的输入)、以及用于对电路的输入和对迄今为止的状态11的反馈的连接总线9和11。
附加的开关电路表示了一般地以St表示的、用于集成的可配置的过程控制以及输出接口的、附加的控制部分。其包括:可复位的计数器4、可以利用复位值进行配置的比较单元5、可配置的非等价的连接单元或XOR单元6、以及多数情况下构造为D触发器的寄存器7。时钟14既出现在计数器4上也出现在rCBS1(1)上。这两个单元直接地通过该时钟按照这样的意义被控制,即,数据接受在正的(也可以选择为负的)时钟边沿上进行。寄存器7中的数据接受通过由时钟14导出的R_Clk 15来执行。只有在可配置的比较单元5中比较结果是肯定的,该时钟才可以通过、即正的(或者负的)脉冲边沿才出现在寄存器7上。如果计数值与比较值一致,则是这种情况。这种情况下,也在正的脉冲边沿的条件下向计数器4给出有效的复位信号16。
寄存器7的输出通过数据总线11作为迄今为止的状态耦合到单元rCBS1(1)以及到输出端,与输出(开关)网络8耦合。在该网络8中可以将该状态按照通常形式变换为输出信号;除此之外,该单元在本发明的范围内不具有特别的含义。
5.1按照本发明构造的架构的工作方式
作为可结构化的RAM构成的并且在本发明申请中还要进一步解释的存储器用作对于表格的存储器。也就是说,可以将其理解为,在例如通过较小的地址表示的存储器的第一部分中存储第一表格。然后,可以借助于来自该第一部分的值,对在存储器中的第二表格(例如在中间地址上的表格)进行寻址,然后进一步对第三以及其它表格寻址,直到确定结果。
也就是说,按照本发明的应用是针对蜂窝自动机(CA)的集成的,这些蜂窝自动机是由在一个部件中的有限状态自动机(FSM)的阵列组成。因此,其特别地利用了(不过不是仅仅利用)在所提到的尚未公开的DE专利申请10 2004 007 232.9中公开的特征,其中,在可配置的架构开发和描述了全球蜂窝自动机(GCA)的概念。
5.2具体的工作方式
计数器4的含义在于,针对应用地确定所需要的表格的数量。这必须结合比较寄存器5(可配置比较)来实现:在实际的运行之前在该寄存器中存储了一个数目,该数目然后确定对于下一个状态的完全重新计算所需要的、在运行中的通过量的数量。在此,比较寄存器5中的“0”表示仅仅使用一个表格、即经典的查找表(LUT),“1”代表2个表格,等等。
也就是说,在计数器4表现为具有异步复位的二进制计数器(其例如从0至X-1计数,其中X可以优选地、不过并不一定是2的幂、如4,8,16...)的同时,实际的计数结束是通过单元5的比较寄存器确定的。这样,访问的结束意味着,已经完全地计算出了下一个状态,并且可以将其进行存储。对存储过程的控制是在比较寄存器中、具体地通过对时钟的控制实现的。
为此,将信号时钟14在比较单元5的可配置的寄存器中这样与当前同新的信号R_Clk 15的比较相关联,使得只有在等式的比较是真的、即计数器值=比较值时,才出现正的边沿。同时,这样地产生信号复位16,使得计数器4定义在值0上,该值同时是被复位的起始值。这类信号15和16的产生是一般的现有技术,因此不需要被进一步解释。为了实现这点,计数器4必须被构造为带有用于借助于对应的复位信号16进行异步复位的输入端。
电路的核心由RAM单元2组成。该RAM单元在输入端上具有被划分为多个地址部分总线的、导线系统的地址总线。此外,提供了带有h+1条导线的地址信息18。为了对单个的通过量进行控制、进而控制对于部分表格的访问,这点是必需的。将表格访问(部分并行地、每个时钟访问一个部分表格)的结果,通过导线系统21的数据总线(其再次可以被划分为多个地址部分总线)输出。为了在最后的通路中在多路复用和“或”耦合之间进行转换,需要附加的信息(1比特)。
在地址总线20以及地址信息18上的信息通过可再配置的纵横开关单元rCBS1进行汇编。为此,为输入总线系统规定了输入9、状态11以及最后读出的表格值的反馈10,从中可以汇编出对于下一个时钟的地址总线的信息。时钟14以及在正在运行的周期中被编码的、计数器4的当前值4,用来进行其它的控制。
借助于该时钟14可以临时存储输入值,以便在RAM单元上稳定地出现。这点对于状态11不是必需的,因为这些值虽然被存储,不过输入9以及通过数据总线10的反馈被证明是适当的。作为替换,也可以已经将反馈10存储在了rCBS2(3)。出发点是,除了用于状态10的数据总线的输入之外,可以将每个输入端配置为临时存储的或者在没有控制器的情况下直接耦合的。
部件rCBS1可以实施为纵横开关单元;这意味着,根据每个输入对rCBS1的每个输出进行布线;并且这是可以自由配置的。因为输入的选择也取决于当前的计数器状态,优选的是,或者将该CBS实施为其中对于每个计数器值在存储器中加载了一个新的配置的、可再配置的CBS,或者实施为其中可以根据计数器状态进行输出选择的、可自由配置的电路。除了别处之外,在参考文献[2]中描述了作为可再配置的电路的实施方式;而可自由配置的结构对应于市场上常见的可编程的连接部件,并且例如在参考文献[3]中进行了描述。
附加比特(附加信息)的产生必要按照可自由配置的电路的形式来实现,只要该比特不是已经在计数器4中通过对计数值和比较值是否相等的确定而被产生并且随后利用该比特的话。第二种可能性明显地更简单、不过也更不灵活,使得一般地从在rCBS1中的产生出发。
通过第二可再配置的纵横开关单元rCBS2(3),对RAM单元2的输出进行进一步的处理。为此,额外地需要k比特的地址信息13,其使得可以从2k条数据总线21中进行选择;此外,通过计数总线12借助于[log2(X)](其意味着舍入)传输计数器4的值。对于rCBS2来说,对于rCBS1的所有针对可配置性或结构的相同说明是适用的。
在最后的计数器状态中反馈10带来了下一个状态,此前的分别是中间结果。不过,该下一个状态应该被存储,并且直接地或者换算地在输出端17上被提供给环境。为此,在反馈10上的输出可以在可配置的XOR元件6中被取倒数,如果这被证明是有利的话。为此已知的是,该表示作为最小化的析取范式(DNF),大概是作为取倒数的最小化的析取范式(IDNF)情况的一半复杂,反之亦然。为了使得两者均可能,引入了单元6。
然后,必要时将状态按照部分取倒数的形式(通过时钟R_Clk 15的控制)存储在寄存器7中。在输出端17上的输出必要时再次通过可配置的开关网络(输出网络)8被换算,在该网络中从状态以及其表示中计算出在环境中所需要的信号。这点表示了通常的过程。
5.3单个元件的构造
RAM区域或者RAM单元2
在图6中示出了完整的RAM区域的构造,包括不属于其的可再配置的纵横开关单元1和3。
整个的RAM区域2被划分为多个RAM基本区域220。其数量(在图6中示出了4个基本区域)优选地、不过并不一定是2的幂、即2,4,8,16...。这种数量的优点在于,例如可以将大小M的4个区域合并成一个大小为4×M的区域。图6中的2k个基本区域220的可能合并,借助于通过k条导线13传送的信息在rCBS2(3)中实现。
如果不或仅仅部分地将RAM基本区域通过当前的配置在rCBS2中合并,则提供了这样的可能性:将RAM分段,并且由此保证了在5.1和5.2节中所描述的工作方式。
rCBS1(1)和每个RAM基本区域之间的耦合,分别通过地址总线200实现,该地址总线200的整体构成了地址总线20(图5)。在rCBS1(1)中可以配置每个地址总线的导线的占用,其中,总线系统9、10和11以及状态12被用作输入端。此外,地址信息13的用k个比特表示出了,rCBS2(3)应该按照何种方式将所读出的信息应用到数据总线210上。信息13例如可以由计数器状态12中产生:对于通路0有RAM0,对于1则有RAM区域1,等等,不过,可以配置明显更复杂的选择模式。为此,rCBS2(3)的输出10具有与RAM基本区域的全部数据总线21的总和一样的数据总线宽度。
RAM基本区域220
图7示出了RAM基本区域220的表示。其由多个RAM基本块或单元221组成,其结构与常规的RAM部件相对应。在此,在每个地址总线201上设置待读出的RAM存储器单元的地址,在经过了其余的访问时间之后结果出现在各自的数据总线211上。
在每个RAM基本区域220中的RAM基本块221的数量,在图7中以4给出。具体的数量优选地、不过并不一定是2的幂,即2,4,8,16...。RAM基本块的数量通过粒度(
Figure C20058003128200201
)决定,按照该粒度可以将整个的RAM分布到在应用中运行的不同周期上。在RAM单元2中RAM基本区域220的数量则决定了可以按照何种并行性以及由此的数据总线宽度来处理。
属于RAM基本区域的有可配置的开关单元300,其被称为OR/MUX开关、即由或(OR)与多路复用器选择电路(MUX=多路复用器)的组合。在此,根据地址信息18决定,哪些数据总线出现在输出端DB_out 210,或者数据总线是否事先相互间逻辑连接。按照尚未公开的DE专利申请102004 007 232.9,这种连接在机器的最后级中是必需的,以便实现所希望的功能性。
图8示出了OR/MUX开关单元300的结构。可以看出,连接是按照比特进行的。按照这种方式(在此,出于表示的原因数据总线宽度被限制为3)表明了,将每个数据总线211的带有后缀0的数据比特在一个逻辑子单元310上进行合并,而将带有后缀1的数据比特在另一个子单元310上进行合并。在此,所有子单元310通过一条对应的总线与地址信息18连接。
图9示出了在OR/MUX开关子单元310内至少应该具有的内部结构,以便实现电路的按照本发明的特征。逻辑单元311允许对对应的数据比特的OR连接,2k:1的多路复用器312允许对数据比特的选择。由这些子单元311和312在子单元310中分别与一个存在的、在整个OR/MUX开关单元300的数据总线210的数据总线宽度相对应。子单元311和312以及设置其后的2:1多路复用器313的功能是完全已知的,因此可以省去对其的解释。
关于当前采用何种连接的选择,是通过在地址信息18中的附加信息比特实现的。按照尚未公开的DE专利申请10 2004 007 232.9中定义的流程,追求在用于计算新的状态的第一通过量中使用该多路复用器,以便对于不同的表格利用不同的RAM基本块。反之,在最后的通路中则需要OR连接。
该附加的信息比特必须由单元rCBS1(1)根据计数器值(12)进行计算。
参考文献
[1]Rolf Hoffmann,Klaus-Peter 
Figure C20058003128200211
Wolfgan Heenes:“GlobalerZellularautomat (GCA):Ein neues massivparallelles Berechnungsmodell”,Mitteilungen-Gesellschaft für Informatik  e.V.,Parallel-Algorithmen undRechnerstrukturen,ISSN 0177-0454 Nr.18,2001,Seiten 21-28;
http://www.ra.informatik.tu-darmstadt.de/publikationen/publik.html
[2]R.K.Brayton et.al.:“Logic Minimization Algorithms for VLSISynthesis”,Kluwer Academic Publischers,USA 1984,特别是第1页至第14页,第54页至第88页以及第139页至第147页
[3]Mike Trapp:“PLD-design methods migrate existing designs tohigh-capacity devices”,END Access,1994年2月;
http://www.reed-electronics.com/ednmag/archives/1994/021794/04df1.htm
[4]Wolfgang Heenes,Rolf Hoffmann,Klaus-Peter
Figure C20058003128200212
“Architekturen für den globalen Zellularautomaten”,19th PARS Workshop,March 19-21,2003 Basel;
http://www.ra.informatik.tu-darmstadt.de/publikationen/pars03.pdf
[5]WO 2004/040766 A2
[6]US 4 870 302 A
[7]W.Oberschelp/G.Vossen:“Recheraufbau und Rechnerstrukturen”,第8版,2000,Verlag Oldenburg(DE)/ISBN 3-486-25340-9

Claims (11)

1.一种带有可再配置的架构的计算机装置,包括:
-基于RAM的主部件(Ht),其带有
●具有多个RAM元件(221)的可结构化的RAM单元(2),
●第一纵横开关单元(1),在其输入端上从外部给出该架构的输入数据(9),而其输出端通过第一总线系统(20)与所述RAM单元(2)的输入端连接,
●第二纵横开关单元(3),其输入端通过第二总线系统(21)与所述RAM单元(2)的输出端连接,而其输出端通过第三总线系统(10)与所述第一纵横开关单元(1)的输入端连接,以便将所述第二纵横开关单元(3)输出端的数据反馈到所述第一纵横开关单元(1)的输入端,
其中,为了进行寻址而向所述RAM单元(2)以及第二纵横开关单元(3)供给由所述第一纵横开关单元(1)产生的地址信号(18和/或13),
其中,所述第二纵横开关单元(3)输出端一侧的数据、必要时在进一步的处理之后也被供给到输出网络(8),以便输出所述架构的输出数据(17),
以及
-用于对带有计数器单元(4)的主部件(Ht)进行过程控制的附加控制部分(St)的装置,其中,为所述计数器单元(4)和所述第一纵横开关单元(1)供给共同的时钟信号(14),并且其中,所述为第一和第二纵横开关单元(1和3)供给由该计数器单元(4)所产生的计数器状态信号(12)。
2.根据权利要求1所述的计算机装置,其特征在于,所述第二纵横开关单元(3)输出端一侧的数据首先被供给至可编程的非等价的连接单元(6)。
3.根据权利要求1所述的计算机装置,其特征在于,所述第二纵横开关单元(3)输出端一侧的数据被供给给后接的寄存器单元(7),该寄存器单元的输出端与所述输出网络(8)连接,以便输出所述架构的输出数据(17)。
4.根据权利要求3所述的计算机装置,其特征在于,为所述计数器单元(4)分配可配置的比较单元(5),为该比较单元供给共同的时钟信号(14),其中,所述寄存器单元(7)供给一个所述比较单元(5)的、对来自所述非等价的连接单元(6)的数据接受进行控制的时钟信号(15),并且为所述计数器单元(4)供给一个该比较单元(5)的复位信号(16)。
5.根据权利要求3所述的计算机装置,其特征在于,为所述第一纵横开关单元(1)供给所述寄存器单元(7)的状态信号(11)。
6.根据权利要求1至5中任一项所述的计算机装置,其特征在于,所述RAM单元(2)包括RAM基本区域(220),该基本区域具有与OR/MUX开关单元(300)连接的RAM元件(221)。
7.根据权利要求6所述的计算机装置,其特征在于,为所述OR/MUX开关单元(300)供给来自所述第一纵横开关单元(1)的地址信号(18)。
8.根据权利要求6所述的计算机装置,其特征在于,借助于来自所述第一纵横开关单元(1)的地址信号(13)进行对RAM基本区域(220)的合并。
9.根据权利要求1至5中任一项所述的计算机装置,其特征在于,设置内容可寻址的存储器作为附加的存储器部件。
10.根据权利要求1至5中任一项所述的计算机装置,其特征在于,集成了至少一个全球蜂窝自动机。
11.根据权利要求1至5中任一项所述的计算机装置,其特征在于,设置磁阻部件、特别是隧道磁致电阻类型的磁阻部件作为存储器单元。
CNB2005800312820A 2004-09-16 2005-09-08 带有接受全球蜂窝自动机的可再配置架构的计算机装置 Expired - Fee Related CN100456278C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004044976.7 2004-09-16
DE200410044976 DE102004044976A1 (de) 2004-09-16 2004-09-16 Rechnereinrichtung mit rekonfigurierbarer Architektur

Publications (2)

Publication Number Publication Date
CN101023421A CN101023421A (zh) 2007-08-22
CN100456278C true CN100456278C (zh) 2009-01-28

Family

ID=35395562

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800312820A Expired - Fee Related CN100456278C (zh) 2004-09-16 2005-09-08 带有接受全球蜂窝自动机的可再配置架构的计算机装置

Country Status (5)

Country Link
EP (1) EP1789889B1 (zh)
JP (1) JP4468452B2 (zh)
CN (1) CN100456278C (zh)
DE (2) DE102004044976A1 (zh)
WO (1) WO2006029986A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005005073B4 (de) * 2004-02-13 2009-05-07 Siemens Ag Rechnereinrichtung mit rekonfigurierbarer Architektur zur parallelen Berechnung beliebiger Algorithmen
JP5063780B2 (ja) * 2008-03-27 2012-10-31 大学共同利用機関法人情報・システム研究機構 有限オートマトンのメモリ内データ構造、この構造のデータが格納されたメモリ、このメモリを用いた有限オートマトン実行装置
CH710534A1 (de) 2014-12-18 2016-06-30 Netzhammer Eric Reinigungsvorrichtung für Kleinteile.
US11923009B2 (en) * 2022-06-15 2024-03-05 Hewlett Packard Enterprise Development Lp Compact K-SAT verification with TCAMS

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1367491A (zh) * 2000-11-22 2002-09-04 集成装置技术公司 具有多端口超高速缓存陈列的集成电路存储器设备及其操作方法
WO2004053716A2 (en) * 2002-12-12 2004-06-24 Koninklijke Philips Electronics N.V. Dataflow-synchronized embedded field programmable processor array

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1367491A (zh) * 2000-11-22 2002-09-04 集成装置技术公司 具有多端口超高速缓存陈列的集成电路存储器设备及其操作方法
WO2004053716A2 (en) * 2002-12-12 2004-06-24 Koninklijke Philips Electronics N.V. Dataflow-synchronized embedded field programmable processor array

Also Published As

Publication number Publication date
JP2008513864A (ja) 2008-05-01
JP4468452B2 (ja) 2010-05-26
EP1789889A1 (de) 2007-05-30
EP1789889B1 (de) 2008-11-05
DE102004044976A1 (de) 2006-03-30
CN101023421A (zh) 2007-08-22
DE502005005909D1 (de) 2008-12-18
WO2006029986A1 (de) 2006-03-23

Similar Documents

Publication Publication Date Title
KR101960104B1 (ko) 상태 정보를 제공하는 프로그래밍가능한 디바이스, 계층적 병렬 기계, 방법
Durbeck et al. The cell matrix: an architecture for nanocomputing
Bahar et al. Architectures for silicon nanoelectronics and beyond
CN111433758B (zh) 可编程运算与控制芯片、设计方法及其装置
CN100388264C (zh) 具有可重构体系结构的计算机装置
EP1609078B1 (en) Data flow machine
Hiibner et al. New 2-dimensional partial dynamic reconfiguration techniques for real-time adaptive microelectronic circuits
CN1985256A (zh) 硬件描述语言(hdl)程序的执行
CN104813306A (zh) 具有散布处理器dma-fifo的处理系统
CN101194245A (zh) 具有宽寄存器组体系结构的分组处理器
CN113811859A (zh) 控制流屏障以及可重构数据处理器
Sidhu et al. A self-reconfigurable gate array architecture
CN100456278C (zh) 带有接受全球蜂窝自动机的可再配置架构的计算机装置
JP2007522571A5 (zh)
WO2005062212A1 (en) Template-based domain-specific reconfigurable logic
Carloni The role of back-pressure in implementing latency-insensitive systems
Tutsch et al. MLMIN: a multicore processor and parallel computer network topology for multicast
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
Suvorova An approach to dynamic reconfigurable transport protocol controller unit development
Saranya et al. Design and Verification of an Asynchronous NoC Router Architecture for GALS Systems
CN107665281A (zh) 一种基于fpga的处理器模拟方法
US20040250052A1 (en) Digital logic unit that can be reconfigured
US20040139415A1 (en) Architecture for a sea of platforms
Wu et al. Network Theory and Applications
Liu et al. A Comprehensive Dataflow-Mapping Optimization for Fully-Pipelined Execution in Spatial Programmable Architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090128

Termination date: 20170908