CN1133457A - 估计模糊逻辑规则的数据处理***及其方法 - Google Patents
估计模糊逻辑规则的数据处理***及其方法 Download PDFInfo
- Publication number
- CN1133457A CN1133457A CN95121196A CN95121196A CN1133457A CN 1133457 A CN1133457 A CN 1133457A CN 95121196 A CN95121196 A CN 95121196A CN 95121196 A CN95121196 A CN 95121196A CN 1133457 A CN1133457 A CN 1133457A
- Authority
- CN
- China
- Prior art keywords
- fuzzy
- rule
- input
- weighting
- signal
- 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
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/04—Physical realisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Feedback Control In General (AREA)
- Complex Calculations (AREA)
Abstract
数据处理***(10)响应单一REVW软件指令有选择性地加权模糊逻辑规则,取出与该模糊逻辑规则相关的一组模糊输入并确定该组中最小的模糊输入;然后用相应的加权值乘该最小模糊输入来有选择地加权该最小模糊输入,提供该模糊逻辑规则的模糊输出。在一个实施例中,条件码寄存器(60)的进位比特确定模糊逻辑规则是否为加强的。数据处理***对模糊规则库中所有规则执行这个有选择性的模糊规则加权运算。
Description
本发明涉及数据处理***,具体涉及执行模糊逻辑运算的数据处理***。
业已开发了一些数据处理器,起二进制机器的作用,其输入和输出都表示为“1”和“0”,而其它表示的可能性不存在。虽然在大多数情况下这样工作得很好,但有时回答并不是简单的“是”或“否”,而是在二者之间的某些东西。称为“模糊逻辑”的一种概念已被开发,能使基于二进制逻辑的数据处理器提供出“是”与“否”的回答。
模糊逻辑是一种逻辑***,它具有有模糊边界的隶属函数。隶属函数将主题表达语句(如“气温是暖和的”)转换成为典型的数据处理器可识别的一个值。标记(诸如“暖”)用于识别输入值的范围,该范围的边界不是点,在一侧边界处该标记是“真”,而在另一侧边界处该标记是“假”。而在实施模糊逻辑的***中,隶属函数的边界是逐渐地变化的并且可与相邻隶属集的边界重叠。为此,隶属的程度典型地指定给一个输入值。例如,如果一个温度范围提供了多个隶属函数,则输入温度可落入标记“冷”和“暖”的两个函数的重叠区域内。下一步的处理将要求确定在每个隶属函数中的隶属程度(即目前的温度适合每个隶属集(“冷”和“暖”的程度)。
称为“模糊”的步骤用于将一个输入与采用模糊逻辑的***中的隶属函数相关。该模糊过程将具体的数值附加到主题表达语句(诸如“气温是暖和的”)上。这些数值尝试提供出人体感觉的最佳近似。
在模糊步骤之后,执行称为“规则评定”(rule evaluation)的步骤。在执行规则评定步骤期间,取决于模糊输入值的规则表达语句被评估以得到模糊输出。例如,假定被评定的规则可表示为:
如果(气温是暖和的)和(压力高),则(风扇速度为中等)。
在这个规则中,必须评定两前项“气温是暖和的”和“压力高”,以确定其结果“风扇速度为中等”的规则强度,在执行该规则评定步骤期间,前项是“真”的程度将影响该规则是“真”的程度。前项的最小值用以作为该规则的结果规则强度。鉴此,如果一个以上的规则被评定并且给风扇一个以上的指令,则每个规则的结果的规则强度集体地用于确定该风扇的动作。例如,上述提供的规则可被评定具有规则强度为X。另外,第二规则被评定,以高速开启风扇,规则强度为Y,这里Y大于X。再则,如果希望,每个规则可被加权。用选定的加权值乘以前项可对选定的规则提供所希望的加强。
响应由该规则评定步骤提供的模糊输出,模糊逻辑运算的最后步骤是提供一个适当的动作,模糊逻辑过程中的最后步骤称为“解除模糊”(defuzzification)。这个步骤把规则评定步骤的竞争结果分解为单个动作。解除模糊是把所有模糊输出组合为可用于标准数据处理***的一个复合结果的过程。有关模糊逻辑的评细情况参见James M.Sibigtroth的“Implementing Fuzzy Expert Rules in Hard-ware”论文。这篇论文发表在1992年4月的AIEXPERT第25至31页。
总之,规则是由随后接着一个或几个动作(结果)的一系列前提(前项)组成的。每个前提对应于一个模糊输入,而每个动作对应于一个模糊输出。规则强度可以与所选定的加权值相乘,以增强所选定的规则。
在规则评定步骤的硬件实施中,专门的连接和电路用于将模糊输入与模糊输出相关联。这种解决方案经常要求专用的存储电路,并且是不灵活的。在规则评定步骤的软件实施中,利用指令程序来评估规则。这种软件的解决方案通常比硬件方案慢,并且要求大量的程序存储品。在工业界数据必须进行尽可能快的计算、移动和操作,快的执行时间是主要的。鉴此,对于某些应用,软件不是一个可行的解决方案。
据此,现在需要一种用以快速地但无需扩大的硬件要求的执行规则评定的电路或方法。需要与硬件解决方案相关的速度而无需通常与这种解决方案相关的专用电路面积。本发明可以满足这种需要,本发明的特点和优点将结合以下附图阅读下文的详细叙述会更加明了。重要的是,请注意这些附图不代表本发明的唯一形式。
图1以曲线图形式示出用于叙述模糊逻辑的一些概念和基本术语;
图2示出根据本发明的数据处理***的方框图;
图3示出图2的一个执行单元的方框图;
图4示出图3的寄存器交换逻辑(Swap logic)电路的逻辑电路形式;
图5以存储映像变换形式示出图2的内部存储器中被评定的规则阵列的;和
图6示出根据这里叙述的本发明在执行REVW指令期间执行的指令流程的流程图。
本发明提供在数据处理***中快速并以最小数量的电路来执行加权的规则评定操作的数据处理***及其方法。加权规则评定操作在一个单一指令中被编码,该指令被有效地执行,无需在该数据处理***中过量的附加电路。鉴此,本发明提供一个指令,它允许数据处理***的用户快速地执行加权的规定评定步骤,而无需长的和耗时的软件程序。
根据本发明,具有字母标记“REVW”的一个新指令可使得该数据处理***执行一系列的步骤,这些步骤包含从存储器中检索操作数和使用这些操作数执行算术运算的性能。如果在执行REVW指令前被评定的规则的前项和该规则结果的隶属函数值已恰当地存储在存储器中,则REVW指令的执行得到恰当的评定和规则的加权。假定前项和结果以特定的格式存储在存储器中,并且充分地使用在指令执行中可能的已有硬件,根据本发明的数据处理***允许以很少的附加硬件有效的评定模糊逻辑规则。例如,用在数据处理器中执行符号运算过程中的条件码寄存器的溢出或V比特在本发明中用作与从存储品中的操作数的处理相关的一个标记。而且,条件码寄存器的进位或C比特用于指示被执行的加权运算。
在描述本发明的实施例时,使用了一些术语“认定”(assert)和“否定”(negate)以及其各种语法形式,以在涉及“高态有效”和“低态有效”逻辑信号混合使用时避免混淆。“认定”用于指逻辑信号或寄存器比特被转换为其有效或逻辑“真”状态。“否定”用于指逻辑信号或寄存器比特被转换为无效或逻辑“假”(fale)状态。另外,在数值前用符号“$”表示十六进制。
图1提供说明模糊逻辑的几个基本术语和概念。在图1所述的模糊逻辑***中,“***输入”是以华氏度为单位的温度。提供四个隶属函数以给出温度范围的标号。例如,从0至35度,标注温度为“冷”。类似地,从25度至60度,标注温度为“凉”。请注意,每个隶属集的边界与相邻集的边界重叠。为此,一个温度可在一个以上的集内。例如,假定***输入指示温度58度。参见图1,注意到58度是在“冷”和“暖”隶属集两者的边界内。但是,可获得在每个隶属集内的隶属程序。对于“冷”隶属集,该***输入具有十六进制值$33的隶属程度,而对于“暖”隶属集,具有十六进制值$CC的隶属程度。如果***输入已指示70度的温度,在“暖”隶属集内,该温度已具有十六进制值$FF的隶属程度。同样地,在“热”隶属集内,70度的温度具有十六进制值$00的隶属程度。在图1所述的模糊逻辑***中,从十六进制值$00至$FF范围的隶属程度对应于从0.00至0.996的一个小数值。本领域的技术人员可以用一个单一的8比特二进制字节来表示。
上述运算的指令和方法的一个实施例按照修改型式的MC68HC11微控制器来实现。MC68HC11是一个8比特的微控制器,它包括16比特地址和存储寄存器,可从德克萨斯州奥斯汀市的摩托罗拉公司买到。在图2中更详细地示出这个实施例。
图2示出一个数据处理***10,其中可实施加权的规则评定指令。数据处理***10一般包括一个中央处理单元(CPU)12、一个振荡器24、一个电源电路26、一个定时电路28、一个外部总线接口30和一个内部存储器32。CPU12通常具有一个执行单元14、一个总线控制逻辑单元16、一个指令解码逻辑电路18、一个控制单元20和一个顺序器22。
在运算期间将一个“Osc1”信号经过外部信源(如晶体)提供给振荡器24。该晶体连接在Os1和Os2信号之间能使该晶体振荡。Os1把“时钟”信号提供给数据处理***10的其余部分。在数据处理技术中晶体振荡器的操作是众所周知的,而且对于本领域的普通技术人员是清楚的。
电源电路26从外部电源接收“Vdd”和“Vss”信号。Vdd信号提供正5伏和Vss信号提供基准或地电压。Vdd和Vss信号提供给数据处理***10的每个其余部件。这些信号的路由在数据处理技术中是众所周知的,而且对于本领域的普通技术人员是显而易见的。
定时电路28接收该时钟信号,接着经过定时控制总线38提供适当的定时信号给每个CPU12,外部总线接口30和内部存储器32。
从外部总线接口30提供多个地址值给外部地址总线35。类似地,利用外部总线接口30经过外部数据总线33传送多个数据值。外部总线接口30控制外部用户与数据处理***10之间的地址和数据的接收及传输。外部总线接口30分别经过内部地址总线36和内部数据总线34传送多个地址和数据值给数据处理***10的其余部分。
内部存储器32起着存储数据处理***10恰当操作所需的信息值的作用。另外,如果在经过内部地址总线36和内部数据总线34提供的用户程序中规定了,也可在其中存储其它的数据值。
CPU12执行在数据处理***10的操作期间要求的每个指令。内部地址总线36和内部数据总线34在数据处理***10的执行单元14与其它部分之间传送信息。总线控制逻辑电路16取出指令和操作数。然后每个指令由指令解码逻辑电路18解码并提供给控制单元20和顺序器22。控制单元20和顺序器22保持每个指令执行的顺序以便最有效地利用数据处理***10的计算能力。另外,控制单元20包括一个微ROM存储器(未示出),它经过微RCM控制总线65提供多个控制信息给每个执行单元14、总线控制逻辑16和指令解码逻辑电路18。对于恰当的执行REVW指令,多个控制信息是需要的。
图3更详细地示出执行单元14。执行单元14一般包括一个数据缓冲器40、第一选择器42、一个变址寄存器43、第二选择器44、一个寄存器交换(Swap)逻辑电路46、一个条件码逻辑电路47、一个A输入控制电路48、第三选择器49、一个A输入复用器50、第四选择器51、一个算法逻辑单元(ALU)52、一个B输入控制电路54、一个B输入复用器56、一个累加器58、一个条件码寄存器60、一个比较器72和一个地址缓冲器45。除了累加器58和条件码寄存器60之外,在执行单元14中,可用其它的存储寄存器,诸如变址寄存器X43和变址寄存器Y53,还可包括第二累加器。
外部信息总线41提供地址和数据信息给数据缓中器40。外部信息总线41分别以内部地址总线36和内部数据总线34接收地址和数据信息。当选择器42和42分别被启动而允许传送信息时,数据缓冲器40经过信息总线A66和信息总线B64提供经过外部信息总线41传送的值给执行单元14。虽然这里没有详细地表示出,但是信息总线A66和信息总线B64都是16比特宽,并且分为一个高侧(比特15至比特8)和一个低侧(比特7至比特0)。另外,数据缓冲器40提供地址信息给比较器72。地址缓冲器75接收从变址寄存器Y53所加的加权的地址,或者接收从数据缓冲器40提供的模糊输入或输出的地址。
累加器58的第一和第二输入端分别双向地连接信息总线A66和信息总线B64。附加的变址寄存器X43和变址寄存器Y53类似地接收信息总线A66和信息总线B64。
多个控制信号经过微ROM控制总线65提供给A输入控制逻辑电路48和B输入控制逻辑电路54。微ROM控制总线65响应由控制单元20中的微ROM存储器(未示出)提供的信息提供多个控制信号。
A输入控制电路48提供“控制A”信号给A输入复用器50的控制输入端。信息总线A66连接列A输入复用器50的数据输入端。A输入复用器50提供标注“A输入低侧”和前10比特输出给ALU52的第一输入端,和提供标注“A输入高侧”的第二10比特输出给ALU52的第二输入端。B输入控制电路54提供“控制B”信号给B输入复用器56的控制输入端。信息总线B64接到B输入复用器56的数据输入端。B输入复用器56提供标注“B输入低侧”的前10比特输出给ALU52的第三输入端,和提供标注“B输入高侧”的第二10比特输出给ALU52的第四输入端。
ALU52处理每个输入提供经过结果总线120传送的多个结果。结果总线120提供由ALU52提供的结果给寄存器交换逻辑电路46和条件码逻辑电路47。另外,结果总线120提供多个结果给信息总线B64。
条件码逻辑电路47也耦合到比较器72,以便接收触发信号(toggle signal)。条件码逻辑电路47耦合到条件码寄存器60,以提供“条件码”信号。
条件码寄存器60提供VCCR信号给寄存器交换逻辑电路46和提供CCCR信号给寄存器变换逻辑电路46的第三控制输入端。另外,定时控制信号提供给寄存器交换逻辑电路46的第一控制输入端。该定时控制信号是经过定时控制总线38提供的。寄存器交换逻辑电路46提供分别标注“启动A”和“启动B”的第一和第二输出,并提供分别标注“启动C”和“启动D”的第三和第四输出。启动A信号提供给选择器42的第一控制输入端。信息总线A66双向地接到选择器42。选择器42的输出端接到数据缓冲器40以传送多个选择的信号。类似地,启动B信号提供给选择器44的第一输入端。信息总线B64双向地接到选择器44。选择器44的输出接到数据缓冲器40以便传送第二组多个选择的信号。启动信号C提供给选择器49的第一控制输入端。信息总线A66双向接到选择器49和地址缓冲器48以便传送选择加权的地址。类似地,启动C信号提供给选择器51的第一控制输入端。信息总线B64双向地接到选择器51以传送选择加权的地址。
图4更详细地示出寄存器交换逻辑电路46。一般地,寄存器交换逻辑电路46包括“与”门62、70、74及76,和反相器68及73。“与”门62具有第一输入端,用于接收信号VCCR,第二输入端,用于接收定时控制信号,第三输入端,用于接收来自ALU52经过结果总线120的标注“N”的信号,和一个输出端,用于提供信号“启动A”。反相器68具有一个输入端,用于接收信号VCCR,和一个输出端。“与”门70具有接到反相器68的输出端的第一输入端,用于接收定时控制信号的第二输入端,用于接收从ALU52经过结果总线120的标注“N”的信号的第三输入端,和用于提供信号“启动B”的输出端。反相器73有用于接收信号VCCR的一个输入端和一个输出端。“与”门74有用于接收信号CCCR的第一输入端,用于接收定时控制信号的第二输入端,连接到反相器68的输出端的第三输入端,和用于提供信号“启动C”的一个输出端。“与”门76有用于接收信号VCCR的第一输入端,用于接收定时控制信号的第二输入端,连接到反相器73的输出端的第三输入端,和用于提供信号“启动D”的一个输出端。
在执行模糊逻辑运算期间,数据处理***10的用户可使用指令REVW(加权的规则评定)以对模糊输入执行规则评定步骤。如前所述,模糊输入作为模糊步骤的结果提供,其中一个***输入信号指定一个隶属程度给多个规定的隶属集的每个隶属集。在这里所述的本发明的实施例中,在执行REVW指令前,指定给模糊输入的每个隶属程度存储在数据处理***10内部存储器32中的预定存储单元中。在美国专利5295229、名称为“在模糊逻辑运算期间确定在一集中的隶属的电路和方法”中以及在J.Greg Viot的交叉参考未决专用申请序号No._________、名称为“执行有效的模糊逻辑运算的数据处理***及其方法”中更详细地分开了指定给多个模糊输入的每个隶属程度。
在这里叙述的例子中,假定在第一和第二***输入的模糊期间使用两组隶属集。这两组的第一组提供温度测量,它们被分为冷、凉、暖和热隶属集。在模糊时,在凉隶属集中的第一***输入的隶属程度是指使用标注T凉的一个变量。类似地,在每个冷、暖和热隶属集的第一***输入的隶属程度指语言变量T冷、T暖和T热的相应一个。
这两组的第二组提供压力测量,它们分为轻、中和重隶属集。在模糊时,轻、中和重隶属集中的第二***输入的隶属程度指使用分别标注P轻、P中和P重的语言变量之一。在***输入已被模糊之后,在每个相应隶属集中的第一和第二***输入的隶属程度存储在存储器中的预定单元中。另外,必须评定规则以提供适当的动作。在这个例子中假定被评定的三个规则具有以下形式:
(1)规则1:如果温度是凉(T凉)和压力是轻(P轻),则
(动作1)和(动作2);
(2)规则2:如果温度是“暖”(T喛和)和压力是中(P中),则(动作3);和
(3)规则3:如果压力是中(P中),则(动作3)。注意,每个规则具有一个形式,该形式典型地有形式:
(4)如果(模糊输入1)和(模糊输入2),则(动作X)和(动作Y)。
在规则评定期间,首先评定该规则的“如果”部分以确定最小隶属程度值。该规则的“如果”部分包括模糊输入1值和模糊输入2值。确定规则强度的普通方法是确定评定的模糊输入的最小隶属程度。但是确实存在其它的实施例。例如,规则的强度可作为其每个前项的隶属程度的和计算。类似地,隶属程度可被乘或以任何计算型式运算以确定规则强度。
在这个实施例中,该规则的强度仅与最弱分量一样强。最弱的隶属程度值用于确定在该规则的“则”部分中规定的每个动作的规则强度值。在形式(4)中所示的规则中,相应于最小的模糊输入1和模糊输入2值的规则强度分别存储在由动作X和动作Y值的地址所指的内部存储器32的第一和第二地址位置中。相应于多个动作值的预定值的每个规则强度用于提供相应于一个相应动作的一个模糊输出值。然后,可解模糊该模糊输出值以执行由用户规定的运算。虽然在形式(4)中只提供两个模糊输入值和两个动作值,但可提供更多或更少的值。数据处理***10的用户确定该规定的形式和可提供任何数量的模糊输入或被执行的动作。
另外,当评定一个以上的规则时,存在着一个动作被指定一个以上的规则强度的可能性。在这个情况下,具有较大值的规则强度应指定给该动作。因此,该动作被指定一个最大值的规则强度。
根据本发明,数据处理***10还响应REVW指令加权该规则强度。数据处理***10通过乘该规则强度加权该规则强度,该规则强度通过将这个最小值乘以加权获得作为最小模糊输入。公式5和6以算术公式叙述加权的规则评定运算,式中“W1”和“W2”分别表示用于评定动作X和动作Y的模糊输出的加权。
(5)MAX([MIN(模糊输入1,模糊输入2)]·W1,动作X)
(6)MAX([MIN(模糊输入1,模糊输入2)]·W2,动作Y),然后数据处理***10存储这些最大值作为动作X和Y的结果值。
在这里叙述的本发明的实施例中,内部存储器32一般用于存储器存储。但是,也可使用数据处理***10外部的其它存储电路(未示出)。这种外部处理存储电路的实现和使用在数据处理技术中是众所周知的,而且本领域的普通技术人员是清楚的。在这个实施例中,每个模糊输入以下列形式存储在内部存储器32中:
存储地址 | 模糊输入 | 注 释 |
$1000 | $00 | T冷 |
$1001 | $33 | T凉 |
$1002 | $CC | T暖 |
$1003 | $00 | T热 |
$1004 | $00 | P轻 |
$1005 | $FF | P中 |
$1006 | $00 | P重 |
阵列1
如阵列1所示的,对于两个***输入温度和压力,以“模糊输入”表示的隶属程度提供给每个***输入的每个隶属集。如前面参照图1所叙述的,第一***输入是58华氏度的温度。58华氏度的温度被模糊具有在冷和热隶属集中的隶属程度$00、在凉隶属集中的隶属程度$33、和在暖隶属集中隶属程度$CC。如阵列1所示的,T冷和T热变量的值为$00,这指示第一***输入不在这两个隶属集的任一集中。但是,第一***输入是有值$33的T冷和值$CC的T暖。因此,在该冷隶属集中第一输入的确是有隶属程度$33,即在暖和隶属集中具有隶属程度$CC。
类似地,第二输入被模糊以指示在轻和重压力隶属集二者中的隶属程度$00。因此,P轻和P重变量值为$00,这指示第二输入不包括在这两个隶属集的任一集中。但是,在中间隶属集中第二输入的确具有隶属程度$FF。因此,P中变量具有一个值$FF。
和模糊输入一样,被评定的每个规则(规则1至规则3)也存储在内部存储器32的规则阵列中。该规则阵列示于图5中。对于每个规则,提供了模糊输入和模糊输出二者的地址位置。模糊输入和模糊输出的地址以图5的形式被存储并查阅数据值的表,如前面阵列1中所示的。和模糊输入一样,相应于模糊输出的数据值表也在阵列中提供,这里未具体地示出。
规则阵列的开始位于由数据处理***10的用户规定的预定地址。在这里所述的例子中和图5中所示的,预定地址等于$E000并在执行REVW指令之前存储在变址寄存器中。规则1的模糊输入的第一输入的地址位于十六进制地址$E000,即该规则库的开始。在这个例子中,T凉是规则1的第一模糊输入,即地址$1001存储在规则阵列的地址$E000。因为P轻值是规则1的第二模糊输入,地址$1004存储在地址$E002的规则阵列中。
为了从模糊输出中分离出模糊输入,具有值$FFFE的缓冲器存储在地址$E004的规则阵列中。随后,利用具有值$FFFE的缓冲器从规则2的模糊输入中分离出规则1的模糊输出。利用具有值$FFFE的缓冲器从任何数量的模糊输出中分离出任何数量的模糊输入的这个格式被重复,直到多个规则的每个模糊输入和输出被存储在存储器中为止。在相同规则中从模糊输出中分离该模糊输入的每个缓冲器值$FFFE触发那个规则的加权过程。这时,一个特别的缓冲器值指示规则库的结束。在这里所示的例子中,规则库的结束以值$FFFF表示。虽然使用相同的缓冲器值从每个规则的模糊输出中分离出模糊输入,数据处理***10的设计者可使用任何数量的缓冲器。
以这样的顺序替代每个规则的每个模糊输入和输出,使用缓冲器地址作为每个模糊输入和输出部分之间划分的批示符可顺序地评定每个规则。因此,这些规定不必遵照具有特别数量的模糊输入和模糊输出(动作)的固定格式。这允许提供模糊***的规则的更大的灵活性。如在规则1、规则2和规则3[(1),(2)和(3)]中可看到的,在本发明的目前实施例中,模糊输入和相应动作的数目可从一个规则到另一个规则地变化。
为了开始执行REVW指令,该规则的每个模糊输入和输出必须存储在具有图5所示的预定格式的规则阵列的存储器。而如果规则是加权的,则每个规则的加权值必须存储在加权阵列的存储器中。另外,该规则阵列的开始地址必须存储在变址寄存器X43中,累加器58必须以十六进制值$FF初始化,和在执行REVW指令之前,如果采用规则加权,变址寄存器Y53必须以加权阵列的开始地址初始化。另外,在执行REVW指令之前,每个模糊输出必须指定一个十六进制值$00。REVW指令的执行则可根据图6所示的流程图进行。该流程图提供在执行REVW指令期间执行的每个功能的简单概况。要执行REVW指令的例子的过程期间更详细地说明每个功能。
如图6中所示的,在REVW指令被解码时进行REVW指令执行的第一步。然后使用称为“X”的、存储在变址寄存器中的地址取出第一规则操作数。然后递增地址X指在下一个地址位置(X+2)。
然后检测第一规则操作数的值确定该值是否等于十六进制$FFFE。如果等于十六进制$FFFE,则触发VCCR信号以指示缓冲器值被检索到。如果在触发后VCCR信号等于0,则规则的第一模糊输入被评定和累加器58应该初始化为十六进制值$FF。否则,累加器58的值不改变。
如果第一规则操作数的值不等于$FFFE,则检测该值以确定是否它等于十六进制$FFFF。如果该值等于十六进制$FFFF,已存取了该规则阵列的末尾,REVW指令终止。
如果第一规则操作数的值不等于$FFFF,则使用第一规则操作数的值从内部存储器32存取模糊输入或输出值。然后从该模糊输入或输出值减去累加器58的内容提供有符号的结果。该结果的符号以N信号的值指示。
如果N信号等于0,则累加器58和数据缓冲器40二者的内容不应交换和存储在变化寄存器中的地址存取下一个规则操作数。但是,如果N信号等于1,则检测VCCR信号。
如果VCCR信号等于0,则累加器58的内容应该以由第一规则操作数存取的模糊输入值的值代替。因此,使用最小函数确定规则强度,该规则强度指定给目前评定的规则的模糊输出。接着,使用存储在变址寄存器中的地址存取下一个规则操作数。
如果VCCR信号等于1,则数据缓冲器40的内容应该以累加器58中的较强的规则强度代替,因此,最大的规则强度指定给目前评定的模糊输出。接着,使用存储在变址寄存器中的地址存取下一个规则操作数。
图6所示的流程图提供在数据处理***10中执行REVW指令的概况。现在给出更详细的例子。
REVW指令的基本操作如下:从存储器中检索每个前项值和确定由加权值影响的最小前项值;然后,检索每个随后的值,与规则强度值比较,如果而且仅仅如果预存在的随后的值小于该规则强度值,在存储器中以那个规则强度值代替。
如前所述,在执行REVW指令前,多个模糊输入由数据处理***10的用户存储在内部存储器32的第一预定存储单元中。根据阵列1存储多个模糊输入。另外,用于评定多个模糊输入的每个规则也以图5中所示的形式存储在内部存储器32中的第二预定存储单元。加权值也以地址可从变址寄存器Y53寻址的顺序形式存储在存储器中。虽然这里未详细地表示出,相应于该模糊输入的每个规则强度值也以类似于阵列1的阵列存储在内部存储器32的开始地址$2000。另外,在执行REVW指令前,数据处理***10的用户也必须给所有的模糊输出值指定十六进制值$00。另外,在执行REVW指令前,数据处理***10的用户必须初始化累加器58为十六进制值$FF。如前所述,当累加器58被初始化为$FF,VCCR信号被否定。
在操作期间,用户可通过外部存储的或存储在内部存储器32中的软件程序提供REVW指令给数据处理***10。如果由数据处理***10外部的信源提供该REVW指令,则该REVW指令可经过外部数据总线33输入到外部总线接口30。接着外部总线接口30经过内部数据总线34提供REVW指令给CPU12。如果由内部存储器32中的软件程序提供REVW指令,则该REVW指令将经过内部数据总线34提供给CPU12。在CPU12中,执行单元14响应从每个总线控制逻辑电路16、控制单元20和顺序器22收到的控制信号将提供REVW指令给指令解码逻辑电路18。另外,CPU12的每个部件经过定时控制总线38接收定时控制信号。这种定时控制信号的路由和使用在数据处理技术中是众所周知的,因此这里不详细地讨论。
指令解码逻辑电路18解码该REVW指令,提供恰当执行REVW指令需要的多个控制与信息信号。在接收和解码REVW指令时,执行单元14开始评定存储在内部存储器32中的多个模糊输入所需的步骤。图2中CPU12的控制单元20和顺序器22一起从内部存储器32向执行单元14提供一系列顺序控制信号,这些信号是传送指示符到模糊输入和模糊输出二者的地址所需要的。
为了开始执行REVW指令,执行单元144的变址寄存器X43提供一个指示符到该规则库的开始。变址寄存器和它们在数据处理***中的使用在数据处理技术中是公知的,因此,这里不再详细说明。该指示符指在内部存储器32中的规则库的开始地址,“凉”温度隶属集中的第一输入的隶属程度存储在该地址。该地址指示存储规则1的第一模糊输入值的地址。在这里叙述的例子中,十六进制地址$1001存储在内部存储器32中的地址$E000。
当从规则阵列存取规则1的第一模糊输入值的地址时,该地址经过外部信息总线41提供给数据缓冲器40。接着数据缓冲器40提供该地址值给比较器72,在这里该地址值与十六进制值$FFFE比较。如果该地址值等于$FFFE,则指向缓冲器地址并且应该触发VCCR比特。传统地,使用VCCR比特指示符号运算计算中的溢出差错。但是,在本发明的这个实施例中,设定条件码寄存器中的溢出比特(VCCR)指示存取的地址是相应于模糊输入地址、缓冲器地址或模糊输出地址。在存取相应于第一规则的模糊输入的地址时,VCCR比特保持否定。如果存取的地址是缓冲器值,则触发VCCR比特。在这里所述的例子中,缓冲器值等于十六进制值$FFFE。另外,在存取模糊输出的地址时,VCCR比特仍然被认定。
在该地址值等于$FFFE时,比较器72认定该触发信号。条件码逻辑电路47接收该触发信号,接着提供认定的条件码信号给条件码寄存器60。反过来,因此条件码寄存器60认定或否定VCCR信号。如果信号VCCR和CCCR二者被认定,则变址寄存器Y53提供被取出的、在加权值的存储器中的一个地址。加权值乘最小模糊逻辑输入以影响模糊逻辑输出。
在这里叙述的例子中,从地址$E000存取地址值$1001,地址$E000是规则阵列中规则1的第一模糊输入值的地址。因为$1001不等于$FFFE,所以比较器72不认定该触发信号。因此,由条件码逻辑电路47提供的条件码信号不启动条件码寄存器60触发VCCR信号。
比较器72还比较规则1的第一模糊输入的地址值与十六进制值$FFFF。如果该地址值等于$FFFF,则指向规则阵列地址的末尾并且终止REVW指令的执行。
另外,在从内部存储器32存取地址$1001时,提供“凉”温度隶属集中的第一***输入的隶属程度。如阵列1中所示的,该隶属程度等于十六进制值$33。内部存储器32经过内部数据总线提供该信息给执行单元14的数据缓冲器40。外部信息总线41提供经过内部地址总线36和内部数据总线34传送的信息。
在数据缓冲器40中存储第一模糊输入($33)用于随后处理。为了确定规则1前项的最小隶属程度,累加器58的目前内容($FF)从第一模糊输入($33)中减去。为了执行这个功能,累加器58的内容提供信息总线A66和数据缓冲器40的内容提供给信息总线B64。另外,多个控制和定时信号经过微ROM控制总线65提供给执行单元14。多个控制和定时信号由图2的指令解码逻辑电路18提供作为解码REVW指令的结果。
在执行单元14中,第一模糊输入提供给A输入复用器50和累加器58的内容在根据经过微ROM控制总线65传送的定时信号确定的时间点提供给B复用器56。B输入控制电路54提供“控制B”信号到B输入复用器56的控制操作。在这个例子中,控制B信号允许B输入复用器56传送未改变的第一模糊输入值到ALU52。类似地,A输入控制电路54提供“控制A”信号输入复用器50。控制A信号允许A输入复用器50否定累加器58的内容,使得从ALU52中的第一模糊输入中减去该内容。
在接收第一模糊输入和否定的累加器内容值时,ALU52从第一模糊输入($33)减去累加器58的内容($FF)提供该结果。该结果是一个负数($33-$FF=$CC)和N信号被认定。认定的N信号经过结果总线120传送。如果该结果是正的,则N标记未被设定并且已经过结果总线120提供否定的N符号。减法运算的数字结果不要求,因此,在随后的运算期间被写入。
寄存器交换逻辑电路46允许用户确定规则折每个模糊输入中的最小隶属程度。这时,累加器58的内容乘以选择的加权值。然后加权值的结果用作由该规则规定的每个动作的规则强度。在运算期间,取决于VCCR和N信号的值,寄存器交换逻辑电路46可以或可不转换累加器58和数据缓冲器40的内容。
寄存器交换逻辑46接收VCCR信号、N信号和定时控制信号以便控制累加器58和数据缓冲器40内容的转换。如前所述的,当模糊输入值从内部存储器32提供给执行单元14时,VCCR信号仍然被否定,另外,ALU52提供N信号,指示从数据缓冲器40的内容中减去累加器58的内容的结果是正或者负。如果累加器58的内容大于存储在数据缓冲器40中的第一模糊输入,则认定N信号指示负的结果。相反地,如果第一模糊输入小于累加器58的内容,则仍然否定N信号,指示正的结果。在由定时电路28确定的恰当时间,认定定时控制信号以启动寄存器交换逻辑电路46或者传送累加器58的内容到数据缓冲器40、传送数据缓冲器40的内容到累加器58或者使累加器58和数据缓冲器40二者的内容仍然相同。
寄存器交换逻辑电路46(图4)也接收加“与”门74的信号CCCR。加上负信号CCCR以便选通”与“门76。“与”门74的输出信号启动C在进行加权运算时被认定。在不进行加权时从“与”门76输出的信号启动D被认定。
现在参见图3,可看出启动C信号启动选择器49使从变址寄存器Y53来的地址能被***地址缓冲器45,在以上所述的由定时控制信号确定的适当时间,地址缓冲器45从存储器在来自变址寄存器Y53的地址取出加权值。然后所取出的加权值用于乘累加器58的内容。如果启动D信号,则地址缓冲器45不能进入,因此从存储器没有检索到任何加权值。
在评定规则1的“如果”部分期间,当从第一模糊输入减去累加器58的内容时,产生负的结果($33-$FF=-$CC)。因此,仍然认定N信号。另外,否定VCCR信号以指示模糊输入正从内部存储器32中检索出。当认定定时控制信号时,“与”门62的输出等于0和不认定启动A信号。但是,认定反相器68的输出和启动“与”门70以认定启动B信号。当认定启动B信号时,启动选择器44,从数据缓冲器40传送数据到累加器58。在这时最小的隶属程度为$33,并且存储在累加器58中。
类似地,规则1的第二模糊输入提供给数据缓冲器40。第二模糊输入是第二***输入在轻压力(P轻)隶属集中的隶属程度。在这个例子中,该隶属程度为十六进制值$00。而且,内部存储器32经过外部信息总线41提供第二模糊输入的隶属程度给执行单元14的数据缓冲器14。
为了确定最小隶属程度,从第二模糊输入减去第一模糊输入。在执行单元14中,在根据经过微ROM控制总线65传送的定时信号确定的时间点,第一模糊输入提供给A输入复用器50和第二模糊输入提供给B输入复用器56。B输入控制电路54提供“控制B”信号控制B输入复用器56的操作。在这个例子中,控制B信号允许B输入复用器56传送未改变的第二模糊值给ALU52。类似地,A输入控制电路54提供″控制A″信号给A输入复用器50。控制A信号允许A输入复用器50否定第一模糊输入,使得它可以从ALU52中的第二模糊输入中减去。
在接收第二模糊输入值和否定第一模糊输入值时,ALU52从第二模糊输入值减去第一模糊输入值再次提供负的结果。因此,认定N信号。另外,否定VCCR信号指示正从内部存储器32中检索模糊输入。
当认定定时控制信号时,“与”门62的输出等于0和不认定启动A信号。在这第一个例子中,“与”门70不认定启动B信号。当认定启动B信号时,启动选择器44从数据缓冲器40传递数据到累加器58。因此,在这时最小隶属程度为$00,并且存储在累加器58中。
在规则1模糊输入的存储单元末尾,由比较器72识别缓冲器地址。比较器72提供认定的触发信号给条件码逻辑电路47。然后条件码逻辑电路47提供条件码信号给条件码寄存器,以便触发条件码寄存器60中的V比特,提供认定的VCCR信号。如前所述,认定VCCR信号以指示规则1的模糊输出的地址是从内部存储器32中被检索的下一个地址。在这里所述的例子中,在执行REVW指令“则”部分期间,当从内部存储器32检索规则1的模糊输出的地址时认定VCCR信号。
当选择多个模糊输出之一时,执行最大运算。因此,对于REVW指令的“则”部分,认定每个模糊输出的最大规则程度。如前所述,应该对每个模糊输出指定最大规则强度。因此,作为REVW指令的“如果”部分执行结果的、存储在累加器58中的最小隶属程度值与目前存储在内部存储器32中的该模糊输出地址的规则强度值比较。在执行REVW指令的“则”部分期间,目前的规则强度值驻留在累加器58中。最大规则强度值总是存储在内部存储器32中。如前所讨论的最小隶属程度值在REVW指令的第一部分中计算,在这里每个模糊输入的隶属程度进行比较,如果希望的话,确定由加权值修改的最小值。如果这个加权值是D.累加器58中的产物为D,它对其模糊输出无影响。实质上,具有加权O的规则被“关断”turned off)。
模糊输入的最小值仍然在累加器58中。然后该规则阵列提供指向目前正在评定的规则模糊输出的地址。在执行单元14中的变址寄存器(未示出)递增该指示符指到第一模糊输出的地址。在这个例子中,指示符被递增到地址$E006。在地址$E006,提供第一模糊输出的地址即十六进制地址$2000。因存在执行REVW指令前,数据处理***10的用户给存储在模糊输出阵列中的所有数据值指定十六进制值$00,当存取地址$2000时内部存储器32提供十六进制值$00。然后模糊输出的值($00)经过外部信息总线41提供给数据缓冲器40,模糊输出值被存储用于随后的运算。
为了确定最大规则强度值,从数据缓冲器40中减去累加器58的内容确定哪个具有较大的值。换句话说,在规则评定步骤的“如果”部分期间计算的最小隶属程度值乘以规则加权(如果使用加权),然后从目前存储在规则1的第一模糊输出的地址位置中的规则强度值中减去。为了执行这个功能,累加器58的内容提供给信息总线A66和数据缓冲器40的内容提供给信息总线B64。另外,多个控制和定时信号经过微ROM控制总线65提供给执行单元14。由图2的指令解码逻辑电路18提供多个控制和定时信号作为解码REVW指令的结果。
在执行单元14中,在根据经过微ROM控制总线65传送的定时信号确定的时间点,存储在累加器58中的结果规则强度值提供给A输入复用器50,而存储在数据缓冲器40中的目前的模糊输出值提供给B输入复用器56。B输入控制电路54提供控制B信号以控制B输入复用器56的操作。在这个例子中,控制B信号允许B输入复用器从内部存储器32传送未改变的模糊输出值到ALU52。类似地,A输入控制电路48提供控制A信号给A输入复用器50。控制A信号启动A输入复用器50否定用于在ALU52中的随后的减运算的累加器58的内容。
在从A输入复用器50和B输入复用器56二者接收这些值时,ALU52从存储在相应于规则1的第一模糊输出的预定存储单元的模糊输出值中减去存储在累加器58中的结果规则强度值。在这里所述的例子中,存储在累加器58中的值具有十六进制值$00。因为规则1的每个模糊输出被指定一个十六进制值$00,所以由ALU52提供的结果为$00。因为该答案不是负数,N信号仍被否定,并且接着提供给寄存器交换逻辑电路46。
如前所讨论的,条件码寄存器60提供VCCR信号给寄存器交换逻辑电路46。另外,由外部信源、定时电路28提供定时控制信号给寄存器交换逻辑电路46。在收到每个VCCR、N和定时控制信号时,寄存器交换逻辑电路46否定启动A和启动B信号。因此,选择器42和44分别不启动,而且不允许在数据缓冲器40和累加器58之间的数据传送。因此,内部存储器32中的第一模糊输出的规则强度不改变并且继续具有十六进制值$00。
类似地,在确定规则1的第二模糊输出的规则强度期间,存储在累加器58中的值和从内部存储器32中检索的规则强度值都具有十六进制值$00。因此,ALU52再次否定N信号,而且寄存器交换逻辑电路46随后被启动以否定启动A和启动B信号。因此,在评定规则1之后,每个规定的模糊输出动作1和动作2的规则强度具有十六进制值$00。
此外,在规则1的模糊输出的存储单元末尾,由比较器72识别缓冲器地址。比较器72提供认定的触发信号给条件码逻辑电路47。条件码逻辑电路47提供条件码信号给条件码寄存器,以便触发条件码寄存器60中的V比特提供一个否定的VCCR信号。如前所说明的,VCCR信号被否定以指示规则2的模糊输入的地址是从内部存储器32中进行检索的下一个地址。在这里所述的例子中,在执行REVW指令的“如果”部分期间,当从内部存储器32中检索规则2的模糊输入的地址的否定VCCR信号。当否定VCCR信号时,累加器58的内容再次初始化为值$FF。
继续执行REVW指令要求评定规则2。如前所说明的,控制单元20提供从内部存储30向执行单元M传送规则2的每个模糊输入需要的一系列顺序控制信号。在评定规则2期间,内部存储器32提供第一地址,在暖和温度隶属集中的第一***输入的隶属程度存储在其中。在这里叙述的例子中,该地址指向内部存储器32的十六进制地址$1002。当从内部存储器32存取地址$1002时,具有十六进制值$CC的隶属程度经过内部数据总线34提供给数据缓冲器40。
因为在规则1评定期间,规则2的第一模糊输入与累加器58的已初始化内容比较。当第二缓冲器地址被识别时,累加器58再次初始化为十六进制值$FF。因此,根据前述的方法,最小值被检测到和$CC存储在累加器58中。
类似地,在地址缓冲器45的一个地址从存储器提供规则2的第二模糊输入提供给数据缓冲器40。第二模糊输入是第二***输入在中等压力隶属集中的隶属程度。在这个例子中,隶属程度具有十六进制值$FF。
为了确定最小隶属程度,ALU52从第二模糊输入减去第一模糊输入提供正的结果$33。因为结果是正的,N标记被清除,并且经过结果总线120提供否定的N信号。
接着,寄存器交换逻辑电路46接收VCCR信号、N信号和定时控制信号以便控制累加器58和数据缓冲器40内容的转换。寄存器交换逻辑电路46否定启动A和启动B信号。最小隶属程度十六进制值$CC仍然存储在累加器58中。
在规则2的模糊输入的存储单元末尾,由比较器72识别缓冲器地址。比较器72提供认定的触发信号给条件码逻辑电路47。然后条件码逻辑电路47提供条件信号给条件码寄存器,以便触发条件码寄存器60中的V比特,提供一个认定的VCCR信号。如前所说明的,VCCR信号被否定以指示规则2的模糊输出地址是从内部存储器32进行检索的下一个地址。如果认定CCCR信号,则累加器58的内容用加权值改变,该加权值是在地址缓冲器45中从变址寄存器Y53开始的地址上从存储器得到的。结果存回在累加器58中。
规则2的强度值保持在累加器58中。假定累加器58中的结果值是$66。然后从规则阵列提供目前正评定的模糊输出。执行单元14中的变址寄存器递增指示符以指到第一模糊输出的地址。在这个例子中,指示符递增到地址$E01 2。在地址$E012,提供第一模糊输出地址,即十六进制地址$2002。因为在执行REVW指令前,数据处理***10的用户给存储在模糊输出阵列中的所有数据值指定一个十六进制值$00,当存取地址$2002时,内部存储器32提供十六进制值$00。然后经过外部信息总线41提供模糊输出值($00)给数据缓冲器40,在这里存储模糊输出值用于随后运算。
然后ALU52从存储在数据缓冲器40中的十六进制值$00中减去存储在累加器58中的十六进制值$66。结果是负$66值并且认定N信号。在每个N、VCCR和定时信号提供给寄存器交换逻辑电路46时,寄存器交换逻辑电路46认定启动A信号并且否定启动B信号。
当认定启动A信号时,启动选择器42以驱动累加器58的内容给数据缓冲器40。数据缓冲器40暂时地存储由累加器58提供的先前规则强度值($66)作为最大的规则强度值。另外,数据缓冲器40传送最大规则强度值给规则2的第一模糊输出的地址位置($2002)。因此,值$66是在执行REVW指令期间在这点上内部存储器32中地址$2002的动作3目前规则强度值。
而且,在规则2模糊输出的存储单元末尾,由比较器72识别缓冲器地址。比较器72提供认定触发信号给条件码逻辑电路47。条件码逻辑电路47提供条件码信号给条件码寄存器,以便触发条件码寄存器60中V比特提供否定的VCCR信号。如前所说明的,VCCR信号被否定以指示规则3的模糊输入的地址是内部存储器32进行检索的下一个地址。在这里叙述的例子中,在执行REVW指令的“如果”部分期间,在从内部存储器32检索规则3的模糊输入的地址时否定VCCR信号。当否定VCCR信号时,累加器58的内容再次初始化为值$FF。
继续执行REVW指令开始评定规则3。如前所说明的,CPU12的控制单元20提供从内部存储器32向执行单元14传送规则3的每个模糊输入所需要的一系列顺序控制信号。在评定规则3期间,内部存储器32提供第一地址,在中等压力隶属集中第二***输入的隶属程度存储在其中。在这里所述的例子中,该地址将指到内部存储器32中的十六进制地址$1005。当从内部存储器32存取地址$1005时,具有十六进制值$FF的隶属程度经过内部数据总线34给数据缓中器40。
如前所述的,当VCCR信号被否定时,累加器58的内容被初始化为$FF。当存储在数据缓冲器40的隶属程度由ALU52从累加器58的内容中减去,产生结果D。因为结果不是负的,N信号不被认定。因此,寄存器交换逻辑电路46信号不被认定启动A信号,也不认定启动B信号,而且信息不在数据缓冲器40和累加器58之间传送。
在规则3的模糊输入的存储单元末尾,由比较器72识别缓冲器地址。比较器72提供认定的触发信号给条件码逻辑电路47。然后条件码逻辑电路47提供条件码信号给条件码寄存器60,以便触发条件码寄存器60中的V比特,而提供认定的VCCR信号。如前所说明的,VCCR信号被认定以指示规则3的模糊输出的地址是从内部存储器32中进行检索的下一个地址。这时,取出的加权值被乘以累加器58的内容以提供加权的输出。
接着,从内部存储器32中存取规则3的模糊输出的地址并且提供十六进制值$66给数据缓冲器40。提供十六进制值$66作为评定规则2的结果,其中模糊输出动作3被指定十六进制的规则强度值$66。因此,提供十六进制值$66给数据缓冲器40。
然后ALU52从存储在数据缓冲器40中的十六进制值$66中减去存储在累加器58中的十六进制值$FF。结果是负的$-99值。当提供给寄存器交换逻辑电路46时,寄存器交换逻辑电路46认定启动A。因此,启动选择器42以便从累加器58向数据缓冲器40传送数据。数据缓冲器40传送最小隶属程度值给规则3的模糊输出的地址位置,即动作3输出。因此,十六进制值$FF是在执行REVW指令期间在这点的动作3的目前规则强度值。
在评定规则3之后,由比较器72检测指示被定的规则末尾的特别缓冲器地址,而且REVW指令被终止。这时,已评定了每个规则1、2和3,而且每个相应的模糊输出已被指定一个规则强度值。在这里所述的例子中,每个动作1和2已被指定十六进制的规则强度值$00。另外,动作3被指定十六进制的规则强度值$FF。然后提供每个动作作为到所用的解模糊程序的模糊输出以确定数据处理***10的恰当动作。例如,动作3可解模糊以便打开一个阀或开启一个风扇。另外,动作1至3的规则强度可被解模糊以便确定风扇开启或阀打开的程度。解模糊操作在数据处理技术中是众所周知的,因此这里不详细地说明。
因此,在数据处理***10中执行REVW指令期间,快速地和以少量的附加电路评定每个规则1、规则2和规则3。图3中所示的大多数电路一般用于执行数据处理器的通用处理。实现本发明要求在微ROM中的少量附加存储器和少量的附加的指令解码逻辑电路。另外,在执行单元14中,除了传统要求的逻辑电路外,要求比较器72和寄存器交换逻辑电路46。
因为在执行REVW指令期间完整地处理了整个规则评定步骤,可取得较快的执行期间。在规则评定步骤的前面实施例中,要求具有很多步骤的软件程序。例如,使用MC68HC11指令集中实现的软件程序典型地要求30条指令以执行规则评定步骤。REVW指令替代MC68HC11程序的所有31条指令。因此,通过单个REVW指令的实现显著地减少了典型地要求执行规则评定步骤所要求的执行时间。
另外,REVW指令非常灵活而且不要求固定数量的模糊输入或模糊输出。通过检测缓冲器地址并且因此设定VCCR信号,执行单元14分别提供模糊输出和模糊输入的最大或最小值。数据处理***10的用户只要求在内部存储器32的预定位置存储被评定的规则的格式。在现有技术的解决方案中,这些规则存储在预定的存储单元中,这些规则必须采用每个规则具有第一预定数量的模糊输入和第二预定数量的模糊输出的固定格式。如果没有检测到缓冲器地址,和每个规则要求固定数量的模糊输入及模糊输出,对于具有很少模糊输入或模糊输出的那些规则,大量的存储器将浪费了。
而且,因为这些规则是以阵列存储在存储器中,它们可被评定而不会从外部信源中断,对于一个REVW指令,一个以上的规则可被评定。在评定第一规则后,可立即评定第二规则,无需从数据处理***10的用户检索附加信息。可检索这些规则,直到达到阵列的末尾为止。阵列的末尾由一个专门的缓冲器地址指示。在执行前述实施例的规则评定步骤期间,每个规则分开评定。因此,使用前面的软件技术评定多个规则需要的时间长于使用REVW指令评定同样多个规则所需的时间。
在这里所述的本发明的实施例中,REVW指令的执行可被中断而不丢失中间的结果。在处理中断后,可在REVW指令中断的那点上再继续执行REVW指令。REVW指令可被中断,因为在变址寄存器中存储在内部存储器32中的规则阵列的指示符,它是在中断期间保存的。另外,在中断期间VCCR比特的状态没有改变,因为它是存储在条件码寄存器60即处理器状态寄存器中,在中断操作期间它不改变。最小和最大运算的中间结果也存储在累加器58中。而且,在中断运算期间累加器58没有改变。因此,当处理大量规则时,即使REVW指令可能是耗时的,该指令可由数据处理***10的用户中断,以便可执行更紧急的。在更紧急的操作完成时再继续执行REVW指令。
这里所述的本发明的实施例仅仅通过举例进行。但是,执行这里所述的功能可有很多其它的实施例。例如,被评定规则的规则库的开始可提供作为REVW指令的操作数。另外,数据处理***10外部的存储电路可用于存储每个规则和评定规则期间使用的模糊输入。而且,虽然N和VCCR信号用于控制本发明这个实施例中寄存器交换逻辑电路46的运算,和CCCR信号用于控制加权运算,在数据处理***10内的其它信号可容易地运用。另外,在寄存器交换逻辑电路46中使用的逻辑门也可以其它逻辑电路代替,诸如“与非”门、“或”门,“或非”门或者“异或”门。
虽然这里叙述了本发明的原理,本领域的技术人员清楚地懂得,这个说明仅是通过举例进行的,而且不是作为对本发明精神的限定。例如,REVW指令可在CPU内执行或者由CPU和共同处理器执行。在后者情况下,认为CPU包括指令解码器,而认为共同处理器包括执行单元。因此,想要通过所附加的权利要求书复盖落入本发明精神和范围的本发明的所有修改。
Claims (10)
1.一种评定模糊逻辑规则的数据处理***(10),其特征在于:
一个指令解码器(18),它具有用于接收指令的一个输入端,和用于响应该指令提供多个控制信号的一个输出端;和
一个执行单元(14),它接到一条信息总线(41)并且具有接到该指令解码器(18)的输出端的一个控制输入端;
该指令解码器(18)控制执行单元(14),使执行单元(14)响应规则评定加权指令经过信息总线(41)取出多个模糊输入;
该指令解码器(18)还控制该执行单元(14)确定多个模糊输入的最小输入,并且响应该规则评定加权指令加权多个模糊输入的最小输入,以提供一个模糊输出。
2.根据权利要求1的数据处理***(10),其特征在于,该执行单元(14)包括一个条件码寄存器(60),如果该条件码寄存器(60)中选择的比特为预定状态,则该执行单元(14)选择地加权多个模糊输入的最小输入。
3.根据权利要求1的数据处理***(10),其特征在于,该执行单元(14)包括第一(43)和第二(53)变址寄存器,该执行单元使用第一变址寄存器(43)检索相应地址以便取出更多个模糊输入,和使用第二变址寄存器(53)取出加权。
4.一种在数据处理***(10)中评定模糊逻辑规则的方法,其特征在于,包括以下步骤:
(a)对与模糊逻辑规则相关的多个模糊输入执行预定的算术运算提供一个未加权的输出;
(b)检验数据处理***(10)的条件码寄存器(60)中的控制比特以确定该模糊逻辑规则是否为加权的;
(c)取出相应于该模糊逻辑规则的加权;和
(d)响应在预定状态的该控制比特,以该加权乘该未加权的输出来加权该模糊逻辑规则以便提供一个模糊输出。
5.一种在数据处理***(10)中评定模糊逻辑规则的方法,其特征在于,包括以下步骤:
(a)对与模糊逻辑规则相关的多个模糊输入执行预定的算术运算提供一个未加权的输出;
(b)确定该模糊逻辑规则是否是加权的;
(c)使用一个变址寄存器(53)取出一个加权;和
(d)以该加权乘该未加权的输出来加权该模糊逻辑规则提供一个模糊输出。
6.根据权利要求4或5的方法,其特征在于:对规则库中的多个模糊逻辑规则的每个规则重复步骤(a)-(d)的步骤。
7.根据权利要求4或5的方法,其特征在于:对多个模糊输入执行预定的算术运算的步骤包括确定多个模糊输入的最小输入的步骤。
8.根据权利要求7的方法,其特征在于,加权该模糊逻辑规则步骤包括步骤:
提供多个模糊输入的最小输入给运算逻辑单元(52)的第一输入端;
提供该加权给该运算逻辑单元(52)的第二输入端;和
启动该运算逻辑单元(52)执行乘法;以及
提供该运算逻辑单元(52)的输出作为模糊输出。
9.根据权利要求4或5的方法,其特征在于:通过确定最大的模糊输出提供第二模糊输出和先前的第二模糊输出的步骤。
10.根据权利要求4的方法,其特征在于;检验条件码寄存器(60)中的控制比特的步骤包括检验条件码寄存器(60)中的进位比特的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36343494A | 1994-12-22 | 1994-12-22 | |
US363,434 | 1994-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1133457A true CN1133457A (zh) | 1996-10-16 |
Family
ID=23430200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95121196A Pending CN1133457A (zh) | 1994-12-22 | 1995-12-21 | 估计模糊逻辑规则的数据处理***及其方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5787407A (zh) |
EP (1) | EP0718753A1 (zh) |
JP (1) | JPH08234989A (zh) |
KR (1) | KR100375251B1 (zh) |
CN (1) | CN1133457A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260030B1 (en) * | 1997-12-01 | 2001-07-10 | Talib Janabi | Multi grade fuzzy logic controller |
US6035390A (en) * | 1998-01-12 | 2000-03-07 | International Business Machines Corporation | Method and apparatus for generating and logically combining less than (LT), greater than (GT), and equal to (EQ) condition code bits concurrently with the execution of an arithmetic or logical operation |
AU2001275508A1 (en) * | 2000-06-02 | 2001-12-11 | Joseph E Johnson | Apparatus and method for handling logical and numerical uncertainty utilizing novel underlying precepts |
CA2411203A1 (en) * | 2002-11-05 | 2004-05-05 | Alphaglobal It Inc. | Intelligent data management system and method |
US7725513B2 (en) * | 2003-01-15 | 2010-05-25 | Ikanos Communications, Inc. | Minimum processor instruction for implementing weighted fair queuing and other priority queuing |
US7130770B2 (en) * | 2004-09-09 | 2006-10-31 | International Business Machines Corporation | Monitoring method and system with corrective actions having dynamic intensities |
US7415448B2 (en) * | 2006-03-20 | 2008-08-19 | Microsoft Corporation | Adaptive engine for processing geographic data |
JP5332172B2 (ja) * | 2006-11-10 | 2013-11-06 | セイコーエプソン株式会社 | 画像表示制御装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5243687A (en) * | 1988-09-20 | 1993-09-07 | Omron Tateisi Electronics Co. | Fuzzy computer system having a fuzzy inference processing circuit for controlling and adapting output signal to the set membership signal |
US5131071A (en) * | 1988-09-26 | 1992-07-14 | Omron Tateisi Electronics Co. | Fuzzy inference apparatus |
EP0373628B1 (en) * | 1988-12-14 | 1998-03-18 | Omron Corporation | Fuzzy apparatus |
US5305424A (en) * | 1990-07-26 | 1994-04-19 | Apt Instruments (N.A.) Inc. | Data forming method for a multi-stage fuzzy processing system |
JPH04343136A (ja) * | 1991-05-20 | 1992-11-30 | Omron Corp | ファジィ推論処理システム |
JPH0561283A (ja) * | 1991-08-30 | 1993-03-12 | Minolta Camera Co Ltd | 複写機管理方式 |
JPH05241840A (ja) * | 1992-02-26 | 1993-09-21 | Mitsubishi Electric Corp | ファジィ推論処理装置 |
US5295229A (en) * | 1992-06-17 | 1994-03-15 | Motorola, Inc. | Circuit and method for determining membership in a set during a fuzzy logic operation |
US5263125A (en) * | 1992-06-17 | 1993-11-16 | Motorola, Inc. | Circuit and method for evaluating fuzzy logic rules |
JPH06168134A (ja) * | 1992-11-30 | 1994-06-14 | Nec Corp | ファジイ制御のためのファジイ推論プロセッサ |
US5376752A (en) * | 1993-02-10 | 1994-12-27 | Korg, Inc. | Open architecture music synthesizer with dynamic voice allocation |
US5684928A (en) * | 1995-12-11 | 1997-11-04 | Motorola, Inc. | Circuit and method for evaluating fuzzy logic rules |
-
1995
- 1995-12-18 EP EP95119949A patent/EP0718753A1/en not_active Withdrawn
- 1995-12-20 JP JP7349385A patent/JPH08234989A/ja active Pending
- 1995-12-21 CN CN95121196A patent/CN1133457A/zh active Pending
- 1995-12-22 KR KR1019950054209A patent/KR100375251B1/ko not_active IP Right Cessation
-
1997
- 1997-11-17 US US08/971,266 patent/US5787407A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0718753A1 (en) | 1996-06-26 |
US5787407A (en) | 1998-07-28 |
KR100375251B1 (ko) | 2003-06-09 |
KR960024927A (ko) | 1996-07-20 |
JPH08234989A (ja) | 1996-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6948051B2 (en) | Method and apparatus for reducing logic activity in a microprocessor using reduced bit width slices that are enabled or disabled depending on operation width | |
US5630082A (en) | Apparatus and method for instruction queue scanning | |
CN1052315C (zh) | 用于模糊逻辑规则计值的方法 | |
TWI279715B (en) | Method, system and machine-readable medium of translating and executing binary of program code, and apparatus to process binaries | |
US8205204B2 (en) | Apparatus and method for scheduling threads in multi-threading processors | |
CN1180196A (zh) | 降低电子电路功耗的***和方法 | |
US20020174321A1 (en) | System, method and apparatus for allocating hardware resources using pseudorandom sequences | |
CN1250906A (zh) | 使用组合的数据处理器***和指令*** | |
CN1655118A (zh) | 处理器和编译器 | |
CN1133457A (zh) | 估计模糊逻辑规则的数据处理***及其方法 | |
CN1278931A (zh) | 特别适于译码数字音频信号的数字信号处理器 | |
KR20050071614A (ko) | 단일-명령 다중-데이터 마이크로프로세서들에서의 벡터순열을 위한 장치, 시스템 및 그 방법 | |
CN1080411A (zh) | 在模糊逻辑运算中决定组内资格的电路和方法 | |
CN1381797A (zh) | 高速信息检索*** | |
US20080209174A1 (en) | Processor And Its Instruction Issue Method | |
Hall | A reversible instruction set architecture and algorithms | |
CN1167299A (zh) | 用于评估模糊逻辑规则的电路和方法 | |
US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
CN1133994A (zh) | 执行有效模糊逻辑运算的数据处理***及其方法 | |
EP0933705A2 (en) | Data processor with robust interrupt branching and method of operation | |
CN1095559C (zh) | 降低电子电路功耗的***和方法 | |
CN1497432A (zh) | 微处理器标记寄存器屏蔽移入弹出装置和方法 | |
Le Moullec et al. | Power consumption estimation of the multi-threaded xinc processor | |
CN1180194A (zh) | 降低电子电路功耗的***和方法 | |
Watanabe | Hardware Approach to Fuzzy Inference―ASIC and RISC― |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |