1. 程式人生 > >關於CPU暫存器和快取記憶體的簡單介紹

關於CPU暫存器和快取記憶體的簡單介紹

關於CPU暫存器的簡單介紹

最近淺顯的學習了下這方面的知識,所以目前也想去總結一下

CPU除了控制器、運算器等器件還有一個重要的部件就是暫存器。其中暫存器的作用就是進行資料的臨時儲存。

CPU的運算速度是非常快的,為了效能CPU在內部開闢一小塊臨時儲存區域,並在進行運算時先將資料從記憶體複製到這一小塊臨時儲存區域中,運算時就在這一小快臨時儲存區域內進行。我們稱這一小塊臨時儲存區域為暫存器。

CPU讀取指令是往記憶體裡面去讀取的,讀一條指令放到CPU中,CPU去執行,對記憶體的讀取速度比較慢,所以從記憶體讀取的速度去決定了這個CPU的執行速度的。所以無論我們的CPU怎麼去升級,但是如果這方面速度沒有解決的話,其的效能也不會得到多大的提升

所以為了彌補這個缺陷,所以去添加了快取記憶體的機制,A11只有兩級快取記憶體。這個時候就能彌補記憶體讀寫的速度了。

執行速度越快,做工肯定要越精良,所以成本會越高,所以容量肯定是需要有限制。

就拿iPhoneX 上面的ARM處理器A11舉例子,它的1級快取中的容量是64KB,2級快取中的容量是8M。

我們讀取指令的時候,就是PC暫存器指向誰就去執行誰,然後CPU會先去找對映表,如果發現快取記憶體中有這個地址,那麼就會去高速緩衝中去讀取。

如果PC所指向的地址在快取記憶體中找不到了會去記憶體中找,然後根據特定的替換策略就會將記憶體中的指令或者資料拷貝到記憶體中。

高速緩衝儲存器是存在於主存與CPU之間的一級儲存器, 由靜態儲存晶片(SRAM)組成,容量比較小但速度比主存高得多, 接近於CPU的速度。

主要由三大部分組成:

  • Cache儲存體:存放由主存調入的指令與資料塊

  • 地址轉換部件:建立目錄表以實現主存地址到快取地址的轉換

  • 替換部件:在快取已滿時按一定策略進行資料塊替換,並修改地址轉換部件

關於靜態儲存晶片的介紹:

靜態隨機存取儲存器(Static Random-Access Memory,SRAM)是隨機存取儲存器的一種。所謂的“靜態”,是指這種儲存器只要保持通電,裡面儲存的資料就可以恆常保持。相對之下,動態隨機存取儲存器(DRAM)裡面所儲存的資料就需要週期性地更新。

關於靜態儲存晶片和動態隨機存取儲存器的具體區別

SRAM不需要重新整理電路即能儲存它內部儲存的資料。而DRAM(Dynamic Random Access Memory)每隔一段時間,要重新整理充電一次,否則內部的資料即會消失,因此SRAM具有較高的效能,功耗較小,但是SRAM也有它的缺點,即它的整合度較低,相同容量的DRAM記憶體可以設計為較小的體積,但是SRAM卻需要很大的體積。同樣面積的矽片可以做出更大容量的DRAM,因此SRAM顯得更貴。

相關推薦

關於CPU快取記憶體簡單介紹

關於CPU暫存器的簡單介紹 最近淺顯的學習了下這方面的知識,所以目前也想去總結一下 CPU除了控制器、運算器等器件還有一個重要的部件就是暫存器。其中暫存器的作用就是進行資料的臨時儲存。 CPU的運算速度是非常快的,為了效能CPU在內部開闢一小塊臨時

CPU、處理器、記憶體、外存、快取的區別

1、CPU:Central Process Unit中央處理器單元,即CPU屬於處理器。 2、CPU中有暫存器,因此暫存器的速度最快!記憶體、外存統稱為CPU的“外存”。 3、快取記憶體是存放在CPU中的,它是介於CPU與記憶體知己的,以緩解它們之間速度不匹

CPU,,記憶體三者的關係

一、皇帝身邊的小太監----暫存器    不知道什麼是暫存器?那見過太監沒有?沒有?其實我也沒有。沒見過不要緊,見過就麻煩大了。^_^,大家都看過古裝戲,那些皇帝們要閱讀奏章的時候,大臣總是先將奏章交給皇帝旁邊的小太監,小太監呢再交給皇帝同志處理。這個小太監只是箇中轉站

快取記憶體、硬碟、儲存器的理解

只要能儲存資料的器件都可以稱之為儲存器,它的含義覆蓋了暫存器,快取,記憶體,硬碟。cpu訪問快慢的速度依次為 暫存器-> 快取->記憶體->硬碟 暫存器是中央處理器的組成部分,是一種

C++中有關volatile關鍵字的作用--阻止編譯器將其變數優化快取(執行緒相關)(轉自百度)

       就象大家更熟悉的const一樣,volatile是一個型別修飾符(type specifier)。        它是被設計用來修飾被不同執行緒訪問和修改的變數 。        如果沒有volatile,基本上會導致這樣的結果:要麼無法編寫多執行緒

GDB記憶體

1. 檢視暫存器 (gdb) i r (gdb) i r a                     # 檢視所有暫存器(包括浮點、多媒體) (gdb) i r esp (gdb) i r pc 2. 檢視記憶體 (gdb) x /wx 0x80040000    # 以16進位制顯示指定地址處的資料 (gd

【arm】arm32位arm64位架構、指令差異分析總結

Date: 2018.9.21 1、參考 2、前言   最近三個月的時間,都在進行解碼庫的arm架構彙編優化,包括arm32位彙編優化和arm64位彙編優化。在arm32位入門之後,只要掌握了兩種架構的暫存器和指令集差異之後,就可以很快上手編寫arm64

CPU詳解

0 前言 在學習彙編和作業系統的過程中,總是要與許多的暫存器打交道,因此寫下這篇文章,總結一下CPU中暫存器的基本知識。 1.CS:IP暫存器 CS為程式碼段暫存器,IP為段偏移暫存器,CS:IP指示了CPU當前要讀取的指令的地址。在  8086 CPU中,實體地址是由

MSP430微控制器各種總結(1)——CPU

作者:BerenCamlost 本文針對於南京理工大學的王巨集波老師的MSP430微控制器原理與應用課程,請在複習時使用。 參考資料: 王巨集波老師的PPT MSP430F6638使用者手冊 王巨集波老師實驗教程 本章最新更新日期:2018.12.2

64位32位的彙編的比較

64位暫存器分配的不同 區別有: 64位有16個暫存器,32位只有8個。但是32位前8個都有不同的命名,分別是e _ ,而64位前8個使用了r代替e,也就是r _。e開頭的暫存器命名依然可以直接運用於相應暫存器的低32位。而剩下的暫存器名則是從r8

X86-64棧幀

概要 說到x86-64,總不免要說說AMD的牛逼,x86-64是x86系列中集大成者,繼承了向後相容的優良傳統,最早由AMD公司提出,代號AMD64;正是由於能向後相容,AMD公司打了一場漂亮翻身戰。導致Intel不得不轉而生產相容AMD64的CPU。這是IT行業以弱勝強的經典戰役。不過,大家為了名稱延續性

跟我學彙編(三)實體地址的形成

一、通用暫存器 對於一個彙編程式設計師來說,CPU中主要部件是暫存器。暫存器是CPU中程式設計師可以用指令讀寫的部件。程式設計師通過改變各種暫存器的內容來實現對CPU的控制。 不同的CPU,暫存器的個數、結構是不同的。8086CPU 有14個暫存器,每個暫存

微機原理 七種定址方式

16位cpu 八個通用暫存器 指令指標IP 標誌暫存器FR 段暫存器 AX BX  CX DX BP SP SI DI 其中前四個又分為高八位和低八位 AX 累加器 BX 基址暫存器 CX 計數暫存器 DX 資料暫存器 BP 基址指標暫存器 SP 堆疊指標暫存器 

CPU操作方式

 CPU暫存器的讀取方式,其實就是讀取某個地址中儲存的資料,只不過這個地址是晶片廠商規定好用於特定功能的。 一般IDE都會提供暫存器的標頭檔案,可以參考晶片的程式設計手冊,手冊中都有每個模組的暫存器定義,以及地址說明,如果你不想使用標頭檔案定義可以自己手動編寫,例如你想

C語言的本質(29)——C語言與彙編之定址方式

x86的通用暫存器有eax、ebx、ecx、edx、edi、esi。這些暫存器在大多數指令中是可以任意選用的,比如movl指令可以把一個立即數傳送到eax中,也可傳送到ebx中。但也有一些指令規定只能用其中某些暫存器做某種用途,例如除法指令idivl要求被除數在eax暫存器中

快取的區別

這裡的快取是指的CPU的快取。 按與CPU遠近來分,離得最近的是暫存器,然後快取,最後記憶體。 所以,暫存器是最貼近CPU的,而且CPU只與暫存器中進行存取。 (寄存的意思是,暫時存放資料,不中每次從記憶體中取,它就是一個臨時放資料的空間,火車站寄存處就是這個意思)

Operation System: 關於

對於Intel架構的處理器,從8位的暫存器(8位的CPU)一直演進到如今的64位(64位暫存器),為了承上啟下,到現在的64位的CPU還是可以運行當年8位CPU的程式,而如今的暫存器當中,依然是可以從64位中分出8位來應對8位的程式。 如今的暫存器如下圖所示:(圖片來源:

ARM的LCD控制原理(抖動演算法FRC)

控制器簡介        在複雜的PC機中,我們經常提到顯示卡這個東西,相信大家對顯示卡的原理都不陌生。LCD控制器就相當於嵌入式系統的顯示卡。它負責把視訊記憶體中的LCD圖形資料傳輸到LCD驅動器,併產生必須的LCD控制訊號。視訊記憶體與系統儲存器共用主存空間。這樣做有幾個好處:節約儲存器,提高空間利用率

計算機儲存結構分析(記憶體快取,硬碟)

前言            一個計算機包含多種儲存器比如:暫存器、快取記憶體、記憶體、硬碟、光碟等,為啥有這麼多種儲存方式,對於不太瞭解的人,總是覺得雲裡霧裡的,搞不明白原因。        

記憶體、cache之間的關係及區別

cache是一個高速小容量的臨時儲存器,可以用高速的靜態儲存器晶片實現,或者整合到CPU晶片內部,儲存CPU最經常訪問的指令或者操作資料。而暫存器不同,暫存器是記憶體階層中的最頂端,也是系統獲得操作資料的最快速途徑。三者之間的順序就是 :記憶體-cahe-暫存器此外,暫存器