專利名稱:處理機輸入/輸出和中斷過濾器的制作方法
本發(fā)明一般地涉及處理機的控制問題,更具體地涉及通過第二個處理機來控制系統(tǒng)資源的利用問題。第二個處理機運行一個程序不同于主處理機正在執(zhí)行的程序。
現(xiàn)在微處理機很容易獲得,這一事實使得各種性能的小型計算機(包括大家熟悉的個人計算機)急劇增加。然而,即使拿5年以前的所謂“個人計算機”的平均水平與目前工藝高超的“個人計算機”的水平相比,前者也只能認為是一種非常原始的裝置。
很多個人和商業(yè)團體都已購置了個人計算機系統(tǒng),而且編寫或購置了計算機程序軟件,以便恰當(dāng)?shù)孛钣嬎銠C執(zhí)行選定的任務(wù),如文字處理和數(shù)據(jù)處理。
由于這種個人計算機技術(shù)發(fā)展非???,因此,迫切需要系統(tǒng)的各個組成部分有一定程度的相容性。這就導(dǎo)致標(biāo)準(zhǔn)化(無論是官方規(guī)定的還是事實上存在的)的推行。在大多數(shù)情況下,這種標(biāo)準(zhǔn)化允許把很多年以前為當(dāng)時的計算機系統(tǒng)購置的輸入/輸出(1/0)硬件裝置用于具有當(dāng)前工藝水平的系統(tǒng)之中。雖然,從當(dāng)前的標(biāo)準(zhǔn)來看,這些硬件裝置已經(jīng)是相當(dāng)原始的了。
然而,由于硬件技術(shù)的發(fā)展,程序軟件以及大量的數(shù)據(jù)文件(它們通常是使用程序軟件時產(chǎn)生的結(jié)果)已經(jīng)提出了錯宗復(fù)雜的相容性問題。舉例來說,大多數(shù)早期的個人計算機都是八位的機器,在這種機器當(dāng)中處理機每次只能處理一個八位的字節(jié)。后來,計算機技術(shù)發(fā)展到使用16位的處理機,最近,又發(fā)展到使用32位的處理機。雖然,最初為八位的處理機編寫的軟件可以用于或者可以使它們適用于32位的處理機系統(tǒng),但是,一般說來,如果這一軟件原來就打算在32位處理機上運行的話,那么,這個應(yīng)用程序完全可以編寫成一個運行效率更高性能更好的程序。當(dāng)然,這種處理方法帶來的問題是很明顯的這些為8位和16位處理機設(shè)計的大量軟件和數(shù)據(jù)庫已經(jīng)付出了代價。
因此,人們顯然還是期望能夠在更加現(xiàn)代化、性能更佳的計算機系統(tǒng)上使用已經(jīng)存在的軟件以及與其相聯(lián)系的數(shù)據(jù)文件。再者,當(dāng)使用更新、性能更佳的計算機設(shè)備時,應(yīng)該發(fā)揮其能力更強的優(yōu)點。這就是說,如果更新的、性能更佳的計算機設(shè)備受到較落后的、能力較低的軟件的牽制而得不到充分的利用,那么,多花的錢就不能說是正確的了。因此,在以前的工藝中雖然已經(jīng)使用了附加的處理機(有時稱之為協(xié)同處理機)以便使計算機具有一些特殊的、新的功能(例如數(shù)字的或浮點的十進制能力),但是,以前典型的協(xié)同處理機工藝把原有的處理機降低到特殊目的控制器(例如輸入/輸出控制器)的地位,而本發(fā)明的新附加協(xié)同處理機卻添加了附加的功能。
與上述使用協(xié)同處理機的先有工藝形成鮮明的對照,本發(fā)明建議使用一個附加的、不先進的(與具有當(dāng)前工藝技術(shù)水平的主處理機相比)處理機,以便在最新的、性能最佳的計算機系統(tǒng)中仍然使用已經(jīng)存在的、功能較低、或性能較差的程序以及與其相聯(lián)系的已有的數(shù)據(jù)文件。在這種結(jié)構(gòu)形式下,主處理機能夠執(zhí)行與協(xié)同處理機無關(guān)的高性能程序。協(xié)同處理機是這樣配置的它使已經(jīng)存在的老一代的程序以及與其有聯(lián)系的數(shù)據(jù)文件能夠基本上與正在由主處理機執(zhí)行的程序同時運行。
然而,在剛剛介紹的結(jié)構(gòu)當(dāng)中,可能會產(chǎn)生兩個處理機爭奪系統(tǒng)資源的問題。這種問題是可以解決的,因為從每個處理機的角度來看,完全不同的操作系統(tǒng)對系統(tǒng)環(huán)境來說都是同樣有效的。因此,允許兩個處理機并行運行,協(xié)同處理機通過第一類操作系統(tǒng)運行應(yīng)用程序,而主處理機則通過另一個操作系統(tǒng)運行其他的程序,這種配置雖然是一個很大的進步,但是,人們?nèi)匀环浅F谕峁┮环N控制技術(shù),以解決由于兩個處理機使用同一個輸入/輸出裝置所引起的爭用問題,并期望解決兩個處理機所引起的系統(tǒng)的中斷處理問題。
因此,在協(xié)同處理機環(huán)境中采用了一種控制技術(shù),在這種環(huán)境中,主處理機和協(xié)同處理機共亨輸入/輸出設(shè)備,主處理機運行一組已知的支持碼,而協(xié)同處理機運行與主處理機有關(guān)的、不知道起源地址的碼。由于附加了與協(xié)同處理機有關(guān)的控制邏輯電路,所以,共亨輸入/輸出資源的實際管理工作對在協(xié)同處理機中運行的軟件是透明的。這一點是通過提供的與隨機存取存儲器結(jié)合在一起的俘獲邏輯電路來實現(xiàn)的。該存儲器能夠由主處理機裝入,它的里面含有可被共亨輸入/輸出裝置的協(xié)同處理機使用的當(dāng)前數(shù)據(jù)。根據(jù)對使用各種共亨輸入/輸出設(shè)備的當(dāng)前需要,主處理機可以對俘獲邏輯電路進行動態(tài)控制。該控制技術(shù)還使用另一種邏輯電路,該電路利用主處理機為協(xié)同處理機執(zhí)行向輸入/輸出設(shè)備的存取,以便當(dāng)直接存取不能實現(xiàn)時,能夠有效地提供協(xié)同處理機向輸入/輸出設(shè)備進行存取的需要。如果在編寫協(xié)同處理機的程序時使用的那臺輸入/輸出設(shè)備在系統(tǒng)中不存在,或已經(jīng)由一個改進的輸入/輸出設(shè)備所代替,主處理機可以仿效原來的輸入/輸出設(shè)備。
此外,邏輯電路是與協(xié)同處理機聯(lián)合起來管理發(fā)給協(xié)同處理機插件或者從協(xié)同處理機插件發(fā)出的中斷控制,這樣,就能防止在主處理機利用系統(tǒng)部件時互相干擾。
本發(fā)明的上述目標(biāo)和其他目的、特性、擴展范圍以及各種優(yōu)點將要在下面具體介紹本發(fā)明的最佳實施方案(如附圖所示)時加以描述。
圖1是計算機系統(tǒng)體系結(jié)構(gòu)的系統(tǒng)與配置方框圖,該系統(tǒng)的體系結(jié)構(gòu)使用按照本發(fā)明技術(shù)管理的主處理機和協(xié)同處理機。
圖2是圖1所示系統(tǒng)中協(xié)同處理機部分的方框圖。
圖3是圖2中所示的中斷過濾器的詳細邏輯圖。
圖4是圖2中所示的輸入/輸出過濾器的詳細邏輯圖。
圖5是輸入/輸出過濾器的主處理機所描述的裝置的方框圖。
圖6中的方框圖描述了圖3到圖5中所示邏輯電路的寄存器的內(nèi)容。
圖1展示了計算機系統(tǒng)體系結(jié)構(gòu)的系統(tǒng)配置的方框圖。該統(tǒng)體系結(jié)構(gòu)使用了主處理機和協(xié)同處理機。主處理機11通過通道12連接到存儲控制器13上。主處理機可以是例如Motorola公司的68000或者Intel公司的80286微處理機,當(dāng)然本專業(yè)技術(shù)人員都明白,主處理機11實際上可以是任何型號、任何速度的普通處理機。因此,本發(fā)明決不是僅僅局限于微處理機環(huán)境。存貯控制器13可以是,例如Intel公司的80202,特別是,如果主處理機是Intel公司的80286,那么用該公司的80202做存儲控制器就更加合適。通道14把存儲控制器13連接到系統(tǒng)的存儲器15上。系統(tǒng)存儲器15是一個典型的隨機存取存儲器。
輸入/輸出總線16把控制器13接到若干個輸入/輸出設(shè)備上,這些輸入/輸出設(shè)備包括固定磁盤或硬文件17、軟磁盤驅(qū)動器18、打印機19、視頻顯示路端20和鍵盤21。除了前面提到的輸入/輸出設(shè)備17到21之外,一個協(xié)同處理機插件22也連接到輸入/輸出總線16上。除了鍵盤以外,輸入/輸出設(shè)備17到21中的每個設(shè)備都與輸入/輸出總線16中的中斷線相連。鍵盤的中斷信號直接傳送到主處理機11上,不在輸入/輸出總線16上出現(xiàn)。
在協(xié)同處理機插件22各部分的功能方框圖中(參閱圖2),協(xié)同處理機插件的核心部分25包括處理機本身、一個中斷控制器和一個或多個局部輸入/輸出設(shè)備;處理機可以是,例如Tntel公司的80286微處理機,中斷控制可以是,例如Intel公司的8259,局部輸入/輸出設(shè)備可以包括,例如一個定時器,日鐘時間和聲音產(chǎn)生裝置從該定時器接收它們的時間信號。此外,當(dāng)主處理機具有較高的優(yōu)先級使用連接在輸入/輸出總線16上的輸入/輸出設(shè)備17到21時,輸入/輸出過濾器26(它可以由主處理機11控制)被用來阻止協(xié)同處理機插件22向這些設(shè)備非存取。為了同樣的目的,中斷過濾27被用來控制與協(xié)同處理機有關(guān)的中斷。中斷過濾器27能夠有選擇地封鎖從輸入/輸出總線16而來的中斷線以阻止協(xié)同處理機對它們的響應(yīng)。中斷過濾器27的邏輯電路也能允許主處理機11產(chǎn)生中斷,通過輸入/輸出設(shè)備輸出到協(xié)同處理機插件22。利用這種辦法,可以允許協(xié)同處理機處理任何中斷,或者主處理機11可以由它自己來自處理中斷并給協(xié)同處理機再產(chǎn)生一個中斷。因此,主處理機11能夠模擬任何輸入/輸出設(shè)備。
現(xiàn)在參看圖3。它展示了協(xié)同處理機插件22內(nèi)中斷過濾器27的邏輯方框圖。為了解本說明的剩余部分,參閱圖6是有幫助的,該圖給出了各個寄存器和存儲器中的內(nèi)容。這些寄存器和存儲器將在下面加以介紹?,F(xiàn)在講述可以和協(xié)同處理機插件22發(fā)生聯(lián)系的四種類型的中斷狀態(tài)。所考慮的第一種類型的中斷(可能是最常見的中斷)是通過一組總線中斷線31到達一組與門電路30的。在本描述中,可以認為能夠沿著總線中斷線31傳送到與門30的中斷級別是總線中斷1到5級。假定中斷1到5中的一個中斷在與門30中一個合適的與門上出現(xiàn),如果與門30中的這個與門與屏蔽寄存器32的條件相符(正如下面將要解釋的那樣),中斷就通過與門30選通,然后,再通過或門33、中斷控制器34最后到達協(xié)同處理機35的中斷線。如上所述,如果協(xié)同處理機35是Intel公司的80286,中斷控制器34可以用Intel公司的8259。
為了使這組與門30具備讓中斷信號通過的適當(dāng)條件,屏蔽寄存器32必須事先由主處理機11通過數(shù)據(jù)總線16的輸入1輸出部分16a加載。如果主處理機11希望協(xié)同處理機35直接響應(yīng)總線中斷1到5中的任一個中斷,為了使這一組與門30(和每一個門)具備與可能的總線中斷1到5中的每個中斷信號相符的恰當(dāng)條件,在與總線中斷1到5中的每個中斷相關(guān)的屏蔽寄存器32中設(shè)置一個分離位。這樣,如果主處理機正在使用資源以致不允許協(xié)同處理機35直接響應(yīng)總線中斷1到5的一個中斷時,主處理機11能夠動態(tài)地將屏蔽寄存器32中與這一中斷(它是主處理機11想要禁止協(xié)同處理機35響應(yīng)的)相聯(lián)系的位關(guān)斷。作為這方面的一個例子,假定中斷級3是與固定磁盤17有關(guān)。并假定協(xié)同處理機35正在對固定磁盤17進行讀和(或)寫,如果主處理機11產(chǎn)生了對固定磁盤17進行存取的要求,那末,主處理機11可以把屏蔽寄存器32中與中斷級3相聯(lián)系的位從1復(fù)位到0,這種復(fù)位將使與門30這些門中與中斷級3有關(guān)的那個與門喪失開門的條件。
與協(xié)同處理機插件22相聯(lián)系的另一種類型的中斷是界處中斷。它與來自界內(nèi)的中斷是截然不同的。在這種情況下,協(xié)同處理機插件上另一個邏輯電路37必須對主處理機11提出中斷的請求。這種中斷在圖3中用中斷級6表示。由于這種中斷并不在總線中斷線31上,因此,它不傳送給與門30。這種情況也理應(yīng)如此,因為中斷是準(zhǔn)備給主處理機11用的,而不是準(zhǔn)備給協(xié)同處理機35用的。
與協(xié)同處理機插件22有關(guān)的第三種類型的中斷是準(zhǔn)備給協(xié)調(diào)處理機35用的中斷。在協(xié)同處理機插件22上該中斷信號來自插件的方框40所描述的局部輸入/輸出設(shè)備中的一個。如上所述,這個輸入/輸出設(shè)備可以是,例如一個定時器,它周期性地發(fā)出一個信號,而日鐘的時間就按照這個信號更新。在這種情況下,從局部輸入/輸出設(shè)備40發(fā)出的中斷沿著線36直接傳送給中斷控制器34的0級中斷輸入,然后再傳送到協(xié)同處理機35的中斷輸入端。
由協(xié)同處理機插件22上的邏輯電路處理的第四種類型的中斷是由主處理機11模擬的協(xié)同處理機35的中斷。這個模擬中斷從主處理機11出發(fā),沿著數(shù)據(jù)總線16的輸入/輸出數(shù)據(jù)總線部分16a進入?yún)f(xié)同處理機。而不是沿著總線中斷線31進入?yún)f(xié)同處理機插件22。在輸入/輸出數(shù)據(jù)總線16a上的這樣一種中斷信號使得強迫寄存器41直接把中斷信號(例如從1到7級中斷中的任何一級中斷)傳送到中斷控制器34。在本說明中要注意,在中斷線31上是找不到7級中斷這個中斷級的。因此,7級中斷只能在響應(yīng)到輸入/輸出總線16中輸入/輸出數(shù)據(jù)總線部分16a上一組恰當(dāng)?shù)男盘枙r,從寄存器41強行加上。這個裝置允許主處理機為沒有在輸入/輸出總線16中指定中斷線的那些設(shè)備,例如鍵盤,提供中斷。然而,6級中斷也可以用這種方法強行加上,即使6級中斷也能夠通過中斷線31從協(xié)同處理機插件22傳送到外界。因此,可以理解,6級中斷能夠通過中斷線31從協(xié)同處理機插件32送到外界,也能夠由強迫寄存器41模擬,并傳送給用于協(xié)同處理機35的中斷控制器34,這個裝置允許把單個的中斷級作為主處理機11和協(xié)同處理機35之間的雙向通訊通路使用。
參看圖4,現(xiàn)在來描述這樣一種邏輯電路,根據(jù)輸入/輸出設(shè)備被主處理機11當(dāng)前使用的情況,該電路可以不讓協(xié)同處理機35直接向輸入/輸出總線16上的設(shè)備進行存取。作為一個例子,讓我們來考慮協(xié)同處理機35從固定磁盤17讀出數(shù)據(jù)的情況。協(xié)同處理機35把固定磁盤17的地址記入?yún)f(xié)同處理機的地址總線45。通過多路傳輸器47這個地址對俘獲隨機存取存儲器46也有效,假定主處理機11正在使用固定磁盤17,當(dāng)固定磁盤17的地址被傳送到俘獲隨機存取存儲器46時,在俘獲隨機存取存儲器46中,從與固定磁盤17的地址相應(yīng)的地址上就輸出一個0數(shù)據(jù)位。這個0數(shù)據(jù)位沿著數(shù)據(jù)線被傳送到俘獲控制邏輯電路48。這時,俘獲控制邏輯電路48對一組門49產(chǎn)生封鎖讀/寫(BLOCK RW)信號。這一組門49是與從協(xié)同處理機35而來的輸入/輸出讀線及輸入/輸出寫線串聯(lián)在一起的。這樣通過使協(xié)同處理機插件22與協(xié)同處理機35脫離就可以封鎖讀和寫信號。
當(dāng)協(xié)同處理機35正式圖從一個輸入/輸出設(shè)備讀數(shù)據(jù)時,協(xié)同處理機35就使它的輸入/輸出讀線的電位上升。由于輸入/輸出讀線和輸入/輸出寫線也輸入俘獲控制邏輯電路48,該輸入/輸出讀信號就與來自俘獲隨機存取寄存器46的0位信號結(jié)合起來,使得俘獲控制邏輯電路48開始讀俘獲序列。俘獲控制邏輯電路48立即在未就緒(NOT REAOY)線上給協(xié)同處理機35發(fā)出一個俘獲信號以便使協(xié)同處理機立即停止讀出。這時,俘獲控制邏輯電路48也使門50不讓輸入/輸出地址總線部分16b接通,并使門51不讓輸入/輸出總線16的數(shù)據(jù)部分16a接通。通過這些操作,協(xié)同處理機35就與輸入/輸出總線16完全斷開了。
下一步,線52上給總線判斷邏輯電路53的信號使主線(-MASTER LINE)的電位下降。這樣就撤回了協(xié)同處理機插件22對輸入/輸出總線16的任何控制。
俘獲控制邏輯電路48也在線55上產(chǎn)生一個輸入到與門56的信號,輸入到與門56的其他信號來自中斷控制寄存器57。如果主處理機已經(jīng)予置中斷控制寄存器以允許在輸入/輸出俘獲序列上有一個中斷,那么,與門56就會輸出一個中斷請求(15級中斷)信號。下一步,主處理機11利用中斷請求信號15,或者,在其他情況下,利用詢問協(xié)同處理機的狀態(tài)寄存器62檢測需要的服務(wù)。
在線55上由俘獲控制邏輯電路48提供的信號也輸入到一對與門60和61上。與門60和61的其他輸入分別是輸入/輸出寫線和輸入/輸出讀線,它們來自協(xié)同處理機35。這樣,當(dāng)信號在線55上出現(xiàn)時,與門60或與門61中之一就在狀態(tài)寄存器62內(nèi)置位。一個指明需要8位數(shù)據(jù)總線或需要16位數(shù)據(jù)總線的信號也輸給狀態(tài)寄存器62,這個信號可以在協(xié)同處理機35的輸出端得到。因此,當(dāng)處理機探測到需要服務(wù)時,主處理機11就讀狀態(tài)寄存器62,它的內(nèi)容被選通并沿著線63通過門64進入數(shù)據(jù)總線16的輸入/輸出數(shù)據(jù)總線部分16a。
現(xiàn)在,主處理機11知道了協(xié)同處理機35試圖從8位寬或16位寬數(shù)據(jù)通道上的一個輸入/輸出設(shè)備讀數(shù)據(jù)。主處理機現(xiàn)在就從協(xié)同處理機俘獲地址寄存器發(fā)出一個讀信號。當(dāng)這個讀信號由譯碼器70檢測到時,選擇總線75中的選擇線的電位就提高,使得控制邏輯電路48打開門65,以便把地址信號從協(xié)同處理機地址總線45傳送到輸入/輸出總線16的輸入/輸出數(shù)據(jù)總線的16a部分。這樣,主處理機11就有了協(xié)同處理機35試圖從哪里讀數(shù)據(jù)的地址?,F(xiàn)在,主處理機11既能夠直接給輸入/輸出設(shè)備發(fā)出讀請求,或計算出被讀數(shù)據(jù)應(yīng)該是什么數(shù)據(jù)。這樣,主處理機11得到了被讀取的數(shù)據(jù),把這些數(shù)據(jù)寫到輸入/輸出數(shù)據(jù)總線16a部分上,并通過一組門電路66寫到與協(xié)同處理機35相通的協(xié)同處理機數(shù)據(jù)總線67上。類似于把俘獲地址寫到輸入/輸出地址總線16b部分上。把被讀數(shù)據(jù)寫到協(xié)同處理機數(shù)據(jù)總線67上的操作包括打開一組門電路(66)以便讓數(shù)據(jù)寫到數(shù)據(jù)總線上。
由于被讀數(shù)據(jù)現(xiàn)在已經(jīng)寫在協(xié)同處理機35上,俘獲控制邏輯電路48就對協(xié)同處理機35撤回未就緒(NOT READY)信號以便讓協(xié)同處理機35進行處理。然后,協(xié)同處理機35接收正在數(shù)據(jù)總線67上保持的數(shù)據(jù)并把這種操作繼續(xù)進行下去,就象實際從輸入/輸出設(shè)備讀取操作那樣。這個順序非常類似于俘獲寫操作的順序。在那種情況下,主處理機11象在讀俘獲中所做的那樣,簡單地取得俘獲地址,然后向俘獲數(shù)據(jù)寄存器發(fā)一個讀信號。當(dāng)這個讀信號被譯碼器70檢測到時,在選擇總線75內(nèi)有一條選擇線的電位就被提高,使得控制邏輯電路48能夠打開門51以便讓數(shù)據(jù)從協(xié)同處理機數(shù)據(jù)總線67進入輸入/輸出數(shù)據(jù)總線16a。這時,如果需要的話,主處理機11可以把數(shù)據(jù)寫入/輸出設(shè)備。除了把這個數(shù)據(jù)寫入輸入/輸出設(shè)備之外,當(dāng)希望把數(shù)據(jù)從協(xié)同處理機35送到主處理機11以便讓主處理機11把其用于其他目的時,也可以按這個過程進行。
由于不需要向一個實際輸入/輸出設(shè)備進行寫操作,讀或?qū)懛@就提供了一個方便的方法,該方法用來同步兩個處理機(通常被認做一種號志)的操作,亦可在運行診斷程序時用來在協(xié)同處理機35和主處理機11之間傳送數(shù)據(jù),還可以用來把參數(shù)或參數(shù)地址從協(xié)同處理機35的操作系統(tǒng)傳送給正在主處理機11中運行的服務(wù)程序。
現(xiàn)在參看圖5,它表示主處理機11給俘獲隨機存取存儲器46加載的邏輯圖。俘獲隨機存取存儲器46可以是一個n×1位的靜態(tài)隨機存取存儲器。如圖4中有關(guān)部分描述的那樣,當(dāng)俘獲隨機存取存儲器46的地址被找到時,儲存在這一地址內(nèi)的一個位碼的兩種狀態(tài)告訴俘獲控制邏輯電路48協(xié)同處理機35是否能在輸入/輸出總線16上的一個輸入/輸出設(shè)備直接進行尋址。為了解釋這一點,假定在被選擇的地址中二進制碼的0表示協(xié)同處理機35不能直接對輸入/輸出總線16上被選擇的輸入/輸出設(shè)備進行存取,而二進制碼的1意味著俘獲控制邏輯電路沒有被調(diào)用,而且協(xié)同處理機31能夠直接對與俘獲隨機存取存儲器46中這一地址相應(yīng)的輸入/輸出總線16上的這個設(shè)備進行存取。本發(fā)明特別有用、特別重要的特點之一在于主處理機11能夠動態(tài)地改變俘獲隨機存取存儲器46中這些特殊位碼的狀態(tài)。
再次參看圖5,當(dāng)主處理機11控制著輸入/輸出總線16時,主線(-MASTER LINE)處于高電平。如果主處理機11在輸入/輸出總線16的輸入/輸出地址16b部分上設(shè)置一個特殊的“俘獲隨機存取存儲器更新”地址,那么譯碼器70就檢測主處理機11希望更新俘獲隨機存取存儲器46中一個位碼的狀態(tài)。譯碼器70在線71上的輸出就把多路傳輸器47從缺席狀態(tài)(這種狀態(tài)在圖4中進行了描述,其中,協(xié)同處理機的地址總線45的內(nèi)容通過多路傳輸器47被選通到俘獲隨機存取存儲器46)轉(zhuǎn)換到暫時狀態(tài),在這種狀態(tài)中,在輸入/輸出數(shù)據(jù)總線16a部分和協(xié)同處理機數(shù)據(jù)總線67上的數(shù)據(jù)通過多路傳輸器47后對俘獲隨機存取存儲器46進行尋址。(這也要求啟動門66,參看圖4。)通過多路傳輸器的這種轉(zhuǎn)換,總線16的輸入/輸出部分16a既協(xié)同處理機數(shù)據(jù)總線67通過主處理機11至少利用了m+1位。當(dāng)附加位從數(shù)據(jù)總線67通過門68被選通到隨機存取存儲器的數(shù)據(jù)終端,m位被選通通過多路傳輸器47在俘獲隨機存取存儲器46中尋找一個特殊的、單個位的存儲單元的地址。與此同時,主處理機11也使輸入/輸出總線16的輸入/輸出寫線產(chǎn)生一個高電平。隨著從譯碼器70而來的在線71上信號也處在一個高電平,與門72為俘獲隨機存取存儲器的寫終端提供一個高電平輸出。利用這種方法,主處理機11既可以把一個0位碼或1位碼寫進俘獲隨機存取存儲器中的某個地址,該地址對應(yīng)于一個具體的輸入/輸出設(shè)備。
反過來參看圖3。在同樣的方式下,譯碼器80用來在強制寄存器41和屏蔽寄存器32中把一些特殊的位置成二進制的0或1電平,置位的方法類似于上面剛剛敘述過的用來在隨機存取存儲器46中置位的那些方法。因此,熟悉這門技術(shù)的人將會明白,利用這種技術(shù)對輸入/輸出俘獲提供的這種動態(tài)的靈活性,也可以提供給中斷控制。
下面的程序設(shè)計語言表1是上述為了執(zhí)行一個俘獲讀操作所設(shè)計各種操作的另一種描述形式,這個表相似于上述關(guān)于圖4中描述的操作。
表1讀-俘獲俘獲-地址=俘獲地址寄存器!得到俘獲地址把俘獲-地址與俘獲表(俘獲地址的表)進行比較如果俘獲-地址是一個號志地址就執(zhí)行下述各步;
執(zhí)行號志指出的動作俘獲-數(shù)據(jù)=計算出的號志響應(yīng)執(zhí)行完畢;
否則如果俘獲-地址是被共享的設(shè)備就執(zhí)行下述各步;
如果設(shè)備能被賦值給協(xié)同處理機就執(zhí)行下述各步;
俘獲-隨機存取存儲器=把設(shè)備賦值給協(xié)同處理機讀-數(shù)據(jù)=讀輸入/輸出設(shè)備端口執(zhí)行完畢;
否則(設(shè)備不能再被賦值)將沖突請求通知用戶并退出否則如果俘獲-地址是一個仿真設(shè)備就執(zhí)行下述各步;
如果需要的話讀某些實際輸入/輸出設(shè)備計算被模仿的讀響應(yīng)讀-數(shù)據(jù)=計算出來的被模仿的讀響應(yīng)執(zhí)行完畢;
否則不應(yīng)該發(fā)生俘獲。通知用戶并退出。
條件完畢;
條件完畢;
條件完畢;
如果16-位標(biāo)志=假就執(zhí)行下述各步按照地址要求把讀-數(shù)據(jù)的高字節(jié)和低字節(jié)進行交換以便使協(xié)同處理機在正確的總線線上接收數(shù)據(jù)執(zhí)行完畢;
俘獲數(shù)據(jù)寄存器=俘獲-數(shù)據(jù)!把數(shù)據(jù)送給協(xié)同處理機讀-俘獲完畢;
程序設(shè)計語言表2是上述為了執(zhí)行一個俘獲與操作所做的各種操作的另一種描述形式。這個表相似于上述圖4中描述的操作。
表2寫-俘獲俘獲-地址=俘獲地址寄存器!得到俘獲地址把俘獲-地址與俘獲-表(俘獲地址的表進行比較如果俘獲-地址是一個號志地址就執(zhí)行以下各步;
寫-數(shù)據(jù)=讀俘獲數(shù)據(jù)寄存器如果16-位數(shù)據(jù)=假那么如果地址需要就把寫-數(shù)據(jù)的高和低數(shù)據(jù)字節(jié)進行交換以便處理正確的字節(jié)。
用寫-數(shù)據(jù)為參數(shù)執(zhí)行號志指出的動作執(zhí)行完畢;
否則如果俘獲-地址是被共享的設(shè)備就執(zhí)行以下各步;
如果設(shè)備能夠賦值給協(xié)同處理機就執(zhí)行下述各步;
俘獲-隨機存取存儲器=把設(shè)備賦值給協(xié)同處理機寫-數(shù)據(jù)=俘獲數(shù)據(jù)寄存器如果16-位-數(shù)據(jù)=假那么按照地址要求把寫-數(shù)據(jù)的高和低數(shù)據(jù)字節(jié)進行交換以便處理正確的字節(jié)寫輸入/輸出設(shè)備端口=寫-數(shù)據(jù)執(zhí)行完畢;
否則(設(shè)備不能再被賦值)將沖突請求通知用戶并退出否則如果俘獲-地址是一個仿真設(shè)備就執(zhí)行以下各步;
寫-數(shù)據(jù)=俘獲數(shù)據(jù)寄存器如果16-位-數(shù)據(jù)=假那么如果地址需要就把寫-數(shù)據(jù)的高和低數(shù)據(jù)字節(jié)進行交換以便處理正確的字節(jié)。
計算合適的模仿動作利用寫-數(shù)據(jù)或者被計算出的數(shù)據(jù)寫某些實際的輸入/輸出設(shè)備(如果需要的話)執(zhí)行完畢;
否則不應(yīng)該發(fā)生俘獲。通知用戶并退出條件完畢;
條件完畢;
條件完畢;
寫-俘獲完畢;
下面的程序設(shè)計語言表3是為了設(shè)置協(xié)同處理機35所用的、在俘獲隨機存取存儲器中輸入/輸出設(shè)備的可用性所做的各種操作的另一種描述形式。這個表相似于上述關(guān)于圖5中描述的操作。
表3初始化協(xié)同處理機停;
利用存儲的賦值表寫俘獲隨機存取存儲器。用戶可以得到一些選擇項目單,以便賦一些設(shè)備。例如,如果需要的話把打印機賦給主處理機或協(xié)同處理機。如果用戶做了選擇,就要修改賦值表以反映當(dāng)前的賦值情況。
中斷控制寄存器=其他內(nèi)容+輸入/輸出設(shè)備上的中斷!使協(xié)同處理機能在輸入/輸出俘獲上中斷起動協(xié)同處理機;
初始化完畢;
下面的程序設(shè)計語言表4是在主處理機中運行的服務(wù)循環(huán)程序的另一種描述方式。當(dāng)這個程序檢測到服務(wù)請求時,就根據(jù)需要調(diào)用表Ⅰ和表2的程序。
表4服務(wù)-循環(huán)開始;!無限地重復(fù)循環(huán)等待中斷15;
標(biāo)志=狀態(tài)寄存器;!讀標(biāo)志寄存器如果(標(biāo)志和16-位輸入/輸出位)<>0那么16-位-標(biāo)志=真否則16-位-標(biāo)志=假如果(標(biāo)志和讀輸入/輸出位)<>0那么讀-俘獲;
否則如果(標(biāo)志和寫輸入/輸出位)<>0那么寫-俘獲;
否則某些其他俘獲非本揭示的部分;
條件完畢;
服務(wù)-循環(huán)完畢;!從開始重復(fù)歸納起來講,上面描述了一種用于主處理機/協(xié)同處理機環(huán)境的控制技術(shù),在該環(huán)境中,輸入/輸出設(shè)備由主處理機和協(xié)同處理機共享。由于提供了與隨機存取存儲器相結(jié)合的俘獲邏輯電路,所以共享輸入/輸出資源的實際管理對協(xié)同處理機是透明的。該隨機存取存儲器由主處理機加載,它的里面含有與任何一個被共享的輸入/輸出設(shè)備(能被協(xié)同處理機使用)的當(dāng)前可用性相關(guān)的數(shù)據(jù)。該俘獲邏輯電路也與協(xié)同處理機相結(jié)合,以管理從協(xié)同處理機插件發(fā)出、或發(fā)向協(xié)同處理機插件的中斷。
雖然本發(fā)明是通過它的一些具體實施方案來表示和描述的,但熟悉這門技術(shù)的人將會明白在形式和具體做法上可以進行如前所述的以及其他方面的改變,這不會與本發(fā)明的精神相違背,也不超出本發(fā)明的繞圍。例如,雖然這里描述的系統(tǒng)被用于,例如特定的微處理機和控制器,但是熟悉本技術(shù)的人將會明白,本發(fā)明提出的原理能夠用于使用任何規(guī)模(大的或小的,速度快的或速度慢的)處理機的系統(tǒng)之中。這里舉出的所用硬件的一些例子只是為了進行介紹,并不是限定要使用這種硬件。
權(quán)利要求
1.在具有一臺主處理機和至少一臺與總線相連的輸入/輸出設(shè)備的數(shù)據(jù)處理系統(tǒng)中,由于增加了一臺能夠共享利用上述輸入/輸出設(shè)備的協(xié)同處理機而改進了性能,該系統(tǒng)的特征在于包括能被主處理機動態(tài)地進行控制,以便有選擇地阻止協(xié)同處理機對上述輸入/輸出設(shè)備進行直接存取的裝置;當(dāng)上述用于有選擇地進行阻止的裝置已經(jīng)能夠阻止協(xié)同處理機對上述輸入/輸出設(shè)備進行直接存取時,能利用上述主處理機提供一個對上述輸入/輸出設(shè)備的嘗試性存取的裝置。
2.權(quán)利要求
1所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述輸入/輸出設(shè)備還有一個實的或仿真的輸入/輸出設(shè)備。
3.權(quán)利要求
2所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述用于有選擇地進行阻止的裝置還具有把上述協(xié)同處理機從總線上斷開的裝置。
4.權(quán)利要求
3所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述所用裝置還具有用來保存上述輸入/輸出設(shè)備的地址的裝置。
5.權(quán)利要求
4所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述所用裝置還具有用來給上述主處理機發(fā)出一個中斷信號的裝置。
6.權(quán)利要求
5所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述所用裝置還具有用來使上述主處理機按照上述被保存的地址對上述輸入/輸出設(shè)備進行存取以及從上述輸入/輸出設(shè)備讀數(shù)據(jù)的裝置。
7.權(quán)利要求
6所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述所用裝置還具有用來使上述協(xié)同處理機暫時地再次連接到上述總線的一部分上的裝置以及用來使上述主處理機將從輸入/輸出設(shè)備上讀出上述的數(shù)據(jù)傳送給上述協(xié)同處理機的裝置。
8.權(quán)利要求
7所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述的總線的一部分是總線的數(shù)據(jù)部分。
9.權(quán)利要求
6所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述所用裝置還具有使得上述主處理機按照上述保存的地址向輸入/輸出設(shè)備進行存取并將數(shù)據(jù)寫到輸入/輸出設(shè)備上的裝置。
10.權(quán)利要求
9所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述所用裝置還具有用來使上述協(xié)同處理機暫時地再次連接到上述總線的一部分上的裝置以及用來使上述協(xié)同處理機將準(zhǔn)備寫的數(shù)據(jù)從上述協(xié)同處理機傳送給上述主處理機的裝置。
11.權(quán)利要求
10所述的數(shù)據(jù)處理系統(tǒng),其特征在于上述總線的一部分是上述總線的數(shù)據(jù)部分。
12.權(quán)利要求
1所述的數(shù)據(jù)處理系統(tǒng),其特征在于該數(shù)據(jù)處理系統(tǒng)還具有能夠由上述主處理機控制、以便有選擇地阻止上述總線上的中斷到達上述協(xié)同處理機的裝置。
13.權(quán)利要求
12所述的數(shù)據(jù)處理系統(tǒng),其特征在于該數(shù)據(jù)處理系統(tǒng)還具有能夠由上述主處理機控制并且根據(jù)上述總線的數(shù)據(jù)部分上的數(shù)據(jù)產(chǎn)生一個中斷以及將這個被產(chǎn)生的中斷傳送給上述協(xié)同處理機的裝置。
14.在具有一臺主處理機和至少一臺與總線相連的輸入/輸出設(shè)備的數(shù)據(jù)處理系統(tǒng)中,給能夠共享利用上述輸入/輸出設(shè)備的上述系統(tǒng)增加一臺協(xié)同處理機的方法,其特征在于該方法包括有選擇地阻止協(xié)同處理機對上述輸入/輸出設(shè)備進行直接存取,以及當(dāng)對上述輸入/輸出設(shè)備的直接存取已被有選擇地阻止時,利用上述主處理機對上述輸入/輸出設(shè)備進行一次嘗試性存取。
15.權(quán)利要求
14所述的方法,其特征在于上述有選擇地阻止步驟還包括利用上述主處理機動態(tài)地有選擇地阻止上述協(xié)同處理機對輸入/輸出設(shè)備的存取。
16.權(quán)利要求
15所述的方法,其特征在于上述有選擇地阻止步驟還包括把上述協(xié)同處理機從上述總線上斷開。
17.權(quán)利要求
16所述的方法,其特征在于上述利用步驟還包括保存上述輸入/輸出設(shè)備的地址。
18.權(quán)利要求
17所述的方法,其特征在于上述利用步驟還包括對上述主處理機發(fā)出中斷信號。
19.權(quán)利要求
18所述的方法,其特征在于上述所用的步驟還包括按照上述保存的地址使上述主處理機向上述輸入/輸出設(shè)備進行存取以及從上述輸入/輸出設(shè)備上讀數(shù)據(jù)。
20.權(quán)利要求
18所述的方法,其特征在于上述所用的步驟還包括按照照上述保存的地址使上述主處理機向上述輸入/輸出設(shè)備進行存取并將數(shù)據(jù)寫到上述輸入/輸出設(shè)備上。
21.權(quán)利要求
14所述的方法,其特征在于該方法進一步包括有選擇地阻止上述總線上的中斷到達上述協(xié)同處理機。
22.權(quán)利要求
21所述的方法,其特征在于上述有選擇地阻止步驟進一步包括利用上述主處理機動態(tài)地有選擇地阻止在上述總線上的中斷到達上述協(xié)同處理機。
23.權(quán)利要求
21所述的數(shù)據(jù)處理系統(tǒng),其特征在于該系統(tǒng)進一步包括產(chǎn)生一個從上述總線中數(shù)據(jù)部分上的數(shù)據(jù)而來的中斷并使這個被產(chǎn)生的中斷傳送到上述協(xié)同處理機上。
24.權(quán)利要求
23所述的方法,其特征在于上述產(chǎn)生中斷的步驟進一步包括利用上述主處理機動態(tài)地在總線上產(chǎn)生上述中斷。
專利摘要
在主系統(tǒng)數(shù)據(jù)總線上可以連接一個協(xié)同處理機以運行主處理機未知的軟件。主處理機能夠并行地運行其他軟件并保持利用共享的輸入/輸出設(shè)備的優(yōu)先權(quán)。其方法是提供與隨機存取存儲器結(jié)合在一起的俘獲邏輯電路,它可以由主處理機動態(tài)地進行加載,它裝有與共享輸入/輸出設(shè)備(被協(xié)同處理機使用)的當(dāng)前可用性有關(guān)的數(shù)據(jù)。附加的邏輯電路與協(xié)同處理機聯(lián)合起來管理協(xié)同處理機與系統(tǒng)總線之間的中斷。
文檔編號G06F15/16GK86100690SQ86100690
公開日1986年8月27日 申請日期1986年1月27日
發(fā)明者約翰·威廉·歐文 申請人:國際商業(yè)機器公司導(dǎo)出引文BiBTeX, EndNote, RefMan