亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

高速緩存存儲器系統(tǒng)的制作方法

文檔序號:6414628閱讀:167來源:國知局
專利名稱:高速緩存存儲器系統(tǒng)的制作方法
技術領域
本發(fā)明涉及的是一個高速緩存存儲器系統(tǒng)。
當微處理器加速的時候,分級結(jié)構的高速緩存存儲器常常加快內(nèi)存的存儲速度。當被存取的數(shù)據(jù)不在一高速緩存存儲器系統(tǒng)的高速緩存存儲器中時,從高速緩存存儲器獲得取數(shù)據(jù)的嘗試就會得到?jīng)]有命中的結(jié)果,數(shù)據(jù)被從主存儲器轉(zhuǎn)移到高速緩存存儲器。因此,當所需數(shù)據(jù)不在高速緩存存儲器中時,處理器就必須暫時中斷數(shù)據(jù)處理直到數(shù)據(jù)完成從高速緩存存儲器到主存儲器的轉(zhuǎn)移,這樣就降低了處理能力。
為增加高速緩存存儲器的命中率,人們提出了許多種解決方法。比如,日本專利Kokai特開平4-190434中公布了一個方法,它是通過在把數(shù)據(jù)載入高速緩存存儲器前讀取一個程序執(zhí)行流完成,這個執(zhí)行流將會被不同的分支地址使用。
圖3是一個方框圖,它說明了常用的高速緩存存儲器系統(tǒng)的結(jié)構,如圖3所示,一個中央處理單元CPU301通過一條地址總線311和一條數(shù)據(jù)總線321與高速緩存存儲器CM303和一個高速緩存存儲器控制器CMC304相連。一個子處理單元SPU302通過一條地址總線312和數(shù)據(jù)總線321與高速緩存存儲器控制器CMC304相連,且通過數(shù)據(jù)總線321與高速緩存存儲器CM303相連。子處理單元302監(jiān)控著通過數(shù)據(jù)總線321送往中央處理單元CPU301的指令。當子處理單元302發(fā)現(xiàn)了編譯器自動插入在轉(zhuǎn)移指令前的一個高速緩存存儲器更新指令時,它就會指示高速緩存存儲器控制器CMC304更新高速緩存存儲器。高速緩存存儲器控制器CMC304本身并不更新高速緩存存儲器;相反,高速緩存存儲器控制器CMC304把更新地址信息傳至一個DMA控制器305并使之按地址信息指定的地址把數(shù)據(jù)從主存儲器306轉(zhuǎn)移至高速緩存存儲器303中的一個位置。由于這個高速緩存存儲器更新指令對中央處理單元CPU301沒有含義,故被它忽略。在此之后,由控制傳至轉(zhuǎn)移指令時,就不會有未命中發(fā)生,因為此時數(shù)據(jù)已經(jīng)由主存306傳至高速緩存存儲器CM303了。
另一個解決方法是使子處理單元SPU302從當前指令前的多個指令提取一個指令以便能夠提前發(fā)現(xiàn)未命中情況,并使高速緩存存儲器控制器CMC304更新高速緩存存儲器。
此外,還描述了高速緩存存儲器的一般機制。如在“計算機結(jié)構與設計”一文中(Nikkei BP)。
但是,上述現(xiàn)有技術均有如下問題。
第一個問題是現(xiàn)有技術中的系統(tǒng)需要特別為監(jiān)控制程序設計的硬件,這就會增大電路的尺寸。
第二問題是在距當前指令前的多個指令處讀取一條指令需要存儲器有兩個或更多的端口。通常,有兩個或多個端口的存儲器的尺寸會比較大。
第三個問題是由于更新指令被一個編譯器自動地插入到距當前指令前多個指令的位置,這樣,就不能自由地設定高速緩存存儲器更新起始時間。因此,即使當發(fā)現(xiàn)由于高速緩存存儲器塊的增大或主存儲器存取時間增長而需要長時間來更新高速緩存存儲器時,高速緩存存儲器的更新也不可能更早一些開始。這樣有時就會使得高速緩存存儲器的更新沒有在一段指定時間內(nèi)完成。
第四個問題是通過一編譯器自動將一個轉(zhuǎn)移指令插入到當前指令的多條指令之前的一個位置的方法需要編譯器擁有這個內(nèi)置功能,這樣就增加了開發(fā)工具如編譯器的開發(fā)成本。
本發(fā)明試圖解決以上描述的現(xiàn)有技術中的各種問題。本發(fā)明的一個目標是提供一個基于現(xiàn)有主存儲器或高速緩存存儲器的結(jié)構的高速緩存存儲器系統(tǒng),該系統(tǒng)能夠有效地更新高速緩存存儲器而不需另外的編譯功能,也不需要監(jiān)控指令的特殊裝置。
為實現(xiàn)上述目的,本發(fā)明提供一個高速緩存存儲器系統(tǒng),它包括一個由多個存儲單元組成的存儲器,一個根據(jù)中央處理單元指令向一個直接內(nèi)存獲取DMA控制器發(fā)送一個高速緩存存儲器更新指令的高速緩存存儲器控制器,以及根據(jù)從所述高速緩存存儲器控制器接收到的指令把數(shù)據(jù)從主存儲器轉(zhuǎn)移到高速緩存存儲器的DMA控制器。


圖1是一個說明本發(fā)明的一個實施例的結(jié)構的簡圖。
圖2說明了在本發(fā)明的一個實施例中使用的一個命令寄存器的結(jié)構的例子。
圖3說明了根據(jù)現(xiàn)有技術設計的一個高速緩存存儲器系統(tǒng)。
以下將對本發(fā)明的一個實施例進行詳細說明。在實施例中,根據(jù)本發(fā)明的一個高速緩存存儲器系統(tǒng)包括高速緩存存儲器器(圖1中的標記3),它由多個存儲器單元和一個高速緩存存儲器控制器(圖1中的標記2)組成。高速緩存存儲器控制器根據(jù)一個中央處理單元1個指令向一個直接存儲器存取(DMA)控制器發(fā)送一個高速緩存存儲器更新指令(圖1中的標記4)。DAM控制器4以DMA方式在一個主存儲器(圖1中的標記5)和高速緩存存儲器(圖1中的標記3)之間傳送數(shù)據(jù)。
在最佳實施例中,根據(jù)本發(fā)明的高速緩存存儲器系統(tǒng)由多個存儲單元組成。這些存儲單元的數(shù)據(jù)可以同時由不同資源所訪問。
在最佳實施例中,只要中央處理單元1不在使用要被更新的存儲單元,根據(jù)本發(fā)明提出的高速緩存存儲器系統(tǒng)就能使在存儲單元和主存儲器之間的數(shù)據(jù)傳送與中央處理單元1的處理同時進行而不停止中央處理單元的處理。
在最佳實施例中,當中央處理單元CPU1正在使用一個被更新的存儲單元時,根據(jù)本發(fā)明提出的高速緩存存儲器系統(tǒng)就協(xié)調(diào)對高速緩存存儲器的存取,也就是,協(xié)調(diào)對存儲單元的存取以使能對另一個存儲單元(或任何其余的存儲單元)進行存取。
下面將輔以圖例對本實施例進行詳細描述。
圖1表示的是本發(fā)明的一個實施例的結(jié)構,參見圖1,在本發(fā)明的這一實施例中所采用的一個微處理器包括一個中央處理單元(CPU)1,高速緩存存儲器3,它通過一條地址總線11和一條數(shù)據(jù)總線12與中央處理單元1相連,一個高速緩存存儲器控制器2,一個DMA控制器4以及主存儲器5。
高速緩存存儲器3通過一條DMA地址總線21和一條DMA數(shù)據(jù)總線22與DMA控制器4相連。除此之外,激活DMA控制器4的信號線4的信號線24被由高速緩存存儲器控制器2送至DMA控制器4。
DMA控制器4通過一條外部地址總線41和一條數(shù)據(jù)總線42與主存儲器5相連。一條處理中止信號線7從高速緩存存儲器控制器2聯(lián)至中央處理單元1。
高速緩存存儲器控制器2把高速緩存存儲器3分為許多塊,每一個塊都由被一次更新的幾個字節(jié)組成。本發(fā)明提供了標識存儲器(未示出)來管理這些塊。
標識存儲器包括每一個塊中存儲器的高速緩存存儲器3中的內(nèi)容的地址的一預定的位數(shù)。當一個地址從中央處理單元1送出時,標識存儲器便存儲器下地址的標識部分這樣來辨認存儲了高速緩存存儲器3中的內(nèi)容的相應的塊。
高速緩存存儲器控制器2同樣也有一個命令寄存器,它存儲從中央處理單元1發(fā)出的高速緩存存儲器更新指令。當發(fā)現(xiàn)有一個高速緩存存儲器未命中情況發(fā)生時或這個數(shù)據(jù)被寫入命令寄存器時,一個DMA轉(zhuǎn)移指令就被發(fā)至DMA控制器4。
由多個存儲單元組成的高速緩存存儲器3在速度上比主存儲器5快。多路復用器61、61、63和64與主存儲器3相連以使每一個存儲單元都能選擇一個發(fā)送或接收數(shù)據(jù)的設備,盡管圖1中只標出了兩個存儲單元,但存儲單元的數(shù)量并沒有限制。
DMA控制器4在收到高速緩存存儲器控制器2的一個指令后開始操作。這時,DMA控制器4接收到源數(shù)據(jù)信息(主存儲器5中的源數(shù)據(jù)的起始地址和源數(shù)據(jù)的字節(jié)數(shù))和目標地址信息(被送往高速緩存存儲器3的數(shù)據(jù)在高速緩存存儲器3中的目標地址的起始地址)。
DMA控制器4把數(shù)據(jù)直接送至高速緩存存儲器3,并不經(jīng)過中央處理單元,或高速緩存存儲器控制器2。
圖2表示的是高速緩存存儲器控制器2中的命令存儲器的一個實例,如圖2所示,命令存儲器由一個高速緩存存儲器更新起始地址字段和塊數(shù)字段組成。
這一實例的運行見以下描述。
參見圖1,當中央處理單元讀取數(shù)據(jù)時,它把一個地址送到高速緩存存儲器控制器2和高速緩存存儲器3,并通過地址總線11發(fā)送。
高速緩存存儲器控制器2從中央處理單元1獲取地址的一部分并參照標識存儲器來決定所需數(shù)據(jù)在高速緩存存儲器3之中。
當所需數(shù)據(jù)被發(fā)現(xiàn)后,中央處理單元1把它從高速緩存存儲器3讀入。另一方面,當所需數(shù)據(jù)不在高速緩存存儲器3時,高速緩存存儲器控制器2停止中央處理單元1的處理,更新標識存儲器,把高速緩存存儲器更新信息(含所需數(shù)據(jù)的塊的起始地址以及在高速緩存存儲器送出數(shù)據(jù)的該高速緩存存儲器的起始地址)送至DMA控制器4并通知它更新高速緩存存儲器3。
當從高速緩存存儲器控制器2接收到指令后DMA控制器4把數(shù)據(jù)從主存儲器5轉(zhuǎn)移至高速緩存存儲器3。
當含有所需數(shù)據(jù)的塊的轉(zhuǎn)移完成后,高速緩存存儲器控制器2繼續(xù)中央處理單元1的運行。
為了提前更新高速緩存存儲器3,中央處單元1執(zhí)行一個命令中的用戶編碼指令,它把命令數(shù)據(jù)送入到命令寄存器中,命令寄存器被從高速緩存存儲器控制器2映射入內(nèi)存。
高速緩存存儲器控制器2從命令寄存器中的起始地址數(shù)據(jù)中產(chǎn)生塊起始地址;它還從命令寄存器中的塊數(shù)據(jù)的數(shù)目中產(chǎn)生轉(zhuǎn)移字節(jié)數(shù)目。然后,如通常的高速緩存存儲器填充操作一樣,高速緩存存儲器控制器2把將被裝載的塊的起始地址送至DMA控制器4。同時也把被傳送的字節(jié)數(shù)以及在接收數(shù)據(jù)的高速緩存存儲器中的對應塊的起始地址送至DMA控制器4。當DMA控制器4傳送數(shù)據(jù)時,高速緩存存儲器3被更新。這時,多路復用器63和64(與中央處理單元1相連)轉(zhuǎn)向與DMA控制器4相接從而為高速緩存存儲器3中的存儲單元接收數(shù)據(jù)并將之送至高速緩存存儲器3。
另外,基于以上更新指令,高速緩存存儲器控制器2把內(nèi)部標識存儲器的內(nèi)容轉(zhuǎn)變?yōu)榕c被更新塊相應的標識。這種在高速緩存存儲器控制器2和DMA控制器之間實現(xiàn)的轉(zhuǎn)換就不影響到中央處理單元1。
如果高速緩存存儲器3中的存儲單元(數(shù)據(jù)被送往此處)不被中央處理單元1使用的話,數(shù)據(jù)傳送就能與中央處理單元1的處理同時完成,這就不需中止中央處理單元1的操作。但是如果被更新的高速緩存存儲器3中的存儲單元1被中央處理單元1所使用,就必須協(xié)調(diào)從中央處理單元1和DMA控制器4發(fā)出的存取要求。
存取協(xié)調(diào)的完成可以通過多種方法完成。例如,可以使對中央處理單元1發(fā)出的處理中止信號保持插入狀態(tài),直到高速緩存存儲器被更新。這種方法能確使程序的完成而沒有操作失誤,盡管中央處理單元1可能更長時間地處于中止狀態(tài)。其中止狀態(tài)時間取決于發(fā)出更新指令的時間。
另一種協(xié)調(diào)方法能防止DMA控制器4對高速緩存存儲器的存取,直到中央處理單元1中止處理。
依據(jù)本發(fā)明設計的高速緩存存儲器系統(tǒng)有如下優(yōu)點。
本發(fā)明的第一個優(yōu)點是本高速緩存存儲器系統(tǒng)不需要監(jiān)控程序的特殊裝置,這樣就減小了電路的規(guī)模。
本發(fā)明的第二個優(yōu)點是高速緩存存儲器系統(tǒng)使硬件規(guī)模不擴大。這是因為,高速緩存存儲器系統(tǒng)不使用有兩個或更多端口的存儲器。
本發(fā)明的第三個優(yōu)點是高速緩存存儲器的更新時間可以自由設定。
這是因為,使用者為了更新緩存可以隨時在命令寄存器中指明一數(shù)據(jù)轉(zhuǎn)移指令。因此,當高速緩存存儲器存儲單元尺寸增大或當主存儲器存取時間改變時,命令數(shù)據(jù)傳送指令可以被及早指定,以使高速緩存存儲器的更新完成。
本發(fā)有的第四個優(yōu)點是高速緩存存儲器系統(tǒng)不需要另外的編譯器。因此,不需要增加另外的開發(fā)成本。
需要指出的是,對于本領域的專業(yè)技術人員來說,還可以在不脫離如上文所公開以及所附權利要求所限定的本發(fā)明宗旨和范圍,作出各種顯而易見的改動。
權利要求
1.一個高速緩存存儲器系統(tǒng),其特征在于,它包括由多個存儲單元組成的存儲器;和一個依據(jù)一個中央處理單元CPU指示把一個高速緩存存儲器更新指令送往一個直接存儲器存取DMA控制器的高速緩存存儲器控制器,其中所述DMA控制器根據(jù)從所述高連緩存控制器傳來的指令在主存儲器和高速緩存存儲器之間傳送數(shù)據(jù)。
2.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中多個存儲單元可以同時由不同資源進行存取。
3.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中當所述多個被更新的存儲單元之一不被中央處理單元CPU使用時,數(shù)據(jù)可以在所述高速緩存存儲器和所述主存儲器之間傳送而不需停止所述中央處理單元的處理工作。
4.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中當所述的多個被更新的存儲單元之一被中央處理單元CPU使用時,存儲器的結(jié)構方式能夠協(xié)調(diào)對于所述中央處理單元和所述DMA控制器之間的存儲單元的存取。
5.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中所述的緩存控制器有一個命令寄存器,存放著來自所述中央處理單元的高速緩存存儲器更新指令。所述高速緩存存儲器系統(tǒng)中,當高速緩存存儲器發(fā)生未命中時,或當高速緩存存儲器控制器發(fā)現(xiàn)數(shù)據(jù)已被寫入所述命令寄存器中時,一個DMA傳送指令就被發(fā)送至所述DMA控制器。
6.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中當所述中央處理單元CPU執(zhí)行一個給在所述高速緩存存儲器控制器中的所述命令寄存器的命令傳送指令時,所述高速緩存存儲器控制器就向所述DMA控制器發(fā)出一個基于存放在所述命令寄存器中的起始地址數(shù)據(jù)和轉(zhuǎn)移塊數(shù)數(shù)據(jù)之上的DMA轉(zhuǎn)移開始指令,以使所述DMA控制器依據(jù)來自所述高速緩存存儲器控制器的指令指示在主存儲器和高速緩存存儲器之間轉(zhuǎn)移數(shù)據(jù)。
7.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中所述DMA控制器經(jīng)由一條DMA地址總線和一條DMA數(shù)據(jù)總線與所述存儲器的存儲單元相接。
8.根據(jù)權利要求1所述的高速緩存存儲器系統(tǒng),其特征在于,其中所述CPU通過一條地址總線和一條數(shù)據(jù)總線與高速緩存存儲器控制器相接,并通過該控制器使CPU與所述存儲器的存儲單元相連,其中,所述DMA控制器通過一條地址總線和一條數(shù)據(jù)總線與主存儲器相連。
9.根據(jù)權利要求7所述的高速緩存存儲器系統(tǒng),其特征在于,其中多路復用器布置在所述存儲器的存儲單元上所述存儲器在存儲單元,DMA地址總線和DMA數(shù)據(jù)總線之間,以使每一個存儲單元能夠選擇一個可發(fā)出或接收數(shù)據(jù)的設備。
全文摘要
本發(fā)明提供一種高速緩存存儲器系統(tǒng),該系統(tǒng)可使用戶不需增加特殊硬件而提前更新高速緩存存儲器。該高速緩存存儲器系統(tǒng)包括多個存儲單元、一發(fā)送更新指令的高速緩存存儲器系統(tǒng)和一傳送數(shù)據(jù)的DMA控制器。高速緩存存儲器控制有一命令寄存器,存放著來自中央處理單元的一高速緩存存儲器更新指令。當高速緩存存儲器未命中時,或當高速緩存存儲器控制發(fā)現(xiàn)數(shù)據(jù)被寫入命令寄存器時,高速緩存存儲器控制器就發(fā)出一DMA傳送指令給DMA控制器。
文檔編號G06F12/08GK1217506SQ9812359
公開日1999年5月26日 申請日期1998年11月6日 優(yōu)先權日1997年11月7日
發(fā)明者熊切一夫 申請人:日本電氣株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1