寄存器、緩存、內存之間的關系和區別

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的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/161410.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161410.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161410.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于LLM+場景識別+詞槽實體抽取實現多輪問答

前言 隨著人工智能技術的不斷進步&#xff0c;大語言模型&#xff08;LLM&#xff09;已成為技術前沿的熱點。它們不僅能夠理解和生成文本&#xff0c;還能在多種應用場景中實現復雜的交互。本文將深入探討一段結合了大語言模型能力、意圖識別和詞槽實體抽取的Python代碼&…

鏈表OJ--上

文章目錄 前言一、反轉鏈表二、移除鏈表元素三、鏈表中倒數第K個結點四、相交鏈表五、鏈表的中間結點 前言 一、反轉鏈表 力扣206&#xff1a;反轉鏈表- - -點擊此處傳送 思路圖&#xff1a; 方法一&#xff1a;改變指向 方法二&#xff1a; 代碼&#xff1a; //方法一 /…

十一、h.264編碼

前言 測試環境&#xff1a; ffmpeg的4.3.2自行編譯版本windows環境qt5.12 使用H.264編碼對YUV視頻進行壓縮 ffmpeg -s 640x480 -pix_fmt yuv420p -i in.yuv -c:v libx264 out.h264 -c:v libx264是指定使用libx264作為編碼器完整代碼&#xff1a; H264EncodeThread.h #ifnd…

用HALCON標定助手對相機進行標定

任務要求&#xff1a; 已知相機鏡頭焦距f為8mm&#xff0c;相機單個CCD像素在水平和豎直兩個方向上的尺寸均為3.75微米&#xff0c;相機為普通透光鏡頭和面陣相機&#xff0c;對相機進行標定&#xff0c;測量相機的內外參數。 操作步驟&#xff1a; 1. 在HALCON中運行gen_ca…

C#使用whisper.net實現語音識別(語音轉文本)

目錄 介紹 效果 輸出信息 項目 代碼 下載 介紹 github地址&#xff1a;https://github.com/sandrohanea/whisper.net Whisper.net. Speech to text made simple using Whisper Models 模型下載地址&#xff1a;https://huggingface.co/sandrohanea/whisper.net/tree…

Nginx高級

Nginx高級 第一部分&#xff1a;擴容 通過擴容提升整體吞吐量 1.單機垂直擴容&#xff1a;硬件資源增加 云服務資源增加 整機&#xff1a;IBM、浪潮、DELL、HP等 CPU/主板&#xff1a;更新到主流 網卡&#xff1a;10G/40G網卡 磁盤&#xff1a;SAS(SCSI) HDD&#xff08;機械…

如何使用ArcGIS Pro進行坐標轉換

不同來源的數據坐標系可能是不同的&#xff0c;為了統一使用這些數據就需要進行坐標轉換&#xff0c;ArcGIS Pro作為專業的GIS軟件&#xff0c;坐標轉換功能肯定也是包含的&#xff0c;這里為大家介紹一下ArcGIS Pro如何進行坐標轉換&#xff0c;希望能對你有所幫助。 數據來源…

【Exception】npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

Talk is cheap, show me the code. 環境 | Environment kversionOSwindows 11nodev18.14.2npm9.5.0 報錯日志 | Error log >npm create vitelatest Need to install the following packages:create-vite5.0.0 Ok to proceed? (y) y npm ERR! code UNABLE_TO_GET_ISSUER_…

2023亞太杯數學建模B題思路+模型+代碼+論文

2023亞太地區數學建模A題思路&#xff1a;開賽后第一時間更新&#xff0c;獲取見文末 名片 2023亞太地區數學建模B題思路&#xff1a;開賽后第一時間更新&#xff0c;獲取見文末 名片 2023亞太地區數學建模C題思路&#xff1a;開賽后第一時間更新&#xff0c;獲取見文末 名片…

idea修改行號顏色

前言 i當idea用了深色主題后&#xff0c;發現行號根本看不清&#xff0c;或者很模糊 例如下面這樣 修改行號顏色 在IntelliJ IDEA中&#xff0c;你可以根據自己的喜好和需求定制行號的顏色。下面是修改行號顏色的步驟&#xff1a; 打開 IntelliJ IDEA。 轉到 “File”&…

ChatGPT規模化服務的經驗與教訓

2022年11月30日&#xff0c;OpenAI發布ChatGPT&#xff0c;以很多人未曾預料的速度迅速走紅。與此同時&#xff0c;由于短時間內用戶量的暴漲&#xff0c;導致服務器過載&#xff0c;迫使OpenAI停止新用戶的注冊。 ChatGPT發布這一年&#xff0c;同樣的情景發生了好幾次。在最近…

opencv-圖像金字塔

圖像金字塔是一種圖像處理技術&#xff0c;它通過不斷降低圖像的分辨率&#xff0c;形成一系列圖像。金字塔分為兩種類型&#xff1a;高斯金字塔和拉普拉斯金字塔。 高斯金字塔&#xff08;Gaussian Pyramid&#xff09;&#xff1a; 高斯金字塔是通過使用高斯濾波和降采樣&a…

專業遠程控制如何塑造安全體系?向日葵“全流程安全閉環”解析

安全是遠程控制的重中之重&#xff0c;作為國民級遠程控制品牌&#xff0c;向日葵遠程控制就極為注重安全遠控服務的塑造。近期向日葵發布了以安全和核心的新版“向日葵15”以及同步發布《貝銳向日葵遠控安全標準白皮書》&#xff08;下簡稱《白皮書》&#xff09;&#xff0c;…

使用微信小程序openMapApp接口,報錯問題解決openMapApp:fail invaild coord

使用微信小程序的 openMapApp 接口時遇到了坐標無效的錯誤 (openMapApp:fail invalid coord)。這個錯誤通常是由于提供的地理坐標不符合預期的格式或范圍而引起的&#xff1a; 坐標格式&#xff1a; 確保提供的坐標符合正確的格式。常見的格式是 "緯度,經度"&#xf…

【11月比賽合集】5場可報名的「創新應用」、「數據分析」和「程序設計」大獎賽,任君挑選!

CompHub[1] 實時聚合多平臺的數據類(Kaggle、天池…)和OJ類(Leetcode、牛客…&#xff09;比賽。本賬號會推送最新的比賽消息&#xff0c;歡迎關注&#xff01; 以下信息僅供參考&#xff0c;以比賽官網為準 目錄 創新應用賽&#xff08;1場比賽&#xff09;數據分析賽&#…

逸學java【初級菜鳥篇】9.3 Stream流

hi&#xff0c;我是逸塵&#xff0c;一起學java吧 得益于Lambda所帶來的函數式編程&#xff0c;引入了一個全新的Stream流概念&#xff08;就是都基本使用lambda的形式&#xff09;。 流處理 我們首先理解什么是流處理&#xff0c;它類似于sql語句&#xff0c;可以執行非常復…

【開源】基于Vue和SpringBoot的智能教學資源庫系統

項目編號&#xff1a; S 050 &#xff0c;文末獲取源碼。 \color{red}{項目編號&#xff1a;S050&#xff0c;文末獲取源碼。} 項目編號&#xff1a;S050&#xff0c;文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 課程檔案模塊2.3 課…

原理Redis-SkipList

SkipList ZipList和QuickList的共同特點是節省內存。在遍歷元素時&#xff0c;只能從頭到尾或從尾到頭&#xff0c;所以在查找頭尾元素性能還是不錯的&#xff0c;但是中間元素查詢的性能就會差。 **SkipList&#xff08;跳表&#xff09;**首先是鏈表&#xff0c;但與傳統鏈表…

【算法】鏈表-20231123

這里寫目錄標題 一、19. 刪除鏈表的倒數第 N 個結點二、21. 合并兩個有序鏈表三、24. 兩兩交換鏈表中的節點 一、19. 刪除鏈表的倒數第 N 個結點 提示 中等 給你一個鏈表&#xff0c;刪除鏈表的倒數第 n 個結點&#xff0c;并且返回鏈表的頭結點。 輸入&#xff1a;head [1,…

第十二章 : Spring Boot 日志框架詳解

第十二章 : Spring Boot 日志框架詳解 前言 本章知識重點:介紹了日志誕生背景,4種日志框架:Logback、Log4j、Log4j2和Slf4j的優劣勢分析,以及重點介紹了log4j2的應用示例以及配置,以及日志框架應用中遇到常見的問題以及如何處理。 背景 Java日志框架的發展歷程可以追…