存储系统课件.ppt
3.4高速記憶體高速記憶體由於CPU和主記憶體在速度上不匹配,而且在一個CPU週期中可能需要用幾個記憶體字,這便限制了高速計算,為了使CPU不至因為等待記憶體讀寫操作的完成而無事可做,可以採取一些加速CPU和記憶體之間有效傳輸的特殊措施。雙端口記憶體多模組交叉記憶體相聯記憶體雙端口記憶體雙端口記憶體的邏輯結構見圖3.27提供了兩個相互獨立的端口,各自具備地址線、數據線和控制線,因而可以對記憶體中任何位置上的數據進行過獨立的存取操作。當兩個端口同時存取記憶體同一單元時,便發生了讀寫衝突,為解決此問題,特設置了busy標誌。多模組交叉記憶體記憶體的模組化組織一個由若干個模組組成的主記憶體是線性編址的。這些地址在各模組中如何安排,有兩種方式:順序方式交叉方式高速記憶體——多模組交叉記憶體順序方式:在順序方式中某個模組進行存取時,其他模組可以照常工作。另外通過增添模組來擴充記憶體也比較方便。但順序方式的缺點是各模組一個接一個串行工作,因此記憶體的帶寬受到了限制。高速記憶體——多模組交叉記憶體模組字01234567891011121314151617181920212223242526272829303143210高速記憶體——多模組交叉記憶體設存儲容量為32字,分成M0M3四個模組,每個模組存儲8個字,訪問地址按順序分配給一個模組後,接著又按順序為下一個模組分配訪問地址。這樣,記憶體的32個字可由5位地址寄存器指示,其中,高2位選擇4個模組中的一個,低3位選擇每個模組中的8個字。高速記憶體——多模組交叉記憶體交叉方式:用地址碼的低位字段經過解碼選擇不同的模組,而高位字段指向相應模組內的存儲字。這樣,連續地址分佈在相鄰的不同模組中,而同一模組內的地址都是不連續的。因此,對連續字的成塊傳送,交叉方式的記憶體可以實現多模組流水式並行存取,大大提高記憶體的帶寬。高速記憶體——多模組交叉記憶體存儲容量是32個字,分成4個模組,每個模組8個字,當記憶體尋址時,用地址寄存器的低2位選擇4個模組中的一個,而用高3位選擇模組中的8個字。字模組43210高速記憶體——多模組交叉記憶體字模組04812162024281591317212529261014182226303711151923273143210高速記憶體——多模組交叉記憶體多模組交叉記憶體的基本結構CPU記憶體控制部件M0M1M2M3每個模組各自以等同的方式與CPU傳送資訊。CPU同時訪問四個模組,由記憶體控制部件控制它們分時使用數據匯流排進行資訊傳遞。是一種並行記憶體結構。模組字長等於數據匯流排寬度,模組存取一個字的存儲週期為T,匯流排傳送週期為τ,記憶體的交叉模組數為m,為了實現流水線方式存取,應當滿足T=mτ(m=T/τ稱為交叉存取度)交叉記憶體要求其模組數必須大於或等於m,以保證啟動某模組後經mτ時間再次啟動該模組時,它的上次存取操作已經完成。這樣,連續讀取m個字所需的時間為t1=T+(m-1)τ而順序方式記憶體連續讀取m個字所需時間為t2=mT。交叉記憶體的帶寬確實大大提高了。m=4的流水線方式存取示意圖如上圖12341設記憶體容量為32字,字長64位,模組數m=4,分別用順序方式和交叉方式進行組織。存儲週期T=200ns,數據匯流排寬度為64位,匯流排傳送週期τ=50ns。問順序記憶體和交叉記憶體的帶寬各是多少?【解】順序記憶體和交叉記憶體連續讀出m=4個字的資訊總量都是:q=64位×4=256位順序記憶體和交叉記憶體連續讀出4個字所需的時間分別是:t2=mT=4×2