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

歸約處理器的制作方法

文檔序號(hào):726635閱讀:927來(lái)源:國(guó)知局
專利名稱:歸約處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及歸約處理器。
在40年代發(fā)明了計(jì)算機(jī),此后它以革命性的速度在發(fā)展。即使如此,當(dāng)代的計(jì)算機(jī)的體系結(jié)構(gòu)幾乎與第一臺(tái)計(jì)算機(jī)的相同。
大多數(shù)的改進(jìn)是在硬件方面。VLSI的引入和平板印刷術(shù)的發(fā)展使得能夠制造僅在5年以前還被稱為超級(jí)計(jì)算機(jī)的單片計(jì)算機(jī)。尺寸按指數(shù)率縮減,線寬現(xiàn)已小于1微米。時(shí)鐘頻率以及有效晶體管的數(shù)目已增大了幾個(gè)數(shù)量級(jí)。物理局限可能將線寬限為0.2微米。
在此期間,計(jì)算機(jī)的體系結(jié)構(gòu)并不隨著硅的應(yīng)用而有所改進(jìn)。相反地,大多數(shù)計(jì)算機(jī)為了運(yùn)行更快而在使用著大于最恰當(dāng)數(shù)量的硅。
這些事實(shí)將在下一個(gè)5年內(nèi)阻礙單個(gè)處理器的發(fā)展速度。并行處理器的采用由于增加了復(fù)雜性而引起硬件費(fèi)用的增加,以及對(duì)大多數(shù)的程序類型而言的編程費(fèi)用的過(guò)高的增長(zhǎng)。
由于相互的聯(lián)系,硬件費(fèi)用得到減少但新系統(tǒng)的編程費(fèi)用顯著地增加并將很快達(dá)到高得使人不敢買的水平。
計(jì)算機(jī)是軟件和硬件方面的不同單元的復(fù)雜組件。在其發(fā)展過(guò)程中的不同的范例和階段已經(jīng)建立了滲進(jìn)系統(tǒng)中去的標(biāo)準(zhǔn)-由于特殊的規(guī)定并普遍建立到系統(tǒng)中去,由于這些不一致性而存在許多接口。
所有這些質(zhì)量和類型不同的接口和范例使機(jī)器難于被用戶或程序員所使用,它的使用需要許多知識(shí),由于復(fù)雜,程序員可能輸入看不見的錯(cuò)誤。
但是,近年開發(fā)了所謂的歸約處理器。歸約處理器執(zhí)行具有某種包含算術(shù)表達(dá)式的結(jié)構(gòu)的程序,該結(jié)構(gòu)在一些歸約步驟中被縮減。因此,程序不是象在其它類型的計(jì)算機(jī)中以給定的順序被執(zhí)行。
開發(fā)超過(guò)一定容量的歸約處理器有一些困難。
編程語(yǔ)言的發(fā)展第一臺(tái)電子計(jì)算機(jī)的開發(fā)導(dǎo)致了幾種適合于這種計(jì)算機(jī)的編程語(yǔ)言的開發(fā),例如FORTRAN,COBOL,AIGOI,BASIC,PASCAL。這些語(yǔ)言被稱為強(qiáng)制性語(yǔ)言,下面也稱為常規(guī)語(yǔ)言,主要是由于這一事實(shí),即它們通常給出由一系列將被常規(guī)的計(jì)算機(jī),就是說(shuō)根據(jù)由John Von Neumenn發(fā)展的原理而設(shè)計(jì)的計(jì)算機(jī)順序地執(zhí)行的命令或指令組成的程序。對(duì)這些語(yǔ)言不斷增長(zhǎng)的不滿導(dǎo)致另一系列語(yǔ)言的發(fā)展LISP,ISWIM,Scheme(LISP的分支),ML,Hope,SASL等等。在這些語(yǔ)言發(fā)展后面的驅(qū)動(dòng)力是概念上的簡(jiǎn)單,特定的機(jī)器不影響其設(shè)計(jì)。在一段時(shí)間之后功能性語(yǔ)言才被注意,理由之一是功能性程序執(zhí)行較慢。后來(lái)的發(fā)展已表明,在某些情況下,即使這些功能性程序不是專門為了被常規(guī)的計(jì)算機(jī)所執(zhí)行,但執(zhí)行速度已能夠接近或者等同于被常規(guī)的計(jì)算機(jī)執(zhí)行的常規(guī)(強(qiáng)制性)語(yǔ)言程序的執(zhí)行速度。
軟件危機(jī)產(chǎn)生巨大的動(dòng)力來(lái)開發(fā)功能性語(yǔ)言是由于對(duì)強(qiáng)制型語(yǔ)言不斷增長(zhǎng)的不滿。人們大約在1970年開始談?wù)撥浖C(jī)。變得越來(lái)越復(fù)雜并且經(jīng)常包含許多錯(cuò)誤的程序難于閱讀、難于理解并且特別難于修改。原因之一是對(duì)高級(jí)強(qiáng)制性語(yǔ)言將簡(jiǎn)化編程的期望過(guò)高了,這些語(yǔ)言并不是如原來(lái)所想象的那樣高級(jí)或抽象,強(qiáng)制性語(yǔ)言只適合于早期的計(jì)算機(jī)概念,即Von Neumann型計(jì)算機(jī),并且編程的水平簡(jiǎn)直就接近機(jī)器的水平。功能性編程語(yǔ)言具有幾種減輕常規(guī)的編程語(yǔ)言的某些缺點(diǎn)的性質(zhì)。
為了得到更多的信息以及更好地理解,參看教科書《使用標(biāo)準(zhǔn)ML的功能性編程》AKe Wikstrom,Pretice Hall 1987。
為了充分理解發(fā)明的目的和優(yōu)點(diǎn),必須了解在計(jì)算方面的功能性方法包括些什么,特別是與在歷史上很流行的強(qiáng)制性方法相比較。
“功能性方法”的說(shuō)法是指程序用功能性語(yǔ)言來(lái)書寫并且在包括特別適用于這些語(yǔ)言的硬件的計(jì)算機(jī)上被存儲(chǔ)和被執(zhí)行。同樣地,“強(qiáng)制性方法”的說(shuō)法是指程序用強(qiáng)制性語(yǔ)言來(lái)書寫并且在包括適用于強(qiáng)制性語(yǔ)言的硬件的計(jì)算機(jī)上被存儲(chǔ)和被執(zhí)行。
但是,在常規(guī)的計(jì)算機(jī)上存儲(chǔ)和執(zhí)行用功能性語(yǔ)言書寫的程序是可能的。反過(guò)來(lái)也是可能的-用強(qiáng)制性語(yǔ)言書寫的程序能在適合于執(zhí)行用功能性語(yǔ)言書寫的程序的計(jì)算機(jī)上被存儲(chǔ)和執(zhí)行。
功能性語(yǔ)言的性質(zhì)用功能性語(yǔ)言書寫的程序可被看作是一組對(duì)象性質(zhì)的定義和計(jì)算規(guī)則。定義是說(shuō)明部分,而計(jì)算規(guī)則,或者歸約或者重寫規(guī)則是計(jì)算機(jī)在執(zhí)行期間使用的操作部分。功能性語(yǔ)言向計(jì)算機(jī)提供較高級(jí)的接口,該接口使程序員有可能脫離開計(jì)算機(jī)的與硬件相關(guān)的細(xì)節(jié)。功能性程序通常比常規(guī)的強(qiáng)制性程序更短并且更易于理解,這是其積極性的一面。功能性語(yǔ)言的一個(gè)主要缺點(diǎn)是,功能性程序?yàn)榱四茉诔R?guī)的計(jì)算機(jī)上被執(zhí)行不得不被翻譯成常規(guī)的語(yǔ)言。這已經(jīng)可以用編譯程序或解析程序來(lái)實(shí)現(xiàn)。顯然,功能性方法的某些長(zhǎng)處的發(fā)揮受到以下事實(shí)的影響,即還沒有專門的硬件能夠有效地存儲(chǔ)和執(zhí)行功能性程序。
本發(fā)明的主要目的是提供在其中消除了大部分的硬件限制的處理器。
本發(fā)明另外的目的是提供適用于真正的實(shí)時(shí)運(yùn)算的非??焖俚奶幚砥?。
本發(fā)明的再一個(gè)目的是提供一處理器,在該處理器中,編程將會(huì)盡可能的最簡(jiǎn)單,編程的復(fù)雜性將以統(tǒng)一和簡(jiǎn)單的標(biāo)準(zhǔn)來(lái)衡量。
本發(fā)明的再一個(gè)目的是提供適用于同時(shí)可作為機(jī)器語(yǔ)言,操作系統(tǒng),通信協(xié)議和編程語(yǔ)言使用的語(yǔ)言的處理器,即該語(yǔ)言簡(jiǎn)單并且在語(yǔ)言中軟件等級(jí)已被降為最小。
本發(fā)明的再一個(gè)目的是提供對(duì)程序員,系統(tǒng)管理者,硬件設(shè)計(jì)師和普通人員而言使用都非常簡(jiǎn)單和靈活的處理器。
本發(fā)明的再一個(gè)目的是提供適用于將行為作為語(yǔ)義對(duì)象的說(shuō)明性編程語(yǔ)言的處理器,由此描述實(shí)時(shí)操作和系統(tǒng)特性。
本發(fā)明的再一個(gè)目的是提供具有與數(shù)值算術(shù)單元相分離并且與之協(xié)同操作的結(jié)構(gòu)算術(shù)單元的處理器。
為了達(dá)到上述的及其它目的,本發(fā)明提出由具有結(jié)構(gòu)的程序控制并且適用于在包括不同類型的歸約的一些歸約步驟中縮減所說(shuō)結(jié)構(gòu)的歸約處理器,這一類型的第一級(jí)處理器包括快速存儲(chǔ)器,后者又包括
a.多個(gè)快速存儲(chǔ)單元,每一單元有機(jī)會(huì)引起歸約操作的執(zhí)行,以及b.將每一歸約的結(jié)果傳送給存儲(chǔ)單元中與該結(jié)果有關(guān)聯(lián)的所有單元的通信網(wǎng)絡(luò)。
通信網(wǎng)絡(luò)最好包括總線配置,總線配置有控制線和數(shù)據(jù)線,所有這些線被連接到每一個(gè)所說(shuō)存儲(chǔ)單元,以及為所有所說(shuō)的存儲(chǔ)單元公用的控制裝置。每個(gè)存儲(chǔ)單元可包含執(zhí)行歸約操作必須的所有信息。
歸約信息也可包含對(duì)至少一個(gè)所說(shuō)的其它存儲(chǔ)單元的訪問(wèn),通過(guò)所說(shuō)的訪問(wèn)而進(jìn)行通信的存儲(chǔ)單元的內(nèi)容呈樹結(jié)構(gòu)。至少一個(gè)被稱為磁芯單元的所說(shuō)存儲(chǔ)單元能夠執(zhí)行所有類型的歸約,被稱為目標(biāo)存儲(chǔ)單元的余下的所說(shuō)單元只能執(zhí)行所有歸約類型中某些有限的部分。目標(biāo)存儲(chǔ)單元被包含在具有用于外部控制的第一總線配置和用于數(shù)據(jù)的第二存儲(chǔ)器總線配置的相關(guān)存儲(chǔ)器中,該相關(guān)存儲(chǔ)器包括用來(lái)存儲(chǔ)復(fù)合信息的幾個(gè)所說(shuō)目標(biāo)存儲(chǔ)單元;
在每個(gè)所說(shuō)目標(biāo)存儲(chǔ)單元中的用來(lái)存儲(chǔ)至少一個(gè)標(biāo)記的裝置,所說(shuō)標(biāo)記至少表明所說(shuō)目標(biāo)存儲(chǔ)單元的選擇狀態(tài)或非選擇狀態(tài);
在所說(shuō)目標(biāo)存儲(chǔ)單元中進(jìn)行檢索操作以便設(shè)置所說(shuō)標(biāo)記的裝置;以及所有所說(shuō)目標(biāo)存儲(chǔ)單元與之聯(lián)接并且從幾個(gè)所說(shuō)目標(biāo)存儲(chǔ)單元中選擇一個(gè)優(yōu)先譯碼器。
至少需要一條全局總線以便在所說(shuō)存儲(chǔ)單元之間進(jìn)行與和或的邏輯操作,以及在每個(gè)存儲(chǔ)單元中的用來(lái)與所說(shuō)總線進(jìn)行通信并且控制所說(shuō)存儲(chǔ)單元使其參加實(shí)際的邏輯操作的裝置。
幾個(gè)第一級(jí)歸約處理器可被連接到代表第二級(jí)歸約處理器的矩形域中,所說(shuō)矩形域中的每個(gè)第一級(jí)處理器包括通往在所說(shuō)矩形域中的每個(gè)相鄰的第一級(jí)歸約處理器的通道。
第二級(jí)歸約處理器又可被劃分為每個(gè)大小為2n×2n個(gè)第一級(jí)歸約處理器的各邏輯區(qū)域,所說(shuō)各邏輯區(qū)域以固定的模式相互以側(cè)邊相連接以便覆蓋所說(shuō)第二級(jí)歸約處理器的矩形域。
至少一個(gè)被設(shè)有地址的有關(guān)的非直接單元被存儲(chǔ)在每個(gè)區(qū)域中,所說(shuō)單元相對(duì)于在它所屬的區(qū)域內(nèi)的存儲(chǔ)單元才是有關(guān)的。
第一級(jí)處理器在所說(shuō)第二級(jí)處理器中可相互如此連接,使得通過(guò)對(duì)在所說(shuō)第二級(jí)處理器的所說(shuō)區(qū)域的放置進(jìn)行內(nèi)部的再定義在所說(shuō)第二級(jí)處理器內(nèi)的每個(gè)所說(shuō)區(qū)域在每個(gè)方向上是半個(gè)區(qū)域可移置的。
此外,幾個(gè)所說(shuō)第一級(jí)歸約處理器可以分級(jí)網(wǎng)絡(luò)的形式進(jìn)行連接,每個(gè)網(wǎng)絡(luò)為總線或環(huán)形,或者幾個(gè)所說(shuō)第一級(jí)歸約處理器可以分級(jí)網(wǎng)絡(luò)的形式進(jìn)行連接,至少有兩種類型的網(wǎng)絡(luò),第一種為總線而第二種為環(huán)形,第三種為矩形域。
至少一個(gè)端口裝置被連接到所說(shuō)快速存儲(chǔ)器裝置,至少一個(gè)外圍裝置被連接到所說(shuō)的至少一個(gè)端口裝置。
設(shè)置了將由端口裝置提供的信號(hào)序列與存儲(chǔ)在至少一個(gè)存儲(chǔ)單元中的序列進(jìn)行比較的裝置,存儲(chǔ)的序列具有在所說(shuō)快速存儲(chǔ)器裝置中可能沒有被定義的序列單元,還有如果該比較給出明確的區(qū)別就不重寫所說(shuō)的存貯序列,即作為代表不一致的某種東西,否則就將所說(shuō)的存貯序列重寫入一指定的序列中的裝置,該指定序列為來(lái)自周圍的信號(hào)序列與來(lái)自機(jī)器的存貯序列的統(tǒng)一。
多個(gè)第二級(jí)歸約處理器相互之間地區(qū)性地?cái)U(kuò)展開來(lái)就會(huì)形成第三級(jí)歸約處理器。
區(qū)域有限的相關(guān)尋址被用于第二級(jí)歸約處理器,而物理尋址被用于第三級(jí)歸約處理器。
歸約的執(zhí)行待執(zhí)行的程序可用閉包的有向圖來(lái)代表,其中程序的每一部分用閉包來(lái)代表。執(zhí)行時(shí)閉包的這一有向圖根據(jù)所用語(yǔ)言的縮減規(guī)則被逐步地縮減。當(dāng)不剩下可執(zhí)行的閉包時(shí),程序的執(zhí)行就完結(jié)了。閉包的有向圖可被看作一樹結(jié)構(gòu),在該樹結(jié)構(gòu)中樹上的每個(gè)節(jié)點(diǎn)是閉包,最上面的節(jié)點(diǎn)被稱為根。歸約的執(zhí)行一般是通過(guò)從下到上縮減樹結(jié)構(gòu),縮減樹最遠(yuǎn)離根的部分,然后縮減至根部來(lái)實(shí)現(xiàn)的。這種執(zhí)行通常被稱為命令驅(qū)動(dòng)執(zhí)行,這就是說(shuō),取決于其它部分的執(zhí)行結(jié)果的部分程序的執(zhí)行被推遲到獲得執(zhí)行結(jié)果為止。
定義以下是在本說(shuō)明書中使用的一系列術(shù)語(yǔ)以及它們專用的意義元素?cái)?shù)據(jù)結(jié)構(gòu)中較大的部分;
表元素的有序的序列,每個(gè)元素也可以是表;
插入表表的一部分,小到能夠整個(gè)存儲(chǔ)在一個(gè)單元閉包中,使有可能表示任意長(zhǎng)的表;
閉包定義過(guò)程的分級(jí)結(jié)構(gòu)實(shí)體,所有閉包都有唯一地確定閉包的根。歸約機(jī)中的歸約操作是在閉包上進(jìn)行的。機(jī)器的全部狀態(tài)通過(guò)歸約來(lái)變換;
目標(biāo)存儲(chǔ)器包含存儲(chǔ)目標(biāo)的存儲(chǔ)單元的存儲(chǔ)器;
存儲(chǔ)單元目標(biāo)存儲(chǔ)器中的單元,它存儲(chǔ)單元閉包,該單元閉包可訪問(wèn)存儲(chǔ)在其它存儲(chǔ)單元中的其它單元閉包;
單元閉包存儲(chǔ)單元中的內(nèi)容;
存貯單元字段存儲(chǔ)單元中的字段;
閉包元素存儲(chǔ)在存儲(chǔ)單元字段中的數(shù)據(jù)元素;
閉包標(biāo)識(shí)符唯一地指定一閉包的閉包單元元素;
正則閉包不能被再縮減的閉包,即不包含任何指定某些其它單元閉包的閉包標(biāo)識(shí)符的單元閉包,這些其它單元閉包被以這樣一種方式來(lái)縮減,使該單元閉包不得不進(jìn)一步被縮減;
目標(biāo)將要被執(zhí)行,即被縮減的閉包;
父在值/指示字段中至少具有一個(gè)閉包標(biāo)識(shí)符的閉包;
子通過(guò)閉包標(biāo)識(shí)符聯(lián)結(jié)到另一個(gè)閉包的閉包,該標(biāo)識(shí)符指定子;
子也可以為父,父也可以為子,一個(gè)子可以有多個(gè)父,一個(gè)父可以有多個(gè)子;
閉包網(wǎng)一個(gè)閉包及其所有的父;
閉包狀態(tài)閉包是根或者是節(jié)點(diǎn);
根閉包樹上最上面的閉包;
節(jié)點(diǎn)閉包樹上不為根的閉包;
地點(diǎn)包含閉包狀態(tài)的存儲(chǔ)單元字段;
類型單元閉包中的類型代碼,即代表對(duì)象的性質(zhì)的比特模式,例如指令代碼;
懶惰單元閉包中表示該閉包是可執(zhí)行的或者被推遲計(jì)算或者是不活動(dòng)的元素;
標(biāo)識(shí)符用來(lái)表示存儲(chǔ)在存儲(chǔ)單元中的對(duì)象的特殊種類的閉包元素;
環(huán)境通過(guò)給予它們相同的環(huán)境可被組合在一起的成份;
值/指示存儲(chǔ)簡(jiǎn)單值,即直接表示,零或者相對(duì)另一個(gè)閉包的指示,即非直接指示的閉包元素;
磁芯單元結(jié)構(gòu)算術(shù)單元,磁芯單元能夠執(zhí)行與縮減閉包有關(guān)的結(jié)構(gòu)計(jì)算;
數(shù)值A(chǔ)LU數(shù)值算術(shù)單元能夠執(zhí)行基本的數(shù)值和邏輯運(yùn)算,磁芯單元利用數(shù)值A(chǔ)LU進(jìn)行數(shù)值運(yùn)算;
全寄存器貫穿磁芯單元中的所有面的寄存器;
磁芯字磁芯單元中的全寄存器的內(nèi)容;
有限寄存器貫穿磁芯單元中的有限數(shù)量的面的寄存器,這些面包含了值/指示類型的閉包單元元素;
元素字有限寄存器或者與有限寄存器大小相同的一部分全寄存器的內(nèi)容;
數(shù)值字代表值或指示的元素字的一部分;
標(biāo)記字具有表示在數(shù)值字中的表明特征的標(biāo)記的元素字的一部分;
歸約根據(jù)所使用的特定的編程語(yǔ)言規(guī)則重寫/重建閉包。
相關(guān)目標(biāo)存儲(chǔ)器根據(jù)本發(fā)明獲取處理器的策略是將目標(biāo)存儲(chǔ)設(shè)備作為幾個(gè)存儲(chǔ)單元來(lái)設(shè)置。每個(gè)這樣的單元應(yīng)當(dāng)包含一個(gè)單元閉包或者應(yīng)當(dāng)是空閉未被使用的單元。不應(yīng)以特定的順序來(lái)設(shè)置這些單元,但應(yīng)設(shè)想是可利用的資源庫(kù)。
不具有物理地址或不依賴于物理位置被認(rèn)為是非常重要的。這樣的依賴性將或遲或早產(chǎn)生問(wèn)題,如在所有常規(guī)的RAM型設(shè)備中那樣。
目標(biāo)存儲(chǔ)器中的所有單元通過(guò)存儲(chǔ)器總線配置來(lái)進(jìn)行通信,為了降低成本這是非常重要的。其它的配置,例如使用幾個(gè)端口等將增大目標(biāo)存儲(chǔ)器的面積。但是存儲(chǔ)器總線配置在每個(gè)存儲(chǔ)器周期中只能執(zhí)行一個(gè)操作。
歸約機(jī)制具有由單元閉包構(gòu)成的狀態(tài),每個(gè)單元閉包有一標(biāo)識(shí)符,通過(guò)標(biāo)識(shí)符連結(jié)在一起的單元閉包形成圖。通過(guò)利用單元閉包的標(biāo)識(shí)符對(duì)單元閉包進(jìn)行尋址能夠追蹤圖。因此,存儲(chǔ)器總線將被作為所有圖的頂點(diǎn)的共享路徑。
每個(gè)單元閉包還有環(huán)境,該環(huán)境可包括指定在提供閉包的環(huán)境的閉包樹上的根閉包的標(biāo)識(shí)符。這樣一來(lái),從樹上的一個(gè)閉包經(jīng)由根僅在一個(gè)操作周期內(nèi)就能尋址整個(gè)結(jié)構(gòu)。具有相同環(huán)境的閉包可被組合在一起。
必須根據(jù)內(nèi)容信息進(jìn)行所有的“尋址”,因?yàn)椴痪哂形锢硪蕾囆?,即存?chǔ)器是相關(guān)的。單元閉包,即存儲(chǔ)單元中的內(nèi)容幾個(gè)可存儲(chǔ)在存儲(chǔ)單元的存儲(chǔ)區(qū)域中的閉包元素。每個(gè)存儲(chǔ)的元素可包含帶有某種標(biāo)記信息或者值的表示或者它不被使用的說(shuō)明的標(biāo)識(shí)符。在相關(guān)檢索中,可以使用任何閉包元素或者閉包元素的組合作為檢索的線索,例如單元標(biāo)識(shí)符,單元環(huán)境,單元類型,寫入存儲(chǔ)單元字段的值或者它們的組合。
閉包元素可包括表明閉包元素已被選擇作為存取機(jī)制的目標(biāo)的額外選擇比特。某些檢索操作在存儲(chǔ)單元字段中設(shè)立這些選擇比特。
這種類型的存取涉及一個(gè)或幾個(gè)存儲(chǔ)單元,一個(gè)多單元操作能夠在屬于不同的存儲(chǔ)單元的多個(gè)被選擇的存儲(chǔ)區(qū)域中存儲(chǔ)標(biāo)識(shí)符。
中央控制單元基本的歸約規(guī)則太多,所以它們不能被包括入每個(gè)存儲(chǔ)單元中。因此,歸約機(jī)制被所有單元閉包所共享。驅(qū)動(dòng)和讀出放大器被用來(lái)使所有的目標(biāo)存儲(chǔ)單元能夠驅(qū)動(dòng)長(zhǎng)的存儲(chǔ)器總線導(dǎo)線。中央控制單元能夠隨時(shí)和在各級(jí)上調(diào)整總線信號(hào)。因此,由于中央控制單元作為控制設(shè)備,所有的通信在存儲(chǔ)器總線配置上進(jìn)行,最好為布爾門陣列的中央控制單元對(duì)外部導(dǎo)線上的數(shù)值進(jìn)行相當(dāng)簡(jiǎn)單的譯碼并通過(guò)控制總線配置將大部分的控制信號(hào)傳送到目標(biāo)存儲(chǔ)器中的所有存儲(chǔ)單元。有關(guān)控制單元的設(shè)計(jì)的進(jìn)一步知識(shí)請(qǐng)參看Carver Mead和Lynn Conway所著的教科書《VLSI系統(tǒng)引論》,Addison Wesley出版公司1980年版。
為了能夠執(zhí)行復(fù)雜的存取模式,在每個(gè)存儲(chǔ)單元中求解布爾表達(dá)式。通過(guò)由中央控制單元傳送的控制字控制這一表達(dá)式??刂谱滞ǔJ怯芍醒肟刂茊卧x出存儲(chǔ)單元中的信息來(lái)獲得的。對(duì)于本發(fā)明的歸約處理器的大部分應(yīng)用而言,在存儲(chǔ)單元中求解布爾表達(dá)式是很重要的,因?yàn)檫@比用普通的方式從存儲(chǔ)器中讀出信息并處理該信息有效得多。
為了使用布爾表達(dá)式引起的面積額外開銷盡可能小,布爾表達(dá)式被選擇得盡可能小。因此,應(yīng)仔細(xì)地選擇存取操作。
這就是說(shuō),控制單元控制目標(biāo)存儲(chǔ)器的操作,存儲(chǔ)器總線配置與所有存儲(chǔ)單元進(jìn)行通信。在某些情況中,要求讀出幾個(gè)存儲(chǔ)單元,為此目的,提供了每次只選擇幾個(gè)候選單元中的一個(gè)機(jī)制。選擇是由連接到所有存儲(chǔ)單元的優(yōu)先譯碼器來(lái)進(jìn)行的。
磁芯單元最好應(yīng)使以下稱為磁芯單元的特定的快速存儲(chǔ)單元能與目標(biāo)存儲(chǔ)器協(xié)同操作,后者本身又被看作為快速存儲(chǔ)器。磁芯單元能夠執(zhí)行所有類型的歸約,而相關(guān)目標(biāo)存儲(chǔ)器包含只能夠執(zhí)行歸約類型中某些有限的部分的存儲(chǔ)單元。但是,可以在目標(biāo)存儲(chǔ)器的一部分中模擬磁芯單元-雖然這不是很有效。
磁芯單元能夠存儲(chǔ)多個(gè)表達(dá)式層次。存儲(chǔ)在磁芯單元中的表達(dá)式的基本指令應(yīng)在磁芯單元中被執(zhí)行。磁芯單元適用于結(jié)構(gòu)單法,即重寫由計(jì)算機(jī)程序給出的結(jié)構(gòu)的算法。單元的表達(dá)式的單位大小相應(yīng)于在重寫操作中涉及的表示圖的轉(zhuǎn)移。
數(shù)值/結(jié)構(gòu)算術(shù)單元需要指出磁芯單元是只進(jìn)行結(jié)構(gòu)計(jì)算,即大部分的歸約的器件,它利用數(shù)值算術(shù)單元(數(shù)值A(chǔ)LU)執(zhí)行數(shù)值運(yùn)算。通常在處理器中設(shè)置既執(zhí)行數(shù)值運(yùn)算又執(zhí)行部分結(jié)構(gòu)運(yùn)算的算術(shù)邏輯單元(ALU)但這種先有技術(shù)的ALU并沒有被劃分成為相應(yīng)于結(jié)構(gòu)和數(shù)值運(yùn)算的功能部分。當(dāng)使用常規(guī)的ALU,為了執(zhí)行相當(dāng)于在磁芯單元中執(zhí)行的結(jié)構(gòu)運(yùn)算的運(yùn)算時(shí),需要少量的程序。
為了更徹底理解本發(fā)明以及發(fā)明的另外的目的和優(yōu)點(diǎn),請(qǐng)參看對(duì)附圖的以下描述,其中

圖1示意地表示本發(fā)明的第一級(jí)歸約處理器的結(jié)構(gòu);
圖2示意地表示在圖1的第一級(jí)歸約處理器中的存儲(chǔ)器實(shí)施例的設(shè)計(jì);
圖3示意地表示在如圖2所示的存儲(chǔ)器中的存儲(chǔ)單元的實(shí)施例;
圖4A表示在能夠存儲(chǔ)單元閉包的存儲(chǔ)單元中的不同字段的使用;
圖4B到4D表示能夠在磁芯單元的實(shí)施例中使用的磁芯寄存器;
圖4E表示在磁芯單元的實(shí)施例中的磁芯寄存器的可能結(jié)構(gòu);
圖5A到5F表示在磁芯單元中的各種數(shù)據(jù)存儲(chǔ)方式;
圖6、7、8表示磁芯單元操作的實(shí)例;
圖9表示在圖1的第一級(jí)歸約處理器的磁芯單元中的操作面實(shí)施例的方框圖;
圖10示意地表示在具有如圖9所示的操作面的所有類型的可能連接的磁芯單元中的類屬寄存器單元設(shè)計(jì)的實(shí)施例;
圖11和12示意地表示在磁芯單元中的寄存器單元之間轉(zhuǎn)移的兩個(gè)實(shí)例;
圖13到19表示磁芯單元內(nèi)數(shù)據(jù)傳送的各種實(shí)例;
圖20表示在存儲(chǔ)單元(如圖3所示)中的比特單元的電路圖以及與之連接的驅(qū)動(dòng)和讀出電路;
圖21A表示被包括在存儲(chǔ)器的優(yōu)先譯碼器中的方塊的電路圖;
圖21B表示如圖21A所示的方塊的連接;
圖22表示在存儲(chǔ)器中的元素標(biāo)題的實(shí)施例的電路圖;
圖23表示在存儲(chǔ)器中的閉包標(biāo)題的實(shí)施例的電路圖;
圖22A表示在圖1的第一級(jí)處理器中的數(shù)值A(chǔ)LU的方框圖;
圖24B表示圖24A所示的數(shù)值A(chǔ)LU的時(shí)鐘信號(hào)以及某些基本的控制信號(hào)的波形圖;
圖25表示算術(shù)表示法中比特字段劃分的簡(jiǎn)略表示;
圖26A表示整數(shù)代碼的圖形表示;
圖26B表示浮點(diǎn)值代碼的圖形表示;
圖26C表示說(shuō)明在7比特總線上設(shè)置的算術(shù)表示法的建立的簡(jiǎn)略表示;
圖27A和27B表示根據(jù)圖26提供的數(shù)據(jù)表;
圖28表示在本發(fā)明的第一級(jí)處理器中的數(shù)值A(chǔ)LU的實(shí)施例的電路圖;
圖29A到C表示不同時(shí)鐘序列的數(shù)值A(chǔ)LU的輸入/輸出緩沖器的實(shí)例;
圖30表示被包括在圖28所示電路中的精確譯碼器實(shí)施例的電路圖;
圖31A表示在圖28所示電路中的全字加法器實(shí)施例的方框圖;
圖31B表示在圖31A的加法器中的精確片的方框圖;
圖31C表示在圖31B的精確片中的比特片的方框圖;
圖32表示在圖28所示電路的遞增器中的精確片的實(shí)施例;
圖33表示被包括在圖28所示電路的操作數(shù)電路的選擇器中的基本選擇器比特片的實(shí)施例的電路圖;
圖34表示包括在本發(fā)明的處理器中的端口處的信號(hào)序列圖形;
圖35表示本發(fā)明的處理器的輸入和/或輸出端口的實(shí)施例;
圖36表示本發(fā)明的非常一般的第二級(jí)歸約處理器(SOP);
圖37A表示在其中第一級(jí)處理器(FOPS)被設(shè)置在矩形域中的SOP的實(shí)施例;
圖37B表示在被提供有四個(gè)單獨(dú)的數(shù)據(jù)轉(zhuǎn)移裝置以便可能在圖37A的矩形域SOP中使用的磁芯單元中的操作面;
圖37C表示包含被劃分為矩形區(qū)域的256FOPS的矩形域SOP;
圖37D和37E表示在矩形域SOP中的軟環(huán);
圖38表示在其中FOPS被以分級(jí)網(wǎng)絡(luò)形式排列,每一網(wǎng)絡(luò)為總線的SOP的第二實(shí)施例;
圖39表示在其中FOPS被以分級(jí)網(wǎng)絡(luò)形式排列,每一網(wǎng)絡(luò)為硬環(huán)的SOP的第三實(shí)施例;
圖40表示包括在圖37A、38、39中的SOP的組合SOSOP的實(shí)施例;
圖41表示包括幾個(gè)SOPS的第三級(jí)歸約處理器;
圖42A到C表示第三級(jí)歸約處理器的各個(gè)部分,并用圖說(shuō)明處理全局尋址的一種方法。
第一級(jí)歸約處理器本發(fā)明的第一級(jí)歸約處理器的一實(shí)施例,即一簡(jiǎn)單的歸約處理器如圖1所示。如以下將要進(jìn)一步描述的那樣,第一級(jí)處理器是能夠被作為在更復(fù)雜的歸約處理器中的一部分的歸約處理器。這一歸約處理器的粗略結(jié)構(gòu)由圖1可一目了然,但是,應(yīng)當(dāng)指出它的設(shè)計(jì)可以差別很大,例如,磁芯單元的不同面可被并排地設(shè)置在芯片上,或者它們可被以平行層的形式設(shè)置,但不必具有與示意圖所示的設(shè)計(jì)完全一樣的設(shè)計(jì)。
圖1的第一級(jí)歸約處理器包括以下被稱為目標(biāo)存儲(chǔ)器的快速、相關(guān)存儲(chǔ)器1,它包含有以下被稱為存儲(chǔ)單元的存儲(chǔ)器單元,每一單元能夠存儲(chǔ)包含可執(zhí)行的部分的數(shù)據(jù)對(duì)象并且最好能夠提供有限縮減運(yùn)算集合,結(jié)構(gòu)算術(shù)單元2,以下稱為磁芯單元,包括幾個(gè)執(zhí)行結(jié)構(gòu)算術(shù)運(yùn)算,即結(jié)構(gòu)修改歸約的磁芯寄存器3,以及在多個(gè)處理器之間提供通信的處理器網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)移裝置4。如果圖1中的第一級(jí)歸約處理器是包括幾個(gè)第一級(jí)歸約處理器的兩級(jí)或多級(jí)歸約處理器的一部分的話。數(shù)據(jù)轉(zhuǎn)移裝置4包括幾個(gè)適合于暫時(shí)保持存儲(chǔ)單元結(jié)構(gòu)的寄存器以便將該結(jié)構(gòu)轉(zhuǎn)移到另一個(gè)第一級(jí)處理器。
可以在目標(biāo)存儲(chǔ)器中為在磁芯單元中進(jìn)行的操作保留一字段,即可以在目標(biāo)存儲(chǔ)器的一部分中模擬磁芯單元。磁芯單元具有幾個(gè)特性以便僅在一操作周期內(nèi)在它的寄存器之間交換和轉(zhuǎn)移數(shù)據(jù)。這樣的特性在模擬磁芯單元的目標(biāo)存儲(chǔ)器字段中將需要幾個(gè)操作周期。
數(shù)值算術(shù)邏輯單元(數(shù)值A(chǔ)LU)5連接到磁芯單元2,當(dāng)要進(jìn)行數(shù)值運(yùn)算時(shí),磁芯單元的數(shù)據(jù)被轉(zhuǎn)移到數(shù)值A(chǔ)LU,因此,結(jié)構(gòu)運(yùn)算和數(shù)值運(yùn)算是在不同的獨(dú)立單元中進(jìn)行的。
處理器當(dāng)然還包括控制目標(biāo)存儲(chǔ)器1、磁芯單元2和數(shù)值A(chǔ)LU5中的部件的中央控制單元6。另外,還可向處理器提供一個(gè)或幾個(gè)端口,以便與外界進(jìn)行通信。
中央控制單元中央控制單元6最好是結(jié)構(gòu)相當(dāng)復(fù)雜的布爾門陣列。它的實(shí)施例無(wú)法表示,因?yàn)樗慕Y(jié)構(gòu)是在被提供了所有考慮了與信息信號(hào)有關(guān)的控制信號(hào)的形式的算法的計(jì)算機(jī)中被計(jì)算的。根據(jù)本發(fā)明,對(duì)于整個(gè)處理,布爾門陣列由適用于芯片掩膜的結(jié)構(gòu)的計(jì)算機(jī)直接以芯片掩膜的方式來(lái)提供。因此,該電路的細(xì)節(jié)無(wú)法表示。結(jié)合以下描述的實(shí)施例只能描述輸入到該電路或從該電路輸出的信號(hào)。
目標(biāo)存儲(chǔ)器目標(biāo)存儲(chǔ)器1比普通RAM型存儲(chǔ)器更智能化,如以下進(jìn)一步說(shuō)明的那樣,它是相關(guān)的,這就有可能使它提供比如由普通RAM型存儲(chǔ)器所提供的“讀”和“寫”更多的服務(wù),特別適用于目標(biāo)存儲(chǔ)器的比特單元結(jié)構(gòu)如圖20所示。
雖然存儲(chǔ)器比特單元只包含四個(gè)連接關(guān)系,其中三個(gè)是可控的,但它能夠完成許多功能。它包含非常少的部件,這就有可能制造包含大量存儲(chǔ)器比特單元的袖珍型存儲(chǔ)器件。
目標(biāo)存儲(chǔ)器以存儲(chǔ)單元來(lái)劃分,每個(gè)存儲(chǔ)單元包括幾個(gè)閉包元素。所提供的服務(wù)在較高的級(jí)別上,例如,能夠找出特定的數(shù)據(jù)元素的所有出現(xiàn),不管數(shù)據(jù)元素放在單個(gè)存儲(chǔ)單元的哪一個(gè)里,能夠只使用一個(gè)存儲(chǔ)器指令在全局上,即在整個(gè)目標(biāo)存儲(chǔ)器內(nèi)將找出的特定的數(shù)據(jù)元素重寫為一新的數(shù)值。因?yàn)槟繕?biāo)存儲(chǔ)器是相關(guān)的,這一重寫操作可在兩個(gè)物理存儲(chǔ)器周期內(nèi)完成,與涉及的存儲(chǔ)單元的數(shù)目無(wú)關(guān)。
參看圖2,相關(guān)目標(biāo)存儲(chǔ)器1由存儲(chǔ)單元10的列的存儲(chǔ)面組成,因此,存儲(chǔ)單元以堆疊的形式被設(shè)置為列。如將結(jié)合圖20作進(jìn)一步的描述那樣,它們被連接到在變換接口7中的驅(qū)動(dòng)和讀出放大器驅(qū)動(dòng)的垂直存儲(chǔ)器總線t1、t2、id、env、V0、V1、V2、V3。所有的存儲(chǔ)單元被連接到每次從將要被操作的幾個(gè)存儲(chǔ)單元中選擇一個(gè)存儲(chǔ)單元10的優(yōu)先譯碼器11。目標(biāo)存儲(chǔ)器被在某幾個(gè)周期的對(duì)話期間執(zhí)行的相關(guān)存取所控制。在對(duì)話期間執(zhí)行全目標(biāo)存儲(chǔ)器的存取。
端口為了與外界進(jìn)行通信,可以給歸約處理器設(shè)置一個(gè)或幾個(gè)用于輸入/輸出數(shù)據(jù)的端口。端口可被看作是目標(biāo)存儲(chǔ)器的延伸,因?yàn)樗δ芟嗤拇鎯?chǔ)單元并且與目標(biāo)存儲(chǔ)單元兼容。端口通過(guò)統(tǒng)一化執(zhí)行輸入/輸出操作。
目標(biāo)存儲(chǔ)單元目標(biāo)存儲(chǔ)器1中的存儲(chǔ)單元10被用來(lái)存儲(chǔ)數(shù)字信息以及被用來(lái)積極參與實(shí)際計(jì)算。在每個(gè)存儲(chǔ)單元10中存儲(chǔ)復(fù)合數(shù)字信息和至少一個(gè)標(biāo)記。標(biāo)記或者是“被選擇”或者是“不被選擇”,通過(guò)讀或?qū)懕粯?biāo)記為“被選擇”的信息能夠讀或?qū)懛Q為閉包元素的在存儲(chǔ)單元或在部分存儲(chǔ)單元中的復(fù)合數(shù)字信息。不涉及標(biāo)記比特也能進(jìn)行存取。存取被在一比特總線a和b上的邏輯函數(shù)的結(jié)果所控制,上述總線被連接到如圖3所示的單元,圖3表示存儲(chǔ)單元。
為了在存儲(chǔ)單元10之間進(jìn)行邏輯運(yùn)算,設(shè)置了兩條全局一比特總線12(模式)和13(更多)。這些運(yùn)算可以是與和或。第三總線14(任何)被設(shè)置為連接到優(yōu)先譯碼器。但是,總線的數(shù)目不是限于三條而是可以僅為一條或幾條。各個(gè)存儲(chǔ)單元能夠從總線12、13、14讀出,并且也參與邏輯運(yùn)算。如果將要對(duì)總線a和b的任何一條進(jìn)行測(cè)試,總線12(模式)將出現(xiàn)信號(hào)“真”,所有的存儲(chǔ)單元都能夠讀和寫總線12(模式)。如果一個(gè)以上的存儲(chǔ)單元被選擇,總線13(更多)將出現(xiàn)值“真”。如果任何一個(gè)存儲(chǔ)單元請(qǐng)求通信總線14(任何),將出現(xiàn)信號(hào)“真”(即“1”)。
圖3所示的存儲(chǔ)單元被劃分成幾個(gè)存貯單元域151,每個(gè)存貯單元域151包括幾個(gè)比特單元15和元素標(biāo)題16。閉包元素被存儲(chǔ)在比特單元15中,表示被選擇或不被選擇的標(biāo)記被存儲(chǔ)在元素標(biāo)題16中??梢越o閉包元素指定彼此不同的任務(wù)。將要被存儲(chǔ)在每個(gè)閉包元素中的字長(zhǎng)例如可以是38比特。作為在標(biāo)題16中的標(biāo)記的附加物,以比特單元15中的一些比特也可被用作表示在該元素中的其它信息的使用情況的信息。因此,所謂的標(biāo)記字可被設(shè)置在這些比特中,6比特可被用作標(biāo)記字而32比特可被作為在比特單元15中的通常的被存儲(chǔ)信息。
由圖3顯然可知,所有閉包元素不必大小相同,因此,被連接到總線部分t1和t2的閉包元素,即類型小于被連接到其余總線部分的閉包元素。存貯單元域151的元素標(biāo)題16被連接到存儲(chǔ)單元的局部一比特總線a和b。可以以另一種方式選擇這些總線的數(shù)目,重要的是至少應(yīng)有一條總線,使用這些總線來(lái)進(jìn)行被選擇的閉包元素之間的線與和線或邏輯運(yùn)算。
每個(gè)存儲(chǔ)單元有閉包標(biāo)題17,總線a和b被連接到閉包標(biāo)題17。閉包標(biāo)題17通過(guò)至少一條1比特的總線被連接到優(yōu)先譯碼器,在實(shí)施例中,該總線被表示為兩條總線18和19,還被連接到全局總線12和13。閉包標(biāo)題17作為緩沖器。這些存儲(chǔ)單元能夠讀這些總線上的結(jié)果或參與邏輯運(yùn)算。
目標(biāo)存儲(chǔ)單元的使用圖4A概略地表示存儲(chǔ)單元的具體化,這一具體化的存儲(chǔ)單元將被用來(lái)說(shuō)明在存儲(chǔ)單元中的不同存儲(chǔ)字段的功能,就象在本發(fā)明的處理器中使用的那樣。在圖4A的存儲(chǔ)單元中的字段不具有與在圖3的存儲(chǔ)單元中的字段相同的次序,因?yàn)閳D3表示硬件結(jié)構(gòu)而圖4A表示單元的使用。如圖4A所示,存儲(chǔ)單元能夠存儲(chǔ)兩類閉包元素,并且包括特別適于將要被存儲(chǔ)的元素的存儲(chǔ)字段。在圖4A中這些字段被命名為與將要被存儲(chǔ)的這些字段中的閉包元素相同的名稱。
第一類閉包元素第一類元素描述存儲(chǔ)單元的不同狀態(tài),這一類的一個(gè)元素是懶惰(LAZY),它表示單元是否空閑,此時(shí)該單元的其余內(nèi)容被看作是消極的信息,是可被執(zhí)行的,即處于可執(zhí)行狀態(tài),或者表示單元是否在等待,即對(duì)該單元的測(cè)定已被延遲,在它可被執(zhí)行之前,它在等待結(jié)果。字段懶惰包含兩個(gè)比特。另一個(gè)第一類元素是地點(diǎn)(WHERE)表示閉包是否是樹的根或節(jié)點(diǎn),它包含一個(gè)比特。再一個(gè)第一類元素是類型(TYPE),它包括類型代碼(par、seq、apply、list、unify等),它在所示的實(shí)施例中包含三個(gè)比特。當(dāng)單元閉包被轉(zhuǎn)移到磁芯單元以便進(jìn)行縮減時(shí),這些第一類元素適合于被存儲(chǔ)在磁芯寄存器3的設(shè)置,在如圖1所示的懶惰、地點(diǎn)、類型面上的那些部分中,因此,已給它們相同的名稱。但是磁芯單元還有另外的被稱為閉包簡(jiǎn)單值(CLOS/SIMPLE)的面,它表示在寄存器中的信息是否是閉包或是簡(jiǎn)單值。以下面,閉包/簡(jiǎn)單值、懶惰、地點(diǎn)、類型被稱為屬性面(ATTRIBUTE planes)。根據(jù)應(yīng)用情況,可以提供附加存貯單元域和磁芯單元面。
第二類閉包元素第二類元素描述標(biāo)識(shí),環(huán)境或數(shù)值,它們是標(biāo)識(shí)符((IDENTIFIER)、環(huán)境(ENVIRONMENT)、值/指示(VALUE/DES),這些第二類元素適合于被存儲(chǔ)在磁芯寄存器3的設(shè)置,在如圖1所示的標(biāo)題(HEAD)和數(shù)值(NUM)面上的那些部分中。在所示實(shí)施例中,每個(gè)這些元素包含包括38比特的元素字。當(dāng)被轉(zhuǎn)移入磁芯單元時(shí),元素字又被劃分為數(shù)值字的標(biāo)記字,前者最好為32比特,被存儲(chǔ)在磁芯單元中的NUM面上,后者最好為6比特,被存儲(chǔ)在HEAD面上。根據(jù)應(yīng)用情況,可提供附加面。
標(biāo)記字第二類閉包元素中的每一個(gè)具有表示數(shù)字字的特征的標(biāo)記字。標(biāo)記有兩種,非直接標(biāo)記字,即被用于標(biāo)識(shí)符和環(huán)境的標(biāo)記,和直接標(biāo)記,即被用于簡(jiǎn)單值或類似的東西的標(biāo)記。非直接標(biāo)記字的例子是CIS、Canon和open。如果標(biāo)記字是CIS,這就意味著數(shù)值字代表還可被縮減的閉包。如果標(biāo)記字是Canon,這就意味著數(shù)值字代表不可被再縮減的閉包。如果標(biāo)記字是open,這就意味著標(biāo)識(shí)符字段代表為一被插入表的閉包。直接標(biāo)記的例子是discr、cont unused、和nothing。如果標(biāo)記字是discr,這就意味著數(shù)值字是一整數(shù)。如果標(biāo)記字是Cont,這就意味著數(shù)值字是一浮點(diǎn)值。如果標(biāo)記字是unused,這就意味著字段中的數(shù)值字無(wú)意義。如果標(biāo)記字是nothing,這就意味著字段的數(shù)值字什么也不代表,即相抵觸,例如,對(duì)包含什么也未標(biāo)示的字段的閉包進(jìn)行聯(lián)合,將總是什么也沒有。根據(jù)應(yīng)用情況,可以提供附加間接或直接標(biāo)記字。
標(biāo)識(shí)符如果存儲(chǔ)單元中的標(biāo)識(shí)符字段包含標(biāo)識(shí)符元素,就能將在該存儲(chǔ)單元中的單元閉包轉(zhuǎn)移到磁芯單元。每個(gè)存儲(chǔ)單元字段VALUE/DES可包含另一個(gè)單元閉包的標(biāo)識(shí)符,由此提供到其它單元閉包的連接。被存儲(chǔ)的閉包的總和可被看作是被標(biāo)識(shí)符聯(lián)合在一起的有向圖或單元閉包樹。
環(huán)境環(huán)境字段可包含表示在提供閉包的環(huán)境的閉包樹上的根閉包的標(biāo)識(shí)符。這樣一來(lái)從樹上的閉包開始,經(jīng)過(guò)根,僅在一個(gè)運(yùn)算周期內(nèi)內(nèi)就能對(duì)整個(gè)結(jié)構(gòu)進(jìn)行存取。但是環(huán)境字段還可以有其它用途。通過(guò)在被產(chǎn)生的所有單元閉包的環(huán)境中存儲(chǔ)產(chǎn)生者的標(biāo)識(shí)符,環(huán)境就可被用來(lái)跟蹤結(jié)構(gòu)的產(chǎn)生者。另一個(gè)例子是在子樹上的所有閉包單元通過(guò)具有相同的環(huán)境可被組合在一起,在這些閉包單元中具有相同名稱的所有符號(hào)應(yīng)代表同樣的事物。
因此,如果給定閉包的環(huán)境,就能找出在該環(huán)境內(nèi)的根閉包。在它的存儲(chǔ)單元的字段WHERE中可以給環(huán)境的根閉包設(shè)置一個(gè)專門的標(biāo)記(例如“1”),在字段WHERE中可以給環(huán)境的節(jié)點(diǎn)閉包設(shè)置另一標(biāo)記(例如“0”)。
類型類型在存儲(chǔ)單元字段TYPE中的內(nèi)容是單元閉包的類型,這一類型組成部分例如可以具有值par,即并行值和/或指示;list,即順序值/或指示;unify,即將要被檢驗(yàn),看它們是否代表相同的數(shù)值等的值的內(nèi)容和/或指示。
磁芯單元磁芯單元作為一個(gè)整體是用來(lái)進(jìn)行結(jié)構(gòu)運(yùn)算的算術(shù)器件,包括幾個(gè)磁芯寄存器3(參看圖1)。寄存器存儲(chǔ)表樹,每表包含字。
磁芯寄存器包含從目標(biāo)存儲(chǔ)器1獲得的定義。磁芯寄存器3通過(guò)包括總線類型、id、env、V0、V1、V2、V3的總線配置8被連接到目標(biāo)存儲(chǔ)器,該總線配置容量足以傳送在目標(biāo)存儲(chǔ)單元中的內(nèi)容。但是,磁芯單元可包含多達(dá)三級(jí)的目標(biāo)結(jié)構(gòu),存在四種情形0、1、2或3級(jí)目標(biāo)結(jié)構(gòu)都可被存儲(chǔ)在磁芯單元中。
磁芯單元中的寄存器能被在磁芯單元的實(shí)施例中使用的寄存器如圖4B到4D所示,能夠被在磁芯單元的實(shí)施例中使用的寄存器結(jié)構(gòu)如圖4E所示。
圖4B所指的是寄存器由寄存器單元來(lái)構(gòu)成,每個(gè)單元能存儲(chǔ)1比特信息。畫出寄存器的方法是在表明寄存器貫穿磁芯單元中的不同面,每個(gè)寄存器單元位于一個(gè)面內(nèi)。
圖4C表示貫穿磁芯單元中的所有面的寄存器,即全寄存器。這種寄存器能夠在位于NUM和HEAD面內(nèi)的寄存器單元中存儲(chǔ)一標(biāo)識(shí)符或數(shù)值。如上所述,它也能在位于BOOL、TYPE、WHERE、LAZY和CLOS/SIMPLE面內(nèi)的寄存器單元中存儲(chǔ)狀態(tài)。
圖4D表示只貫穿磁芯單元的NUM和HEAD面的寄存器,即有限寄存器。
圖4E表示磁芯單元中的寄存器的可能的結(jié)構(gòu)。磁芯單元具有最好為矩形排列的基址寄存器,稱為基址寄存器矩陣。基址寄存器有沿著它的一側(cè)邊的主要行,稱為主寄存器。基址寄存器的列,每列有一在底部的主寄存器,稱為次要寄存器。還可以給磁芯單元設(shè)置標(biāo)識(shí)符寄存器和環(huán)境寄存器。一列輔助寄存器被設(shè)置在基址寄存器矩陣的旁邊。
在磁芯單元的一實(shí)施例中,除主寄存器外的所有基址寄存器可以是圖4D所示的類型,即有限寄存器,圖4E中余下的寄存器可以是圖4C所示的類型,即全寄存器。
在更詳細(xì)地描述磁芯單元的硬件結(jié)構(gòu)之前,參看圖5A到5F,簡(jiǎn)要地描述數(shù)據(jù)的不同存儲(chǔ)方式。參看圖6A到6H,7A到7G和8A到8G,描述磁芯單元操作的實(shí)例。
簡(jiǎn)單值如圖5A所示,在主寄存器的一特定的寄存器中存儲(chǔ)作為縮減的結(jié)果的簡(jiǎn)單值25。
一級(jí)結(jié)構(gòu)目標(biāo)是為了被縮減而被裝入磁芯單元中的東西。如圖5B所示,只包含一級(jí)結(jié)構(gòu)的目標(biāo),特別是不訪問(wèn)其它單元閉包的閉包被存儲(chǔ)在主寄存器中。該實(shí)施例表示簡(jiǎn)單的數(shù)值運(yùn)算,即值1、2和3的相加。數(shù)值指令(+)被存儲(chǔ)在第一個(gè)主寄存器中,而將要被處理的元素被存儲(chǔ)在其它主寄存器中。
兩級(jí)結(jié)構(gòu)如圖5C所示,包含兩級(jí)結(jié)構(gòu)的樹可以使它的作為父的根表被水平地存儲(chǔ)在主寄存器中,使作為子的表被垂直地存儲(chǔ)在基址寄存器中。在這一例子中,具有表表示((1 2)(3 4))的結(jié)構(gòu)被存儲(chǔ)在基址寄存器矩陣中。作為次要表中的第一個(gè)元素的根表,即1和2被存儲(chǔ)在主寄存器中。而子表,即(1 2)和(3 4)被垂直地存儲(chǔ)在次要寄存器中。以下,例如結(jié)合圖6將給出這類存儲(chǔ)器的另外的實(shí)例。
三級(jí)結(jié)構(gòu)如圖5E所示,包含三級(jí)結(jié)構(gòu)的目標(biāo)樹使它的根被存儲(chǔ)在一個(gè)輔助寄存器中,而它的單個(gè)子被存儲(chǔ)在主寄存器中。在圖5D中,目標(biāo)樹的根,它是指令轉(zhuǎn)換(Tr),被存儲(chǔ)在一個(gè)輔助寄存器中,而它的子,它是表(id1、id2、id7)被存儲(chǔ)在主寄存器中。在這一表中的每個(gè)元素又是一個(gè)代表一個(gè)子的標(biāo)識(shí)符。在圖5E中,這些子被垂直地裝入基址寄存器中,其中id1被它表示的表代替,即(1 2 3);id2被它表示的表代替,即(11 12 13 13);id7被它表示的表代替,即(21 22 23)。
流水線模式如圖5F所示,通過(guò)將目標(biāo)表存儲(chǔ)在主寄存器中,將目標(biāo)的父存儲(chǔ)在輔助寄存器中,而裝入以流水線模式存儲(chǔ)的樹,以流水線模式存儲(chǔ)的樹使將要被處理的指令和元素被存儲(chǔ)在上述兩種寄存器中。當(dāng)縮減數(shù)值表達(dá)式時(shí)最好使用流水線模式的操作。優(yōu)點(diǎn)之一是中間結(jié)果被暫存在磁芯單元而不是在目標(biāo)存儲(chǔ)器中。
例1如圖6A到6H所示的第一個(gè)例子是被給定為可縮減閉包的并行值的聯(lián)合。
unify(par(1par(1)3)par(1par(1)2))這一可縮減閉包將作為聯(lián)合的并行結(jié)構(gòu)被重寫。
圖6A表示最初的可縮減閉包。圖6B表示這一可縮減閉包是如何被存儲(chǔ)在目標(biāo)存儲(chǔ)器中的。在圖6A中標(biāo)出存儲(chǔ)可縮減閉包的不同部分的存儲(chǔ)單元。在圖6B中標(biāo)出元素閉包和單元閉包之間的連接。具有標(biāo)識(shí)符id1的單元閉包在類型字段中具有標(biāo)識(shí)符cls和類型代碼unify;具有標(biāo)識(shí)符id2、id3、id4的單元閉包在它們的類型字段中具有類型代碼par。具有標(biāo)識(shí)符id1的單元閉包的前兩個(gè)值/指示閉包元素指定具有標(biāo)識(shí)符id2和id4的單元閉包這些單元閉包被標(biāo)記為Canon。具有標(biāo)識(shí)符id2的單元閉包使它的第一和第三個(gè)值/指示閉包元素被設(shè)置具有標(biāo)記disc的離散值,它的第二個(gè)值/指示閉包元素指定具有標(biāo)識(shí)符id3的單元閉包,并因此被標(biāo)記為Canon。具有標(biāo)識(shí)符id3的單元閉包使它的第一個(gè)值/指示閉包元素被設(shè)置整數(shù)值,因此被標(biāo)記為discr。具有標(biāo)識(shí)符id4的單元閉包使它的第一和第三個(gè)值/指示閉包元素被設(shè)置具有標(biāo)記為discr的離散值,它的第二個(gè)值/指示閉包元素指定具有標(biāo)識(shí)符id3的單元閉包,并因此被標(biāo)記為Canon。
如圖6C所示,在最初的操作步驟中,其單元閉包具有標(biāo)識(shí)符id1的存儲(chǔ)單元的內(nèi)容被首先裝入到它的標(biāo)識(shí)符放置在標(biāo)識(shí)符寄存器中作為包含閉包的類型的代碼unify的id1,以及將值/指示單元放置在主寄存器中作為目標(biāo)的磁芯單元中。這一切實(shí)際如何完成的將如圖13所示,并在下面作進(jìn)一步的描述。
如圖6D所示,具有標(biāo)識(shí)符id2和id4的子被垂直地裝入基址寄存器,使得在它們的第一個(gè)值/標(biāo)識(shí)符元素中的內(nèi)容被放置在以它的標(biāo)識(shí)符標(biāo)記的主寄存器中,其它的值/標(biāo)識(shí)符元素被放置在主寄存器以上的垂直列中的寄存器中。每個(gè)這些子的類型代碼par也被裝入主寄存器。類型代碼被裝入位于TYPE面內(nèi)的寄存器單元中。
如圖6E所示,基址寄存器的內(nèi)容被轉(zhuǎn)置90°,使得在基址寄存器每垂直列中的內(nèi)容被放置在主寄存器中,第二垂直列被放置在平行于主寄存器的基址寄存器的行中。轉(zhuǎn)置操作如圖18所示,并在下面作進(jìn)一步的描述。設(shè)置在標(biāo)識(shí)符寄存器和主寄存器中的類型代碼被交換,這由控制單元自動(dòng)地完成?,F(xiàn)在基址寄存器包含具有放置在列中的三個(gè)子的父。用指令make將每個(gè)子裝回到目標(biāo)存儲(chǔ)器。作為來(lái)自目標(biāo)存儲(chǔ)器的回答,在主寄存器中設(shè)置并存儲(chǔ)被存儲(chǔ)到子的標(biāo)識(shí)符。需要指出控制單元6在讀出專門位于面CLOS/SIMPLE到TYPE內(nèi)的寄存器中的內(nèi)容,并且根據(jù)從那里獲得的信息提供指令,即控制開關(guān)和門。子按順序被命名id1,已被占用的名稱不再使用但是,名稱的次序是無(wú)關(guān)緊要的,因此可以是任意的。
如圖6F所示,第一個(gè)子獲得標(biāo)識(shí)符id2,包含占用標(biāo)識(shí)符id3的元素閉包的第二個(gè)子,獲得標(biāo)識(shí)符id4,第三個(gè)子獲得標(biāo)識(shí)符id5。使元素閉包被連接到具有標(biāo)識(shí)符id2、id4、id5的單元閉包的父保留它的標(biāo)識(shí)符id1,并且被存儲(chǔ)在目標(biāo)存儲(chǔ)器中。
圖6G表示存儲(chǔ)可縮減閉包的存儲(chǔ)單元。
par(unify(1 1)unify(par(1)par(1)unify(2 3))可縮減閉包本身如圖6H所示,與圖6A和6B相同的方式表示圖6G和6H,因此,圖6G和6H是顯然的。
圖6G還表示具有類型代碼unify的單元閉包已被在LAZY字段中給定符號(hào)exec,具有標(biāo)識(shí)符id1的單元閉包被給定符號(hào)wait,這意味著為了將被標(biāo)記為exec的單個(gè)閉包的內(nèi)容縮減為數(shù)值,它們應(yīng)當(dāng)在被標(biāo)識(shí)符id1表示的單元閉包之前被執(zhí)行。圖6H中的閉包稍后就可被裝回到磁芯單元以便作進(jìn)一步的處理。例如,具有標(biāo)識(shí)符id2的單元閉包將具有值1,因?yàn)橹?和在它的值/表示元素中的1是相同的。具有標(biāo)識(shí)符id5的單元閉包結(jié)果是nothing因?yàn)樵谒闹?表示元素中的值2和3是不相同的。每個(gè)聯(lián)合都將在數(shù)值A(chǔ)LU中進(jìn)行,數(shù)值A(chǔ)LU在比較器中比較數(shù)值,并向控制單元6提供比較結(jié)果??刂茊卧缓缶屠盟牟紶栭T陣列來(lái)提供在磁芯單元的第一個(gè)主寄存器中的信息。當(dāng)歸約的結(jié)果是正則表示或者是簡(jiǎn)單值或者什么也不是時(shí),結(jié)果就被分配到目標(biāo)存儲(chǔ)器中的所有字段,使得被縮減閉包的每個(gè)非直接表示被縮減的結(jié)果所代替。這是由下面結(jié)合圖16作進(jìn)一步描述的聯(lián)合-id操作來(lái)完成的。
例2該實(shí)例是硬件指令表擴(kuò)充,表示單元閉包包含一插入表。這類指令是在其它歸約中的輔助步驟。硬件指令表擴(kuò)充如圖19所示并結(jié)合圖19作進(jìn)一步的描述。
機(jī)器執(zhí)行作為例子的被稱為ex.type的指令的歸約,該指令可以是任一類包含具有如下形式的數(shù)值和表的指令ex.type(1 list(2 3 list(4 5 6))7)這一形式如圖7A所示,它的單元閉包如圖7B所示。與圖6A和6B相同的方式表示圖7A和7B,因此圖7A和7B是顯然的。
如圖7C所示,具有標(biāo)識(shí)符id1的單元閉包被裝入磁芯單元的主寄存器中,磁芯單元的標(biāo)認(rèn)符和類型代碼在標(biāo)識(shí)符寄存器中。由于在第二個(gè)主寄存器中的內(nèi)容用非直接元素open來(lái)標(biāo)記,將與之連接的單元閉包被垂直地裝入基址寄存器中作為子,如從圖7D一目了然的那樣。
在圖19中作更詳細(xì)表示的硬件指令表擴(kuò)充將在第三個(gè)主寄存器中的離散值7移到第三基址列中id4旁邊的位置,將位于第二個(gè)主寄存器之上的第二列中的部分表移到第三列,將該列的最底端元素(值3)放在第三個(gè)主寄存器中,并給該寄存器類型代碼list。由于在第二個(gè)主寄存器中的內(nèi)容是離散值,所以它具有標(biāo)識(shí)符discr。于是實(shí)現(xiàn)了新的表擴(kuò)充,將在主寄存器之上的第三例中的內(nèi)容放置在將其標(biāo)示為list的第四列中。在第三個(gè)主寄存器中的內(nèi)容因是離散值故被標(biāo)為discr,如圖7F可一目了然。
而后利用指令make把第四列中的表存貯在目標(biāo)存貯器中。它被存在具有標(biāo)識(shí)符id2的存貯單元中,因?yàn)樗炎兂砷e置了,標(biāo)識(shí)符id2被送回到磁芯單元以便存在第四主寄存器中,如圖7所示。
此后,在歸約的結(jié)果被裝回到目標(biāo)存貯器之前,其它一些ex.type的歸約已被執(zhí)行。
例3數(shù)值指令將被執(zhí)行,數(shù)值指令可以是+、-、×、/、mod等。在指令之后將跟著變量。在該實(shí)例中將進(jìn)行表中的數(shù)字之間的相加。機(jī)器執(zhí)行具有如下函數(shù)apply的歸約。
apply(+list(1 2))應(yīng)用如圖8A所示,它的單元閉包如圖8B所示。與圖6A和6B相同的方式表示圖8A和8B,因此圖8A和8B是顯然的。
如圖8C所示,具有標(biāo)識(shí)符id1的單元閉包裝裝入磁芯單元的主寄存器中,磁芯單元的標(biāo)識(shí)符和類型代碼在標(biāo)識(shí)符寄存器中。數(shù)值指令(+)被標(biāo)記為一指令。由于在第二個(gè)主寄存器中的內(nèi)容被標(biāo)記為非直接元素open,將與之連接的單元閉包被垂直地裝入基址寄存器中作為子,如從圖8D中一目了然的那樣。
然后執(zhí)行表擴(kuò)充,將在第二個(gè)主寄存器中的離散標(biāo)記為discr,將被擴(kuò)充表的值2作為類型代碼字段中的list。這樣做是因?yàn)椴还芫哂袠?biāo)識(shí)符id2的表具有兩個(gè)、三個(gè)或四個(gè)元素,機(jī)器都執(zhí)行相同的操作。由于在新表中只有一個(gè)元素,機(jī)器用主寄存器包含一離散值的標(biāo)記discr代替標(biāo)記list,如從圖8F一目了然的那樣。
于是,主寄存器包含指令標(biāo)記(+)和兩個(gè)離散值,這就使控制單元,直接或例如利用與存儲(chǔ)在目標(biāo)存儲(chǔ)器的不可寫部分中的指令有關(guān)的信息,指令被存儲(chǔ)在該目標(biāo)存儲(chǔ)器中,來(lái)控制數(shù)值A(chǔ)LU以便執(zhí)行該指令(相加),并將數(shù)值運(yùn)算的結(jié)果作為規(guī)范值傳送到第一個(gè)主寄存器,如圖8G所示。需要指出在類型代碼字段中的符號(hào)apply是將要執(zhí)行函數(shù)操作的標(biāo)記。此時(shí)為簡(jiǎn)單值3的結(jié)果值然后被進(jìn)行全局的分配,以便用這一值代替各寄存器中的標(biāo)識(shí)符id1。
如上所述,在寄存器棧中的固定數(shù)目的寄存器存儲(chǔ)表。未被使用的寄存器被特別地標(biāo)記為未被使用。表樹被用來(lái)控制和規(guī)定計(jì)算,這是在中央控制單元6的控制,以及數(shù)值A(chǔ)LUS的協(xié)同操作下-如果需要執(zhí)行數(shù)值算術(shù)運(yùn)算的話-被執(zhí)行的。通過(guò)重寫表樹中的內(nèi)容來(lái)進(jìn)行計(jì)算。
具有多達(dá)四個(gè)元素的表可被放置在一個(gè)單元閉包中。但是,任意長(zhǎng)的表都可被處理,只是每個(gè)這樣的表必須被劃分為幾個(gè)表,每個(gè)表的長(zhǎng)度等于或小于將要被在磁芯單元中處理的最大長(zhǎng)度。磁芯單元每次只能處理一定深度的樹,深度較大的樹也可被處理,但每次只有有限深度的部分樹被存儲(chǔ)在磁芯單元中,即每次只可能處理樹的一部分。
接口目標(biāo)存儲(chǔ)器〈-〉磁芯單元目標(biāo)存儲(chǔ)器1和磁芯單元2通過(guò)使信號(hào)匹配的轉(zhuǎn)換接口7和閉包寬總線配置8,即能夠在磁芯單元2和目標(biāo)存儲(chǔ)器1之間傳送單元閉包的整個(gè)內(nèi)容的總線配置而相互連接??偩€配置8包括部分總線配置OBJV,后者又包括連接到在磁芯寄存器3中的寄存器面NUM的總線id、env、V0、V1、V2、V3和連接到在磁芯寄存器3中的寄存器面HEAD的部分總線配置TAG以及包括從面LAZY、WHERETYPE到存儲(chǔ)單元中相應(yīng)的閉包字段的總線的總線配置ATTRIBUTE接口7放大從磁芯寄存器3到單元閉包寬總線配置8的信號(hào)并將該信號(hào)變換為適用于在目標(biāo)存儲(chǔ)器中的存儲(chǔ)器比特單元的信號(hào)。它還放大在讀操作時(shí)來(lái)自目標(biāo)存儲(chǔ)器1的信號(hào)并使該信號(hào)適合于磁芯單元寄存器。雖然接口7被表示為被放置在目標(biāo)存儲(chǔ)器1中,但它也可被放置在磁芯單元中。比特單元的接口如圖20所示并將在下面詳細(xì)描述。
存儲(chǔ)單元操作參看圖3,存儲(chǔ)單元被來(lái)自中央單元6的復(fù)合數(shù)字信息控制,中央單元6通過(guò)連接到磁芯單元2的控制總線配置(未畫出)而被指定給所有的存儲(chǔ)單元。
在每個(gè)閉包元素中的比特單元15可被它的標(biāo)題16所控制,使得該比特單元每次能夠執(zhí)行以下的操作放置在這一操作中,每個(gè)比特單元保持被存儲(chǔ)的比特值的被存儲(chǔ)狀態(tài);
讀在這一操作中,在比特單元中存儲(chǔ)的比特值被讀出;
寫在這一操作中,比特值被寫入比特單元;
比較在這一操作中,將由存儲(chǔ)在比特單元中的比特值組成的數(shù)據(jù)字與另一數(shù)據(jù)字進(jìn)行比較。
根據(jù)邏輯條件可設(shè)置標(biāo)記,每個(gè)標(biāo)記是在第二總線a和b上的數(shù)據(jù),先前的標(biāo)記、在比較操作情況下的比較結(jié)果,以及由控制單元6到存儲(chǔ)器的控制信號(hào)的函數(shù)。
由于使用相關(guān)尋址,即根據(jù)被存儲(chǔ)的內(nèi)容而不是通過(guò)地址來(lái)查找數(shù)據(jù),所以沒有物理依賴性。存儲(chǔ)器是相關(guān)的,可以使用單元標(biāo)識(shí)符、環(huán)境、類型、信息值或它們的組合作為檢索的線索。
在存儲(chǔ)單元的元素中的值為選擇的一個(gè)或多個(gè)標(biāo)記比特表示該元素已被選擇作為存取機(jī)制的目標(biāo)。一定的檢索操作建立標(biāo)記,這將在下面描述。
這種存取這許涉及一個(gè)或幾個(gè)存儲(chǔ)單元。如上所述,這些多單元操作中的一種可以是在許多個(gè)被選擇元素中存儲(chǔ)標(biāo)識(shí)符的存儲(chǔ)操作。
連接到標(biāo)題16的導(dǎo)線acc將元素內(nèi)的所有比特單元相互連接。所有比特單元被導(dǎo)線acc上的信號(hào)控制。連接到比特單元的其它導(dǎo)線d和d*被連接到在目標(biāo)存儲(chǔ)器的其它存儲(chǔ)單元的相應(yīng)的比特單元。
優(yōu)先譯碼器優(yōu)先譯碼器11對(duì)每個(gè)存儲(chǔ)單元設(shè)置一個(gè)區(qū)間,每個(gè)區(qū)間有一用于請(qǐng)求的第一接頭,在該接頭上比特值“真”,代表需要,而比特值“假”,代表不需要;一用于“同意”的第二接頭,在該接頭上比特值“真”代表被選擇,而“假”代表不被選擇。
優(yōu)先譯碼器11最多使一個(gè)“同意”等于被選擇。可以這樣來(lái)選擇以達(dá)到上述目的,使得使“請(qǐng)求”等于“需要”的以結(jié)構(gòu)為標(biāo)準(zhǔn)的第一區(qū)間將是被選擇的。優(yōu)先譯碼器的實(shí)施例將在下面結(jié)合圖21來(lái)描述。
在許多場(chǎng)合下,對(duì)存儲(chǔ)器總線的協(xié)議與所有存儲(chǔ)單元進(jìn)行通信。但是在某些情況下,幾個(gè)存儲(chǔ)單元或在存儲(chǔ)單元內(nèi)的閉包元素應(yīng)該被整理為有序狀態(tài)或被讀出。這可通過(guò)優(yōu)先譯碼器11來(lái)實(shí)現(xiàn),從每個(gè)單元發(fā)出一請(qǐng)求信號(hào),而優(yōu)先譯碼器11返回同意信號(hào)。
用讀、寫和檢索操作控制存儲(chǔ)器。這些操作可被組合為更復(fù)雜的操作。可以在幾條內(nèi)部總線a和b,以及在全局總線上進(jìn)行一定的運(yùn)算。
檢索可通過(guò)作具有結(jié)果“適合”或“差異”的比較來(lái)進(jìn)行,可以根據(jù)以下方式中的一種來(lái)進(jìn)行檢索(1)對(duì)每個(gè)閉包元素逐一地進(jìn)行檢索,檢索與在其它閉包元素中的復(fù)合信息無(wú)關(guān);
(2)通過(guò)對(duì)在存儲(chǔ)單元中的所有閉包元素進(jìn)行比較來(lái)進(jìn)行檢索。在每個(gè)單元中結(jié)果都必須是“適合”(FIT);
(3)通過(guò)對(duì)在存儲(chǔ)單元中的所有閉包元素進(jìn)行比較來(lái)進(jìn)行檢索,在至少一個(gè)閉包元素中的結(jié)果必須是“適合”。
比較能夠根據(jù)以下方式中的一種來(lái)進(jìn)行(1)兩個(gè)比特模式被比較,當(dāng)所有相應(yīng)的比特都相同時(shí),比較的結(jié)果才是“適合”;
(2)對(duì)將要被比較的兩個(gè)比特模式,或者它們的一個(gè)這樣進(jìn)行編碼使得一個(gè)比特表明比特模式信息相應(yīng)于“任意的”或“特定的”信息值V。在比較場(chǎng)合下,如果一個(gè)信息值相應(yīng)于“任意的”信息值V,那么結(jié)果就為“適合”。否則只有當(dāng)兩個(gè)特定的信息值V都相等時(shí)結(jié)果才是“適合”。
總線功能是執(zhí)行讀或?qū)懩繕?biāo)存儲(chǔ)器字的規(guī)則??偩€被存取功能來(lái)控制,存取功能依賴于第二總線a和b的標(biāo)記和/或值。
設(shè)置在一比特總線a上的“線或”函數(shù)具有一系列布爾值,它判斷在存儲(chǔ)單元中的所有閉包元素之間的邏輯“或”。在物理上它相當(dāng)于在元素標(biāo)題16中的晶體管陣列所設(shè)置的導(dǎo)線。
設(shè)置在一比特總線b上的“線與”函數(shù)具有一系列布爾值。它判斷在存儲(chǔ)單元中的所有閉包元素之間的邏輯與。在物理上它相當(dāng)于在元素標(biāo)題16中的晶體管陣列所設(shè)置的導(dǎo)線。
優(yōu)先譯碼器11的優(yōu)先函數(shù)將一系列布爾值作為自變量并且產(chǎn)生相應(yīng)大小的布爾值表。自變量具有最高優(yōu)先權(quán)的第一元素。在該比特后跟著具有較低優(yōu)先權(quán)的比特。自變量的第一個(gè)“真”比特產(chǎn)生結(jié)果中相應(yīng)的“真”比特。所有其它的比特都是“假”。
在存儲(chǔ)單元中的元素,通常被對(duì)在元素中的值的第一次檢索所使用,然后被例如在所選出的元素中的讀和寫這樣的施行操作所使用。
磁芯單元的硬件結(jié)構(gòu)面NUM和HEAD將它們的磁芯寄存器單元連接到位于面2和接口7之間的總線OBJV、id總線,即標(biāo)識(shí)符總線和env總線,即環(huán)境總線中的導(dǎo)線。OBJV總線包括總線部分V0、V1、V2和V3。
磁芯寄存器單元的陣列由此垂直于寄存器而被切割成面,屬于同一NUM或HEAD面但屬于不同的磁芯寄存器的寄存器單元以圖9所示的方式被相互連接。
在如圖9所示的至少NUM和HEAD面的結(jié)構(gòu)中,寄存器單元的方陣被放置在具有NXN個(gè)寄存器S0,0到Sn-1,n-1的矩陣中,即基址寄存器中。
基址寄存器在大多數(shù)的應(yīng)用中被用來(lái)暫時(shí)存儲(chǔ)閉包元素。寄存器的表述已在這樣的意義上被嚴(yán)格劃分,即如果描述涉及寄存器的實(shí)際位就使用例如基址、主和輔助寄存器這類的表述,如果描述涉及寄存器的功能就使用例如子、目標(biāo)和父寄存器這樣一類表述。
在N=4的實(shí)施例中,這是被推薦的,但也可選擇其它的矩陣大小(未被表示出來(lái))。如圖9所示,基址寄存器單S0,0、S1,0、S2,0、S3,0的最低行被連接到總線ho,并且是主寄存器單元。主寄存器單元S0,0、S1,0、S2,0、S3,0被最經(jīng)常地用作目標(biāo)根寄存器,并且通過(guò)NU0到NU3構(gòu)成的總線NU被連接到數(shù)值A(chǔ)LU5。
標(biāo)識(shí)符寄存器單元ID被連接到總線id,環(huán)境寄存器單元ENU被連接到線路env。通過(guò)開關(guān)SWvi總線hi可與總線vi連接,此處i是0和3之間的數(shù)字。包含總線h0、h1、h2、h3的總線被稱為OBJh,即水平目標(biāo)總線??偩€OBJh除了別的以外還被用于垂直地裝入數(shù)據(jù),即以磁芯單元中的寄存器列的形式,數(shù)據(jù)通過(guò)總線OBJV由目標(biāo)存儲(chǔ)器來(lái)提供。這將結(jié)合圖15作進(jìn)一步描述。
分別通過(guò)開關(guān)SWid、ho、SWenv、ho、SWvo、SWv1,ho、SWv2,ho和SWv3,ho,總線id、env、v0、v1、v2、v3可與總線hho連接。包括總線Cid、Cf、Cn和Cv的總線res被連接到控制單元6,并且可用于常量,例如零來(lái)設(shè)置寄存器。總線Cid被連接到標(biāo)識(shí)符寄存器單元,總線Cf被連接到寄存器單元F0、F1、F2和F3,通過(guò)開關(guān)Swch,ho,總線Ch可與總線Ch可與總線ho連接,通過(guò)開關(guān)SWvi,cv,總線Cv可與總線vi連接,這里i是0和3之間的數(shù)字??偩€res及它的開關(guān)在某些應(yīng)用中可被省略(未表示)。
輔助寄存器在數(shù)據(jù)樹中有一最高級(jí),被稱為父,父有時(shí)被存儲(chǔ)在圖9中被放置在左側(cè)的輔助寄存器單元F0、F1、F2、F3中。在所示實(shí)施例中,每個(gè)輔助寄存器能夠存儲(chǔ)一磁芯字。每個(gè)輔助寄存器單元被分別連接到總線id和線路h0、h1、h2、h3中的一條。輔助寄存器單元將在磁芯單元能夠提供的操作的一小部分中被使用。因此在某些應(yīng)用中輔助寄存器可被省略(未示出)。還可以提供具有多于一個(gè)列的輔助寄存器的磁芯單元(未示出)。
由以上所述顯然可知,每個(gè)寄存器由在幾個(gè)面2中的具有相同位置的寄存器單元所提供。因此,整個(gè)寄存器將以在圖9中使用的標(biāo)號(hào)來(lái)命名,即使圖9只表示一個(gè)單元,即每個(gè)存存器1比特。由圖9顯然可知,寄存器被以行和列的形式來(lái)排列。輔助寄存器區(qū)域F0、F1、F2、F3是一列,N個(gè)基址寄存器區(qū)域S0,0到S0,1,S1.0到S1.3,S2.0到S2.3和S3.0到S3.3分別是一列并能存儲(chǔ)一子。
寄存器單元之間的連接在每個(gè)面中的相鄰基址寄存器單元之間垂直和水平相連。也給在水平上的作為目標(biāo)存儲(chǔ)器的每個(gè)最外的基址寄存器單元提供具有被固定編程的值的連接,該值在所示的實(shí)施例中是假f。它與寄存器單元中的N(北)端相連,并用于進(jìn)行自北向南移位時(shí)。這樣來(lái)確定基址寄存器單元之間沿對(duì)角線方向的連接,使得轉(zhuǎn)置的位置是可連接的。這意味著單元Si,j,這里i不同于j,可與單元Sj,i連接。每個(gè)基址寄存器單元被連接到最靠近下部右側(cè)的基址寄存器單元。每個(gè)輔助、標(biāo)識(shí)符、環(huán)境以及基址寄存器單元通過(guò)輸出ACCFX、ACCid、ACCenv和ACCsx,y,被分別連接到面BOOL中的一個(gè),這里X和Y是0和3之間的數(shù)字。
以下描述類屬寄存器單元(圖10),從類屬寄存器單元可獲得特定的寄存器單元,即基址、輔助、標(biāo)識(shí)符和環(huán)境寄存器單元(未示出)。有關(guān)各種寄存器單元的特定結(jié)構(gòu)的進(jìn)一步細(xì)節(jié)請(qǐng)參看尚待批準(zhǔn)的美國(guó)申請(qǐng),號(hào)碼為…。
類屬寄存器單元參看圖10,寄存器單元的推薦實(shí)例包括兩條內(nèi)部總線aR和bR,以及一中央內(nèi)部寄存器r。總線aR和bR被連接到寄存器單元外部的幾個(gè)接點(diǎn)。圖10的實(shí)施例表示被設(shè)置了與外部的每種可能的連接的類屬寄存器單元。有代表性的是不給圖10所示所有接點(diǎn)提供特定的寄存器單元,根據(jù)寄存器單元的放置可省略一個(gè)或多個(gè)。所有被連接接頭之間的導(dǎo)線由圖9所示的連接可一目了然。由圖9還可一目了然的是,不是所有的寄存器單元都有如圖10所示的所有最外面的連接。因此不給出所有寄存器單元以及它們的連接的詳細(xì)描述。
總線aR總線aR通過(guò)開關(guān)SWVi和端V連接到垂直總線的線VX,其中X是0和3之間的數(shù)。另外,它還通過(guò)開關(guān)SWHi和端H連接到水平總線的線hy,其中y是0和3之間的數(shù),還通過(guò)連接到鄰近寄存器單元中開關(guān)SWW(東)上的端W連接到靠近右邊的寄存器單元,且若該寄存器單元是主寄存器單元,則還要通過(guò)端NU直接連接到數(shù)值運(yùn)算單元IP??偩€aR還通過(guò)由那個(gè)寄存器單元所提供端Da到開關(guān)SWDb連接到直至右邊寄存器單元,還通過(guò)由那個(gè)寄存器單元提供的端S(南)到開關(guān)SWN(北)連接到下面的寄存器單元。連接到總線aR的寄存器單元可以利用端C和開關(guān)SWC進(jìn)行置位和復(fù)位。總線aR還通過(guò)開關(guān)SWal連接到中央內(nèi)部寄存器rR的輸入端,并通過(guò)開關(guān)SWao連接到同一寄存器rR的輸出端。
總線bR總線bR通過(guò)開關(guān)SWE和端E連接到靠右邊的寄存器單元,通過(guò)開關(guān)SWDb和端Db連接到寄存器單元的一個(gè)對(duì)角線上,并通過(guò)開關(guān)SWN和端N連接到上面的寄存器單元。同時(shí)通過(guò)開關(guān)SWb1,總線bR還連接到中央內(nèi)部寄存器rR的一個(gè)輸入端,通過(guò)開關(guān)SWbo,連接到上述寄存器rR的一個(gè)輸出端。
中央內(nèi)部寄存器中央內(nèi)部寄存器rR包括兩個(gè)最好是由CMOS構(gòu)成的反相器Q和Q2,和一個(gè)位于Q1和Q2之間的可控開關(guān)SWQ。整個(gè)寄存器單元還包括總線aR、總線bR、開關(guān)SWal、SWao、SWbl、SWbo和連接到外部單元的多個(gè)開關(guān)。中央內(nèi)部寄存器rR的輸出可分別通過(guò)開關(guān)SWHO和端H以及開關(guān)SWVO和端V連接到水平和垂直總線上。中央內(nèi)部寄存器rR存儲(chǔ)動(dòng)態(tài)狀態(tài)(下面將解釋)。
開關(guān)操作磁芯單元中所有寄存器單元內(nèi)的可控開關(guān)均可通過(guò)連接到包括諸如PAL(可編程陣列邏輯)的門陣列的控制裝置6的導(dǎo)線加以控制該門陣列利用存儲(chǔ)在磁芯單元中的信息來(lái)確定哪一個(gè)開關(guān)應(yīng)當(dāng)打開,隨后哪一個(gè)開關(guān)應(yīng)當(dāng)關(guān)閉。該門陣列操作與時(shí)鐘同步。除了某些開關(guān)例如輸入和輸出開關(guān)SWHI和SWHO,僅單向使用外,其余的開關(guān)均是雙向使用的。
比較器裝置COMP
比較器裝置COMP包括一個(gè)第一與非門G1,它的一個(gè)輸入端連接到反相器Q1的非反相輸入端,另一輸入端連接到反相器Q2的輸入端。裝置COMP還包括第二與非門G2,其一個(gè)輸入端連接到反相器Q1的輸出端,而另一輸入端連接到反相器Q2的輸出端。門G1和G2的輸出端連接到朝向面BOOL中一個(gè)的一線總線ACC。兩個(gè)與非門都可以由在地和電源之間連接、具有串聯(lián)耦合源/漏通道的兩個(gè)串聯(lián)耦合的MOS-FET晶體管提供。其柵極是與非門的輸入端,最上面MOS-FET晶體管漏極是輸出(未示出)。在相應(yīng)檢索期間,即當(dāng)磁芯單元中的元素將要和目標(biāo)存儲(chǔ)器或磁芯單元其它部分中的元素進(jìn)行比較時(shí),才應(yīng)用到該比較器裝置COMP。然后,待比較的元素被加到包含有該元素的寄存器單元的輸入端從而進(jìn)行比較。有關(guān)這點(diǎn),下面要進(jìn)一步描述。
反相器和開關(guān)反相器Q1和Q2可以由兩個(gè)增強(qiáng)型MOS-FET晶體管提供,或由一個(gè)增強(qiáng)型,一個(gè)耗盡型MOS-FET晶體管提供,或者由兩個(gè)互補(bǔ)MOS-FET晶體管(未示出)提供。寄存器單元中的可控開關(guān)可由一個(gè)MOS-FET晶體管或兩個(gè)互補(bǔ)的MOS-FET(未示出)晶體管提供??刂蒲b置6利用控制信號(hào)C控制各開關(guān)。為了實(shí)現(xiàn)快速的狀態(tài)變換,開關(guān)可以是由控制信號(hào)和它的互補(bǔ)信號(hào)控制的。
相關(guān)檢索和BOOL面在相關(guān)檢索期間,根據(jù)到BOOL面的布線和總線的存取執(zhí)行比較。兩個(gè)與門G1和G2將Q1輸入端上的鍵值,即待被比較的存儲(chǔ)值和Q2輸入端上的存儲(chǔ)值進(jìn)行比較。在該比較過(guò)程中,通過(guò)內(nèi)部總線aR和bR,鍵值被傳輸給Q1。然后開關(guān)SW0必須判斷,即打開。若所提供的值,即鍵值與存儲(chǔ)值不匹配,則充電BOOL面并通過(guò)與非門G1和G2放電。若二者相匹配,那么BOOL面將保持充電。
一個(gè)寄存器中所有的總線線路ACC(每個(gè)寄存單元一個(gè)總線線路)相互并聯(lián)耦合并連接到BOOL面中同一個(gè)總線線路上。當(dāng)進(jìn)行變換時(shí),在面NUM和HEAD中提供的所有寄存器單元的總線線路ACC都連接到供這些面所使用的BOOL面內(nèi)的總線線路上,在ATTRIBUTE面中提供的所有寄存器單元都被連接到供ATTRIBUTE面使用的同一個(gè)BOOL面或第二個(gè)BOOL面中提供的各總線線路上。若出現(xiàn)了需要選擇是提供一或二個(gè)BOOL還是提供一或二個(gè)總線線路的情況,那么這樣將取決于控制裝置6中存儲(chǔ)的控制指令的類型。具有兩個(gè)以上BOOL面的情況也包含在本發(fā)明的范圍之中。所提供BOOL面的數(shù)量規(guī)定了相關(guān)檢索的粒度,即能夠被執(zhí)行的不同相關(guān)檢索的數(shù)量,并規(guī)定了這種相關(guān)檢索被延伸到哪一部分,即寄存器的哪一部分能被包括進(jìn)來(lái)。隨后,與連接到該BOOL面中同一總線線路上的寄存器部分相關(guān)的比較同時(shí)進(jìn)行。若與非門G1和G2具有相同的輸出(高),則比較的結(jié)果是匹配,反之則不匹配。所謂匹配,意味著兩個(gè)信息段是相同的。BOOL面就是用于總線線路的面,該面被認(rèn)為是虛擬或假想面,即在面中不必提供該總線線路,但該總線線路必須直接連接到控制裝置6上。
ATTRIBUTE面的結(jié)構(gòu)相對(duì)于NUM和HEAD面來(lái)講,ATTRIBUTE面具有不同的結(jié)構(gòu),例如它可以被提供有基址寄存器的僅一列,而不是基址寄存器的一個(gè)矩陣(未示出)。另外,ATTRIBUTE面應(yīng)當(dāng)具有附加總線線路,這個(gè)附加總線線路連接到走向控制裝置6的面中的所有的或某些寄存器單元,它可以利用該總線上的信息來(lái)決定執(zhí)行哪一種類型的歸約。另外,不需要為ATTRIBUTE面提供環(huán)境寄存器單元。與NUM和HEAD面中具有相同名稱的總線線路相比較,總線線路V0、V1、V2和V3更加接近接口7的其它輸入端,上述總線線路最好被耦合到lazy,Where和type(見圖1)的目標(biāo)存儲(chǔ)器1的其它部分。在ATTRIBUTE面中,代之以總線線路id用于來(lái)自目標(biāo)存儲(chǔ)器的狀態(tài)信息的傳輸(見圖1),即目標(biāo)存儲(chǔ)器中的lazy、Where、type被耦合到磁芯單元中相應(yīng)面內(nèi)的總線線路id上。
備用存儲(chǔ)器模式備用存儲(chǔ)器模式回路是由寄存器單元中一個(gè)或二個(gè)回路形成的。開關(guān)SWbo、總線bR、開關(guān)SWbl、反相器Q1、開關(guān)SWO、和反相器Q2形成一個(gè)回路。開關(guān)SWao、總線aR、開關(guān)SWal、反相器Q1,開關(guān)SW0和反相器Q2形成另一個(gè)回路。當(dāng)一個(gè)或兩個(gè)回路中的開關(guān)關(guān)斷時(shí),信號(hào)能通過(guò)兩個(gè)反相器Q1和QQ2進(jìn)行傳送,信號(hào)電平在反相器Q1的輸入端和反相器Q2的輸出端上變得穩(wěn)定,一這就是什么樣的數(shù)據(jù)被存入寄存器單元,該單元存儲(chǔ)動(dòng)態(tài)狀態(tài)。
輸出模式當(dāng)處于輸出模式時(shí),Q2的輸出被傳送給總線aR或bR中的一個(gè),從這里,某些適當(dāng)?shù)拈_關(guān)被控制來(lái)將該輸出傳送給一個(gè)或多個(gè)輸出端(N、S、E、W等)。其它的總線bR或aR可以被用于任意模式。若開關(guān)SW0是所開的,即是打開的,則反相器Q2的輸出是穩(wěn)定的,即在開關(guān)SW0閉合之前,它是不能變化的。反相器的輸出在開關(guān)SWbo閉合時(shí)可通過(guò)該開關(guān)傳送給總線aR??偩€bR和aR上的信息能被傳輸給外部總線中的每一個(gè),通過(guò)控制在寄存器單元和上述外部總線間連接的開關(guān),上述外部總線被連接到寄存器單元上。下面還將通過(guò)舉例對(duì)比進(jìn)行敘述。
輸入模式在輸入模式期間,開關(guān)SWal或SWbl中的一個(gè)是接通的,即是閉合的,端(N、S、E、W等)中的一個(gè)的或多于一個(gè)的狀態(tài)被傳送給局部總線aR或bR,并由此傳輸給中央內(nèi)部寄存器rR。
傳送在兩個(gè)相位周期內(nèi),將來(lái)自磁芯單元中任一寄存器單元的數(shù)據(jù)通過(guò)端連接傳送給磁芯單元中其他寄存器單元是可能的。在三個(gè)相位周期內(nèi),在垂直、水平或?qū)蔷€方向上進(jìn)行兩個(gè)基址寄存器單元的交換是可能的。
開關(guān)SW0直接由主時(shí)鐘計(jì)時(shí),并同時(shí)用于寄存器中的所有單元在整個(gè)磁芯單元中,反相器Q1和Q2之間的傳輸是同時(shí)進(jìn)行的。剩下的開關(guān)由來(lái)自主時(shí)鐘,不同的具有主時(shí)鐘周期內(nèi)適當(dāng)相位間隔的信號(hào)加以控制。主時(shí)鐘被用作與該磁芯單元所有操作的基準(zhǔn)信號(hào)。
時(shí)鐘周期被分時(shí)鐘相位O、a和/或b。相位O是第一可展寬相位,即當(dāng)中央寄存器rR處于備用存儲(chǔ)器模式時(shí),也即是數(shù)據(jù)處于穩(wěn)定狀態(tài)之時(shí)。相位a用于在由總線aR傳遞數(shù)據(jù)期間內(nèi),而在由總線bR傳遞數(shù)據(jù)期間使用相位b。
單向傳送,即僅從寄存器單元傳出或僅傳送給寄存器單元,是在兩個(gè)相位時(shí)鐘周期內(nèi)進(jìn)行的。第一相位O是穩(wěn)定的。在兩個(gè)相位時(shí)鐘周期內(nèi),相位a或相位b被用于傳送數(shù)據(jù)。
雙向傳輸,即在兩個(gè)寄存器單元之間進(jìn)行傳輸,以相互改變它們各自內(nèi)容的傳輸,它是在三個(gè)時(shí)鐘相位周期內(nèi)執(zhí)行的。相位O是穩(wěn)定的,在相位a和b期間內(nèi),在不同的方向上執(zhí)行傳輸。
應(yīng)當(dāng)注意,例如開關(guān)SWal和SWbl在通常閉合狀態(tài)下所形成的時(shí)鐘周期多于三個(gè)相位的情況也落入本發(fā)明的范圍之內(nèi)。兩個(gè)局部總線aR和bR保持寄存器單元所存儲(chǔ)的狀態(tài)。當(dāng)一個(gè)內(nèi)部總線aR或bR將被用于一個(gè)待存儲(chǔ)新值的輸入值,則將有一個(gè)適當(dāng)?shù)拈_關(guān)SWal或SWbl被分別控制打開。在相對(duì)于企圖向內(nèi)部總線傳送數(shù)據(jù)的那條總線上的信息足夠長(zhǎng)的短間隔期間內(nèi),靠近一個(gè)外部總線,例如垂直或水平總線的一個(gè)開關(guān)是閉合的。
利用移位網(wǎng)絡(luò),即在包括連接到終端的多個(gè)開關(guān)的不同寄存器單元之間的網(wǎng)絡(luò),在寄存器單元,北N或南S或西W或東E內(nèi)傳輸內(nèi)容是可能的。
單向傳輸操作的例子圖11A表示了兩個(gè)相鄰的基址寄存器單元,數(shù)據(jù)將從左邊的一個(gè)(發(fā)送器)向右邊的一個(gè)(接收器)進(jìn)行傳送。來(lái)自控制裝置6的控制信號(hào)控制各開關(guān)。圖11B表示在不同相位期間受傳輸影響的每一個(gè)開關(guān)的狀態(tài),較低值表示開關(guān)打開,較高值表示開關(guān)閉合。實(shí)際的傳輸是在相位b發(fā)生的。傳輸以下述方式進(jìn)行(在圖11A和11B中,下述各不同步驟標(biāo)以相同序號(hào)。
0、電路是穩(wěn)定的,開關(guān)SWQ、SWao、SWal、SWboSWbl是閉合的,而發(fā)送器和接收器中所有其它開關(guān)都是斷開的(由于該步涉及了所有開關(guān),所以在圖11A和11B中,該步未予標(biāo)注。該穩(wěn)定模式相應(yīng)于圖11B中的相位O;
1.在時(shí)鐘間隔的第一相位(相位b)期間,當(dāng)發(fā)送器和接收器中的開關(guān)SW0是打開的時(shí)候;
2.發(fā)送器和接收器這二者中的開關(guān)SWao是打開的,而SWbo閉合;
3.發(fā)送器和接收器之間的開關(guān)SWE閉合;
4.在發(fā)送器和接收器中的開關(guān)SWbo打開;
5.發(fā)送器中的開關(guān)SWal打開和接收器中的開關(guān)SWal閉合。這使得數(shù)據(jù)能夠從發(fā)送器內(nèi)部寄存器傳輸給接收器內(nèi)部寄存器;
6.在時(shí)鐘間隔的第二相位(相位O)期間內(nèi),當(dāng)發(fā)送器和接收器中的開關(guān)SWQ是閉合的;
7.發(fā)送器和接收器之間的開關(guān)SWE打開;
8.首先,開關(guān)SWbo和開關(guān)SWao閉合,隨后接收器和發(fā)送器中的開關(guān)SWbl和SWal閉合,這使我們返回到上述步驟0即相位O的穩(wěn)定模式。
雙向傳輸操作的例子圖12A表示了兩個(gè)相鄰基址寄存器單元,且兩個(gè)不同基址寄存器單元中的數(shù)據(jù)將以雙向傳輸操作的方式進(jìn)行交換。來(lái)自控制裝置6的控制信號(hào)控制各開關(guān)。圖12B表示在不同的相位期間受傳輸影響的每一開關(guān)的狀態(tài),較低值表示開關(guān)打開,較高值表示開關(guān)閉合。兩個(gè)寄存器單元分別用作發(fā)送器和接收器。下面它們將稱為單元1和單元2。從單元2到單元1的一種傳輸在相位a發(fā)生,而從單元1到單元2的另一方向的傳輸在相位b發(fā)生。下述各步驟在圖12A和圖12B中賦予相同標(biāo)號(hào)。傳輸以下述方式進(jìn)行0.電路是穩(wěn)定的,SW0、SWao、SWal、SWbo和SWbl是閉合的,而該兩個(gè)單元中的所有其它開關(guān)都是打開的(由于涉及了所有開關(guān),所以在圖12A中未標(biāo)出該步驟),該穩(wěn)定模式相應(yīng)于圖12B中的相位O;
1.在時(shí)鐘間隔的第一相位(相位a)期間內(nèi),當(dāng)單元1和2中的開關(guān)SWQ是打開時(shí);
2.在單元1和2中的開關(guān)SWao閉合,開關(guān)SWbo打開;
3.兩單元間的開關(guān)SWE閉合;
4.單元1、2中的開關(guān)SWal打開,和5.單元1中的開關(guān)SWbl閉合,單元2中的開關(guān)SWbl打開,這使得數(shù)據(jù)可以從單元2傳輸給單元1;
在時(shí)鐘間隔的第2相位(相位b)期間,當(dāng)開關(guān)SWQ仍然是打開時(shí);
6.單元1和2中的開關(guān)SWao打開,開關(guān)SWbo閉合;
7.單元1和2中的開關(guān)SWbl打開,和8.單元1中的開關(guān)SWal打開,單元2中的開關(guān)SWal閉合,這使得數(shù)據(jù)能從單元1傳輸給單元2;
9.在時(shí)鐘間隔的第三相位(相位O)期間內(nèi),當(dāng)單元1和2中的開關(guān)SWQ閉合時(shí);
10.單元1中的開關(guān)SWE打開,和1111.首先,開關(guān)SWbo和SWao閉合,隨后兩個(gè)單元中的開關(guān)SWbl和SWal閉合,這就使我們返回到上述步驟O,即相位O的穩(wěn)定模式。
用于開關(guān)SWao和SWbo的控制信號(hào)在相位O期間,借助于缺席規(guī)則,使得具有信號(hào),即開關(guān)閉合。然后,所有的局部總線均處于存儲(chǔ)狀態(tài)。用于輸入的總線通過(guò)建立一個(gè)斷開,即打開控制信號(hào)給開關(guān)SW0和SWXO予以控制,其中X是a或b。在輸入操作期間,某些總線可借助于一些終端(E、V、D、H等)被短路一個(gè)短周期,此后,總線就獲得一個(gè)校正值。
從送往開關(guān)SWQ的控制信號(hào)的下降部分到送往開關(guān)SWXO(X是a或b)的控制信號(hào)的下降部分,有一個(gè)延遲時(shí)間。若這個(gè)延遲時(shí)間很短,則不產(chǎn)生什么問(wèn)題,若這個(gè)延遲時(shí)間增長(zhǎng)到ms的范圍那么,總線XR(X是a或b)就可能失去其動(dòng)態(tài)狀態(tài)。
從送往開關(guān)SWXO的控制信號(hào)的上升部分到送往開關(guān)SWxl(X是a或b)的控制信號(hào)的上升部分,有一個(gè)延遲時(shí)間,假如它變成負(fù)的,那么,就可能將一個(gè)錯(cuò)誤的值從反相器Q2到反相器Q1傳輸給局部總線XR,而一個(gè)正延遲時(shí)間是有用的。
用于開關(guān)SWE、SWV、SWD、SWH等的控制信號(hào)這些開關(guān)通常是關(guān)斷的,即是打開的。這樣,所有的局部總線都是被隔絕的。通過(guò)為連接其上的終端開關(guān)建立一個(gè)控制信號(hào),即閉合該開關(guān)來(lái)控制用于輸入或輸出的總線。在該操作期間,一些總線可被某些開關(guān)(SWE、SWV、SWO、SWH等)短路一個(gè)短周期,此后,總線獲得校正值。
在送往開關(guān)SWQ的控制信號(hào)的下降部分到送往開關(guān)SWZ(z是H、D、N、V、E等),即連接到裝備有開關(guān)的內(nèi)部總線aR和bR的任一端)的控制信號(hào)的上升部分有一個(gè)延遲時(shí)間。若該延遲時(shí)間是負(fù)的,則局部總線XR(X是a或b)的值可以改變,然后可以建立寄存器值,因此,該延遲時(shí)間應(yīng)當(dāng)是正的。
從送往開關(guān)SWZ(z是H、D、N、V、E等),即連接裝備有開關(guān)的內(nèi)部總線aR和bR的任一端)的控制信號(hào)的上升部分到送往開關(guān)SWxl的控制信號(hào)的下降部分有一個(gè)延遲時(shí)間。若它變成負(fù)的,那么該值就不能送往輸入端,因此,正的延遲時(shí)間是有用的。
從送往開關(guān)SWxl的控制信號(hào)的上升部分到送往開關(guān)SWZ的控制信號(hào)的下降部分有一個(gè)延遲時(shí)間。若它變成負(fù)的,則局部總線就可能被改變,且寄存器內(nèi)就可能被建立錯(cuò)誤的值。因此,正的延遲時(shí)間是有用的。
用于開關(guān)SWal和SWbl的控制信號(hào)在相位O期間,借助于缺席規(guī)則使得信號(hào)存在,然后,在從送往開關(guān)SWQ的控制信號(hào)的上升部分到用于開關(guān)SWal和SWbl的控制信號(hào)的上升部分必然有一個(gè)輕度的延遲。若該延遲變成負(fù)的,那么,反相器Q2輸入端上的值就不可能傳輸給總線XR(X是a或b),因此正的延遲是有用的。
磁芯單元計(jì)算典型的表指令在一個(gè)機(jī)器周期內(nèi)完成。
如上所述,磁芯單元執(zhí)行結(jié)構(gòu)運(yùn)算。通過(guò)使用它所包含的表中的指令來(lái)執(zhí)行所有的步驟。指令舉例如下長(zhǎng)度所計(jì)算目標(biāo)的長(zhǎng)度;
變址賦予表中成分的功能,若該表包含有插入表,則該指令也被賦予這些插入表的各成分。(下面將進(jìn)一步解釋變換這個(gè)指令);
篩選程序賦予功能并篩選表中成分,該篩選程序也用于插入表,如果有插入表程序的話;
連編所有成分被再寫入插入表成分,若有插入表,該指令也用于它;
轉(zhuǎn)置小矩陣被轉(zhuǎn)置,若它包含有表成分,它們被調(diào)動(dòng)。處理插入表。(下面還將進(jìn)一步解釋指令轉(zhuǎn)置)等磁芯單元存儲(chǔ)器磁芯單元存儲(chǔ)。
*在一系列寄存器,最好是基址寄存器中待被縮減的目標(biāo)。
*在某些情況下,例如當(dāng)三級(jí)結(jié)構(gòu)被縮減時(shí),最好是在輔助寄存器中目標(biāo)的根和在基址寄存器矩陣中剩余結(jié)構(gòu)。
目標(biāo)存儲(chǔ)器1僅能存儲(chǔ)一個(gè)級(jí)別的指令,但磁芯寄存器3可以包括最多三級(jí)目標(biāo)結(jié)構(gòu)。對(duì)于磁芯單元中臨時(shí)存儲(chǔ)器來(lái)講,存在四種情況,即存儲(chǔ)0、1、2或3級(jí)目標(biāo)。若存儲(chǔ)三級(jí)目標(biāo),那么僅存儲(chǔ)它的根及轉(zhuǎn)移指令中的一個(gè)。在所有其它情況下,存儲(chǔ)所有級(jí)。
簡(jiǎn)單樹,即唯一值(O級(jí)目標(biāo))被存儲(chǔ)在第一主寄存器中。
僅包含一級(jí)的樹被存儲(chǔ)在主寄存器中。
包含有二級(jí)的樹可以具有它的根表,如果是父,就水平地存儲(chǔ)于主寄存器和表中,如果是子,就垂直地存儲(chǔ)于基址寄存器中。當(dāng)發(fā)生變換時(shí),該根將存儲(chǔ)于輔助寄存器中,而子中的一個(gè)將存儲(chǔ)在主寄存器中。應(yīng)當(dāng)看到,控制裝置6能根據(jù)待被執(zhí)行的操作來(lái)選擇一種或另一種變換。
包括三級(jí)的樹具有存儲(chǔ)在一個(gè)輔助寄存器中的根表,且其兩級(jí)子中的一個(gè)存儲(chǔ)于基址寄存器矩陣中。因此,目標(biāo)樹的根表最好根據(jù)樹結(jié)構(gòu)的級(jí)和待執(zhí)行的操作,存儲(chǔ)在磁芯單元中寄存器內(nèi)不同的地方。
目標(biāo)樹的根是諸如統(tǒng)一(unify)等可減少種類的閉包。在一個(gè)功能應(yīng)用中,第一元素是一個(gè)直接指定給用作功能定義的閉包結(jié)構(gòu)的指令或識(shí)別符,剩下的元素是指定給該指令/功能定義的主目。
磁芯單元存儲(chǔ)器控制磁芯寄存器中存儲(chǔ)的信息來(lái)自目標(biāo)存儲(chǔ)器1中的信息。磁芯寄存器中的信息以下列方式存儲(chǔ)HEAD和NUM中的磁芯寄存器被連接到目標(biāo)存儲(chǔ)器總線OBOBJ,存取總線ACC,儲(chǔ)備(res)總線和數(shù)值A(chǔ)LU總線NU存儲(chǔ)狀態(tài)由兩個(gè)單一寄存器ID和ENV的存儲(chǔ)狀態(tài)、輔助寄存器FF0到F3和基址寄存器S0,0到S3,3的存儲(chǔ)狀態(tài)組成。在ATTRIBUTE面中的磁芯寄存器以相類似的方式連接到目標(biāo)存儲(chǔ)器,除了連接到目標(biāo)存儲(chǔ)器1的不同部分,最好是lazy、Where、type部分。
到磁芯寄存器的控制字由到開關(guān)SWvi、SWvi,cv(其中i是0到3之間的數(shù)),SWid、ho、SWch、ho、SWenv,ho、SWv1,ho、SWv2,ho、SWv3,ho、SWvio、SWv1、SWv2、SWv3,單一寄存器IDENV,輔助寄存器F0到F3和基址寄存器S0.0到S2.3的控制字組成。
控制字通過(guò)連接到控制裝置6的一系列控制線進(jìn)行傳輸。根據(jù)使用何種開關(guān),控制線應(yīng)是雙相控制對(duì)線或單相控制單線。到每個(gè)基址寄存器單元的控制字包括一個(gè)公用部分和單獨(dú)用于每一基址寄存器的部分。公用部分控制磁芯單元的開關(guān)SWao、SWbo和SWQ。應(yīng)當(dāng)注意,這里所敘述的僅被認(rèn)為是一個(gè)例子,還可以想見一系列其它實(shí)施例。
磁芯單元操作例圖13到19來(lái)自圖9,圖9中所提供的參考也適用于圖13到19。然而為了清楚起見,大多數(shù)參考被省略了。另外,在對(duì)圖13到19的敘述中,寄存器單元的名稱被用來(lái)表示貫穿磁芯單元中該面的整個(gè)寄存器。
對(duì)目標(biāo)存儲(chǔ)器的存取mpx-mv指令通過(guò)目標(biāo)存儲(chǔ)器操作mpx-mv,讀該目標(biāo)存儲(chǔ)器,并使得某些磁芯寄存器置位。被存取的目標(biāo)如圖13所示,利用具有箭頭指向?yàn)槠浣魉偷募拇嫫鲉卧暮窬€路,通過(guò)總線V0、V1、V2和V3傳輸給主寄存器S0.0、S1.0、S2.0、S3.0,通過(guò)總線id傳輸給寄存器ID,并通過(guò)總線env傳輸給寄存器ENV。同時(shí),主寄存器中原來(lái)的內(nèi)容作為一個(gè)閉包被存儲(chǔ)在目標(biāo)存儲(chǔ)器1中。這樣,指令mpx-mv將當(dāng)前磁芯單元閉包存儲(chǔ)在目標(biāo)存儲(chǔ)器中,并將下一個(gè)待被執(zhí)行的目標(biāo)存儲(chǔ)器閉包裝入磁芯單元中。
取指令圖14和15表示了在主寄存器的一個(gè)之中存儲(chǔ)有標(biāo)識(shí)符,以及將該標(biāo)識(shí)符變換成它所表示的信息的情況。存儲(chǔ)于S2.0(見圖14)的該標(biāo)識(shí)符被提供給目標(biāo)存儲(chǔ)器1,該目標(biāo)存儲(chǔ)器找到該標(biāo)識(shí)符及其所表示的內(nèi)容,其內(nèi)容被放入總線線路V0到V3,并最后被裝入基址寄存器S2.0到S2.3(見圖15)中的垂直列中。
經(jīng)總線ho和開關(guān)idid,ho(見圖14)將基址寄存器中的標(biāo)識(shí)符傳輸給垂直總線id,使得操作開始執(zhí)行。所存儲(chǔ)的值可以類似方式從任一其它寄存器進(jìn)行傳輸。
通過(guò)將由目標(biāo)存儲(chǔ)器1在總線線路V0、V1、V2和V3上提供的值裝入適當(dāng)?shù)募拇嫫?在該例中,這些寄存器是S2.0、S2.1、S2.2、S2.3)并經(jīng)過(guò)開關(guān)SWV0、SWV1、SWV2、SWV3以及總線h0、h1、h2、h3傳輸這些數(shù)據(jù),使得上述操作傳續(xù)下去。
當(dāng)磁芯單元中的內(nèi)容要存儲(chǔ)到目標(biāo)存儲(chǔ)器1中時(shí),將使用由目標(biāo)存儲(chǔ)器操作、制作和統(tǒng)一id(unify-id)指令。
制作(make)指令操作制作的第一步,在上述寄存器中的內(nèi)容被如圖15所示但卻是在相反方向上進(jìn)行傳輸。該操作也傳輸環(huán)境寄存器的內(nèi)容。為了查找具有由磁芯單元所提供的作為信息存儲(chǔ)的相同信號(hào)的目標(biāo),在目標(biāo)存儲(chǔ)器中執(zhí)行相關(guān)檢索,若找到了一個(gè)目標(biāo),就返回到表示目標(biāo)的標(biāo)識(shí)符,若未發(fā)現(xiàn)目標(biāo),就返回到一個(gè)新的標(biāo)識(shí)符。在這兩種情況下,都利用總線id將該標(biāo)識(shí)符從目標(biāo)存儲(chǔ)器傳輸給磁芯單元中的標(biāo)識(shí)符寄存器。作為一種變換,標(biāo)識(shí)符將傳送給寄存器有效列中的主寄存器,隨后,建立磁芯單元內(nèi)容間的結(jié)合及標(biāo)識(shí)符。
統(tǒng)一-id指令操作統(tǒng)一-id示于圖16,該指令利用將上述寄存器單元通過(guò)開關(guān)SWid,ho、SWenv,ho、SWV0和SWV1,ho等連接到水平總線ho和將所有垂直總線連接到水平總線ho,將來(lái)自一個(gè)寄存器的標(biāo)識(shí)符分配給例如所有的垂直總線id、env、V0、V1、V2、V3。當(dāng)執(zhí)行相關(guān)檢索和替代時(shí),將使用上述操作,所謂的相關(guān)檢索和替代例如包括有關(guān)標(biāo)識(shí)符出現(xiàn)的檢索和利用新的,縮減了的簡(jiǎn)單取代所找到的該標(biāo)識(shí)符。
為了使目標(biāo)存儲(chǔ)器存儲(chǔ)該標(biāo)識(shí)符及其所表示的內(nèi)容,類似于統(tǒng)一-id操作的第一步,先使用“制作”程序獲得與磁芯單元內(nèi)容相關(guān)的唯一標(biāo)識(shí)符,第二步是把磁芯單元的內(nèi)容放入連接的目標(biāo)存儲(chǔ)器的總線線路上。
統(tǒng)一操作的例子由附錄1給出,其中示出了磁芯單元的內(nèi)容,同時(shí),還示出了與相位a、b和O相關(guān)的開關(guān)狀態(tài)。
數(shù)值歸約在數(shù)值歸約期間,歸約的對(duì)象,即目標(biāo)被置入主寄存器中。通常全部目標(biāo)都參加歸約。一般,主寄存器S0.0保持該指令代碼,該代碼是一個(gè)與不同的指令相關(guān)的不同位組合格式。寄存器S1.0、S2.0用于動(dòng)態(tài)操作,即使用兩個(gè)操作數(shù)的操作,而寄存器S1.0用于一元操作,即僅有一個(gè)操作數(shù)的操作。通常,尾部寄存器以表格形式使用,因此,其內(nèi)容被歸約以后放入左邊。
隨后,在目標(biāo)寄存器S1.0、S2.0之間產(chǎn)生主要的數(shù)值運(yùn)算。數(shù)值A(chǔ)LU的主加法器被連接到上述兩個(gè)寄存器上。其它寄存器可用于象mul、div、mod指令中的輔助過(guò)程中。
下述類型的指令請(qǐng)被使用到一元指令寄存器S0.0保持該指令,而寄存器S1.0保持操作數(shù)。寄存器S2.0、S3.0不使用。數(shù)值A(chǔ)LU的結(jié)果送到所有主寄存器。在非流水線情況下,本指令用于寄存器S1.0中。在流水線情況下本指令在中間用于輔助寄存器或基址寄存器中。
二元指令寄存器S0.0保持該指令,寄存器S1.0、S2.0保持操作數(shù),寄存器S3.0不使用。其結(jié)果被返回給所有主寄存器。在非流水線情況下,該指令被用于寄存器S1.0,在流水線情況下,該指令被中間地用于輔助寄存器和基址寄存器中。
mul、div、mod指令寄存器S0.0保持該指令,寄存器S1.0、S2.0保持操作數(shù),最終的結(jié)果用于寄存器S1.0。
統(tǒng)一歸約統(tǒng)一歸約利用數(shù)值A(chǔ)LU對(duì)寄存器S0.0中的內(nèi)容和S1.0中的內(nèi)容進(jìn)行比較。當(dāng)執(zhí)行該統(tǒng)一時(shí),還要使用其它的主寄存器。存儲(chǔ)于寄存器HEAD面內(nèi)的標(biāo)記字和比較的結(jié)果被共同用來(lái)評(píng)價(jià)下一個(gè)動(dòng)作。
指令mul、div、mod執(zhí)行整個(gè)數(shù)字算術(shù)單元的內(nèi)循環(huán)。計(jì)算的中間值被動(dòng)態(tài)地存儲(chǔ)在磁芯單元中數(shù)字算術(shù)單元和主寄存器之間的導(dǎo)線,即總線NU上。
結(jié)構(gòu)歸約在結(jié)構(gòu)歸約期間,歸約的對(duì)象,即目標(biāo)被放置在主寄存器內(nèi)。通常,某些或所有的基址寄存器參加歸約。一般主寄存器S0.0保持該指令代碼,對(duì)于不同的指令,它具有不同的位組合格式。
變換指令具有作為主目的功能f和表(e1…,en)并將該功能提供給表中的每一元素,該指令再被每個(gè)功能應(yīng)用結(jié)果的表(fe1…,fen),其中fe1表措在e1上施加f時(shí)的結(jié)果。
變換指令格式(map f list)變換指令被裝入輔助寄存器FO。所用功能被裝入輔助寄存器F1。表被裝入主寄存器S0.0到S3.0。如圖17a所示,存儲(chǔ)在主寄存器中的元素在基址寄存器矩陣中向上兩步傳輸,即寄存器S。中的內(nèi)容被傳輸給寄存器S.2,其中X是0和3之間的數(shù)。利用垂直總線線路V0到V3,使得傳輸?shù)靡韵逻M(jìn)行。如圖17b所示,輔助寄存器F0到F1中的內(nèi)容然后水平地傳輸給基址寄存器,即F0的內(nèi)容被烤貝入S0.0到S3.0,而F1的內(nèi)容被烤貝到S0.1到S3.1。若某個(gè)元素是一個(gè)簡(jiǎn)單值(不是表),那么該元素所位于的寄存器,即S1.2的內(nèi)容以及它下面的寄存器,例如S1.1的內(nèi)容將下移一步。所施加的功能現(xiàn)在位于主寄存器,例如S1.0中,而施加功能的元素現(xiàn)在位于該主寄存器之上的寄存器,例如寄存器S1.1之中。若該元素是一個(gè)表,那么在寄存器的列中就不存在位移。在圖17C中,假定e1、e2、e3各表示一個(gè)簡(jiǎn)單值,而e4表示一個(gè)表,基址寄存器矩陣中的每一列都作為目標(biāo)存儲(chǔ)器中的閉包而存儲(chǔ)起來(lái)。因此,每一個(gè)這樣存儲(chǔ)的閉包都被裝入磁芯單元以用于持續(xù)處理。若所存儲(chǔ)的閉包包含簡(jiǎn)單值,則它將以通常方式被裝入磁芯單元,即f被存儲(chǔ)在S0.0而ei被存儲(chǔ)在S1,0,如圖17d所示。另一方面,若所存儲(chǔ)的閉包包含一個(gè)表,它將如上所述被裝入,如圖17a所示但在由e4所代表的該表中,e1將是第一個(gè)元素,e2將是第二個(gè)元素,等等。這就允許變換指令遞歸地執(zhí)行與插入表相關(guān)的操作。
具有兩級(jí)結(jié)構(gòu)(map,f,(e1,…,en))的變換指令被重新寫入((f,e1),…,(f,en)),執(zhí)行以后的該指令被重新寫成一級(jí)指令(fe1…,fen)。其中,fe1表示在ee1上施加f時(shí)的結(jié)果。具有三級(jí)(或更多)結(jié)構(gòu)(map,f,par(e1,…,(ek,…em),…en)),其中((eh,…,em)是插入表)的變換指令先作為中間步驟被寫成par((g,e1),…,(map,f,(eh,…,em))…,(f,en))隨后被寫成par((f,e1),…,((f1ek),…(f,em)),…,(f,en)),執(zhí)行后的該指令被寫成兩級(jí)結(jié)構(gòu)par(fe1…,(fek,…,fem),…fen),其中,fe1表示在e1上施加f時(shí)的結(jié)果,而(fek,…,fem)是一個(gè)插入表。這樣,功能f就被遞歸地施加到主目表中的所有元素上。
下面將要敘述關(guān)于磁芯單元是如何調(diào)整和執(zhí)行變換指令的一個(gè)例子。
為了使敘述盡可能的短采用如下縮寫reg表示寄存器,ident表示標(biāo)識(shí)符,存儲(chǔ)器是指目標(biāo)存儲(chǔ)器。
作為例子的指令如下(map f(-1 -2(-7 -8))),其中,f被規(guī)定成f(X)=abs(x)+1。利用機(jī)器標(biāo)識(shí)符機(jī)器表示如下id1(map fid2)id2(-1 2 id3)id3(-7 -8)其中,標(biāo)識(shí)符id1規(guī)定了含有(map f id2)結(jié)構(gòu)等的閉包。
下面,i是0到3的數(shù)。執(zhí)行下述步驟第一步,map被存儲(chǔ)在寄存器F0中,f存儲(chǔ)于寄存器F1中,而標(biāo)識(shí)符id2被存儲(chǔ)于寄存器S0.0中;
第二步,展開標(biāo)識(shí)符id2,即寄存器S0.0包含-1,S1.0包含-2,S2.0包含標(biāo)識(shí)符id3;
第三步,寄存器Si。中的內(nèi)容被傳輸給寄存器Si.2。未注明使用的寄存器不被驅(qū)動(dòng);
第四步,map和f水平傳送,即寄存器Si,1包含f,而寄存器Si,0包含map。未注明使用的寄存器不被驅(qū)動(dòng);
第五步,寄存器Si,2中具有簡(jiǎn)單值的列向下作一步壓縮,即寄存器S0,1包含-1,寄存器S0.0包含f,寄存器S1.1包含-2,寄存器S1.0包含f,第三列未被觸及;
第六步,基址寄存器矩陣中的每一列被(重新)存儲(chǔ)到目標(biāo)存儲(chǔ)器中,如下id1(id6 id7 id8)id6(f-1)id7(f-2)id8(map f id3);
第七步,由標(biāo)識(shí)符id6所規(guī)定的閉包被裝入主寄存器,f裝入寄存器S0,0,-1裝入寄存器S1.0;
第八步,功能,即f(X)=abs(X)+1被施加給具有結(jié)果2的主目,該主目存儲(chǔ)于寄存器S0.0內(nèi);
第九步,在目標(biāo)存儲(chǔ)器中執(zhí)行與標(biāo)識(shí)符id6相關(guān)的檢索,出現(xiàn)的所有的標(biāo)識(shí)符id6均被2取代id1(2 id7 id8)id7(f-2)id8(map f id3)第十步,進(jìn)行與標(biāo)識(shí)符id7有關(guān)的第7-9步,并利用結(jié)果3。目標(biāo)存儲(chǔ)器id1(2 3 id8)
id8(map f id3)第十一步,執(zhí)行與標(biāo)識(shí)符id8有關(guān)的第1-6步,其結(jié)果是兩個(gè)基本矩陣列被存儲(chǔ)于目標(biāo)存儲(chǔ)器id1(2 3 id8)id8(id9 id10)id9(f-7)id10(f-8)第十二步,分別利用第8和9的結(jié)果執(zhí)行與標(biāo)識(shí)符id9和id10有關(guān)的第7到9步。目標(biāo)存儲(chǔ)器id1(2 3 id8)id8(8 9)它讀(2 3(8 9))一功能f被施加給主目表中的所有成份上。
應(yīng)當(dāng)注意的是,上述各步驟可以由磁芯單元以一種不同的更有效的方式來(lái)執(zhí)行。例如,在適當(dāng)?shù)臅r(shí)候,在磁芯單元中完成歸約/執(zhí)行,而不是在目標(biāo)存貯器中存貯中間結(jié)果。
轉(zhuǎn)移(Transpose)指令格式(transponse list)轉(zhuǎn)移指令被裝入一個(gè)輔助寄存器F0中,并且該表主目(即多個(gè)表中的一個(gè)表)被裝入基址寄存器矩陣之中(見圖18)?;芳拇嫫骶仃囍械膬?nèi)容被轉(zhuǎn)移。因此,具有三級(jí)結(jié)構(gòu)(transpose,((e1.1,…,e1,m),
…(en,1,…,en,m)))…的轉(zhuǎn)移指令被執(zhí)行,其結(jié)果被寫成兩級(jí)指令((e1,1,…,en,1),…(ei,m,…,en,m))一個(gè)實(shí)例說(shuō)明((1 2 3 4),(5 6 7 8),(9 10 11 12),(13 14 15 16)),其中第一表,即(1 2 3 4)被存貯于基址寄存器S0.0-S0.3的第一列內(nèi),第二個(gè)表即(5 6 7 8)被存貯在基址寄存器S1.0-S1.3的第二列內(nèi),等等,上述表結(jié)構(gòu)被轉(zhuǎn)移到((1 5 9 13),(2 6 10 14),(3 7 11 15),(4 8 12 16)),其中第一表,即(1 5 9 1 13)被存貯在基址寄存器S0.0-S0.3的第一列中,等等。
交換(swap)指令格式(swap m list)一個(gè)交換指令被執(zhí)行,從而指明具有三級(jí)結(jié)構(gòu)的交換
(swap m((e1.1,…),··(em,1,…),(em+1,1,…),…(en,1,…)))其中,具有元素ei,j)的多個(gè)表中的一個(gè)表(i和j是基址寄存器矩陣中元素位置符號(hào))被重新寫成兩級(jí)結(jié)構(gòu)((e1,1,…)··(em+1,1,…),(em,1,…),…(en,1,…))這樣一來(lái),元素(em,1,…)隨元素(em+1,1,…)而改變位置。
空白(skip)指令格式(skip m list)一個(gè)空白指令被執(zhí)行,從而指明具有三級(jí)結(jié)構(gòu)的空白(skip m((e1,1,…),(em-1,1,…)(em,1,…)(em+1,1,…)
…(en,1,…)))其中,具有元素ei,j的多個(gè)表中的一個(gè)表(i和j是基址寄存器矩陣中的元素位置)重寫為兩級(jí)結(jié)構(gòu)((e1,1,…),··(em-1,1,…),(em+1,1,…),…(en,1,…))n這樣一來(lái),表(em,1,…)被刪除了。
4.表提取包含有一個(gè)表的目標(biāo)被放置在主寄存器中。如果該表包含有被寫入這些表中的元素,那么,這些表將被垂直地存貯在輔助寄存器中。
展開表操作可在一個(gè)時(shí)鐘內(nèi)被執(zhí)行。除了主存貯器的內(nèi)容被傳送給垂直總線并寫入該列的最高基址寄存器之外,基址寄存器的內(nèi)容沿對(duì)角線向右下移動(dòng)一步(見圖19)。重復(fù)展開表可以被用于利用數(shù)據(jù)“填充”主寄存器。
位單元作為本發(fā)明的舊約處理器的一部分,整個(gè)存貯器使用VLST(VLST=特大規(guī)模集成)技術(shù)來(lái)實(shí)現(xiàn)。每一位單元在VLST技術(shù)中都有一個(gè)適于付諸實(shí)現(xiàn)的設(shè)計(jì)。圖20示出了一個(gè)位單元電路以及與位單元線d、d*和acc相關(guān)的驅(qū)動(dòng)器的實(shí)施例。其虛線內(nèi)所示為位單元15。
在圖20所示的位單元實(shí)施例中,利用兩根線(例如線d和d*)將每個(gè)位單元連接到控制裝置上。這樣,到某個(gè)元素并用來(lái)存貯具有38位長(zhǎng)信息的信息總線的每一部分就包含有76根線,每一個(gè)這樣的總線部分被連接到在存貯器單元區(qū)域的列中放置的存貯單元域151上。
如圖20所示,位單元僅有4條連線,即第一條連線Vcc被用來(lái)恒定地提供電源,第二、三和四條連線acc、d和d*中的每一條都可至少建立三種不同的控制狀態(tài),下面對(duì)此還要進(jìn)一步敘述。
圖20所示的位單元是一個(gè)4晶體管CMOS單元。它是靜態(tài)的并帶有一個(gè)負(fù)載。該負(fù)載分別是MOS FET I1和I2的源/漏通路。在本實(shí)施例中,該通路具有反相門。也可以是一個(gè)電阻負(fù)載(未示出)。
該單元是一個(gè)可由每一邊進(jìn)行控制的觸發(fā)器。在存取線acc和電源線Vcc之間兩個(gè)串聯(lián)連接,每一個(gè)都包含有分別被并聯(lián)提供的MOS FET源/漏通路和負(fù)載T1、I1和T2、I2。晶體管T1的漏極被連接到晶體管T2的柵極,晶體管T2的漏極被連接到晶體管T1的柵極。
二極管D1連接到線d和晶體管T1的漏極、負(fù)載I1以及晶體管T2的柵極的互聯(lián)線n1之間。二極管D2連接在線d*和晶體管T2的漏極、負(fù)載I2以及晶體管T1的柵極的互聯(lián)線之間。每個(gè)二極管D1和D2由MOS FET提供,并且其MOS FET的漏極和柵極彼此連接,上述兩個(gè)二極管被分別連接到線d和d*。
電路元件的主要特征如下二極管D1和D2是僅允許電流相對(duì)于線d和d*進(jìn)行單方向流動(dòng)的元件,晶體管T1和T2是驅(qū)動(dòng)元件其中的電流可由晶體管基極的電位的變化加以控制。n1和n2的互聯(lián)點(diǎn)是結(jié)點(diǎn),在這些結(jié)點(diǎn)上可存貯涉及一位信息的電位。負(fù)載I1和I2是諸如電阻的元件。
在圖20中,電壓Vcc為一高電位、二極管D1和D2的作用是使電流分別從d或d*流向結(jié)點(diǎn)n1或n2。當(dāng)柵極電位增加,隨后該結(jié)點(diǎn)的電位降低時(shí),驅(qū)動(dòng)元件T1或T2的阻抗是很低的。但是在另外的實(shí)施例中,可以選擇電位和電流,從而使得與圖20所示的實(shí)施例具有相反的方向。
位單元能夠存貯其值為“真”或“假”的值Vstoreo通過(guò)在線acc、d和d*上建立不同的電位,該位單元可以建立一系列不同功能狀態(tài)的結(jié)構(gòu)。
控制狀態(tài)是高電平、低電平、對(duì)于所有線的流入該單元的電流和對(duì)于線acc的流出該單元的電流。線acc是來(lái)自16的存取線,并且和一個(gè)存貯單元域中的所有位單元15相連接。當(dāng)對(duì)該單元進(jìn)行寫或讀以及存取線acc是低電平時(shí),第三和第四線d和d*具有彼此相互反相的信號(hào)。
元素標(biāo)題16中的驅(qū)動(dòng)和讀出放大器圖20中的虛線內(nèi)示出了驅(qū)動(dòng)器和讀出放大器。第一晶體管T3的源極接電壓V,它的漏極接到在存貯單元域151所有位單元115中的存取線acc,它的柵極上加有來(lái)自時(shí)鐘信號(hào)發(fā)生器(未示出)的時(shí)鐘信號(hào)V2。第二晶體管T4的源極接0伏電壓,它的漏極接到存貯單元域151中所有位單元15中的存取總線acc,它的柵極加有電壓V3,當(dāng)存取線acc上的電壓為0伏時(shí),電壓V3處于高電位。如上所述,存取線acc將被連接到存貯單元域中的所有位單元上,例如38位單元上。它也加在該頭中,因而該頭應(yīng)該是很小的。線acc的電壓在放大器AMP中放大。
接口7中的驅(qū)動(dòng)與檢測(cè)電路比特單元線d與d*的接口7中的驅(qū)動(dòng)器與檢測(cè)電路示意性地示出在圖20的另一個(gè)虛線框中。然而,要指出的是,該電路只示出了驅(qū)動(dòng)與檢測(cè)線d與d*的一種可能方案。輸入/輸出IN/OUT是連接到圖1中所示的核心單元2的。從而,該電路是在目的存儲(chǔ)器1與核心單元2之間的一個(gè)接口中可能提供的許多相似電路之一。
線d的寫電路包括一個(gè)第一對(duì)晶體管T5與T6,在實(shí)施例中第一個(gè)表示為n型而第二個(gè)為p型,它們的漏極連接到線d并形成一個(gè)分壓器。晶體管T5的源極連接到一個(gè)電位Vr,而其柵極則饋以予充電信號(hào)prech。另一個(gè)晶體管T6的源極連接到一個(gè)電位Vcc,而其柵極則饋以一個(gè)控制信號(hào)V4,它當(dāng)電位Vcc必須饋送到線d時(shí)變成低電平。線d的寫電路同時(shí)包括一個(gè)p型晶體管T9與連接在電源Vcc與一個(gè)n型晶體管T11之間的n型晶體管T10的源/漏通路的一個(gè)串聯(lián)連接,T11的源極接地,其柵極連接到來(lái)自外部控制的一個(gè)輸入寫。晶體管T9與T10的漏極之間的互連點(diǎn)連接到晶體管T6的柵極并具有電壓V4。晶體管T9的柵極被饋以反相予充電信號(hào)prech*,該信號(hào)予充電階段通過(guò)一個(gè)導(dǎo)通晶體管T9將晶體管T6的柵極連接到電源電壓Vcc。
線d*的寫電路包括一第二對(duì)串聯(lián)耦合的晶體管T7與T8,在本實(shí)施例中,第一個(gè)示出為n型的而第二個(gè)則為p型的,它們的漏極連接到線d*上,并且也構(gòu)成一個(gè)分壓器。晶體管T7的源極連接到一個(gè)電位Vr,而其柵極則被饋以予充電信號(hào)prech。另一個(gè)晶體管T8的漏極連接到一個(gè)電位Vcc,而其柵極則被饋以一個(gè)控制信號(hào)V5,該控制信號(hào)當(dāng)電位Vcc必須饋送到線d*時(shí)變成低電平。
線d*的寫電路同時(shí)包括連接在電壓源Vcc與晶體管T11的漏極之間的一個(gè)p型晶體管T12與一個(gè)n型晶體管T13的源/漏通路的一個(gè)串聯(lián)連接。晶體管T12與T13的漏極之間的互連點(diǎn)連接到晶體管T8的柵極并具有電壓V5。晶體管T12的柵極被饋以反相的予充電信號(hào)prech*,該信號(hào)在予充電相位通過(guò)一個(gè)導(dǎo)通晶體管T12將晶體管T8的柵極連接到電源電壓Vcc。
用于輸入輸出的外線IN/OVT連接到兩個(gè)三態(tài)反相器。其輸出連接到線IN/OUT的一個(gè)三態(tài)反相器包括兩個(gè)n型晶體管T14、T15與兩個(gè)p型晶體管T16、T17的源/漏通路的一個(gè)串聯(lián)連接。晶體管T16的柵極連接到一條控制線,該線提供信號(hào)bitin,并且晶體管T15的柵極被饋以反相信號(hào)bitin*。其輸入連接到線IN/OUT的第二個(gè)三態(tài)反相器包括兩個(gè)n型晶體管T18、T19與兩個(gè)p型晶體管T20、T21的源/漏通路的一個(gè)串聯(lián)連接。晶體管T19的柵極連接到提供信號(hào)bitin的控制線而晶體管T20的柵極則被饋以反相信號(hào)bitin*。第二三態(tài)反相器的輸出連接到晶體管T13的柵極并通道一個(gè)反相器INV連接到晶體管T10的柵極。
一個(gè)讀放大器包括一個(gè)n型晶體管T22,該晶體管T22的源極接地,基柵極連接到將晶體管T22保持經(jīng)常導(dǎo)通并作為一個(gè)電流發(fā)生器工作的一個(gè)恒壓Vbias,以及其漏極連接到一個(gè)n型晶體管與一個(gè)p型晶體管T23、T24以及T25、T26的兩條分別串聯(lián)連接的源/漏通路的一個(gè)并聯(lián)連接,它們的另一端連接到電源電壓Vcc。p型晶體管T24與T25的柵極互連并連接到晶體管T23與T24的柵極的互連點(diǎn)。晶體管T23的柵極連接到線d,而晶體管T23的柵極則連接到線d*。
每一個(gè)時(shí)鐘周期,信號(hào)prech與prech*,分成一個(gè)予充電相位以及一個(gè)工作相位,在予充電相位中信號(hào)prech為高電平,在工作相位中,信號(hào)prech為低電平,其他控制信號(hào)確定要進(jìn)行的操作。因此,在予充電相位線d、d*與acc分別通過(guò)晶體管T5、T7與T3被予充電至電壓Vr。
信號(hào)bitin與bitin*控制數(shù)據(jù)送至或取自比特單元15的時(shí)間。當(dāng)信號(hào)bitin為低電平而信號(hào)bitin*為高,則數(shù)據(jù)由第一三態(tài)反相器從比特單元傳送到線IN/OUT。當(dāng)信號(hào)bitin為高而信號(hào)bitin*為低,則第二三態(tài)反相器將數(shù)據(jù)從線IN/OUT傳送到比特單元。
在線d、d*與acc予充電到Vr以后的相位2的讀操作時(shí),任線d與d*浮動(dòng),而線acc則被一高電壓V3設(shè)置到電壓OV使得晶體管T4導(dǎo)通。這使得具有最低電位的節(jié)點(diǎn),如n1,降低到在Vr與OV之間的一個(gè)電位。因?yàn)檫@樣,一個(gè)電流從線d流經(jīng)節(jié)點(diǎn)n1至線acc。這一電流使線d放電,即線d上的電壓降低。這一電壓降由讀放大器T22至T26測(cè)出。讀的結(jié)果提供在晶體管T25與T26的漏極之間的互連上并饋送到第一三態(tài)反相器T14至T17的輸入。低的信號(hào)bitin與高的信號(hào)bitin*對(duì)讀取并放大的比特值提供一個(gè)到輸入/輸出線IN/OUT的傳送。在相位2中,線d與d*未被以激活方式驅(qū)動(dòng)這一點(diǎn)是重要的,否則在一條線上將得不到電壓降。
從而,對(duì)于讀操作,d與d*都是初始提供在電位Vr上的。d與d*兩者基本上保持在電位Vr上,但由于進(jìn)入單元的“電流進(jìn)”將線d、d*之一放電,所以它們中的一條的電位有所降低。由于這里Vr是定義為“低”的,低電位將比“低”更低。d與d*給出所讀的值,d比d*低給出FALSE(偽),d比d*高給出TRUE(真)。對(duì)于不寫、寫偽、寫真、不寫與不比較操作,線d與d*上的信息電位并不給出任何信息。
對(duì)于相位2中的一個(gè)寫操作,線d、d*與acc予充電到Vr以后,線acc被一個(gè)高電壓V3設(shè)置到電壓OV使晶體管T4導(dǎo)通要存儲(chǔ)的值是在輸入/輸出線IN/OUT上提供的。信號(hào)bitin高與bitin*低激活第二三態(tài)反相器T18至T21將線IN/OUT上的值傳送到其輸出上。在晶體管T11的柵極上的高的控制信號(hào)寫將晶體管T10與T13的源極連接到OV。
第二三態(tài)反相器T18至T21來(lái)的一個(gè)高信號(hào),即一個(gè)要寫入的“O”或偽,將晶體管T13控制到導(dǎo)通狀態(tài),將電壓V5設(shè)置到低電壓,晶體管T8被控制為導(dǎo)通以及線d*被設(shè)置到電壓Vcc,即高。從第二三態(tài)反相器饋送到晶體管T10的低的反相信號(hào)將保持它為非導(dǎo)通,在予充電相位中連接到電壓源Vcc的電壓V4將保持在這一電壓上,晶體管T6將保持非導(dǎo)通,而在予充電期間通過(guò)晶體管T5連接到線d的電壓Vr將保持。
來(lái)自第二三態(tài)反相器T18至T21的一個(gè)低信號(hào),即要寫入的一個(gè)“1”或真,將控制線d的寫電路T5、T6、T9、T10通過(guò)反相器INV將線d設(shè)置在高電壓Vcc上,而寫電路T7、T8T12、T13將保持線d*在予充電相位中被設(shè)置的電壓Vr上。
從上述例子中可知,在圖20所示的實(shí)施例中存儲(chǔ)節(jié)點(diǎn)n1與n2是以下述操作方式使用的。在操作周期的第二相位中,節(jié)點(diǎn)n1n2之一或者兩者被充電或放電,這是取決于所使用的是控制信號(hào)V3、V4與V5中的哪一個(gè)的,即是否線acc被設(shè)置在OV上或者是否線d與d*中之一(或兩者)被設(shè)置在Vcc上。
如上所述,每一個(gè)操作周期由一個(gè)予充電時(shí)期與一個(gè)執(zhí)行時(shí)期構(gòu)成。從而,當(dāng)下面提到線acc設(shè)置為高時(shí),這意味著信號(hào)V3在執(zhí)行時(shí)期不在控制晶體管T4在線acc上設(shè)置電壓OV。同樣,當(dāng)在下面提到線d或d*被設(shè)置為低時(shí),這意味著控制信號(hào)V4或V5在執(zhí)行時(shí)期中不在控制晶體管T6或T8在下述狀態(tài)中,即通過(guò)高于電壓Vr的電壓Vcc耦合到線d或d*。然而,當(dāng)線d或d*設(shè)置為高時(shí),晶體管T6或T6將被控制為通過(guò)電壓Vcc連接到線上。
存儲(chǔ)單元區(qū)域可相當(dāng)大,例如包括256個(gè)存儲(chǔ)單元,這意味著每對(duì)晶體管T5、T6以及T7、T8分別地連接到一條用于所有存儲(chǔ)單元(例如256個(gè)比特單元)中的一個(gè)比特單元的線上。所以晶體管大小必須調(diào)整到總的總線電容以及所要求的速度。
電壓Vr可從一個(gè)短接反相器建立,從而使Vr與感測(cè)放大器反相器之間保持一種已知的關(guān)系。頭中的存取電路將控制比特單元并同時(shí)從比特單元中取信息。
下述功能狀態(tài)是可由控制狀態(tài)設(shè)置的靜止單元存儲(chǔ)值vstore,讀偽可讀取值vstore=false(偽),讀真可讀取值vstore=true(真),不讀單元存儲(chǔ)值vstore,寫偽將存儲(chǔ)的值vstore設(shè)置為′false′(′偽′),寫真將存儲(chǔ)的值vstore設(shè)置為′true′(′真′),不寫單元存儲(chǔ)值vstore,比較偽將存儲(chǔ)值vstore與一個(gè)值′false′(′偽′)進(jìn)行比較,比較真將存儲(chǔ)值vstore與一個(gè)值′true′(′真′)進(jìn)行比較,不比較單元正在存儲(chǔ)值vstore。
以下是一個(gè)比特單元的不同操作模式的一張操作表操作模式 acc d d*靜止 低 低 低讀偽 低 電流進(jìn) 高讀真 低 高 電流進(jìn)不讀 高 任意 任意寫偽 低 低 高寫真 低 高 低不寫 高 任意 任意比較偽 任意 低 高比較真 任意 高 低不比較 任意 低 低對(duì)于比較偽與比較真,如果比較結(jié)果為DIFFERENT(不同)則線acc必定為狀態(tài)電流出。
對(duì)于比較偽或比較真操作,線a′cc(存取線)給出比較結(jié)果。線acc予充電到Vr,并且在線d上提供輸入數(shù)據(jù),而其反相值則在線d*上提供。如果存儲(chǔ)在比特單元中的值與輸入數(shù)據(jù)不同,則線acc將通過(guò)二極管D1或D2之一,并通過(guò)對(duì)應(yīng)的n型晶體管T1或T2被充電。這是現(xiàn)頭16中的放大器檢測(cè)到的。當(dāng)檢測(cè)到一個(gè)比較的FIT(符合)時(shí),線acc將被保持在電位Vr上。
術(shù)語(yǔ)電流與電流出分別表示在一個(gè)時(shí)序中一個(gè)電荷移進(jìn)或移出討論的線。這是通常認(rèn)在靜止(REST)操作模式中分別將該線啟動(dòng)成高或低并隨即變換成實(shí)際模式來(lái)進(jìn)行的。一個(gè)電流將分別放電或充電討論中的線。當(dāng)沒有電流時(shí),則沒有適當(dāng)?shù)碾姾蓪⒈粋鬏敗R虼嗽跁r(shí)序中將設(shè)有電壓變化被提供。
目標(biāo)存貯器控制電路優(yōu)先擇碼器(圖21A和圖21B)圖21A和21B所示的優(yōu)先譯碼器11的實(shí)施例被分成多個(gè)四方塊。如圖21A所示,每個(gè)四方塊具有一對(duì)左側(cè)應(yīng)答和請(qǐng)求線和四對(duì)右側(cè)請(qǐng)求和應(yīng)答線reqo、grant 0……到……reg 3、grant 3。
如圖21B所示,第一個(gè)四方塊520的四對(duì)右側(cè)線連接到多個(gè)四方塊(圖中示出了外面的一對(duì)21和22)的每一對(duì)左側(cè)線上。四方塊520、521和520、522利用反相放大器523和524相互連接,放大器523將信息傳送給方塊鏈中較低的方塊,而在該方塊鏈中,較高的方塊則需要優(yōu)先權(quán)申請(qǐng),放大器524將信息傳送給作出應(yīng)答的方塊鏈中較高的方塊。這樣,在第二個(gè)四方塊列中,方塊521……522的數(shù)目是4。
當(dāng)?shù)诙蟹綁K中的方塊被連接到四方塊20時(shí),第二列中的每一個(gè)方塊被以同樣方式連接到第三列方塊的4個(gè)四方塊上。第三列中四方塊的數(shù)目將是16。圖中僅示出了最外層的四方塊525和526。
第三列中的每個(gè)方塊然后以同樣的方式被連接到第四列方塊中的4個(gè)四方塊上,第三列中四方塊的數(shù)目是64。圖中僅示出了最外層的四方塊527和528。
第三列中四方塊的右側(cè)線被連接到目標(biāo)存貯器。如圖21B所示每一對(duì)都適用于作為存貯器單元10的總線18和19。
總共有85個(gè)方塊用于265個(gè)閉包。最低的方塊528用于最低的存貯器單元,向下直至存貯器單元O,最高的方塊527用于最高存貯器單元,即直至存貯器單元255。
圖21A和21B所示結(jié)構(gòu)均使用了多米諾(domino)予充電邏輯,其中,全優(yōu)先級(jí)解碼器包括串聯(lián)多米諾級(jí),它相應(yīng)于來(lái)自例如最低方塊528的請(qǐng)求信號(hào)req O,通過(guò)所有的優(yōu)先譯碼器方塊的傳輸和返回,從而把一個(gè)“偽”應(yīng)答信號(hào)傳遞給除存貯單元號(hào)O之外的所有存貯器單元。
如圖21A所示,每個(gè)方塊包括有5行MOS FET晶體管,除了第5行具有與第4行相同數(shù)目的MOS FET晶體管之外,其余每一行都比下一行多包含一個(gè)MOS FET晶體管。
在四個(gè)最低行中最靠外右邊的MOS FET Tr0,0-Tr3,0中的每一個(gè)為p型晶體管,其柵極連接到時(shí)鐘信號(hào)源,其漏極連接到正電源,其源極分別連接到應(yīng)答線grant 0、grant 1、grant 2或grant 3。最高行中的MOS FET的源極沒有接到應(yīng)答線grant i(i是0-3之間的數(shù)),而是通過(guò)反相器523連接到方塊級(jí)鏈中的下一個(gè)較低的方塊上。
其余的MOS FET是n型晶體管,第一行中的Tr0,1,第二行中的Tr1,1、Tr1,2,第三行中的Tr2,1、Tr2,2和Tr2,3,第四行中的Tr3,2、Tr3,3和Tr3,4以及第五行中的Tr4,2、Tr4,3、Tr4,4和Tr4,5的源極接地,而對(duì)四個(gè)最低行的MOS FET而言其漏極分別接應(yīng)答線grant 0、grant 1、grant 2或grant 3,而對(duì)第5行的MOS FET而言,其漏極接請(qǐng)求線req a。
應(yīng)答線被連接到MOS FET Tr0,1、Tr1,1、Tr2,1、Tr3,1中每一個(gè)的柵極。請(qǐng)求線req 0被連接到MOS FET Tr1,2,Tr2,2,Tr3,2和Tr4,2中的每一個(gè)的柵極。請(qǐng)求線reg 1被連接到MOS FET Tr2,3、Tr3,3和Tr4,3中每一個(gè)的柵極。請(qǐng)求線req 2被連接到MOS FET Tr3,4和Tr4,4中每一個(gè)的柵極。請(qǐng)求線req 3被連接到MOS FET Tr4,5的柵極。
優(yōu)先級(jí)解碼器在兩個(gè)相位內(nèi)工作。在第一個(gè)相位,當(dāng)時(shí)鐘信號(hào)為低時(shí),所有的應(yīng)答(grant i)都被予先充電到高電平(真)。然后,所有的請(qǐng)求信號(hào)(req i)都是低電平(不需要)。在第二個(gè)相位,予充電被關(guān)閉,即時(shí)鐘信號(hào)為高電平。然后,某一個(gè)或多個(gè)輸出請(qǐng)求req i將變?yōu)楦唠娖?,它將使上述所有的?yīng)答信號(hào)grant i變低(不選擇),并且置請(qǐng)求信號(hào)為低。若請(qǐng)求信號(hào)為低,則圖21中靠近左邊的相鄰四方塊內(nèi)的請(qǐng)求信號(hào)req i將變?yōu)楦唠娖?。四方塊520中的請(qǐng)求和應(yīng)答信號(hào)是無(wú)關(guān)緊要的。然而,四方塊520中的應(yīng)答線是接地的。由于當(dāng)連接到任一單元包包的任一請(qǐng)求req i變?yōu)楦唠娖綍r(shí),它必須變低,所以四方塊529中的的請(qǐng)求信號(hào)在圖2和3中的線14上提供“ANY”結(jié)果。
組件頭部分(圖22)圖22詳細(xì)地示出了組件頭16的實(shí)施例。組件頭16控制到存貯單元10的存取線acc,檢測(cè)存取線acc和線ANY14(這里稱之為任何一類型),它在總線a和b上執(zhí)行線-“與”和線-“或”操作,并且還要讀出該總線a和b。進(jìn)而,它還包括一個(gè)內(nèi)部動(dòng)態(tài)存貯器位。
n溝道MOS FET no具有連接在電壓Vr(與圖20中的Vr為同一電壓)和存取線acc之間的源/漏極通路。時(shí)鐘脈沖cpb被提供給MOS FET no的柵極。n溝道MOS FET nl具有在地和存取線acc之間連接的源/漏通路。
在電源和地之間串聯(lián)連接有兩個(gè)P溝道MOS FET P2和P3的并聯(lián)耦合源/漏通路、P溝道MOS FET P4的源/漏通路以及n溝道MOS FET n5的漏/源通路。
直接連接到最近位單元的線任何一類型(any-type)被連接到MOS FET P2的柵極。來(lái)自中央控制單元的線匹配(Writ match)連接到MOS FET P3的柵極。存取線acc通過(guò)包括有P溝道MOS FET P1的串聯(lián)源/漏通路和其柵極連接到存取線acc的n溝道晶體管n6的反相器INV1連接到MOS FET P4的柵極。n溝道MOS FET n7的源/漏通路連接在反相器INV1和地之間。線eval,s(即來(lái)自中央處理單元的判斷選擇evaluate Select)被連接到MOS FET n7的柵極。線Set.s(即來(lái)自中央處理單元的置位選擇Set Select)被連接到MOSFET n5的柵極。
MOS FET P4和n5漏極間的相互連接點(diǎn)i1(也稱選擇節(jié)點(diǎn))被連接到p溝道MOS FET P6的漏極,P6的源極經(jīng)P溝道MOS FET P7接到電源+Vcc。來(lái)自中央處理單元的線reset.b被連接到MOS FET P6的柵極。與圖3所示相同的線b被連接到MOS FET P7的柵極。
P溝道MOS FET P8的漏極連接到與圖3所示線a相同的線a上,其源極連接到互聯(lián)點(diǎn)i2。線Wand.a(即來(lái)自中央處理單元的線與a被連接到它的反相門。P溝道MOS FET P9的漏極被連接到線上,其源極連接到互聯(lián)點(diǎn)i2。線Wand.b(即來(lái)自中央處理單元的線-與-b)連接到它的反相門上。P溝道MOSFET P10的漏極連接到互聯(lián)點(diǎn)i2,其源極接到電源+Vcc上。互聯(lián)點(diǎn)i1通過(guò)“與”反相器INV2連接到MOS FET P10的反相門上。反相器INV2包括P溝道MOS FET P14的串聯(lián)源/漏通路以及連接在電源+Vcc和地之間并且其柵極連接到互聯(lián)點(diǎn)i1的n溝道MOS FET n8。
在線b和電源+Vcc之間連接有兩個(gè)P溝道MOS FET P11和P12的漏/源通路。線wor(即來(lái)自中央處理單元的線“或”wire or)被連接到MOS FET P12的柵極?;ヂ?lián)點(diǎn)i1在接到MOS FET P11的柵極。P溝道MOS FET P13的源/漏通路連接在線a和互聯(lián)點(diǎn)il之間。線Sa(即來(lái)自中央處理單元的選擇線a Select a)連接到MOS FET P13的柵極。
在地和電源+Vcc之間,連接有n溝道MOS FET n2 P溝道MOS FET P15、P溝道MOS FET P16的漏/源通路。MOS FET n2和P15源極間的互聯(lián)點(diǎn)i3接到MOS FET n1的柵極。兩個(gè)P溝道MOS FET P17和P18串聯(lián)于互聯(lián)點(diǎn)i3和電源+Vcc之間?;ヂ?lián)點(diǎn)i1接到MOS FET P18的柵極。線r/w.b(即來(lái)自中央控制單元的讀/寫.b)被連接到MOS FET P15的反相門。線r/w.s(即來(lái)自中央處理單元的讀/寫選擇)連接到MOS FET P17的柵極。線r/w.r(即來(lái)自中央處理單元的讀/寫復(fù)位,該信號(hào)被用于在讀或?qū)懖僮髦笫菇Y(jié)點(diǎn)i3復(fù)位)被連接到MOS FET n2的柵極。
圖22所示組件頭實(shí)施例的邏輯功能如下所述。在每個(gè)負(fù)時(shí)鐘脈沖時(shí),MOS FET n0向存取線acc予充電,在讀或?qū)憰r(shí),MOS FET n1賦予它低電平值。在備用狀態(tài),MOS FET n2向i3予充電使其為低電平從而保持MOS FET n1處于關(guān)斷狀態(tài)(即非導(dǎo)通狀態(tài))。
MOS FET P17和P18執(zhí)行由選擇結(jié)點(diǎn)所控制的讀/寫。這被用于例如指令匹配、清除閉包單元的標(biāo)記或是閉包單元的識(shí)別符的指令中。若未建立標(biāo)記,則將根據(jù)總線a和b上的指令來(lái)產(chǎn)生不同的作用。
匹配功能將磁芯單元和存貯器單元中的值(例如所說(shuō)的目標(biāo)值)進(jìn)行比較,并且認(rèn)為這些值規(guī)定了2個(gè)集(set),如果這兩個(gè)集不相交,則比較結(jié)果是“偽”。如果閉包的一部分未被全部求值則也假設(shè)成上述情況。
MOS FET n5向選擇結(jié)點(diǎn)i1充電,并在MOS FET n7的柵極上由來(lái)自控制單元6的控制信號(hào)進(jìn)行控制,由MOS FET P2-P4來(lái)計(jì)算它的值。MOS FET P8-P10根據(jù)來(lái)自中央控制單元的控制信號(hào)在總線a和/或總線b上執(zhí)行線“與”操作。MOS FET P11和P12在中央控制單元的控制下執(zhí)行線“或”操作。
反相器INV2使在選擇結(jié)點(diǎn)上的選擇位反相。由于要執(zhí)行線“或”與線“與”操作,上述反相是需要的。MOS FET PP13將總線a上的值傳輸給選擇結(jié)點(diǎn)。由于它被予先充電為低電平狀態(tài),因此僅需要傳輸高電平狀態(tài)。最后,當(dāng)處于控制狀態(tài)時(shí),MOSFET P6和P7被用來(lái)選擇高電平狀態(tài)。隨后,由于選擇結(jié)點(diǎn)在執(zhí)行讀操作的同時(shí)被復(fù)位,所以在與讀標(biāo)記存貯單元和清除該單元標(biāo)記有關(guān)的指令中,上述選擇是需要的。該特性也被用于其它類型的指令中,在這些指令中,必須在組件頭中執(zhí)行邏輯與操作。
任何一類型信號(hào)被直接接到最近的位單元。它包括所存貯值的類型。在匹配期間,使MOS FET P3受控關(guān)閉,從而使得在具有任何一類型(any-type)信號(hào)的線上的高電平值產(chǎn)生一個(gè)“真”匹配。類似的,為了檢測(cè)存貯單元是否被使用,當(dāng)MOS FET P3受控關(guān)斷時(shí),含有任何一類型信號(hào)的線上的高電平狀態(tài)將使得選擇結(jié)點(diǎn)上的信號(hào)選擇保持在低電平。為了檢測(cè)相關(guān)等式,MOS FET P3受控接通(即導(dǎo)通)。
閉包頭(圖23)圖23所示的閉包頭17能在總線a或b上執(zhí)行優(yōu)先級(jí)操作和模式操作。兩種操作可以在不同的總線上同時(shí)執(zhí)行。模式操作(即在圖2和圖3所示的電路中總線12〈MODE〉的操作)僅對(duì)總線b上的低電平狀態(tài)是敏感的,而對(duì)總線a上的高或低電平狀態(tài)都是敏感的。閉包頭能使總線13(見圖2)上的全局信號(hào)MORE復(fù)位,并可將舊總線數(shù)據(jù)讀或?qū)懙娇偩€a和b上。
執(zhí)行MODE操作的電路和執(zhí)行優(yōu)先級(jí)操作的電路是根據(jù)兩級(jí)多米諾(domino)原理設(shè)計(jì)的。第一級(jí)確定哪一條總線是輸入狀態(tài),并且校正極性,而第二級(jí)執(zhí)行具體的操作。因此,閉包頭工作于兩個(gè)相位之中,第一為予充電相位,第二為操作相位。這樣,就提供了一些予充電n溝道MOS FET n20,n21,n22和n23,它們的柵極均由來(lái)自中央處理單元的時(shí)鐘信號(hào)Prech來(lái)進(jìn)行控制。n20向總線a予充電,n21向總線b予充電,n22向通往優(yōu)先級(jí)譯碼器11的總線req充電,而n23使接點(diǎn)網(wǎng)絡(luò)F1變?yōu)椤暗汀薄?br> 接點(diǎn)網(wǎng)絡(luò)F1包括兩個(gè)并聯(lián)的P溝道MOS FET P20、P21和P22、P23的源/漏通路的串聯(lián)耦合對(duì)。網(wǎng)絡(luò)F1的一端通過(guò)MOS FET n23的源/漏通路接地,另一端接電源+Vcc。總線a被連接到MOS FET P20的柵極,并通過(guò)反相器INV20連接到MOS FET P23的柵極,隨后,P23的柵極獲得與總線a上信號(hào)a相反的信號(hào)a*。來(lái)自中央控制單元的信號(hào)mode.a*被提供給MOS FET P21的柵極,而來(lái)自中央處理單元的反相信號(hào)mode.a*被提供給MOS FET P22的柵極。接點(diǎn)網(wǎng)絡(luò)F1實(shí)現(xiàn)了a*mode.a與*a*mode.a*相比較的功能。
在電源Vcc和總線b之間串接有兩個(gè)P溝道MOS FET P23和P25的源/漏通路,總線a被連接到MOS FET PP24的柵極,而來(lái)自中央處理單元的信號(hào)ba被提供給MOS FFET P25的柵極。
網(wǎng)絡(luò)F1和MOS FET n23漏極間的結(jié)點(diǎn)被連接到n溝道MOS FET n24的柵極,MOS FET n24的源極接地,漏極接總線12(mode)(如圖2和3所示)以提供模式信號(hào)。在電源+Vcc和總線b之間串接有兩個(gè)P溝道MOS FET P26和P27的源/漏通路。模式信號(hào)(總線12上)還通過(guò)將該模式信號(hào)進(jìn)行放大的反相器INV21和INV22連接到MOSFET P27的柵極。信號(hào)mode.b由中央控制單元提供給MOS FET P26的柵極。
信號(hào)mode.a在總線a上執(zhí)行模式操作,信號(hào)mode.a*也在該總線上執(zhí)行模式操作,但在該總線上形成一個(gè)相反的值a*。若總線a被置為“低”電平,那么信號(hào)ba則置該總線為“高”電平。若總線模式為“低”電平,那么信號(hào)mode.b將置總線b為高電平。信號(hào)Prech用來(lái)將總線a和b予充電為“低”電平。
因此,MODE(模式)操作是根據(jù)信號(hào)a還是根據(jù)信號(hào)a*來(lái)進(jìn)行,其選擇是由接點(diǎn)網(wǎng)絡(luò)F1的輔助手段來(lái)完成的??偩€MODE12可以通過(guò)目標(biāo)存貯器中所有閉包頭17對(duì)地進(jìn)行校正。晶體管P26柵極上的控制信號(hào)mode.b將標(biāo)總線b拉向高電平。在這種情況下,在總線a和總線b上進(jìn)行兩種不同的測(cè)試是可能的。若在總線b上的測(cè)試表明其實(shí)際上操作的結(jié)果為高電平,那么總線b就可以被置為高電平。例如WIRED OR可以在總線a和b中的一條線上進(jìn)行,而WIRED AND則在另一條線上進(jìn)行,邏輯操作也可以執(zhí)行,在執(zhí)行過(guò)程中其狀態(tài)應(yīng)當(dāng)是當(dāng)總線a上的結(jié)果如是“偽”時(shí),總線b則應(yīng)與示出“偽”。其它的狀態(tài)也可根據(jù)總線b的結(jié)果來(lái)進(jìn)行另外的操作。
在電源+Vcc和總線b之間,串接有兩個(gè)P溝道MOS FET P28和P29的源/漏通路。來(lái)自優(yōu)先級(jí)譯碼器11的應(yīng)答信號(hào)grant通過(guò)反相器INV23接到NAND門NAND1的一個(gè)輸入端,其第二輸入端接請(qǐng)求信號(hào)reg。該NAND門包括其源/漏通路串聯(lián)連接的兩個(gè)n溝道MOS FET n25和n26的和其源/漏通路并聯(lián)連接并且連接于MOS FET n26的柵極和電源+Vcc之間的兩個(gè)P溝道MOS FET。MOS FET n25的源極接地。信號(hào)grant*被提供給MOS FET n26和P34的柵極,而信號(hào)reg被提供給MOS FET n25和P32的柵極。NAND門的輸出被連接到MOS FET P28的柵極以及其源/漏通路連接在電源+Vcc和線MORE13之間的MOS FET P33的柵極上。來(lái)自中央控制單元信號(hào)grant.b被饋送給MOS FET P29的柵極。
在電源+Vcc和到優(yōu)先級(jí)譯碼器11的總線reg之間,串接有兩個(gè)P溝道MOS FET P30和P31的源/漏通路。來(lái)自中央控制單元的信號(hào)Prio饋送給MOS FET P30的柵極,總線b接到MOS FET P31的柵極上。
來(lái)自中央控制單元的信號(hào)Prio被用于向優(yōu)先級(jí)譯碼器11傳送請(qǐng)求信號(hào),即當(dāng)總線b處于“低”電平時(shí),提供一個(gè)高電平信號(hào)req。NAND門P32、P34、n25、n26檢測(cè)請(qǐng)求信號(hào)req是否為高電平、應(yīng)答信號(hào)grant是否為低電平,即對(duì)優(yōu)先級(jí)的要求是必須的,而不是可選擇的。在這種情況下,NAND門變?yōu)榈碗娖?,并置總線13(MORE)為高電平,即表示需要優(yōu)先級(jí)。若請(qǐng)求信號(hào)req為“高”,就要使用應(yīng)答信號(hào)grant.b。此后,首先由中央控制單元提供信號(hào)Prio,然后目標(biāo)存貯器中最多一個(gè)存貯單元上的應(yīng)答信號(hào)grant.b將具有處于“低”電平狀態(tài)的總線b。
提供第一種常規(guī)類型數(shù)字ALU的處理器屬于本發(fā)明范疇之內(nèi),該處理器由控制單元6進(jìn)行控制,并接到磁芯單元上。另外,下面將給出根據(jù)本發(fā)明特別適用于第一種處理器的數(shù)字ALU5的實(shí)施例,數(shù)字ALU敘述如下*它能縮減數(shù)字表達(dá)式,而不必使用臨時(shí)存貯器*它能處理作為操作數(shù)的浮點(diǎn)值,該值在尾數(shù)和指數(shù)之間具有變變化的部分,該部分以代碼段進(jìn)行編碼*以可變代碼長(zhǎng)度的代碼段的形式在總線上使用有關(guān)操作數(shù)所給予的算術(shù)指令*具有浮點(diǎn)和整數(shù)表達(dá)之間的共同變化*具有代碼緊湊值表示基于該數(shù)字值元素,數(shù)字ALU能夠執(zhí)行算術(shù)的、邏輯的相關(guān)操作,其操作方式如下a)提供包括待處理的數(shù)字值及指令信息的輸入表,b)利用指令信息,根據(jù)輸入表中數(shù)字值元素執(zhí)行操作,c)通過(guò)重寫輸入表中的該元素執(zhí)行計(jì)算,d)在輸出表中顯示其結(jié)果。
在輸入和輸出表中其元素的最大數(shù)最好是4,該值相應(yīng)于磁芯單元中主存貯器的數(shù)目,它提供了一個(gè)輸入表并接受一個(gè)輸出表。然后表一的元素可以用指令字來(lái)表示,第二元素可以用兩個(gè)數(shù)字值表示中的每一個(gè)來(lái)表示,并且在一段時(shí)間內(nèi)通過(guò)重復(fù)寫入輸入元素而形成的計(jì)算期間內(nèi),表一元素將被提供有中間計(jì)算結(jié)果。
該表更可取的是包括的功能應(yīng)用,在該應(yīng)用中,它的一個(gè)元素是一個(gè)指令代碼,其余的是相對(duì)于該指令的主目。在得到最終結(jié)果之前通過(guò)把來(lái)自結(jié)果輸出表的指令代碼寫入和重復(fù)寫入輸入表來(lái)執(zhí)行一個(gè)指令。在每次重復(fù)寫入過(guò)程中,該表將被重新寫入以在對(duì)于實(shí)際運(yùn)算適當(dāng)?shù)那闆r下包括其后跟隨有適當(dāng)值字的經(jīng)校正的指令代碼字。
在實(shí)際處理前,應(yīng)提供具有代碼形式的適當(dāng)?shù)臄?shù)字值字。表示數(shù)字值字的字最好被提供有將該數(shù)字值提供成緊湊表示的編碼,即值的每一個(gè)編碼表示相應(yīng)于一個(gè)譯碼值。第一編碼將以表示整數(shù)值的二進(jìn)制字來(lái)提供,第二編碼將以表示浮點(diǎn)值的二進(jìn)制字來(lái)提供。該編碼的優(yōu)點(diǎn)是在編碼以后,以與整數(shù)值表示相同的序列來(lái)提供浮點(diǎn)值表示。在該方式下,兩種表示中的任一種都必須是二進(jìn)制數(shù)字形式。硬件被提供來(lái)根據(jù)所傳輸?shù)奈唤M合格式,利用下述給定的規(guī)則,即不需要知道如何譯碼來(lái)進(jìn)行隱函數(shù)計(jì)算。
完成一個(gè)具有可變指數(shù)寬度的浮點(diǎn)值表示的簡(jiǎn)單途徑是使二進(jìn)制編碼浮點(diǎn)值表示包含有代碼段、指數(shù)段和尾數(shù)段,代碼段在指數(shù)段和尾數(shù)段之間的分隔部分有一個(gè)指示,從而使得指數(shù)段和尾數(shù)段具有可變的長(zhǎng)度。通過(guò)在與浮點(diǎn)值表示的尾數(shù)部分相關(guān)的字段前面包括有一個(gè)虛擬的“1”,即在該表示中實(shí)際上并不存在1來(lái)提供緊湊表示。
數(shù)字ALU硬件結(jié)構(gòu)簡(jiǎn)示于圖24A的數(shù)字算術(shù)邏輯單元ALU包括一個(gè)控制驅(qū)動(dòng)裝置1a和一個(gè)算術(shù)單元陣列2a,該陣列用于在特定的分別包含有多條(M)傳輸線的輸入/輸出總線NU0、NU1、NU2和NU3上執(zhí)行算法,每條總線傳輸一個(gè)M位值,M位值例如可以是32。數(shù)字ALU由控制裝置6控制。數(shù)字ALU通過(guò)下述信號(hào)與控制裝置發(fā)生聯(lián)系時(shí)鐘信號(hào)輸入CALU、忙碌輸出ABUSY、控制輸入ACNTACNTL、狀態(tài)輸出ASTATE和譯碼指令輸出AINS。
接口數(shù)字ALU<一>單元輸入輸出總線NU0、NU1、NU2和NU3被連接到圖1所示的第一級(jí)處理器中主寄存器或目標(biāo)寄存器上,該第一級(jí)處理器用于處理歸約型的指令。
磁芯單元中主寄存器單元,即S0,0、S1,0、S2,0和S3,0(圖9)都具有般個(gè)NU端(見圖10),該端被連接到輸入/輸出總線NU0-NU3中的一個(gè)上。因此,主寄存器SX,0中的內(nèi)容能夠使用輸入/輸出總線NUX傳輸給數(shù)字ALU,這就是輸入表如何能提供給ALU,其中X是0和3之的數(shù)。另外,數(shù)字ALU使用同一條總線能夠?qū)⒃摻Y(jié)果作為輸出表提供給主寄存器。位于NUM面中主寄存器的部分內(nèi)容,即num字被傳輸給數(shù)字ALU。輸入/輸出總線NU0-NU3傳送num字的表,該表是一個(gè)數(shù)字值或指令。在任何時(shí)間都不允許所有總線都處于使用狀態(tài)。輸入/輸出NU0-NU3上的輸入表包括將被提供的運(yùn)算類型信息,并且在控制陳列2a中不同元素的同時(shí),控制驅(qū)動(dòng)器1a從表中獲得該信息。通過(guò)以位或位組狀態(tài)方式在輸入表中重復(fù)寫入該內(nèi)容來(lái)進(jìn)行運(yùn)算,所謂位或位組狀態(tài)是指該位在一個(gè)字中具有相同的位置或位組在一個(gè)字中提供“薄片”狀態(tài),并且運(yùn)算的結(jié)果作為輸出表。應(yīng)當(dāng)注意,在最終結(jié)果出現(xiàn)在輸出端以前,通過(guò)內(nèi)部電路多次重復(fù)循環(huán)該值是可能的在循環(huán)期間,一個(gè)臨時(shí)輸出表出現(xiàn)在輸出端,它僅是作為一個(gè)臨時(shí)的輸入表而插入的。
該表可以包括與待被處理的值共同存在的功能應(yīng)用或其它類型的表,例如是僅包含至少一個(gè)整數(shù)值或浮點(diǎn)值的表。當(dāng)它包括功能應(yīng)用時(shí),在輸入/輸出NUO上提供的第一表元素包括指令代碼,即待被進(jìn)行處理的類型信息,表的其余部分是有關(guān)指令的主目。為了最終獲得該結(jié)果,通過(guò)一步或多步地重寫該指令來(lái)執(zhí)行一個(gè)指令。微指令和狀態(tài)信號(hào)被用于數(shù)字ALU內(nèi)部。通過(guò)數(shù)字ALU內(nèi)部的單獨(dú)的控制器1a,利用這些指令來(lái)控制陣列2a。當(dāng)直接寫入結(jié)果時(shí),該值被放入輸出表內(nèi)。當(dāng)進(jìn)行逐步重寫時(shí),重寫該表以保持同一指令代碼,或具有新的或特有變化的指令代碼,以及具有互大多數(shù)情況下其后跟有一個(gè)或多個(gè)值的指令代碼。應(yīng)當(dāng)注意,在一系列周期中進(jìn)行重寫操作的最佳方式是在整個(gè)操作期間內(nèi)保持指令代碼不變,這是因?yàn)樵谶@種情況下控制單元6將不會(huì)是太復(fù)雜的。
接口數(shù)字ALU<一>單元返回來(lái)看圖24A,時(shí)鐘信號(hào)CALU被用于將時(shí)鐘脈沖信號(hào)傳送給數(shù)字ALU,并且數(shù)字ALU規(guī)定在什么時(shí)候它將利用輸出ABUSY上準(zhǔn)備好的信號(hào)對(duì)時(shí)鐘脈沖進(jìn)行存取。
主存貯器的部分內(nèi)容位于標(biāo)題部分中,即特征字都送到控制單元6,它將按順序控制數(shù)字ALU控制驅(qū)動(dòng)單元1a。
但是在輸入/輸出上提供的信息中具有的特征位是屬于本發(fā)明的范圍,這樣,該特征位信息直接送到該控制驅(qū)動(dòng)單元,以下也稱之為數(shù)字ALU控制單元。
該控制輸入ACNTL通常用來(lái)控制數(shù)字ALU的數(shù)字操作,這種操作需要數(shù)個(gè)時(shí)鐘周期。
在每一個(gè)操作之后,輸出ASTATE返回到控制單元6,輸出AINS上的指令碼是連接總線NUO的主寄存器中的指令碼的壓縮碼。
參閱圖24B,由控制單元6提供的用于處理器的基本時(shí)鐘是C10,例如它具有10ns的周期。數(shù)字ALU在一個(gè)或幾個(gè)這樣的時(shí)鐘內(nèi)執(zhí)行操作。連接到該數(shù)字ALU的磁芯處理器使用更長(zhǎng)的周期控制,例如用兩倍于數(shù)字ALU的周期,即如果C10是有10ns周期,則時(shí)鐘信號(hào)C20具有20ns的周期。但是,也可用更短的周期進(jìn)行控制。用于具有更短周期的基本控制信號(hào)CALU(即在實(shí)施例中表示的數(shù)字ALU或其它的磁芯處理器)由此延伸到一個(gè)指令的終端,以便同具有更長(zhǎng)周期的時(shí)鐘信號(hào)C20同步。一旦該數(shù)字需要更多個(gè)C0時(shí)鐘周期去執(zhí)行一個(gè)指令時(shí),它將返回一個(gè)高電平信號(hào)ABUSY。如圖24B可清楚地看到,在信號(hào)ABUSY成為低電平后才產(chǎn)生延伸。
數(shù)值表示法對(duì)于浮點(diǎn)表示,在其指數(shù)和尾數(shù)之間數(shù)字ALU具有一可變化的部分。這樣,一方面對(duì)小數(shù)的尾數(shù)可能有很多位而使精度提高,另一方面還可處理很大的數(shù)。
如圖25所示,總線上具有的數(shù)字值的每一位組合格式在多數(shù)位信息串的最高位中最好具備一個(gè)短位字段,該位信息串具有數(shù)值符號(hào)部分的信息、指數(shù)符號(hào)部分的信息以及有關(guān)在數(shù)字值和尾數(shù)部分之間分隔位置的一個(gè)代碼部分的信息。要指出的是,該位字段代碼部分的長(zhǎng)度也是可以改變的,而且碼字段和指數(shù)字段間分隔位置的距離由碼字段來(lái)確定,例如圖25左箭頭所說(shuō)明的那樣。
數(shù)字ALU用相同指令提供數(shù)字的浮點(diǎn)表示法,如像相同數(shù)字的整數(shù)表示那樣。這樣,相同的位組合格式的浮點(diǎn)值和整數(shù)值是完全不同的。
這個(gè)目的可以這樣來(lái)達(dá)到,即用所具有的第一判斷式來(lái)判斷該位串是否是一個(gè)浮點(diǎn)值以及第二判斷式來(lái)判斷該位串是否是一個(gè)整數(shù)值。這樣,兩個(gè)表達(dá)式中任何一個(gè)都不需用二進(jìn)制數(shù)形式,只需有一個(gè)(最好是兩個(gè))采用編碼方式。這種位組合格式的轉(zhuǎn)移是自動(dòng)進(jìn)行的,并且,機(jī)器中的硬件使得在該變換了的位組合格式上的計(jì)算是隱含在下面所給出的規(guī)則中,也就是說(shuō)并不知道該判斷已經(jīng)發(fā)生。
一種努力是提供浮點(diǎn)值的精確表示,即不存在能以相同數(shù)字來(lái)判斷的位組合格式。
整數(shù)表示法圖示圖26A表示了本發(fā)明用于整數(shù)值代碼的圖示,該整數(shù)值被稱之為整數(shù)H值。沿水平軸給出二進(jìn)制表示,而沿垂直軸為H值。最高位代表該值的符號(hào),正或負(fù)。由圖26A看出,當(dāng)二進(jìn)制表示全為“0”時(shí),該H值具有其最大的負(fù)值,在二進(jìn)制表示的中間(即當(dāng)最高位從“0”變到“1”時(shí))具有0值,而與二進(jìn)制表示全為“1”時(shí)(即具有其最大的二進(jìn)制時(shí))具有最大的正值max rep。
浮點(diǎn)值表示法圖解圖26B為本發(fā)明用于浮點(diǎn)值代碼的圖示,該浮點(diǎn)值稱之為浮點(diǎn)H值。沿水平軸給出了二進(jìn)制表示,而沿垂直軸為H值,這里通過(guò)一個(gè)點(diǎn)作圖,在該點(diǎn)浮點(diǎn)H值改變它們的符號(hào)。同樣在該表示中。最高有效位表示了該值的符號(hào)。浮點(diǎn)值表示必須滿足全部的要求。對(duì)于一定的精度,該值的大小必須是任意可變的。這樣應(yīng)當(dāng)能夠表示出極小值和極大值。該浮點(diǎn)H值的刻度是對(duì)數(shù)。在每?jī)杀犊潭戎g,對(duì)數(shù)H值能使用直線近似值為簡(jiǎn)化。結(jié)果形成一個(gè)典型的浮點(diǎn)碼。由圖26B看到,對(duì)于-1和+1之間的B值,二進(jìn)制表示處在該二進(jìn)制表示字段的中間,并且包括該字段的一半。
在整個(gè)數(shù)值范圍,其相對(duì)精度是不變的。對(duì)數(shù)值具有一定的精度和范圍。如果該數(shù)值必須任意大,則必須有可能調(diào)整對(duì)數(shù)的范圍。
在任何時(shí)候該對(duì)數(shù)值能用對(duì)數(shù)函數(shù)來(lái)表示。這樣有可能表示每一個(gè)大的值,但是對(duì)于大的值,其精度將要降低,而對(duì)于小的值,將能保持其精度將要降低,而對(duì)于小的值,將能保持其精度或稍有改善。
由于兩種表示法的兩種位組合格式是以相同的方式出現(xiàn)的,所以整數(shù)大小比較器也可用于該浮點(diǎn)值的表示。這意味著可以省掉一個(gè)具體的浮點(diǎn)值比較器。進(jìn)而意味著僅在一個(gè)周期里進(jìn)行比較操作的整數(shù)大小比較器可用于浮點(diǎn)值,這是一個(gè)很大的優(yōu)點(diǎn)。一種通常型式的浮點(diǎn)值比較器,它的操作必須使用許多周期。
在一般的運(yùn)算邏輯單元中,若干位組合格式可以相同的數(shù)字方式來(lái)判讀,選擇這些位組合格式中的一個(gè)進(jìn)行歸一化。按照本發(fā)明,則不需要進(jìn)行歸一化,至少在實(shí)際運(yùn)算時(shí)是這樣,歸一化可在計(jì)算操作之前和計(jì)算操作之后來(lái)進(jìn)行。一旦準(zhǔn)確地表示浮點(diǎn)值間的相似性,則一個(gè)浮點(diǎn)值計(jì)算(例如比較操作)可以在一個(gè)周期中確定。具有準(zhǔn)確表示的優(yōu)點(diǎn)也在于可以使用浮點(diǎn)值的最大值,即在數(shù)值的序列中沒有舍棄的和無(wú)用的值。
在一般應(yīng)用中存在著若干位組合格式能夠以相同數(shù)字形式判斷的理由是在于一個(gè)數(shù)值的指數(shù)部分和尾數(shù)部分彼此相乘來(lái)產(chǎn)生該數(shù)值。例如1.0可以是由21×1/2產(chǎn)生,即具有指數(shù)位組合格式01和尾數(shù)位組合格式100,或者是24×1/4,即具有指數(shù)位組合格式10和尾數(shù)位組合格式010,該指數(shù)位組合格式和尾數(shù)位組合格式彼此相互組合在一起。
借助于提供一個(gè)隱含的“1”來(lái)產(chǎn)生準(zhǔn)確的表示,即在用于正值的尾數(shù)位組合格式以用于負(fù)值的隱函“0”之前實(shí)際上沒有“1”存在。通常,尾數(shù)值指定在-1和+1之間。二進(jìn)制編碼尾數(shù)指定在(1.0到2.0)或(-2.0至-1)范圍內(nèi),其正負(fù)取決于符號(hào)。
表達(dá)式編碼整數(shù)格式將被準(zhǔn)確地確定,如同整數(shù)判斷一樣,浮點(diǎn)表示將具有相同連續(xù)的階,這是一個(gè)很大的限制。
圖26C示出了解決這個(gè)問(wèn)題的一種方便的方法。圖27A和27B表示按圖26C所提供的字的數(shù)據(jù)表格。圖26C表示浮點(diǎn)編碼的示意圖表。二進(jìn)制表示在垂直分隔線LIN的左邊加以說(shuō)明,而浮點(diǎn)H值在線LIN的右邊加以說(shuō)明。該線LIN用來(lái)說(shuō)明指向更大值的軸。無(wú)論對(duì)二進(jìn)制表示還是對(duì)H值表示都是適當(dāng)?shù)?。這種表示法和H值被判斷為從線LIN向其兩邊擴(kuò)展。最接近線LIN的是說(shuō)明圖26B中的隔膜中心軸。H值軸向右,而二進(jìn)制表示軸向左。第一字段是在軸表示之外,sh朝向右而s朝向左,代表存貯單元位的最高有效位。對(duì)于負(fù)值為“0”而對(duì)于正值“1”。第二字段,seh和se,分別代表下一個(gè)最高有效位,它是指數(shù)符號(hào)位。第三字段至少有一位比上述鄰接的最高有效位更低,如同所說(shuō)明的那樣,如果二進(jìn)制字段是低位,則存貯單元具有七位,如果二進(jìn)制是高位,則該存貯單元具有更多的位,在下面將要說(shuō)明具有32位的情況。
在圖26C、27A和27B所示的例子中,七位字編碼替代32位字編碼,或許在實(shí)踐中使用的更多。二進(jìn)值表示直接朝向中心線左邊將被判斷為具有的H值為-1024到+768。應(yīng)當(dāng)指出,H值-1和+1分別置于0值和值-1024及+768之間的中間距離處。第一二進(jìn)制位分別是s和sh,無(wú)論對(duì)于該表示法和對(duì)于H值都是值的符號(hào),不管它是正值還是負(fù)值。
第二三進(jìn)制位是指數(shù)的符號(hào),即不管管其絕對(duì)值高于或低于數(shù)值1。該H值指數(shù)符號(hào)Seh在-1024和-1之間是正的,而在-1和+1之間是負(fù)的,并且在+1到+768之間是正的。如從圖26C左邊可明顯看出的,在二進(jìn)制序列的第一個(gè)四分之一中表示指數(shù)符號(hào)Se是負(fù)的,在第二個(gè)四分之一中為正的,在第三個(gè)四分之一中為負(fù)的,而在第四個(gè)四分之一中是正的。位Seh可以這樣來(lái)描述,例如如果S=1,則Sch=Se,否則Seh=1-Se。
這樣,在該表達(dá)式中,所表示的字符符號(hào)的最高有效位具有最慢的變化,而表示指數(shù)符號(hào)的下一個(gè)最高有效位的變化較慢,即二倍于字符符號(hào)位的變化。在下一位置,該位具有兩倍于指數(shù)位的變化,并且是代碼位C。根據(jù)圖26C和27A、27B所示的例子,該代碼僅包括有一位。在另外的例子中,代碼字段可包括有多位,該代碼控制指數(shù)長(zhǎng)度看作為先前的符號(hào)位。
提供的目標(biāo)的浮點(diǎn)H值,即浮點(diǎn)記數(shù),按更具體的方式提供代碼字段,從eh值清楚地看出,它直接給出指數(shù)H值,該eh值從一個(gè)大的正值下降為0值,該處H值為-1,從該點(diǎn)到一個(gè)大的負(fù)值,該處的H值為0,從該點(diǎn)到-0值,該處的H值為+1,以及從該點(diǎn)到一個(gè)大的正值,該處H值是768,ehebs部分表示絕對(duì)的指數(shù)H值,由兩條曲線表示,所提供的邊接邊的每條曲線在一個(gè)大的正值和其處于O的中間點(diǎn)處具有兩個(gè)端點(diǎn)。用于H值的代碼字段的結(jié)構(gòu)用來(lái)反映H值ehebs,這樣,它被表示成具有用虛線表示的相同的形式。只要該代碼字段僅包括用實(shí)線表示的一位,它將具有這樣的形式。這樣,如果Se=1,則代碼Ch=1,反之,當(dāng)代碼Ch僅包括一位時(shí),Ch=1-C。
圖27A和27B所提供的表格配置是容易理解的,因?yàn)槊恳粋€(gè)位字段S、Sh、Se、Seh、C和Ch只包括一位,因此圖26同圖27A、27B相比較是顯而易見的。圖27A和27B第一列是按順序的二進(jìn)制表格,從0000000到1111111,在第二列是以二進(jìn)制數(shù)來(lái)提供的。箭頭列的右邊是用于表示法轉(zhuǎn)換數(shù),表示出了H值。該表所給的實(shí)水平線用來(lái)表示代碼字段的每一個(gè)轉(zhuǎn)接,以便使它容易同圖26B相比較。
Ch的右列包括用十進(jìn)制表示的表示法的指數(shù)值e,還包括用十進(jìn)制表示的H值的指數(shù)值。下面兩列分別為以二進(jìn)制表示的e和eh值。下面兩列分別為以十進(jìn)制和二進(jìn)制表示的表示法的尾數(shù)值。接著為以十進(jìn)制表示的H值的尾數(shù)值。要指出的是,圖27A中的尾數(shù)在-1和-2之間變化,而Sh值為“0”。在圖27B中的尾數(shù)在++1和+2之間變化,而Sh值為“1”。當(dāng)轉(zhuǎn)換時(shí),最右邊的一列表示由二進(jìn)制結(jié)合最左列所提供的十進(jìn)制H值。
從圖27B的上部可清楚地看到,該表示具有的“1”作為它的最高有效位,后跟的“0”S表示實(shí)際的浮點(diǎn)值“0”。
從圖26的二進(jìn)制數(shù)序列清楚地看出,靠近中心線的左邊的七個(gè)二進(jìn)制位,其右邊的四個(gè)最低位為指數(shù)和尾數(shù),而三個(gè)最高有效位留給符號(hào)位及代碼位。根據(jù)數(shù)字列e和m,清楚地看到,在最上部,指數(shù)效號(hào)Se是負(fù)的,即為“0”,而編碼值C是“1”,值e包括三位,而值m是一位(前面兩個(gè)“0”S在該列中可以省略)。這種情況在圖26C中加以說(shuō)明,在圖中表明該部分的許多步驟都有e-表示法。在第二部分,該指數(shù)符號(hào)Se仍然是負(fù)的,但代碼C是“0”,值e不僅包括一位(前面兩個(gè)“0”S在該列中可以省略),而尾數(shù)值可包括三位。這種情況在圖26C中加以說(shuō)明,在圖中表明該部分只有少數(shù)幾步有e-表示法。在下一部分中值e只包括一位,而尾數(shù)包括三位,等等。
如在表示法部分所示出的,指數(shù)e在C=O和Se=O部分具有許多步長(zhǎng),而在C=1和Se=1部分只有幾個(gè)步長(zhǎng)。在e+bias部分到e部分的左邊用實(shí)線表明,該值e用一條不超出其四分之一的一條線來(lái)形成,并且用虛線來(lái)表明該ehabs的值是如何利用反轉(zhuǎn)e+bias中的該部分的每一個(gè)第二部分的四分之一來(lái)形成的(eh表示具有指數(shù)符號(hào)的e值)。
這樣,一個(gè)編碼位或多個(gè)編碼位取決于先有的指數(shù)符號(hào)位,因而可以說(shuō)該編碼事實(shí)上包括了符號(hào)位,并因此使其長(zhǎng)度可以有限,也就是比當(dāng)指數(shù)的長(zhǎng)度僅取決于編碼字段時(shí)的長(zhǎng)度要段。
按這種方式其尾數(shù)長(zhǎng)度取決于指數(shù)值,就是當(dāng)指衡長(zhǎng)時(shí)尾數(shù)短,或反過(guò)來(lái)指數(shù)短時(shí)尾數(shù)長(zhǎng)。因此,尾數(shù)未表示在圖26中,但出現(xiàn)在圖27A和27B表中的m,m列中,在那里第一個(gè)m表明十進(jìn)制數(shù)值,第二個(gè)m表明其對(duì)應(yīng)的數(shù)字部分。如上所述,如果S=1,則mh=1.0+m,否則mh=-2+m。
為了清楚起見,上述例子是針對(duì)七位字長(zhǎng)度來(lái)描述的。如上所述字長(zhǎng)也可選擇成長(zhǎng),例如32位字長(zhǎng)。這樣,實(shí)際上具有變化的編碼長(zhǎng)度。這是可以實(shí)現(xiàn)的,為了使電路簡(jiǎn)化,可以以若干位為一級(jí),例如以四位為一級(jí)來(lái)改變指數(shù)和尾數(shù)間的分離點(diǎn)。其一個(gè)優(yōu)點(diǎn)是當(dāng)該部分的改變是合理時(shí),不需要有必需有的許多代碼。這樣一種精確譯碼器的例子將在下面進(jìn)一步描述。
一個(gè)數(shù)字ALU的實(shí)施例表示數(shù)字ALU的細(xì)節(jié)的實(shí)施例示于圖28,根據(jù)本發(fā)明,它包括在第一指令處理器中。輸入/輸出總線NU0-NU3連接到輸入/輸出緩沖器20。對(duì)于每個(gè)反轉(zhuǎn)的外部時(shí)鐘信號(hào)CLOCK的時(shí)鐘期間它把輸入端上的信息送到內(nèi)部導(dǎo)線V0 i-V3 i,CLOCK是在緩沖器的一個(gè)時(shí)鐘控制輸入端上提供的,對(duì)于每個(gè)時(shí)鐘區(qū)間,內(nèi)部輸出導(dǎo)線V0 out-V3 out上的輸出送至輸入/輸出總線NU0-NU3。
電路20和它的時(shí)鐘的實(shí)施例示于圖29A、29B和29C中輸入/輸出緩沖器20包括輸入緩沖器、輸入/輸出總線NU0-NU3中的一根總線以及相同數(shù)目的輸出緩沖器。為避免空轉(zhuǎn)(race)問(wèn)題,時(shí)鐘信號(hào)必須不重疊,為此將采用適當(dāng)?shù)亟刂顾鼈兊那把氐霓k法來(lái)處理。
在圖29A所示的時(shí)鐘信號(hào)CLOCK的第一狀態(tài)期間,由于左邊帶有括號(hào)標(biāo)記的反轉(zhuǎn),輸入緩沖器被提供給數(shù)字ALU中的內(nèi)部數(shù)字通道去控制傳送狀態(tài)。當(dāng)過(guò)渡到在輸出總線上提供的下一狀態(tài)時(shí),數(shù)據(jù)將通過(guò)數(shù)字ALU中的內(nèi)部數(shù)據(jù)通道進(jìn)行傳送。輸出緩沖器被控制在阻塞狀態(tài)。
如圖29B所示,在時(shí)鐘信號(hào)CLOCK的時(shí)鐘周期的狀態(tài)1期間,電路20的輸入緩沖器被控制在阻塞狀態(tài),而數(shù)字ALU電路則起到一個(gè)穩(wěn)定的多路緩沖器的作用,以控制加在輸入/輸出總線NU0-NU3上的信號(hào),電路20的輸出緩沖器被控制在發(fā)送狀態(tài)。
圖29C示出了狀態(tài)0時(shí)多周期指令狀態(tài)條件。當(dāng)在狀態(tài)0期間先前狀態(tài)0時(shí)從數(shù)字ALU送到輸入/輸出總線NU0-NU3上的內(nèi)內(nèi)容將保持在該總線上,這是由于電容效應(yīng)的緣故,并能通過(guò)被控制在發(fā)送狀態(tài)的輸入緩沖器來(lái)傳送,而輸出緩沖器被控制在阻塞狀態(tài),對(duì)于輸入總線V0 i,V1 i,V2 i,V3 i,由于轉(zhuǎn)換到下一狀態(tài),從那里通過(guò)數(shù)字ALU中的內(nèi)部數(shù)據(jù)通道傳送。
輸入表通??刂撇?zhí)行一種計(jì)算,它是借助于再生輸入表的內(nèi)容把其結(jié)果送到輸出端去進(jìn)行的。該表中的第一個(gè)元素是一指令碼,而其余元素是關(guān)于指令的主目,該指令要求提供取決于輸入數(shù)據(jù)功能的硬件。但是有關(guān)表示在總線V1 i,V2 i,V3 i上的信息類型的信息最好在來(lái)自控制單元6的一個(gè)輸入端EXT上給出。
控制單元6最好具有該信息,而不管在輸入總線V0 i,V1 i,V2 i,V3 i上的字表示為指令和/或數(shù),如果該數(shù)是浮點(diǎn)值或整數(shù),則通過(guò)總線EXT把該信息送到數(shù)字ALU控制電路27。
圖28所示的實(shí)施例提供了下列處理單元來(lái)執(zhí)行不同的指令比較器第一比較器21連接到線V0 i和V1 i上去比較這些線的全部信息,即比較V0 i>V1 i,并在它的連到數(shù)字ALU控制電路27的輸出端cmp01上提供比較結(jié)果(即一個(gè)兩位值)。第二比較器22連接到線V1 i和V2 i上去比較這些線上的全部信息,即比較V1 i>V2 i,V1 i=V2 i,并在它的連接到控制電路27的輸出端cmp12上提供比較結(jié)果。第三比較器221連到線V2 i和V3 i上去比較這些線上的全部信息,即比較V2 i>V3 i,V2 i=V3 i,并在它的連接到控制電路27上的其輸出端cmp3上提供比較結(jié)果。第四指數(shù)比較器222連到線V1 i和V2 i,每根線都是32位總線,并在這些線上比較字的最高有效位,即Se、c,e部分,也就是這些線上除尾數(shù)和符號(hào)以外的所有信息。該比較器記錄上述Se、c,e部分的編碼信息。因此,來(lái)自精密譯碼器PD的信號(hào)B1sb1被送到比較器222的獨(dú)立的輸入端。
第五比較器223比較來(lái)自精確解碼器的信號(hào)Blsb和Blsb所得的信號(hào)Cmp-pree表示信號(hào)Blsb1和Blsb2是否相同。
控制電路27把比較器的比較結(jié)果送到連到控制單元6的輸出端ASTATE(參見圖24A)。該結(jié)果也用來(lái)控制某些下面所描述的單元,例如,如果適當(dāng)?shù)脑?,將予先?Prechasen Words)送到輸出總線V10 ut,V20 ut和V30 ut上。
無(wú)效譯碼器一個(gè)無(wú)效譯碼器23連接到線V1 i上,用來(lái)檢測(cè)V1 i上的所有的位是否都是“0”或“1”??偩€V1 i上的字是否是整數(shù)以及總線V1 i上的字是否是浮點(diǎn)值,并分別檢測(cè)指數(shù)部分和尾數(shù)部分的位是否都是“0”或“1”。一個(gè)指示輸入V1 i的無(wú)效位組的信號(hào)B1sb1提供了輸入總線上的字是一個(gè)整數(shù)還是一個(gè)浮點(diǎn)值的信息,以及在浮點(diǎn)值時(shí),指數(shù)和尾數(shù)部分之間的情況。檢測(cè)結(jié)果被提供到連到控制電路27的一個(gè)輸入端的輸出端insig1上。一個(gè)無(wú)效譯碼器24連到線V2 i上,用來(lái)檢測(cè)V3 i上所有的位是否都是“0”或“1”,總線V3 i上的字是否為一整數(shù),以及V2 i上的字是否是一浮點(diǎn)值,并分別檢測(cè)指數(shù)部分和尾數(shù)部分的位是否都是“0”或“1”。信號(hào)B1sb2指示輸入V2 i上的無(wú)效位組并提供和信號(hào)B1sb1相同類型的信息。這些檢測(cè)結(jié)果被提供到連接到控制電路27的一個(gè)輸入端的輸出端insig3上。一個(gè)無(wú)效譯碼器25被連接到線V3 i,以檢測(cè)V3 i上的字是否都為“0”或“1”,總線V3 i上的字是否為整數(shù),V2 i上的字是否為一浮點(diǎn)值,并分別檢測(cè)指數(shù)部分和尾數(shù)部分的位是否都是“0”或“1”。有關(guān)的這些信息由信號(hào)V1sb1給出。這些檢測(cè)結(jié)果被送到控制電路27的一個(gè)輸入端的輸出端insig2上,每個(gè)無(wú)效譯碼器由下面將進(jìn)一步描述的來(lái)自控制電路27的信號(hào)C52來(lái)控制。
配置無(wú)效譯碼器的目的是為了檢測(cè)是否參與計(jì)算的一個(gè)輸入端上的信息是無(wú)效的。該信息也被提供到控制單元6的總線ASTATE之上。對(duì)于某些操作類型,至少有一個(gè)無(wú)效單元的一個(gè)輸入端,例如指示全為0的一個(gè)終止條件能夠控制電路27。
指令譯碼器指令譯碼器26連接到線V0 i上。當(dāng)算術(shù)邏輯單元ALU執(zhí)行代數(shù)運(yùn)算時(shí),總線V0 i上出現(xiàn)指令。若總線V0 i上出現(xiàn)有指令或數(shù)據(jù)信息時(shí),對(duì)V0 i的譯碼結(jié)果將通過(guò)輸出ins傳送給控制電路27,第23至26單元也分別由電路PD1、PD2和27中產(chǎn)生的信號(hào)B1sb1、B1sb2和C5控制,下面我們將分別予以描述。
加法器和減法器與線V1 i和V2 i相連的第一加法器是將這兩條線上的值相加并將其結(jié)果V1 i+V2 i送至獨(dú)立的輸出端a1上。一個(gè)可攜帶此結(jié)果的信號(hào)將被送到與控制電路27相連的輸出端gra1。同樣,減法器29與線V1 i和V2 i相連,產(chǎn)生相減信號(hào)V1 i-V2 i并將此結(jié)果送到獨(dú)立的輸出端a2。一個(gè)可攜帶此結(jié)果的信號(hào)將會(huì)被送到與數(shù)字ALU控制電路相聯(lián)的輸出端gra2。第二加法器30與線V1 i和V2 i相聯(lián),產(chǎn)生V1 i+2×V2 i并將其結(jié)果送至獨(dú)立的輸出端a3。一個(gè)可攜帶此結(jié)果的信號(hào)將被送至與控制電路27相聯(lián)的輸出gra3。每一個(gè)加法器都是控制電路27產(chǎn)生的控制信號(hào)C5和信號(hào)B1sb1來(lái)控制的。這個(gè)信號(hào)提供了輸入總線上是整數(shù)值還是浮點(diǎn)數(shù)值這樣一個(gè)信息。如果是浮點(diǎn)數(shù),則總線V1 i和V2 i分別代表它的指數(shù)和尾數(shù)部分的相應(yīng)值。這些信息是很重要的因?yàn)殡x散值即整數(shù)是被完整的賦值,而連續(xù)值即浮點(diǎn)數(shù)值是通過(guò)尾數(shù)和指數(shù)部分分別賦值的。
符號(hào)電路第一符號(hào)和指數(shù)符號(hào)電路35是用來(lái)分揀該符號(hào)、指數(shù)符號(hào)、最高有效尾數(shù)數(shù)字位和總線V2 i上的字符的最后兩個(gè)有效尾數(shù)位,并且將它的輸出信號(hào)Sign1送至控制電路27的一個(gè)輸入端。第二符號(hào)和指數(shù)符號(hào)電路36是用以分揀該符號(hào)、指數(shù)符號(hào)、最高有效尾數(shù)數(shù)字位和總線V2 i上的字符的最后兩個(gè)有效尾數(shù)位,并將它的輸出信號(hào)sign2送到控制電路27的一個(gè)輸入端。同樣,第三符號(hào)和指數(shù)符號(hào)電路27與總線V2 i相連并且將它的輸出Sing3送至控制電路27的一個(gè)輸入端,應(yīng)注意的是,電路35和36在當(dāng)符號(hào)、指數(shù)符號(hào)、尾數(shù)位作為總線V1 i和V2 i所提供的字符的一部分時(shí)是絕對(duì)需要的。在浮點(diǎn)值字符位于輸入總線上時(shí),電路35和36是被數(shù)字ALU的控制電路所使用。一個(gè)符號(hào)和指數(shù)符號(hào)電路(未示出)還可以在某些數(shù)字ALU的應(yīng)用中被提供作為總線V0 i。
數(shù)字ALU控制電路控制電路27通過(guò)處理它的輸入信號(hào)可在輸出總線C1,C2,C3,C4,C5上提供數(shù)字輸出信號(hào)。控制電路27最好是邏輯門電路陣列。它的輸出信號(hào)所提供的控制例子將在下面描述。
操作數(shù)單元兩個(gè)操作數(shù)單元r1和r2分別位于線V1 i和V2 i上,所包含的所有的運(yùn)算只對(duì)一個(gè)單元。每個(gè)操作單元都有幾個(gè)信息輸入端。其中的三個(gè)輸入端分別與三個(gè)單元28、29和30的獨(dú)立的輸出端a1、a2和a3相連,它們中的二個(gè)還分別連到總線V1 i和V2 i以及它們中的三個(gè)還分別連到總線V1 i和V2 i以及它們中的三個(gè)還分別與各個(gè)精確譯碼器PD1或PD2的某些輸出端相連。這些將在下面描述。從原理上進(jìn)每一個(gè)信息輸入端都是一條包括像與每條輸入總線V0 i,V1 i,V2 i,V3 i的線編號(hào)相同的總線。
操作數(shù)單元r1的輸出端是輸出總線V1 out和操作數(shù)單元r2的輸出端是輸出總線V2 out。
控制電路27的一個(gè)輸出C1是一個(gè)復(fù)合控制信號(hào),它用來(lái)控制操作數(shù)單元r1的內(nèi)部元素。單元r1的其余控制信號(hào)是由精確譯碼器PD1來(lái)提供的。控制電路27的第二個(gè)輸出C2也是一個(gè)復(fù)合信號(hào),它用以控制操作數(shù)單元r2的內(nèi)部元素。單元r2的其它控制信號(hào)是由精確譯碼器PD2提供的。第三個(gè)輸出C3是提供給第三操作數(shù)單元r3的復(fù)合信號(hào)。第四輸出C4被提供用來(lái)控制多項(xiàng)式給定電路31,這將在后面描述。第五輸出C5用來(lái)對(duì)精確譯碼器PD1和PD2、無(wú)效電路23至25、加法器28,30和減法器29、符號(hào)和指數(shù)符號(hào)電路35至37提供控制。
每個(gè)操作數(shù)單元r1或r2都有基本相同的結(jié)構(gòu),這里只詳細(xì)描述它們之中的r2。單元r1和r2相同的元件其標(biāo)注也是相同的。操作數(shù)單元分為兩部分,指數(shù)部分OPe和尾數(shù)部分OPm,尾數(shù)部分OPm有一輸出端n1,指數(shù)部分OPe有一輸出端n2。輸出端n1和n2都與一個(gè)輸出總線選擇器的輸入端相連,該選擇器也稱之為單獨(dú)位組選擇器M1。一個(gè)可以提供四組精選的“0”或“1”的0/1發(fā)生器被控制信號(hào)C211所控制,并且這個(gè)發(fā)生器與選擇器M1的一個(gè)外部輸入端相連。
指數(shù)部分OPe以操作數(shù)單元的四個(gè)輸入端作為它的輸入端,即V2 i以及來(lái)自精確譯碼器PD2的Bbias2,Bco-inor2Bco-decr2,并且還有一個(gè)來(lái)自尾數(shù)部分的輸入端n8。輸入V2 i連接到遞增器INC的輸入端、遞減器DEC的輸入端以及字選擇器M2的五個(gè)輸入端中的一個(gè)。部件INC和DEC的輸出n5和n6分別連到字選擇器M2的兩個(gè)輸入端。Bco-incr2被連到字選擇器M2的另外兩個(gè)輸入端。
操作數(shù)單元r2的部件INC還具有進(jìn)位輸出端gr12和Cei2其部件DEC具有進(jìn)位輸出端grd2和Ced2,它們都連接到控制電路27上。同樣,操作數(shù)單元r1具有連接到控制電路27的遞增器部件進(jìn)位輸出信號(hào)gri2和Cei1遞減器部件進(jìn)位輸出信號(hào)grd1和Ced1。該進(jìn)位輸出是在時(shí)鐘周期的上半周期提前提供的。選擇器在時(shí)鐘周期的上半周期延遲控制,要注意一個(gè)情況,即在某些遞增或遞減電路中是否存在著進(jìn)位,再?zèng)Q定提供選擇控制。
到第一選擇器的最大的正常傳遞延遲是大于半個(gè)周期。這樣,就不會(huì)存在由于電路裝置而造成的過(guò)大的延遲。但是,典型的傳送延遲是小于半個(gè)周期。當(dāng)?shù)阶詈髠€(gè)半周期時(shí),估計(jì)所有的信號(hào)都應(yīng)到達(dá)。在選擇器中不存在產(chǎn)生不需要的渡越。
操作數(shù)單元中字選擇器M2的輸出N4直接連到具有四個(gè)輸入端的M3的第一輸入端,還通過(guò)一個(gè)反相器1NV連接到它的第二輸入端。輸出端n2是指數(shù)部分OPe的輸出。輸入Bblos2連接到字選擇器M3的第二輸入端。
尾數(shù)部分OPm具有五個(gè)輸入,即V2 i,V1 i,a1,a2和a3。所有的輸入都連接到具有五個(gè)輸入端和一個(gè)端出端n8的字選擇器M4的輸入端。輸出端n8連接到指數(shù)部分OPe中的字選擇器M3的第四個(gè)輸入端。輸出端n8還直接連到字選擇器M5的三個(gè)輸入端中的一個(gè),通過(guò)一負(fù)位移器SH1連接到字選擇器M5的第二輸入端,該SH1將在其輸入端上的二進(jìn)制信息分四步向較低的有效位方向進(jìn)行位移。它還通過(guò)正位移器SH2連接到M5的第三輸入端,該SH2將在其輸入端上的二進(jìn)制信息分四步向較高的有效位方向移位,即用16來(lái)乘以該二進(jìn)制信息。
字選擇器M5輸出端n7連接到字選擇器M6的六個(gè)輸入端中的第一輸入端;經(jīng)過(guò)一個(gè)反向移位器SH3將它的輸入端上的二進(jìn)制信息向較低有效位方向位移一步連接到M6的第二輸入端;通過(guò)第二反向移位器將它輸入端上的二進(jìn)制信息向較低有效位方向位移一步直接連到M6的第三輸入端;通過(guò)一個(gè)正向移位器SH5將它輸入端上的二進(jìn)制信息向較高的有效位方向位移一步連接到M6的第四輸入端;通過(guò)第二個(gè)正向移位器SH6將其輸入端上的二進(jìn)制信息向較高有效位方向位移一步連接到M6的第五輸入端。一個(gè)內(nèi)部穩(wěn)定的字發(fā)生器41在它的控制輸入端C210上產(chǎn)生一個(gè)穩(wěn)定的控制字Cord2并且將字發(fā)生器41的輸出端連到字選擇器M6的一個(gè)專用的輸入端上。穩(wěn)定的字發(fā)生器41可提供由諸如全“0”或全“1”予先合成的一組“0”或“1”或者提供一個(gè)由控制信號(hào)C210對(duì)發(fā)生器控制的指示某些特殊信息的一個(gè)字。該發(fā)生器只能存貯數(shù)目有限的字組合體,而用控制信號(hào)C210對(duì)其中進(jìn)行選擇,字選擇器M6的輸出是尾數(shù)部分OPm的輸出端n1。
該尾數(shù)部分OPm執(zhí)行下述功能。由字選擇器M4選擇出n8上的基本尾數(shù)值結(jié)果是V2,V1,a1,a2或a3。它可以是向左移位(正向移位)1,2,3,4,5,6位或向右移位(負(fù)向移位)1,2,3,4,5,6位或用穩(wěn)定的字發(fā)生器41所提供的字Cword2所替代。
指數(shù)部分OPe執(zhí)行下述功能。它的輸出不是n8,V2+1,反態(tài)V2+1,V2-1,Bco-incr2,反態(tài)Bco-incr2Bco-decr2,反態(tài)Bco-decr2上非移位尾數(shù)值就是Bbias2。
在操作數(shù)單元r2內(nèi),字選擇器M2到M6是由在控制電路27的輸出端C2上的控制字單獨(dú)控制的。因而,字選擇器M2是由部分控制字C23控制,字選擇器M3是由部分控制字C23控制,字選擇器M4是由部分控制字C25控制,字選擇器M5是由部分控制字C25控制和字選擇器M6是由部分控制字C24控制。同樣,連到選擇器M4的輸出n8上的移位器SH1和SH2是由部分信號(hào)C28控制,移位器SH3和SH6是由部分信號(hào)C29控制,提供輸出Cword2的穩(wěn)定的字發(fā)生器41是由部分信號(hào)C210控制,而0/1發(fā)生器40是由部分信號(hào)C211控制。
位組專用選擇器M1是由包括一個(gè)部分控制字C21,一個(gè)來(lái)自精密譯碼器PD2的輸出碼信號(hào)Bcde2,一個(gè)輸出最低有效位信號(hào)B1 sb adi2,和一個(gè)輸出指數(shù)信號(hào)Bexp adj2的合成的多位信號(hào)來(lái)控制,最后所述的兩個(gè)信號(hào)是由來(lái)自精密譯碼器PD2的輸出B1 sb2和Bexp2分別在處理電路42A和42B中導(dǎo)出的。下面將進(jìn)一步描述和舉例說(shuō)明這些信號(hào)。處理電路42A和42B是由來(lái)自控制電路27的輸出C2部分的信號(hào)C25來(lái)控制。精密譯碼器PD2具有在總線V2 i上的指數(shù)符號(hào)和代碼部分信息,與來(lái)自控制電路27上的二進(jìn)制控制信號(hào)C53一起作為輸入,指出在總線V2 i上的字是表示一個(gè)整數(shù)還浮點(diǎn)數(shù)值??刂菩盘?hào)C52是來(lái)自ALU控制電路27的C5輸出的一部分。
同樣適宜于操作數(shù)單元r1的是精密譯碼器PD1。來(lái)自精密譯碼器PD1的信號(hào)Bl sh1,Bexp1是在處理電路43A和43B中處理后給出輸出為B1 sb adi1和Bexp adi1。如果它的輸出來(lái)自屬于它的譯碼器,則處理電路42A,42B和43A,43B幾乎給出同樣的輸出。但是在某些場(chǎng)合,當(dāng)進(jìn)位是由遞增器INC或遞減器DEC所提供時(shí),輸出信號(hào)將被移位,這將在下面描述。該移位是由來(lái)自數(shù)字ALU控制電路27的輸出端C2或C1分別輸出的部分信號(hào)C25或C15分別控制的。
精密譯碼器PD2(或PD1)給出輸出是無(wú)效的,例如如果字V2 i表示一個(gè)整數(shù),則該輸出對(duì)處理電路42A和42B(或43A43B)提供全零顯示,以及如果字V2 i(或V1 i)表示一個(gè)浮點(diǎn)值,則該類型的輸出和下面所述的Bexp2,B1 sb2和Bcde2(或Bexp1,B1 sb1和Bcde2)。
精密譯碼器PD1向運(yùn)算數(shù)單元r1提供輸出信號(hào)Bco-decr1Bco-incr1、Bhias1、Bexp1、Besb1、Bmsb1與Bcdc1,以及向ALU控制電路27提供一個(gè)指示代碼是否表示指數(shù)的最大長(zhǎng)度的信號(hào)Bco max1與一個(gè)指示代碼是否表示指數(shù)的最小長(zhǎng)度的信號(hào)Bco min1。精度譯碼器PD2向運(yùn)算數(shù)單元r2提供輸出信號(hào)Bco-decr2、Bco-incr2、Bbins2、Bexp2、Besb2、Bmsb2、與Bcdc2,以及向ALU控制電路27提供一個(gè)指示代碼是否表示指數(shù)的最大長(zhǎng)度的信號(hào)Bco-max1與一個(gè)指示代碼是否表示指數(shù)的最小長(zhǎng)度的信號(hào)Bco-min1。為了使新的精度反映在輸出上以及在正常移位中,分別來(lái)自精度譯碼器PD1或PD2的輸出Besb、Bexp必須以與數(shù)值部分的移位相同的方式移位,這是分別由電路42A與42B或43A與43B在信號(hào)C25或C15的一部分的控制下控制進(jìn)行的,如上所述。
各精度譯碼器在其輸入上被饋以一個(gè)信號(hào)C53用于分別指示在輸入總線V1 i或V2 i上的字是否表示一個(gè)整數(shù)或一個(gè)浮點(diǎn)值。信號(hào)C53是來(lái)自控制電路23至30的ALU控制電路27的輸出C5的信號(hào)的一部分。
下面將對(duì)精度譯碼器的輸出信號(hào)作更具體的描述。
乘法與除法,運(yùn)算數(shù)單元r3第三運(yùn)算數(shù)單元r3,被乘數(shù)/商函數(shù)單元,是與單元r1與r2不同的另一種單元,并主要是為乘法與除法運(yùn)算提供的。單元r3在乘與除函數(shù)中執(zhí)行必要的移位與設(shè)置。它是由提供在ALU控制單元27的輸出C3上的一個(gè)控制字控制的。
被乘數(shù)/商單元r3有若干輸入端,其中第一個(gè)被提供在總線V2 i上的信息,第二個(gè)在總線V2 i上的信息,第三個(gè)被提供以來(lái)自一個(gè)常數(shù)字發(fā)生器44的一個(gè)輸出,該發(fā)生器在來(lái)自電路27的輸出C3的一個(gè)部分信號(hào)C34的控制下從若干存儲(chǔ)在發(fā)生器中比特組合中提供選中的一個(gè)比特組合。
單元r3用于在復(fù)雜的數(shù)值指令中估值一個(gè)變?cè)F漭敵鲞B接到總線V3 out上。
輸入V2 i被饋送到一個(gè)字選擇器M11的一個(gè)第一輸入端上。輸入V3 i直接饋送到字選擇器M11的一個(gè)第二輸入端,并通過(guò)一個(gè)受一個(gè)信號(hào)部分C35控制的正一比特移位器SH11送到它的一個(gè)第三輸入端,并通過(guò)一個(gè)第一負(fù)一比特移位器SH12送到它的一個(gè)第四輸入端,以及通過(guò)一個(gè)第二負(fù)一比特移位器SH13送到它的一個(gè)第五輸入端,最后提到的兩個(gè)比特位移器是受信號(hào)C33、Bmsb1、Nesb1控制的。發(fā)生器44的輸出端連接到該字選擇器M11的一個(gè)第六輸入端。要提供給一個(gè)第二字選擇器M12的一個(gè)輸入端的字選擇器M11的輸出是由來(lái)自ALU控制單元27的控制字C3的一個(gè)控制字部分C32選擇的。
M12是提供選擇器M11的輸出到輸出總線V2 out的一個(gè)總線連接點(diǎn),但它也能被一個(gè)控制字部分C31控制到一個(gè)切斷狀態(tài)。
數(shù)值A(chǔ)LU的運(yùn)算的有關(guān)示例,我們參照我們的共同未決申請(qǐng)……。
精度譯碼器圖30中示出了一個(gè)精度譯碼器的原理結(jié)構(gòu)。要說(shuō)明的是在所示的結(jié)構(gòu)中可進(jìn)行修改,例如為了加快計(jì)算速度。這些只不過(guò)是結(jié)構(gòu)性特征,并且對(duì)于精于此道的人是顯而易見的,所以不再在這里說(shuō)明了。也就是實(shí)際的電路結(jié)構(gòu)可能與圖30所示的不完全相同,但它們的原理功能與圖30是完全相同的。
輸入信號(hào)V1 i或V2 i的指數(shù)符號(hào)和代碼部分被送到記錄電路50,在實(shí)施例中,電路50的輸出提供了一個(gè)包括有示于上面表中的指數(shù)符號(hào)的代碼變式,例如左邊的變式?jīng)]有提供在它的輸入端上。另外,電路50可以提供這兩種結(jié)構(gòu)相同的變式作為輸出,但輸出只能是其中的一種,例如在上面表中的左變式在哪些線上則右變式也在那些線上。電路50的輸出送至可以監(jiān)控在其輸入端上的位組合并可提供數(shù)字信號(hào)Bmsb以顯示代碼位長(zhǎng)的位順序比較電路51。同時(shí)電路51還可提供信號(hào)Bcdc。
六位順序比較器52至57同樣與記錄電路50的輸出相連接,它們的每一個(gè)都反應(yīng)它的特定編碼,以便在輸出中提供“1”,如果來(lái)自記錄電路50的輸出線上的位格式是相同的,即它提供輸出“1”而不是通常的“0”起作用。這時(shí),只有電路52至57中的一個(gè)提供“1”(即真信號(hào)),其余的提供輸出“0”(即偽信號(hào))。信號(hào)B1sb的第一位和最后一位通常是“0”。因而,線58和59與有“0”位的線直接相連。
來(lái)自電路52至57的輸出線58和59提供每一精確組具有一位的總線B1sb??偩€Bbias每一精確組有四位,每一組包括有三個(gè)“0”位,且B1sb信號(hào)的位被提供給該特殊的組。因而,每一組線有三根與“0”相連,第四根與B1sb的輸出相聯(lián)。輸出Bco-min與電路52的輸出相連,輸出Bco-max與電路57的輸出相連。
輸出Bexp的位格式包括在最低有效位至到具有一個(gè)“1”的輸出B1sb為“0”s,之后的所有位為“1”s。在線59上的最低有效位總是一個(gè)“0”,但從倒數(shù)第二個(gè)最低位置又有可能為“1”。因此,或門60的一個(gè)輸入來(lái)自電路57的輸出而另一個(gè)輸入來(lái)自電路56的輸出。電路57的輸出與B1sb的倒數(shù)第二位相連。因此,如果電路57的輸出為“1”,那么或門56的輸出也是“1”。只有在電路56,57的輸出全為“0”的情況下,或門66的輸出才為“0”?;蜷T61的一個(gè)輸入與或門60的輸出相連另一個(gè)輸出與電路55的輸出相連?;蜷T61的輸出一方面與Bexp第三最低位相連,另一方面又作為或門62的第一個(gè)輸入,或門62的另一輸入作為電路54的輸出,以此類推。這種類型的或門串聯(lián)連接在所有與B1sb給出“1”的位置相同或更高的有效位提供“1”S。
字Bco-decr的符號(hào),指數(shù)符號(hào)和代碼部分具有連接到一個(gè)提供“1”的單元的第一根線,它的第二根線與B1sb的第六根線相連的反相器161相連,它的第三根線連接到其輸出連接到B1sb的第五和第六根線的或門162,它的第四、第五根線分別直接連接到B1 sb的第二、第三根線。對(duì)于信號(hào)、指數(shù)信號(hào)和字Bco-decr的代碼部分的這些線都與一個(gè)位完成電路66的輸入相連,將“0”S加到該引入的字中,以便在它的輸出端提供一個(gè)32位的字。
字Bco-incr的符號(hào),指數(shù)符號(hào)和代碼部分具有連接到提供“1”和單元的第一和第二條線,它的第三條線連接到同B1 sb的第七條線相連的一個(gè)反相器163,其第四條線連接到其輸入端與B1 sb的第三和第四條線相連的或門164,其第五條線直接與其輸入端連到B1 sb的第三和第五條線相連接的或門165相連。用于符號(hào),指數(shù)符號(hào)和字Bco-incr的代碼部分的這些線都與一個(gè)位完成電路67的輸入相連,將“0”S加到該引入的字中,以便在它的輸出提供一個(gè)32位的字。
加法器圖31A-31C示出了一個(gè)加法器的實(shí)施例。例如圖28中的28-30電路中的一個(gè)。它具有兩個(gè)自變量a和b,自變量a在總線V1 i上被提供,而自變量b在總線V2 i上被提供。這些自變量被編碼為浮點(diǎn)值或整數(shù)值。信號(hào)C51對(duì)整數(shù)是“0”,而對(duì)浮點(diǎn)數(shù)是“1”,輸入C5來(lái)自圖28的電路27,并且總線B1sb1和B1sb2對(duì)整數(shù)都為“0”,對(duì)浮點(diǎn)數(shù)有一個(gè)“1”位。如圖31所示,該加法器是由8個(gè)部分G0,G1,…Gi…G7,耦合而成,也就是用于每個(gè)精確組的一部分。
根據(jù)上面相加操作的說(shuō)明看出,在a,b是浮點(diǎn)值的情況下,將它們相加之前要對(duì)照自變量a和b。這意味著B1sb1和B1sb2必須要相等。B1 sb1是被作為信號(hào)B1 sb去控制加法器的。當(dāng)信號(hào)B1 sb加到該加法器,遞增器、遞減器等時(shí),它向尾數(shù)方向位移一步,因?yàn)樵谧罡哂行晃矓?shù)組中,這時(shí)它有可能去干擾進(jìn)位傳送(阻塞進(jìn)位傳送)。因此,在該信號(hào)B1 sb中的最低有效位在這些情況下是不使用的。
包括有32位的自變量a和b被分成8組,每組包括有4位。a和b的每4位一組由被提供作為專用部分Gi的單獨(dú)輸入,i為0到7的一個(gè)整數(shù)。除GO之外,總線B1 sb的每根線都連到專用部分Gi。線Cin到該Gi表明了該加法器是否將進(jìn)行加或減。Cin為“0”是相加,而Cin為“1”是相減。每個(gè)部分提供一位進(jìn)信號(hào)Couti送到下一部分,并接受來(lái)自相鄰上一部分的進(jìn)位信號(hào)Cini。這將在下面進(jìn)一步描述。
如果必要的話,自變量a和b的相加在每一個(gè)按G7-G0的順序向下一部分提供進(jìn)位信號(hào)的G0-G7的每一部分中是單獨(dú)進(jìn)行的如果必要的話,對(duì)于一個(gè)浮點(diǎn)值,提供一尾數(shù)執(zhí)行總線Cm以便提供尾數(shù)執(zhí)行。該總線與具有符號(hào)位的線C8和具有指數(shù)符號(hào)位的線Cse一起從輸入端gral(或gra2或gra3)到圖28中的電路27。該電路27在總線ASTATE上將這個(gè)信息提供給控制單元6。
信號(hào)C51表明該自變量a和是整數(shù)還是浮點(diǎn)值,信號(hào)C52表明對(duì)于自變量a該代碼是正常的還是變化過(guò)的,和信號(hào)C53表明對(duì)于自變量b該代碼是正常的還是變化過(guò)的。這些信號(hào)都被送到部分G0,G0相應(yīng)于包括最高有效位片(符號(hào)片)的最高有效位組。實(shí)際上這是依賴于操作數(shù)a和b的格式(而不管它們是整數(shù)還是浮點(diǎn)值值)。
三態(tài)門70被用來(lái)將總線Cn置為一個(gè)確定值,例如當(dāng)該操作數(shù)為整數(shù)時(shí)都置為“0”,因?yàn)樵诳偩€上不存在尾數(shù)進(jìn)位,該三態(tài)門70由信號(hào)C53進(jìn)行控制。
圖31示出了一個(gè)部分G1的結(jié)構(gòu)的實(shí)施例。它被“切”成四個(gè)加法器片AS1至AS4。它還包括一個(gè)進(jìn)位發(fā)生器,它用來(lái)估算下一個(gè)部分的進(jìn)位Couti。對(duì)于上述部分Gi的每一位組ai和bi,具有分別連到每一個(gè)專用加法器片ASK的位aik和bik,k是1-4之間的整數(shù)。每個(gè)加法器片提供總和輸出的位SUNik。
如將在圖31C中更詳細(xì)地描述的那樣,該進(jìn)位發(fā)生器是由一個(gè)表明該部分之和大于16的生成位Gen,一個(gè)表明該部分之和大于或等于15的傳送位pr,一個(gè)來(lái)自于下一個(gè)相鄰部分Cin-i的進(jìn)位,一個(gè)來(lái)自加法器片AS4的進(jìn)位Cin-i4和位B1sb-it1所提供。該位B1sb-it1通過(guò)一個(gè)反相器75被加到三態(tài)門的反相輸入端,并直接送到三態(tài)門76的控制輸入端。位Cin-i4與三態(tài)門76的第二反相輸入端相連。這樣,當(dāng)位B1 sb-it1是“0”時(shí),三態(tài)門76被控制來(lái)傳送位B1 sb-it1。但是,當(dāng)位B1 sb-it1是“1”時(shí),則三態(tài)門76被控制去傳送表明當(dāng)它是“1”時(shí)該尾數(shù)已執(zhí)行的位Cin-i4。
對(duì)緊跟自變量指數(shù)部分的精確組提供尾數(shù)執(zhí)行是必要的,并且只有這個(gè)組具有位B1 sb-it1“1”。
從一部分到一部分的進(jìn)位傳送對(duì)緊跟指數(shù)部分的精確組是阻塞的該位B1 sb-it1連到一個(gè)與門77的一反相輸入端,其另外的反相輸入端上加有反相信號(hào)Gen,因而當(dāng)Bisb-it1是“0”時(shí)傳送信號(hào)Gen。該位Bisb-it1還連到另一與門778的一反相輸入端,該與門的第二反相輸入端上加有反相信號(hào)pr在第三反相輸入端上有Bin-1位,這樣,僅當(dāng)B1 sb-it1是“0”以及Cin-i是“0”時(shí)傳送信號(hào)pr。一個(gè)或門79的輸入端連到與門77和78的輸出端,并且當(dāng)其中一個(gè)與門具有輸出“1”時(shí)才提供輸出“1”。
圖31C示出了每個(gè)加法器片ASK的一個(gè)實(shí)施例。輸入aik和bik被送到“異”門80的輸入端,當(dāng)輸入彼此不同時(shí)該門提供一個(gè)“1”,相反,則該門提供一個(gè)“0”。“異”門80的輸出被送到第二“異”門81的第一輸入端,而位Cin-ik被送到其另一輸入端。只有當(dāng)它的輸入不同時(shí)“異”門81的輸出是一個(gè)“1”并且提供輸出SUMik來(lái)使得來(lái)自下一個(gè)相鄰的加法器片進(jìn)位,或者如果該加法器片是該部分的第一個(gè)加法器片,則進(jìn)位來(lái)自下一個(gè)相鄰的部分。
位aik和bik送到具有一個(gè)反相輸出的或門82,該輸出按順序連接到三個(gè)與門83,84,85的每個(gè)與門的第一反相輸入端。如果aik和bik中任意一個(gè)是“1”,則反相位Cin-ik*被送到傳送位Pin-ik*的與門83的第二反相輸入端。如果位aik和bik的任意一個(gè)為“1”,則來(lái)自下一個(gè)相鄰加法器片的反相位Pin-ik*被送到提供的位Pout-it為Pin-ik的與門84的第二反相輸入端。如果位aik和bik中的任一個(gè)為“1”時(shí),則反相位Gin-ik*被送到傳送位Gin-ik的與門85的第二反相輸入端。位Pin-ik和位Gin-ik對(duì)于每個(gè)精確部分中的每個(gè)第一加法器片AS1分別是“1”和“0”,這從圖31B可清楚地看出。
為了實(shí)現(xiàn)脈動(dòng)進(jìn)位,即為了更快地相加,需要pr和Gen。由于在進(jìn)位鏈的輸入端上存在著分離值,因此所有精確組都按并行方式計(jì)算,即所有的組都同時(shí)計(jì)算。與沒有脈動(dòng)進(jìn)位的32門延遲相比較,來(lái)自該加法的最后進(jìn)位C5將只有4+8門延遲。
位aik和bik還加到具有一個(gè)反相輸入端的與門88的輸入端并依次連接到兩個(gè)或門86,87的第一反相端。與門83的輸出連接到提供輸出Cout-ik的或門86的第二輸入端。與門85的輸出連到提供輸出Cout-ik的或門87的第二輸入端。
為了提供很快的進(jìn)位鏈,如果一個(gè)位片使脈動(dòng)激勵(lì)的極性反轉(zhuǎn)并且傳送位也反轉(zhuǎn),則在它們中只可能有一個(gè)延遲。因此,每個(gè)第二精確組部分具有反相的輸入端(未示出)。
從圖31A的左邊可清楚地看出,最高有效的精確部分G0和其它部分略有不同。它不使用輸入自變量B1 sb-0。在該組中,它被假定為“0”。它具有尾數(shù)進(jìn)位輸入Cin-m。它通常產(chǎn)生進(jìn)位輸入到該符號(hào)位。該輸出具有一個(gè)表明該執(zhí)行來(lái)自指數(shù)的執(zhí)行。除了B1 sb-0假定是一個(gè)“0”(即為偽)之外,正常的執(zhí)行是在正常的組內(nèi)產(chǎn)生一位信號(hào)C51,C52,C53可有以下的位組合格式(C51,C52,C53)=(偽,偽,偽)意指整數(shù);(C51,C52,C53)=(偽,偽,真)意指a和b二者都有正常的代碼(C51,C52,C53)=(真,偽,偽)意指a有變化,b是正常代碼;(C51,C52,C53)=(真,真,真)意指a是正常代碼,b有變化。
遞增器遞增器的結(jié)構(gòu)與加法器的結(jié)構(gòu)很類似。圖32給出了一遞增器精確部分的示意圖,該遞增器只有一個(gè)輸入端a′(未示出)。增量位片AS1′-AS4′與加法器位片不同之處在于它們不具有從一個(gè)轉(zhuǎn)移到另外的發(fā)生器位Gen。片AS4′的反向輸出端Pr和下一個(gè)相鄰部分的反向進(jìn)位Cin*被送到具有兩個(gè)反向輸入端的與門990的一個(gè)輸入端。Cin進(jìn)位到在該線上是“1”的第一部分G7表明其增量已完成。與門90的輸出和B1 sb-it1送到提供輸出進(jìn)位Cout到下一個(gè)部分的或NO2的各個(gè)輸入端。提供遞增器的進(jìn)位輸出與加法器采用同樣方式進(jìn)行。脈動(dòng)進(jìn)行鏈Cin/Cout指明該和是否大于或等于2。脈動(dòng)進(jìn)位鏈pe′指明該和是否大于或等于1。
該加法器和遞增器具有一個(gè)被信號(hào)B1 sb-it1所控制的尾數(shù)執(zhí)行總線??刂莆籆1g或C2g表明該表示是一個(gè)整數(shù)還是一個(gè)浮點(diǎn)值??刂莆籆1g和C2g控制三態(tài)門,當(dāng)不使用時(shí),將該尾數(shù)執(zhí)行總線置為一確定值(未示出)。
遞減器和遞增器的結(jié)構(gòu)是相同的。但是遞增器具有一個(gè)加到相應(yīng)于遞增器片AS1′至AS4′的遞減器片上的反相輸入a′in*。
選擇器操作數(shù)單元中的選擇器通常是由一排傳送門組成的。該選擇器通??偸蔷哂幸淮_定的輸出端。除了一個(gè)之外其它都是關(guān)閉的。一個(gè)輔助信號(hào)控制每個(gè)輸入。用一系列這樣的元件來(lái)控制整個(gè)選擇器。它們被控制在不同的狀態(tài),以便從所規(guī)定端獲得輸入。圖33給出了一個(gè)基本選擇器位片的實(shí)施例。選擇器每個(gè)輸入端的一位Sin3,Sinc和Sind分別連到可控開關(guān)Sa,Sb,Sc和Sd。一對(duì)控制線Sca,Scb,Scc和Scd分別被提供給每個(gè)開關(guān)。提供一個(gè)輸入傳送到它所屬的開關(guān)的該控制對(duì)具有信息“1,0”,另外的則具有信息“0,1”。
應(yīng)當(dāng)指出,根據(jù)以上描述的原則,就加法器而言,已建立了數(shù)字ALU中的主要電路。因此可以相鄰,本專業(yè)技術(shù)人員利用這些原則就能容易地設(shè)計(jì)出其余的電路。因而沒有必要詳細(xì)地討論每一個(gè)信號(hào)電路。
數(shù)字ALU控制電路27圖28所示的數(shù)字ALU控制電路27是一個(gè)結(jié)構(gòu)十分復(fù)雜的邏輯門陣列。不能給出它的具體實(shí)施例,這是因?yàn)樗慕Y(jié)構(gòu)是計(jì)算機(jī)進(jìn)行計(jì)算的,該計(jì)算機(jī)備有與該信息信號(hào)有關(guān)的控制信號(hào)的配置的算法規(guī)則。根據(jù)本發(fā)明的所有的數(shù)字ALU,邏輯門陣列是根據(jù)適合于芯片掩模方式結(jié)構(gòu)的計(jì)算直接用芯片掩模方式來(lái)提供的。因而,該電路不可能詳細(xì)地予以給出。在用于整數(shù)相乘的附錄2中給出了控制電路27輸入輸出關(guān)系的表。
附錄2未示出在執(zhí)行整數(shù)乘法時(shí)ALU驅(qū)動(dòng)電路27的輸入與輸出之間的關(guān)系。該附錄是分成不同的“控制情形”的。每一種控制情形對(duì)應(yīng)于一個(gè)輸出,即一條微指令。
在標(biāo)題“微指令線”下列出的ALU驅(qū)動(dòng)電路27的輸出是在總線C1-C5上的信號(hào)電平??偩€C1、C2與C3被分成連接到ALU各點(diǎn)上的更小的總線C11、C12、C13等。不同的輸入集合可能導(dǎo)致相同的輸出。導(dǎo)致相同輸出的可能輸入信號(hào)列出為條件1、條件2等等。因此,在標(biāo)題“控制情形1”下作為“狀態(tài),感測(cè)線-條件4”列出的輸入導(dǎo)致下面在標(biāo)題“微指令線”下的輸出。作為條件1、2與3列出在上面的輸入導(dǎo)致與條件4相同的輸出。
每一個(gè)條件是以某些狀態(tài)線上的一個(gè)確定的信號(hào)電平(0/1)的組合定義的,而其它狀態(tài)線則可具有不確定的值(x=無(wú)關(guān))。
除了co-1imit 7與co-1imit 2以外,列出在附錄中的所有輸入信號(hào)也都標(biāo)示在圖28中。在圖28中,信號(hào)co-1imit 7是分成其兩個(gè)分量Bco-max1與Bco-min1的的。
信號(hào)co-1imit 2也分成它的兩個(gè)分量Bco-max2與Bco-min2的。輸出ASTATE只是電路27的輸入的一個(gè)復(fù)制。輸出ASTATE是連接到控制單元6的。
一個(gè)數(shù)據(jù)值可由第一級(jí)處理器中的磁芯單元的主寄存器來(lái)提供,或者由某些數(shù)字ALU內(nèi)部單元來(lái)提供,例如指令操作數(shù)/商或多項(xiàng)式。有關(guān)在總線上放置位串表示的類型可以用指令總線中的信息給出或用代碼字段給出。
權(quán)利要求
1.一種歸約處理器,由具有一種結(jié)構(gòu)的程序所控制,并且適用包括有不同歸約類型的若干歸約步驟來(lái)簡(jiǎn)化所說(shuō)的結(jié)構(gòu),其特征是該類型的第一級(jí)處理器包括有一快速存貯器(1,2),依次包括a.多個(gè)快速存貯單元(10,2),每個(gè)快速存貯單元都有可能導(dǎo)致歸約操作的執(zhí)行,以及,b.一個(gè)通信網(wǎng)絡(luò)(t1,t2,id,env,v0,v1,v2,12,13,14,6,7,11,16,17)將每個(gè)歸約的結(jié)果通知給所有與所說(shuō)結(jié)果相連的存貯單元。
2.按照權(quán)利要求1所述的一種歸約處理器,其特征在于所說(shuō)的通信網(wǎng)絡(luò)包括一總線裝置,該裝置有若干控制線(與6相連)和若干數(shù)據(jù)(t1,t2,id,env,V0,V1,V2,V3),所有的線都與每個(gè)所說(shuō)的存貯單元相連,并且一個(gè)控制裝置6對(duì)于所有所說(shuō)的存貯單元是共用的。
3.根據(jù)權(quán)利要求1或2的一種歸約處理器,其特征是每個(gè)存貯單元(2;10;圖4A,圖4E)能包括執(zhí)行歸約操作所必須的所有信息。
4.根據(jù)權(quán)利要求3所述的一種歸約處理器,其特征是所說(shuō)的歸約處信息還包括參考(VALUS/DES)至少一個(gè)其它的存貯單元該存貯單元的內(nèi)容以三種結(jié)構(gòu)(圖6B,6G,7B,8B,圖5A至5F)被所說(shuō)的參考連接。
5.按照權(quán)利要求1到4的任何一個(gè)權(quán)利要求所述的一種歸約處理器,其特征在于有至少一個(gè)稱之為磁芯單元(2)的所說(shuō)的存貯單元能夠執(zhí)行所有類型的歸約,而其余的終之為目標(biāo)存貯單元(10;圖4A)的所說(shuō)單元只能執(zhí)行所有類型歸約中的某些有限部分。
6.根據(jù)權(quán)利要求5所述的一種歸約處理器,其特征在于所說(shuō)的目標(biāo)存貯單元包括在一相關(guān)聯(lián)的存貯器中,該存貯器具有用于外部控制的第一總線裝置(任何類型,Vr,cpb,Set.s,match,r/w.s,r/w.b,r/w.r,wand.a,wand.b,wor,s.a,reset.b,mode.a*mode.a*,prech,hamode.b,grant.b,prio等),和一個(gè)用于數(shù)據(jù)的第二存貯總線裝置(t1,t2,id,env,V0,V1,V2,V3)包括幾個(gè)用來(lái)存貯一個(gè)合成信息的目標(biāo)存貯單元(10),在每個(gè)所說(shuō)的目標(biāo)存貯單元中的裝置(16,17)用來(lái)至少存貯一個(gè)標(biāo)記,對(duì)于所說(shuō)的目標(biāo)存貯單元,所說(shuō)的標(biāo)記至少包括選擇狀態(tài)(s)或非選擇狀態(tài)(s),用來(lái)進(jìn)行查找在所說(shuō)的目標(biāo)存貯單元中所設(shè)置的所說(shuō)標(biāo)記的操作的裝置,與所有的所說(shuō)目標(biāo)存貯單元相連接并可選擇所說(shuō)的若干目標(biāo)存貯單元中的某個(gè)輸出的優(yōu)先權(quán)譯碼器(11)。
7.按照權(quán)利要求6所述的一種歸約處理器,其特征是至少一條全局總線(12,13,14)被用于進(jìn)行在所說(shuō)的存貯單元之間的與和或類型的邏輯操作,以及在每個(gè)存貯單元中的裝置(11)用來(lái)同所說(shuō)的總線進(jìn)行通信并控制所說(shuō)的存貯單元去參與一種實(shí)際的邏輯操作。
8.按照權(quán)利要求6或7所述的一種歸約處理器,其特征是在每個(gè)目標(biāo)存貯單元中包括有若干個(gè)數(shù)據(jù)目標(biāo)存貯字段(IDENTIFIERENVIRONMENT,VALUE/DES.0,VALUE/DES.1,VALUE/DES.2,VALUE/DES.3),每個(gè)數(shù)據(jù)目標(biāo)存貯字段可存貯一數(shù)據(jù)字(名為num字),以及一個(gè)以特征字形式出現(xiàn)的標(biāo)記。
9.按照權(quán)利要求6至8中的任何權(quán)利要求所述的一種歸約處理器,其特征是在每個(gè)存貯單元中包括有至少一個(gè)指示在所說(shuō)存貯器單元中的一個(gè)狀態(tài)或多個(gè)狀態(tài)的特征存貯字段(LAZY,WHERE,TYFE)。
10.根據(jù)權(quán)利要求5至9中的任何權(quán)利要求的一種歸約處理器,其特征是所說(shuō)的磁芯單元是一個(gè)運(yùn)算單元,用來(lái)結(jié)構(gòu)上的運(yùn)算處理,包括a.至少一個(gè)用來(lái)將來(lái)自所說(shuō)目標(biāo)存貯單元和送到目標(biāo)存貯單元的數(shù)據(jù)表輸入和輸出的輸入/輸出裝置(V0,V1,V2,V3,id,env),b.若干寄存器(S0,0至S3,3,F(xiàn)0至F3,ID,ENV),每一個(gè)都宜于存貯一數(shù)據(jù)字,每個(gè)數(shù)據(jù)字具有一標(biāo)記部分特征字以及一信息部分,數(shù)據(jù)字,所說(shuō)的標(biāo)記部分包括有一個(gè)指示上述寄存器是否處于使用狀態(tài)的標(biāo)記,每個(gè)所說(shuō)的表是存貯在所說(shuō)的予定寄存器中,所說(shuō)的每個(gè)寄存器的標(biāo)記部分在使用中被加上標(biāo)記指示所說(shuō)的表至少有一部分已存貯在實(shí)際的存貯器中,并指示部分存貯在所說(shuō)寄存器中的表包括有一表指令,說(shuō)明該表的類型及表的關(guān)系,c.控制裝置(6)用來(lái)控制所說(shuō)的寄存器和使用所說(shuō)的屬于存貯在所說(shuō)寄存器中的表指令重新安排所說(shuō)寄存中的表以及根據(jù)所說(shuō)的表指令輸入/輸出寄存器的內(nèi)容。
11.按照權(quán)利要求10的一種歸約處理器,其特征在于被存貯在寄存器中的所說(shuō)表被安排為樹形結(jié)構(gòu)表,其中之一的表為一個(gè)根表。
12.按照權(quán)利要求10或11的一種歸約處理器,其特征是其中至少提供一個(gè)備用寄存器(ID),其中所存貯的樹形結(jié)構(gòu)表的識(shí)別符是可貯存的。
13.按照權(quán)利要求10至12中的任何權(quán)利要求所述的一種歸約處理器,其特征是至少提供一個(gè)備用寄存器(ENV),其中被存貯的樹形結(jié)構(gòu)表的環(huán)境是可貯存的。
14.按照權(quán)利要求10至13中的任何權(quán)利要求所述的一種歸約處理器,包括有一個(gè)寄存器矩陣(S0,0-S3,3),具有提供主寄存器的外圍行(S0,0-S3,0),所說(shuō)矩陣的列提供基寄存器。
15.按照權(quán)利要求14所述的一種歸約處理器,其特征是包括若干提供外部所說(shuō)矩陣的輔助寄存器(F0-F3)。
16.按照權(quán)利要求10至15中的任何權(quán)利要求的一種歸約處理器,其特征是根據(jù)存貯的所說(shuō)實(shí)際樹形結(jié)構(gòu)的電平,所說(shuō)樹形結(jié)構(gòu)表的根表適于放置在不同寄存器的位置中。
17.按照權(quán)利要求10至16中的任何權(quán)利要求所述的一種歸約處理器,其特征是如果它不代表一種功能應(yīng)用,該信息應(yīng)考慮執(zhí)行的什么類型的歸約可以從所說(shuō)的根表的類型得,包括一個(gè)表明該指令執(zhí)行和是否所說(shuō)的類型不代表一種功能應(yīng)用的指令代碼,所說(shuō)的根表的第一元素包括一個(gè)指令代碼或表示一種功能定義的樹形結(jié)構(gòu)表的根,所說(shuō)控制裝置(6)適于從所說(shuō)根表中得出所說(shuō)信息。
18.按照權(quán)利要求10至17中的任何權(quán)利要求所述的一種歸約處理器,其特征是所說(shuō)寄存器在磁芯單元面中以片方式安置,各面最多包括來(lái)自寄存器的一個(gè)寄存器單元,各寄存器單元可存貯一位指令,在一個(gè)平面上的寄存器單元可相互連接。
19.按照權(quán)利要求5至18中任何權(quán)利要求所述的一種歸約處理器,其特征是所說(shuō)通信網(wǎng)絡(luò)適于將來(lái)自于在所說(shuō)目標(biāo)存貯單元中的一個(gè)目標(biāo)存貯單元的信息傳送給由所說(shuō)通信網(wǎng)絡(luò)(6)所選擇的所說(shuō)磁芯單元(2)中的寄存器(ID,ENV,S0,0-S3,3,F(xiàn)0-F3)并將來(lái)自所說(shuō)寄存器的信息傳送給由通信網(wǎng)絡(luò)所選擇目標(biāo)存貯單元中的一個(gè)或幾個(gè)目標(biāo)存貯單元。
20.按照權(quán)利要求5至19中的任何一個(gè)權(quán)利要求所述的一種歸約處理器,其特征是,所說(shuō)的通信網(wǎng)絡(luò)(6)適于在所說(shuō)磁芯單元和所說(shuō)目標(biāo)存貯單元的一個(gè)單元中的寄存器之間調(diào)動(dòng)所說(shuō)寄存器和所說(shuō)存貯單元的內(nèi)容來(lái)執(zhí)行一個(gè)轉(zhuǎn)換操作。
21.按照權(quán)利要求3至30中的任何權(quán)利要求所述的一種歸約處理器,其特征是一個(gè)或幾個(gè)所說(shuō)的存貯單元(2,10)適于存貯一個(gè)閉包,該閉包是一個(gè)可執(zhí)行的標(biāo)志,在一個(gè)樹形結(jié)構(gòu)中的位置的標(biāo)志,一個(gè)識(shí)別符的標(biāo)志,一個(gè)環(huán)境的標(biāo)志和一個(gè)樹形結(jié)構(gòu)數(shù)值的標(biāo)志,所說(shuō)的識(shí)別符,環(huán)境和每個(gè)單獨(dú)的數(shù)值是所說(shuō)的閉包中的元素。
22.按照權(quán)利要求8至21中的任何權(quán)利要求所述的一種歸約處理器,其特征是包括在所說(shuō)閉包中的樹形結(jié)構(gòu)數(shù)值包括片元素(即終止元素)和組合元素,每個(gè)組合元素包括一個(gè)狀態(tài)和一個(gè)數(shù)值表。
23.按照權(quán)利要求8至22中任何權(quán)利要求所述的一種歸約處理器,其特征是在所說(shuō)閉包中的可執(zhí)行的標(biāo)志至少具有兩個(gè)狀態(tài),第一狀態(tài)是空閑狀狀態(tài),第二狀態(tài)是執(zhí)行狀態(tài)。
24.按照權(quán)利要求8至23中任何權(quán)利要求所述的一種歸約處理器,其特征是在所說(shuō)的閉包中的位置標(biāo)志至少包括百種狀態(tài),第一狀態(tài)是節(jié)點(diǎn)位置,第二狀態(tài)是根位置。
25.按照權(quán)利要求8至24中任何權(quán)利要求所述的一種歸約處理器,其特征是所說(shuō)閉包中的每個(gè)單元由一個(gè)特征字和一個(gè)數(shù)字字所組成,所說(shuō)的數(shù)字字由若干位組成,每位或者是真或者是偽。
26.按照權(quán)利要求12至25中的任何權(quán)利要求所述的一種歸約處理器,其特征是所說(shuō)的特征字被分為一個(gè)間接類和一個(gè)直接類。
27.按照權(quán)利要求8至26中的任何權(quán)利要求所述的一種歸約處理器,其特征是所說(shuō)的處理裝置適于在代表整數(shù)表示的一個(gè)二進(jìn)制字上使用第一編碼和在代表浮點(diǎn)表示的二進(jìn)制字上使用第二編碼,進(jìn)一步的特征是所說(shuō)的編碼在編碼后與整數(shù)表示一樣提供浮點(diǎn)表示。
28.按照權(quán)利要求8至27中的任何權(quán)利要求所述的一種歸約處理器,其特征是一個(gè)整數(shù)適于用一格式化的二進(jìn)制編碼存貯在所說(shuō)單元中,這樣所有的數(shù)值都表示成從最小值到最大值的一系列數(shù),每個(gè)數(shù)包括幾個(gè)位值,其中O為放置在該系列數(shù)的中間,并且在它的最高有效位上一個(gè)二進(jìn)制數(shù)具有真的二進(jìn)制值,而在其余的位上具有偽的二進(jìn)制值。
29.按照權(quán)利要求8至28中的任何權(quán)利要求所述的一種歸約處理器,其特征是一個(gè)二進(jìn)制編碼浮點(diǎn)值表示包括有一個(gè)符號(hào),指數(shù)符號(hào)和代碼字段,一個(gè)指數(shù)字段和一個(gè)尾數(shù)字段,所說(shuō)指數(shù)符號(hào)和代碼字段在所說(shuō)指數(shù)字段和尾數(shù)字段之間的一個(gè)分離位置上有一個(gè)指示,這樣,指數(shù)和尾數(shù)字段具有可變的長(zhǎng)度。
30.按照權(quán)利要求29所述的一種歸約處理器,其特征是表示數(shù)字值字的字是由一個(gè)將所說(shuō)的數(shù)字值表示成一密集形式的編碼來(lái)提供的,也就是一個(gè)數(shù)值的編碼表示只相應(yīng)于一個(gè)說(shuō)明值。
31.按照權(quán)利要求8至30中的任何權(quán)利要求所述的一種歸約處理器,其特征是至少某些所說(shuō)的閉包標(biāo)志出現(xiàn)在不同的狀態(tài),每個(gè)狀態(tài)由幾個(gè)代表一個(gè)二進(jìn)制代碼的位所組成。
32.按照上述的任何權(quán)利要求所述的一種歸約處理器,其特征是包括有一個(gè)數(shù)字運(yùn)算單元在數(shù)字值元素上執(zhí)行算術(shù),邏輯和相關(guān)的操作,包括a.包括有一組總線的一個(gè)輸出端,每一條總線由一個(gè)表中的一個(gè)表元素來(lái)提供操作,所說(shuō)表包括在所說(shuō)表中的與這些字有關(guān)的指令信息,b.與一組總線相連接的處理裝置在所說(shuō)表中的所說(shuō)字上利用重寫所說(shuō)字的指令信息來(lái)執(zhí)行一種操作,c.一適用于提供重寫結(jié)果的輸出包括有一組具有和一組輸入總線一樣的有相同數(shù)目和結(jié)構(gòu)的總線。
33.按照權(quán)利要求3的一種歸約處理器,其特征是至少一個(gè)所說(shuō)表中的表元素包括有一個(gè)指令信息的表示并在提供在所說(shuō)的輸入總線組中的一條特殊總線上,被計(jì)算的數(shù)字值表示適于被提供在所說(shuō)輸入總線組的另外總線上,所說(shuō)的處理裝置適于執(zhí)行一種重寫在所說(shuō)輸入表中的數(shù)字值表示的計(jì)算。
34.按照權(quán)利要求32所述的一種歸約處理器,其特征是有幾個(gè)電路,每個(gè)電路都適于在所說(shuō)的輸入總線上在說(shuō)的數(shù)字值表示中執(zhí)行一種特定的操作,并以并聯(lián)形式提供所述操作的結(jié)果,具有所說(shuō)指令信息的控制驅(qū)動(dòng)裝置適于從所有執(zhí)行實(shí)際指令的執(zhí)行結(jié)果中選擇所執(zhí)行的結(jié)果。
35.按照權(quán)利要求34所述的一種歸約處理器,其特征是所說(shuō)的表適于包括一種功能應(yīng)用,其中它的一個(gè)元素是一個(gè)指令代碼,而其余的對(duì)所說(shuō)的指令是自變量,所說(shuō)的處理裝置利用從所說(shuō)輸出端到輸入端重寫并循環(huán)所說(shuō)指令碼來(lái)執(zhí)行一個(gè)指令直至獲得一個(gè)最終的結(jié)果為止,在每次重新寫入所說(shuō)的處理裝置時(shí),如果對(duì)于實(shí)際運(yùn)算是適當(dāng)時(shí),將所說(shuō)表重新寫入包括一修正的指令代碼字中,如果適當(dāng)時(shí)則還跟隨數(shù)字字。
36.按照上述任何權(quán)利要求所述的一個(gè)歸約處理器,其特征是若干個(gè)第一級(jí)處理器由一個(gè)網(wǎng)絡(luò)將其彼此相連,所說(shuō)的被連接的第一階處理器相當(dāng)于一個(gè)第二階歸約處理器。
37.按照上述任何權(quán)利要求所述的一個(gè)歸約處理器,其特征是在每個(gè)第一階歸約處理器中的一個(gè)或幾個(gè)所說(shuō)的存貯單元適于存貯一個(gè)閉包,這個(gè)閉包是一個(gè)可執(zhí)行的標(biāo)志,在一個(gè)樹形結(jié)構(gòu)中一個(gè)樹形位置的標(biāo)志,一個(gè)識(shí)別符的標(biāo)志,環(huán)境和在所說(shuō)閉包中每個(gè)分離值是一個(gè)元素,在所說(shuō)閉包中每個(gè)元素是由特征字和數(shù)字字組成,所說(shuō)的數(shù)字字由若干位組成,每一位不是“真”就是“偽”,和所說(shuō)的特征位被分為間接類和直接類,所說(shuō)間接類元素的位形式被分為一區(qū)域部分和一地址部分。
38.按照權(quán)利要求37所述的一種歸約處理器,其特征是幾個(gè)第一階歸約處理器(FOP1.1′到FOPm,m′)被接入一個(gè)表示一個(gè)第二階歸約處理器的平方字段,在所說(shuō)平方字段中的每個(gè)第二階處理器包括一個(gè)通向在所說(shuō)的平方字段中的每個(gè)相鄰的第一階歸約處理器(圖37A,37C和37D)的通道(CAN)。
39.按照權(quán)利要求38所述的一種歸約處理器,其特征是所說(shuō)的第二階歸約處理器按內(nèi)部規(guī)定被分為若干區(qū)域(圖37C),每個(gè)區(qū)域具有2n×2n第一階歸約處理器的尺寸,所說(shuō)的區(qū)域在一個(gè)正規(guī)圖形中被提供在相互連接的公共區(qū),如像提供所說(shuō)的第二階的平方字段一樣。
40.按照權(quán)利要求39所述的一種歸約處理器,其特征是在所說(shuō)的第二階處理器中第一階處理器各自相互連接,在所說(shuō)的第二階處理器中每個(gè)所說(shuō)區(qū)域可按所說(shuō)的第二階處理器中所說(shuō)區(qū)域的位置的內(nèi)部定義在每一個(gè)方向上被置換半個(gè)區(qū)域。
41.按照權(quán)利要求39或40所述的一種歸約處理器,其特征是至少有一個(gè)可參看的被提供有一個(gè)地址的間接元素被存貯在每一個(gè)區(qū)域中,所說(shuō)的元素僅可參看為來(lái)自該區(qū)域中它所屬的存貯單元。
42.按照權(quán)利要求37至40中的任何權(quán)利要求所述的一種歸約處理器,其特征是某些所說(shuō)的第一階歸約處理器連接在一個(gè)網(wǎng)絡(luò)(NET1至NETn)體系中,每個(gè)網(wǎng)絡(luò)是一總線。
43.按照權(quán)利要求37至42中的任何權(quán)利要求所述的一種歸約處理器,其特征是某些所說(shuō)的第一級(jí)歸約處理器連接在一個(gè)網(wǎng)絡(luò)體系中,每個(gè)網(wǎng)絡(luò)是一個(gè)環(huán)(圖39)。
44.按照權(quán)利要求37至43中的任何權(quán)利要求所述的一種歸約處理器,其特征是某些所說(shuō)的第一階歸約處理器連接在一個(gè)網(wǎng)絡(luò)體系中,至少提供了兩種類型的網(wǎng)絡(luò),第一種類型是總線,第二種類型是一個(gè)環(huán)(圖40)。
45.按照上述任何權(quán)利要求所述的一種歸約處理器,其特征是包括至少一個(gè)連接到所說(shuō)快速存貯裝置的端對(duì)裝置(4,5,6),以及至少一個(gè)連接到至少一個(gè)端對(duì)裝置的環(huán)境裝置(7,8,9)。
46.按照權(quán)利要求45所述的一種歸約處理器,其特征在于包括用來(lái)將在一個(gè)端對(duì)裝置上所提供的信號(hào)順序(圖34和35)與存貯在至少一個(gè)存貯單元上的一個(gè)順序相比較的裝置,在所說(shuō)的快速存貯裝置中,所說(shuō)的被存貯的順序可能有不確定的順序元素(S),和用來(lái)把所說(shuō)的比較順序重寫為零的裝置(CU,3)也就是如果該比較給出一個(gè)明顯的差別,或者將比較順序重新寫為指定的順序,則某些事物表現(xiàn)出矛盾。
47.按照權(quán)利要求46所述的一種歸約處理器,其特征是所說(shuō)的比較裝置是在表元素的元定數(shù)的組上進(jìn)行比較的。
48.按照權(quán)利要求46或47所述的一種歸約處理器,其特征是包括用來(lái)提供所說(shuō)信號(hào)順序作為一個(gè)被取樣的信號(hào)(圖34)的裝置(3,during;7,8,9),該被取樣信號(hào)隨時(shí)間變化并具有單獨(dú)的取樣周期,所說(shuō)信號(hào)順序是一個(gè)元素組的表,每一組包括一個(gè)持續(xù)時(shí)間以及在那個(gè)時(shí)間期間至少一個(gè)信號(hào)參量。
49.按照權(quán)利要求48所述的一種歸約處理器,其特征是在一對(duì)中所提供的每組中的所說(shuō)予置的表元素的數(shù)目是2,每一對(duì)包括一個(gè)時(shí)間和信號(hào)參量的組合。
50.按照權(quán)利要求45至50中的任何權(quán)利要求所述的一種歸約處理器,其特征是在所說(shuō)的快速寄存器中在一種結(jié)構(gòu)中所提供的所說(shuō)的目標(biāo)存貯單元適于以一種摘要語(yǔ)法顯式或隱式編碼的形式來(lái)存貯計(jì)算機(jī)程序,所說(shuō)的語(yǔ)法借助于表達(dá)式來(lái)描述若干不同的摘要目標(biāo),每個(gè)目標(biāo)寄存單元至少能同時(shí)按適合的數(shù)據(jù)和/或程序結(jié)構(gòu)的方式存貯所說(shuō)的語(yǔ)法表達(dá)式的一部分。
51.按照權(quán)利要求44所述的一種歸約處理器,其特征是若干第二階歸約處理器(SOPS),相互地地理伸展,形成一個(gè)第三階歸約處理器。
52.按照權(quán)利要求52所述的一種歸約處理器,其特征是區(qū)域限制相關(guān)聯(lián)的尋址適用于第二歸約處理器(SOPS)和物理尋址適用于第三階歸約處理器。
53.按照權(quán)利要求52所述的一種歸約處理器,其特征在于在第三階歸約處理器中的各區(qū)域分開的第二階歸約處理器(GSOP)包括跟隨各GSOPS中的父面不是子的裝置。
54.按照權(quán)利要求53所述的一種歸約處理器,其特征在于所述的跟隨非本地父的裝置包括在本地目標(biāo)存貯器中的一數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)對(duì)每一具有非本地父的子來(lái)說(shuō)包括一個(gè)表,該表包括所考慮的子的非本地父的地址,該地址包括一個(gè)識(shí)別非本地父被存在第二階歸約處理器(GSOP)中的一個(gè)部分。
全文摘要
一種歸約處理器,由具有一種結(jié)構(gòu)的程序所控制,并且適用包括有不同歸約類型的若干歸約步驟來(lái)簡(jiǎn)化所說(shuō)的結(jié)構(gòu),該類型的第一級(jí)處理器包括有一快速存貯器(1、2),依次包括a.多個(gè)快速存貯單元,每個(gè)快速存貯單元都有可能導(dǎo)致歸約操作的執(zhí)行,以及,b.一個(gè)通信網(wǎng)絡(luò),將每個(gè)歸約的結(jié)果通知給所有與所述結(jié)果相連的存貯單元。
文檔編號(hào)G06F7/38GK1062426SQ9110594
公開日1992年7月1日 申請(qǐng)日期1991年8月2日 優(yōu)先權(quán)日1990年8月2日
發(fā)明者卡爾斯特·拉斯·岡納 申請(qǐng)人:卡爾斯特電子公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广东省| 和林格尔县| 应用必备| 柳州市| 措勤县| 天镇县| 韩城市| 江陵县| 苍南县| 南丰县| 枣强县| 阳城县| 旺苍县| 洛宁县| 上虞市| 剑河县| 信丰县| 东光县| 芒康县| 翁牛特旗| 横山县| 乐业县| 板桥市| 土默特左旗| 西和县| 沙河市| 武邑县| 白河县| 安阳市| 宁夏| 墨脱县| 新乡市| 措勤县| 平塘县| 丘北县| 阿图什市| 阿勒泰市| 新丰县| 安徽省| 乐亭县| 闵行区|