CPU
1. CPU的構(gòu)成:
由運(yùn)算器光羞,控制器逆航,寄存器組和內(nèi)部總線構(gòu)成美旧。
1)運(yùn)算器:
由算術(shù)邏輯單元ALU渤滞,通用寄存器,數(shù)據(jù)暫存器等組成榴嗅;程序狀態(tài)寄存器接受從控制器送來(lái)的
命令并執(zhí)行相應(yīng)的動(dòng)作妄呕,主要負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行加工和處理。
2)控制器:
由程序計(jì)數(shù)器PC录肯,指令寄存器IR趴腋,地址寄存器AR,數(shù)據(jù)寄存器DR论咏,指令譯碼器等优炬。主要負(fù)責(zé)
對(duì)程序規(guī)定的控制信息進(jìn)行分析,控制并協(xié)調(diào)輸入厅贪,輸出操作或內(nèi)存訪問(wèn)蠢护。
3)寄存器:
寄存器的功能是存儲(chǔ)二進(jìn)制的代碼。它是由具有存儲(chǔ)功能的觸發(fā)器組合起來(lái)構(gòu)成的养涮。
4)總線:
總線是一種內(nèi)部結(jié)構(gòu)葵硕,它是CPU眉抬,內(nèi)存,輸入輸出設(shè)備傳遞信息的通用通道懈凹,主機(jī)的
各個(gè)部件通過(guò)總線相連接蜀变。
內(nèi)存由:代碼區(qū),數(shù)據(jù)區(qū)介评,堆库北,棧所構(gòu)成;
控制單元以上稱為控制器區(qū)域们陆;控制單元以下稱為寄存器區(qū)域寒瓦。
寄存器
?CPU值負(fù)責(zé)運(yùn)算,不負(fù)責(zé)存儲(chǔ)數(shù)據(jù)坪仇。數(shù)據(jù)一般存儲(chǔ)在內(nèi)存中杂腰。CPU要用的時(shí)候就去內(nèi)存中
讀寫數(shù)據(jù)。CPU自帶一級(jí)和二級(jí)緩存椅文。CPU的緩存還是不夠快喂很,另外數(shù)據(jù)在緩存中的地址
不是固定的,CPU每次讀寫都要尋址也會(huì)拖慢速度皆刺。因此恤筛,CPU除了緩存之外,還自帶寄存器
用來(lái)存儲(chǔ)最常用的數(shù)據(jù)芹橡。也就是說(shuō)那些最頻繁讀寫的數(shù)據(jù)毒坛,都會(huì)放在寄存器里面,CPU優(yōu)先讀寫
寄存器林说,再由寄存器跟內(nèi)存交換數(shù)據(jù)煎殷。
X86中除了狀態(tài)寄存器FLAGS和指令寄存器IP兩個(gè)特殊的寄存器外,還有AX腿箩、BX豪直、CX、DX珠移、SI弓乙、
DI、BP钧惧、SP幾個(gè)通用寄存器暇韧。
FLAGS:?狀態(tài)寄存器
IP:指令寄存器
BP:用于記錄當(dāng)前函數(shù)幀的開(kāi)始位置
SP:對(duì)應(yīng)當(dāng)前棧指針的位置
寄存器的名字如下:
寄存器,緩存浓瞪,內(nèi)存之間的關(guān)系
按與CPU遠(yuǎn)近來(lái)分懈玻,離得最近的是寄存器,然后緩存(CPU緩存)乾颁,最后是內(nèi)存涂乌。
CPU計(jì)算時(shí)艺栈,先預(yù)先把要用的數(shù)據(jù)從硬盤讀到內(nèi)存,然后再把即將要用的數(shù)據(jù)
讀到寄存器湾盒。