欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于評估模糊邏輯規(guī)則的電路和方法

文檔序號:6410758閱讀:235來源:國知局
專利名稱:用于評估模糊邏輯規(guī)則的電路和方法
技術(shù)領域
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),特別是在數(shù)據(jù)處理系統(tǒng)中執(zhí)行模糊邏輯操作。
數(shù)據(jù)處理器已經(jīng)被開發(fā)成將輸入和輸出看作1或0而不存在其它可能性的二進制設備。在大多數(shù)情況下其工作良好,但有時答案并不只是簡單的"是"或"否",而是介于其之間。已經(jīng)發(fā)展起來一種稱為"模糊邏輯"的概念,以便根據(jù)二進制邏輯使數(shù)據(jù)處理器提供介于"是"和"否"之間的答案。
模糊邏輯是具有帶模糊邊界的隸屬函數(shù)(membership function)的邏輯系統(tǒng)。隸屬函數(shù)將諸如"氣溫是暖和的"之類的主觀表達轉(zhuǎn)換成可由常用數(shù)據(jù)處理器識別的值。說明“暖和的”這類詞的標記用于標出一個輸入值的范圍,其邊界不是該標記處于其一側(cè)為“真”處于其另一側(cè)為“假”的點。另外,在采用模糊邏輯的系統(tǒng)中,隸屬函數(shù)的邊界逐漸改變并可與相鄰隸屬組的邊界重疊。因此,通常賦予輸入值一個隸屬程度。例如,如果將一個溫度范圍提供給隸屬函數(shù),輸入的溫度可落入標為"冷"和"暖"的兩個函數(shù)的重疊區(qū)。進一步的處理是要確定在每個隸屬函數(shù)中的隸屬程度(即,當前溫度與冷和暖隸屬組中每一個的適合程度)。
在采用模糊邏輯的系統(tǒng)中使用被稱為"模糊化"(fuzzification)的步驟使輸入與隸屬函數(shù)相聯(lián)系。模糊化處理將具體數(shù)值附加到諸如"氣溫是暖和的"之類的主觀表達。這些數(shù)值試圖提供非常近似于人的感覺。
模糊化步驟之后,執(zhí)行稱為規(guī)則評估(rule evaluation)的步驟。在規(guī)則評估步驟過程中,對取決于模糊輸入值的規(guī)則表達加以評估以產(chǎn)生模糊輸出。例如,假設所評估的規(guī)則可表示為如果(氣溫是暖和的)并且(氣壓高),那么(風扇速度為中速)。在該規(guī)則中必須評估兩個前提"氣溫是暖和的"和"氣壓高",以確定結(jié)論"風扇速度為中速"的規(guī)則強度。規(guī)則評估步驟過程中,前提為真的程度影響規(guī)則為真的程度。將前提的最小值作為該規(guī)則結(jié)論的規(guī)則強度應用。另外,當對多于一個規(guī)則進行評估時,存在著將一個動作(action)賦予多于一個規(guī)則強度的可能性。這種情況下,應將具有較大值的規(guī)則強度賦予該動作。因此,該動作被賦予最大值的規(guī)則強度。
模糊邏輯處理中的最后一個步驟稱為"去模糊化"(defuzzification)。該步驟將規(guī)則評估步驟中所允許的結(jié)果轉(zhuǎn)化成單個動作。去模糊化是將所有模糊輸出組合成可施加到標準數(shù)據(jù)處理系統(tǒng)的復合結(jié)果的過程。有關模糊邏輯的其它信息可參考由James M.Sibigtroth提出并引入本文作為參考的題為"在硬件中采用的模糊專家規(guī)則"(lmplementing Fuzzy Expert Rules in Hardware)的文章。該文章發(fā)表在1992年4月出版的AL EXPERT的第25至31頁。
總之,這些規(guī)則由一系列跟著一個或多個動作(結(jié)論)的假定(前提)組成。每個前提對應一個模糊輸入,每個動作對應一個模糊輸出。在硬件中實施規(guī)則評估步驟要使用專用接線和電路使模糊輸入與模糊輸出相聯(lián)系。該方法通常需要專用存儲器并且不可改變。在軟件中實施規(guī)則估算步驟要使用指令程序評估這些規(guī)則。軟件方法通常比硬件方法慢并且需要大量的程序存儲器。在必須盡可能快地進行數(shù)據(jù)計算、傳送和操作的工業(yè)應用中,必須加快執(zhí)行時間。因此,對某些應用來說軟件并不是可行的解決方法。
因此,需要一種快速執(zhí)行規(guī)則評估步驟而不擴大硬件需求的電路或方法。需要通常與硬件解決方法相關的速度而不需要通常與該解決方法相關的專用電路區(qū)。
與本申請交叉引用作為參考的美國專利No.5,263,125描述了模糊規(guī)則基準的使用,該規(guī)則基準為允許這些規(guī)則具有任何數(shù)量輸入和輸出的可變格式。該可變格式規(guī)則基準包含描繪該規(guī)則的附加緩沖(overhead buffering)。反之,在固定格式規(guī)則基準中,每個規(guī)則具有相同預定數(shù)量的輸入和輸出,允許在無附加緩沖的情況下評估該規(guī)則。結(jié)果是,固定格式規(guī)則基準需要較少的規(guī)定存儲器和較少的執(zhí)行時間。固定的規(guī)則基格式準的缺點是每個規(guī)則必須符合預定結(jié)構(gòu)。因此,兩種規(guī)則基準格式各有利弊,在某些情況下對一種格式的需求可能超過另一種格式。
作為上述結(jié)果,需要一種在模糊邏輯系統(tǒng)中提供進行固定或可變規(guī)則基準選擇的電路和方法。
為了更完整地理解本發(fā)明及其優(yōu)點,下面參考附圖對本發(fā)明進行描述,其中

圖1以圖解形式說明一些一般概念和用于描述模糊邏輯的基本術(shù)語;圖2以方框圖形式說明根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng);圖3以方框圖形式說明圖2的執(zhí)行單元;圖4以邏輯電路形式說明圖3的寄存器交換邏輯電路;圖5以存儲變換形式說明可變格式中圖2的內(nèi)存儲器中所評估規(guī)則的數(shù)組;圖6以流程圖形式說明根據(jù)可變格式在REV指令執(zhí)行過程中所執(zhí)行函數(shù)的流程;圖7以存儲變換形式說明固定格式中圖2的內(nèi)存儲器中所評估規(guī)則的數(shù)組;圖8以流程圖形式說明根據(jù)這里描述的本發(fā)明在規(guī)則評估(REV)指令執(zhí)行過程中所執(zhí)行函數(shù)的流程。
在下面的描述中,規(guī)定了大量諸如專用字或字節(jié)長度等等之類的具體細節(jié),以便提供對本發(fā)明的徹底理解。然而,很顯然,本領域技術(shù)人員不需這些具體細節(jié)即可實施本發(fā)明。在其它例子中,已經(jīng)以方框圖形式示出已知的電路以避免在不必要的細節(jié)上與本發(fā)明混淆。由于與所需考慮的定時和類似情況有關的多半細節(jié)對完整理解本發(fā)明不是必要的,并且在相關領域中的普通技術(shù)人員的知識范圍內(nèi),因此已經(jīng)將這些細節(jié)省略。
現(xiàn)在參考附圖,其中無需按比例示出所描繪的元件,并用相同參考標號指示的類似或相同元件。
本發(fā)明提供在數(shù)據(jù)處理系統(tǒng)的模糊邏輯操作中以最少量的電路快速執(zhí)行規(guī)則評估步驟的電路和方法。將該規(guī)則評估步驟在數(shù)據(jù)處理系統(tǒng)中編碼成可被有效執(zhí)行而無需大量附加電路的單指令。因此,本發(fā)明提供可使數(shù)據(jù)處理系統(tǒng)用戶快速執(zhí)行規(guī)則評估步驟而無需冗長和耗時的軟件程序的指令。
用助記標記"REV"表示的本發(fā)明指令使數(shù)據(jù)處理系統(tǒng)執(zhí)行一系列涉及從存儲器恢復操作數(shù)以及使用這些操作數(shù)進行算術(shù)運算的步驟。如果在本發(fā)明的REV指令執(zhí)行前已經(jīng)將所欲評估的規(guī)則的前提的隸屬函數(shù)值和該規(guī)則的結(jié)論適當?shù)卮鎯υ诖鎯ζ髦校琑EV指令的執(zhí)行會導致正確的規(guī)則評估。通過假定這些前提和結(jié)論以特定格式存儲在存儲器中,以及通過有創(chuàng)見地使用可執(zhí)行該指令的現(xiàn)有硬件,可使本發(fā)明幾乎不用的附加硬件在一般應用的數(shù)據(jù)處理系統(tǒng)中有效地執(zhí)行模糊邏輯規(guī)則。例如,將在數(shù)據(jù)處理器中進行帶符號運算過程所使用的特征碼寄存器的溢出或V比特在本發(fā)明中用作與來自存儲器的操作數(shù)處理有關的標記。
在描述本發(fā)明實施的過程中,采用術(shù)語"肯定"和"否定"及其各種語法形式以避免在處理"有效高"和"有效低"邏輯信號混合時造成混淆。"肯定"用來表示將邏輯信號或寄存器比特譯成其有效,或邏輯真狀態(tài)。"否定"用來表示將邏輯信號或寄存器比特譯成其無效,或邏輯假狀態(tài)。另外,可通過在一個值前加上"$"符號表示其為十六進制值。
圖1提供了說明幾個基本術(shù)語及模糊邏輯概念的示意圖。圖1所描述的模糊邏輯系統(tǒng)中,"系統(tǒng)輸入"是華氏溫度。提供四個"隸屬函數(shù)"以給出溫度范圍標記。例如,將溫度從0度至35度標為"冷"。同樣,將溫度從25度至60度標為"涼"。應注意,每個隸屬組的邊界與相鄰組的邊界重疊。因此,溫度可以處在多于一個隸屬組中。例如,假設系統(tǒng)輸入表明為58度的溫度。參考圖1,應注意58度處在涼和暖兩個隸屬組的邊界內(nèi)。然而,可以獲得其在每個隸屬組中的隸屬程度。該系統(tǒng)輸入針對涼隸屬組的隸屬程度為十六進制值$33,而針對暖隸屬組的隸屬程度為十六進制值$CC。如果系統(tǒng)輸入表明為70度溫度,該溫度在暖隸屬組中的隸屬程度應為十六進制值$FF。同樣,70度的溫度在熱隸屬組中的隸屬程度為十六進制值$00。在圖1所描述的模糊邏輯系統(tǒng)中,隸屬程度的范圍可以是十六進制值$00至$FF,與從0.00至0.996的小數(shù)對應。本領域技術(shù)人員可以理解可用八比特的二進制字節(jié)表示兩位的十六進制值。
上述指令執(zhí)行和操作方法的一種實施是在改進型的MC68HC11微控制器中進行的。MC68HC11是包括16比特地址和存儲寄存器的8比特微控制器,可從設在得克薩斯Austin的Motorola公司得到。圖2更詳細說明了該執(zhí)行過程。圖2描繪了可執(zhí)行規(guī)則評估指令的數(shù)據(jù)處理系統(tǒng)10。數(shù)據(jù)處理系統(tǒng)10通常包括一個中央處理單元(CPU)12、一個振蕩器24、一個電源電路26、一個定時電路28、一個外部總線接口30、和一個內(nèi)存儲器32。CPU12通常包括一個執(zhí)行單元14、一個總線控制邏輯電路16、一個指令解碼邏輯電路18、一個控制單元20、和一個序列發(fā)生器22。
操作過程中,經(jīng)諸如晶體之類的外部信源向振蕩器24提供"Osc1"信號。該晶體連在Osc1和Osc2信號之間,以使該晶體振蕩。Osc1向數(shù)據(jù)處理系統(tǒng)10的其余部分提供"時鐘"信號。晶體振蕩器的操作在數(shù)據(jù)處理技術(shù)中是已知的并且對本領域普通技術(shù)人員是顯而易見的。
電源電路26從外部電源接收"Vdd"和"Vss"信號。Vdd信號提供正5V電壓,Vss信號提供參考或接地電壓。將Vdd和Vss信號提供給數(shù)據(jù)處理系統(tǒng)10的每個其余部分。這些信號的路由在數(shù)據(jù)處理技術(shù)中是已知的并且對本領域普通技術(shù)人員是顯而易見的。
定時電路28接收該時鐘信號并經(jīng)定時控制總線38依次向CPU12、外部總線接口30和內(nèi)存儲器32提供相應的定時信號。
將多個地址值從外部總線接口30提供給外部地址總線35。同樣,由外部總線接口30經(jīng)外部數(shù)據(jù)總線33傳遞多個數(shù)據(jù)值。外部總線接口30控制外部用戶和數(shù)據(jù)處理系統(tǒng)10之間地址和數(shù)據(jù)值的接收和發(fā)送。外部總線30分別經(jīng)內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34將多個地址和數(shù)據(jù)值傳遞到數(shù)據(jù)處理系統(tǒng)10的其余部分。
內(nèi)存儲器32用來存儲數(shù)據(jù)處理系統(tǒng)10正確操作所需的信息。另外,可將其它數(shù)據(jù)值存儲在其中,如果在經(jīng)內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34提供的用戶程序中規(guī)定了的話。
CPU12執(zhí)行數(shù)據(jù)處理系統(tǒng)10操作過中所需的每個指令。內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34在執(zhí)行單元14和數(shù)據(jù)處理系統(tǒng)10的其余部分之間傳遞信息??偩€控制邏輯電路16取出指令和操作數(shù)。然后由指令解碼邏輯電路18對每個指令解碼并提供給控制單元20和序列發(fā)生器22??刂茊卧?0和序列發(fā)生器22保持每個指令的執(zhí)行順序,以便最有效地利用數(shù)據(jù)處理系統(tǒng)10的計算容量。另外,控制單元20包括一個經(jīng)微-ROM(Micro-ROM)控制總線65向執(zhí)行單元14、總線控制邏輯電路16、和指令解碼邏輯電路18的每一個提供多個控制信息的微ROM存儲器(未示出)。該多個控制信息是正確執(zhí)行REV指令所必需的。
圖3更詳細地說明了執(zhí)行單元14。執(zhí)行單元14通常包括一個數(shù)據(jù)緩沖器40、一個第一選擇器42、一個第二選擇器44、一個寄存器交換邏輯電路46、一個特征碼邏輯電路47、一個A-輸入控制電路48、一個A-輸入多路復用器50、一個算術(shù)邏輯運算單元(ALU)52、一個B-輸入控制電路54、一個B-輸入多路復用器56、一個累加器58、一個特征碼寄存器60、和一個比較器72。除累加器58和特征碼寄存器60之外還可在執(zhí)行單元14中使用其它存儲寄存器。例如,也可包括變址寄存器或第二累加器。該存儲寄存器的實施和使用在該技術(shù)領域中是已知的并且對本領域普通技術(shù)人員是顯而易見的。
外部信息總線41向數(shù)據(jù)緩沖器40提供地址和數(shù)據(jù)信息。外部信息總線41分別從內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34接收地址和數(shù)據(jù)信息。數(shù)據(jù)緩沖器40將經(jīng)外部信息總線40傳送的值在選擇器42和44分別可允許傳送信息時經(jīng)信息總線A66和信息總線B64提供給執(zhí)行單元14的其余部分。雖然這里未詳細示出,信息總線A66和信息總線B64二者都是16比特寬并且分成高端(比特15至比特8)和低端(比特7至比特0)。另外,數(shù)據(jù)緩沖器40向比較器72提供地址信息。
累加器58的第一和第二輸入端分別雙向耦合到信息總線A66和信息總線B64。任何諸如累加器和變址寄存器之類的附加寄存器同樣耦合到信息總線A66和信息總線B64。
將多個控制信號經(jīng)微ROM控制總線65提供給A-輸入控制邏輯電路48和B-輸入控制邏輯電路54。微ROM控制總線65響應由控制單元20中的微-ROM存儲器(未示出)提供的信息提供該多個控制信號。
A-輸入控制邏輯電路48向A-輸入多路復用器50的控制輸入端提供"控制A"信號。信息總線A66連到A-輸入多路復用器50的數(shù)據(jù)輸入端。A-輸入多路復用器50向ALU52第一輸入端提供標為"A-輸入低端"的前10比特輸出,向ALU52第二輸入端提供標為"A-輸入高端"的第二10比特輸出。B-輸入控制邏輯電路54向B-輸入多路復用器56的控制輸入端提供"控制B"信號。信息總線B64連到B-輸入多路復用器56的數(shù)據(jù)輸入端。B-輸入多路復用器56向ALU52第三輸入端提供標為"B-輸入低端"的前10比特輸出,向ALU52第四輸入端提供標為"B-輸入高端"的第二10比特輸出。
ALU52處理每一個輸入以便提供經(jīng)結(jié)果總線120傳送的多個結(jié)果。結(jié)果總線120將由ALU52提供的結(jié)果提供給寄存器交換邏輯電路46和特征碼邏輯電路47。另外,結(jié)果總線120向信息總線B64提供該多個結(jié)果。
特征碼邏輯電路47還耦合到比較器72以便接收觸發(fā)信號。特征碼邏輯電路47還耦合到特征碼寄存器60以便提供"特征碼"信號。
特征碼寄存器60向寄存器交換邏輯電路46的第二控制輸入端提供VCCR信號。另外,將定時控制信號提供給寄存器交換邏輯電路46的第一控制輸入端。該定時控制信號是經(jīng)定時控制總線38提供的。寄存器交換邏輯電路46提供分別標為"選通A"和"選通B"的第一和第二輸出。選通A信號提供給選擇器42第一控制輸入端。信息總線A66雙向耦合到選擇器42。選擇器42的輸出耦合到數(shù)據(jù)緩沖器40以傳遞所選擇的多個信號。同樣,選通B信號提供給選擇器44的第一輸入端。信息總線B64雙向耦合到選擇器44。選擇器44的一個輸出耦合到數(shù)據(jù)緩沖器40以傳遞所選擇的多個信號的第二部分。
圖4更詳細地說明了寄存器交換邏輯電路46。通常,寄存器交換邏輯電路46包括一個"與"門62、一個"與"門70、和一個倒相器68。VCCR信號提供給“與”門62的第一輸入端及倒相器的一個輸入端。倒相器68的輸出提供給"與"門70的第一輸入端。定時控制信號提供給“與”門62和“與”門70的第二輸入端。結(jié)果總線120將來自ALU52標為"N"的信號提供給"與"門62和"與"門70的第三輸入端。"與"門62的輸出端提供選通A信號,"與"門70的輸出端提供選通B信號。
模糊邏輯操作的執(zhí)行過程中,數(shù)據(jù)處理系統(tǒng)10的用戶可使用帶有助記REV(Rule EValualion))的指令對模糊輸入執(zhí)行規(guī)則評估步驟。如前所述,模糊輸入是作為模糊化步驟的結(jié)果提供的,在該模糊化步驟中系統(tǒng)輸入信號被賦予對所定義的多個隸屬組中每一個的隸屬程度。在這里所述本發(fā)明的實施中,執(zhí)行REV指令前將賦予模糊輸入的每個隸屬程度存儲在數(shù)據(jù)處理系統(tǒng)10的內(nèi)存儲器32中的預定存儲位置。在由J.Greg Viot,James M.Sibigtroth,和James L. Broseghini提交的題為"模糊邏輯操作過程中在一個組中確定隸屬的電路和方法",序列號為07/899,975的相互參考未決專利申請中更詳細地揭示了為多個模糊輸入賦予各個隸屬程度。
這里所描述的實例中,假設在第一和第二系統(tǒng)輸入的模糊化過程中使用兩組隸屬組。兩組中的第一組設置被分成冷、涼、暖和熱隸屬組的溫度測量結(jié)果。模糊化時,涼隸屬組中第一系統(tǒng)輸入的隸屬程度用標為T涼的變量表示。同樣,冷、暖和熱隸屬組中第一系統(tǒng)輸入的隸屬程度分別用語言上對應的變量T冷、T暖和T熱之一表示。
兩組中的第二組設置被分成低、中、高隸屬組的氣壓測量結(jié)果。模糊化時,低、中、和高隸屬組中第二系統(tǒng)輸入的隸屬程度用語言上對應地標為P低、P中和P高的變量之一表示。系統(tǒng)輸入模糊化之后,各相應隸屬組中第一和第二系統(tǒng)輸入的隸屬程度存儲在存儲器中的預定位置。另外,必須評估規(guī)則以提供適當?shù)膭幼?。假設該實例中所評估的三個規(guī)則具有下列形式(1)規(guī)則1如果溫度為涼(T涼)并且氣壓為低(P低),則(動作1)和(動作2);(2)規(guī)則2如果溫度為暖(T暖)并且氣壓為中(P中),則(動作3);和(3)規(guī)則3如果氣壓為中(P中),則(動作3)。
應指出,每個規(guī)則所具有的形式是通常所應具有的形式(4)如果(模糊輸入1)和(模糊輸入2),則(動作X)和(動作Y)。
規(guī)則評估過程中,首先評估規(guī)則的"如果"部分以確定最小隸屬程度值。規(guī)則的"如果"部分包括模糊輸入1的值和模糊輸入2的值。確定規(guī)則強度的常用方法是確定所評估模糊輸入的最小隸屬程度。然而,也存在其它實施方法。例如,可將規(guī)則強度作為其每個前提的隸屬程度總和計算。同樣,可以任何計算形式乘或處理該隸屬程度以確定規(guī)則強度。
在該實施方法中,該規(guī)則強度僅與最弱的分量一樣強。最弱的隸屬程度值被用<p>3、回取規(guī)則(1)凡一碼被取筆形已占據(jù)單字右下角的,二碼返回上部,按第一碼、第二碼取碼規(guī)劃,依次復取留剩筆形。
如“匾”字,一碼取筆形“”,二碼應返回上部留剩的“戶”,三碼再取“冂”,則匾字的碼為PEO,如“颼”字,一碼取筆形“幾”,二碼應返回上部左起取筆形“X”,三碼再向左取上筆形“丨”,則按鍵碼表“颼”字代碼為OVY。再如“閣”字,一碼取筆形“門”,二碼應返回上部,復取留剩的“ク”,三碼再越過交叉的“”,取筆形“口”,則“閣”字代碼為ZXK。
(2)凡二碼被取筆形占據(jù)右下角的三碼返回上部再取留剩筆形若是左右結(jié)構(gòu)以右上為優(yōu)。
如“胃”字,一碼取筆形
,二碼越過
中的“十”,沿下取筆形“冂”,三碼返回上部再取留剩筆形“丨”,如“拒”,一碼取筆形“亅”,二碼向右取筆形“”,三碼應回取占據(jù)右下角結(jié)構(gòu)的留剩筆形“”。再如“郡”字,一碼取筆形“”,二碼取筆形“阝”,三碼因右部結(jié)構(gòu)無留剩筆形,故應回取左部最上留剩筆形“丿”。
4、重碼處理規(guī)則a.設一碼提示行每一代碼設10個以該代碼為首碼的高頻字編成1、2、3擊代碼鍵顯示屏提示行即顯示1、2、3……0共10個高頻字,再擊數(shù)字鍵,單字就會自動進入編輯位置,高頻字共有260個;例擊代碼健A則顯示屏顯示1法、2流、3洗、4游、5注、6洋、7波、8液、9潮、0滾、這樣擊相應數(shù)字鍵的隸屬程度為$CC。
同樣,將第二輸入模糊化以表示在低和高這兩個氣壓隸屬組中隸屬程度為$00。因此,P低和P高兩個變量的值為$00,表示第二輸入不包括在這兩個隸屬組的任何一個之中。然而,第二輸入在中度隸屬組中的隸屬程度為$FF,因此,P中變量的值為$FF如同模糊輸入,所評估的每個規(guī)則(規(guī)則1至規(guī)則3)也存儲在內(nèi)存儲器32的規(guī)則數(shù)組中。圖5中以可變格式說明了這樣一個規(guī)則數(shù)組。對于每個規(guī)則,提供模糊輸入和模糊輸出兩者的地址位置。以圖5的形式存儲模糊輸入和模糊輸出的地址并參考諸如前面數(shù)組1所示的數(shù)據(jù)值表。同模糊輸入一樣,與模糊輸出對應的數(shù)據(jù)值表也提供在一個數(shù)組中,這里未詳細示出。
規(guī)則數(shù)組的起始位于由數(shù)據(jù)處理系統(tǒng)10用戶規(guī)定的預定位置。在這里所描述以及圖5說明的實例中,該預定地置等于$E000并在執(zhí)行REV指令前存儲在變址寄存器中。規(guī)則1的第一模糊輸入的地址位于十六進制值地址$E000中,規(guī)則基準的始端。在該實例中,T涼是規(guī)則1的第一模糊輸入并且地址$1001存儲在規(guī)則數(shù)組的地址$E000。由于P低值是規(guī)則1的第二模糊輸入,地址$1004存儲在規(guī)則數(shù)組的地址$E002。
對應于可變格式的規(guī)則基準,為從模糊輸出中分離模糊輸入,將帶有$FFFE值的緩沖器存儲在規(guī)則數(shù)組的地址$E004中。此后,用帶有$FFFE值的緩沖器從規(guī)則2的模糊輸入中分離出規(guī)則1的模糊輸出。通過重復用帶有$FFFE值的緩沖器從任何數(shù)量的模糊輸出中分離出任何數(shù)量的模糊輸入的這種格式直到將多個規(guī)則的每個模糊輸入和輸出存儲在存儲器為止。此時,規(guī)定的緩沖值表明規(guī)則基準結(jié)束。在這里描述的實例中,由$FFFF值表示規(guī)則基準結(jié)束。雖然用相同的緩沖值從每個規(guī)則的模糊輸出分離模糊輸入,數(shù)據(jù)處理系統(tǒng)10的設計者可使用任何數(shù)量的緩沖器。
通過按該順序排列每個規(guī)則的模糊輸入和輸出,可利用作為每個模糊輸入和輸出部分之間分隔標志的緩沖器地址依次評估每個規(guī)則。因此,該規(guī)則不必遵循帶有規(guī)定數(shù)量模糊輸入和模糊輸出(動作)的固定格式。這樣可更靈活地針對模糊系統(tǒng)提供規(guī)則。如在規(guī)則1、規(guī)則2、和規(guī)則3[(1)、(2)和(3)]中所看到的,模糊輸入和相應動作的數(shù)量在本發(fā)明的實施中可在規(guī)則與規(guī)則間變化。
反之,接下來參考圖7,該圖說明兩個輸入和一個輸出這種固定格式中的存儲規(guī)則數(shù)組。請注意,可通過任何預定數(shù)量的模糊輸入和模糊輸出地址指針實施固定格式。這種情況下,通過以與圖5說明的可變格式規(guī)則數(shù)組同樣實施的以結(jié)束標記706結(jié)束的固定格式規(guī)則基準實現(xiàn)兩個輸入701和702,然后是一個輸出703,其次是兩個輸入704和705等。支持一個特定的固定格式規(guī)則基準除提供執(zhí)行和存儲效率外具有下列優(yōu)點。第一,可用固定格式表示所有規(guī)則基準。第二,固定格式規(guī)則基準的控制表面可視,例如,通過三維圖表兩輸入、和一輸出規(guī)則基準是可視的。第三,可將復雜系統(tǒng)分解成兩輸入、一輸出的子系統(tǒng)以避免規(guī)則矩陣的組合激增。
為了向程序員、用戶、或系統(tǒng)提供固定或可變格式規(guī)則基準之間的選擇余地,根據(jù)圖3說明的特征碼寄存器60內(nèi)實施的特征碼比特(Z比特)的狀態(tài)引入并采用一個轉(zhuǎn)換機構(gòu)作為微碼分支(microcode branch)。在本發(fā)明的一個實施例中,由于規(guī)則評估指令執(zhí)行過程中不需將Z比特用于其常用目的,Z比特(Z(零)特征碼比特)被用來發(fā)微碼信號以使用固定或可變格式的規(guī)則基準。
接下來參考圖8,該圖是描述轉(zhuǎn)換機構(gòu)和固定格式規(guī)則基準實施的流程圖。該過程在步驟801開始,對REV指令解碼。接下來,在步驟802,確定是否已經(jīng)做出采用可變格式規(guī)則基準或固定格式規(guī)則基準的預定。該過程是通過確定Z比特(ZCCR)是否等于0或1的微碼分支指令進行的。該Z比特可位于特征寄存器60中。
如果Z比特等于0,該程序則進展到步驟803,根據(jù)圖6所示流程圖利用可變格式規(guī)則基準處理模糊邏輯操作。
如果Z比特等于1,程序則進展到步驟804-810(將在下文詳述)以通過諸如圖7所說明的固定格式規(guī)則基準實施模糊邏輯操作。步驟804-810說明作為兩輸入一輸出結(jié)構(gòu)的固定格式。然而,如上面所指出的,可對固定格式編程以具有任何預定數(shù)量的模糊輸入和模糊輸出。
步驟804-810的操作除不需評估是否已經(jīng)遇到各種$FFFE緩沖器外與圖6中說明的那些步驟相同。
為開始執(zhí)行REV指令,將規(guī)則的每個模糊輸入和輸出以具有圖5和7所說明的預定格式之一的規(guī)則數(shù)組存儲在存儲器中。另外,規(guī)則數(shù)組的起始地址存儲在執(zhí)行單元14的變址寄存器中,并且每個模糊輸出被賦予一個十六進制值$00。最后,為準備處理可變格式規(guī)則基準,通過強制ZCCR=0(可變格式規(guī)則基準)和VCCR=0(圖6中步驟606和613正確操作所需的先決條件),使累加器58初始化成$FF。另一方面,為準備處理固定格式規(guī)則基準,通過強制ZCCR=1(固定格式基準),使累加器58初始化成$00。然后根據(jù)圖6和8說明的規(guī)則基準之一執(zhí)行REV指令。這些流程圖將提供可變或固定格式規(guī)則基準的REV指令執(zhí)行期間所執(zhí)行的每個函數(shù)的簡要概述。下面更詳細地說明REV指令執(zhí)行實例過程中的每個函數(shù)。
如圖8所示,REV指令執(zhí)行的第一步是在對REV指令解碼時進行的。
如果該程序進展到步驟803,則遵循圖6中的程序(步驟601)。用變址寄存器中所存儲的此處稱之為"X"的地址取出第一規(guī)則操作數(shù)(步驟602)。然后將地址X增加到下一個地址位置(X+2)點(步驟603)。
測試第一規(guī)則操作數(shù)的值以確定該值是否等于十六進制值$FFFE(步驟604)。如果該值等于十六進制值$FFFE,則觸發(fā)VCCR信號以指示緩沖值被恢復(步驟605),如果VCCR信號觸發(fā)后等于零(步驟606),則評估規(guī)則的第一模糊輸入并且應將累加器58初始化為十六進制值$FF(步驟607)。否則,不改變累加器58的值。
如果第一規(guī)則操作數(shù)的值不等于$FFFE(步驟604),則測試該值以確定其是否等于十六進制值$FFFF(步驟608)。如果該值等于十六進制值$FFFF,則已經(jīng)訪問規(guī)則數(shù)組結(jié)尾并終止REV指令(步驟609)。
然而,如果第一規(guī)則操作數(shù)的值不等于$FFFF,則用第一規(guī)則操作數(shù)的值從內(nèi)存儲器32(步驟610)訪問模糊輸入或模糊輸出值。然后從該模糊輸入或輸出值減去累加器58的內(nèi)容以提供有符號結(jié)果(步驟611)。用N信號的值表示結(jié)果的符號。
如果N信號等于零(步驟612),則不應交換累加器58和數(shù)據(jù)劃沖器40的內(nèi)容并且變址寄存器中存儲的地址訪問下一個規(guī)則操作數(shù)(步驟602)。然而,如果N信號等于1,則測試VCCR信號(步驟613)。
如果VCCR信號等于0,應由第一規(guī)則操作數(shù)訪問的模糊輸入值的值替換累加器58的內(nèi)容(步驟615)。(步驟614用來表示指示模糊輸出評估的VCCR被肯定時的處理部分,如下面更詳細描述的)。因此,用最小函數(shù)確定將賦予到當前所評估規(guī)則的模糊輸出的規(guī)則強度。接下來,用變址寄存器中存儲的地址訪問下一個操作數(shù)(步驟602)。
圖6說明的流程提供了采用可變格式規(guī)則基準時數(shù)據(jù)處理系統(tǒng)10中REV指令執(zhí)行的概述。如上面所指出以及下面更詳細描述的,根據(jù)圖8所說明的流程圖的固定格式規(guī)則基準的實施與可變格式規(guī)則基準的實施相似,其主要區(qū)別之一是所采用的緩沖器不需將模糊輸入和輸出分離。
現(xiàn)在更詳細地給出本發(fā)明的實例。
REV指令的基本操作如下從存儲器恢復每個前提值并確定最小前提值,然后恢復每個結(jié)論值并與該規(guī)則強度值比較,當且僅當預存結(jié)論值小于該規(guī)則強度值時以該規(guī)則強度值在存儲器中替換。
如前面所描述的,執(zhí)行REV指令之前由數(shù)據(jù)處理系統(tǒng)10的用戶將該多個模糊輸入存儲到內(nèi)存儲器32中的第一預定存儲位置。無論采用固定格式或可變格式的規(guī)則基準其都是正確的。按照數(shù)組1存儲該多個模糊輸入。另外,以圖5和7中所說明的形式之一還將用于評估該多個模糊輸入的每個規(guī)則存儲在內(nèi)存儲器32中的第二預定存儲位置。雖然這里未詳細示出,與模糊輸出對應的每個規(guī)則強度值也以與數(shù)組1相似的數(shù)組存儲在內(nèi)存儲器32中的起始地址$2000。REV指令執(zhí)行前數(shù)據(jù)處理系統(tǒng)10的用戶將十六進制值$00賦予所有模糊輸出的值。另外,REV指令執(zhí)行前數(shù)據(jù)處理系統(tǒng)10的用戶將累加器58初始化成針對可變規(guī)則基準的十六進制值$FF或針對固定規(guī)則基準的$00。如前所述,當累加器58初始化成表示可變格式規(guī)則基準的$FF時,否定VCCR信號并否定ZCCR信號。當采用固定規(guī)則基準時,將累加器58初始化成肯定ZCCR信號的$00(VCCR的值"不關心"固定規(guī)則基準)。
操作期間,用戶可通過外部或內(nèi)存儲器32中存儲的軟件程序向數(shù)據(jù)處理系統(tǒng)10提供REV指令。如果由外部信源向數(shù)據(jù)處理系統(tǒng)10提供REV指令,則應經(jīng)外部數(shù)據(jù)總線33向外部總線接口30輸入REV指令。此后,外部總線接口30經(jīng)內(nèi)部數(shù)據(jù)總線34依次向CPU12提供REV指令。如果由內(nèi)存儲器32中的軟件程序提供REV指令,則經(jīng)內(nèi)部數(shù)據(jù)總線34向CPU12提供REV指令。在CPU12中,執(zhí)行單元14響應從總線控制邏輯電路16、控制單元20、和序列發(fā)生器22中的每一個接收的控制信號向指令解碼邏輯電路18提供REV指令。另外,CPU12的每個部件經(jīng)定時控制總線38接收定時控制信號。該定時控制信號的路由選擇和使用在數(shù)據(jù)處理領域是已知的,這里不再詳細討論。
指令解碼邏輯電路18對REV指令解碼以便提供正確執(zhí)行REV指令所需的多個控制和信息信號。根據(jù)REV指定的接收和解碼,執(zhí)行單元14起動評估內(nèi)存儲器32中存儲的多個模糊輸入所需的步驟。圖2中CPU12的控制單元20和序列發(fā)生器22共同提供一系列序列控制信號,該序列控制信號是將指針從內(nèi)存儲器32向執(zhí)行單元14轉(zhuǎn)移到模糊輸入和模糊輸出二者的地址所必需的。
為開始執(zhí)行REV指令,執(zhí)行單元14中的變址寄存器(未示出)向規(guī)則基準的始端提供一個指針。變址寄存器和其在數(shù)據(jù)處理系統(tǒng)中的使用在數(shù)據(jù)處理領域中是已知的,因此這里不再詳細說明。該指針指向內(nèi)存儲器32中規(guī)則基準的起始地址,該地址存儲有涼溫度隸屬組中第一輸入的隸屬程度。該地址表示存儲規(guī)則1的第一模糊輸入值的地址。相對于圖5和7所描述的實例,十六進制地址$1001或第一輸入指針存儲在內(nèi)存儲器32的地址$E000處。
在圖6所述可變格式規(guī)則基準的情形下,當從該規(guī)則數(shù)組訪問規(guī)則1的第一模糊輸入值的地址時,將該地址經(jīng)外部信息總線41提供給數(shù)據(jù)緩沖器40。此后數(shù)據(jù)緩沖器40將該地址值提供給比較器72,在此將該地址值與十六進制值$FFFE比較。如果該地址值等于$FFFE,則指向該緩沖器地址并應觸發(fā)VCCR比特。通常,用該VCCR比特表示帶符號算術(shù)計算中的溢出錯誤。然而,在本發(fā)明的該實施例中,設定特征碼寄存器中的溢出比特(VCCR)表示所訪問的地址是否對應于模糊輸入地址、緩沖器地址、或模糊輸出地址之一。當訪問與第一規(guī)則的模糊輸入對應的地址時,該\VCCR比特保持否定。如果所訪問的地址是一個緩沖器值,則觸發(fā)VCCR比特。這里所描述的實例中,該緩沖器值等于十六進制值$FFFE。另外,當訪問模糊輸出的地址時該VCCR比特保持肯定。
當該地址值等于$FFFE時,比較器72肯定該觸發(fā)信號。特征碼邏輯電路47接收該觸發(fā)信號并隨后將所肯定的特征碼信號提供給特征碼寄存器60。而特征碼寄存器60因此要么肯定要么否定VCCR信號。
這里所描述的實例中,從規(guī)則數(shù)組中規(guī)則1第一模糊輸入值的地址,即地址$E000訪問地址值$1001。由于$1001不等于$FFFE,比較器72不肯定該觸發(fā)信號。因此,由特征碼邏輯電路47提供的特征碼信號不能使特征碼寄存器60觸發(fā)VCCR信號。
在下一個步驟中(步驟608),比較器72將規(guī)則1第一模糊輸入的地址值與十六進制值$FFFF比較。如果該地址值等于$FFFF,則指向規(guī)則數(shù)組地址的結(jié)尾并終止執(zhí)行REV指令(步驟609)。
這里,下面的討論與根據(jù)圖5和6的可變格式規(guī)則基準的實施有關。討論完帶有可變格式規(guī)則基準的模糊邏輯系統(tǒng)的實施后,將討論根據(jù)圖7和8說明的固定格式規(guī)則基準的實施。
當從內(nèi)存儲器32訪問地址$1001時,提供涼溫度隸屬組中第一系統(tǒng)輸入的隸屬程度。如數(shù)組1所示,該隸屬程度等于十六進制值$33。內(nèi)存儲器32將該信息經(jīng)內(nèi)部數(shù)據(jù)總線34提供給執(zhí)行單元14的數(shù)據(jù)緩沖器40。外部信息總線41提供經(jīng)內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34傳送的信息。
為了后續(xù)處理而將第一模糊輸入($33)存儲在數(shù)據(jù)緩沖器40中。為確定規(guī)則1前提的最小隸屬程度,從第一模糊輸入($33)減去累加器58($FF)的當前內(nèi)容。為執(zhí)行該功能,將累加器58的內(nèi)容提供給信息總線A66并將數(shù)據(jù)緩沖器40的內(nèi)容提供給信息總線B64。另外,將多個控制和定時信號經(jīng)微ROM控制總線65提供給執(zhí)行單元14。該多個控制和定時信號是作為由圖2的指令解碼邏輯電路18解碼REV指令的結(jié)果提供的。
在執(zhí)行單元14中,在根據(jù)經(jīng)微ROM控制總線65傳送的定時信號所確定的時刻將第一模糊輸入提供給A-輸入多路復用器50并將累加器58的內(nèi)容提供給B-輸入多路復用器56。B-輸入控制電路54將"控制B"信號提供給B-輸入多路復用器56的控制操作。該實例中,控制B信號允許B-輸入多路復用器46傳遞一個未改變的第一模糊輸入值到ALU52。同樣,A-輸入控制電路54將"控制A"信號提供給A-輸入多路復用器50??刂艫信號允許A-輸入多路復用器50否定累加器58的內(nèi)容,以便在ALU52中從第一模糊輸入減去該內(nèi)容。
根據(jù)第一模糊輸入值和所否定的累加器內(nèi)容值的接收,ALU52從第一模糊輸入($33)減去累加器58($FF)的內(nèi)容以便提供一個結(jié)果。該結(jié)果為負數(shù)($33-$FF=-$CC)并肯定N信號。經(jīng)結(jié)果總線120傳送所肯定的N信號。如果該結(jié)果已經(jīng)為正,則不應設定N標記并應經(jīng)結(jié)果總線120提供所否定的N信號。不需要減法運算的數(shù)值結(jié)果并因此在其后的算術(shù)運算過程中寫入。
寄存器交換邏輯電路46允許用戶確定一個規(guī)則每個模糊輸入中的最小隸屬程度并在其后使用該最小隸屬程度作為由該規(guī)則規(guī)定的每個動作的規(guī)則強度。操作期間,寄存器交換邏輯電路46依據(jù)VCCR和N信號值可以或不可以轉(zhuǎn)換累加器58和數(shù)據(jù)緩沖器40的內(nèi)容。
寄存器交換邏輯電路46接收VCCR信號、N信號和定時控制信號以控制累加器58和數(shù)據(jù)緩沖器40的內(nèi)容。如前所述,當將模糊輸入值從內(nèi)存儲器32提供給執(zhí)行單元14時,VCCR信號保持否定。另外,ALU52提供該N信號以指示從數(shù)據(jù)緩沖器40的內(nèi)容減去累加器58的內(nèi)容的結(jié)果是正或負。如果累加器58的內(nèi)容大于存儲在數(shù)據(jù)緩沖器40中的第一模糊輸入,則N信號為肯定以表示一個負結(jié)果。反之,如果第一模糊輸入小于累加器58的內(nèi)容,該N信號保持否定以表示一個正結(jié)果。在由定時電路28確定的適當時間,肯定該定時控制信號以使寄存器交換邏輯電路46將累加器58的內(nèi)容傳送到數(shù)據(jù)緩沖器40,將數(shù)據(jù)緩沖器40的內(nèi)容傳送到累加器58,或使累加器58和數(shù)據(jù)緩沖器40二者的內(nèi)容相同。
在評估規(guī)則1的"如果"部分的過程中,當從第一模糊輸入減去累加器58的內(nèi)容時,產(chǎn)生負結(jié)果($33-$FF=-$$CC)。因此,N信號保持肯定。另外,VCCR信號為否定以指示模糊輸入正在從內(nèi)存儲器32恢復的。當定時控制信號為肯定時,"與"電路62的輸出等于零并且選通A不被肯定。然而,倒相器68的輸出為肯定并且"與"電路70能夠肯定選通B信號。當選通B信號為肯定時,選擇器44可從數(shù)據(jù)緩沖器40向累加器58傳送數(shù)據(jù)。此刻,最小隸屬程度為$33并存儲在累加器58中。
同樣,將規(guī)則1的第二模糊輸入提供給數(shù)據(jù)緩沖器40。第二模糊輸入是第二系統(tǒng)輸入在低氣壓P低隸屬組中具有的隸屬程度。在該實例中,該隸屬程度為十六進制值$00。另外。內(nèi)存儲器32經(jīng)外部信息總線41向執(zhí)行單元14的數(shù)據(jù)緩沖器40提供第二模糊輸入的隸屬程度。
為確定最小隸屬程度,從第二模糊輸入減去第一模糊輸入。在執(zhí)行單元14中,在根據(jù)經(jīng)微ROM控制總線65傳送的定時信號確定的時刻將第一模糊輸入提供給A輸入多路復用器50并將第二模糊輸入提供給B輸入多路復用器56。B-輸入控制電路54將"控制B"信號提供給B-輸入多路復用器56的控制操作。在該實例中,控制B信號允許B-輸入多路復用器46將未改變的第二模糊值傳遞到ALU52。同樣,A-輸入控制電路54將"控制A"信號提供給A-輸入多路復用器50。控制A信號允許A-輸入多路復用器50否定第一模糊輸入,以便在ALU52中從第二模糊輸入減去該內(nèi)容。
根據(jù)第二模糊輸入值和所否定的第一模糊輸入值的接收,ALU52從第二模糊輸入值減去第一模糊輸值以便再提供一個負結(jié)果。因此,肯定N信號。另外,VCCR信號為否定以表示該模糊輸入是從內(nèi)存儲器32恢復的。
當定時控制信號為肯定時,"與"電路62的輸出等于零并且選通A信號不肯定。在該第一實例中,"與"電路70肯定選通B信號。當選通B信號為肯定時,選擇器44可從數(shù)據(jù)緩沖器40向累加器58傳送數(shù)據(jù)。因此,此刻的最小隸屬程度為$00并存儲在累加器58中。
在規(guī)則1的模糊輸入的存儲位置結(jié)尾,由比較器72識別緩沖器地址。比較器72向特征碼邏輯電路47提供肯定的觸發(fā)信號。然后特征碼邏輯電路47向特征碼寄存器提供特征碼信號以觸發(fā)特征碼寄存器60中的V比特以便提供一個肯定的VCCR信號。如前所述,該VCCR信號為肯定以表示規(guī)則1模糊輸出的地址是從內(nèi)存儲器32恢復的下一個地址。這里所描述的實例中,當從內(nèi)存儲器32恢復規(guī)則1模糊輸出的地址時,在執(zhí)行REV指令"則"部分的過程中肯定該VCCR信號。
當選擇多個模糊輸出之一時,進行最大操作。因此,對于REV指令的"則"部分,將最大規(guī)則強度賦予每個模糊輸出。如前所述,應將最大規(guī)則強度賦予每個模糊輸出。因此,將存儲在累加器58中作為REV指令"如果"部分執(zhí)行結(jié)果的最小隸屬程度值與當前存儲在內(nèi)存儲器32中模糊輸出地址的規(guī)則強度值比較。在REV指令"則"部分的執(zhí)行過程中當前規(guī)則強度值駐存在累加器58中。最大規(guī)則強度值總是存儲在內(nèi)存儲器32中。如前面的討論的,在比較每個模糊輸入的隸屬程度以確定最小值的REV指令的第一部分計算最小隸屬程度值。
該模糊輸入的最小值保持在累加器58中。然后從規(guī)則數(shù)組提供到當前所評估規(guī)則的模糊輸出的地址指針。執(zhí)行單元14中的變址寄存器(未示出)增加該指針指向第一模糊輸出的地址。該實例中,指針增加到地址$E006。在地址$E006,提供第一模糊輸出地址,即十六進制值地址$2000。由于數(shù)據(jù)處理系統(tǒng)10用戶在REV指令執(zhí)行前將一個十六進制值$00賦予模糊輸出數(shù)組存儲的所有數(shù)據(jù)值,當訪問地址$2000時內(nèi)存儲器32提供十六進制值$00。然后經(jīng)外部信息總線41將模糊輸出值($00)提供給存儲用于后續(xù)操作的模糊輸出值的數(shù)據(jù)緩沖器40。
為確定最小規(guī)則強度值從數(shù)據(jù)緩沖器40的內(nèi)容減去累加器58的內(nèi)容以確定哪個值更大。換句話說,從當前存儲在規(guī)則1第一模糊輸出地址位置中的規(guī)則強度值減去規(guī)則評估步驟"如果"部分的過程中所計算的最小隸屬程度值。為執(zhí)行該功能,將累加器58的內(nèi)容提供給信息總線A66并將數(shù)據(jù)緩沖器40的內(nèi)容提供給信息總線B64。另外,將多個控制和定時信號經(jīng)微ROM控制總線65提供給執(zhí)行單元14。該多個控制和定時信號是作為由圖2的指令解碼邏輯電路18解碼該REV指令的結(jié)果提供的。
在執(zhí)行單元14中,在根據(jù)經(jīng)微ROM控制總線65傳送的定時信號確定的時刻將累加器58中存儲的最小隸屬程度值提供給A-輸入多路復用器50并將數(shù)據(jù)緩沖器40中存儲的當前模糊輸出值提供給B-輸入多路復用器56。B-輸入控制電路54向B-輸入多路復用器56的控制操作提供控制B信號。在該實例中,控制B信號允許B-輸入多路復用器從內(nèi)存儲器32向ALU52傳遞未改變的模糊輸出值。同樣,A-輸入控制電路48向A-輸入多路復用器40提供控制A信號。該控制A信號使A-輸入多路復用器50針對ALU52中的后續(xù)減法運算否定累加器58的內(nèi)容。
根據(jù)A-輸入多路復用器50和B輸入多路復用器56二者接收的這些值,ALU52從與規(guī)則1第一模糊輸出對應的預定存儲位置存儲的該模糊輸出值減去累加器58中存儲的最小隸屬程度值。這里所描述的實例中,累加器58中存儲的值為十六進制值$00。由于規(guī)則1的每個模糊輸出被賦予一個十六進制值$00,由ALU52提供的結(jié)果為$00。由于該答案不是負數(shù),N信號保持否定并在此后提供給寄存器交換邏輯電路46。
如前面所討論的,特征碼寄存器60將VCCR信號提供給寄存器交換邏輯電路46。另外,由外部信源,即定時電路28將定時控制信號提供給寄存器交換邏輯電路46。根據(jù)VCCR、N、和定時控制信號的每一個的接收,寄存器交換邏輯電路46對選通A和選通B信號全部否定。因此,選擇器42和44都不能選通并且不能在數(shù)據(jù)緩沖器40和累加器58之間傳送數(shù)據(jù)。因此,不改變內(nèi)存儲器32中第一模糊輸出的規(guī)則強度并繼續(xù)為十六進制值$00。
同樣,確定規(guī)則1第二模糊輸出的規(guī)則強度過程中,累加器58中存儲的值和從內(nèi)存儲器32恢復的規(guī)則強度值二者都是十六進制值$00。因此,ALU52再次否定N信號并且此后寄存器交換邏輯電路46否定選通A和選通B信號。因此,對規(guī)則1進行評估之后,每個所規(guī)定的模糊輸出,即動作1和動作2的規(guī)則強度為十六進制值$00。
另外,在規(guī)則1的模糊輸出存儲地址的結(jié)尾,由比較器72識別緩沖器地址。比較器72向特征碼邏輯電路47提供肯定的觸發(fā)信號。特征碼邏輯電路47向特征碼寄存器提供特征碼信號以觸發(fā)特征碼寄存器60中的V比特以便提供一個否定的VCCR信號。如前所說明的,該VCCR信號為否定以表示規(guī)則2的模糊輸入的地址是從內(nèi)存儲器32恢復的下一個地址。這里所描述的實例中,當從內(nèi)存儲器32恢復規(guī)則2模糊輸入的地址時,在REV指令"如果"部分的執(zhí)行過程中否定該VCCR信號。當否定該VCCR信號時,再次將累加器58的內(nèi)容初始化成$FF值。
繼續(xù)執(zhí)行REV指令需要評估規(guī)則2。如前面所說明的,控制單元20從內(nèi)存儲器32向執(zhí)行單元14提供傳送規(guī)則2每個模糊輸入所需的一系列后續(xù)控制信號。規(guī)則2的評估過程中,內(nèi)存儲器32提供其中存儲暖溫度隸屬組中第一系統(tǒng)輸入隸屬程度的第一地址。這里描述的實例中,該地址指向內(nèi)存儲器32中的十六進制地址$1002。當從內(nèi)存儲器32訪問地址$1002時,將為十六進制值$CC的隸屬程度經(jīng)內(nèi)部數(shù)據(jù)總線34提供給數(shù)據(jù)緩沖器40。
正如規(guī)則1評估過程中,將規(guī)則2的第一模糊輸入與累加器58的初始內(nèi)容比較。當識別第二緩沖器地址時再次將累加器58初始化成十六進制值$FF。因此,根據(jù)前面所述方法檢測最小值并將$CC存儲在累加器58中。
同樣,將規(guī)則2的第二模糊輸入提供給數(shù)據(jù)緩沖器40。該第二模糊輸入是第二系統(tǒng)輸入在中氣壓隸屬組中具有的隸屬程度。該實例中,該隸屬程度為十六進制值$FF。
為確定最小隸屬程度,ALU52從第二模糊輸入減去第一模糊輸入以提供正$33的結(jié)果。由于該結(jié)果為正,清除N標記并經(jīng)結(jié)果總線120提供否定的N信號。
此后,寄存器交換邏輯電路46接收VCCR信號、N信號和定時控制信號,以便控制累加器58和數(shù)據(jù)緩沖器40內(nèi)容的交換。寄存器交換邏輯電路46否定選通A和選通B信號。保持累加器58中存儲的最小隸屬程度為十六進制值$CC。
在規(guī)則2模糊輸入的存儲地址結(jié)尾,由比較器72識別緩沖器地址。比較器72向特征碼邏輯電路47提供肯定的觸發(fā)信號。特征碼邏輯電路47向特征碼寄存器提供該特征碼信號以觸發(fā)特征碼寄存器60中的V比特以便提供一個肯定的VCCR信號。如前所述,該VCCR信號為否定表示規(guī)則2模糊輸出的地址是從內(nèi)存儲器32恢復的下一個地址。
規(guī)則2模糊輸入的最小值保持在累加器58中。然后從該規(guī)則數(shù)組提供當前正在評估的規(guī)則的模糊輸出。執(zhí)行單元14中的變址寄存器增加該指針指向第一模糊輸出的地址。該實例中,指針增加到地址$E012。在地址$E012,提供第一模糊輸出的地址,即十六進制地址$2002。由于數(shù)據(jù)處理系統(tǒng)10用戶在REV指令執(zhí)行前將十六進制值$00賦予模糊輸出數(shù)組中存儲的所有數(shù)據(jù)值,當訪問地址$2002時內(nèi)存儲器32提供十六進制值$00。然后經(jīng)外部信息總線41向存儲用于后續(xù)操作的模糊輸出值的數(shù)據(jù)緩沖器40提供模糊輸出值($00)。
然后ALU52從數(shù)據(jù)緩沖器40中存儲的十六進制值$00減去累加器58中存儲的十六進制值$CC。其結(jié)果是負$CC值并肯定N信號。當將N、VCCR、和定時信號分別提供給寄存器交換邏輯電路46時,寄存器交換邏輯電路46肯定選通A信號并否定選通B信號。
當肯定選通A信號時,選擇器42將累加器58的內(nèi)容傳送到數(shù)據(jù)緩沖器40。數(shù)據(jù)緩沖器40臨時存儲由累加器58提供的前一個最小隸屬程度值($CC)作為最大規(guī)則強度值。另外,數(shù)據(jù)緩沖器40將該最大規(guī)則強度值傳送到規(guī)則2第一模糊輸出的地址位置($2002)。因此,在REV指令執(zhí)行過程中$CC值是內(nèi)存儲器32中地址$2002處動作3的當前規(guī)則強度值。
另外,在規(guī)則2模糊輸出的存儲位置結(jié)尾,由比較器72識別緩沖器地址。比較器72向特征碼邏輯電路47提供肯定的觸發(fā)信號。特征碼邏輯電路47向特征碼寄存器提供該特征碼信號以觸發(fā)特征碼寄存器60中的V比特以便提供一個否定的VCCR信號。如前所述,該VCCR信號為否定表示規(guī)則3模糊輸入的地址是從內(nèi)存儲器32恢復的下一個地址。這里所描述的實例中,當從內(nèi)存儲器32恢復規(guī)則3模糊輸入的地址時,REV指令"如果"部分的執(zhí)行過程中否定該VCCR信號。當否定該VCCR信號時,再次將累加器58的內(nèi)容初始化成$FF值。
繼續(xù)執(zhí)行REV指令開始評估規(guī)則3。如前所述,CPU12的控制單元20從內(nèi)存儲器32向執(zhí)行單元14提供傳送規(guī)則3每個模糊輸入所需的一系列后續(xù)控制信號。規(guī)則3的評估過程中,內(nèi)存儲器32提供其中存儲中氣壓隸屬組中第二系統(tǒng)輸入隸屬程度的第一地址。這里描述的實例中,該地址指向內(nèi)存儲器32中的十六進制地址$1005。當從內(nèi)存儲器32訪問地址$1005時,將為十六進制值$FF的隸屬程度經(jīng)內(nèi)部數(shù)據(jù)總線34提供給數(shù)據(jù)緩沖器40。
如前所述,當VCCR信號為否定時將累加器58的內(nèi)容初始化成$FF。當由ALU52從累加器58的內(nèi)容減去數(shù)據(jù)緩沖器40中存儲的隸屬程度時,產(chǎn)生的結(jié)果為零。由于該結(jié)果不是負數(shù),不肯定N信號。因此,寄存器交換邏輯電路56不肯定選通A或選通B信號并且不在數(shù)據(jù)緩沖器40和累加器58之間傳送信息。
在規(guī)則3模糊輸入的存儲位置結(jié)尾,由比較器72識別緩沖器地址。比較器72向特征碼邏輯電路47提供肯定的觸發(fā)信號。特征碼邏輯電路47向特征碼寄存器60提供該特征碼信號以觸發(fā)特征碼寄存器60中的V比特以便提供一個肯定的VCCR信號。如前所述,該VCCR信號為肯定表示規(guī)則3模糊輸出的地址是從內(nèi)存儲器32恢復的下一個地址。
此后,從內(nèi)存儲器32訪問規(guī)則3的模糊輸出地址并將十六進制值$CC提供給數(shù)據(jù)緩沖器40。十六進制值$CC是作為規(guī)則2評估結(jié)果提供的,其中向模糊輸出,即動作3賦予十六進制$CC的規(guī)則強度值。因此,十六進制值$CC提供給數(shù)據(jù)緩沖器40。
ALU52從數(shù)據(jù)緩沖器40中存儲的十六進制值$CC減去累加器58中存儲的十六進制值$FF,其結(jié)果為負值$-33。當該結(jié)果提供給寄存器交換邏輯電路46時,寄存器交換邏輯電路46肯定選通A。因此,選擇器42可從累加器58向數(shù)據(jù)緩沖器40傳送數(shù)據(jù)。數(shù)據(jù)緩沖器40向規(guī)則3模糊輸出,即動作3輸出的地址位置傳送最小隸屬程度值。因此,十六進制值$FF是REV指令執(zhí)行過程中此時動作3的當前規(guī)則強度值。
評估規(guī)則3后,由比較器72檢測指示所評估規(guī)則數(shù)組結(jié)尾的規(guī)定緩沖器地址并終止該REV指令。此時,已對規(guī)則1、2和3的每一個進行評估并且已將規(guī)則強度值賦予了每個對應的模糊輸出。這里所描述的實例中,已經(jīng)分別賦予動作1和2的規(guī)則強度值是十六進制值$00。另外,賦予動作3的規(guī)則強度值是十六進制值$FF。然后將每個動作作為模糊輸出提供給所使用的去模糊化程序以確定數(shù)據(jù)處理系統(tǒng)10的適當動作。例如,可將動作3去模糊化以打開閥門或開通電扇。另外,可將動作1至3的規(guī)則強度去模糊化以確定電扇開通或閥門打開的程度。去模糊化操作在數(shù)據(jù)處理領域是已知的,因此這里不再詳細說明。
因此,數(shù)據(jù)處理系統(tǒng)10中REV指令的執(zhí)行過程中,以少量的附加電路并且快速地評估每一個規(guī)則1、規(guī)則2、和規(guī)則3。圖3中所示的大量電路通常用于數(shù)據(jù)處理器中一般目的的處理。微ROM中的少量附加電路和少量附加指令解碼邏輯電路是實施本發(fā)明所必需的。另外,在執(zhí)行單元14中,除通常所需的邏輯電路外還需要比較器72和寄存器交換邏輯電路46。
相對于圖8,在步驟804中,用變址寄存器訪問前三個規(guī)則操作數(shù)、或指針(701、702、703),以便隨后訪問內(nèi)存儲器32中存儲的兩個模糊輸入和該模糊輸出。在步驟805中,更新變址寄存器中的地址。在步驟806中,比較器72將規(guī)則1第一模糊輸入的地址值與十六進制值$FFFF比較。如果該地址值等于$FFFF,則指向規(guī)則數(shù)組地址的結(jié)尾并終止執(zhí)行REV指令(步驟810)。
圖8中說明的步驟807-809不需采用VCCR比特和與其相關的處理。然而,固定格式規(guī)則基準的實施要以相同方式利用圖1-3中說明的硬件。
步驟806后,如果仍未到達結(jié)束標記706,該程序則進展到步驟807,利用操作數(shù)1、2和3分別為一個規(guī)則取出兩個模糊輸入1和2和該模糊輸出。
此后,在步驟808,執(zhí)行一個或多個指令以計算新的模糊輸出??梢砸耘c上面圖6描述的相同方式進行。其實質(zhì)在于比較兩個模糊輸入從中選擇最小值。然后,將該最小值與所恢復的模糊輸出值比較,并選擇兩個值中較大的一個作為所計算的模糊輸出。此后,步驟809,將新模糊輸出寫入由規(guī)則操作數(shù)3指示的位置。然后程序返回到步驟804針對下一組的兩個模糊輸入和一個模糊輸出繼續(xù)進行模糊邏輯操作。
這里所述的本發(fā)明的實施僅是通過實例給出的。然而,還存在許多其它實施方式執(zhí)行這里所描述的功能。例如,可以將所評估規(guī)則的規(guī)則基準的起動作為REV指令的操作數(shù)提供。另外,可使用數(shù)據(jù)處理系統(tǒng)10外部的存儲電路存儲規(guī)則評估過程中使用的規(guī)則和模糊輸入中的每一個。同樣,雖然在本發(fā)明的實施中采用N和VCCR信號控制寄存器交換邏輯電路46的操作,也很容易將數(shù)據(jù)處理系統(tǒng)10中的其它信號應用于此。另外,寄存器交換邏輯電路56中使用的邏輯門電路也可由諸如"與非"、"或"、"或非"、或"異或"門之類的其它邏輯電路代替。
至此已描述了本發(fā)明的原理,本領域的技術(shù)人員很清楚地理解,該描述僅是通過實例進行的而不是對本發(fā)明范圍的限定。另外,附屬權(quán)利要求的目的是覆蓋落入本發(fā)明精神和范圍內(nèi)的所有改進。
雖然已經(jīng)詳細描述了本發(fā)明及其優(yōu)點,應該理解,在不脫離由附屬權(quán)利要求定義的本發(fā)明精神和范圍的情況下可對本發(fā)明進行各種改進、代替和替換。
權(quán)利要求
1.一種用于操作數(shù)字數(shù)據(jù)處理器以執(zhí)行模糊規(guī)則評估操作的方法,所述方法其特征在于包括步驟解碼規(guī)則評估指令;確定是固定格式規(guī)則基準還是可變格式規(guī)則基準與所述規(guī)則評估指令一起使用;如果確定所述固定格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述固定格式規(guī)則基準處理所述規(guī)則評估指令;和如果確定所述可變格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述可變格式規(guī)則基準處理所述規(guī)則評估指令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于如果確定所述固定格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述固定格式規(guī)則基準處理所述規(guī)則評估指令的所述步驟進一步包括步驟1)從預定數(shù)量的存儲位置恢復地址值;2)將所述地址值之一與一個邊界值比較,并且如果所述地址值之一與所述邊界值匹配則終止所述模糊規(guī)則評估操作;3)如果所述模糊規(guī)則評估操作未終止,從由所述地址值所指向的存儲位置恢復一個或多個模糊輸入值和一個或多個模糊輸出值;和4)用所述一個或多個模糊輸入值和所述一個或多個模糊輸出值計算一個模糊輸出值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述計算步驟進一步包括步驟確定所述模糊輸入值的最小值;和確定所述模糊輸入值的所述最小值和步驟(3)中恢復的所述模糊輸出值之間的最大值。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于如果確定所述可變格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述可變格式規(guī)則基準處理所述規(guī)則評估指令的所述步驟進一步包括步驟1)從一個存儲位置恢復一個地址值;2)將該地址值與第一邊界值比較,并且如果該地址值與第一邊界值匹配則終止模糊規(guī)則評估操作;3)將該地址值與第二邊界值比較,并且如果該地址值與第二邊界值匹配則改變第一標記信號的狀態(tài);4)如果該地址值與第一和第二邊界值都不匹配并且如果該第一標記信號處在第一狀態(tài),從由該地址值規(guī)定的存儲位置恢復一個隸屬函數(shù)值,并使用該隸屬函數(shù)值執(zhí)行第一算術(shù)運算;5)如果該地址值與第一和第二邊界值都不匹配并且如果該第一標記信號處在第二狀態(tài),從由該地址值規(guī)定的存儲位置恢復一個結(jié)論值,并使用該結(jié)論值執(zhí)行第二算術(shù)運算和有選擇地將第二算術(shù)運算的結(jié)果寫入由該地址值規(guī)定的存儲位置;6)重復步驟1)-5)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于執(zhí)行第一算術(shù)運算的步驟進一步包括步驟從該隸屬函數(shù)值減去數(shù)據(jù)寄存器中包含的值;和如果減法運算步驟得到的結(jié)果為負,則用該隸屬函數(shù)值替代數(shù)據(jù)寄存器中包含的值。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于執(zhí)行第二算術(shù)運算的步驟進一步包括步驟從數(shù)據(jù)寄存器中包含的值減去該結(jié)論值;和如果減法運算步驟得到的結(jié)果為正,則用該數(shù)據(jù)寄存器中包含的值替代由該地址值規(guī)定的存儲位置存儲的結(jié)論值。
7.可適合在數(shù)據(jù)處理系統(tǒng)中存儲的計算機編程產(chǎn)品,所述可操作的計算機編程產(chǎn)品操作數(shù)字數(shù)據(jù)處理器以執(zhí)行模糊規(guī)則評估操作,所述計算機編程產(chǎn)品的特征在于用于解碼規(guī)則評估指令的指令裝置;用于確定是固定格式規(guī)則基準還是可變格式規(guī)則基準與所述規(guī)則評估指令一起使用的指令裝置;如果確定所述固定格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述固定格式規(guī)則基準處理所述規(guī)則評估指令的指令裝置;和如果確定所述可變格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述可變格式規(guī)則基準處理所述規(guī)則評估指令的指令裝置。
8.根據(jù)權(quán)利要求7所述的計算機編程產(chǎn)品,其特征在于如果確定所述可變格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述可變格式規(guī)則基準處理所述規(guī)則評估指令的所述指令裝置進一步包括步驟1)從一個存儲位置恢復一個地址值的指令裝置;2)將該地址值與第一邊界值比較,并且如果該地址值與第一邊界值匹配則終止模糊規(guī)則評估操作的指令裝置;3)將該地址值與第二邊界值比較,并且如果該地址值與第二邊界值匹配則改變第一標記信號狀態(tài)的指令裝置;4)如果該地址值與第一和第二邊界值都不匹配并且如果該第一標記信號處在第一狀態(tài),從由該地址值規(guī)定的存儲位置恢復一個隸屬函數(shù)值,并使用該隸屬函數(shù)值執(zhí)行第一算術(shù)運算的指令裝置;和5)如果該地址值與第一和第二邊界值都不匹配并且如果該第一標記信號處在第二狀態(tài),從由該地址值規(guī)定的存儲位置恢復一個結(jié)論值,并使用該結(jié)論值執(zhí)行第二算術(shù)運算和有選擇地將第二算術(shù)運算的結(jié)果寫入由該地址值規(guī)定的存儲位置的指令裝置。
9.一種數(shù)字數(shù)據(jù)處理器,可操作地執(zhí)行模糊規(guī)則評估操作,所述處理其特征在于包括可操作的指令解碼邏輯電路,用于對規(guī)則評估指令解碼;和可操作的執(zhí)行單元,用于確定是固定格式規(guī)則基準還是可變格式規(guī)則基準與所述規(guī)則評估指令一起使用;如果確定所述固定格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述固定格式規(guī)則基準處理所述規(guī)則評估指令;和如果確定所述可變格式規(guī)則基準與所述規(guī)則評估指令一起使用則用所述可變格式規(guī)則基準處理所述規(guī)則評估指令。
10.根據(jù)權(quán)利要求7所述的處理器,其特征在于如果確定所述固定格式規(guī)則基準與所述規(guī)則評估指令一起使用,所述可操作執(zhí)行單元執(zhí)行下列功能1)在耦合到所述執(zhí)行單元的內(nèi)存儲器中從預定數(shù)量的存儲位置恢復地址值;2)將所述地址值之一與一個邊界比較,并且如果所述地址值之一與所述邊界值匹配則終止所述模糊規(guī)則評估操作;3)如果所述模糊規(guī)則評估操作未終止,在所述內(nèi)存儲器中從由所述地址值所指向的存儲位置恢復一個或多個模糊輸入值和一個或多個模糊輸出值;和4)用所述一個或多個模糊輸入值和所述一個或多個模糊輸出值計算一個模糊輸出值。
全文摘要
在實施模糊邏輯操作的數(shù)據(jù)處理系統(tǒng)(10)中,采用轉(zhuǎn)換機構(gòu)(802)在可變格式規(guī)則基準(803)和固定格式規(guī)則基準之間提供選擇。該可變格式規(guī)則基準的模糊輸入地址和模糊輸出地址之間采用緩沖器,而對于固定格式規(guī)則基準,由于模糊輸入地址和模糊輸出地址數(shù)量是預定的,該固定格式規(guī)則基準不需要該緩沖器。
文檔編號G06F9/44GK1167299SQ9612016
公開日1997年12月10日 申請日期1996年10月21日 優(yōu)先權(quán)日1995年12月11日
發(fā)明者J·格里格維奧特, 杰姆斯M·思比格羅斯 申請人:摩托羅拉公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
平顶山市| 新泰市| 喀喇| 兴和县| 酒泉市| 岑溪市| 海安县| 广宗县| 洪湖市| 抚顺县| 台前县| 济宁市| 镇江市| 平泉县| 赞皇县| 庆安县| 东丰县| 河北区| 乌兰县| 古浪县| 聂荣县| 孟州市| 石嘴山市| 彝良县| 叙永县| 寻乌县| 东方市| 家居| 商城县| 密云县| 黄山市| 保康县| 巩义市| 日照市| 漾濞| 蓬莱市| 大同市| 古田县| 定西市| 天水市| 临湘市|