參考:
CPU是什么:
工作原理:
五個工作階段
- 取指令(IF,instruction fetch):即將一條指令從主存儲器中取到指令寄存器的過程。程序計數器中的數值,用來指示當前指令在主存中的位置。當 一條指令被取出后,PC中的數值將根據指令字長度自動遞增。
- 指令譯碼階段(ID,instruction decode):取出指令后,指令譯碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類 別以及各種獲取操作數的方法。
- 執行指令階段(EX,execute):具體實現指令的功能。CPU的不同部分被連接起來,以執行所需的操作。
- 訪存取數階段(MEM,memory):根據指令需要訪問主存、讀取操作數,CPU得到操作數在主存中的地址,並從主存中讀取該操作數用於運算。部分指令不需要訪問主存,則可以跳過該階段。
- 結果寫回階段(WB,write back):作為最后一個階段,結果寫回階段把執行指令階段的運行結果數據“寫回”到某種存儲形式。結果數據一般會被寫到CPU的內部寄存器中,以便被后續的指令快速地存取;許多指令還會改變程序狀態字寄存器中標志位的狀態,這些標志位標識着不同的操作結果,可被用來影響程序的動作。
在指令執行完畢、結果數據寫回之后:若無意外事件(如結果溢出等)發生,計算機就從程序計數器中取得下一條指令地址,開始新一輪的循環,下一個指令周期將順序取出下一條指令。
結構:
- 運算器:指計算機中進行各種算術和邏輯運算操作的部件, 其中算術邏輯單元是中央處理核心的部分
- 控制器:控制器是指按照預定順序改變主電路或控制電路的接線和 改變電路中電阻值來控制電動機的啟動、調速、制動與反向的主令裝置
- 寄存器:寄存器是CPU內部用來存放數據的一些小型存儲區域,用來暫時存放參與運算的數據和運算結果。其實寄存器就是一種常用的時序邏輯電路,但這種時序邏輯電路只包含存儲電路。寄存器的存儲電路是由鎖存器或觸發器構成的,因為一個鎖存器或觸發器能存儲1位二進制數,所以由N個鎖存器或觸發器可以構成N位寄存器。寄存器是中央處理器內的組成部分。寄存器是有限存儲容量的高速存儲部件,它們可用來暫存指令、數據和位址。
緩存 cache [ kæʃ ]:
CPU緩存的容量比內存小的多但是交換速度卻比內存要快得多。緩存的出現主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,因為CPU運算速度要比內存讀寫速度快很多,這樣會使CPU花費很長時間等待數據到來或把數據寫入內存。
緩存原理:緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,同時把這個數據所在的數據塊調入緩存中,可以使得以后對整塊數據的讀取都從緩存中進行,不必再調用內存
- 一級緩存:多少時間?
- 二級緩存
- 三級緩存
讀取順序:CPU要讀取一個數據時,首先從Cache中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入Cache中,可以使得以后對整塊數據的讀取都從Cache中進行,不必再調用內存。
緩沖 buffer [ˈbʌfər]:
例如:向硬盤寫入數據時,先把數據放入緩沖區,然后再一起向硬盤寫入,把分散的寫操作集中進行,減少磁盤碎片和硬盤的反復尋道,從而提高系統性能。
緩存與緩沖區別:緩存(cache)是在讀取硬盤中的數據時,把最常用的數據保存在內存的緩存區中,再次讀取該數據時,就不去硬盤中讀取了,而在緩存中讀取。
緩沖(buffer)是在向硬盤寫入數據時,先把數據放入緩沖區,然后再一起向硬盤寫入,把分散的寫操作集中進行,減少磁盤碎片和硬盤的反復尋道,從而提高系統性能。
簡單來說,緩存(cache)是用來加速數據從硬盤中"讀取"的,而緩沖(buffer)是用來加速數據"寫入"硬盤的。