計算機組成原理課件第三章_第1頁
計算機組成原理課件第三章_第2頁
計算機組成原理課件第三章_第3頁
計算機組成原理課件第三章_第4頁
計算機組成原理課件第三章_第5頁
已閱讀5頁,還剩106頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機組成原理——呂強3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲區3.4只讀存儲器和閃速存儲器3.5并行存儲區3.6cache存儲器2023/2/3信息工程學院軟件工程系第三章內部存儲器3.1.1存儲器的分類3.1.2存儲器的分級3.1.3主存儲區的技術指標2023/2/3信息工程學院軟件工程系3.1存儲器概述按存儲介質分類:磁表面/半導體存儲器按存取方式分類:隨機/順序存?。ù艓В┌醋x寫功能分類:ROM,RAMRAM:雙極型/MOSROM:MROM/PROM/EPROM/EEPROM按信息的可保存性分類:永久性和非永久性的按存儲器系統中的作用分類:主/輔/緩/控2023/2/3信息工程學院軟件工程系3.1.1存儲器的分類目前存儲器的特點是:速度快的存儲器價格貴,容量?。粌r格低的存儲器速度慢,容量大。

在計算機存儲器體系結構設計時,我們希望存儲器系統的性能高、價格低,那么在存儲器系統設計時,應當在存儲器容量,速度和價格方面的因素作折中考慮,建立了分層次的存儲器體系結構如下圖所示。2023/2/3信息工程學院軟件工程系3.1.2存儲器的分級高速緩沖存儲器簡稱cache,它是計算機系統中的一個高

速小容量半導體存儲器。主存儲器簡稱主存,是計算

機系統的主要存儲器,用來存

放計算機運行期間的大量程序

和數據。外存儲器簡稱外存,它是大

容量輔助存儲器。2023/2/3信息工程學院軟件工程系3.1.2存儲器的分級2023/2/3信息工程學院軟件工程系字存儲單元:存放一個機器字的存儲單元,相應的單元地址叫字地址。字節存儲單元:存放一個字節的單元,相應的地址稱為字節地址。存儲容量:指一個存儲器中可以容納的存儲單元總數。存儲容量越大,能存儲的信息就越多。存取時間又稱存儲器訪問時間:指一次讀操作命令發出到該操作完成,將數據讀出到數據總線上所經歷的時間。通常取寫操作時間等于讀操作時間,故稱為存儲器存取時間。存儲周期:指連續啟動兩次讀操作所需間隔的最小時間。通常,存儲周期略大于存取時間,其時間單位為ns。存儲器帶寬:單位時間里存儲器所存取的信息量,通常以位/秒或字節/秒做度量單位。2023/2/3信息工程學院軟件工程系3.1.3主存儲器的技術指標3.2.1基本的靜態存儲元陣列3.2.2基本的SRAM邏輯結構3.2.3讀/寫周期波形圖主存(內部存儲器)是半導體存儲器。根據信息存儲的機理不同可以分為兩類:靜態讀寫存儲器(SRAM):存取速度快動態讀寫存儲器(DRAM):存儲容量不如DRAM大。2023/2/3信息工程學院軟件工程系3.2SRAM存儲器1、存儲位元2、三組信號線地址線數據線行線列線控制線2023/2/3信息工程學院軟件工程系3.2.1基本的靜態存儲元陣列2023/2/3信息工程學院軟件工程系SRAM芯大多采用雙譯碼方式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示2023/2/3信息工程學院軟件工程系3.2.2基本的SRAM邏輯結構2023/2/3信息工程學院軟件工程系存儲體(256×128×8)通常把各個字的同一個字的同一位集成在一個芯片(32K×1)中,32K位排成256×128的矩陣。8個片子就可以構成32KB。地址譯碼器采用雙譯碼的方式(減少選擇線的數目)。A0~A7為行地址譯碼線A8~A14為列地址譯碼線2023/2/3信息工程學院軟件工程系3.2.2基本的SRAM邏輯結構讀與寫的互鎖邏輯控制信號中CS是片選信號,CS有效時(低電平),門G1、G2均被打開。OE為讀出使能信號,OE有效時(低電平),門G2開啟,當寫命令WE=1時(高電平),門G1關閉,存儲器進行讀操作。寫操作時,WE=0,門G1開啟,門G2關閉。注意,門G1和G2是互鎖的,一個開啟時另一個必定關閉,這樣保證了讀時不寫,寫時不讀。2023/2/3信息工程學院軟件工程系3.2.2基本的SRAM邏輯結構讀周期讀出時間Taq讀周期時間Trc寫周期寫周期時間Twc寫時間twd存取周期讀周期時間Trc=寫時間twd2023/2/3信息工程學院軟件工程系3.2.3讀/寫周期波形圖2023/2/3信息工程學院軟件工程系[例1]圖3.5(a)是SRA的寫入時序圖。其中R/W是讀/寫命令控制線,當R/W線為低電平時,存儲器按給定地址把數據線上的數據寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。2023/2/3信息工程學院軟件工程系2023/2/3信息工程學院軟件工程系3.3.1DRAM存儲位元的記憶原理3.3.2DRAM芯片的邏輯結構3.3.3讀/寫周期、刷新時間3.3.4存儲器容量的擴充3.3.5高級的DRAM結構3.3.6DRAM主存讀/寫的正確性校驗2023/2/3信息工程學院軟件工程系3.3DRAM存儲器

SRAM存儲器的存儲位元是一個觸發器,它具有兩個穩定的狀態。而DRAM存儲器的存儲位元是由一個MOS晶體管和電容器組成的記憶電路,如圖3.6所示。2023/2/3信息工程學院軟件工程系3.3.1DRAM存儲位元的記憶原理2023/2/3信息工程學院軟件工程系3.3.1DRAM存儲位元的記憶原理2023/2/3信息工程學院軟件工程系下面我們通過一個例子來看一下動態存儲器的邏輯結構如圖。圖3.7(a)示出1M×4位DRAM芯片的管腳圖,其中有兩個電源腳、兩個地線腳,為了對稱,還有一個空腳(NC)。圖3.7(b)是該芯片的邏輯結構圖。與SRAM不同的是:增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲器容量很大,地址線寬度相應要增加,這勢必增加芯片地址線的管腳數目。為避免這種情況,采取的辦法是分時傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0~A9,由行選通信號RAS打入到行地址鎖存器;然后傳送地址碼A10~A19,由列選通信號CRS打入到列地址鎖存器。芯片內部兩部分合起來,地址線寬度達20位,存儲容量為1M×4位。增加了刷新計數器和相應的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進行的,所以通過2選1多路開關來提供刷新行地址或正常讀/寫的行地址。2023/2/3信息工程學院軟件工程系3.3.2DRAM芯片的邏輯結構2023/2/3信息工程學院軟件工程系3.3.2DRAM芯片的邏輯結構2023/2/3信息工程學院軟件工程系1、讀/寫周期

讀周期、寫周期的定義是從行選通信號RAS下降沿開始,到下一個RAS信號的下降沿為止的時間,也就是連續兩個讀周期的時間間隔。通常為控制方便,讀周期和寫周期時間相等。2023/2/3信息工程學院軟件工程系3.3.3讀/寫周期、刷新周期2023/2/3信息工程學院軟件工程系2、刷新周期刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。刷新操作有兩種刷新方式:集中式刷新:DRAM的所有行在每一個刷新周期中都被刷新。例如刷新周期為8ms的內存來說,所有行的集中式刷新必須每隔8ms進行一次。為此將8ms時間分為兩部分:前一段時間進行正常的讀/寫操作,后一段時間(8ms至正常讀/寫周期時間)做為集中刷新操作時間。分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。例如p72圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms÷1024=7.8us進行一次。2023/2/3信息工程學院軟件工程系3.3.3讀/寫周期、刷新周期1、字長位數擴展

給定的芯片字長位數較短,不滿足設計要求的存儲器字長,此時需要用多片給定芯片擴展字長位數。三組信號線中,地址線和控制線公用而數據線單獨分開連接。

d=設計要求的存儲器容量/選擇芯片存儲器容量2023/2/3信息工程學院軟件工程系3.3.4存儲器容量的擴充解:所需芯片數量=(1M×8)/(1M×4)=2(片)

設計的存儲器字長為8位,存儲器容量不變。連接的三組信號線與例相似,即地址線、控制線公用,數據線分高4位、低4位,但數據線是雙向的,與SRAM芯片的I/O端相連接。見書上圖3.9所示。2023/2/3信息工程學院軟件工程系[例2]利用1M×4位的SRAM芯片,設計一個存儲容量為1M×8位的SRAM存儲器。2、字存儲容量擴展

給定的芯片存儲容量較?。ㄗ謹瞪伲粷M足設計要求的總存儲容量,此時需要用多片給定芯片來擴展字數。三組信號組中給定芯片的地址總線和數據總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯碼來決定片選信號。所需芯片數仍由(d=設計要求的存儲器容量/選擇芯片存儲器容量)決定。2023/2/3信息工程學院軟件工程系3.3.4存儲器容量的擴充解:所需芯片數d=(2M×8)/(1M×8)=2(片)

設計的存儲器見書上圖3.10所示。字長位數不變,地址總線A0~A19同時連接到2片DRAM的地址輸入端,地址總線最高位有A20、A20,分別作為兩片DRAM的片選信號,兩個芯片不會同時工作。2023/2/3信息工程學院軟件工程系[例3]用1M×8位的DRAM芯片設計2M×8位的DRAM存儲器3、存儲器模塊條存儲器通常以插槽用模塊條形式供應市場。這種模塊條常稱為內存條,它們是在一個條狀形的小印制電路板上,用一定數量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。內存條有30腳、72腳、100腳、144腳、168腳等多種形式。30腳內存條設計成8位數據線,存儲容量從256KB~32MB。72腳內存條設計成32位數據總線100腳以上內存條既用于32位數據總線又用于64位數據總線,存儲容量從4MB~512MB。2023/2/3信息工程學院軟件工程系3.3.4存儲器容量的擴充1、FPMDRAM

快速頁模式動態存儲器,它是根據程序的局部性原理來實現的。讀周期和寫周期中,為了尋找一個確定的存儲單元地址,首先由低電平的行選通信號RAS確定行地址,然后由低電平的列選信號CAS確定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。2023/2/3信息工程學院軟件工程系3.3.5高級的DRAM結構2023/2/3信息工程學院軟件工程系2、CDRAM

CDRAM稱為帶高速緩沖存儲器(cache)的動態存儲器,它是在通常的DRAM芯片內又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進。如圖所示出1M×4位CDRAM

芯片的結構框圖,

其中SRAM為

512×4位。2023/2/3信息工程學院軟件工程系3.3.5高級的DRAM結構2023/2/3信息工程學院軟件工程系3、SDRAM

SDRAM稱為同步型動態存儲器。計算機系統中的CPU使用的是系統時鐘,SDRAM的操作要求與系統時鐘相同步,在系統時鐘的控制下從CPU獲得地址、數據和控制信息。換句話說,它與CPU的數據交換同步于外部的系統時鐘信號,并且以CPU/存儲器總線的最高速度運行,而不需要插入等待狀態。其原理和時序關系見下一頁圖和動畫。2023/2/3信息工程學院軟件工程系3.3.5高級的DRAM結構2023/2/3信息工程學院軟件工程系[例4]CDRAM內存條組成實例。l 一片CDRAM的容量為1M×4位,8片這樣的芯片可組成1M×32位4MB的存儲模塊,其組成如下圖所示。2023/2/3信息工程學院軟件工程系3.3.5高級的DRAM結構2023/2/3信息工程學院軟件工程系

DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關重要。為此除了正常的數據位寬度,還增加了附加位,用于讀/寫操作正確性校驗。增加的附加位也要同數據位一起寫入DRAM中保存。其原理如圖所示。2023/2/3信息工程學院軟件工程系3.3.6DRAM主存讀/寫的正確性校驗2023/2/3信息工程學院軟件工程系3.4.1只讀存儲器ROM3.4.2FALSH存儲器2023/2/3信息工程學院軟件工程系3.4只讀存儲器和閃速存儲器

ROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數據,必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強,在計算機系統中得到廣泛的應用。主要有兩類:掩模ROM:掩模ROM實際上是一個存儲內容固定的ROM,由生產廠家提供產品??删幊蘎OM:用戶后寫入內容,有些可以多次寫入。一次性編程的PROM多次編程的EPROM和E2PROM。2023/2/3信息工程學院軟件工程系3.4.1只讀存儲器ROM1、掩模ROM(1)掩模ROM的陳列結構和存儲元2023/2/3信息工程學院軟件工程系3.4.1只讀存儲器ROM2023/2/3信息工程學院軟件工程系1、掩模ROM(2)掩模ROM的邏輯符號和內部邏輯框圖2023/2/3信息工程學院軟件工程系3.4.1只讀存儲器ROM2023/2/3信息工程學院軟件工程系2、可編程ROMEPROM叫做光擦除可編程可讀存儲器。它的存儲內容可以根據需要寫入,當需要更新時將原存儲內容抹去,再寫入新的內容?,F以浮柵雪崩注入型MOS管為存儲元的EPROM為例進行說明,結構如下圖所示。2023/2/3信息工程學院軟件工程系3.4.1只讀存儲器ROM2023/2/3信息工程學院軟件工程系2、可編程ROME2PROM存儲元EEPROM,叫做電擦除可編程只讀存儲器。其存儲元是一個具有兩個柵極的NMOS管,如圖(a)和(b)所示,G1是控制柵,它是一個浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產生隧道效應。如圖(c)所示,當G2柵加20V正脈沖P1時,通過隧道效應,電子由襯底注入到G1浮柵,相當于存儲了“1”。利用此方法可將存儲器抹成全“1”狀態。2023/2/3信息工程學院軟件工程系3.4.1只讀存儲器ROM2023/2/3信息工程學院軟件工程系

FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特數目的存儲容量。非易失性意味著存放的數據在沒有電源的情況下可以長期保存??傊?,它既有RAM的優點,又有ROM的優點,稱得上是存儲技術劃時代的進展。2023/2/3信息工程學院軟件工程系3.4.2FLASH存儲器1、FLASH存儲元

在EPROM存儲元基礎上發展起來的,由此可以看出創新與繼承的關系。如右圖所示為閃速存儲器中的存儲元,由單個MOS晶體管組成,除漏極D和源極S外,還有一個控制柵和浮空柵。2023/2/3信息工程學院軟件工程系3.4.2FLASH存儲器2023/2/3信息工程學院軟件工程系2、FLASH存儲器的基本操作編程操作、讀取操作、擦除操作如圖(a)表示編程操作時存儲元寫0、寫1的情況。實際上編程時只寫0,不寫1,因為存儲元擦除后原始狀態全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被編程,存儲的數據可保持100年之久而無需外電源。2023/2/3信息工程學院軟件工程系3.4.2FLASH存儲器2023/2/3信息工程學院軟件工程系2023/2/3信息工程學院軟件工程系3、FLASH存儲器的陣列結構FLASH存儲器的簡化陣列結構如下圖所示。在某一時間只有一條行選擇線被激活。讀操作時,假定某個存儲元原存1,那么晶體管導通,與它所在位線接通,有電流通過位線,所經過的負載上產生一個電壓降。這個電壓降送到比較器的一個輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個標志為邏輯1的電平。如果某個存儲元原先存0,那么晶體管不導通,位線上沒有電流,比較器輸出端則產生一個標志為邏輯0的電平。2023/2/3信息工程學院軟件工程系3.4.2FLASH存儲器2023/2/3信息工程學院軟件工程系2023/2/3信息工程學院軟件工程系3.5.1雙端口存儲器3.5.2多模塊交叉存儲器

由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計算機設計的主要問題。為了提高CPU和主存之間的數據傳輸率,除了主存采用更高速的技術來縮短讀出時間外,還可以采用并行技術的存儲器。2023/2/3信息工程學院軟件工程系3.5并行存儲器1、雙端口存儲器的邏輯結構

雙端口存儲器由于同一個存儲器具有兩組相互獨立的讀寫控制電路而得名。由于進行并行的獨立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。舉例說明,雙端口存儲器IDT7133的邏輯框圖。如下頁圖。2023/2/3信息工程學院軟件工程系3.5.1雙端口存儲器2023/2/3信息工程學院軟件工程系3.5.1雙端口存儲器2023/2/3信息工程學院軟件工程系2、無沖突讀寫控制

當兩個端口的地址不相同時,在兩個端口上進行讀寫操作,一定不會發生沖突。當任一端口被選中驅動時,就可對整個存儲器進行存取,每一個端口都有自己的片選控制(CE)和輸出驅動控制(OE)。讀操作時,端口的OE(低電平有效)打開輸出驅動器,由存儲矩陣讀出的數據就出現在I/O線上。

3、有沖突讀寫控制

當兩個端口同時存取存儲器同一存儲單元時,便發生讀寫沖突。為解決此問題,特設置了BUSY標志。在這種情況下,片上的判斷邏輯可以決定對哪個端口優先進行讀寫操作,而對另一個被延遲的端口置BUSY標志(BUSY變為低電平),即暫時關閉此端口。2023/2/3信息工程學院軟件工程系3.5.1雙端口存儲器有沖突讀寫控制判斷方法

(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進行判斷來選擇端口(地址有效判斷)。無論采用哪種判斷方式,延遲端口的BUSY標志都將置位而關閉此端口,而當允許存取的端口完成操作時,延遲端口BUSY標志才進行復位而打開此端口。2023/2/3信息工程學院軟件工程系3.5.1雙端口存儲器2023/2/3信息工程學院軟件工程系3.5.1雙端口存儲器2023/2/3信息工程學院軟件工程系1、存儲器的模塊化組織

一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式2023/2/3信息工程學院軟件工程系3.5并行存儲器1、順序方式[例]M0-M3共四個模塊,則每個模塊8個字順序方式:

M0:0—7

M1:8-15

M2:16-23

M3:24-315位地址組織如下:XX

XXX高位選模塊,低位選塊內地址特點:某個模塊進行存取時,其他模塊不工作,優點是某一模塊出現故障時,其他模塊可以照常工作,通過增添模塊來擴充存儲器容量比較方便。缺點是各模塊串行工作,存儲器的帶寬受到了限制。2023/2/3信息工程學院軟件工程系3.5.2多模塊交叉存儲器[例]M0-M3共四個模塊,則每個模塊8個字交叉方式:

M0:0,4,...除以4余數為0

M1:1,5,...除以4余數為1

M2:2,6,...除以4余數為2

M3:3,7,...除以4余數為35位地址組織如下:XXX

XX高位選塊內地址,低位選模塊特點:連續地址分布在相鄰的不同模塊內,同一個模塊內的地址都是不連續的。優點是對連續字的成塊傳送可實現多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數據讀取。2023/2/3信息工程學院軟件工程系3.5.2多模塊交叉存儲器2、多模塊交叉存儲器的基本結構

右圖為四模塊交叉存儲器結構框圖。主存被分成4個相互獨立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數據寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數據塊都是連續地在主存中存取,那么將大大提高主存的訪問速度。2023/2/3信息工程學院軟件工程系3.5.2多模塊交叉存儲器2023/2/3信息工程學院軟件工程系通常在一個存儲器周期內,n個存儲體必須分時啟動,則各個存儲體的啟動間隔為(n為交叉存取度)整個存儲器的存取速度有望提高n倍2023/2/3信息工程學院軟件工程系3.5.2多模塊交叉存儲器2023/2/3信息工程學院軟件工程系解:順序存儲器和交叉存儲器連續讀出m=4個字的信息總量都是: q=64b×4=256bl順序存儲器和交叉存儲器連續讀出4個字所需的時間分別是:t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)=200ns+350ns=350ns=35×10-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(35×10-7)s=730Mb/s2023/2/3信息工程學院軟件工程系[例5]設存儲器容量為32字,字長64位,模塊數m=4,分別用順序方式和交叉方式進行組織。存儲周期T=200ns,數據總線寬度為64位,總線傳送周期=50ns。若連續讀出4個字,問順序存儲器和交叉存儲器的帶寬各是多少?3、二模塊交叉存儲器舉例2023/2/3信息工程學院軟件工程系3.5.2多模塊交叉存儲器2023/2/3信息工程學院軟件工程系3、二模塊交叉存儲器舉例2023/2/3信息工程學院軟件工程系3.5.2多模塊交叉存儲器2023/2/3信息工程學院軟件工程系3.6.1cache基本原理3.6.2主存與cache的地址映射3.6.3替換策略3.6.4cache的寫操作策略3.6.5Pentium4的cache組織2023/2/3信息工程學院軟件工程系3.6cache存儲器1、cache的功能解決CPU和主存之間的速度不匹配問題一般采用高速的SRAM構成。CPU和主存之間的速度差別很大采用兩級或多級Cache系統早期的一級Cache在CPU內,二級在主板上現在的CPU內帶L1Cahe和L2Cahe全由硬件調度,對用戶透明2023/2/3信息工程學院軟件工程系3.6.1cache基本原理CPU與存儲器系統的關系2023/2/3信息工程學院軟件工程系3.6.1cache基本原理2、cache的基本原理地址映射替換策略寫一致性性能評價2023/2/3信息工程學院軟件工程系3.6.1cache基本原理2023/2/3信息工程學院軟件工程系3、cache的命中率

從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近cache的讀出時間。為了達到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應占很高的比例,即cache的命中率應接近于1。由于程序訪問的局部性,實現這個目標是可能的。2023/2/3信息工程學院軟件工程系3.6.1cache基本原理3、cache命中率公式2023/2/3信息工程學院軟件工程系3.6.1cache基本原理解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r+(1-r)h)=1/(5+(1-5)×0.95=83.3%ta=tc/e=50ns/0.833=60ns2023/2/3信息工程學院軟件工程系[例6]CPU執行一段程序時,cache完成存取的次數為1900次,主存完成存取的次數為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統的效率和平均訪問時間。無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。選擇哪種映射方式,要考慮:硬件是否容易實現地址變換的速度是否快主存空間的利用率是否高、主存裝入一塊時,發生沖突的概率以下我們介紹三種映射方法2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射將地址分為兩部分(塊號和字),在內存塊寫入Cache時,同時寫入塊號標記;CPU給出訪問地址后,也將地址分為兩部分(塊號和字),比較電路塊號與Cache表中的標記進行比較,相同表示命中,訪問相應單元;如果沒有命中訪問內存,CPU直接訪問內存,并將被訪問內存的相對應塊寫入Cache。2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射2023/2/3信息工程學院軟件工程系1、全相聯的映射方式2023/2/3信息工程學院軟件工程系1、全相聯的映射方式特點:優點:沖突概率小,Cache的利用高。缺點:比較器難實現,需要一個訪問速度很快代價高的相聯存儲器應用場合:適用于小容量的cache2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射2、直接映射方式映射方法(一對多)如: i=jmodm

主存第j塊內容拷貝到Cache的i行

一般I和m都是2N級

[例]cache容量16字,主存容量256字,則地址2,18,34…..242等都存放在cache的地址2內,如果第一次2在cache中,下次訪問34內容,則不管cache其他位置的內容訪問情況,都會引起2塊內容的替換2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射2、基本原理利用行號選擇相應行;把行標記與CPU訪問地址進行比較,相同表示命中,訪問Cache;如果沒有命中,訪問內存,并將相應塊寫入Cache2023/2/3信息工程學院軟件工程系2、直接映射方式2023/2/3信息工程學院軟件工程系2、直接映射方式特點:優點:比較電路少m倍線路,所以硬件實現簡單,Cache地址為主存地址的低幾位,不需變換。缺點:沖突概率高(抖動)應用場合適合大容量Cache2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射3、組相聯映射方式前兩者的組合Cache分組,組間采用直接映射方式,組內采用全相聯的映射方式Cache分組U,組內容量V映射方法(一對多)q=jmodu主存第j塊內容拷貝到Cache的q組中的某行地址變換設主存地址x,看是不是在cache中,先y=xmodu,則在y組中一次查找2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射3、組相聯映射方式分析:比全相聯容易實現,沖突低v=1,則為直接相聯映射方式u=1,則為全相聯映射方式v的取值一般比較小,一般是2的冪,稱之為v路組相聯cache.2023/2/3信息工程學院軟件工程系3.6.2主存與cache的地址映射2023/2/3信息工程學院軟件工程系LFU(最不經常使用):被訪問的行計數器增加1,換值小的行,不能反映近期cache的訪問情況LRU(近期最少使用):被訪問的行計數器置0,其他的計數器增加1,換值大的行,符合cache的工作原理隨機替換:隨機替換策略實際上是不要什么算法,從特定的行位置中隨機地選取一行換出即可。這種策略在硬件上容易實現,且速度也比前兩種策略快。缺點是隨意換出的數據很可能馬上又要使用,從而降低命中率和cache工作效率。但這個不足隨著cache容量增大而減小。隨機替換策略的功效只是稍遜于前兩種策略。2023/2/3信息工程學院軟件工程系3.6.3替換策略

由于cache的內容只是主存部分內容的拷貝,它

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論