国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      執(zhí)行有效模糊邏輯運(yùn)算的數(shù)據(jù)處理系統(tǒng)及其方法

      文檔序號(hào):6409553閱讀:544來(lái)源:國(guó)知局
      專利名稱:執(zhí)行有效模糊邏輯運(yùn)算的數(shù)據(jù)處理系統(tǒng)及其方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),具體涉及執(zhí)行模糊邏輯運(yùn)算的數(shù)據(jù)處理系統(tǒng)。
      業(yè)已開發(fā)了一些數(shù)據(jù)處理器,起二進(jìn)制機(jī)器的作用,其輸入和輸出都用“1”或“0”來(lái)表示,其它表示的可能性不存在。雖在大多數(shù)情況下這樣工作得很好,但有時(shí)回答并不是簡(jiǎn)單的“是”或“否”,而是在二者之間的一些東西。稱為“模糊邏輯”的一種概念被開發(fā)可使基于二進(jìn)制邏輯的數(shù)據(jù)處理器能提供“是”與“否”的回答。
      模糊邏輯是一種邏輯系統(tǒng),它具有模糊邊界的隸屬函數(shù)。隸屬函數(shù)把主題表達(dá)語(yǔ)句(如“氣溫是暖和的”)轉(zhuǎn)換成為典型的數(shù)據(jù)處理器可識(shí)別的一個(gè)值。標(biāo)記(諸如“暖”)用于識(shí)別輸入值的范圍,該范圍的邊界不是點(diǎn),在一側(cè)的邊界處該標(biāo)記是“真”,而在另一側(cè)的邊界處該標(biāo)記是“假”。而在實(shí)施模糊邏輯的系統(tǒng)中,隸屬函數(shù)的邊界是逐漸地變化的,并且可能與相鄰隸屬集的邊界重疊。為此,隸屬程度典型地指定給一個(gè)輸入值。例如,在一個(gè)溫度范圍內(nèi)給定兩個(gè)隸屬函數(shù)的情況下,一個(gè)輸入溫度可落入標(biāo)記“冷”和“暖”的兩個(gè)函數(shù)的重疊區(qū)域內(nèi)。下一步的處理將要求確定在每個(gè)隸屬函數(shù)中的隸屬程度(即,該輸入溫度是否適合于該隸屬集的每一個(gè),即“冷”和“暖”)。
      稱為“模糊”的步驟用于將一個(gè)輸入與采用模糊邏輯的系統(tǒng)中的隸屬函數(shù)相關(guān)。該模糊過(guò)程將具體的數(shù)值附加到主題表達(dá)語(yǔ)句(諸如“氣溫是暖和的”)上。這些數(shù)值嘗試提供出人體感覺(jué)的最佳近似,它一般不限于絕對(duì)真實(shí)的環(huán)境。在模糊步驟之后,執(zhí)行規(guī)則評(píng)定步驟,在執(zhí)行規(guī)則評(píng)定步驟期間,使用稱為“最小最大”推理來(lái)計(jì)算數(shù)值結(jié)果以適合于用戶規(guī)定的語(yǔ)言規(guī)則。從該規(guī)則評(píng)定步驟得到的結(jié)果稱為“模糊輸出”,對(duì)于變化的程度可能都是“真”。于是,可能產(chǎn)生競(jìng)爭(zhēng)的結(jié)果(competing results)。在該模糊邏輯過(guò)程中最后的步驟稱為“解除模糊”。如該名字所蘊(yùn)義的,解除模糊是把所有的模糊輸出組合為一個(gè)復(fù)合結(jié)果的過(guò)程,可用于標(biāo)準(zhǔn)的數(shù)據(jù)處理系統(tǒng)。有關(guān)模糊邏輯的更詳細(xì)情況參見(jiàn)James M.Sibigtroth所著的“Implementing Fuzzy Expcrt Rules in Hardware”的論文。該文在1992年4月出版的“Al EXPERT”第25-31頁(yè)。還可參見(jiàn)已轉(zhuǎn)讓給本發(fā)明受讓人的、1994年3月15日授權(quán)的、名稱為“在模糊邏輯運(yùn)算中確定一組中的隸屬的電路和方法”的美國(guó)專利5295229號(hào)。
      模糊步驟典型地利用軟件程序來(lái)實(shí)施,這些程序由外圍設(shè)備或由數(shù)據(jù)處理器執(zhí)行。這樣的軟件程序利用需要延長(zhǎng)處理時(shí)間的數(shù)學(xué)公式來(lái)計(jì)算隸屬程度。鑒此,雖然軟件程序提供精確的結(jié)果,但是處理時(shí)間通常限制了所實(shí)施的系統(tǒng)的性能。另一個(gè)普通的軟件解決方案實(shí)施“表查找”例行程序,其中存取存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)表的一個(gè)值,該值對(duì)應(yīng)于一個(gè)特定的輸入值。雖然“表查找”例行程序比數(shù)學(xué)計(jì)算快些,但它要求大量的專用存儲(chǔ)器,這種方案的實(shí)現(xiàn)是昂貴的。實(shí)施模糊步驟的硬件解決方案提供結(jié)果更快些。但硬件解決方案通常要求大量的專用電路,這很不靈活。雖然對(duì)于模糊步驟的硬件解決方案通常比軟件實(shí)施方案快些,但是硬件解決方案要求大量的專用電路面積,而且太貴不能在數(shù)據(jù)處理系統(tǒng)中實(shí)施。
      據(jù)此,現(xiàn)在需要一種用以快速執(zhí)行模糊步驟但無(wú)需昂貴的硬件要求的電路或方法。在無(wú)需通常與軟件解決方案相關(guān)的存儲(chǔ)器的情況下,通常需要與硬件解決方案有關(guān)的速度。本發(fā)明可以滿足這個(gè)需要,本發(fā)明的特點(diǎn)和優(yōu)點(diǎn)將在結(jié)合以下附圖詳細(xì)閱讀下文的描述就會(huì)明了。重要的是,要注意這些附圖并不代表本發(fā)明的唯一形式。


      圖1以曲線圖形式示出用于描述模糊邏輯的一些概念和基本術(shù)語(yǔ);圖2較詳細(xì)地示出圖1的隸屬集;圖3示出根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖;圖4示出圖3的執(zhí)行單元的方框圖;圖5示出圖4的標(biāo)記產(chǎn)生邏輯電路的邏輯電路形式;圖6示出圖4的操作數(shù)指定邏輯電路的方框圖;圖7示出圖4的算法邏輯單元的方框圖;和圖8示出根據(jù)這里所述的本發(fā)明在執(zhí)行MEM指令期間所執(zhí)行的功能的流程圖。
      本發(fā)明提供一種用以指示一組模糊操作結(jié)束的電路和方法,例如對(duì)快速的而且具有最小數(shù)量專用電路的數(shù)據(jù)電路輸入一個(gè)輸入信號(hào)。提供一個(gè)指令,該指令允許數(shù)據(jù)處理系統(tǒng)的用戶快速地、不困難地、執(zhí)行模糊步驟和長(zhǎng)的軟件程序。模糊步驟使一個(gè)單一輸入標(biāo)號(hào)在該指令中被編碼,在數(shù)據(jù)處理系統(tǒng)中沒(méi)有過(guò)量的附加電路的情況下快速和有效地執(zhí)行該指令。一組模糊操作(諸如特定系統(tǒng)輸入的那些操作)的結(jié)束容易被檢測(cè),而無(wú)需計(jì)數(shù)器等。
      在描述本發(fā)明的實(shí)施時(shí),使用了一些術(shù)語(yǔ)“認(rèn)定”(assert)和“否定”(negate)及其各種語(yǔ)法形式,在涉及“高態(tài)有效”和“低態(tài)有效”邏輯信號(hào)混合時(shí),以避免混淆?!罢J(rèn)定”用于指邏輯信號(hào)或寄存器比特變?yōu)樗挠行?或邏輯“真”)狀態(tài)?!胺穸ā庇糜谥高壿嬓盘?hào)寄存器比特變?yōu)樗臒o(wú)效(或邏輯“假”)狀態(tài)。另外,在數(shù)值前用符號(hào)“$”表示十六進(jìn)制值。
      圖1提供說(shuō)明模糊邏輯的幾個(gè)基本術(shù)語(yǔ)和概念。在圖1所述的模糊邏輯系統(tǒng)中,“系統(tǒng)輸入”是以華氏度為單位的溫度。提供五個(gè)“隸屬函數(shù)”,以將這些標(biāo)號(hào)與溫度范圍有關(guān)。例如,從0至30度,標(biāo)注溫度為“冷”。類似地,從20度至50度,標(biāo)注溫度為“涼”。請(qǐng)注意,每個(gè)隸屬集的邊界與相鄰集的邊界重疊。據(jù)此,一個(gè)溫度值可位于一個(gè)以上的集內(nèi)。例如,假定系統(tǒng)輸入指示溫度68度。參見(jiàn)圖1,注意68度是在“暖”和“很暖”的隸屬集的邊界內(nèi),而且每個(gè)隸屬集的非零隸屬程度都可得到。對(duì)于“暖”隸屬集,該系統(tǒng)輸入具有$33的隸屬程度,對(duì)于“很暖”隸屬集具有$CC的隸屬程度。如果系統(tǒng)輸入已指示為75度的溫度,該溫度在“很暖”隸屬集內(nèi)已具有$FF的隸屬程度。類似地,75度的溫度在“熱”隸屬集內(nèi)可具有$00隸屬程度。在圖1的模糊邏輯實(shí)施中,隸屬程度可在十六進(jìn)制值$00至$FF的范圍內(nèi),它相應(yīng)于在0.00至0.996范圍中的一個(gè)小數(shù)。
      圖2示出可由四個(gè)值(點(diǎn)1、點(diǎn)2、斜率1和斜率2)表示的一個(gè)單一隸屬集。稱為“增量1”的第一值被計(jì)算為系統(tǒng)輸入(點(diǎn)“X”)和點(diǎn)1之間的差值。類似地,稱為“增量2”的第二值被計(jì)算為點(diǎn)2和該系統(tǒng)輸入之間的差值。根據(jù)增量1和增量2值的計(jì)算,本發(fā)明的方法提供了隸屬程度。如果增量1或增量2的值小于0,則相應(yīng)隸屬集的隸屬程度是0.00。同樣地,隸屬程度等于增量1與斜率1之積、增量2與斜率2之積或一個(gè)飽和值之中的最小值。該最小值是所測(cè)試的隸屬集中目前輸入值的隸屬程度。在這里所述的例子中,飽和值為十六進(jìn)制值$FF。但是,其它實(shí)施例可允許模糊邏輯系統(tǒng)的用戶根據(jù)特定系統(tǒng)的技術(shù)規(guī)范選擇飽和值。
      以字母標(biāo)號(hào)“MEM”表示的本發(fā)明的指令使數(shù)據(jù)處理系統(tǒng)執(zhí)行一系列的步驟來(lái)確定在多個(gè)隸屬集的一個(gè)隸屬集中的系統(tǒng)輸入值的隸屬程度。MEM指令還可使“終止”信號(hào)被認(rèn)定和被記錄。每個(gè)隸屬集其特征在于從存儲(chǔ)器中檢索的多個(gè)邊界值(點(diǎn)1、點(diǎn)2、斜率1和斜率2)。如果多個(gè)邊界值的每個(gè)值已恰當(dāng)?shù)卮鎯?chǔ)在存儲(chǔ)器中和如果在MEM指令執(zhí)行之前系統(tǒng)輸入值已恰當(dāng)?shù)卮鎯?chǔ)在寄存器單元中,則可確定在多個(gè)隸屬集的一個(gè)隸屬集的系統(tǒng)輸入的隸屬程度。接著,多個(gè)隸屬集的每個(gè)隸屬集的系統(tǒng)輸入隸屬程度存儲(chǔ)在存儲(chǔ)器中的預(yù)定單元中。MEM指令的實(shí)現(xiàn)允許數(shù)據(jù)處理系統(tǒng)的用戶比傳統(tǒng)軟件實(shí)現(xiàn)更快和以比典型的硬件實(shí)現(xiàn)要求更少專用電路面積來(lái)執(zhí)行隸屬評(píng)定功能。例如,數(shù)據(jù)處理系統(tǒng)正常操作要求的算法邏輯單元已修改為以分離運(yùn)算模式運(yùn)算。典型地運(yùn)算邏輯單元能夠在預(yù)定的時(shí)間點(diǎn)執(zhí)行單個(gè)16比特運(yùn)算。但是,這里公開的運(yùn)算邏輯單元可選擇地啟動(dòng)以便執(zhí)行單個(gè)16比特運(yùn)算或兩個(gè)同時(shí)的8比特運(yùn)算。因此,在隸屬集中隸屬程度的計(jì)算所需要的算術(shù)運(yùn)算在比傳統(tǒng)要求更少的時(shí)間中同時(shí)計(jì)算,要求很少的附加電路。為了以分離運(yùn)算模式操作運(yùn)算邏輯單元,給現(xiàn)有的緩中器電路提供單個(gè)啟動(dòng)信號(hào)。另外,實(shí)現(xiàn)MEM指令只要求少量的附加電路。
      圖3示出上述操作的指令和方法的一個(gè)實(shí)施例。圖3示出可實(shí)現(xiàn)模糊指令的一個(gè)數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)10一般包括一個(gè)中央處理單元(CPU)12、一個(gè)振蕩器24、一個(gè)電源電路26、一個(gè)定時(shí)電路28、一個(gè)外部總線接口30和一個(gè)內(nèi)部存儲(chǔ)器32。CPU12一般有一個(gè)執(zhí)行單元14、一個(gè)總線控制邏輯單元16、一個(gè)指令解碼器邏輯電路18、一個(gè)控制單元20和一個(gè)順序器22。
      在運(yùn)算期間“Osc1”信號(hào)經(jīng)過(guò)外部信源如晶體提供給振蕩器24。該晶體與Os1和Os2信號(hào)有關(guān),可使該晶體能振蕩。Os1提供“時(shí)鐘”信號(hào)給數(shù)據(jù)處理系統(tǒng)10的其余部分。晶體振蕩器的工作在數(shù)據(jù)處理技術(shù)中是眾所周知的,而且對(duì)于本領(lǐng)域的普通技術(shù)人員是清楚的。
      類似地,電源電路26從外部電源接收“Vdd”和“Vss”信號(hào)。Vdd信號(hào)提供正5伏和Vss信號(hào)提供基準(zhǔn)或地電壓。Vdd和Vss信號(hào)提供給數(shù)據(jù)處理系統(tǒng)10的每個(gè)其余部件。這些信號(hào)的路由在數(shù)據(jù)處理技術(shù)中是眾所周知的,而且對(duì)于本領(lǐng)域的普通技術(shù)人員是顯而易見(jiàn)的。
      定時(shí)電路28接收該時(shí)鐘信號(hào),接著經(jīng)過(guò)定時(shí)控制總線38提供適當(dāng)?shù)亩〞r(shí)信號(hào)給每個(gè)CPU12、外部總線接口30和內(nèi)部存儲(chǔ)器32。
      從外部總線接口30經(jīng)過(guò)外部地址總線35提供多個(gè)地址值。類似地,多個(gè)數(shù)據(jù)值經(jīng)過(guò)外部數(shù)據(jù)總線33傳送到外部總線接口30。外部總線接口30起著在外部用戶和數(shù)據(jù)處理系統(tǒng)10之間傳送地址和數(shù)據(jù)值的功能。外部總線接口30分別經(jīng)過(guò)內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34提供多個(gè)地址和數(shù)據(jù)值給數(shù)據(jù)處理系統(tǒng)10的其余部分。內(nèi)部存儲(chǔ)器32起著存儲(chǔ)數(shù)據(jù)處理系統(tǒng)10恰當(dāng)操作所需的信息值的作用。另外,如果在經(jīng)過(guò)內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34提供的用戶程序中規(guī)定了,也可在其中存儲(chǔ)其它的數(shù)據(jù)值。
      CPU12執(zhí)行在數(shù)據(jù)處理系統(tǒng)10的操作期間要求的每個(gè)指令。內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34在數(shù)據(jù)處理系統(tǒng)10的執(zhí)行單元14與其它部分之間傳送信息。總線控制邏輯電路16取出指令和操作數(shù)。然后每個(gè)指令由指令解碼邏輯電路18解碼,并提供給控制單元20和順序器22??刂茊卧?0和順序器22保持每個(gè)指令執(zhí)行的順序以便最有效地利用數(shù)據(jù)處理系統(tǒng)10的計(jì)算能力。另外,控制單元20包括一個(gè)微ROM存儲(chǔ)器(未示出),它經(jīng)過(guò)微ROM控制總線65提供多個(gè)控制信息給每個(gè)執(zhí)行單元14、總線控制邏輯電路16和指令解碼邏輯電路18。
      圖4示出執(zhí)行單元14的細(xì)節(jié)。執(zhí)行單元14一般包括一個(gè)數(shù)據(jù)緩沖器42、一個(gè)結(jié)果選擇邏輯電路46、一個(gè)標(biāo)記產(chǎn)生邏輯電路48、一個(gè)操作數(shù)指定邏輯電路50、一個(gè)A輸入控制邏輯電路52、一個(gè)A輸入復(fù)用器54、一個(gè)運(yùn)算邏輯單元(ALU)56、一個(gè)B輸入復(fù)用器58、一個(gè)增量寄存器60和一個(gè)系統(tǒng)輸入寄存器64以及一個(gè)條件碼寄存器69。在執(zhí)行單元14中可包括附加的寄存器,例如,執(zhí)行單元14可包括一個(gè)索引寄存器或一個(gè)累加器,雖然在圖中未示出,但是本領(lǐng)域的普通技術(shù)人中應(yīng)該清楚。另外,在典型的數(shù)據(jù)處理系統(tǒng)中,系統(tǒng)輸入寄存器64可以實(shí)現(xiàn)為累加器。
      外部信息總線40提供地址和數(shù)據(jù)信息給數(shù)據(jù)緩沖器42。外部信息總線40分別從內(nèi)部地址總線36和內(nèi)部數(shù)據(jù)總線34接收地址和數(shù)據(jù)信息。數(shù)據(jù)緩中器42經(jīng)過(guò)信息總線A66和信息總線B68提供由外部信息總線40傳送的值給執(zhí)行單元的其余部分。雖然這里沒(méi)有詳細(xì)地表示出,但是信息總線A66和信息總線B68都是16比特寬,并且分為一個(gè)高側(cè)(比特15至比特8)和一個(gè)低側(cè)(比特7至比特0)。
      信息總線A66的低側(cè)雙向耦合到系統(tǒng)輸入寄存器64的第一輸入。類似地,信息總線B68的高側(cè)雙向耦合到系統(tǒng)輸入寄存器64的第二輸入。稱為“增量1”的第一增量值經(jīng)過(guò)信息總線B68的高側(cè)提供給增量寄存器60的第一輸入。第二增量值“增量2”經(jīng)過(guò)信息總線B68的低側(cè)提供給增量寄存器60的第二輸入。增量寄存器60還接到信息總線A66和信息總線B68以便提供信息給執(zhí)行單元14的其它部件。任何額外的寄存器諸如累加器和索引寄存器可類似地接到信息總線A66和信息總線B68。
      信息總線A66接到A輸入復(fù)用器54的第一輸入端。標(biāo)注“控制”的兒比特寬信號(hào)提供給A輸入復(fù)用器54的第二輸入端,這里n是一個(gè)整數(shù)。A輸入復(fù)用器54提供標(biāo)注“A輸入低側(cè)”的第一個(gè)10比特輸出給ALU56的第一輸入端和提供標(biāo)注“A輸入高側(cè)”的第二個(gè)10比特輸出給ALU56的第二輸入端。
      信息總線B68連接到B輸入復(fù)用器58的輸入端。使B輸入復(fù)用器58能夠正確地起作用所需的控制信息經(jīng)過(guò)由控制單元20中的微ROM(未示出)產(chǎn)生并經(jīng)過(guò)微ROM控制總線65傳送的多個(gè)信號(hào)提供給一個(gè)控制輸入端。B輸入復(fù)用器58提供標(biāo)注“B輸入低側(cè)”的第一個(gè)10比特輸出給ALU56的第三輸入端。另外,B輸入復(fù)用器58提供標(biāo)注“B輸入高側(cè)”的第二個(gè)10比特輸出給ALU56的第四輸入端。
      標(biāo)注“分離方式控制”的信號(hào)提供給ALU56的第五輸入端。該分離方式控制信號(hào)是響應(yīng)MEM指令的執(zhí)行由控制單元20中的微ROM存儲(chǔ)器產(chǎn)生的。ALU56處理每個(gè)輸入提供經(jīng)過(guò)結(jié)果總線120傳送的多個(gè)結(jié)果。結(jié)果總線120提供多個(gè)信息值給每個(gè)結(jié)果選擇邏輯電路46和標(biāo)記產(chǎn)生邏輯電路48。另外,結(jié)果總線120接到信息總線B68。
      除了結(jié)果總線120之外,標(biāo)記產(chǎn)生邏輯電路48接到增量寄存器60和數(shù)據(jù)緩中器42。標(biāo)記產(chǎn)生邏輯電路48從增量寄存器60接收“增量”信號(hào)和從數(shù)據(jù)緩沖器42接收“緩沖的數(shù)據(jù)”信號(hào)。標(biāo)記產(chǎn)生邏輯電路48還接到操作數(shù)指定邏輯電路50和結(jié)果選擇邏輯電路46,以便經(jīng)過(guò)標(biāo)記總線70提供多個(gè)標(biāo)記值。另外,標(biāo)記產(chǎn)生邏輯電路48連接到ALU56,分別提供J高和J低信號(hào)給ALU56的第六和第七輸入端。
      操作數(shù)指定邏輯電路50也連接到信息總線A66、信息總線B68和標(biāo)記總線70上。操作數(shù)指定邏輯電路50接到A輸入控制邏輯電路52上提供標(biāo)注“乘法器1”的第一輸入信號(hào)和標(biāo)注“乘法器2”的第二輸入信號(hào)。另外,操作數(shù)指定邏輯電路50還連接到增量寄存器60上以便接收該增量信號(hào)。A輸入控制邏輯52接到A輸入復(fù)用器54上以便提供該控制信號(hào)。
      結(jié)果選擇邏輯電路46經(jīng)過(guò)標(biāo)記總線70和結(jié)果總線120接收信息。處理該信息以便提供標(biāo)注“選擇”的第一輸出和標(biāo)注“強(qiáng)制$FF”(Force $FF)的第二輸出。
      圖5示出標(biāo)記產(chǎn)生邏輯電路48的細(xì)節(jié)。標(biāo)記產(chǎn)生邏輯電路48一般包括一個(gè)“或非”(NOR)門110、一個(gè)“或非”門112、一個(gè)“或”(OR)門114、一個(gè)“或非”門116、一個(gè)“或非”門118、一個(gè)“與”(AND)門132、一個(gè)“與”門134、一個(gè)鎖存器136、一個(gè)“與”門138、一個(gè)“或非”門140、一個(gè)“或非”門142、一個(gè)“或”門144、一個(gè)“或非”門146、一個(gè)“或非”門148和一個(gè)“或門”150。鎖存器130和136各以D觸發(fā)器實(shí)現(xiàn),具有一個(gè)數(shù)據(jù)輸入端(D)、一個(gè)時(shí)鐘輸入端(C)、一個(gè)結(jié)果輸入端(R)、和一個(gè)數(shù)據(jù)輸出端(Q)。D觸發(fā)器在數(shù)據(jù)處理技術(shù)中是眾所周知的,因此不作更詳細(xì)的說(shuō)明。
      數(shù)據(jù)緩沖器42(圖4)把第一信息值的比特15至8提供到“或非”門112。在這里所述的例子中,第一信息值經(jīng)過(guò)第一緩沖的數(shù)據(jù)信號(hào)提供,以下稱為“緩沖的數(shù)據(jù)1信號(hào)”。緩沖的數(shù)據(jù)1信號(hào)提供點(diǎn)1值或斜率1值?!盎蚍恰遍T112的輸出標(biāo)注“Z2”并提供給鎖存器136的數(shù)據(jù)輸入(D)和“與”門134的第一輸入。定時(shí)控制信號(hào)由定時(shí)控制總線38提供給鎖存器136的時(shí)鐘輸入端(C)。鎖存器136的數(shù)據(jù)輸出(Q)接到“與”門134的第二輸入端提供標(biāo)注“ZP2”的信號(hào)。“與”門134的輸出標(biāo)注JP高并提供給“或”門144的第一輸入。
      另外,緩沖的數(shù)據(jù)1信號(hào)的比特15至比特12(B15至B12)提供給“或非”門140?!盎蚍恰遍T140的輸出標(biāo)注“S2”并且提供給“或非”門142的第一輸入端。
      數(shù)據(jù)緩中器42還提供第二信息值的比特7至0給“或非”門118和“與”門138。第二信息值經(jīng)過(guò)稱為緩沖的數(shù)據(jù)2信號(hào)的第二緩沖的數(shù)據(jù)信號(hào)提供。緩沖的數(shù)據(jù)2信號(hào)提供點(diǎn)2值的比特7至0給“與”門138和提供斜率2值的比特7至0給“或非”門118。“與”門138提供一個(gè)輸出給鎖存器130的數(shù)據(jù)輸入(D)。當(dāng)“或非”門118的輸出被認(rèn)定時(shí),則指示“O”斜率。當(dāng)“與”門138的輸出被認(rèn)定時(shí),則其所有輸入被認(rèn)定,指示其點(diǎn)2的B0至B7都是“1”。當(dāng)其B0-B7都是“1”時(shí),則點(diǎn)2達(dá)到最大值?!盎蚍恰遍T118提供標(biāo)注“Z4”的輸出。Z4信號(hào)傳送到“與”門132的第一輸入端。定時(shí)控制信號(hào)由定時(shí)控制總線38提供給鎖存器130的時(shí)鐘輸入端(C)。鎖存器130的數(shù)據(jù)輸出端(D)接到“與”門132的第二輸入端以提供標(biāo)注“ZP4”的信號(hào)。
      “與”門132的輸出標(biāo)注“JP低”并提供給“或”門150的第一輸入。當(dāng)“與”門132的輸出被認(rèn)定時(shí),指示點(diǎn)P2的最大值和斜率2的“0”值,因此指示已達(dá)到預(yù)定的極限和線151的信號(hào)JP低是一個(gè)終止信號(hào)。如果這種終止信號(hào)不被認(rèn)定,則繼續(xù)特定系統(tǒng)輸入值的模糊。信號(hào)JP低提供給條件碼寄存器69的一個(gè)輸入端。條件碼寄存器69包括指示執(zhí)行單元14中操作結(jié)果的幾個(gè)常規(guī)比特。這些比特包括一個(gè)停止禁止比特(S)、一個(gè)X中斷掩蔽比特(X)、一個(gè)半進(jìn)位比特(H)、一個(gè)I中斷掩蔽比特(I)、一個(gè)否定比特(N)、一個(gè)零比特(Z)、一個(gè)溢出比特(V)和一個(gè)進(jìn)位/借位比特(C)。這些比特一般以本領(lǐng)域眾所周知的常規(guī)方式置位和清除。
      但是,在MEM指令期間,在該期間標(biāo)記產(chǎn)生邏輯電路48檢測(cè)該隸屬函數(shù)是最后集,即在邊界有一個(gè)$FF端點(diǎn)和$00的斜率,在信號(hào)線151上的信號(hào)JP低使得C比特置位。否則,MEM指令清除這個(gè)比特。以這種方法設(shè)置條件碼寄存器69的C比特允許模糊操作更有效的編碼和減少所要求的寄存器數(shù)量。下面將更清楚地?cái)⑹鲞@個(gè)優(yōu)點(diǎn)。
      另外,將緩中的數(shù)據(jù)2信號(hào)的比特7至4(B7至B4)提供給“或非”門146?!盎蚍恰遍T146的輸出標(biāo)注“S4”并提供給“或非”門148的第一輸入端。
      增量寄存器60把第三信息值的比特15至12提供給“或非”門110。在本實(shí)施例中,第三信息值由稱為“增量1信號(hào)”的第一增量信號(hào)提供。“或非”門110的輸出標(biāo)注“Z1”并且也經(jīng)過(guò)標(biāo)記總線70傳送。Z1信號(hào)也提供給“或非”門142的第二輸入端。類似地,增量寄存器60把第四信息值的比特7至比特4提供給“或非”門116?!盎蚍恰遍T116的輸出標(biāo)注“Z3”并且經(jīng)過(guò)總線70傳送。第四信息值經(jīng)過(guò)稱為增量2信號(hào)的第二增量信號(hào)提供。Z3信號(hào)也提供給“或非”門148的第二輸入端。
      結(jié)果總線120分別提供N低和N高信號(hào)給“或門”114的第一和第二輸入端?!盎颉遍T114的輸出標(biāo)注Nmem。Nmem信號(hào)提供給鎖存器130和鎖存器136的復(fù)位輸入(R)。另外,將Nmem信號(hào)提供給每個(gè)“或非”門142和“或非”門148的第三輸入端。
      “或非”門142的輸出標(biāo)注JS高并且提供給“或”門144的第二輸入端?!盎蜷T”144的輸出標(biāo)注“J高”。另外,“或非”門148的輸出標(biāo)注“JS低”并且提供給“或”門150的第二輸入端?!盎颉遍T150的輸出標(biāo)注“J低”。J低和J高信號(hào)經(jīng)標(biāo)記總線70傳送。
      圖6示出操作數(shù)指定邏輯電路50的細(xì)節(jié)。操作數(shù)指定邏輯電路50一般包括第一復(fù)用器72、第二復(fù)用器74、第三復(fù)用器76和第四復(fù)用器78。
      增量寄存器60和數(shù)據(jù)緩沖器42分別把增量1和斜率1值的較低4比特提供給復(fù)用器72的第一種第二輸入端。另外,增量寄存器60和數(shù)據(jù)緩沖器42分別提供整個(gè)8比特增量1和斜率1的值給復(fù)用器74的第一和第二輸入端。類似地,增量寄存器60和數(shù)據(jù)緩沖器42分別提供增量2和斜率2值的較低4比特給復(fù)用器76的第一和第二輸入端。增量寄存器60和數(shù)據(jù)緩沖器42分別提供整個(gè)8比特增量2和斜率2值給復(fù)用器78的第一和第二輸入端。
      “Z1”信號(hào)經(jīng)過(guò)標(biāo)記總線70提供給復(fù)用器72的第三輸入端。另外,Z1信號(hào)經(jīng)過(guò)標(biāo)記總線70提供給復(fù)用器74的第三輸入端。類似地,標(biāo)注“Z3”的信號(hào)分別提供給復(fù)用器76和復(fù)用器78的第三輸入端。而且Z3信號(hào)經(jīng)過(guò)標(biāo)記總線70傳送。
      復(fù)用器72輸出4比特乘法器1信號(hào),即復(fù)用器76提供4比特乘法器2信號(hào)。復(fù)用器74輸出標(biāo)注“被乘數(shù)1”的8比特信號(hào),它是經(jīng)過(guò)信息總線A66的高側(cè)傳送的復(fù)用器78輸出標(biāo)注“被乘數(shù)2”的8比特信號(hào),它是經(jīng)過(guò)信息總線A66的低側(cè)傳送的。
      圖7中更詳細(xì)地示出ALU56的細(xì)節(jié)。ALU56一般包括多個(gè)加法器電路(80、82、8、86、88、92、94、96、98和100)、一個(gè)緩沖器90、一個(gè)高進(jìn)位先行邏輯電路102、一個(gè)低進(jìn)位先行邏輯電路104、一個(gè)高狀態(tài)標(biāo)記電路106和一個(gè)低狀態(tài)標(biāo)記電路108。
      A輸入低側(cè)信號(hào)提供分別標(biāo)泣“A0”、“A1”、“A2”、“A8”和“A9”的第一多個(gè)比特。比特A0輸入到加法器100的第一輸入端。類似地,比特A1至A9的每個(gè)比特分別提供給加法器98、加法器96、加法器94和加法器92的第一輸入端。B輸入低側(cè)信號(hào)提供分別標(biāo)注“B0”、“B1”、“B2”、“B8”和“B9”的第二多個(gè)比特。比特B0提供給加法器100的第二輸入端。類似地,比特B1至B9各個(gè)分別提供給加法器98、加法器96和加法器92的第二輸入端。雖然在圖7中未詳細(xì)表示出,比特A3至A7和B3至B7的每個(gè)比特提供給第一多個(gè)加法器(未示出)的一個(gè)相應(yīng)加法器。第一多個(gè)加法器(未示出)的每個(gè)加法器與加法器92至100功能相同,因此結(jié)構(gòu)類似。
      標(biāo)注“C0”的信號(hào)提供給低進(jìn)位先行邏輯電路104的第一輸入端和加法器100的第三輸入端。加法器100輸出標(biāo)注“S0”的和信號(hào)。另外,加法器100把標(biāo)注“P0”的廣播信號(hào)和標(biāo)注“G0”的產(chǎn)生信號(hào)提供給低進(jìn)位先行邏輯電路104。
      標(biāo)注“C1”的信號(hào)提供給加法器98的第三輸入端。加法器98提供標(biāo)注“S1”的和信號(hào)。加法器98還產(chǎn)生廣播信號(hào)“P1”和產(chǎn)生信號(hào)“G1”。類似地,標(biāo)注“C2”的信號(hào)提供給加法器96的第三輸入端。加法器96提供標(biāo)注“S2”的和輸出。標(biāo)注“P2”的廣播信號(hào)和標(biāo)注“G2”的產(chǎn)生信號(hào)。類似地,標(biāo)注“C8”的信號(hào)提供給加法器94的第三輸入端。加法器94輸出標(biāo)注“S8”的和信號(hào),標(biāo)注“P8”的廣播信號(hào)和標(biāo)注“G8”的產(chǎn)生信號(hào)。標(biāo)注“C9”的進(jìn)位信號(hào)提供第三輸入給加法器92。加法器92輸出標(biāo)注“S9”的和信號(hào),標(biāo)注“P9”的廣播信號(hào)和標(biāo)注“G9”的產(chǎn)生信號(hào)。由加法器92至100輸出的每個(gè)廣播和產(chǎn)生信號(hào)都提供給低進(jìn)位先行邏輯電路104。
      低進(jìn)位先行邏輯電路104提供標(biāo)注“C10”的進(jìn)位信號(hào)給緩沖器90。分離方式控制信號(hào)也提供給緩沖器。緩沖器90提供標(biāo)注“Cin”的信號(hào)。
      A輸入高側(cè)信號(hào)提供分別標(biāo)注“A10”、A11”、“A12”、“A18”和“A19”的第一多個(gè)比特。比特A10輸入到加法器88的第一輸入端。類似地比特A11至A19各分別提供給加法器86,加法器84,加法器82和加法器80的第一輸入端。B輸入高側(cè)信號(hào)提供分別標(biāo)注“B10”、“B11”、“B12”、“B18”和“B19”的第二多個(gè)比特。比特B10提供給加法器88的第二輸入端。類似地,比特B11至B19各分別提供給加法器86、加法器84、加法器82和加法器80的第二輸入端。雖然在圖7中未詳細(xì)地表示出,但比特A13至A17和B13至B17的每個(gè)比特提供給第二多個(gè)加法器(未示出)的相應(yīng)的加法器。第二多個(gè)加法器(未示出)的每個(gè)加法器與加法器80至88功能相同,因此結(jié)構(gòu)類似。
      Cin信號(hào)提供給加法器88的第三輸入端。加法器88輸出標(biāo)注“S10”的和信號(hào)。另外,加法器88提供標(biāo)注“P10”的廣播信號(hào)和標(biāo)注“G10”的產(chǎn)生信號(hào)給高進(jìn)位先行邏輯信號(hào)和標(biāo)注“G10”的產(chǎn)生信號(hào)給高進(jìn)位先行邏輯電路102。
      標(biāo)注“C11”的信號(hào)提供給加法器86的第三輸入端。加法器86提供標(biāo)注“S11”的和信號(hào)。加法器86還產(chǎn)生廣播信號(hào)“P11”和產(chǎn)生信號(hào)“G11”。類似地,標(biāo)注“C12”的信號(hào)提供給加法器84的第三輸入端。加法器84提供標(biāo)注“S12”的和輸出,標(biāo)注“P12”的廣播信號(hào)和標(biāo)注“G12”的產(chǎn)生信號(hào)。同樣地,標(biāo)注“C18”的信號(hào)提供給加法器82的第三輸入端。加法器82輸出標(biāo)注“S18”的和信號(hào),標(biāo)注“P18”的廣播信號(hào)和標(biāo)注“G18”的產(chǎn)生信號(hào)。標(biāo)注“C19”的進(jìn)位信號(hào)提供給加法器80一個(gè)第三輸入端。加法器80輸出標(biāo)注“S19”的和信號(hào),標(biāo)注“P19”的廣播信號(hào)和標(biāo)注“G19”的產(chǎn)生信號(hào)。由加法器80至88輸出的每個(gè)廣播和產(chǎn)生信號(hào)提供給高進(jìn)位選行邏輯電路102。高進(jìn)位先行邏輯電路102輸出標(biāo)注“C20”的進(jìn)位信號(hào)。
      雖然在圖7中未表示出,但由加法器92至100和低進(jìn)位先行邏輯電路104產(chǎn)生的每個(gè)進(jìn)位、和、廣播及產(chǎn)生信號(hào)也提供給低狀態(tài)標(biāo)記電路108。J低信號(hào)也提供給低狀態(tài)標(biāo)記電路108。類似地,由加法器80至88和高進(jìn)位先行邏輯電路102形成的每個(gè)進(jìn)位、和、廣播及產(chǎn)生信號(hào)也提供給高狀態(tài)標(biāo)記電路106。JP高信號(hào)也提供給高狀態(tài)標(biāo)記電路106。低狀態(tài)標(biāo)記電路108提供分別標(biāo)注“S低”、“V低”、“N低”、“H低”和“Z低”的多個(gè)信號(hào)。高狀態(tài)標(biāo)記電路106提供分別標(biāo)注“S高”、“V高”、“N高”、“H高”和“Z高”的多個(gè)信號(hào)。低狀態(tài)標(biāo)記電路108和高狀態(tài)標(biāo)記電路106的每個(gè)輸出經(jīng)過(guò)結(jié)果總線120傳送。
      在模糊邏輯運(yùn)算執(zhí)行期間,數(shù)據(jù)處理系統(tǒng)10的用戶可使用具有字母形式MEM(隸屬評(píng)價(jià))的指令執(zhí)行系統(tǒng)輸入的模糊。在這里敘述的本發(fā)明的實(shí)施例中,在執(zhí)行MEM指令之前,用戶必須在系統(tǒng)輸入寄存器64中存儲(chǔ)被模糊的輸入。另外,該用戶還必須在執(zhí)行單元14的第一索引寄存器(未示出)中存儲(chǔ)一個(gè)指示符。該指示符指向識(shí)別隸屬集的梯形所需的四點(diǎn)的開始地址位置。如在前面圖2中敘述的,這四點(diǎn)分別標(biāo)注點(diǎn)1、點(diǎn)2、斜率1和斜率2。在另一形式中,該用戶可提供這些值的每個(gè)值作為該指令的操作數(shù)。這種技術(shù)在數(shù)據(jù)處理領(lǐng)域中是眾所周知的,因此這里不詳細(xì)討論其實(shí)施。該用戶還必須在MEM指令執(zhí)行之后規(guī)定已模糊的數(shù)據(jù)的存儲(chǔ)單元。在一種形式中,可使用第二索引寄存器指向已模糊數(shù)據(jù)的存儲(chǔ)單元。另外,該系統(tǒng)輸入值應(yīng)該存儲(chǔ)在系統(tǒng)輸入寄存器64中。
      在本發(fā)明的這個(gè)實(shí)施例中,根據(jù)圖8所示的流程圖執(zhí)行MEM指令。該流程圖提供在執(zhí)行MEM指令期間進(jìn)行的每個(gè)功能的簡(jiǎn)單概述。在MEM指令執(zhí)行的例子的過(guò)程期間更詳細(xì)地說(shuō)明每個(gè)功能。
      如圖8所示的,在解碼MEM指令時(shí)進(jìn)行執(zhí)行MEM指令的第一步。存儲(chǔ)在索引寄存器中的地址被讀出并且用于同時(shí)從內(nèi)部存儲(chǔ)器32中的地址X存取點(diǎn)1和點(diǎn)2值。然后該地址遞增指到下一個(gè)地址X+2。
      然后增量1和增量2值同時(shí)地產(chǎn)生。產(chǎn)生增量1值作為從系統(tǒng)輸入寄存器64的內(nèi)容減去點(diǎn)1值的結(jié)果。產(chǎn)生增量2值作為從點(diǎn)2值減法系統(tǒng)輸入寄存器64的內(nèi)容的結(jié)果。增量1和增量2值都存儲(chǔ)在增量寄存器60中。
      接著,如果點(diǎn)1值等于$00,則認(rèn)定ZP2信號(hào)并以二進(jìn)制1的值鎖存。類似地,如果點(diǎn)2值等于$FF,則認(rèn)定ZP4信號(hào)并以二進(jìn)制1的值鎖存。
      然后從內(nèi)部存儲(chǔ)器32的地址X+2檢索斜率1和斜率2值,并且同時(shí)存入數(shù)據(jù)緩沖器42中。然后遞增該地址指到下一個(gè)地址X+4。
      檢驗(yàn)增量1和增量2值確定是否任一個(gè)值是否定的。如果增量1或增量2值地否定的,則系統(tǒng)輸入值在目前檢驗(yàn)的隸屬集之外。因此,數(shù)據(jù)緩沖器42的內(nèi)容被清除以強(qiáng)制隸屬程度為$00。另外分別存儲(chǔ)在鎖存器136和130中的ZP2和ZP4值被清除。
      接著,每個(gè)增量1和增量2值的上四比特被檢驗(yàn)以便確定任一個(gè)值是否等于十六進(jìn)制值$0。如果增量1值的上四比特等于$0,則認(rèn)定Z1標(biāo)記。類似地,如果增量2值的上四比特等于$0,則認(rèn)定Z3標(biāo)記。
      如果認(rèn)定Z1標(biāo)記,則增量1值是乘數(shù)1值即斜率1值是被乘數(shù)1值。否則,斜率1值是乘數(shù)1值,而增量1值是被乘數(shù)1值。如果認(rèn)定Z3標(biāo)記,則增量2值是乘數(shù)2值,而斜率2值是被乘數(shù)2值。否則,斜率2值是乘數(shù)2值即增量2值是被乘數(shù)1值。
      接著產(chǎn)生增量1值和斜率1值的乘積。另外,同時(shí)在兩個(gè)同時(shí)乘法運(yùn)算中產(chǎn)生增量2值與斜率2值的乘積。
      如果增量1值與斜率1值乘積大于$FF,則認(rèn)定高飽和標(biāo)記(S高)。另外,如果認(rèn)為J高信號(hào)則認(rèn)定S高信號(hào)。如果斜率1或增量1值在其上四比特中具有十六進(jìn)制值$0,則認(rèn)定J高。在點(diǎn)1和斜率1值具有十六進(jìn)制值$00的特殊情況下也認(rèn)定J高。如果點(diǎn)1值等于$00,則認(rèn)定ZP2信號(hào),而如果斜率1值等于$00,則認(rèn)定Z2信號(hào)。
      類似地,如果增量2值與斜率2值的乘積大于$FF,則認(rèn)定低飽和標(biāo)記(S低)。另外,如果認(rèn)定J低信號(hào),則認(rèn)定S低信號(hào),如果斜率2或增量2值在其上四比特中具有十六進(jìn)制值$0,則認(rèn)定J低。另外,Z1和Z2信號(hào)必須是否定的。在點(diǎn)2值具有十六進(jìn)制值$FF和斜率2值具有十六進(jìn)制值$00的特殊情況下也認(rèn)定J低。如果點(diǎn)2值等于$FF,由認(rèn)定ZP4信號(hào),而如果斜率2值等于$00,則認(rèn)定Z4信號(hào)。如果Z4和ZP1信號(hào)都被認(rèn)定,則認(rèn)定JP低信號(hào)指示檢測(cè)到終止情況。
      如果認(rèn)定S高和S低信號(hào),則系統(tǒng)輸入的隸屬程度是$FF。如果S高是否定的而S低被認(rèn)定,則系統(tǒng)輸入的隸屬程度等于增量1值與斜率1值的乘積。否則,隸屬程度等于增量2與斜率2值的乘積。
      然后該隸屬程度提供給由該用戶規(guī)定的內(nèi)部存儲(chǔ)器32中的地址,而且終止MEM指令的執(zhí)行。
      圖8所示的流程圖提供在數(shù)據(jù)處理系統(tǒng)10中MEM指令執(zhí)行的概況,下面給出更詳細(xì)的例子。
      在操作期間,用戶可通過(guò)在外部的存儲(chǔ)或存儲(chǔ)在內(nèi)部存儲(chǔ)器32中的軟件程序提供MEM指令給數(shù)據(jù)處理系統(tǒng)10。如果MEM指令由數(shù)據(jù)處理系統(tǒng)10外部的一個(gè)信源提供,則該MEM指令應(yīng)經(jīng)過(guò)外部數(shù)據(jù)總線33輸入到外部總線接口30。外部總線接口30隨后經(jīng)過(guò)內(nèi)部數(shù)據(jù)總線34提供該MEM指令給CPU12。如果該MEM指令是由內(nèi)部存儲(chǔ)器32中的軟件程序提供的,則該MEM指令應(yīng)經(jīng)過(guò)內(nèi)部數(shù)據(jù)總線34提供給CPU12。在CPU12中,執(zhí)行單元14響應(yīng)從每個(gè)總線控制邏輯電路16,控制單元20和順序器22接收的控制信號(hào)提供MEM指令給指令解碼邏輯電路18。隨后指令解碼邏輯電路18解碼該MEM指令,提供恰當(dāng)執(zhí)行MEM指令需要的多個(gè)控制和信息信號(hào)。
      當(dāng)收到和解碼該MEM指令時(shí),執(zhí)行單元14開始模糊系統(tǒng)輸入需要的步驟。如前所述,指定被模糊的一個(gè)值的系統(tǒng)輸入,在執(zhí)行MEM指令之前由數(shù)據(jù)處理系統(tǒng)10的用戶存儲(chǔ)在系統(tǒng)輸入寄存器64中。
      除了系統(tǒng)輸入值外,還要求數(shù)據(jù)處理系統(tǒng)10的用戶輸入四個(gè)值,它們規(guī)定在模糊邏輯運(yùn)算的特定實(shí)施例中的每個(gè)隸屬集。例如在圖1中,如果溫度被模糊,帖需要規(guī)定五個(gè)隸屬集。因此,在整個(gè)系統(tǒng)中共需要20個(gè)值以便充分地區(qū)別每個(gè)隸屬集。如前所述和圖2中所示的,識(shí)別單個(gè)隸屬集所要求的值是點(diǎn)1、點(diǎn)2、斜率1和斜率2。這些邊界的每個(gè)邊界以八比特二進(jìn)制值表示。
      在模糊運(yùn)算期間,每個(gè)隸屬集必須對(duì)于系統(tǒng)輸入值進(jìn)行評(píng)價(jià)。在圖1所示的模糊邏輯系統(tǒng)的情況下,對(duì)于系統(tǒng)輸入溫度出現(xiàn)五個(gè)隸屬集評(píng)定。因此,重要的是使確定每個(gè)隸屬集中的隸屬程度需要的時(shí)間量最小。
      索引寄存器中的指示符指到內(nèi)部存儲(chǔ)器32中點(diǎn)1值的一個(gè)地址。當(dāng)從內(nèi)部存儲(chǔ)器32存取時(shí),點(diǎn)1值經(jīng)過(guò)外部信息總線40提供給數(shù)據(jù)緩中器42。數(shù)據(jù)緩沖器42經(jīng)過(guò)信息總線A66傳送點(diǎn)1值到A輸入復(fù)用器54。A輸入復(fù)用器54隨后提供點(diǎn)1值給ALU56,它從該系統(tǒng)輸入值中減去以提供增量1值。增量1值經(jīng)過(guò)信息總線B68提供給增量寄存器60。另外,數(shù)據(jù)緩沖器42經(jīng)過(guò)緩中的數(shù)據(jù)1信號(hào)提供點(diǎn)1值給標(biāo)記產(chǎn)生邏輯電路48。在圖5的標(biāo)記產(chǎn)生邏輯電路48中,點(diǎn)1值的每比特提供給“或非”門112的一個(gè)輸入端?!盎蚍恰边\(yùn)算的結(jié)果Z2信號(hào)在根據(jù)定時(shí)控制信號(hào)確定的時(shí)間點(diǎn)上存儲(chǔ)在鎖存器136中。
      在本發(fā)明的這個(gè)實(shí)施例中,點(diǎn)1和點(diǎn)2值同時(shí)地從內(nèi)部存儲(chǔ)器32中被存取。這兩個(gè)值經(jīng)過(guò)外部信息總線40傳送到數(shù)據(jù)緩中器42。數(shù)據(jù)緩沖器42經(jīng)過(guò)信息總線B68傳送點(diǎn)2值到B輸入復(fù)用器58。隨后B輸入復(fù)用器58提供點(diǎn)2值到ALU56,在這里減去系統(tǒng)輸入值提供增量2值。信息總線B68提供增量2值給增量寄存器60。另外,數(shù)據(jù)緩沖器42經(jīng)過(guò)緩沖的數(shù)據(jù)2信號(hào)提供點(diǎn)2值給標(biāo)記產(chǎn)生邏輯電路48。在圖5的標(biāo)記產(chǎn)生邏輯電路48中,點(diǎn)2值的每比特提供給“與”門138的一個(gè)輸入端。在根據(jù)定時(shí)控制信號(hào)確定的時(shí)間點(diǎn)上“與”門運(yùn)算的結(jié)果存儲(chǔ)在鎖存器130中。與運(yùn)算檢測(cè)點(diǎn)2值是否等于$FF。
      ALU56執(zhí)行上述的每個(gè)減法運(yùn)算,以便同時(shí)地計(jì)算增量1和增量2值。當(dāng)在正常運(yùn)算模式時(shí),ALU56執(zhí)行16比特算術(shù)運(yùn)算。另外,在分離運(yùn)算模式時(shí)ALU56能夠同時(shí)執(zhí)行兩個(gè)獨(dú)立的八比特計(jì)算。因?yàn)橥瑫r(shí)進(jìn)行兩個(gè)八比特計(jì)算,沒(méi)有未使用的周期,如對(duì)只執(zhí)行16比特運(yùn)算的一個(gè)ALU的情況那樣。因此,當(dāng)執(zhí)行八比特算法時(shí),ALU56大大地增加執(zhí)行單元14的速度和效率。隨后將更詳細(xì)地討論ALU56的運(yùn)算。
      隨后索引寄存器中的指示符指到內(nèi)部存儲(chǔ)器32中斜率1值的一個(gè)地址。內(nèi)部存儲(chǔ)器32經(jīng)過(guò)外部信息總線40提供八比特斜率1值和八比特斜率2值給數(shù)據(jù)緩沖器42。數(shù)據(jù)緩沖器42經(jīng)過(guò)16比特緩沖的數(shù)據(jù)信號(hào)傳送這兩個(gè)斜率值給標(biāo)記產(chǎn)生邏輯電路48。
      當(dāng)計(jì)算增量1和增量2值并接收斜率1和斜率2值時(shí),啟動(dòng)標(biāo)記產(chǎn)生邏輯電路48產(chǎn)生用于確定目前被檢驗(yàn)的隸屬集中隸屬程度所需要的多個(gè)標(biāo)記。如圖5中所示的,增量1、增量2、斜率1和斜率2值的上四比特分別提供給“或非”門110、“或非”門116、“或非”門140和“或非”門146。
      “或非”門140產(chǎn)生S2信號(hào)而“或非”門146產(chǎn)生S4信號(hào)。當(dāng)斜率1值的上四比特具有十六進(jìn)制值$0時(shí),認(rèn)定S2信號(hào)。類似地,當(dāng)斜率2值的上四比特具有十六進(jìn)制值$0時(shí),認(rèn)定S4信號(hào)。
      在標(biāo)記產(chǎn)生邏輯電路48中,斜率1和斜率2值由緩沖的數(shù)據(jù)信號(hào)分別提供給“或非”門112和“或非”門118。當(dāng)斜率1值等于十六進(jìn)制$00時(shí),認(rèn)定Z2標(biāo)記。由“或非”門112產(chǎn)生的Z2標(biāo)記提供給鎖存器136的數(shù)據(jù)輸入和“與”門134。當(dāng)定時(shí)控制信號(hào)具有第一預(yù)定邏輯值時(shí)Z2標(biāo)記被鎖存在鎖存器136中。另外,當(dāng)定時(shí)控制信號(hào)具有第二預(yù)定值時(shí),鎖存器136提供先前鎖存的ZP2信號(hào)給“與”門134用于產(chǎn)生JP高信號(hào)。
      當(dāng)斜率2值等于十六進(jìn)制$00時(shí),認(rèn)定Z4標(biāo)記。由“或非”門118產(chǎn)生的Z4標(biāo)記提供給“與”門132?!芭c”門138的輸出提供給鎖存器130的數(shù)據(jù)輸入端。當(dāng)定時(shí)控制信號(hào)具有第一預(yù)定邏輯值時(shí),“與”門138的輸出鎖存在鎖存器130中。另外,當(dāng)定時(shí)控制信號(hào)具有第二預(yù)定邏輯值時(shí),鎖存器130提供先前鎖存的ZP4信號(hào)給“與”門132。“與”門132用于產(chǎn)生JP低信號(hào)。JP低信號(hào)的狀態(tài)鎖存在圖4的條件碼寄存器69中,以便記錄已檢測(cè)到終止情況。
      只當(dāng)增量1值的上四個(gè)比特的每個(gè)比特是否定時(shí),才認(rèn)定Z1標(biāo)記信號(hào)。類似地,在增量2值的上四個(gè)比特具有十六進(jìn)制值$0時(shí),才認(rèn)定Z3標(biāo)記信號(hào)。隨后操作數(shù)指定步驟期間使用每個(gè)標(biāo)記Z1和Z3,下面將更詳細(xì)地討論。
      除了增量1和增量2值之外,結(jié)果總線120傳送N高和N低信號(hào)到“或”門114以產(chǎn)生Nmem信號(hào)。如果由ALU56提供的增量2值小于零,則認(rèn)定N低信號(hào)。類似地,如果由ALU56提供的增量1值小于零,則認(rèn)定N高信號(hào)。如前所述,如果增量1或增量2值小于零,則系統(tǒng)輸入不是正在檢查的隸屬集的一部分。
      因此,當(dāng)認(rèn)定Nmem信號(hào)時(shí),系統(tǒng)輸入在目前所檢驗(yàn)的隸屬集中具有零隸屬程度。隨后,Nmem信號(hào)提供給A輸入控制邏輯電路52。當(dāng)被認(rèn)定時(shí),Nmem信號(hào)啟動(dòng)A輸入控制邏輯電路52,認(rèn)定A控制信號(hào),使得A輸入復(fù)用器54提供十六進(jìn)制值$00給ALU56。隨后,ALU56經(jīng)過(guò)信息總線B68提供值$00給數(shù)據(jù)緩沖器42。
      另外,當(dāng)認(rèn)定Nmem信號(hào)時(shí),鎖存器130被復(fù)位,使得ZP4信號(hào)被否定。因此,JP低信號(hào)可能不是錯(cuò)誤地認(rèn)定的。類似地,鎖存器136被復(fù)位,使得ZP2信號(hào)被否定。因此,JP高信號(hào)可能不是錯(cuò)誤地認(rèn)定的。
      Nmem信號(hào)、Si信號(hào)和Z1信號(hào)都提供給“或非”門142以產(chǎn)生JS高信號(hào)。然后將JS高和JP高信號(hào)“或”運(yùn)算,提供J高信號(hào)。
      JP高信號(hào)用于指示點(diǎn)1值和斜率1值具有十六進(jìn)制值$00的特殊情況。如果隸屬集是部分梯形設(shè)置的以使得隸屬程度在點(diǎn)1邊界值具有$FF值,則將出現(xiàn)這種情況。圖1所示的“冷”溫度隸屬函數(shù)是這種特殊情況的一個(gè)例子。當(dāng)輸入值落入正評(píng)價(jià)的隸屬集內(nèi)時(shí),J高信號(hào)提供給ALU56值迫使認(rèn)定飽和標(biāo)記S高。如果Z1、S2和Nmem信號(hào)都是否定的,則認(rèn)定J高信號(hào)。這相應(yīng)于增量1或斜率1值都不是$0F或更小的情況,而且目前輸入在該隸屬集中。
      Nmem信號(hào)、S4信號(hào)和Z3信號(hào)都提供給“或非”門148以產(chǎn)生JS低信號(hào)。JS低信號(hào)和JP低信號(hào)進(jìn)行“或”運(yùn)算提供J低信號(hào)。
      J低信號(hào)用于指示點(diǎn)2值具有十六進(jìn)制值$FF和斜率2值具有十六進(jìn)制值$00的特殊情況。如果隸屬集是部分梯形放置的以使得在點(diǎn)2邊界值隸屬程度結(jié)束在$FF,則可能出現(xiàn)這種情況。當(dāng)然,當(dāng)增量2和斜率2值的乘積大于$FF時(shí),也認(rèn)定J低信號(hào)。但是,當(dāng)認(rèn)定時(shí),信號(hào)JP低只指示結(jié)束在$FF的模糊集和指示最后模糊集的斜率2的$00,因此,終止對(duì)目前系統(tǒng)輸入值的模糊。圖1是所示的“熱”溫度隸屬函數(shù)是這個(gè)特殊情況的一個(gè)例子。當(dāng)該輸入值落入目前正評(píng)價(jià)的隸屬集內(nèi)時(shí),J低信號(hào)提供給ALU56值迫使飽和標(biāo)記S低被認(rèn)定。如果Z3、S4和Nmem信號(hào)都被否定時(shí),也認(rèn)定J低信號(hào)。這相應(yīng)于增量2或斜率2值都不是$0F或更小的情況,而且目前的輸入在該隸屬集內(nèi)。
      但是,如果系統(tǒng)輸入值是在目前在檢查的隸屬集中時(shí),Nmem信號(hào)被否定,Z1和Z3信號(hào)提供給操作數(shù)指定邏輯電路50和結(jié)果選擇邏輯電路46,以便確定在該隸屬集中的隸屬程度。
      隸屬集中的隸屬程度是通過(guò)得到在定義隸屬集的梯形中的飽和點(diǎn),增量1與斜率1乘積或增量2與斜率2乘積的最小值確定的。在圖2所示的例子中,該飽和點(diǎn)可具有十六進(jìn)制值$FF,它被翻譯為小數(shù)0.996。
      為了計(jì)算增量1與斜率1的乘積和增量2與斜率2的乘積,已研究出一種保證快速乘運(yùn)算的方法。正如本領(lǐng)域所共知的,當(dāng)乘數(shù)小于被乘數(shù)時(shí),乘運(yùn)算更快地完成。如在這個(gè)例子中那樣,如果隸屬集的飽和值是$FF,數(shù)學(xué)分析表明構(gòu)成乘積的增量或斜率至少一個(gè)必須小于或等于$0F。但是,在目前系統(tǒng)輸入值在隸屬之外或隸屬集的飽和區(qū)中的時(shí)候,希望出現(xiàn)這個(gè)情況。
      通過(guò)檢驗(yàn)增量和斜率值的每個(gè)值的四個(gè)上部順序比特,具有十六進(jìn)制值$0F或更小的第一項(xiàng)可用作乘數(shù)。因此,完成乘法運(yùn)算需要的時(shí)間縮短了。如果增量1和斜率1值都具有十六進(jìn)制值大于$0F,則J高信號(hào)迫使S高飽和標(biāo)記被認(rèn)定。類似地,如果增量2和斜率2值都具有大于$0F的十六進(jìn)制值,則J低信號(hào)迫迫使S低飽和標(biāo)記被認(rèn)定。
      Z1標(biāo)記信號(hào)用于指示增量1或斜率1值是否應(yīng)四比特乘數(shù)1信號(hào)提供。類似地,Z3標(biāo)記信號(hào)用于指示增量2或斜率2值是否應(yīng)作為四比特乘數(shù)2信號(hào)提供。圖6中所示的操作數(shù)指定邏輯電路50提供用于確定被執(zhí)行的兩個(gè)乘法運(yùn)算的每個(gè)運(yùn)算的乘數(shù)的值的一個(gè)實(shí)施例。
      如圖6所示,復(fù)用器72確定增量1或斜率1值是否應(yīng)該指定給4比特乘數(shù)1信號(hào)。如果認(rèn)定Z1標(biāo)記信號(hào),則增量1值經(jīng)過(guò)4比特乘數(shù)1信號(hào)傳送。如果不認(rèn)定Z1信號(hào),則4比特乘數(shù)1信號(hào)被指定斜率1值。另外,如果認(rèn)定Z1信號(hào),則復(fù)用器74提供斜率1值給A高作為8比特被乘數(shù)1信號(hào)。如果Z1信號(hào)被否定,則增量1值指定給8比特被乘數(shù)1信號(hào)。
      類似地,復(fù)用器76確定增量2或斜率2是否根據(jù)Z3標(biāo)記信號(hào)的值指定給乘數(shù)2信號(hào)。如果認(rèn)為Z3標(biāo)記信號(hào),則復(fù)用器76提供增量2信號(hào)作為乘數(shù)2信號(hào)。如果不認(rèn)定Z3信號(hào),則4比特乘數(shù)2信號(hào)被指定斜率2值。另外,如果認(rèn)定Z3標(biāo)記信號(hào),則復(fù)用器78提供斜率2信號(hào)作為被乘數(shù)2信號(hào)。如果Z3信號(hào)被否定,則增量2值指定給8比特被乘數(shù)1信號(hào)。
      乘數(shù)1和乘數(shù)2信號(hào)從操作數(shù)指定邏輯電路50傳送到A輸入控制邏輯電路52。A輸入控制邏輯電路52處理每個(gè)乘數(shù)1和乘數(shù)2信號(hào),提供確定A輸入復(fù)用器54的特別移位操作的A控制信號(hào)。
      在運(yùn)算期間,乘數(shù)1信號(hào)或者是增量1或者是斜率1,它提供給A輸入控制邏輯電路52,確定被乘數(shù)1信號(hào)是否應(yīng)該移位0、1或2以執(zhí)行第一乘法運(yùn)算。另外,A輸入控制邏輯電路52可使被乘數(shù)1信號(hào)為負(fù)或0。該A控制信號(hào)提供給A輸入復(fù)用器54指示執(zhí)行運(yùn)算的類型。被乘數(shù)1信號(hào)經(jīng)過(guò)信息總線A66的高側(cè)傳送到A輸入復(fù)用器54。A輸入控制邏輯電路52根據(jù)A控制信號(hào)修改被乘數(shù)1信號(hào)并且提供修改的被乘數(shù)1信號(hào)給ALU56。類似地,或者為增量2或者為斜率2值的乘數(shù)2信號(hào)也提供給A輸入控制邏輯電路52。乘數(shù)2信號(hào)用于移位被乘數(shù)2信號(hào)或者0、1或者2以便同時(shí)地執(zhí)行第二乘法運(yùn)算。另外,A輸入控制邏輯電路52可使被乘數(shù)2信號(hào)為負(fù)或0。乘數(shù)2信號(hào)經(jīng)過(guò)信息總線A66的低側(cè)傳送到A輸入復(fù)用器54。A輸入控制邏輯電路52根據(jù)A控制信號(hào)修改被乘數(shù)2信號(hào),隨后提供修改的被乘數(shù)2信號(hào)給ALU56。
      B輸入復(fù)用器58的控制是由在MEM指令解碼期間產(chǎn)生的并且經(jīng)過(guò)微ROM控制總線65傳送的外部微ROM控制信號(hào)提供的。這種微ROM控制信號(hào)的產(chǎn)生、發(fā)送和使用在數(shù)據(jù)處理領(lǐng)域中是眾所周知的,因此這里不詳細(xì)地討論。在這里敘述的例子中,初始化的部分乘積$00經(jīng)過(guò)B輸入復(fù)用器58提供給ALU56。
      在從A輸入控制邏輯電路52收到適當(dāng)?shù)腁控制信號(hào)時(shí),A輸入復(fù)用器54分別提供修改的被乘數(shù)1和修改的被乘數(shù)2信號(hào)給ALU56的高側(cè)和低側(cè)。B輸入復(fù)用器58同時(shí)地分別提供初始化的部分乘積給ALU56的高側(cè)和低側(cè)。
      圖7示出ALU56的細(xì)節(jié)。在運(yùn)算期間,修改的被乘數(shù)2信號(hào)提供中法器92至100的一個(gè)相應(yīng)的加法器。標(biāo)注“aq”的修改被乘數(shù)2信號(hào)的比特接到加法器92的第一輸入端。類似地,修改的被乘數(shù)2信號(hào)的比特8至0分別接到加法器94、96、98和100的第一輸入端。標(biāo)注“bq”的初始化部分乘積比特9接到加法器92的第二輸入端。初始化的部分乘積的比特8至0也分別接到加法器94、96、98和100的第二輸入端。
      標(biāo)注“C0”的進(jìn)位信號(hào)提供給加法器100的第三輸入端。響應(yīng)所執(zhí)行的運(yùn)算和乘數(shù)2信號(hào)值,C0信號(hào)一般由ALU56外部信源提供。根據(jù)三個(gè)輸入信號(hào)的每個(gè)信號(hào),加法器100提供三個(gè)輸出信號(hào)。第一輸出信號(hào)S0信號(hào)等于(1)s0=a0≈b0≈c0。第二輸出信號(hào)是產(chǎn)生(the generate)或G0信號(hào),它等于(2)G0=a0·b0。第三輸出信號(hào)是廣播或P0信號(hào),它等于(3)P0=a0+b0。
      響應(yīng)G0和P0信號(hào),低進(jìn)位先行邏輯電路104產(chǎn)生提供給加法器98的第三輸入端的C1信號(hào)。C1信號(hào)表示為(4)C1=G0+P0·C0。響應(yīng)每個(gè)a1、b1和C1信號(hào),加法器98提供標(biāo)注“G1”的產(chǎn)生信號(hào)和標(biāo)注“P1”的廣播信號(hào)給低進(jìn)位先行邏輯電路104。
      響應(yīng)G1、P1和C1信號(hào),低進(jìn)位先行邏輯電路104產(chǎn)生提供給加法器96的第三輸入端的C2信號(hào)。C2信號(hào)由下式計(jì)算(5)C2=G1+P1·(G0+P0)·C0。然后加法器96提供標(biāo)注“G2”的產(chǎn)生信號(hào)和標(biāo)注“P2”的廣播信號(hào)給低進(jìn)位先行邏輯電路104。
      隨后,低進(jìn)位先行邏輯電路104產(chǎn)生一個(gè)進(jìn)位信號(hào),它提供給ALU56低側(cè)的每個(gè)其余加法器(94、92)的第三輸入端。每個(gè)其余的進(jìn)位信號(hào)被計(jì)算作為前面的產(chǎn)生項(xiàng)和前面廣播與進(jìn)位項(xiàng)乘積之和。雖然這里未示出,附加的加法器用于計(jì)算由A輸入低側(cè)和B輸入低側(cè)提供的值的比特3至7的和。
      在從最后加法器92收到廣播和產(chǎn)生項(xiàng)時(shí),低進(jìn)位先行邏輯電路104提供標(biāo)注“C10”的進(jìn)位信號(hào)。C10信號(hào)提供給緩中器90。響應(yīng)分離方式控制信號(hào),緩沖器90或者傳送C10進(jìn)位信號(hào)到ALU56高側(cè)的下一個(gè)加法器,或者提供在其中產(chǎn)生的另一個(gè)進(jìn)位值。分離方式控制信號(hào)由外部信源提供給執(zhí)行單元14。例如,在MEM指令執(zhí)行期間,分離方式控制信號(hào)在指令解碼期間產(chǎn)生。另外,分離方式控制信號(hào)可由一個(gè)信源而不是指令提供,該指令由數(shù)據(jù)處理系統(tǒng)10的用戶規(guī)定。
      如果C10進(jìn)位信號(hào)作為Cin進(jìn)位信號(hào)傳送到加法器88,則ALU56作為本領(lǐng)域眾所周知的典型的16比特運(yùn)算邏輯單元工作。但是,如果Cin進(jìn)位信號(hào)由不是低進(jìn)位先行邏輯電路104的一個(gè)信源提供,ALU56以分離運(yùn)算方式運(yùn)算。在分離運(yùn)算方式中,ALU56可同時(shí)提供不相關(guān)的兩個(gè)8比特結(jié)果。在MEM指令執(zhí)行期間,ALU56以分離運(yùn)算方式工作,以便同時(shí)地提供增量1與斜率1信號(hào)的乘積和增量2與斜率2信號(hào)的乘積。另外,在分離方式工作時(shí),ALU56還同時(shí)地計(jì)算增量1和增量2值。因此,以分離運(yùn)算方式工作,ALU56能夠更快和有效的提供8比特運(yùn)算結(jié)果。
      另外,在ALU56中低狀態(tài)標(biāo)記電路108提供有關(guān)ALU56低側(cè)運(yùn)算的狀態(tài)信息。低狀態(tài)標(biāo)記電路108提供多個(gè)狀態(tài)信號(hào)S低、V低、N低、H低和Z低,每個(gè)狀態(tài)信號(hào)經(jīng)過(guò)結(jié)果總線120傳送。雖然在這里未示出,加法器92至100的每個(gè)輸出提供給低狀態(tài)標(biāo)記電路108。這種路由選擇在數(shù)據(jù)處理技術(shù)中是公知的,而且本領(lǐng)域的普通技術(shù)人員很容易實(shí)現(xiàn)。每個(gè)狀態(tài)信號(hào)通過(guò)組合由ALU56低側(cè)產(chǎn)生的多個(gè)和與進(jìn)位信號(hào)確定。
      在這里敘述的本發(fā)明的實(shí)施例中,S低信號(hào)由下式表示(6)S低=S9+S8+J低V低、N低、H低和Z低信號(hào)可分別表示如下(7) V低=C6≈C7,(8) N低=S8,(9) H低=C3和(10)Z低=S7+S6+S5+…+S0另外,由每個(gè)加法器92至100輸出的和信號(hào)從ALU56經(jīng)過(guò)結(jié)果總線120傳送。由加法器92至100輸出的每個(gè)和信號(hào)代表乘數(shù)2和被乘數(shù)2信號(hào)乘積的相應(yīng)比特。而乘數(shù)2和被乘數(shù)2信號(hào)的乘積等于增量2和斜率2信號(hào)的乘積。
      在運(yùn)算期間,ALU56的高等級(jí)側(cè)功能類似于低等級(jí)側(cè)。標(biāo)注“Cin”的進(jìn)位信號(hào)提供給加法器88的第三輸入端。如前所述,Cin信號(hào)或者可由ALU56外部的一個(gè)信源或者從低進(jìn)位先行邏輯電路104由C10進(jìn)位信號(hào)提供。根據(jù)三個(gè)輸入信號(hào)的每個(gè)信號(hào),加法器88提供三個(gè)輸出信號(hào)。第一輸出信號(hào)S10信號(hào)等于(11)S10=a10≈b10≈Cin。第二輸出信號(hào)是產(chǎn)生或G10信號(hào),它等于(12)G10=a10·b10。第三輸出信號(hào)是廣播或P10信號(hào),它等于(13)P10=a10+b10。
      響應(yīng)G10和P10信號(hào),高進(jìn)位先行邏輯電路102產(chǎn)生提供給加法器86的第三輸入端的C11信號(hào)。C11信號(hào)表示如下(14)C11=G10+P10·C10。響應(yīng)每個(gè)a11、b11和C11信號(hào),加法器86提供標(biāo)注“G11”的產(chǎn)生信號(hào)和標(biāo)注“P11”的廣播信號(hào)給高進(jìn)位先行邏輯電路102。
      響應(yīng)G11,P11和C11信號(hào),高進(jìn)位先行邏輯電路102產(chǎn)生提供給加法器84的第三輸入端的C12信號(hào)。C12信號(hào)由下式計(jì)算(15)C12=G11+P11(G10+P10)C10然后加法器84提供標(biāo)注“G12”的產(chǎn)生信號(hào)和標(biāo)注“P12”的廣播信號(hào)到高進(jìn)位先行邏輯電路102。
      隨后,高進(jìn)位先行邏輯電路102產(chǎn)生一個(gè)進(jìn)位信號(hào),它提供給ALU56高側(cè)的每個(gè)其余加法器(80,82)的第三輸入端。每個(gè)其余進(jìn)位信號(hào)被計(jì)算作為前面產(chǎn)生項(xiàng)和前面廣播與進(jìn)位項(xiàng)乘積之和。雖然這里未示出,附加的加法器用于計(jì)算由A輸入高側(cè)和B輸入高側(cè)提供的值的比特3至17的和。
      在從最后加法器80收到廣播和產(chǎn)生項(xiàng)時(shí),高進(jìn)位先行邏輯電路102提供標(biāo)注“C20”的進(jìn)位信號(hào)。C20信號(hào)從ALU56經(jīng)過(guò)結(jié)果總線120輸出用于隨后的運(yùn)算中。
      另外,在ALU56中,高狀態(tài)標(biāo)記電路106提供有關(guān)ALU56高側(cè)運(yùn)算的狀態(tài)信息。高狀態(tài)標(biāo)記電路106提供多個(gè)狀態(tài)信號(hào)S高,V高,N高,H高和Z高,每個(gè)狀態(tài)信號(hào)經(jīng)過(guò)結(jié)果總線120傳送。加法器80至88的每個(gè)輸出提供給高狀態(tài)標(biāo)記電路106。而且,這種路由選擇在數(shù)據(jù)處理技術(shù)中是公知的,而且本領(lǐng)域的普通技術(shù)人員很容易實(shí)現(xiàn)。每個(gè)狀態(tài)信號(hào)通過(guò)組合由ALU56高側(cè)產(chǎn)生的多個(gè)和與進(jìn)位信號(hào)確定。
      在這里敘述的本發(fā)明的實(shí)施例中,S高信號(hào)以下式表示(16)S高=S19+S18+J高V高、N高和H高信號(hào)可分別表示如下(17)V高=C16≈C17,(18)N高=S18,(19)H高=C13,和(20)Z高=S19+S18+S17+…+S10另外,由每個(gè)加法器80至88輸出的和信號(hào)從ALU56經(jīng)過(guò)結(jié)果總線120傳送。由加法器80至88輸出的每個(gè)和信號(hào)代表乘數(shù)1和被乘數(shù)1信號(hào)乘積的相應(yīng)比特。而乘數(shù)1和被乘數(shù)1信號(hào)之積等于增量1與斜率1信號(hào)之積。
      從ALU56高側(cè)和低側(cè)來(lái)的每個(gè)狀態(tài)比特隨后提供到結(jié)果選擇邏輯電路46。結(jié)果選擇邏輯電路46隨后使用每個(gè)S低和S高信號(hào)確定增量1與斜率1信號(hào)之積、增量2和斜率2信號(hào)之積或者飽和值$FF是否應(yīng)作為所檢驗(yàn)隸屬集中隸屬程度提供。
      在系統(tǒng)輸入值落入隸屬集梯形的所有情況下,或者認(rèn)定S高,認(rèn)定S低,或者認(rèn)定S高和S低二者。如果認(rèn)定S低和S高信號(hào),系統(tǒng)輸入是具有飽和點(diǎn)(在這個(gè)例子中為$FF)的隸屬程度的,所檢驗(yàn)的隸屬集的一部分。因此,當(dāng)認(rèn)定S低和S高信號(hào)時(shí),結(jié)果選擇邏輯電路46認(rèn)定該強(qiáng)制$FF信號(hào)以強(qiáng)制數(shù)據(jù)緩沖器42的內(nèi)容為$FF,它指示系統(tǒng)輸入是隸屬集的一部分并具有隸屬程度$FF。
      如果認(rèn)定S低信號(hào),但是否定S高信號(hào),則結(jié)果選擇邏輯電路46認(rèn)定該選擇信號(hào),以在數(shù)據(jù)緩沖器42中存儲(chǔ)增量1與斜率1信號(hào)之積。類似地,如果否定S低信號(hào)而認(rèn)定S高信號(hào),則結(jié)果選擇邏輯電路否定該選擇信號(hào),以便在數(shù)據(jù)緩沖器42中存儲(chǔ)增量2與斜率2信號(hào)之積。
      如果否定S高和A低,則系統(tǒng)輸入值不在由該邊界值規(guī)定的隸屬集梯形內(nèi)。在系統(tǒng)輸入值落在隸屬集梯形外的所有情況下,將認(rèn)定Nmem信號(hào)。Nmem信號(hào)又使A輸入控制邏輯電路52在乘運(yùn)算期間選擇0輸入到ALU56。結(jié)果選擇邏輯電路46否定強(qiáng)制$FF信號(hào)和該選擇信號(hào),而十六進(jìn)制值$00存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器42中。因此,結(jié)果選擇邏輯電路46確定MEM隸屬計(jì)算程度結(jié)果值并且提供該結(jié)果給數(shù)據(jù)緩沖器42。當(dāng)執(zhí)行單元14外部的信源請(qǐng)求時(shí),數(shù)緩沖器42經(jīng)過(guò)外部信息總線40提供該結(jié)果。
      這里已提供一種電路和方法,使用單個(gè)軟件指令確定在隸屬集中的隸屬程度。在這里所述的例子中,該軟件指令是MEM指令。當(dāng)以MEM指令編程時(shí),數(shù)據(jù)處理系統(tǒng)10能夠以單個(gè)軟件指令確定在隸屬集中隸屬程度,該指令可非??斓貓?zhí)行。前面的實(shí)施例已要求過(guò)量的軟件碼,典型地要求顯著地更多時(shí)間執(zhí)行。在實(shí)現(xiàn)隸屬程度計(jì)算的典型軟件程度中,MEM指令將減少大量的軟件指令。例如,使用MC68HC11指令集實(shí)現(xiàn)的軟件程序典型地要求31個(gè)指令執(zhí)行隸屬程度計(jì)算。MEM指令代替MC68HC11程序的所有31個(gè)指令。另外,MEM指令提供比前面隸屬程度計(jì)算的軟件實(shí)現(xiàn)快多達(dá)71周期的結(jié)果。
      MEM指令能夠更快和有效地實(shí)現(xiàn)隸屬程度計(jì)算,因?yàn)樗菙?shù)據(jù)處理系統(tǒng)10的指令集的一個(gè)部分。眾所周知,該指令集一部分的一個(gè)指令比外部程序更快地執(zhí)行,該外部程序編程數(shù)據(jù)處理系統(tǒng)10以模仿該指令。另外,由操作數(shù)指定邏輯電路50還用于增強(qiáng)實(shí)現(xiàn)MEM指令的數(shù)據(jù)處理系統(tǒng)10的性能。操作數(shù)指定邏輯電路50識(shí)別在隸屬程度計(jì)算期間使用的至少一個(gè)乘數(shù)或被乘數(shù)必須具有在上四比特中的十六進(jìn)制值$0。因此,使上四比特具有$0的值為乘數(shù),則該乘法運(yùn)算將顯著地縮短并且以更及時(shí)的方式完成。
      另外,以分離方式運(yùn)算ALU56,可同時(shí)產(chǎn)生8比特結(jié)果,進(jìn)一步節(jié)省時(shí)間。ALU56提供一個(gè)獨(dú)特的電路,在分離運(yùn)算方式時(shí)用于產(chǎn)生兩個(gè)8比特結(jié)果,而在不是分離運(yùn)算方式時(shí)可產(chǎn)生16比特結(jié)果。由于這里所述的例子的特性,在增量值與斜率值的減法和乘法期間只產(chǎn)生8比特的結(jié)果。因此,在執(zhí)行MEM指令期間,ALU56可以分離方式運(yùn)算,而且兩個(gè)減法和乘法運(yùn)算可同時(shí)執(zhí)行。因此,在分離方式運(yùn)算期間執(zhí)行這些運(yùn)算典型地需要的時(shí)間有效地為一半。
      通常使用一個(gè)計(jì)數(shù)器使用戶計(jì)數(shù)已評(píng)價(jià)的模糊集的數(shù)量。通過(guò)使用由最大的點(diǎn)值$FF和斜率$00觸發(fā)的終止信號(hào)來(lái)識(shí)別最后集,本發(fā)明不需要計(jì)數(shù)器。通過(guò)比較匯編語(yǔ)言程序說(shuō)明這個(gè)優(yōu)點(diǎn),該程序可根據(jù)美國(guó)專利5295229的技術(shù)寫入,以便確定在一系列隸屬函數(shù)申輸入值的隸屬程度LDAA SYSTEM INPUTLDAB#5 ;隸屬函數(shù)的環(huán)路計(jì)數(shù)器LIMEM ;單個(gè)隸屬計(jì)算DBNZ B,LI ;如果不為0,遞減計(jì)算器并轉(zhuǎn)移,在根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)中,這個(gè)匯編語(yǔ)言程序可寫入如下LDAA SYSTEM INPUT
      LIMEM ;單個(gè)隸屬計(jì)算BCC LI ;如果進(jìn)位清楚則轉(zhuǎn)移。在數(shù)據(jù)處理系統(tǒng)10中,BCC指令執(zhí)行快于DBNZ,因?yàn)樗恍枰B續(xù)地遞減環(huán)路計(jì)數(shù)器。另外,這個(gè)序列少用一個(gè)寄存器。
      這個(gè)技術(shù)對(duì)模糊系統(tǒng)是有用的,它可保證最后的隸屬函數(shù)具有正確的斜率$00和正確的端點(diǎn)$FF。這個(gè)條件是公共的。但是在最后的隸屬函數(shù)沒(méi)有這個(gè)限制的系統(tǒng)中,仍可使用前四個(gè)指令序列。
      這里敘述的本發(fā)明的實(shí)施例只是通過(guò)舉例提供。但是,用于執(zhí)行這里所述的函數(shù)可有很多其它的實(shí)施例。例如,確定隸屬集需要的點(diǎn)可作為MEM指令的操作數(shù)而不是作為在存儲(chǔ)器中事先存儲(chǔ)的數(shù)據(jù)值由數(shù)據(jù)處理系統(tǒng)10的用戶提供。另外,ALU56可這樣實(shí)現(xiàn),使得可獲得32比特結(jié)果。在乘法或減法運(yùn)算的情況下,在分離運(yùn)算方式期間低側(cè)和高側(cè)的每側(cè)可產(chǎn)生16比特結(jié)果。
      雖然這里已敘述了本發(fā)明的原理,但是本領(lǐng)域的技術(shù)人員清楚地懂得,這個(gè)敘述只是通過(guò)舉例進(jìn)行的,而不作為對(duì)本發(fā)明范圍的限定。在其它實(shí)施例中,MEM指令可通過(guò)檢測(cè)該模糊邏輯集與該端點(diǎn)的不同特性來(lái)確定模糊邏輯集是最后模糊邏輯集。例如,一個(gè)替代系統(tǒng)可通過(guò)設(shè)定點(diǎn)2的值小于點(diǎn)1的值來(lái)指示最后模糊邏輯集的出現(xiàn),在這種情況下MEM指令可檢側(cè)這個(gè)替代的特性。此外,MEM指令可完全在CPU內(nèi)或由CPU和共同處理器一起執(zhí)行。在后一情況下,CPU可被認(rèn)為包括指令解碼器,而共同處理器將被認(rèn)為包括執(zhí)行單元。因此,通過(guò)所附的權(quán)利要求書,本發(fā)明預(yù)定包括落入本發(fā)明的精神和范圍內(nèi)的所有修改。
      權(quán)利要求
      1.一種執(zhí)行有效的模糊邏輯運(yùn)算的數(shù)據(jù)處理系統(tǒng)(10),其特征在于一個(gè)指令解碼器(18),它有用于接收指令的一個(gè)輸入端,和用于提供多個(gè)控制信號(hào)的一個(gè)輸出端;和一個(gè)執(zhí)行單元(14),它有接到指令解碼器(18)的輸出端的一個(gè)控制輸入端,和接到信息總線(40)的一個(gè)數(shù)據(jù)終端;響應(yīng)模糊隸屬指令,該指令解碼器(18)控制該執(zhí)行單元(14)使該執(zhí)行單元(14)經(jīng)該數(shù)據(jù)端接收輸入值,并且確定在隸屬函數(shù)中該輸入值的隸屬程度;該指令解碼器(18)進(jìn)一步控制該執(zhí)行單元(14)以確定該隸屬函數(shù)是否為多個(gè)隸屬函數(shù)的最后隸屬函數(shù)。
      2.根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng)(10),其特征在于該執(zhí)行單元(14)包括一個(gè)條件碼寄存器(69),它具有包括一個(gè)進(jìn)位比特的多個(gè)條件碼比特,和具有用于接收終止信號(hào)(151)的一個(gè)控制輸入端,該條件碼寄存器(69)響應(yīng)終止信號(hào)(151)的啟動(dòng)設(shè)定進(jìn)位比特;和一個(gè)標(biāo)記產(chǎn)生邏輯電路(48),它具有接到該指令解碼器(18)的一個(gè)控制輸入端,和用于提供該終止信號(hào)(151)的一個(gè)輸出端,該標(biāo)記產(chǎn)生邏輯電路(48)響應(yīng)該指令解碼器(18)確定該隸屬函數(shù)是多個(gè)隸屬函數(shù)的最后隸屬函數(shù),啟動(dòng)該終止信號(hào)(151)。
      3.根據(jù)權(quán)利要求2的數(shù)據(jù)處理系統(tǒng)(10),其特征在于,該執(zhí)行單元(14)通過(guò)檢測(cè)該隸屬函數(shù)的端點(diǎn)是否等于第一預(yù)定值和該隸屬函數(shù)的斜率是否等于第二預(yù)定值確定該隸屬函數(shù)是多個(gè)隸屬函數(shù)的最后隸屬函數(shù)。
      4.根據(jù)權(quán)利要求3的數(shù)據(jù)處理系統(tǒng)(10),其特征在于該標(biāo)記產(chǎn)生邏輯電路(48)包括第一“與”門(138),具有多個(gè)輸入端,每個(gè)輸入端接收該隸屬函數(shù)端點(diǎn)的相應(yīng)比特,和一個(gè)輸出端;一個(gè)“或非”門(118),具有多個(gè)輸入端,每個(gè)輸入端接收該隸屬函數(shù)的斜率的相應(yīng)比特,和一個(gè)輸出端;和第二“與”門(132),它具有接到第一“與”門(138)的輸出端的第一輸入端,連接到該“或非”門(118)的輸出端的第二輸入端,和用于提供該終止信號(hào)的一個(gè)輸出端。
      5.根據(jù)權(quán)利要求1的數(shù)據(jù)處理系統(tǒng)(10),其特征在于該隸屬函數(shù)的預(yù)定特性是包括一端點(diǎn),其中,如果該端點(diǎn)包括在該隸屬函數(shù)中,則該執(zhí)行單元(14)提供一個(gè)端點(diǎn)指示,和其中該數(shù)據(jù)處理系統(tǒng)(10)接收一個(gè)觀察到的可變輸入點(diǎn),用于確定在由多個(gè)邊界值確定的隸屬函數(shù)中的隸屬。
      6.根據(jù)權(quán)利要求5的數(shù)據(jù)處理系統(tǒng)(10),其特征在于以在預(yù)定最大值的多個(gè)邊界值的至少兩個(gè)值表示該端點(diǎn)包括在該隸屬函數(shù)中。
      7.根據(jù)權(quán)利要求6的數(shù)據(jù)處理系統(tǒng)(10),其特征在于該隸屬函數(shù)在幾何上表示為一個(gè)梯形,其中多個(gè)邊界值的至少兩個(gè)值包括規(guī)定該梯形右下角的點(diǎn)2,和規(guī)定在點(diǎn)2與梯形上角之間的斜率的斜率2。
      8.根據(jù)權(quán)利要求7的數(shù)據(jù)處理系統(tǒng)(10),其特特在于點(diǎn)2被規(guī)定為值$FF,而斜率2被規(guī)定為值$00。
      9.在數(shù)據(jù)處理系統(tǒng)(10)中,用于確定隸屬函數(shù)是否為多個(gè)隸屬函數(shù)的最后隸屬函數(shù)同時(shí)確定所觀察的可變輸入點(diǎn)的多個(gè)隸屬函數(shù)的至少一個(gè)函數(shù)中的隸屬程度的方法,其特征在于包括以下步驟(a)從包括多個(gè)指令的指令集中接收一個(gè)指令,用于確定所觀察可變輸入點(diǎn)的隸屬程度;(b)檢測(cè)規(guī)定多個(gè)隸屬函數(shù)的每個(gè)隸屬函數(shù)邊界的第一和第二邊界值;(c)連續(xù)檢驗(yàn)多個(gè)隸屬函數(shù)數(shù)的每個(gè)隸屬函數(shù)的第一和第二邊界值的每個(gè)值,以便確定該邊界是否包括多個(gè)隸屬函數(shù)的一個(gè)端點(diǎn);和(d)通過(guò)提供一個(gè)指示,發(fā)信號(hào)通知有關(guān)所觀察輸入點(diǎn)的連續(xù)檢驗(yàn)步驟的終止,指示所檢的隸屬函數(shù)是多個(gè)隸屬函數(shù)的最后隸屬函數(shù)。
      10.根據(jù)權(quán)利要求9的方法,其特征在于進(jìn)一步包括以幾何地將多個(gè)隸屬函數(shù)的每個(gè)隸屬函數(shù)表示為一個(gè)梯形的步驟。
      全文摘要
      數(shù)據(jù)處理系統(tǒng)(10)含有稱為“MEM”指令的一個(gè)指令,用以確定在模糊邏輯隸屬函數(shù)中一個(gè)輸入值的隸屬程度。響應(yīng)MEM指令,該數(shù)據(jù)處理系統(tǒng)檢驗(yàn)規(guī)定隸屬函數(shù)邊界的邊界值是否為一定的預(yù)定值。如果“是”,則該隸屬函數(shù)是隸屬函數(shù)集的最后隸屬函數(shù),該數(shù)據(jù)處理系統(tǒng)產(chǎn)生終止信號(hào)(151)。在一個(gè)實(shí)施例中,該終止信號(hào)設(shè)定條件碼寄存器(69)的一比特,以便可存在軟件程序環(huán)路,它確定在隸屬函數(shù)集的連續(xù)隸屬函數(shù)中輸入值的隸屬程度。
      文檔編號(hào)G06N7/02GK1133994SQ9512113
      公開日1996年10月23日 申請(qǐng)日期1995年12月21日 優(yōu)先權(quán)日1994年12月22日
      發(fā)明者詹姆斯·格雷格·瓦特 申請(qǐng)人:摩托羅拉公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1