吳海旋
(國家知識產(chǎn)權局專利局專利審查協(xié)作河南中心,河南 鄭州 450000)
主機的存取速度較快,而存儲器的存取速度較慢,為了使二者之間的速度能夠匹配出現(xiàn)了主機與存儲器之間的緩存技術。緩存與存儲器之間以塊為單位進行數(shù)據(jù)交換,當主機發(fā)出讀取數(shù)據(jù)或指令時,它同時將讀取到的數(shù)據(jù)或指令保存到一個緩存塊中。當主機第二次需要讀取相同的數(shù)據(jù)時,它可以從緩存的塊中得到相應的數(shù)據(jù)。因為緩存的存取速度遠遠大于存儲器的速度,這樣系統(tǒng)的整體性能就得到很大的提高。緩存塊大小為幾個字,一般與傳輸數(shù)據(jù)塊的大小相同,當主機從存儲器讀一個字的數(shù)據(jù)時,它將會同時把存儲器中和它相鄰的內容讀到同一塊中[1-2]。
圖1 主機、存儲器以及緩存之間的關系
主機與存儲器之間的緩存技術的發(fā)展路線主要包括:第一非阻塞緩存技術,第二犧牲緩存技術,第三跟蹤緩存技術[3]。
主機與存儲器之間的緩存技術發(fā)展的初期,當緩存發(fā)生缺失時,主機必須先停下來,然后從存儲器中調取缺失的數(shù)據(jù)塊,以執(zhí)行接下來的命令。非阻塞的緩存技術允許發(fā)生緩存缺失時,主機在等待緩存給出數(shù)據(jù)的同時,從指令緩存中取指令繼續(xù)工作。數(shù)據(jù)系統(tǒng)控制公司的專利US4370710A,1983年1月25日公開了一種利用缺失信息保持寄存器以防止緩存未命中的死鎖的緩存結構,其公開了非阻塞緩存的實現(xiàn)方法,該系統(tǒng)維持了一個缺失信息寄存器組,當發(fā)生緩存缺失時記錄所需要的信息,相當于一個中斷保護寄存器,保存中斷發(fā)生時的上下文信息,并發(fā)送堆棧以配合其他裝置進行缺失處理,而緩存繼續(xù)應對另外的數(shù)據(jù)請求。后來隨著主機以及緩存技術的發(fā)展,每條指令所耗費的機器周期數(shù)據(jù)量急劇下降,當發(fā)生一次緩存缺失時,缺失的損失是一百個指令周期甚至更多。數(shù)據(jù)設備公司的專利US5261066A,1993年11月9日公開了一種小全相連緩存和預取緩存的數(shù)據(jù)處理系統(tǒng)和方法,在緩存和它與下一級存儲器是數(shù)據(jù)通路之間設一個全相連的缺失緩存,缺失緩存的容量比一級緩存的容量小,缺失緩存用來存放由于失效而被丟棄的塊。當一級緩存發(fā)生缺失時,在訪問下一級存儲器前,先檢查缺失緩存中是否有所需的塊,有則將該塊與一級緩存中某個塊交換。但這主要使存儲器與緩存中的內容相對應,這使得緩存中的每行按照虛擬地址或物理地址順序存放數(shù)據(jù)或指令。英特爾公司的專利US5381533A,1995年1月10日公開了一種位于獨立于虛擬地址線的跟蹤部件周圍的動態(tài)指令流緩存,緩存是一個雙端口緩存,兩個端口都有各自的數(shù)據(jù)線和地址線,一個端口主機和存儲器交互,另一個與線緩沖相連,緩存的輸入來自線緩沖,然后線緩沖將數(shù)據(jù)和地址送至緩存,線緩沖存儲分支預測指令,下一地址和蹤跡。相比之前的根據(jù)預先決定的地址來進行順序線性組織的緩存,跟蹤緩存是根據(jù)實際程序的執(zhí)行進行動態(tài)組織。若程序有分支,緩存根據(jù)分支轉移結果把下一條需要執(zhí)行的指令組織到這一個緩存塊中,減少了緩存缺失[4]。
英特爾公司是生產(chǎn)處理器、芯片組、板卡及系統(tǒng)等的廠家,同時其對緩存的發(fā)展也有重要貢獻,因此,選擇英特爾公司為本領域的重要申請人,對其專利進行梳理,得出英特爾公司關于緩存技術發(fā)展的脈絡[5]。
專利US5829025A,1998年10月27日公開了一種多級緩存中緩存單元分配的方法,提出了非即時數(shù)據(jù)和即時數(shù)據(jù)的數(shù)據(jù)標識方法,和基于該方法的緩存分配原理。在緩存分配時被快取的數(shù)據(jù)是頻繁使用的數(shù)據(jù),所以緩存塊分配時應盡量避免分給那些短時間不用的數(shù)據(jù)。專利US6202129A,2001年3月13日通過引入一個共享的緩存結構來消除獨立緩沖器,減小了硬件開銷,US2002007441A1,2002年1月17日公開了一種即時和非即時指令的共享緩存結構,本質技術與專利US6202129A相同,只是從另一個方面對緩存進行保護。US2003126365A1,2003年7月3日公開了一種在多核系統(tǒng)中多個處理核之間緩存塊的轉移,緩存的一致性是通過每個核的專用緩存,不需要將數(shù)據(jù)路由到片外的存儲器,再從片外存儲器讀取數(shù)據(jù),提高了緩存一致性效率。US2004039880A1,2004年2月26日公開了一種多核處系統(tǒng)中共享緩存的一致性的方法和裝置,第一級高速緩存將多個緩存塊維持在兩個不同的修改狀態(tài)中。第一修改狀態(tài)表明修改的高速緩存塊最近拷貝,第二修狀態(tài)表明修改的緩存塊的過時拷貝。US2008022049A1,2008年1月24日公開了共享緩存中的動態(tài)預分類,通過對數(shù)據(jù)的預分類的方法減小對共享緩存中數(shù)據(jù)的存取時間,降低功耗。
本文通過檢索緩存專利技術發(fā)現(xiàn),緩存技術在外國發(fā)展較早,核心專利為外國申請,主要為美國,通過對英特爾公司關于緩存專利進行梳理得知,英特爾公司對重要的專利會通過多方面申請專利進行全面保護,并在多個國家進行申請保護。
[1]李亞民.計算機組成與系統(tǒng)結構[M].北京:清華大學出版社,2000.
[2]C.Kim,D.Burger,S.Keckler.Nonuniform Cache Architectures for Wire-Delay Dominated On-Chip Caches[J].IEEEMICRO,2003,272(03):112-114.
[3]M.R.Many.Cache coherence techniques formulticore processors[J].University of Wisconsin at Madison,2008(205):45-47.
[4]高云.簡述計算機存儲系統(tǒng)的分層結構[J].福建電腦,2004(6):23-26.
[5]Wilkes.Slave Memories and Dynamic Storage Allocation[J].Trans.IEEE,1965,14:270.