您好,歡迎來到易龍商務(wù)網(wǎng)!
全國(guó)咨詢熱線:18553327037

NXT模組CPU箱免費(fèi)檢測(cè)量大從優(yōu)「在線咨詢」

【廣告】

發(fā)布時(shí)間:2020-07-22 06:23  






CPU,是電子計(jì)算機(jī)的主要設(shè)備之一,電腦中的核心配件。其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。CPU是計(jì)算機(jī)中負(fù)責(zé)讀取指令,對(duì)指令譯碼并執(zhí)行指令的核心部件。每個(gè)CPU都有一套自己可以執(zhí)行的專門的指令集(注意,這部分指令是CPU提供的,CPU-Z軟件可查看)。正是因?yàn)椴煌珻PU架構(gòu)的指令集不同,使得x86處理器不能執(zhí)行ARM程序,ARM程序也不能執(zhí)行x86程序。(Intel和AMD都使用x86指令集,手機(jī)絕大多數(shù)使用ARM指令集)。




用戶態(tài)的CPU,只允許執(zhí)行指令集中的部分指令。一般而言,IO相關(guān)和把內(nèi)存保護(hù)相關(guān)的所有執(zhí)行在用戶態(tài)下都是被禁止的,此外其它一些特權(quán)指令也是被禁止的,比如用戶態(tài)下不能將PSW的模式設(shè)置控制位設(shè)置成內(nèi)核態(tài)。


控制器之所以知道數(shù)據(jù)放哪里、做什么運(yùn)算(比如是做加法還是邏輯運(yùn)算?)都是由指令告訴控制器的,每個(gè)指令對(duì)應(yīng)一個(gè)基本操作,比如加法運(yùn)算對(duì)應(yīng)一個(gè)指令。例如,將兩個(gè)MDR寄存器(保存了來自內(nèi)存的兩個(gè)數(shù)據(jù))中的值拷貝到ALU中,然后根據(jù)的操作指令執(zhí)行加法運(yùn)算,將運(yùn)算結(jié)果拷貝會(huì)一個(gè)MDR寄存器中,后寫入到內(nèi)存。





用戶態(tài)CPU想要執(zhí)行特權(quán)操作,需要發(fā)起系統(tǒng)調(diào)用來請(qǐng)求內(nèi)核幫忙完成對(duì)應(yīng)的操作。其實(shí)是在發(fā)起系統(tǒng)調(diào)用后,CPU會(huì)執(zhí)行trap指令陷入(trap)到內(nèi)核。當(dāng)特權(quán)操作完成后,需要執(zhí)行一個(gè)指令讓CPU返回到用戶態(tài)。除了系統(tǒng)調(diào)用會(huì)陷入內(nèi)核,更多的是硬件會(huì)引起trap行為陷入內(nèi)核,使得CPU控制權(quán)可以回到操作系統(tǒng),以便操作系統(tǒng)去決定如何處理硬件異常。




關(guān)于CPU上的高速緩存

1、高速的緩存是CPU的寄存器,它們和CPU的材料相同,靠近CPU或接近CPU,訪問它們沒有時(shí)延(<1ns)。但容量很小,小于1kb。

2、寄存器之下,是CPU的高速緩存。分為L(zhǎng)1緩存、L2緩存、L3緩存,每層速度按數(shù)量級(jí)遞減、容量也越來越大。

3、每核心都有一個(gè)自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數(shù)據(jù)緩存(L1-dcache)。L1指令緩存用來存放已解了碼指令,L1數(shù)據(jù)緩存用來放訪問非常頻繁的數(shù)據(jù)。

4、L2緩存用來存放近期使用過的內(nèi)存數(shù)據(jù)。更嚴(yán)格地說,存放的是很可能將來會(huì)被CPU使用的數(shù)據(jù)。

5、多數(shù)多核CPU的各核都各自擁有一個(gè)L2緩存,但也有多核共享L2緩存的設(shè)計(jì)。無論如何,L1是各核私有的(但對(duì)某核內(nèi)的多線程是共享的)。




行業(yè)推薦