两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種支持forth語言的計算機(jī)體系結(jié)構(gòu)的制作方法

文檔序號:6405474閱讀:348來源:國知局

專利名稱::一種支持forth語言的計算機(jī)體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種計算機(jī)體系結(jié)構(gòu),更具體地說,本發(fā)明涉及一種能直接支持第四代高級計算機(jī)語言-FORTH語言的計算機(jī)體系結(jié)構(gòu)。目前的計算機(jī)系統(tǒng)中都配備了豐富的軟件,其中傳統(tǒng)的高級語言(例如FORTRAN、COBOL、PASCAL、BASIC等)都得到了廣泛的應(yīng)用。但是,這類高級語言的功能都是有限的,而且對這類語言本身的二次開發(fā)工作一般都需要由生產(chǎn)廠家完成,靠語言本身是不能完成的。此外,這類語言雖然書寫程序比較方便、規(guī)范,但是由于它們與機(jī)器之間的界面過多,所以編譯速度和效率都較低。由于對機(jī)器的不透明性,使得程序的質(zhì)量和運(yùn)行效率的提高也受到很大的限制。例如,在使用FORTRAN語言時,首先要在操作系統(tǒng)界面上使用文本編輯軟件,編輯一個FORTRAN源程序文件,接著要在FORTRAN編譯系統(tǒng)界面上,對源程序文件進(jìn)行二遍掃描編譯,從而產(chǎn)生相應(yīng)的目標(biāo)程序文件;編譯通過之后,再回到操作系統(tǒng)界面上使用系統(tǒng)的鏈接軟件,對目標(biāo)文件進(jìn)行鏈接定位,使之產(chǎn)生相應(yīng)的可執(zhí)行文件,這樣一個可執(zhí)行文件才可在操作系統(tǒng)界面上直接運(yùn)行。當(dāng)FORTRAN程序中需要調(diào)用匯編語言程序時,則需要通過與產(chǎn)生FORTRAN目標(biāo)程序文件相類似的方法,使用系統(tǒng)的文本編輯軟件和匯編語言來生成匯編目標(biāo)程序文件,然后與FORTRAN目標(biāo)程序文件一起鏈接定位。由此可見,這樣的編譯過程十分繁索,界面的轉(zhuǎn)換也很多,大大影響了編譯速度和效率,初學(xué)者也不易掌握。近年來,人們愈來愈積極地尋求界面簡單、結(jié)構(gòu)化好及編譯效率高,并能自擴(kuò)展(自我二次開發(fā))的高級軟件工具,因而出現(xiàn)了具有明顯優(yōu)勢的第四代高級程序設(shè)計語言FORTH語言。FORTH語言系統(tǒng)與其它高級語言不同,F(xiàn)ORTH系統(tǒng)一旦生成后,就不必進(jìn)行任何界面的轉(zhuǎn)換,只在FORTH系統(tǒng)這一層界面上就可以進(jìn)行從編輯、編譯到運(yùn)行器各個狀態(tài)下的工作。這是因?yàn)镕ORTH系統(tǒng)容納了操作系統(tǒng)的常駐模塊的主要功能,并且有自己的文本編輯器。另外,F(xiàn)ORTH系統(tǒng)中還包含了完全結(jié)構(gòu)化的一次掃描的FORTH匯編,它可以在FORTH系統(tǒng)中直接編譯和運(yùn)行匯編程序。此外,F(xiàn)ORTH語言還具有許多優(yōu)于其它高級語言的優(yōu)點(diǎn),例如它是完全結(jié)構(gòu)化的,并具有自我擴(kuò)展能力,它是透明的語言,也是目標(biāo)代碼最短的語言等等,因?yàn)榫哂猩鲜鰞?yōu)點(diǎn),F(xiàn)ORTH語言已經(jīng)在世界各國,尤其是在美國,得到了愈來愈廣泛的應(yīng)用。然而,目前的計算機(jī)都是傳統(tǒng)的馮·依曼型計算機(jī)。這種類型的計算機(jī)都有一套機(jī)器的指令系統(tǒng),機(jī)器的CPU只能分析、執(zhí)行這套機(jī)器指令集,人們必須在這個指令系統(tǒng)的基礎(chǔ)上去開發(fā)軟件。因此便需要開發(fā)出一種能直接運(yùn)行FORTH高級語言的新一代計算機(jī)。目前,傳統(tǒng)的計算機(jī)體系結(jié)構(gòu)主要是采用復(fù)雜的指令系統(tǒng)計算機(jī)結(jié)構(gòu),即CISC(ComplexInstructionSetComputer)結(jié)構(gòu)。為了能得到更快的執(zhí)行命令的速度,同時使結(jié)構(gòu)簡單,電路簡化,成本更低廉,又出現(xiàn)了一種新的計算機(jī)體系結(jié)構(gòu)-RISC(ReducedInstructionSetComputer)結(jié)構(gòu)。RISC結(jié)構(gòu)計算機(jī)的特點(diǎn)是在每個時鐘周期內(nèi)執(zhí)行一條指令;其指令使用固定格式。RISC結(jié)構(gòu)計算機(jī)強(qiáng)調(diào)使用載出/存入設(shè)計,以存貯器執(zhí)行指令方式完成從存貯器載出和存入存貯器。另外,RISC結(jié)構(gòu)計算機(jī)使用硬件布線來實(shí)現(xiàn)指令控制,不用微代碼設(shè)計,以保證快速度、單周期操作碼的運(yùn)行。1987年底,美國的Koopman提出了一種交互式計算機(jī)結(jié)構(gòu),它能把RISC結(jié)構(gòu)和CISC結(jié)構(gòu)綜合在一起,產(chǎn)生出一種更有興趣、布局合理、靈活、速度快的機(jī)器,該結(jié)構(gòu)被命名為WISC(WritableInstructionSetComputer)結(jié)構(gòu)。有關(guān)FORTH高級語言和CISC、RISC及WISC體系結(jié)構(gòu)的參考文件請見劉大力、黎曉準(zhǔn)、張漢煜編著的,人民郵電出版社于1988年2月出版的《第四代計算機(jī)高級語言-FORTH》一書,以及《CommunicationoftheACM》雜志1985年第1期刊登的文章“ReducedInstructionSetComputer”,《Byte》雜志1987年April的文章“TheWWISCConcept”PhilKoopman。本發(fā)明的目的是提供一種新型的計算機(jī)體系結(jié)構(gòu),該計算機(jī)體系結(jié)構(gòu)是支持計算機(jī)高級語言FORTH的硬件環(huán)境。該計算機(jī)所完成的基本操作能很有效地描述FORTH語言基本單詞的語義,F(xiàn)ORTH語言的基本單詞相當(dāng)于該計算機(jī)的“匯編指令”。本發(fā)明的計算機(jī)體系結(jié)構(gòu)是直接面向第四代語言、綜合采用CISC、RISC、WISC技術(shù)和宏技術(shù)設(shè)計的計算機(jī)體系結(jié)構(gòu),其主頻、運(yùn)算速度、尋址能力等各項(xiàng)技術(shù)指標(biāo)都達(dá)到了八十年代后期世界先進(jìn)水平。本發(fā)明的計算機(jī)體系結(jié)構(gòu)中包括一個存放操作的準(zhǔn)備數(shù)據(jù)、操作的中間結(jié)果及完成操作的最終結(jié)果的第一存貯裝置;一個存放子程序調(diào)用的斷點(diǎn)地址及調(diào)用返回時恢復(fù)斷點(diǎn)的地址的第二存貯裝置;一個存放計算機(jī)的系統(tǒng)軟件,指令和用戶程序的主存貯裝置;一個根據(jù)指令譯碼所產(chǎn)生的微操作控制信號完成對第一存貯裝置的寫入操作和讀出操作的第一存貯裝置管理裝置;一個根據(jù)指令譯碼所產(chǎn)生的微操作控制信號完成對第二存貯裝置的寫入操作和讀出操作的第二存貯裝置管理裝置;一個管理訪問主存貯裝置的地址的主存貯裝置管理裝置;一個接收主存貯裝置讀出的指令或數(shù)據(jù)并為對主存貯裝置的寫入操作準(zhǔn)備數(shù)據(jù)的主存貯裝置數(shù)據(jù)端口;一個對主存貯裝置中取出的指令進(jìn)行譯碼并產(chǎn)生多個微操作信號的組合邏輯譯碼控制裝置;一個由多路轉(zhuǎn)換器和進(jìn)行算術(shù)邏輯運(yùn)算的算術(shù)邏輯運(yùn)算裝置組成的運(yùn)算裝置;以及一個至少包含第一寄存器和第二寄存器的移位寄存器裝置。圖1是本發(fā)明的計算機(jī)體系結(jié)構(gòu)的總體框圖;圖2是說明本發(fā)明的焦點(diǎn),發(fā)散數(shù)據(jù)通路的示意圖;圖3是具體說明本發(fā)明的參數(shù)棧管理部件的示意圖;圖4是具體說明本發(fā)明的返回棧管理部件的示意圖;圖5是具體說明本發(fā)明的移位寄存器部件的示意圖;圖6是具體說明本發(fā)明的指令重復(fù)執(zhí)行控制部件的示意圖;圖7是具體說明本發(fā)明的運(yùn)算器部件的示意圖;圖8是具體說明本發(fā)明的主存貯器地址管理部件的示意圖;圖9是具體說明本發(fā)明的主存貯器數(shù)據(jù)端口部件的示意圖;圖10是具體說明本發(fā)明的串行、并行I/O端口部件的示意圖;圖11是具體說明本發(fā)明的并行I/O端口部件的示意圖;圖12是具體說明本發(fā)明的開平方運(yùn)算硬件線路的示意圖;圖13是說明本發(fā)明的計算機(jī)完成一條指令過程的示意圖;圖14是說明本發(fā)明所采用的雙鎖存器原理的示意圖;圖15是說明本發(fā)明的計算機(jī)中的TOP寄存器和NXT鎖存器原理的示意圖;圖16是說明本發(fā)明的計算機(jī)中的時鐘信號波形的示意圖;圖17是說明本發(fā)明的計算機(jī)中的雙鎖存器結(jié)構(gòu)的示意圖。下面將參考本發(fā)明的一個實(shí)施例,同時闡明本發(fā)明的設(shè)計思想。值得注意的是,此處所敘述的各具體內(nèi)容只不過是借以解釋本發(fā)明構(gòu)思的手段,并不限制本發(fā)明的范圍。本
技術(shù)領(lǐng)域
的人員可能據(jù)此做出不脫離本發(fā)明范圍的各種變更和修改。因此,確定本發(fā)明專利申請保護(hù)范圍應(yīng)當(dāng)根據(jù)所附的權(quán)利要求。參見圖1,為了使本發(fā)明的計算機(jī)體系結(jié)構(gòu)支持FORTH語言,把FORTH語言中的雙棧-參數(shù)棧、返回棧設(shè)置成兩個獨(dú)立的存貯區(qū),即圖1中的參數(shù)棧存貯區(qū)1和返回棧存貯區(qū)2。參數(shù)棧存貯區(qū)的容量可以是1K×16bit;返回棧存貯區(qū)的容量可以是1K×20bit。相應(yīng)的,CPU3中設(shè)有該兩個棧的管理部件參數(shù)棧管理部件FSD和返回棧管理部件FRD。參數(shù)棧的作用是存放一個操作的準(zhǔn)備數(shù)據(jù),中間結(jié)果及完成操作的最終結(jié)果。對參數(shù)棧寫入一個數(shù),意味著完成了一次入棧操作。相反,從參數(shù)棧讀出一個數(shù),則相當(dāng)于完成了一次出棧操作。返回棧在FORTH語言中的作用是保存單詞(子程序)調(diào)用的斷點(diǎn)地址,在調(diào)用返回時恢復(fù)斷點(diǎn)地址,同時在一定條件下可以為某一操作存放中間結(jié)果。為保存20位的地址,返回棧是20位的,而參數(shù)棧是16位的。棧管理部件FSD和FRD的主要功能是根據(jù)指令譯碼所產(chǎn)生的微操作控制信號完成對棧存貯區(qū)的寫入操作(入棧)和讀出操作(出棧)。在本發(fā)明的體系結(jié)構(gòu)中,主存貯區(qū)4的容量可以為220=1M字,用于存放系統(tǒng)軟件和用戶程序。計算機(jī)不斷地從該存貯區(qū)中取出指令并執(zhí)行該指令。在程序中的一條指令得到執(zhí)行前,CPU3必須給出該指令或一個數(shù)據(jù)在主存貯區(qū)的地址,才能完成對主存貯區(qū)的訪問。主存貯區(qū)地址管理部件FPCA的主要作用是形成訪問主存貯區(qū)的地址。主存數(shù)據(jù)端口部件FD的作用是接收從主存貯區(qū)讀出的指令或數(shù)據(jù),為完成主存貯區(qū)的寫入操作準(zhǔn)備好數(shù)據(jù),如果從主存貯區(qū)中取出的是指令,則該指令送到組合邏輯譯碼控制部件FCC,由其產(chǎn)生各種微操作信號(各種開關(guān)信號),從而完成一條指令所規(guī)定的操作。運(yùn)算器部件FALU由三部分組成,即一個多路轉(zhuǎn)換器(此處為24選一多路轉(zhuǎn)換器)MUX-Y,其作用是選擇CPU內(nèi)部各個用戶可用的寄存器作為操作數(shù);另一個是算術(shù)邏輯運(yùn)算單元ALU,它可以進(jìn)行9種算術(shù)邏輯運(yùn)算,5個FORTH單詞的操作;再一個是開平方硬件線路SQR,該線路通過將開平方算法硬件化,可以在8個時鐘周期內(nèi)完成一個16位無符號二進(jìn)制數(shù)的開平方運(yùn)算。CPU3中還包括一個指令重復(fù)執(zhí)行控制部件FREPT,該部件中有一個寄存器REPT,在該寄存器有效時可以控制CPU重復(fù)執(zhí)行并指令。CPU3中還包括一個移位寄存器部件FTN,它主要是由兩個寄存器組成,即TOP寄存器和NXT寄存器。ALU部件的操作結(jié)果必然送到FTN部件中。FTN部件中還包括兩個桶形移位器(BarralShifter),從而完成對ALU運(yùn)算結(jié)果的移位操作。另外,F(xiàn)TN部件可以把結(jié)果送到各個寄存器之中。TOP寄存器和NXT寄存器的主要作用是作為FORTH語言語義的參數(shù)棧棧頂和次棧頂。該CPU3結(jié)構(gòu)中還安排了兩個I/O端口,即16位并行I/O端口FP和8位串行、并行I/O端口FDS/P。FDS/P端口除了能完成并行I/O操作外,通過對該端口控制寄存器的設(shè)置,可以使其完成串行I/O操作。寄存器是CPU中用得最多的基本部件,本發(fā)明結(jié)構(gòu)中各寄存器之間的關(guān)系如圖2所示,它反映了本發(fā)明的數(shù)據(jù)通道。本發(fā)明的結(jié)構(gòu)中的數(shù)據(jù)通路、焦點(diǎn)與發(fā)散是圍繞ALU的操作設(shè)計的??梢赃x擇多個寄存器中的任何一個參與ALU運(yùn)算,運(yùn)算結(jié)果直接送入TOP寄存器,而后由TOP寄存器發(fā)送到各個寄存器中。圖2中的多路轉(zhuǎn)換器MUX-Y是由指令格式的5位來控制選擇寄存器的。下面說明圖2中各寄存器與圖1各部件的關(guān)系。返回棧管理部件FRD中含有RD、RPL寄存器;參數(shù)棧管理部件FSD中含有SD、SPL寄存器;移位寄存器部件FTN中含有TOP、NXT、TH、NH寄存器;指令重復(fù)執(zhí)行控制部件FREPT中含有REPT、RT寄存器;運(yùn)算器部件FALU中包含了SR、MD寄存器;主存地址管理部件FPCA中包含了PC寄存器;主存數(shù)據(jù)端口FD中包含了D、IL寄存器;8位串行、并行I/O端口FDS/P包含了DS/P、XBS、XSP、XIO寄存器;16位并行I/O端口FP中包含了P、BBS、BIO寄存器。這21個寄存器的作用將在后面說明。圖2基本上反映了本發(fā)明的CPU的數(shù)據(jù)通道,但不是全部。它只反映了圍繞ALU的數(shù)據(jù)通路。寄存器之間的數(shù)據(jù)通路沒在圖2中表示。但可以從TOP寄存器送各個寄存器的通路上有所反映。在一些寄存器的輸入端具有多路選擇開關(guān),它們就是為寄存器間的數(shù)據(jù)傳送而設(shè)置的,這些多路選擇開關(guān)是受指令譯碼控制部件FCC的微操作信號控制的。上面介紹了本發(fā)明結(jié)構(gòu)的各部件功能及數(shù)據(jù)通路。參照圖1、圖2和圖13,CPU完成一條指令的過程如下在上一條指令周期里,已從主存貯區(qū)取出的一條指令存放在主存數(shù)據(jù)端口FD的指令寄存器IL中,并在指令譯碼控制部件FCC中進(jìn)行了預(yù)處理;進(jìn)入該指令周期后,F(xiàn)CC部件釋放出經(jīng)過預(yù)處理之后的微操作控制信號;微操作控制信號控制各部件做相應(yīng)動作,完成指令所規(guī)定的操作。在完成該指令的同時,完成從主存貯區(qū)取出下一條指令的操作,并進(jìn)行預(yù)處理,等待下一個指令周期的到來。例如FORTH語言的4個單詞RSWAP-2/,本發(fā)明的計算機(jī)體系結(jié)構(gòu)可以在單單周期內(nèi)完成這4個FORTH語言單詞所規(guī)定的操作。參照圖1和圖2,其過程如下把返回棧棧頂寄存器RT的內(nèi)容由多路轉(zhuǎn)換器MMUX-Y送至ALU;ALU完成Y-TOP(即RT-TOP)的操作;ALU的運(yùn)算結(jié)果送移位寄存器部件FTN的TOP寄存器,通過TOP寄存器中包含的桶形移位器完成2/操作。在FORTH語言中,任何操作都與參數(shù)棧和返回棧有關(guān),具體地說,任何算術(shù)、邏輯運(yùn)算,存取操作(即!,),子程序調(diào)用(單詞調(diào)用)的參數(shù)準(zhǔn)備,結(jié)果的傳遞等均在參數(shù)棧上進(jìn)行;子程序(單詞)調(diào)用時斷點(diǎn)地址的保護(hù)及恢復(fù)均在返回棧上進(jìn)行,一些操作的中間結(jié)果的保存可在返回棧上進(jìn)行。然而一般的堆棧固有的缺點(diǎn)是棧的一端固定,一端浮動,只有一個操作點(diǎn),這就使對棧上數(shù)據(jù)進(jìn)行操作時效率低。例如對于FORTH語言動詞“十”而言,要完成參數(shù)棧棧頂、次棧頂?shù)募臃ǎ瑮顟B(tài)的變化如下式(snt→S(n+t))該操作過程一般描述為取出棧頂值作為ALU的輸入之一;取出次棧頂值作為ALU的另一個輸入值;完成加法操作;把結(jié)果壓棧。這一操作要花費(fèi)4個周期(這里設(shè)對棧存貯區(qū)的讀出和寫入均在單周期內(nèi)完成)。可見,解決上述問題是面向堆棧的機(jī)器的關(guān)鍵。本發(fā)明的結(jié)構(gòu)中,上述操作不但可在單周期內(nèi)完成,而且可以復(fù)合其它多條非ALU運(yùn)算的FORTH指令,在單周期內(nèi)完成。也就是說,可以高效地表達(dá)FORTH語言單詞的語義。本發(fā)明中對參數(shù)棧和返回棧的管理部件FSD、FRD及移位寄存器部件FIN的設(shè)計解決了上述問題,后面將具件說明上述部件結(jié)構(gòu)。FORTH語言任何單詞的操作都以棧上數(shù)據(jù)準(zhǔn)備好為條件,而當(dāng)前單詞的執(zhí)行結(jié)果又為下一單詞的執(zhí)行準(zhǔn)備好數(shù)據(jù),因此這里零尋址方式。訪問內(nèi)存的操作由一個FORTH單詞依據(jù)棧上的地址實(shí)現(xiàn),已不屬于尋址方式的意義范圍,而最初的地址或數(shù)據(jù)可以由當(dāng)前PC為地址,從內(nèi)存中取一數(shù)據(jù)壓棧的指令完成。在本發(fā)明的體系結(jié)構(gòu)中,內(nèi)存地址管部部件FPCA反映了這種需要,如圖8所示。后面將具體敘述它的結(jié)構(gòu)。提高CPU內(nèi)部各部件的并行執(zhí)行度是計算機(jī)體系結(jié)構(gòu)設(shè)計共同追求的目標(biāo)。與傳統(tǒng)的計算機(jī)相似,本發(fā)明結(jié)構(gòu)中具有指令預(yù)取,預(yù)處理功能。除此之外,還具有一般計算機(jī)所沒采用的新設(shè)計。下面將具體說明。本發(fā)明的體系結(jié)構(gòu)中的TOP寄存器和NXT寄存器中采用了雙鎖存器設(shè)計。雙鎖存器的原理如圖14所示。雙鎖存器的作用是寄存器的輸入和輸出可以同時進(jìn)行,或者可以做到先輸入后輸出與先輸出后輸入,可以通過兩個鎖存開關(guān)信號的控制對寄存器進(jìn)行破壞性或非破壞性寫入。本發(fā)明中的SD、RT、RD、RPL、SPL、REPT、PC寄存器也采用了這種結(jié)構(gòu)。圖15中表示了本發(fā)明結(jié)構(gòu)中TOP、NXT寄存器的雙鎖存器結(jié)構(gòu)。在ALU的輸出進(jìn)入TOP寄存器的同時,TOP的原值同時可送入NXT,同時NXT寄存器原來的內(nèi)容可送往其他地方。這一操作由TL、NL信號控制,這是使本發(fā)明堆棧高效進(jìn)行操作的主要設(shè)計之一。相對于傳統(tǒng)計算機(jī)的時序控制而言,本發(fā)明采用了無時序控制方式。傳統(tǒng)的計算機(jī)中的組合邏輯控制部件中包括三個部分指令譯碼部分;時序發(fā)生器;組合邏輯譯碼電路。組合邏輯譯碼電路根據(jù)時序發(fā)生器的時序信號,綜合當(dāng)前指令的要求和狀態(tài)反饋控制信號,最終產(chǎn)生一系列微操作控制信號,控制各部件完成指令所規(guī)定的各項(xiàng)操作。在此,一條指令包含多個CPU周期,而一個CPU周期包含多個節(jié)拍脈沖信號。組合邏輯譯碼電路可以在單個節(jié)拍脈沖內(nèi)安排并行動作的微操作控制信號,而在不同的節(jié)拍脈沖里安排有先后次序的微操作控制信號。本發(fā)明的體系結(jié)構(gòu)中的組合譯碼邏輯將不需要上述的時序發(fā)生器,代之以把單個時鐘脈沖經(jīng)延時和譯碼產(chǎn)生兩個小時鐘控制信號,由這兩個時鐘脈沖控制有先后次序的微操作,而在數(shù)據(jù)通路及部件的設(shè)計上安排大部分的操作可以無時序地完成。盡管內(nèi)部的微操作仍不可避免有先后操作,這里在一個時鐘周期內(nèi)的時序,與時序發(fā)生器的概念是不同的。在這個意義上,即在單個時鐘周期內(nèi)可以完成相關(guān)的有先后的微操作,可以說實(shí)現(xiàn)了無時序控制。圖16表示了時鐘脈沖CLK與兩個小時鐘脈沖CP1和CP2之間的波形關(guān)系。CP1和CP2的主要作用是控制雙鎖存器開關(guān)的時刻,使一個寄存器的上下兩個鎖存器永遠(yuǎn)不能同時打開,保證可靠地讀出和寫入寄存器。本發(fā)明的體系結(jié)構(gòu)中,實(shí)現(xiàn)了FORTH語言的程序控制指令和結(jié)構(gòu)指令,它們是IF,ELSE,DO……+LOOP,BEGIN,UNTIL,REPEAT,WHILE,F(xiàn)OR……NEXT。這里便大大加快了FORTH的執(zhí)行速度。下面將參照附圖對本發(fā)明體系結(jié)構(gòu)中的各個部件的結(jié)構(gòu)做出說明。FORTH語言對參數(shù)棧的棧頂,次棧頂和第三項(xiàng)的操作最為頻繁,本發(fā)明在CPU內(nèi)部設(shè)置了三個寄存器TOP寄存器,NXT寄存器和SD寄存器。對參數(shù)棧棧頂,次棧頂和第三項(xiàng)的操作相當(dāng)于對寄存器的操作,使計算機(jī)執(zhí)行FORTH語言的效率大大提高。當(dāng)然,在CPU中不一定只限于設(shè)置三個寄存器,也可設(shè)四個五個……n個等等,此處只是舉例說明。上述寄存器采用雙鎖存器結(jié)構(gòu),在對棧頂寄存器TOP壓入一數(shù)值的同時,可以把TOP寄存器的原值傳送給次棧頂寄存器NXT,而NXT的原值傳送給SD寄存器,SD寄存器的原值傳送給參數(shù)棧存貯區(qū),這樣就完成了棧的壓入操作。從參數(shù)棧中彈出一值,其操作過程正好相反。圖3和圖4分別給出了二個棧的管理部件FSD和FRD的結(jié)構(gòu),從中也可以看出寄存器TOP、NXT和SD的關(guān)系。圖3中的各部分的說明如下WES參數(shù)棧存貯區(qū)的讀/寫信號線,它還有控制三態(tài)門SD(PAD)的作用;SDBUS參數(shù)棧存貯區(qū)16位雙向數(shù)據(jù)總線(外總線),出入棧的數(shù)據(jù)均通過該數(shù)據(jù)總線;SDA內(nèi)部16位傳輸線,從參數(shù)棧存貯區(qū)讀出的數(shù)據(jù)由此送到雙鎖存寄存器SD中;SDB內(nèi)部16位傳輸線,對參數(shù)棧寫入的數(shù)據(jù)由此送到SDBUS總線;SPBUS參數(shù)棧存貯區(qū)的10位地址總線(外部總線),通過它確定對棧存貯區(qū)的哪個單元做讀或?qū)懖僮?SPEN外部地址使能線,它控制SP的內(nèi)容是否傳送到SPBUS;SP(PAD)三態(tài)門;SP內(nèi)部棧存貯區(qū)地址總線,它由多路轉(zhuǎn)換器MUX-SPL的輸出決定;TD寄存器TOP或D的輸出,即圖5中的MUX-TD多路轉(zhuǎn)換器的輸出;SPL參數(shù)棧指針寄存器,也是雙鎖存器結(jié)構(gòu),LN1SPL和LN2SPL分別是其控制信號,其輸出送往圖7的MUX-Y多路轉(zhuǎn)換器;SPAS參數(shù)棧指針SP的加1減1器,CSPAS為控制信號;NXT寄存器NXT的16位輸出信號,可參見圖5;SDSD寄存器,雙鎖存器結(jié)構(gòu),LN1SD和LN2SD分別為控制信號,其輸出值送經(jīng)圖5中的多路轉(zhuǎn)換器MUX-N由圖3可見,通過MUX-SD,在微操作控制信號MSD的控制下,可以選擇TD或NXT作為參數(shù)棧寫入的數(shù)據(jù);通過MUX-SPL可以選擇AS,SPL,TD三者之一作為參數(shù)棧寫入、讀出操作的地址值,AS是SPL的內(nèi)容加1或減1的結(jié)果,MUX-SPL的常態(tài)輸出是AS,而且是SPL減1的值,TD是TOP寄存器輸出的低10位。棧存貯區(qū)的寫入有兩種選擇,即多路轉(zhuǎn)換器MUX-SD控制的TOP寄存器或D寄存器和NXT寄存器的輸出。另外,棧存貯區(qū)的讀出值一定送往SD寄存器,而SD寄存器的輸出是參數(shù)棧次棧頂寄存器NXT的輸入之一,SD的內(nèi)容也可以由多路轉(zhuǎn)換器MUX-Y選擇參與ALU運(yùn)算(可以參見圖7)。對參數(shù)棧的讀、寫操作如下TOP、NXT、SD分別為棧頂、次棧頂和第三項(xiàng),棧存貯區(qū)的實(shí)際棧頂?shù)膬?nèi)容與SD寄存器相同。因此,完成一次壓棧或出棧,實(shí)際上要完成三個寄存器之間的傳送,并使SD寄存器始終保持與棧存貯區(qū)內(nèi)實(shí)際棧頂?shù)膬?nèi)容一致。設(shè)壓入一個新值VX(見圖3)VX送到TOP同時TOP原值送到NXT同時NXT原值通過MUX-SD送到SDB同時在WES為低(三態(tài)門導(dǎo)通)時送到SDBUS總線,同時通過SDBUS和SDA總線送到SD寄存器。寫入的地址由MUX-SPL選通AS,送到SPBUS,在WES有效時完成對棧的寫入操作。完成操作后,把SP值送SPL寄存器,完成棧指針的修改,即AS=SPL-1送到SPL。設(shè)要把TOP寄存器的內(nèi)容VX彈出,則對棧的操作過程如下(見圖3)取出TOP中的值VX,同時NXT值送TOP,同時SD內(nèi)容送NXT寄存器,同時CSPAS=1使AS=SPL+1,MUX-SPL選擇AS作為棧讀出操作的地址由SP送到SPBUS,在WES為1時讀有效,送到SDBUS,同時回送到SD寄存器,完成讀出操作后把SP的值送入寄存器SPL中,完成修改指針SPL+1送SPL的操作。在參數(shù)棧的管理中,考慮到入棧操作必須盡快空出TOP寄存器,故此NXT寄存器的內(nèi)容必須盡快送入棧存貯區(qū),因此,使多路轉(zhuǎn)換器MUX-SPL的常通態(tài)所選的棧存貯區(qū)地址就是入棧操作時NXT寄存器的內(nèi)容所要存入的單元地址,這就是設(shè)置多路轉(zhuǎn)換器MUX-SPL的常通態(tài)為SPL-1的原因(SPL-1所指的是棧存貯區(qū)空單元)。與此相反,在出棧操作時,要求從棧存貯區(qū)取出數(shù)據(jù)S1的操作不必太快,只要求盡快把TOP寄存器內(nèi)容送出,盡快改變TOP、NXT寄存器的內(nèi)容即可,而這些操作都是寄存器間的操作,故自然滿足要求。這樣,只要求在當(dāng)前指令周期內(nèi)把S1值送入SD寄存器。在完成這一操作時,可以較從容地完成SPL+1的操作,MUX-SPL選通,然后才完成棧存貯區(qū)的讀操作。可以看出,通常涉及外通路的操作延時在這里對參數(shù)棧操作的速度并不產(chǎn)生影響,對棧存貯器的速度要求不高(與主存貯器的訪問頻寬相同即可)。從指令執(zhí)行的效果看,這里的棧管理達(dá)到了快速、并行,解決了外通路提供數(shù)據(jù)的速率遠(yuǎn)低于CPU的處理速率的這一矛盾。參見圖4對返回棧管理部件FRD的說明如下在CPU內(nèi)部配置了兩個寄存器作為返回棧棧頂和次棧頂。它們分別是RT寄存器(20位)和RD寄存器(20位)。RT寄存器設(shè)在圖6所示的指令重復(fù)執(zhí)行控制部件FREPT之中,但也可設(shè)在返回棧管理部件FRD之中。返回棧存貯區(qū)被設(shè)置為20位,以滿足保存尋址能力為1M字的20位地址的需要。在圖4中,有一個4位的擴(kuò)展寄存器ID,其作用與棧管理部件FRD無密切關(guān)系,它僅僅是為了擴(kuò)展外部存貯區(qū)空間而備用。返回棧的作用是通過把程序計數(shù)器PC值壓入返回棧和把返回棧棧頂值彈出并送程序計數(shù)器PC實(shí)現(xiàn)單詞調(diào)用時保護(hù)和恢復(fù)斷點(diǎn)地址。返回棧棧頂寄存器RT與程序計數(shù)器PC的數(shù)據(jù)通路見圖8所示的主存貯區(qū)地址管理部件FPCA。RT(L)和RT(H)分別是20位寄存器的低16位和高4位,PC寄存器的輸出送RT寄存器的情況可以在圖6中看出,即PC(H)和PC(L)分別送入多路轉(zhuǎn)換器MUX-RTH和MUX-RT。圖5表示了本發(fā)明的結(jié)構(gòu)中的移位寄存器,部件FTN,它包含了一部分控制電路。FTN部件的主要作用是作為帶有移位功能的參數(shù)棧棧頂寄存器和次棧頂寄存器。下面具體說明圖5中的各個部分。TN是帶有移位功能的雙鎖存寄存器,其結(jié)構(gòu)如圖17所示。其中LN1和LN2為二級鎖存器的開關(guān)信號,在該二級鎖存器之間設(shè)置一個桶形移位器(BarralShifter),該桶形移位器可以完成右移二位,一位,不移,左移一位的操作。進(jìn)入TOP寄存器的數(shù)據(jù)可以經(jīng)過桶形移位器的移位或不移而傳送到第二級鎖存器。MUX-T和MUX-N是兩個多路轉(zhuǎn)換器。寫入TOP和NXT寄存器的數(shù)據(jù)分別有4個來源,通過這二個多路轉(zhuǎn)換器分別選一種送上述寄存器。MUX-TD是選擇TOP寄存器的輸出和D寄存器(位于主存數(shù)據(jù)端口部件FD內(nèi))的輸出的多路轉(zhuǎn)換器。從圖1和圖2中可以看出,TOP寄存器是本發(fā)明的體系結(jié)構(gòu)中數(shù)據(jù)通路的發(fā)散點(diǎn),而D寄存器是主存數(shù)據(jù)端口數(shù)據(jù)寄存器,通過TD信號通路,可以把主存取出的數(shù)據(jù)和參數(shù)棧棧頂?shù)臄?shù)據(jù)發(fā)送到各個寄存器。TH和NH均為4位寄存器,它們的作用是當(dāng)需要用寄存器TOP和NXT處理20位的地址值時,在其中存放20位地址的高4位。MUX-TH和MUX-NH分別是TH和NH寄存器的輸入信號多路轉(zhuǎn)換器。MUX-HAS和MUX-AS分別是TH、NH寄存器和TOP、NXT寄存器的輸出多路轉(zhuǎn)換器,其作用是選擇(TH,TOP)還是(NH,NXT)進(jìn)入一個20位的加1減1器TNAS。加1減1器TNAS可以實(shí)現(xiàn)對參數(shù)棧棧頂或次棧頂?shù)募?減1操作,這種操作在FORTH語言中經(jīng)常遇到。在圖5中下方的一組信號線表示它們是從譯碼控制部件FCC發(fā)出或送入FCC的控制信號反饋信號。圖上方的輸入信號線的內(nèi)容如下SD是參數(shù)棧第三項(xiàng)寄存器SD的輸出信號線,它可以通過多路轉(zhuǎn)換器MUX-N送入NXT雙鎖存寄存器;D和ALU分別代表從數(shù)據(jù)寄存器D和算術(shù)邏輯運(yùn)算器ALU的輸出,它們可以通過多路轉(zhuǎn)換器MUX-T的選擇,寫入?yún)?shù)棧棧頂寄存器TOP;IL(0-7)是16位指令格式的低8位,其作用是,在以指令格式的低8位立即數(shù)為20位地址的高4位時,通過該通路可以把高4位地址分別寫入TH,NH寄存器。圖6中的信號線中NCC,EQN是ALU的運(yùn)算結(jié)果狀態(tài)標(biāo)志值,NCC是進(jìn)位位的“非”,EQN是“相等”狀態(tài)的“非”;DRX和DTX是一位信號線,DRX可以把串、并I/O端口FDS/P從外部接收到的串行輸入信號送入TOP寄存器的最高位DTX可以把TOP寄存器的最低位傳送到I/O端口EDS/P,實(shí)現(xiàn)串行輸出;TOP和NXT代表參數(shù)棧棧頂、次棧頂輸出信號,TOP送往FALU部件的ALU輸入端和FPCA部件,NXT送往三個不同部件,即多路轉(zhuǎn)換器MUX-Y、MUX-SD及FPCA部件;HCLK是加速時鐘,它來自CPU之外,可以對乘、除、開方、平方算法加速。FTN部件是本發(fā)明中重要部件之一,它的主要功能有1.作為參數(shù)棧的棧頂、次棧頂,實(shí)現(xiàn)對棧的靈活操作;2.作為計算機(jī)體系結(jié)構(gòu)的數(shù)據(jù)通路的發(fā)散點(diǎn);3.作為移位寄存器,可對寫入TOP和NXT寄存器的數(shù)據(jù)進(jìn)行右移二位、一位或左移一位的操作;4.作為并行串行I/O端口,在串行輸入輸出時的串/并、并/串轉(zhuǎn)換電路實(shí)現(xiàn)串行通訊;5.作為乘除運(yùn)算的兩個移位寄存器和開平方運(yùn)算的乘除寄存器;6.作為存放主存貯區(qū)地址之用,通過TOP和NXT的輸出送主存地址管理部件FPCA,實(shí)現(xiàn)以TOP、NXT為地址的主存貯區(qū)的訪問7.除了CP1和CP2信號用于TOP和NXT雙鎖存寄存器的兩級開關(guān)控制具有先后次序之外,其他從FCC控制部件發(fā)出的控制信號都是無時序的,可使FTN部件的操作與其他部件操作并行進(jìn)行。圖6表示了本發(fā)明結(jié)構(gòu)中的指令重復(fù)執(zhí)行部件FREPT。該部件結(jié)構(gòu)較簡單,它由一個16位的指令重復(fù)執(zhí)行控制寄存器,20位的返回棧棧頂寄存器(RT、RTH)和一個加1減1器組成。RD寄存器作為返回棧棧頂寄存器,其輸出值可以寫入返回棧次棧頂寄存器,寫入程序計數(shù)器PC,RT寄存器的輸入信號來源有返回棧吹棧頂寄存器RD和程序計數(shù)器PC。在圖6中,MUX-RTH和MUX-RT的輸入端可以看到這些信號。指令重復(fù)執(zhí)行控制寄存器REPT是一個16位雙鎖存器,該鎖存器的最高位被單獨(dú)引出作為指令譯碼控制部件FCC的輸入信號,在其有效時(等于零),使FCC發(fā)生重復(fù)執(zhí)行一條指令所需要的控制信號,每執(zhí)行一次當(dāng)前的指令,通過加1減1器REPTIAS把REPT寄存器的值減1,一直到REPT=FFFFH時為止。圖7表示了本發(fā)明的體系結(jié)構(gòu)中的運(yùn)算部件FALU,它由四個部分組成MUX-Y是多路轉(zhuǎn)換器,它可以選擇24路輸入信號參與ALU運(yùn)算;ALU是算術(shù)邏輯運(yùn)算單元,其作用是完成9種算術(shù)邏輯運(yùn)算,即T+Y,T+Yc,T-Y,T-Yc,Y-T,Y-Tc,與,或,非。5種FORTH動詞,即NIPDUP,SWAP,NIPOVER,DROPDUP,DROPOVER。兩種其余操作(即ALU=T和ALU=T);COM是一個比較器,作用是把RD寄存器的值與ALU的輸出值做比較,產(chǎn)生一個狀態(tài)信號GEQ送FCC部件,以此改變一些操作的控制;MSR是一個開平方算法硬布線,通過把開平方算法硬化的方法,可以大大提高開平方的運(yùn)算速度。利用本發(fā)明結(jié)構(gòu)中的FTN和ALU部件可以實(shí)現(xiàn)兩個16位二進(jìn)制數(shù)的乘除、開平方運(yùn)算。乘除運(yùn)算分別需要16和17個時鐘周期,開平方運(yùn)算僅需8個的時鐘周期。開平方運(yùn)算的硬件設(shè)計原理如圖12所示。圖中,TOP、NXT和SR為雙鎖存寄存器,其中TOP存放被開平方數(shù),NXT存放開平方數(shù),SR初值為零,終值為TOP寄存器中數(shù)據(jù)的平方根值。圖12中所示的電路主要是完成圖18所示的開平方算法,它可以在單周期內(nèi)完成一次圖18所示的過程,由REPT寄存器控制循環(huán)8次,即在8個時鐘周期內(nèi)完成開平方運(yùn)算。開平方硬件電路的特點(diǎn)在于它利用指令重復(fù)執(zhí)行控制寄存器REPT,以一條ALU操作指令的重復(fù)執(zhí)行完成開平方操作,使開平方算法可以利用現(xiàn)有的硬件資源,如ALU,TOP,NXT寄存器,節(jié)省了硬件開銷,使在一個CPU中實(shí)現(xiàn)開平方硬件線路成為可能。本發(fā)明的體系結(jié)構(gòu)中的乘除算法及硬件電路的設(shè)計原理與一般計算機(jī)的設(shè)計大致相同,不同點(diǎn)在于一般的設(shè)計中,使用專用加法器而不是使用本發(fā)明所用的ALU來進(jìn)行乘除運(yùn)算。因?yàn)楸景l(fā)明可以利用指令重復(fù)執(zhí)行控制寄存器重復(fù)執(zhí)行一條ALU操作指令來完成乘除操作,所以它節(jié)約了硬件開銷。圖8表示了主存貯區(qū)地址管理部件FPCA的結(jié)構(gòu)。FPCA是由三個部分組成的,它們是程序計數(shù)器PC(20位);地址偏值加法器PCAADD;多路轉(zhuǎn)換器MUX-AL的MUX-AH。圖8中的ABUS是主存貯區(qū)地址總線(20位);A(PAD)是三態(tài)門;A是20位地址線,通過三態(tài)門與ABUS相連;A(H)是20位地址線的高4位;A(L)是20位地址線的低16位;IL(0-14)是指令格式的低15位立即數(shù),TOP20是TOP和TH寄存器的輸出信號;NXT20是NXT和NH寄存器的輸出信號;RT20是返回棧棧頂寄存器的輸出信號。FPCA部件通過多路轉(zhuǎn)換器MUX-AH和MUX-AL的選擇,選出八種地址來源作為訪問主存貯區(qū)的地址,同時地址偏值加法器PCAADD修改指針,然后送PC寄存器保存。該部件的特點(diǎn)是,它改變了傳統(tǒng)設(shè)計中由程序計數(shù)器PC直接向地址總線提供地址的設(shè)計。圖9表示了本發(fā)明體系結(jié)構(gòu)中的數(shù)據(jù)端口部件FD,它由兩個寄存器和一個多路轉(zhuǎn)換器組成,其中D寄存器用于存放從主存貯區(qū)讀出或?qū)懭胫鞔尜A區(qū)的數(shù)據(jù),IL寄存器用于存放從主存貯區(qū)取出的指令;多路轉(zhuǎn)換器MUX-DIO用于選擇4種數(shù)據(jù)來源的一種送主存貯區(qū)數(shù)據(jù)總線DBUS。圖中的WED是讀寫控制信號。圖10表示了本發(fā)明的體系結(jié)構(gòu)的八位串/并I/O端口FDS/P部件,它可以實(shí)現(xiàn)并行、串行I/O通訊,可以實(shí)現(xiàn)位屏蔽控制。在圖10中,XSP是一個8位寄存器,其作用是設(shè)置FDS/P端口的串行或并行工作方式,圖中的XIO是一個8位寄存器,其作用是設(shè)置FDS/P端口為輸入狀態(tài)或輸出狀態(tài);XBS是一個8位寄存器,其作用是屏蔽FDS/P端口的8位I/O通路的任意幾位或全部位;XBSDR是位屏蔽譯碼驅(qū)動器,其作用是通過對指令的第5~7位的譯碼,強(qiáng)行改變XBS寄存器所設(shè)置的位屏蔽狀態(tài);DS/P內(nèi)部包括一個數(shù)據(jù)寄存器及對XBS、XIO、XSP信號的譯碼電路,以實(shí)現(xiàn)XBS、XIO和XSP的控制作用。圖11表示了本發(fā)明結(jié)構(gòu)中的并行I/O端口FP,它是16位端口,其結(jié)構(gòu)非常簡單。FP端口由三部分組成一個位屏蔽寄存器BBS,它與FDS/P端口中的XBS作用相同;一個輸入輸出方向寄存器BIO,它與FDS/P端口中的XIO作用相同;一個部件P,它包括一個數(shù)據(jù)寄存器及BBS、BIO的譯碼控制電路,以實(shí)現(xiàn)BBS、BIO的I/O方向控制及位屏蔽功能。權(quán)利要求1.一種計算機(jī)體系結(jié)構(gòu),它包括一個第一存貯裝置,它用于存放一個操作的準(zhǔn)備數(shù)據(jù)、操作的中間結(jié)果和完成操作的最終結(jié)果,并且以堆棧方式操作;一個第二存貯裝置,它用于存放子程序調(diào)用的斷點(diǎn)地址、和一些必要的數(shù)據(jù);并且以堆棧方式操作;一個主存貯裝置,它用于存放計算機(jī)的系統(tǒng)軟件,指令和用戶程序;一個第一存貯裝置的管理裝置,它根據(jù)指令譯碼所產(chǎn)生的微操作控制信號完成對第一存貯裝置的寫入操作和讀出操作;一個第二存貯裝置的管理裝置,它根據(jù)指令譯碼所產(chǎn)生的微操作控制信號完成對第二存貯裝置的寫入操作和讀出操作;一個主存貯裝置的管理裝置,它用于形成訪問主存貯裝置的地址;一個主存貯裝置數(shù)據(jù)端口,用于接收主存貯裝置讀出的指令或數(shù)據(jù)以及為完成對主存貯裝置的寫入操作準(zhǔn)備好數(shù)據(jù);一個組合邏輯譯碼控制裝置,它完成對主存貯裝置中取出的指令的譯碼,產(chǎn)生多個微操作信號;一個運(yùn)算裝置,它包括一個第一多路轉(zhuǎn)換裝置(MUX-Y)和一個進(jìn)行多種算術(shù)邏輯運(yùn)算的算術(shù)邏輯運(yùn)算裝置,該多路轉(zhuǎn)換裝置選擇第一存貯裝置管理裝置、第二存貯裝置管理裝置、主存貯裝置管理裝置、主存貯裝置數(shù)據(jù)端口中多個寄存器的內(nèi)容之一進(jìn)入算術(shù)邏輯運(yùn)算裝置參與運(yùn)算操作;一個移位寄存器裝置,它包括至少一個第一寄存器(TOP)和一個與之相連的第二寄存器(NXT),第一寄存器接收來自算術(shù)邏輯運(yùn)算裝置的運(yùn)算結(jié)果,第一寄存器和第二寄存器中的內(nèi)容分別作為第一存貯裝置的內(nèi)容的最后一項(xiàng)和倒數(shù)第二項(xiàng),第一寄存器和第二寄存器的輸出與上述算術(shù)邏輯運(yùn)算裝置的輸入端相連,以便參與運(yùn)算操作,第一寄存器作為體系結(jié)構(gòu)中數(shù)據(jù)通路的發(fā)散點(diǎn),與第一存貯裝置管理裝置、第二存貯裝置管理裝置,主存貯裝置管理裝置、主存貯裝置數(shù)據(jù)端口及運(yùn)算裝置中的多個寄存器相連接。2.如權(quán)利要求1所述的計算機(jī)體系結(jié)構(gòu),其中包括一個第三寄存器(SD),該第三寄存器分別與第二寄存器和第一存貯裝置相連接,該第三寄存器中的內(nèi)容作為第一存貯裝置的內(nèi)容的倒數(shù)第三項(xiàng),并且與第一存貯裝置中實(shí)際內(nèi)容的最后一項(xiàng)相對應(yīng),第二寄存器的內(nèi)容寫入第一存貯裝置和從第一存貯裝置讀出的內(nèi)容都通過該第三寄存器,該第三寄存器還與算術(shù)邏輯運(yùn)算裝置相連,以保證其參與運(yùn)算操作。3.如權(quán)利要求2所述的計算機(jī)體系結(jié)構(gòu),其中所述的第一存貯裝置管理裝置還包括一個第二多路轉(zhuǎn)換器(MUX-SD),該第二多路轉(zhuǎn)換器選擇第一寄存器和第二寄存器的輸出值之一作為寫入第一存貯裝置和第三寄存器的內(nèi)容,從而使第一存貯裝置具有第一寄存器和第二寄存器這兩個數(shù)據(jù)來源,并保證第三寄存器的內(nèi)容與第一存貯裝置中實(shí)際內(nèi)容的最后一項(xiàng)相同。4.如權(quán)利要求3所述的計算機(jī)體系結(jié)構(gòu),其中所述的第一寄存器、第二寄存器和第三寄存器中的每一個都由雙鎖存器構(gòu)成,該雙鎖存器中的每一個都接收來自組合邏輯譯碼控制裝置的控制信號,從而使第一寄存器、第二寄存器和第三寄存器的輸入和輸出可以同時進(jìn)行,也可使先輸入后輸出,也可使對第一寄存器、第二寄存器和第三寄存器中的每一個進(jìn)行破壞性和非破壞性的數(shù)據(jù)寫入。5.如權(quán)利要求4所述的計算機(jī)體系結(jié)構(gòu),其中所述的移位寄存器裝置中的第一寄存器和第二寄存器都是由兩級鎖存器組成,該兩級鎖存器之間設(shè)置一個桶形移位器,在來自組合邏輯譯碼控制裝置的信號的控制下,第一級鎖存器中的內(nèi)容可以左移、右移或不移之后送至第二級鎖存器。6.如權(quán)利要求5所述的計算機(jī)體系結(jié)構(gòu),其中所述的移位寄存器裝置中還包括一個第三多路轉(zhuǎn)換器(MUX-T),一個第四多路轉(zhuǎn)換器(MUX-N)和一個第五多路轉(zhuǎn)換器(MUX-TD);第三多路轉(zhuǎn)換器的輸入端分別與算術(shù)邏輯運(yùn)算裝置的輸出端及主存貯裝置數(shù)據(jù)端口中的一個數(shù)據(jù)寄存器(D)相連接,第三多路轉(zhuǎn)換器的輸出端與第一寄存器的輸入端相連接;第四多路轉(zhuǎn)換器的輸入端分別與第三寄存器的輸出端和第五多路轉(zhuǎn)換器的輸出端相連接,第四多路轉(zhuǎn)換器的輸出端與第二寄存器的輸入端相連接;第五多路轉(zhuǎn)換器則接收來自主存貯裝置數(shù)據(jù)端口中的數(shù)據(jù)寄存器(D)和第一寄存器輸出的信號。7.如權(quán)利要求6所述的計算機(jī)體系結(jié)構(gòu),其中所述的移位寄存器裝置中還包括一個第一加一減一器(TNAS)和一個第六多路轉(zhuǎn)換器(MUS-AS),該第六多路轉(zhuǎn)換器選擇第一寄存器和第二寄存器內(nèi)容中的一個進(jìn)入第一加一減一器,從而實(shí)現(xiàn)對第一存貯裝置最后一項(xiàng)及倒數(shù)第二項(xiàng)進(jìn)行加一減一操作。8.如權(quán)利要求7所述的計算機(jī)體系結(jié)構(gòu),其中所述的第一存貯裝置管理裝置中包括一個第一存貯裝置指針寄存器(SPL),用于確定對第一存貯裝置進(jìn)行讀出和寫入的地址,對第一存貯裝置進(jìn)行讀出和寫入的地址由一個第七多路轉(zhuǎn)換器(MUX-SPL)提供,該第七多路轉(zhuǎn)換器選擇第一存貯裝置指針寄存器的輸出值和該輸出值送入一個第二加一減一器(SPAS)后該第二加一減一器的輸出值之一做為對第一存貯裝置進(jìn)行讀出和寫入的實(shí)際地址。9.如權(quán)利要求8所述的計算機(jī)體系結(jié)構(gòu),其中所述的第七多路轉(zhuǎn)換器選擇第一存貯裝置指針寄存器的輸出值、第二加一減一器的輸出值和第一寄存器的輸出值之一做為對第一存貯裝置進(jìn)行讀出和寫入操作的實(shí)際地址。10.如權(quán)利要求9所述的計算機(jī)體系結(jié)構(gòu),其中所述的第二存貯裝置管理裝置中包括一個第四寄存器(RT)和一個第五寄存器RD,該第四寄存器中的內(nèi)容作為第二存貯裝置中內(nèi)容的最后一項(xiàng),第五寄存器中的內(nèi)容與第二存貯裝置中實(shí)際內(nèi)容的最后一項(xiàng)相同。11.如權(quán)利要求10所述的計算機(jī)體系結(jié)構(gòu),其中所述的第二存貯裝置管理裝置中還包括一個第八多路轉(zhuǎn)換器(MUX-RD),該第八多路轉(zhuǎn)換器選擇第四寄存器的輸出值和第五多路轉(zhuǎn)換器的輸出值之一作為寫入第二存貯裝置和第五寄存器中的內(nèi)容,從第二存貯裝置中讀出的內(nèi)容都通過第五寄存器進(jìn)行。12.如權(quán)利要求11所述的計算機(jī)體系結(jié)構(gòu),其中所述的第二存貯裝置管理裝置中還包括一個第二存貯裝置指針寄存器(RPL),用于確定對第二存貯裝置進(jìn)行讀出和寫入的地址,對第二存貯裝置進(jìn)行讀出和寫入的地址由一個第九多路轉(zhuǎn)換器(MUX-RPL)選擇第五多路轉(zhuǎn)換器的輸出值和第二存貯裝置指針寄存器的輸出值和該輸出值送入一個第三加一減一器(RPAS)后該第三加一減一器的輸出值之一做為對第二存貯裝置進(jìn)行讀出和寫入操作的實(shí)際地址。13.如權(quán)利要求12所述的計算機(jī)體系結(jié)構(gòu),其中所述的第九多路轉(zhuǎn)換器選擇第五多路轉(zhuǎn)換器的輸出值和第二存貯裝置指針寄存器的輸出值、第三加一減一器的輸出值和第一寄存器的輸出值之一做為對第二存貯裝置進(jìn)行讀出和寫入操作的實(shí)際地址。14.如權(quán)利要求13所述的計算機(jī)體系結(jié)構(gòu),其中所述的組合邏輯譯碼控制裝置包括一個指令譯碼裝置,一個組合邏輯裝置及一個時鐘脈沖延時和譯碼裝置,該時鐘脈沖延時和譯碼裝置提供一個第一小時鐘脈沖和一個第二小時鐘脈沖,由它們控制有先后次序的微操作。15.如權(quán)利要求14所述的計算機(jī)體系結(jié)構(gòu),其中所述的運(yùn)算裝置中的算術(shù)邏輯運(yùn)算裝置(ALU)中包括進(jìn)行九種邏輯、算術(shù)運(yùn)算(T+YT+YcT-YT-YcY-TY-Tc與(AND)或(OR)異或(XOR)),五種FORTH動詞操作(NIPDUP,SWAP,NIPOVER,DROPDUPDROPOVER)和ALU=T、ALU=Y(jié)的裝置。16.如權(quán)利要求15所述的計算機(jī)體系結(jié)構(gòu),其中還包括一個指令重復(fù)執(zhí)行控制裝置,它由一個指令重復(fù)執(zhí)行控制寄存器和一個第四加一減一器組成,該指令重復(fù)執(zhí)行控制寄存器的最高一位作為指令譯碼控制部件的輸入信號,在該信號有效時,指令譯碼控制部件發(fā)出重復(fù)執(zhí)行一條指令所需要的控制信號,每執(zhí)行一次當(dāng)前指令,第四加一減一器便把指令重復(fù)執(zhí)行控制寄存器的值減一。直至減到一個確定值為止。17.如權(quán)利要求16所述的計算機(jī)體系結(jié)構(gòu),其中的運(yùn)算裝置中還包括一個用于進(jìn)行開平方運(yùn)算的裝置,它利用指令重復(fù)執(zhí)行控制裝置重復(fù)執(zhí)行一條操作指令,來完成開平方操作,從而提高了計算機(jī)的開平方運(yùn)算速度,節(jié)省了硬件開銷。18.如權(quán)利要求16所述的計算機(jī)體系結(jié)構(gòu),其中所述的第一多路轉(zhuǎn)換器至少選擇下述各寄存器之一的內(nèi)容進(jìn)入算術(shù)邏輯運(yùn)算裝置參與運(yùn)算第一寄存器,第二寄存器,第三寄存器,第四寄存器,第五寄存器,第一存貯裝置指針寄存器,第二存貯裝置指針寄存器,主存貯裝置數(shù)據(jù)端口中的數(shù)據(jù)寄存器,開平方運(yùn)算裝置中的一個寄存器及主存貯裝置管理裝置中的一個指針寄存器。全文摘要本發(fā)明是一種支持第四代計算機(jī)高級語言FORTH,并采用RISC、CISC和WISC技術(shù)而設(shè)計的計算機(jī)體系結(jié)構(gòu),它包括新穎的棧管理部件、運(yùn)算部件、移位寄存器部件及控制部件等,所有這些部件的組合及單個設(shè)計都體現(xiàn)了本發(fā)明的總體構(gòu)思,與傳統(tǒng)的計算機(jī)相比,本發(fā)明的計算機(jī)的運(yùn)算速度更快,結(jié)構(gòu)更簡單,操作編程更容易和靈活。文檔編號G06F15/00GK1035571SQ89101048公開日1989年9月13日申請日期1989年3月4日優(yōu)先權(quán)日1989年3月4日發(fā)明者劉大力申請人:北京市大興多思軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
湘阴县| 岑巩县| 庄河市| 阳东县| 石屏县| 顺平县| 改则县| 海宁市| 济源市| 永福县| 友谊县| 黑龙江省| 太和县| 泰宁县| 阜新市| 高清| 广汉市| 霍州市| 侯马市| 屯昌县| 秦皇岛市| 攀枝花市| 黎川县| 衡东县| 旺苍县| 荆州市| 彭山县| 夹江县| 九龙县| 河北区| 互助| 高密市| 镶黄旗| 鄂伦春自治旗| 威信县| 蒙阴县| 建始县| 无为县| 永宁县| 沽源县| 轮台县|