日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机组成原理哈工大期末_浅谈计算机组成原理(三)

發布時間:2024/7/23 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机组成原理哈工大期末_浅谈计算机组成原理(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、

第二章:存儲系統

通過下面的思維導圖來依次分享「存儲系統」里面重要知識點。

2、

第一節:存儲器的結構

1. 主存儲器:簡稱主存,又稱內存儲器(內存),用來存放計算機運行期間所需的大量程序和數據,CPU可以直接隨機地對其訪問,也可以和高速緩沖存儲器(Cache)以及輔助存儲器交換數據。其特點是容量較小、存儲速度較快、每位價格高。

2. 輔助存儲器:簡稱輔存,又稱外存儲器(外存),是主存儲器的后援存儲器,用來存放當前暫時不用的數據和程序,以及一些需要永久性保存的信息,它不與CPU直接交換信息,其特點是容量極大、存儲速度較慢、單位成本低。

3. 高速緩沖存儲器:簡稱Cache,位于主存和CPU之間,用來存放正在執行的程序段和數據,以便CPU能夠高速地使用它們。Cache的存儲速度可以與CPU的存儲速度相匹配,但存儲容量小,價格高。

4. 隨機存儲器(RAM):存儲器的任何一個存儲單元的內容都可以隨機存取,而且存取時間與存儲單元的物理位置無關。同時RAM也是易失性存儲器,即斷電后存儲信息即消失的存儲器。其優點是讀寫方便、使用靈活,主要用作主存和高速緩沖存儲器。

5. 只讀存儲器(ROM):存儲器的內容只能隨機讀出而不能寫入。信息一旦寫入存儲器就固定不變了,即使斷電,內容也不會丟失。同時ROM也是非易失性存儲器,即斷電后信息仍保持的存儲器。因此,通常用它存放固定不變的程序、常數和漢字字庫,甚至用于操作系統的固化。它與隨機存儲器可共同作為主存的一部分,統一構成主存的地址域。

6. 串行訪問存儲器:對存儲單元進行讀/寫操作時,需按其物理位置的先后順序尋址,包括順序存取存儲器(如磁帶)與直接存取存儲器(如磁盤)。

7. 多級存儲系統:主存與CPU直接相連,輔存與主存直接相連,同時Cache介于CPU與主存之間,分別于CPU和主存相連。其中“Cache—主存”層次主要是解決CPU與主存速度不匹配問題,“主存—輔存”層次主要的解決存儲系統的容量的問題。在存儲系統中,Cache、主存能與CPU直接交換信息,輔存則要通過主存與CPU交換信息。

補充:主存和Cache之間的數據調動是由硬件自動完成的,對所有程序員均是透明的(即不可見的),而主存和輔存之間的數據調動則是由硬件和操作系統共同完成的,對應用程序員的透明的(即不可見的)。

3、

第二節:半導體隨機存儲器

1. 半導體存儲芯片的基本結構如下:

①存儲矩陣:由大量相同的位存儲單元陣列構成。

②譯碼驅動:將來自地址總線的地址信號翻譯成對應存儲單元的選通信號,該信號再讀寫電路的配合下完成對被選中單元的讀/寫操作。

③讀寫電路:包括讀出放大器和寫入電路,用來完成讀/寫操作。

④讀/寫控制線:決定芯片進行讀/寫操作。

⑤片選線:確定哪個存儲芯片被選中。

⑥地址線:是單向輸入的,其位數與存儲字的個數有關。

⑦數據線:是雙向的,其位數與讀出或寫入的數據位數有關,數據線數與地址線數共同反映存儲芯片容量的大小。

2. 存儲體的構成:把存放一個二進制的物理器件稱為存儲元,它是存儲器的最基本構件;地址碼相同的多個存儲元構成一個存儲單元,由若干存儲單元的集合構成存儲體。

3. 靜態隨機存儲器(SRAM):其存儲元是用雙穩態觸發器(六管MOS)來記憶信息的,因此即使信息被讀出后,它仍保持其原狀態而不需要再生(非破壞性讀出)。但是只要電源被切斷,原來保存的信息便會消失,故屬于易失性半導體存儲器。

SRAM的存取速度快,但集成度低,功耗較大,所以一般用來組成高速緩沖存儲器。

4. 動態隨機存儲器(DRAM):是利用存儲元電路中柵極電容上的電荷來存儲信息的;DRAM采用地址復用技術,地址線是原來的1/2,且地址信號分行、列兩次傳遞;DRAM電容上的電荷一般只能維持1~2ms,因此即使電源不掉電,信息也會自動消失,為此,每隔一定時間必須刷新,通常取2ms,這個時間稱為刷新周期。

相對于SRAM來說,DRAM具有容易集成、價位低、容量大和功耗低等優點,但是DRAM的存取速度比SRAM慢,一般用來組成大容量主存系統。

5. 只讀存儲器(ROM):ROM和RAM都是支持隨機存取的存儲器,其中SRAM和DRAM均為易失性存儲器,而ROM中一旦有了信息,就不能輕易改變,即使掉電也不會丟失,它在計算機系統中是只供讀出的存儲器。其優點為結構簡單,所以位密度比可讀寫存儲器高,具有非易失性,所以可靠性高。

6. ROM的類型:根據制造工藝的不同,ROM可分為掩膜式只讀存儲器(MROM)、一次可編程只讀存儲器(PROM)、可擦除可編程只讀存儲器(EPROM)、閃速存儲器(Flash Memory)和固態硬盤(Solid State Drives)。

4、

第三節:主存儲器與CPU的連接

1. 主存儲器與CPU的連接圖如下:

連接原理為:

①主存儲器通過數據總線、地址總線和控制總線與CPU連接

②數據總線的位數與工作頻率的乘積正比于數據傳輸速率。

③地址總線的位數決定了可尋址的最大內容空間。

④控制總線(讀/寫)指出總線周期的類型和本次輸入/輸出操作完成的時刻。

2. 主存的擴容方法:

①位擴展法:用多個存儲器件對字長進行補充,增加存儲字長,使其數據位數與CPU的數據線數相等。位擴展的連接方式是將多個存儲芯片的地址端、片選端和讀寫控制端相應并聯,數據端分別引出。

②字擴展法:增加存儲器中字的數量,而位數不變。字擴展將芯片的地址線、數據線、讀寫控制線相應并聯,而由片選信號來區分各芯片的地址范圍。

③字位同時擴展法:指既增加存儲字的數量,又增加存儲字長。

5、

第四節:雙口RAM和多模塊存儲器

1. 雙端口RAM:指同一個存儲器有左、右兩個獨立的端口,分別具有兩組相互獨立的地址線、數據線和讀寫控制線,允許兩個獨立的控制器同時異步地訪問存儲單元。

2. 多模塊存儲器:為提高訪問速度,常采用多模塊存儲器,常用的有單體多字存儲器和多體并行存儲器。

①單體多字存儲器:指存儲器中只有一個存儲體,每個存儲單元存儲m個字,總線寬度也為m個字,一次并行讀出m個字,地址必須順序排列并處于同一存儲單元。

②多體并行存儲器:指由多體模塊組成,每個模塊都有相同的容量和存儲速度,各模塊都有獨立的讀寫控制電路、地址寄存器和數據寄存器。它們既能并行工作,又能交叉工作。

6、

第五節:高速緩沖存儲器

1. 時間局部性:指在最近的未來要用到的信息,很可能是現在正在使用的信息,這是因為程序存在循環。

2. 空間局部性:指在最近的未來要用到的信息,很可能與現在正在使用的信息在存儲空間上是臨近的,這是因為指令通常是順序存放、順序執行的,數據一般也是以向量、數組、表等形式簇聚地存儲在一起的。

3. 高速緩沖技術:利用程序訪問的局部性原理,把程序中正在使用的部分存放在一個高速的、容量較小的Cache中,使CPU的訪存操作大多數針對Cache進行,從而使程序的執行速度大大提高。

4. 高速緩沖存儲器(Cache)的工作原理:Cache位于存儲器層次結構的頂層,通常由SRAM構成。Cache和主存被分成若干大小相等的快(Cache塊又稱為Cache行),每塊由若干字節組成,塊的長度稱為長(Cache行長)。由于Cache的容量遠小于主存的容量,所以Cache中的塊數要遠少于主存中的塊數,它僅保存主存中最活躍的若干塊的副本。故而Cache按照某種策略,預測CPU在未來一段時間內欲訪存的數據,將其裝入Cache。

當CPU發出讀請求時,如果訪存地址在Cache中命中,就將此地址轉換成Cache地址,直接對Cache進行讀操作,與主存無關;如果Cache不命中,則仍需訪問主存,并把此字所在的塊一次從主存調入Cache內。若此時Cache已滿,則需根據某種替換算法,用這個快替換掉Cache中原來的某塊信息。(注意:CPU與Cache之間的數據交換以字為單位,而Cache與主存之間的數據交換則是以Cache塊為單位。)

5. Cache和主存的映射:指把主存地址空間映射到Cache地址空間,也就是把存放在主存中的程序按照某種規則裝入Cache中。Cache和主存的映射方式有:

①直接映射:主存數據塊只能裝入Cache中的唯一位置。若這個位置已有內容,則產生沖突,原來的塊將無條件地替換出去(無需使用替換算法)。直接映射實現簡單,但不夠靈活,直接映射的塊沖突概率最高,空間利用率最低。

②全相聯映射:可以把主存數據塊裝入Cache中的任何位置。全相聯映射方式的優點是比較靈活,Cache塊的沖突概率低,空間利用率高,命中率也高;缺點是地址變換速度慢,實現成本高。

③組相聯映射:將Cache空間分成大小相同的組,主存的一個數據塊可以裝入到一組內的任何一個位置,即組間采用直接映射,而組內采用全相聯映射。它是對直接映射和全相聯映射的一種折中。

6. Cache中主存塊的替換算法:在采用全相聯映射和組相聯映射方式時,從主存向Cache傳送一個新快,當Cache中的空間已被占滿時,就需要使用替換算法置換Cache行。替換算法有:

①隨機算法(RAND):隨機地確定替換的Cache塊。它的實現比較簡單,但沒有依據程序訪問的局部性原理,故可能命中率較低。

②先進先出(FIFO)算法:選擇最早調入的行進行替換。但也沒有依據程序訪問的局部性原理,可能會把一些經常使用的程序塊(如循環程序)也作為最早進入Cache的塊替換掉。

③近期最少使用(LRU)算法:依據程序訪問的局部性原理選擇近期內長久未訪問過的存儲行作為替換的行,平均命中率要比FIFO要高,是堆棧類的算法。

LFU算法對每行設置一個計數器,Cache每命中一次,命中行計數器清0,而其他各行計數器均加1,需要替換時比較各特定行的計數值,將計數值最大的行換出。

④最不經常使用(LFU)算法:將一段時間內被訪問次數最少的存儲行換出。每行也設置一個計數器,新行建立后從0開始計數,每訪問一次,被訪問的行計數器加1,需要替換時比較各特定行的計數值,將計數值最小的行換出

7. Cache寫策略:因Cache中的內容是主存塊副本,當對Cache中的內容進行更新時,就需選用寫操作策略使Cache內容和主存內容保持一致。此時有兩種情況:

對于Cache寫命中:

①全寫法(也稱寫直通法、write-through):

當CPU對Cache寫命中時,必須把數據同時寫入Cache和主存。當某一塊需要替換時,不必把這一塊寫回主存,將新調入的塊直接覆蓋即可。該方法實現簡單,能隨時保持主存數據的正確性。缺點是增加了訪存次數,降低了Cache的效率。

②寫回法(write-back):

當CPU對Cache寫命中時,只修改Cache的內容,而不立即寫入主存,只有當此塊被換出時才寫回主存。采用這種策略時,每個Cache行必須設置一個標志位(臟位),以反映此塊是否被CPU修改過。

對于Cache寫不命中:

①寫分配法(write-allocate):加載主存中的塊到Cache中,然后更新這個Cache塊,它試圖利用程序的空間局部性,但缺點是每次不命中都需要從主存中讀取一塊。

②非寫分配法(not-write-allocate):只寫入主存,不進行調塊。

說明:非寫分配法通常與全寫法合用;寫分配法通常和寫回法合用。

7、

第六節:虛擬存儲器

1. 虛擬存儲器:主存和聯機工作的輔存共同構成了虛擬存儲器,二者在硬件和系統軟件的共同管理下工作。對于應用程序員而言,虛擬存儲器是透明的。虛擬存儲器具有主存的速度和輔存的容量,提高了存儲器的性能價格比。

2. 虛擬存儲器的特點:虛擬存儲器將主存或輔存的地址空間統一編址,形成一個龐大的地址空間,在這個空間內,用戶可以自由編程,而不必在乎實際的主存容量和程序在主存中實際的存放位置。用戶編程允許涉及的地址稱為虛地址或者邏輯地址,虛地址對于的存儲空間稱為虛擬空間或程序空間。實際的主存單元地址稱為實地址或者物理地址,實地址對應的是主存地址空間,也稱為實地址空間。虛地址比實地址要大很多。

3. 頁式虛擬存儲器:以頁為基本單位的虛擬存儲器稱為頁式虛擬存儲器。虛擬空間與主存空間都被劃分成同樣大小的頁,主存的頁稱為實頁,虛存的頁稱為虛頁。把虛擬地址分為兩個字段:虛頁號和頁內地址。虛地址到實地址之間的變換是由頁表來實現的。頁表是一張存放在主存中的虛頁號和實頁號的對照表,記錄著程序的虛頁調入主存時被安排在主存中的位置。頁表一般長久地保存在內存中。

4. 段式虛擬存儲器:段式虛擬存儲器中的段是按程序的邏輯結構劃分的,各個段的長度因程序而異。把虛擬地址分為兩部分:段號和段內地址。虛擬地址到實地址之間的變換是由段表來實現的。段表是程序的邏輯段和在主存中存放位置的對照表。段表的每一行記錄了與某個段對應的段號、裝入位、段起點和段長等信息。由于段的長度可變,所以段表中要給出各段的起始地址與段的長度。

5. 段頁式虛擬存儲器:

把程序按邏輯結構分段,每段再劃分為固定大小的頁,主存空間也劃分為大小相等的頁,程序對主存的調入、調出仍以頁為基本傳送單位,這樣的虛擬存儲器稱為段頁式虛擬存儲器。在段頁式虛擬存儲器中,每個程序對應一個段表,每段對應一個頁表,段的長度必須是頁長的整數倍,段的起點必須是某一頁的起點。

此時虛地址分為段號、段內頁號、頁內地址三部分。CPU根據虛地址訪存時,首先根據段號得到段表地址:然后從段表中取出該段的頁表起始地址,與虛地址段內頁號合成, 得到頁表地址:最后從頁表中取出實頁號,與頁內地址拼接形成主存實地址。

總結

以上是生活随笔為你收集整理的计算机组成原理哈工大期末_浅谈计算机组成原理(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。