您好,歡迎來到易龍商務網(wǎng)!
發(fā)布時間:2020-08-15 10:58  
【廣告】





CPU出現(xiàn)于大規(guī)模集成電路時代,處理器架構設計的迭代更新以及集成電路工藝的不斷提升促使其不斷發(fā)展完善。從初專用于數(shù)學計算到廣泛應用于通用計算,從4位到8位、16位、32位處理器,后到64位處理器,從各廠商互不兼容到不同指令集架構規(guī)范的出現(xiàn),CPU 自誕生以來一直在飛速發(fā)展。
為了改善性能,CPU已經(jīng)不是單條取指-->解了碼-->執(zhí)行的路線,而是分別為這3個過程分別提供獨立的取值單元,解了碼單元以及執(zhí)行單元。這樣就形成了流水線模式。
CPU有強大的算術運算單 元,可以在很少的時鐘周期內(nèi)完成算術計算。同時,有很大的緩存可以保存很多數(shù)據(jù)在里面。此外,還有復雜的邏輯控制單元,當程序有多個分支的時候, 通過提供分支預測的能力來降低延了時。GPU是基于大的吞吐量設計,有很多的算術運算單元和很少的緩存。同時GPU支持大量的線程同時運行,如果他們需要訪問同一個數(shù)據(jù),緩存會合并這些訪問,自然會帶來延了時的問題。盡管有延了時,但是因為其算術運算單元的數(shù)量龐大,因此能夠達到一個非常大的吞吐量的效果。
用戶態(tài)的CPU,只允許執(zhí)行指令集中的部分指令。一般而言,IO相關和把內(nèi)存保護相關的所有執(zhí)行在用戶態(tài)下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態(tài)下不能將PSW的模式設置控制位設置成內(nèi)核態(tài)。
控制器之所以知道數(shù)據(jù)放哪里、做什么運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。例如,將兩個MDR寄存器(保存了來自內(nèi)存的兩個數(shù)據(jù))中的值拷貝到ALU中,然后根據(jù)的操作指令執(zhí)行加法運算,將運算結果拷貝會一個MDR寄存器中,后寫入到內(nèi)存。