適用於主存儲單元的快取存儲系統的製作方法
2023-05-09 10:51:31
專利名稱:適用於主存儲單元的快取存儲系統的製作方法
技術領域:
本發明涉及一種快取存儲系統,特別是一種適用於主存儲單元的快取存儲系統,其可降低存儲器阻塞現象,可提高數據傳輸效率。
一種傳統的3維(3D)圖形顯示系統,包括一個顯示存儲單元及一個顯示屏幕,該顯示存儲單元儲存著多筆數據,其中,該等數據包含著顏色像素值(R、G、B)、透明像素值或阿爾發數值(alphavalue)、深度數值(Z)、網紋(TEXTURE)影像數據等,以上數據一般說來可被顯示,供讀出及提取,並在需要時再寫回該顯示存儲器內。為了產生3維解析圖像的影像,每一個像素皆可應用在網紋貼圖、阿爾發混合、模糊混合等,網紋貼圖是自網紋存儲器中讀出並應用在每一不同的像素上,每一像素由1、2、4、8或更多根據所需求的顯示規格所推出的網紋影像數據,而創造理想化的網紋存儲存取狀態,以增進存儲器在下載時的順暢度。而無論此圖形顯示處理器顯示速度有多快,如果有大量的網紋貼圖物件必須被顯示時,很明顯,存儲器的頻寬就成為圖形顯示執行時的瓶頸。
通常解決此方法的策略是在圖形的顯示存儲系統中插入一個快取存儲系統,根據此快取替代方案,網紋存儲器的存取數量可被減少,然而,自從一個管線式(pipeline)結構被廣泛應用在3維圖形的設計上,大部分管線式結構當發生快取遺漏時都會有流水線執行功能時的阻塞現象,如果此圖形顯示系統擁有一個很深的管線式結構,這樣,在找尋一個請求的存儲數據時,將會發生延遲N個周期以上的情形,因此,有N個磁泡將曝露在流水線結構中,而這些磁泡將會引起所謂的停頓情形,並將會使圖形顯示系統的全程減緩。
本發明的目的在於提供一種可減少隱藏在存儲器存取時的快取遺漏現象,並儘量將管線式結構所發生的阻塞現象減到最小的一種適用於主存儲單元的快取存儲系統。
為達到上述目的,本發明採取如下技術措施本發明的適用於主存儲單元的快取存儲系統,包括一個主存儲控制器、一個快取存儲器、一個標籤存儲模組、一個數據請求控制器;主存儲控制器具有一個存儲地址輸入端及一個存儲數據輸出端;主存儲控制器電連接至主存儲單元,並可根據輸入至存儲地址輸入端的請求存儲地址,取出存在主存儲單元的存儲數據,並在該數據輸出端提供該取出的存儲數據;快取存儲器具有多個可地址化的儲存空間、一個用來接收一快取寫入地址並寫入一個地址至快取存儲器儲存空間中的寫入數據接口、一個電連接至主存儲控制器的存儲數據輸出端以儲存上述中一個被快取寫入地址儲存空間的寫入數據接口、一個用以接收一已指出在儲存空間中其地址的快取讀取地址的讀取地址接口及一個輸出該存儲數據儲存在被該快取讀取地址所定址的一個儲存空間中的讀取數據接口;標籤存儲模組用以儲存一個包含有多個入口的標籤查表,每一入口皆有一個儲存在主存儲單元中的一儲存空間的主存儲地址及一個儲存在快取存儲器內的一個儲存空間中的快取存儲地址;標籤存儲模組用於接收一個地址信號,並定義其快取″找到″的存在,也就是為該輸入地址信號可對應至存在該主存儲控制器內的標籤查表中的一個入口,或一個快取″遺漏″情形,當該輸入地址信號沒有對應到存在於該主存儲控制器中的標籤查表的任一入口;該標籤存儲模組具有一″遺漏″的地址輸出、一快取寫入地址輸出以及一快取讀取地址輸出;該標籤存儲模組在定義該快取″找到″的情形下,是意指在快取存儲器中找到一有效的數據入口,輸出屬於標籤查表該入口的快取存儲地址,且該快取存儲地址是對應於在快取讀取位置輸出端的地址信號;該標籤存儲模組定義該快取″遺漏″的存在,則是指該主存儲器單元內的需要存取,該標籤存儲模組是根據該地址信號找到在儲存在快取存儲器中所選定的一個儲存位置中產生快取存儲地址,而主存儲地址以及該快取存儲地址則是根據地址信號對應至在標籤查表中的一個入口儲存,輸出由該遺漏地址輸出的地址信號所對應的主存儲地址,並在該快取寫入地址輸出以及該快取讀取地址輸出處對應的地址信號輸出該快取存儲地址;數據讀取控制器電連接至在標籤存儲模組中的快取讀取地址輸出及在快取存儲器中的讀取地址接口,該數據讀取控制器包括有一個快取讀取地址序列,此序列為了接收從快取讀取地址輸出的快取存儲地址,並為提供該快取存儲地址當作快取讀取地址至該讀取地址接口以先進先出的方式進行;數據請求控制器連接至遺漏地址輸出及在標籤存儲模組中的快取寫入地址輸出以及連接至主存儲控制器上的存儲地址輸入端,數據請求控制器包括有一個存儲請求地址序列,且該序列用於接收來自遺漏地址輸出的主存儲地址以及來自快取寫入地址輸出的快取存儲地址,且其提供的主存儲地址當作請求存儲地址至存儲地址輸入端以先進先出的方式進行。
下面結合附圖及實施例對本發明進行詳細說明
圖1是本發明快取存儲系統實施例的電路框圖。
圖2是本發明實施例中一個數據讀取控制器、一個數據請求控制器、一個數據寫入控制器及一個數據準備比特陣列的電路框圖。
圖3是本發明實施例中的一個儲存在一標籤存儲模組中的標籤查表流程圖。
3D顯示系統中的顯示存儲器內有不同的數據緩衝器,如一個Z緩衝器、一個網紋緩衝器以及一個區塊緩衝器,在這些緩衝區中會執行多次存取動作。然而,此數據緩衝區會被分配,因此,此顯示存儲器中的頻寬也同樣被具有數據存取以及該屏幕顯示的功能而被分配。
如圖1所示,一個快取存儲系統1在一個顯示存儲器中被採用,且快取存儲系統1提供一個主存儲單元2,在一個3D圖形顯示系統中,去減少自主存儲單元2中隱藏數據的存取,該快取存儲系統包括有一個主存儲控制器10、一個快取存儲器11、一個標籤存儲模組12、一個數據讀取控制器13、一個數據請求控制器14、一個數據寫入控制器15及一個數據比特陣列16,如圖2所示。
主存儲控制器10具有一個存儲地址輸入端(MAI)及一個存儲數據輸出端(MDO)。其中,主存儲控制器10適於電連接至主存儲單元2,並可根據輸入至存儲地址輸入端的請求存儲地址取出存在該主存儲單元2的存儲數據,並在該存儲數據輸出端提供該取出的存儲數據。在本實施例中,主存儲控制器10可為在圖形顯示系統(圖未示)及主存儲單元間的接口,或可選擇地,主存儲控制器10可為一個AGP控制器自主存儲單元2經由AGP總線所存取的存儲數據(圖未示)。
快取存儲器11是在主存儲單元2中提供網紋快取,而具有多個可地址化的儲存空間、一個寫入地址接(WAP)、一個寫入數據接口(WDP)、一個讀取地址接口(RAP)及一個讀取數據接(RDP),該寫入數據接口用於接收一個快取寫入地址,並寫入一個地址至快取存儲器11的儲存空間中,該寫入數據接口電連接至主存儲控制器10的存儲數據輸出端,用以接收存在快取寫入地址的儲存所在存儲數據。該讀取地址接口用以接收一個已指出在快取存儲器11中的快取讀取地址。
標籤存儲模組12,如隨機存取存儲模組(RAM),用以儲存一個標籤查表120,如圖3所示,標籤查表120有多個入口,每一入口皆有一個儲存在主存儲單元2中的主存儲地址,而一個儲存在快取存儲器11內的一個快取存儲地址中,標籤存儲模組12被用於接收一個輸入地址信號,並定義其快取″找到″的存在,就是該輸入地址信號可找到存在於主存儲中的標籤查表120的其中一個入口,或一快取″遺漏″情形,當該輸入地址信號沒有找到存在於主存儲中的標籤查表120的其中一個入口,標籤存儲模組12具有一″遺漏″地址輸出(MAO),一個快取寫入地址輸出(CWAO)以及一個快取讀取地址輸出(CRAO),在定義快取找到的情形下,就是指在快取存儲器11中找到一個有效的數據入口,標籤存儲模組12輸出快取存儲地址,且此快取存儲模組根據其輸入地址信號,而儲存在標籤查表120內,在快取讀取地址輸出(CRAO)。而該快取″遺漏″則是指該主存儲器單元2內的需要存取,標籤存儲模組12是根據該輸入地址信號找到儲存在快取存儲器11中所選定的一個儲存位置中產生快取存儲地址,而儲存在快取存儲器11中的選擇則可用現有的快取替換技術,如先進先出(FIFO)或一和最近可用的圖解,在自主存儲單元2中取出配置在主存儲控制器10中的存儲數據,而後,對應於輸入地址信號的該主存儲地址及該快取存儲地址則儲存在其中標籤查表120(如圖3)的一個入口處,最後,對應於該主存儲地址上的輸入地址信號,則在錯誤的地址輸出(MAO),就是對應於該輸入地址信號的快取存儲地址能同時在快取寫入地址輸出(CWAO)及該快取讀取地址輸出(CRAO)。
數據請求控制器14連接至遺漏地址輸出(MAO)以及在標籤存儲模組12的該快取寫入地址輸出(CWAO),以及連接至主存儲控制器10上的存儲地址輸入(MAI)端,數據請求控制器14包括有一個存儲請求地址序列140,而且其是接收來自遺漏地址輸出(MAO)端的主存儲地址,以及來自快取寫入地址輸出(CWAO)端,且其是提供主存儲地址當作請求存儲地址至該存儲地址輸入(MAI)端,以先進先出方式進行,如圖2所示,該數據請求控制器連接至該數據準備比特陣列,並擁有多個狀態比特,並對應至快取存儲器11的儲存位置中,數據請求控制器14產生一個請求信號(RQ)至主存儲控制器10上,凡當一個請求地址提供至存儲地址輸入(MAI)端,主存儲控制器10主張一個認可(ACK)信號在接收了自數據請求控制器14請求存儲地址。此時,數據請求控制器14指定連接至該請求存儲地址的在該數據準備比特陣列16中狀態比特為第一狀態,如一邏輯0狀態。
再如圖1所示,數據寫入控制器15電連接至數據請求控制器14以及快取存儲器11中的寫入地址接口(WAP),其中,數據寫入控制器15包括一個快取寫入地址序列150,且快取寫入地址序列150接收存儲請求地址序列140中的快取存儲地址,當數據請求控制器14接收來自主存儲控制器10的認可(ACK)信號,且其提供快取存儲地址當作快取寫入地址至該寫入地址接口(WAP),以先進先出的方式進行。如圖2所示,該數據寫入控制器15連接至數據準備比特陣列16,主存儲控制器10主張一個數據-準備(DR)信號至數據寫入控制器15,當該存儲數據自主存儲單元2中取回,並在存儲數據輸出處獲得(MDO),為回應至該數據準備(DR)信號,在一旁則提供該快取寫入地址至該寫入地址接口(WAP),以致於開始寫入數據至快取存儲位置11中,數據寫入控制器15進一步根據在快取存儲器11中被定址的快取寫入地址將數據準備比特陣列16中的狀態比特指定為第二狀態,如邏輯1狀態,並指出此數據的有效性。
如圖1所示,數據讀取控制器13電連接至在標籤存儲模組12中的快取讀取地址輸出(CRAO)及在快取存儲器11中的讀取地址接口(RAP),數據讀取控制器13包括有一個快取讀取地址序列130,此序列130接收從快取讀取地址輸出(CRAO)的快取存儲地址,並提供該快取存儲地址當作快取讀取地址至讀取地址接口(RAP),以先進先出的方式進行,以致可開始自該快取存儲器中讀取數據,如圖2所示,數據讀取控制器13也連接至數據準備比特陣列16,經檢查被快取讀取地址定址的儲存在快取存儲器中的比特狀態,當上述狀態比特為第一狀態時,讀取數據控制器13將不提供快取讀取地址至該讀取地址接口(RAP)。換句話說,當在主存儲單元2中相關的存儲數據未被寫入快取存儲器11前,讀取數據控制器13將不提供快取讀取地址至快取存儲器11。
一般來說,快取″找到″和快取″遺漏″可能發生弄混的情形,快取讀取地址被推入至快取讀取地址序列130,而較不注意無論是一個快取找到或一個快取遺漏的情形而被標籤存儲模組12所檢測,而存儲地址則被推入存儲請求地址序列140中,並提供緩衝效應,當一個快取遺漏情形被檢測到時,存儲器的請求則被數據請求控制器14所控制,並將這些地址傳入存儲請求地址序列140,且此主存儲控制器10會應這些請求自主存儲單元2中取出對應的存儲數據,快取寫入地址被數據請求控制器14存在數據寫入控制器15的快取請求地址序列150中,以去維持在快取存儲器11中數據存取的順序,當這些需要的存儲數據自主存儲控制器10獲得後,將會被寫入快取存儲器11中,經由數據準備比特陣列16的效力,數據讀取控制器13可通知其需要的存儲數據已被寫入且可存取的快取存儲器11中,借提供地址序列130、140、150適當長度,可減少因隱藏的存儲器存取造成的管線阻塞,以確保在快取遺漏的情形下,可平順執行,另外,隨著適當的快取置換結構的發展,該快取尋找速率可加快,且存儲器存取時間可減少。
與現有技術相比,本發明具有如下效果本發明快取存儲系統可減少隱藏在存儲器存取時的快取遺漏現象,並儘量將管線式結構所發生的阻塞現象減到最小。
權利要求
1.一種適用於主存儲單元的快取存儲系統,包括一個主存儲控制器,其特徵在於,還包括一個快取存儲器、一個標籤存儲模組、一個數據請求控制器;主存儲控制器具有一個存儲地址輸入端及一個存儲數據輸出端;主存儲控制器電連接至主存儲單元,並可根據輸入至存儲地址輸入端的請求存儲地址,取出存在主存儲單元的存儲數據,並在該數據輸出端提供該取出的存儲數據;快取存儲器具有多個可地址化的儲存空間、一個用來接收一快取寫入地址並寫入一個地址至快取存儲器儲存空間中的寫入數據接口、一個電連接至主存儲控制器的存儲數據輸出端以儲存上述中一個被快取寫入地址儲存空間的寫入數據接口、一個用以接收一已指出在儲存空間中其地址的快取讀取地址的讀取地址接口及一個輸出該存儲數據儲存在被該快取讀取地址所定址的一個儲存空間中的讀取數據接口;標籤存儲模組用以儲存一個包含有多個入口的標籤查表,每一入口皆有一個儲存在主存儲單元中的一儲存空間的主存儲地址及一個儲存在快取存儲器內的一個儲存空間中的快取存儲地址;標籤存儲模組用於接收一個地址信號,並定義其快取″找到″的存在,也就是為該輸入地址信號可對應至存在該主存儲控制器內的標籤查表中的一個入口,或一個快取″遺漏″情形,當該輸入地址信號沒有對應到存在於該主存儲控制器中的標籤查表的任一入口;該標籤存儲模組具有一″遺漏″的地址輸出、一快取寫入地址輸出以及一快取讀取地址輸出;該標籤存儲模組在定義該快取″找到″的情形下,意指在快取存儲器中找到一有效的數據入口,輸出屬於標籤查表該入口的快取存儲地址,且該快取存儲地址是對應於在快取讀取位置輸出端的地址信號;該標籤存儲模組定義該快取″遺漏″的存在,則是指該主存儲器單元內的需要存取,該標籤存儲模組是根據該地址信號找到在儲存在快取存儲器中所選定的一個儲存位置中產生快取存儲地址,而主存儲地址以及該快取存儲地址則是根據地址信號對應至在標籤查表中的一個入口儲存,輸出由該遺漏地址輸出的地址信號所對應的主存儲地址,並在該快取寫入地址輸出以及該快取讀取地址輸出處對應的地址信號輸出該快取存儲地址;數據讀取控制器電連接至在標籤存儲模組中的快取讀取地址輸出及在快取存儲器中的讀取地址接口,該數據讀取控制器包括有一個快取讀取地址序列,此序列為了接收從快取讀取地址輸出的快取存儲地址,並為提供該快取存儲地址當作快取讀取地址至該讀取地址接口以先進先出的方式進行;數據請求控制器連接至遺漏地址輸出及在標籤存儲模組中的快取寫入地址輸出以及連接至主存儲控制器上的存儲地址輸入端,數據請求控制器包括有一個存儲請求地址序列,且該序列用於接收來自遺漏地址輸出的主存儲地址以及來自快取寫入地址輸出的快取存儲地址,且其提供的主存儲地址當作請求存儲地址至存儲地址輸入端以先進先出的方式進行。
2.如權利要求1所述的快取存儲系統,其特徵在於還包括有一個數據準備比特陣列,其具有多個分別對應至所述快取存儲器的儲存空間內的儲存空間;數據準備比特陣列連接至所述數據請求控制器、數據寫入控制器及所述數據讀取控制器;數據請求控制器用以負責設定其中一個狀態比特,且該狀態比特對應的快取存儲地址被提供至所述快取寫入序列至第一狀態;數據寫入控制器用於負責其中一個狀態比特對應至所述快取存儲地址的儲存空間中,經由提供的寫入地址接口至一個第二狀態;數據讀取控制器用於防止快取讀取地址至該讀取地址接口至該存在該快取存儲器被該等快取讀取地址所定址的儲存空間中。
3.一種適用於主存儲單元的快取存儲系統,包括一個主存儲控制器,其特徵在於,還包括一個快取存儲器、一個標籤存儲模組、一個數據讀取控制器、一個數據寫入控制器;主存儲控制器電連接至主存儲單元,並可取出存在主存儲單元的存儲數據;快取存儲器電連接至主存儲控制器,其設有一個寫入數據接口、一個用以接收一已指出在儲存空間中地址的讀取地址接口以及一個讀取數據接口;標籤存儲模組被用於接收地址信號,並檢測出其快取″找到″的存在情況,為該輸入地址信號在快取存儲器中具有一對應的入口,或一快取″遺漏″情形,指在主存儲單元中需一個存取程序;數據讀取控制器互相連接至標籤存儲模組以及快取存儲器,數據讀取控制器包括有一個快取讀取地址序列,此序列是為了接收對應至標籤存儲模組的該地址信號的快取讀取地址,並提供該快取存儲地址當作快取讀取地址至快取存儲器中;數據請求控制器互相連接至標籤存儲模組以及主存儲控制器,該數據請求控制器包括有一個存儲請求地址序列,該序列接收一主存儲地址,以及一快取存儲地址,並對應於至從標籤存儲模組中的所存在的遺漏情形的地址信號,且其提供主存儲地址至主存儲控制器去控制從主存儲單元所尋回的存儲數據;數據寫入控制器互相連接至數據請求控制器及快取存儲器,該數據寫入控制器包括一個快取寫入地址序列,該快取寫入地址序列接收存儲請求地址序列中的快取存儲地址,其提供該快取存儲地址當作快取寫入地址至快取存儲器中去控制在快取存儲器中的快取存儲。
4.如權利要求3所述的快取存儲系統,其特徵在於還包括一個當所述主存儲單元中的對應存儲數據已被寫入所述快取存儲器中,用以防止所述數據讀取控制器提供所述快取讀取地址至快取存儲器的裝置。
全文摘要
一種適用於主存儲單元的快取存儲系統,包括:一主存儲控制器、一快取存儲器、一數據請求控制器、一標籤存儲模組、一數據讀取控制器及一數據寫入控制器;主存儲控制器分別連接快取存儲器及數據請求控制器;數據請求控制器分別連接標籤存儲模組及數據寫入控制器;數據讀取控制器分別連接標籤存儲模組及快取存儲器;數據寫入控制器又連接快取存儲器;本系統可減少隱藏在存儲器存取時的快取遺漏現象,可降低存儲器阻塞現象及提高數據傳輸效率。
文檔編號G06F12/08GK1384437SQ01109799
公開日2002年12月11日 申請日期2001年4月29日 優先權日2001年4月29日
發明者陳志卿, 蕭見忠 申請人:矽統科技股份有限公司