專利名稱:一種pu-mu-chl結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明提供一種計(jì)算機(jī)核心部件結(jié)構(gòu)設(shè)計(jì)技術(shù),具體涉及到處理機(jī)、通道處理機(jī)和主存儲(chǔ)設(shè)備,外設(shè)通過內(nèi)部總線連接技術(shù)等。
2.背景技術(shù)現(xiàn)在流行是一種CPU-M結(jié)構(gòu)的計(jì)算機(jī)。這種計(jì)算機(jī)的核心部件主要有中央處理單元CPU和主存儲(chǔ)器M(簡稱內(nèi)存),它們通過內(nèi)部總線連接,形成了CPU-M結(jié)構(gòu)計(jì)算機(jī)的主體。為了與外部設(shè)備進(jìn)行信息交換,CPU-M結(jié)構(gòu)計(jì)算機(jī)又引進(jìn)外部總線,用通道處理機(jī)(簡稱通道)通過外部總線完成內(nèi)存與外設(shè)數(shù)據(jù)傳輸任務(wù)。這種結(jié)構(gòu)計(jì)算機(jī)有如下幾大問題(1)多處理機(jī)共用一個(gè)內(nèi)存,常發(fā)生內(nèi)存沖突;(2)多設(shè)備共用一條內(nèi)部總線,常發(fā)生內(nèi)部總線沖突;(3)引入外部總線,部件協(xié)作復(fù)雜,造成系統(tǒng)軟件開銷過大;(4)單一內(nèi)存的多任務(wù)執(zhí)行,軟件管理形式龐雜,系統(tǒng)效率低下。
造成以上問題的原因,主要來自于單內(nèi)存,單內(nèi)部總線的結(jié)構(gòu)設(shè)計(jì)。
針對CPU-M計(jì)算機(jī)結(jié)構(gòu)的缺陷,發(fā)明人姜詠江于2005年10月在《計(jì)算機(jī)應(yīng)用與軟件》雜志,以《內(nèi)存分塊并行計(jì)算機(jī)研究》為題,發(fā)表了PU-MU計(jì)算機(jī)核心結(jié)構(gòu)設(shè)計(jì)思想。這種設(shè)計(jì)思想提出了執(zhí)行單位PU(Performance Unit)和存儲(chǔ)單位MU(Memory Unit)的概念,指出了以PU、MU結(jié)合的方式執(zhí)行程序的新思路,為計(jì)算機(jī)設(shè)計(jì)提供了一種全新的設(shè)計(jì)理念。
3.發(fā)明內(nèi)容本發(fā)明的目的在于提供一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),這種設(shè)計(jì)使用多個(gè)存儲(chǔ)單位、多個(gè)執(zhí)行單位、多個(gè)通道處理機(jī)、多條內(nèi)部總線,施行交換連通方式同時(shí)執(zhí)行多個(gè)程序,形成一種多內(nèi)存多處理機(jī)的并行計(jì)算機(jī)系統(tǒng)。該設(shè)計(jì)能將通道處理機(jī)使用外部總線工作形式轉(zhuǎn)化為內(nèi)部總線工作形式,能夠克服CPU-M結(jié)構(gòu)計(jì)算機(jī)設(shè)計(jì)的缺點(diǎn),為計(jì)算機(jī)研制開發(fā)提供了一種全新的設(shè)計(jì)方法。
本發(fā)明具體提供的是3個(gè)執(zhí)行單位、6個(gè)存儲(chǔ)單位、2個(gè)通道、30條內(nèi)部總線的PU3-MU6-CHL2結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì)技術(shù)。其中(1)執(zhí)行單位PU,由運(yùn)算器及附屬設(shè)備、控制器及附屬設(shè)備、分析器及附屬設(shè)備組成一個(gè)整體,能夠與存儲(chǔ)單位MU通過內(nèi)部總線連通,連通之后,能夠立即在系統(tǒng)時(shí)鐘的作用下,執(zhí)行MU中的程序;(2)存儲(chǔ)單位MU,由程序計(jì)數(shù)器、堆棧指針、累加器、地址指針、存儲(chǔ)器及附屬設(shè)備等組成一個(gè)整體,它可與PU連通執(zhí)行程序的,還可以與通道處理機(jī)CHL連通,連通之后,也能夠立即執(zhí)行MU中內(nèi)存外設(shè)傳輸數(shù)據(jù)的程序;(3)通道處理機(jī)CHL,由通道控制器、通道指令分析器和一些附屬設(shè)備組成的一個(gè)整體,它以總線方式固定連接著若干個(gè)外部設(shè)備,它能與存儲(chǔ)單位MU通過內(nèi)部總線連通方式連接,連通之后,能夠立即在系統(tǒng)時(shí)鐘的作用下,執(zhí)行MU中的通道程序;(4)可控通斷總線CCB(Can Control Bus),由若干條中間連接著邏輯可控開關(guān)(雙向三態(tài)門電路)的導(dǎo)線組成,CCB兩端可以連接PU與MU,也可以連接CHL與MU,CCB不僅包含各種數(shù)據(jù)傳輸導(dǎo)線,而且包含各種控制信息傳輸?shù)膶?dǎo)線;(5)總線通斷控制器BCE(Bus Control Equipment),由標(biāo)志寄存器、置位鎖存器和邏輯電路等組成的設(shè)備連通斷開裝置,它能夠根據(jù)PU、MU和CHL的請求連接標(biāo)志寄存器的值,來確定MU與那個(gè)PU連通,或者M(jìn)U與那個(gè)CHL連通,它控制著每對可連通的設(shè)備最多只能有一條CCB被接通;(6)PU、CHL簡單指令系統(tǒng),由一些常用的計(jì)算機(jī)指令和PU-MU-CHL結(jié)構(gòu)的特殊指令構(gòu)成,指令是根據(jù)所給具體PU、CHL設(shè)計(jì)的,特殊指令包括轉(zhuǎn)向CHL執(zhí)行的PU指令和轉(zhuǎn)向PU執(zhí)行的CHL指令等;
本發(fā)明中執(zhí)行單位PU、存儲(chǔ)單位MU和通道CHL等,各自內(nèi)部設(shè)備的連接都是總線方式的,因而PU與MU連通(或CHL與MU的連通),就將雙方原總線上的各個(gè)設(shè)備通過總線連接在一起了,由于連通之后,控制線已經(jīng)接通,所以各設(shè)備可以像原來就連接在一起一樣工作。
本發(fā)明中的PU3-MU6-CHL2結(jié)構(gòu)計(jì)算機(jī)核心的每個(gè)MU與每個(gè)PU、CHL都有CCB連接著,由于不需要PU與CHL連接,因此共需要30條CCB。這30條CCB并不需要同時(shí)工作,不論何時(shí),與MU連接的CCB中最多只能有一條被接通,其余與之連接的各條CCB都處于斷開狀態(tài)。PU3-MU6-CHL2結(jié)構(gòu)計(jì)算機(jī)核心最多可以有5條CCB被接通,因此最多同時(shí)可以有5個(gè)MU在工作,另外沒有連通的MU處于等待狀態(tài),如果每個(gè)MU的存儲(chǔ)器中都有一個(gè)程序,那么最多同時(shí)就可以運(yùn)行5個(gè)程序,其中最多有2個(gè)程序在執(zhí)行輸入輸出操作,最多有3個(gè)程序在執(zhí)行非輸入輸出操作。
在程序執(zhí)行的過程中,每條CCB是否接通要由總線控制器BCE來指揮。BCE是根據(jù)PU、MU、CHL的連接請求標(biāo)志位的值來指揮的,其中MU有分別與PU、CHL連接的請求位,PU、CHL都只有與MU連接的請求標(biāo)志位。連接雙方對應(yīng)連接請求標(biāo)志位如果是“00”,規(guī)定保持原來的連通或斷開狀態(tài)不變;若是“01”或“10”,規(guī)定要施行斷開動(dòng)作,其中連接請求標(biāo)志位是“1”的一方,要從新尋求連接;若雙方對應(yīng)連接請求標(biāo)志位是“11”,那么必須按著優(yōu)先級(jí)順序施行連接,并在連通之后立即將雙方對應(yīng)連接請求標(biāo)志位變成“00”,這樣才能保持連通狀態(tài)。
本發(fā)明與現(xiàn)行計(jì)算機(jī)比較,程序運(yùn)行效率極高。由于每個(gè)MU都自帶本身程序運(yùn)行的“現(xiàn)場”,所以程序中斷時(shí)就不需要進(jìn)行“現(xiàn)場保護(hù)”,將來恢復(fù)程序運(yùn)行時(shí)也不需要“現(xiàn)場恢復(fù)”操作。利用多對PU和MU的動(dòng)態(tài)對應(yīng)連接,動(dòng)態(tài)交換,可以真正地實(shí)現(xiàn)多個(gè)程序同時(shí)運(yùn)行,而不是CPU-M結(jié)構(gòu)意義的短時(shí)間內(nèi)的程序交替執(zhí)行。在MU的數(shù)量足夠滿足PU連接需要的情況下,可以做到PU的“飽和”運(yùn)行狀態(tài),充分發(fā)揮處理機(jī)的作用。
4.
圖1是CPU-M結(jié)構(gòu)的計(jì)算機(jī)核心。這是發(fā)明人自己設(shè)計(jì)的CPU-M結(jié)構(gòu)簡單計(jì)算機(jī)。CPU由控制器CON,程序計(jì)數(shù)器PC、指令寄存器IR、堆棧指針SP、地址指針PTR、運(yùn)算器ALU、累加器A、寄存器B、數(shù)據(jù)寄存器X、Y等組成。設(shè)備IN和OUT代表輸入輸出裝置,不屬于核心部件的范圍。存儲(chǔ)器M包括隨機(jī)存儲(chǔ)器RAM和附屬地址寄存器MAR。
這個(gè)計(jì)算機(jī),內(nèi)部總線16條,高5位可以傳輸機(jī)器指令的操作碼,剩下的低11位可以傳輸操作數(shù),可以傳輸處理16位的數(shù)據(jù),因而數(shù)據(jù)寄存器和隨機(jī)存儲(chǔ)器RAM都是16位的。由于地址線有8條,所以存儲(chǔ)器最多有256個(gè)存儲(chǔ)單元。該計(jì)算機(jī)的地址寄存器MAR、程序計(jì)數(shù)器PC、指針寄存器PTR、堆棧指針SP等涉及地址信息設(shè)備都是8位的。X、Y、IN、OUT都是16位的數(shù)據(jù)寄存器。通過總線進(jìn)行數(shù)據(jù)交換的設(shè)備都有L門和E門控制線,可以通過它們控制從總線接收或發(fā)送數(shù)據(jù)。PTR和SP都有加1減1控制端,能夠進(jìn)行加1和減1操作。IN是16位可輸入寄存器,OUT是帶有發(fā)光二極管組的16位輸出寄存器。
帶有標(biāo)識(shí)的短線都是控制線,E帶有腳標(biāo)的為輸出控制線,L帶腳標(biāo)的是輸入控制線;除了Clr與Clk之外,C開頭的控制線是加一控制線,D開頭的控制線是減一控制線;Me、IO是決定RAM的讀寫線,Su是減法控制線;為了能夠在16位的數(shù)據(jù)中獲得8位的地址(也可以獲得8位的有效數(shù)據(jù))信息,特地將數(shù)據(jù)寄存器X的高8位引出了復(fù)位控制端Rx,當(dāng)Rx=1時(shí),X的高8位就變成了“00000000”。例如X=1111011100011011,當(dāng)Rx=1后,寄存器X的值就變成X=0000000100011011。Nf是指示累加器A中的數(shù)是負(fù)數(shù)的標(biāo)志,Zf是指示累加器A中的數(shù)是0的標(biāo)志。圖中雙線中的數(shù),表示導(dǎo)線的數(shù)量。
CPU-M結(jié)構(gòu)計(jì)算機(jī)核心部件的最大特點(diǎn)是一個(gè)CPU中包含一個(gè)程序計(jì)數(shù)器PC,并用PC確定全部程序的執(zhí)行順序。
圖2是計(jì)算機(jī)核心部件PU-MU結(jié)構(gòu),虛線框起的部分是PU,其余的部分都包含在MU中。這種結(jié)構(gòu)設(shè)計(jì)的要點(diǎn)是●將程序計(jì)數(shù)器PC移入MU;●將累加器A移入MU;●將算術(shù)邏輯部件ALU的一個(gè)數(shù)據(jù)寄存器換成同B一樣的寄存器C;
●將IR、CON、B、C、ALU組成一體,專門來執(zhí)行指令,記為PU;●將RAM、MAR、A、PC、SP、PTR、X、Y組成一體,專門存儲(chǔ)指令和數(shù)據(jù),記為MU。
圖中雙線中的數(shù),表示導(dǎo)線的數(shù)量。
圖3是計(jì)算機(jī)核心部件CHL-MU結(jié)構(gòu),虛線框起的部分是CHL。CHL沒有運(yùn)算器,連接著所有與之連接的外部設(shè)備的工作緩沖區(qū)DV,并通過L門和E門(輸入輸出控制線)決定輸入輸出。IR中有指令分析設(shè)備,CON中有控制矩陣來決定外部設(shè)備和輸入輸出方向等。圖中雙線中的數(shù),表示導(dǎo)線的數(shù)量。
圖4是計(jì)算機(jī)核心部件PU1-MU2結(jié)構(gòu)。這是1個(gè)PU和2個(gè)MU組織在一起的PU1-MU2結(jié)構(gòu)計(jì)算機(jī)核心部件,圖中k1、k2是2個(gè)雙向三態(tài)門組組成的可控開關(guān)的控制端,ki=1時(shí)(i=1、2),該組總線線路(包括控制線)接通,否則斷開。圖中雙線中的數(shù),表示導(dǎo)線的數(shù)量。
MUi(i=1、2)與PU總線接通時(shí),MUj(j=1、2,j≠i)就與PU斷開,在機(jī)器時(shí)鐘的作用下,就開始執(zhí)行MUi中的程序。
圖5是計(jì)算機(jī)核心部件PU3-MU6結(jié)構(gòu)設(shè)計(jì)。這是3個(gè)PU和6個(gè)MU組織在一起的計(jì)算機(jī)核心部件結(jié)構(gòu)示意圖。PU和MU形成了兩組,組間元素之間都有內(nèi)部總線CCB連接,共有18組總線,每組總線都用可控開關(guān)組管理線路通斷??煽亻_關(guān)組用專門的控制設(shè)備BCE來管理。
圖6是計(jì)算機(jī)核心部件PU3-MU6-CHL2結(jié)構(gòu)設(shè)計(jì)。這是在圖4的基礎(chǔ)上增加2個(gè)通道CHL形成的,CHL仍然使用內(nèi)部總線CCB與各MU連接。所有的外部設(shè)備都連接在某個(gè)CHL上,由通道CHL通過外部設(shè)備緩沖區(qū)DV進(jìn)行與內(nèi)存的數(shù)據(jù)交換。
圖7是PU3-MU6計(jì)算機(jī)結(jié)構(gòu)總線自動(dòng)通斷控制邏輯電路。p1、p2、p3、M1、M2、M3、M4、M5、M6是PU與MU申請連接的標(biāo)志寄存器組,統(tǒng)一用時(shí)標(biāo)Clk控制。整個(gè)電路運(yùn)用標(biāo)志寄存器組的標(biāo)志位來確定各總線的通斷。p1、p2、p3分別是PU1、PU2、PU3的連接請求標(biāo)志位,M1、M2、M3、M4、M5、M6分別是MU1、MU2、MU3、MU4、MU5、MU6的連接請求標(biāo)志位。E1~E18是18個(gè)雙向三態(tài)門組組成的可控開關(guān)組的控制端。U1、U2、U3是PU1、PU2、PU3的申請連接標(biāo)志位寄存器的復(fù)位端,T1、T2、T3、T4、T5、T6是MU1、MU2、MU3、MU4、MU5、MU6的申請與PU連接標(biāo)志位寄存器的復(fù)位端。
標(biāo)志寄存器的各自的輸入端分別是D1、D2、D3、D4、D5、D6、D7、D8、D9,各寄存器由相應(yīng)的Li門(i=1、2、…、9)控制輸入和持續(xù)時(shí)間,各寄存器的輸出端就用寄存器名標(biāo)注,分別是p1、p2、p2、M1、M2、M3、M4、M5、M6,這些線直接成為了設(shè)備連接優(yōu)先級(jí)電路的輸入線。
設(shè)備連接優(yōu)先級(jí)電路的輸出線C2C1R3R2R1就是開關(guān)確定電路的輸入線。開關(guān)確定電路的輸出線有18條,就是18個(gè)可控開關(guān)的控制線E1~E18。
E1~E18又是下面或門復(fù)位邏輯控制電路的輸入線,或門輸出端各連接一個(gè)微分電路。微分電路的輸出端直接連接在相應(yīng)標(biāo)志寄存器的復(fù)位端。
圖8是一位寄存器電路。(a)是標(biāo)志寄存器,x是輸入端,y是輸出端,L是輸入控制線,Clk是時(shí)標(biāo)線,Clear是復(fù)位控制線。(b)是置位鎖存器與可控開關(guān)符號(hào)。置位鎖存器是將輸入端與輸入控制線連在一起的標(biāo)志寄存器,輸出端直接連接在可控開關(guān)k的控制端上。
圖9是計(jì)算機(jī)核心部件PUm-MUn-CHLk結(jié)構(gòu)示意圖。圖中m、n、k都是自然數(shù),表達(dá)的是同種設(shè)備的數(shù)量。中間的部分是總線通斷控制器BCE,它控制著PU、CHL與MU的動(dòng)態(tài)連接。
5.具體實(shí)施方式
一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),可以構(gòu)造單處理機(jī)系統(tǒng)或多處理機(jī)系統(tǒng),實(shí)際上兩者之間只是PU、MU、CHL數(shù)量上的差異而已。這里僅以計(jì)算機(jī)核心部件PU3-MU6-CHL2結(jié)構(gòu)的計(jì)算機(jī)為例加以說明,掌握了這種具體計(jì)算機(jī)的結(jié)構(gòu)設(shè)計(jì),任何一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì)都不會(huì)有問題了。PU3-MU6-CHL2結(jié)構(gòu)的計(jì)算機(jī)設(shè)計(jì)具體可以按如下步驟實(shí)施。
(1)總體構(gòu)造PU、MU、CHL的數(shù)量PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì)要預(yù)先考慮計(jì)算機(jī)系統(tǒng)的需要和能力,確定PU、MU、CHL的數(shù)量,如果三者的數(shù)量分別用m、n、k來表示,那么一般情況下應(yīng)該有n>m>k,當(dāng)然如果大量的工作是數(shù)據(jù)交換,根據(jù)需要也可以考慮n>k>m。設(shè)定了PU、MU、CHL的數(shù)量,就確定了可控通斷總線CCB的條數(shù),CCB的總數(shù)是n×(m+k)。
(2)構(gòu)造PU、MU和CHLPU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì)中構(gòu)造PU、MU、CHL要有整體考慮,要根據(jù)計(jì)算機(jī)功能來布置總線連接的設(shè)備,組織好內(nèi)部的聯(lián)絡(luò)。下面結(jié)合附圖以具體的設(shè)計(jì)例子來說明設(shè)計(jì)方法。
1)PU與MU結(jié)構(gòu)設(shè)計(jì)圖1是出于程序設(shè)計(jì)功能考慮的CPU-M連接結(jié)構(gòu),該結(jié)構(gòu)可以設(shè)計(jì)出一般的指令系統(tǒng),可以實(shí)現(xiàn)程序設(shè)計(jì)的基本結(jié)構(gòu)形式,其中包括順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和子程序調(diào)用結(jié)構(gòu)。該計(jì)算機(jī)結(jié)構(gòu)可以進(jìn)行算術(shù)加減法運(yùn)算,可以實(shí)現(xiàn)成塊數(shù)據(jù)處理,可以通過寄存器IN和OUT與外設(shè)進(jìn)行數(shù)據(jù)交換??梢詫⑦@個(gè)簡單的CPU-M結(jié)構(gòu)的計(jì)算機(jī)轉(zhuǎn)化成PU-MU-CHL結(jié)構(gòu)設(shè)計(jì)。
圖2是計(jì)算機(jī)核心部件PU-MU結(jié)構(gòu),虛框之內(nèi)的部分就是執(zhí)行單位PU,虛框以外的部分就是存儲(chǔ)單位MU。圖中PU的設(shè)備與MU的設(shè)備是通過內(nèi)部總線連接在一起的,PU與MU之間沒有可控開關(guān)組控制通斷。如果將PU與MU之間的所有連接導(dǎo)線都加上可控開關(guān)組控制通斷,那么就形成了PU與MU之間用CCB連接的PU-MU結(jié)構(gòu)。
2)CHL與MU結(jié)構(gòu)設(shè)計(jì)圖3是將CHL與MU相連接形成的CHL-MU結(jié)構(gòu),虛框中是CHL,其中DV1~DVn是外部設(shè)備,CHL直接控制設(shè)備的緩沖區(qū),因而緩沖區(qū)也屬于CHL的組成部分。這里將緩沖區(qū)用外部設(shè)備標(biāo)識(shí)標(biāo)注,外部設(shè)備和緩沖區(qū)的結(jié)構(gòu)在此不進(jìn)行討論。CHL-MU結(jié)構(gòu)可以設(shè)置RAM與DV1~DVn的數(shù)據(jù)傳輸指令,數(shù)據(jù)傳輸指令由CHL的指令分析器IR和控制器CON分析控制執(zhí)行。將圖中CHL與MU的所有連接導(dǎo)線都加上可控開關(guān)組控制通斷,那么就形成了CHL與MU之間用CCB連接的CHL-MU結(jié)構(gòu)。
(3)PU3-MU6-CHL2結(jié)構(gòu)設(shè)計(jì)1)PU3-MU6連接結(jié)構(gòu)圖4是1個(gè)PU與2個(gè)MU連接的結(jié)構(gòu)設(shè)計(jì),它們之間的連接使用了CCB,k1k2是CCB的控制端,控制k1k2的值,就能夠選擇不同的MU與PU連接。圖5是PU3-MU6連接結(jié)構(gòu),共有18條CCB連接在PU與MU之間,CCB的控制端一律都由總線通斷控制器BCE控制。
2)PU3-MU6-CHL2連接結(jié)構(gòu)圖6是計(jì)算機(jī)核心部件PU3-MU6-CHL2結(jié)構(gòu)設(shè)計(jì),共有30條CCB總線分兩組將PU、CHL與MU連接起來,CCB根據(jù)需要接通和斷開,所有的CCB控制端都由總線通斷控制器BCE控制。
(4)PU3-MU6-CHL2總線對應(yīng)連接控制設(shè)計(jì)1)整體控制思想PU3-MU6-CHL2結(jié)構(gòu)要分別建立MU與PU,MU與CHL的連接線路,同種設(shè)備之間,PU與CHL之間沒有線路連接。不論那種設(shè)備,工作狀態(tài)中,只能與對應(yīng)的惟一的一個(gè)設(shè)備連接,為達(dá)到這一功能,必須在每組線路上加裝雙向三態(tài)門可控開關(guān)組,以便按需要控制通斷。PU3-MU6連接線路共有18條,要加18個(gè)可控開關(guān)組,MU6-CHL2連接線路共有12條,要加裝12個(gè)可控開關(guān)組。
為能夠進(jìn)行線路自動(dòng)通斷控制,在內(nèi)部總線連接控制器內(nèi),為每個(gè)MU設(shè)立申請連接CHL標(biāo)志寄存器和申請連接PU標(biāo)志寄存器,為每個(gè)CHL和PU都設(shè)立一個(gè)連接請求寄存器。PU3-MU6-CHL2結(jié)構(gòu)在總線連接控制器內(nèi),共要設(shè)置17個(gè)1位寄存器,寄存器中的數(shù)據(jù)就是1個(gè)標(biāo)志位。表1所列的是設(shè)備設(shè)置的連接請求標(biāo)志位名稱,也用這個(gè)名稱代表相應(yīng)標(biāo)志寄存器。
表1設(shè)備的請求連接標(biāo)志寄存器名稱 為了進(jìn)行有效地控制,規(guī)定同類設(shè)備序號(hào)小的連接優(yōu)先級(jí)高,還規(guī)定,一個(gè)MU的兩個(gè)申請連接位最多只能有一個(gè)值是“1”。
連接標(biāo)志位對連接的狀態(tài)可以規(guī)定是“00”保持狀態(tài);“01”或“10”表示斷開;“11”施行連接。
2)PU3-MU6連接優(yōu)先級(jí)電路設(shè)計(jì)PU3-MU6連接的優(yōu)先級(jí)設(shè)計(jì)可以用表2給出(為了書寫邏輯函數(shù)方便,表中每一條線都用一個(gè)字母表示)。將各開關(guān)的地址編碼用PU二進(jìn)制地址編碼C2C1和MU的二進(jìn)制地址編碼R3R2R1的組合C2C1R3R2R1來表示,開關(guān)組用Ek(k=1、2、…、18)標(biāo)識(shí)出來,并認(rèn)為就是相應(yīng)開關(guān)組的控制線。
在如上的假定條件之下,PUi(i=1、2、3)和MUj(j=1、2、3、4、5、6)的雙方連接順序都是從最小的空閑號(hào)設(shè)備開始。由于只要優(yōu)先級(jí)高的設(shè)備提出連接申請,優(yōu)先級(jí)低的設(shè)備無論如何也不會(huì)形成連接,故而是與后者無關(guān)的,所以優(yōu)先級(jí)真值表應(yīng)該是表2表達(dá)的形式。
表2PU-MU內(nèi)部線路自動(dòng)連接優(yōu)先級(jí)設(shè)計(jì) 表2中左邊9列變量的值“1”,表示對應(yīng)設(shè)備請求連接,值為“0”表示不請求連接。A~I(xiàn)分別代表3個(gè)PU和6個(gè)MU的連接請求。因變量L~z是5條地址線,它們組成18個(gè)開關(guān)組控制線的地址。
分析表2的自變量和因變量關(guān)系,可以得到開關(guān)地址線的邏輯函數(shù)(下列表達(dá)式中用“’”表示邏輯“非”運(yùn)算)。
L=A’B’C(D+D’E+D’E’F+D’E’F’G+D’E’F’G’H+D’E’F’G’H’I)M=A’B((D+D’E+D’E’F+D’E’F’G+D’E’F’G’H+D’E’F’G’H’I)X=(A+A’B+A’B’C)(D’E’F’G+D’E’F’G’H+D’E’F’G’H’I)Y=(A+A’B+A’B’C)(D’E+D’E’F+D’E’F’G’H’I)Z=(A+A’B+A’B’C)(D+D’E’F+D’E’F’G’H)將這些函數(shù)化簡可以得到開關(guān)組地址線的函數(shù),將這些函數(shù)的電路畫出就是“設(shè)備連接優(yōu)先級(jí)電路”。再由5條地址線做自變量,可以得到各開關(guān)控制線的邏輯函數(shù)。
E1=L’M’X’Y’ZE2=L’M’X’YZ’E3=L’M’X’YZ………………E18=LM’XYZ’由這些函數(shù)得到的連接邏輯電路叫“確定開關(guān)電路”。
3)PU3-MU6開關(guān)控制邏輯設(shè)計(jì)開關(guān)的接通與否是受PU,MU的申請連接標(biāo)志位控制的,PU、MU的申請連接可以用二元組(p,m)的值來說明。(p,m)值的意義如下(p,m)=(0,0)時(shí),PU、MU保持原狀態(tài);
(p,m)=(0,1)時(shí),PU、MU斷開連接;(p,m)=(1,0)時(shí),PU、MU斷開連接;(p,m)=(1,1)時(shí),PU、MU實(shí)行連接。
從(p,m)的值能夠知道,當(dāng)一個(gè)開關(guān)的控制端Ek=1時(shí),相應(yīng)的設(shè)備的二元組(p,m)的值是(1,1),如果不將這個(gè)值及時(shí)變成(0,0),那么優(yōu)先級(jí)電路會(huì)認(rèn)為這2個(gè)設(shè)備還需要建立連接,如果此時(shí)恰有優(yōu)先級(jí)較高的設(shè)備提出連接申請,那么已經(jīng)建立的連接就可能會(huì)斷開,這就不能夠保證正常的工作。為此當(dāng)Ek=1之后,必須立即將對應(yīng)的(p,m)值變成(0,0),以便這兩個(gè)連接的設(shè)備不再參與連接競爭。
要使(p,m)值從(1,1)變成(0,0)必須在機(jī)器的下一個(gè)節(jié)拍完成,而且一直要保持到兩個(gè)設(shè)備需要斷開的時(shí)候?yàn)橹?。這項(xiàng)功能可以用反饋實(shí)現(xiàn)。另一方面,雙向三態(tài)門電路的控制端,要求在連接的過程中一直保持值為“1”,而優(yōu)先級(jí)電路使Ek=1可能是瞬間的情況,因此也不能直接將Ek和雙向三態(tài)門電路的控制端直接連在一起。為此在雙向三態(tài)門電路控制端的前面連接一個(gè)置位鎖存器,該置位鎖存器輸入是“1”時(shí),寄存器的置位,而當(dāng)輸入是“0”時(shí),由于L門封閉,故不可能發(fā)生數(shù)據(jù)改變。要想改變這個(gè)置位鎖存器的值,惟一的辦法就是用復(fù)位端Clear置“1”解決。這個(gè)寄存器可以將“1”留住一段時(shí)間,因此叫置位鎖存器。
置位鎖存器的復(fù)位端Clear直接納入控制總線,成為總線控制字中的一員,這樣斷開總線的連接,就用指令來完成。
4)MU6-CHL2連接優(yōu)先級(jí)電路設(shè)計(jì)MU6-CHL2開關(guān)控制邏輯設(shè)計(jì)和PU3-MU6的邏輯設(shè)計(jì)有一些不同,連接控制由四元組(mc,mf,c,cf)的值來決定的。四元組(mc,mf,c,cf)中mf、cf是通道編號(hào),這里只有2個(gè)通道,用1條線就可以表示了,如果是4個(gè)通道,就得用2條線表達(dá)。產(chǎn)生連接的條件是(1,0,1,0)或(1,1,1,1),因?yàn)槊總€(gè)編號(hào)的通道都只有1個(gè),所以通道一方連接沒有優(yōu)先級(jí)問題,而是用通道編號(hào)核對。在MU一方,因?yàn)榭赡苡卸鄠€(gè)MU同時(shí)連接同一個(gè)通道,所以必須使用優(yōu)先級(jí)電路解決沖突。通過表3可以求得相應(yīng)的變量邏輯表達(dá)式。
表3CHL-MU內(nèi)部線路自動(dòng)連接優(yōu)先級(jí)設(shè)計(jì) M=BCD((E+E’F+E’F’G+E’F’G’H+E’F’G’H’I+E’F’G’H’I’J)X=(AC’D’+BCD)(E’F’G’H+E’F’G’H’I+E’F’G’H’I’J)Y=(AC’D’+BCD)(E’F+E’F’G+E’F’G’H’I’J)Z=(AC’D’+BCD)(E+E’F’G+E’F’G’H’I)繼而可以求出開關(guān)依據(jù)地址線M、X、Y、Z表達(dá)的邏輯關(guān)系式。
K1=M’XYZK2=MXY’Z……………K12=MXYZ’依據(jù)這些表達(dá)式就能對應(yīng)得到開關(guān)地址線和開關(guān)控制線的邏輯電路。
5)MU6-CHL2開關(guān)控制邏輯設(shè)計(jì)注意,對于CHL來說,cf的值是固定的,這里僅有2個(gè),CHL1中cf=0,CHL2中cf=1,如果通道多于2個(gè),那么cf就是一個(gè)多位二進(jìn)制數(shù)。對于MU來說mf是可變的,需要與CHL1連接時(shí),mf=0,需要與CHL2連接時(shí),mf=1,這些設(shè)置一般由指令完成。
使用中,MU與CHL連接起作用的有二元組(c,mc)和(cf,mf),(c,mc)的值決定狀態(tài),而(cf,mf)只起核對設(shè)備的作用。在MU提出連接CHL的申請時(shí),要將標(biāo)志位mc置位(mc=1),但只要MU的CHL申請標(biāo)志位mc為“1”,那么MU的PU申請連接標(biāo)志位m就得變?yōu)椤?”,這是為了數(shù)據(jù)正確性的需要。
MU6-CHL2控制邏輯具體設(shè)計(jì)與PU3-MU6電路設(shè)計(jì)雷同,在此從略。
(5)邏輯控制電路工作原理PU3-MU6-CHL2結(jié)構(gòu)計(jì)算機(jī)啟動(dòng)之初,每個(gè)PU、CHL都設(shè)置為提出連接申請,每個(gè)MU都會(huì)設(shè)置成提出與CHL連接的申請。這種情況,MU只會(huì)與CHL按著優(yōu)先順序連接,而不會(huì)與PU連接。與CHL連接之后,立即會(huì)使已經(jīng)連接上的CHL的連接請求位復(fù)位,MU的要求與CHL的連接請求位復(fù)位,使它們不再參與連接競爭。連接之后,CHL立即會(huì)從MU存儲(chǔ)器的初始位置開始執(zhí)行管理程序,從默認(rèn)的輸入緩沖區(qū)將要執(zhí)行的程序讀入存儲(chǔ)器,并將該程序執(zhí)行的地址放入MU的程序計(jì)數(shù)器,最后將MU的要求與PU連接請求位用指令置“1”,將CHL連接請求位用指令置“1”,這樣就會(huì)斷開這個(gè)MU與CHL的連接,MU會(huì)投入與PU的連接的競爭,而CHL將回到與另外要求與CHL連接的競爭中。
已經(jīng)裝入了可執(zhí)行程序的MU,通過連接優(yōu)先級(jí)電路獲得與PU的連接,連接之后會(huì)立即將雙方的申請位復(fù)位,退出連接競爭。連接好的PU、MU就會(huì)根據(jù)程序計(jì)數(shù)器的指示執(zhí)行程序。
執(zhí)行中的程序如果需要輸入輸出,那么需要用指令填寫MU的CHL申請連接位,指定通道序號(hào),指定外設(shè),指定內(nèi)存數(shù)據(jù)位置等,然后將所連接的PU的連接申請位置位,這樣會(huì)斷開PU與MU的連接,將MU投入到連接CHL的競爭,將PU投入另外的與MU連接的競爭當(dāng)中。程序執(zhí)行完成的變化情況也大體如此,只是指定MU要連接的是程序輸入設(shè)備。
(6)PU3-MU6-CHL2結(jié)構(gòu)計(jì)算機(jī)指令設(shè)計(jì)表4、5是PU-MU-GHL結(jié)構(gòu)的計(jì)算機(jī)一些指令設(shè)計(jì),設(shè)計(jì)中要注意兩點(diǎn)第一、任何一條指令的初始信息和結(jié)果信息都要放在MU中;第二、所有的輸入輸出都是經(jīng)過CHL進(jìn)行的。
表4PU指令系統(tǒng)設(shè)計(jì)
表5CHL指令系設(shè)計(jì) 由于徹底地劃分了存儲(chǔ)單位和執(zhí)行單位,PU-MU-CHL結(jié)構(gòu)和CPU-M結(jié)構(gòu)計(jì)算機(jī)相比,相同指令的基本動(dòng)作會(huì)有所改變。
例如,減法指令SUB的例行程序,CPU-M結(jié)構(gòu)計(jì)算機(jī)原為①Ep=1,Lm=1(將PC的值送到MAR選中指令);②Me=1,Li=1(將RAM的內(nèi)容送到寄存器IR,將指令取出);③Cp=1(PC加1);④Ei=1,Lm=1(IR的低8位送到MAR,選中指令指示的地址);⑤Me=1,Lb=1(RAM的內(nèi)容送到B);⑥Eu=1,La=1,IO=1(ALU的內(nèi)容送到A)。
PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)的減法指令SUB的例行程序變?yōu)棰貳p=1,Lm=1(將PC的值送到MAR選中指令);②Me=1,Li=1(將RAM的內(nèi)容送到寄存器IR,將指令取出);③Cp=1(PC加1);④Ei=1,Lm=1(IR的低8位送到MAR,選中指令指示的地址);⑤Me=1,Lb=1(RAM的內(nèi)容送到B);⑥Ea=1,Lc=1(A的內(nèi)容送到C);⑦Eu=1,La=1,IO=1(ALU的內(nèi)容送到A)。
雖然這樣劃分之后例行程序增加了一個(gè)節(jié)拍,然而會(huì)對多道程序的并發(fā)執(zhí)行帶來不小的優(yōu)勢。從例行程序的例子可以看到PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)所有指令的初始信息來自MU,而執(zhí)行的結(jié)果信息全部信息都回收到MU,這就使PU或CHL完全成為了一個(gè)“加工廠”,因而一個(gè)MU的程序指令執(zhí)行完成之后,可以立即換到另一個(gè)MU的程序執(zhí)行,實(shí)現(xiàn)了程序執(zhí)行的交替。由于程序執(zhí)行的環(huán)境就保存在程序所在的MU中,所以不用額外地產(chǎn)生“現(xiàn)場”保存和恢復(fù)的開銷,必然提高計(jì)算機(jī)的運(yùn)行效率。
(8)程序設(shè)計(jì)方式由于PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)運(yùn)行當(dāng)中,可以任意地進(jìn)行PU執(zhí)行方式和CHL執(zhí)行方式的交換,故而通道指令和處理機(jī)指令完全可以混在一個(gè)程序中書寫,常用功能程序可以編寫成子程序調(diào)用,十分方便。由于程序中斷執(zhí)行和恢復(fù)運(yùn)行取決于MU是否與PU連接或者與CHL連接,故而不需要建立額外的實(shí)體來控制程序的這種狀態(tài)變換,可以取消“進(jìn)程”的引入,程序運(yùn)行管理更加方便。由于MU中有堆棧,一般子程序的調(diào)用仍然可以使用。如果要多次地運(yùn)行一個(gè)程序,可以將其分別放入不同的MU,這樣就完全能達(dá)到執(zhí)行中互不干擾。
PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)采用的是真正并行執(zhí)行方式,不同的程序之間沒有執(zhí)行中的“臨界資源”,因而不必考慮如何達(dá)到互斥執(zhí)行的情況,在管理上簡單方便。
權(quán)利要求
1.一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),總體上仍然采用總線結(jié)構(gòu)來關(guān)聯(lián)各種設(shè)備,拋棄了CPU-M方法中一個(gè)CPU使用一個(gè)程序計(jì)數(shù)器來控制計(jì)算機(jī)全體程序運(yùn)行的做法,改用記錄程序和程序運(yùn)行環(huán)境的存儲(chǔ)單位MU來決定各自程序的運(yùn)行條件,用執(zhí)行單位PU與MU結(jié)合來執(zhí)行程序,這樣就形成了一個(gè)處理機(jī)可以對應(yīng)多個(gè)地位相同的存儲(chǔ)器的計(jì)算機(jī)結(jié)構(gòu),反之,一個(gè)存儲(chǔ)器也可以對應(yīng)多個(gè)地位相同的處理機(jī),其中也包括專門用于傳輸數(shù)據(jù)的通道處理機(jī)。利用PU-MU-CHL結(jié)構(gòu)設(shè)計(jì)技術(shù)很容易組織并行計(jì)算機(jī)系統(tǒng),而且并行的處理機(jī)和存儲(chǔ)器的組合數(shù)量沒有限制。傳統(tǒng)的并行計(jì)算機(jī)由于共用一個(gè)內(nèi)存,即使在處理機(jī)使用高速緩存(cache),也仍然不能夠作到各處理機(jī)的同時(shí)運(yùn)行,并且處理機(jī)的數(shù)量增加,內(nèi)部總線的數(shù)量和內(nèi)存的數(shù)量都不會(huì)增加,這樣的結(jié)構(gòu)還受到內(nèi)存與高速緩存數(shù)據(jù)傳輸速度的限制,在一定的處理機(jī)數(shù)量之上,整機(jī)的效率會(huì)急遽下降。PU-MU-CHL結(jié)構(gòu)的計(jì)算機(jī),完全不會(huì)出現(xiàn)CPU-M計(jì)算機(jī)的這種問題,因?yàn)殡S著處理機(jī)和存儲(chǔ)器的增加,也就是PU、MU或CHL的增加,總線的數(shù)量也會(huì)隨之增加,每個(gè)運(yùn)行的程序都有自己的運(yùn)行環(huán)境和自己使用的總線,雖然同處在一個(gè)計(jì)算機(jī)中同時(shí)運(yùn)行,但彼此之間互不干擾。這種真正的并行運(yùn)行,會(huì)帶來高級(jí)別的工作效率是不言而喻的。一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),其特征是一個(gè)計(jì)算機(jī)中使用多條內(nèi)部總線連接處理機(jī)(PU、CHL)和內(nèi)存設(shè)備(MU),連接在處理機(jī)和內(nèi)存間的總線可以連通,利用連通總線能夠傳輸信息,有專門的硬件控制設(shè)備,解決要求連通一方與哪一個(gè)對方連接的總線連通,連通的兩部分形成總線結(jié)構(gòu)的一個(gè)整體,借助系統(tǒng)時(shí)鐘自動(dòng)執(zhí)行程序,形成多個(gè)程序同時(shí)運(yùn)行;另外,如果是CHL與MU連通,那么執(zhí)行的程序就是在進(jìn)行輸入輸出,外設(shè)與內(nèi)存的數(shù)據(jù)交換,不是通過外部總線進(jìn)行,而是通過內(nèi)部總線完成的。
2.如權(quán)利要求1所述的一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),其特征在于所述PU、CHL與MU的自動(dòng)連通設(shè)計(jì)和程序自動(dòng)執(zhí)行,確定執(zhí)行指令的程序計(jì)數(shù)器和堆棧指針等,在每個(gè)MU中都各有一個(gè)。
3.如權(quán)利要求2所述的一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),其特征在于通過對應(yīng)標(biāo)志寄存器、連通優(yōu)先級(jí)邏輯電路、置位鎖存器、反饋復(fù)位對應(yīng)標(biāo)志寄存器的裝置、MU中特定通道編號(hào)寄存器等,完成自動(dòng)連通、保持連通,用特定指令完成標(biāo)志填寫,實(shí)現(xiàn)程序斷續(xù)執(zhí)行和PU、MU轉(zhuǎn)換執(zhí)行。
全文摘要
一種PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)核心設(shè)計(jì),是計(jì)算機(jī)核心部件設(shè)計(jì)領(lǐng)域的一項(xiàng)新的設(shè)計(jì)方法。按著PU-MU-CHL結(jié)構(gòu)設(shè)計(jì)的計(jì)算機(jī),可以解決長期以來難以解決的計(jì)算機(jī)總線沖突和內(nèi)存沖突,真正實(shí)現(xiàn)任意的,多內(nèi)存多任務(wù)的并行計(jì)算機(jī)核心結(jié)構(gòu)。PU-MU-CHL結(jié)構(gòu)采用外部總線內(nèi)部化,讓通道CHL像PU一樣工作,在需要時(shí)自動(dòng)交替與MU連接,提高了計(jì)算機(jī)完成任務(wù)的能力和效率。PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)將主要的管理工作交給了硬件,不再使用“進(jìn)程”來同時(shí)運(yùn)行多個(gè)程序,超過處理器個(gè)數(shù)的多個(gè)程序執(zhí)行,可以在指令周期間歇立即切換,再次執(zhí)行暫停的程序,無需多余的動(dòng)作。PU-MU-CHL結(jié)構(gòu)計(jì)算機(jī)程序設(shè)計(jì)簡單。
文檔編號(hào)G06F15/16GK1881201SQ20061007276
公開日2006年12月20日 申請日期2006年4月10日 優(yōu)先權(quán)日2006年4月10日
發(fā)明者姜詠江 申請人:姜詠江, 姜展, 姜闊