https://blog.csdn.net/m0_46761060/article/details/124689209
目錄
- 關系
- 1、寄存器
- 2、緩存(Cache)
-
- 2.1、寄存器和緩存的區別
- 2.2、一級緩存和二級緩存
- 3、內存
-
- 3.1、只讀存儲器 ROM(Read Only Memory)
- 3.2、隨機存儲器 RAM(Random Access Memory)
-
- 3.2.1、靜態RAM(Static RAM/SRAM)
- 3.2.2、動態RAM(Dynamic RAM/DRAM)
關系
1、寄存器
寄存器(register)是CPU(中央處理器)的組成部分,是一種直接整合到cpu中的有限的高速訪問速度的存儲器,它是有一些與非門組合組成的,分為通用寄存器和特殊寄存器。cpu訪問寄存器的速度是最快的。那為什么我們不把數據都存儲到寄存器中呢,因為寄存器是一種容量有限的存儲器,并且非常小。因此只把一些計算機的指令等一些計算機頻繁用到的數據存儲在其中,來提高計算機的運行速度。
2、緩存(Cache)
緩存就是數據交換的緩沖區(稱作Cache),當某一硬件要讀取數據時,會首先從緩存中查找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由于緩存的運行速度比內存快得多,故緩存的作用就是幫助硬件更快地運行。
因為緩存往往使用的是RAM(斷電即掉的非永久儲存),所以在用完后還是會把文件送到硬盤等存儲器里永久存儲。電腦里最大的緩存就是內存條了,最快的是CPU上鑲的L1和L2緩存,顯卡的顯存是給顯卡運算芯片用的緩存,硬盤上也有16M或者32M的緩存。
CACHE是在CPU中速度非常塊,而容量卻很小的一種存儲器,它是計算機存儲器中最強悍的存儲器。由于技術限制,容量很難提升。
對于大多數人來說Cache,是透明的、不存在的。其中一個原因是Cache是集成到CPU中,對于程序員來說是透明的。
2.1、寄存器和緩存的區別
按與CPU遠近來分,離得最近的是寄存器,然后緩存,最后內存。所以,寄存器是最貼近CPU的,而且CPU只與寄存器中進行存取。寄存器從內存中讀取數據,但由于寄存器和內存讀取速度相差太大,所以有了緩存。即讀取數據的方式為:
CPU <------>寄存器 <---->緩存<----->內存
當寄存器沒有從緩存中讀取到數據時,也就是沒有命中,那么就從內存中讀取數據。
2.2、一級緩存和二級緩存
CPU讀取數據的順序為先緩存后內存。
CPU內部集成的緩存稱為一級緩存(L1 Cache),外部的稱為二級緩存(L2 Cache)。
一級緩存中又分為數據緩存(D-Cache)和指令緩存(I-Cache)。二者可以同時被CPU進行訪問,減少了爭用Cache所造成的沖突,提高了CPU的效能。
CPU的一級緩存通常都是靜態RAM(Static RAM/SRAM),速度非常快,但是貴。
為提高系統的性能和速度又必須擴大緩存,所以在不擴大原來的靜態RAM緩存容量的情況下,僅僅增加一些高速動態RAM(Dynamic RAM/DRAM)
做為L2級緩存。高速動態RAM速度要比常規動態RAM快,但比原來的靜態RAM緩存慢,而且成本也較為適中。一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復制品(映射),它們的存在都是為了減少高速CPU對慢速內存的訪問。
二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上存在差異.
CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由于不能準確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那么還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。
在較高端CPU中,還會帶有三級緩存,它是為讀取二級緩存后未命中的數據設計的一種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率,從某種意義上說,預取效率的提高,大大降低了生產成本卻提供了非常接近理想狀態的性能。
3、內存
ROM在系統停止供電的時候仍然可以保持數據,而RAM通常都是在掉電之后就丟失數據,典型的RAM就是計算機的內存。
3.1、只讀存儲器 ROM(Read Only Memory)
PROM是可編程的ROM,PROM和EPROM(可擦除可編程ROM)兩者區別是,PROM是一次性的,也就是軟件灌入后,就無法修改了,現在已經不可能使用了,而EPROM是通過紫外光的照射擦除原先的程序,是一種通用的存儲器。另外一種EEPROM是通過電子擦除,價格很高,寫入時間很長,寫入很慢。
3.2、隨機存儲器 RAM(Random Access Memory)
3.2.1、靜態RAM(Static RAM/SRAM)
當數據被存入其中后不會消失。SRAM速度非常快,是目前讀寫最快的存儲設備。當這個SRAM 單元被賦予0 或者1 的狀態之后,它會保持這個狀態直到下次被賦予新的狀態或者斷電之后才會更改或者消失。需要4-6 只晶體管實現, 價格昂貴。
3.2.2、動態RAM(Dynamic RAM/DRAM)
DRAM 必須在一定的時間內不停的刷新才能保持其中存儲的數據。DRAM 只要1 只晶體管就可以實現。
DRAM保留數據的時間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價格上來說DRAM相比SRAM要便宜很 多,計算機內存就是DRAM的。