您好,歡迎來到易龍商務網!
發布時間:2020-08-05 05:59  
【廣告】





CPU主要包括兩個部分,即控制器、運算器,其中還包括高速緩沖存儲器及實現它們之間聯系的數據、控制的總線。電子計算機三大核心部件就是CPU、內部存儲器、輸入/輸出設備。CPU的功效主要為處理指令、執行操作、控制時間、處理數據。
注:指令集的軟硬件層次之分:硬件指令集是硬件層次上由CPU自身提供的可執行的指令集合。軟件指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執行。
因為CPU有大量的緩存和復雜的邏輯控制單元,因此它非常擅長邏輯控制、串行的運算。相比較而言,GPU因為有大量的算術運算單元,因此可以同時執行大量的計算工作,它所擅長的是大規模的并發計算, 計算量大但是沒有什么技術含量,而且要重復很多次。這樣一說,我們利用GPU來提高程序運算速度的方法就顯而易見了。使用CPU來做復雜的邏輯控制,用GPU來做簡單但是量大的算術運算,就能夠大大地提高程序的運行速度。
CPU有強大的算術運算單 元,可以在很少的時鐘周期內完成算術計算。同時,有很大的緩存可以保存很多數據在里面。此外,還有復雜的邏輯控制單元,當程序有多個分支的時候, 通過提供分支預測的能力來降低延了時。GPU是基于大的吞吐量設計,有很多的算術運算單元和很少的緩存。同時GPU支持大量的線程同時運行,如果他們需要訪問同一個數據,緩存會合并這些訪問,自然會帶來延了時的問題。盡管有延了時,但是因為其算術運算單元的數量龐大,因此能夠達到一個非常大的吞吐量的效果。
用戶態的CPU,只允許執行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執行在用戶態下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態下不能將PSW的模式設置控制位設置成內核態。
控制器之所以知道數據放哪里、做什么運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。例如,將兩個MDR寄存器(保存了來自內存的兩個數據)中的值拷貝到ALU中,然后根據的操作指令執行加法運算,將運算結果拷貝會一個MDR寄存器中,后寫入到內存。