【廣告】
因為CPU有大量的緩存和復雜的邏輯控制單元,因此它非常擅長邏輯控制、串行的運算。相比較而言,GPU因為有大量的算術運算單元,因此可以同時執(zhí)行大量的計算工作,它所擅長的是大規(guī)模的并發(fā)計算, 計算量大但是沒有什么技術含量,而且要重復很多次。這樣一說,我們利用GPU來提高程序運算速度的方法就顯而易見了。使用CPU來做復雜的邏輯控制,用GPU來做簡單但是量大的算術運算,就能夠大大地提高程序的運行速度。
CPU有強大的算術運算單 元,可以在很少的時鐘周期內完成算術計算。同時,有很大的緩存可以保存很多數(shù)據在里面。此外,還有復雜的邏輯控制單元,當程序有多個分支的時候, 通過提供分支預測的能力來降低延了時。GPU是基于大的吞吐量設計,有很多的算術運算單元和很少的緩存。同時GPU支持大量的線程同時運行,如果他們需要訪問同一個數(shù)據,緩存會合并這些訪問,自然會帶來延了時的問題。盡管有延了時,但是因為其算術運算單元的數(shù)量龐大,因此能夠達到一個非常大的吞吐量的效果。
CPU控制技術的主要形式,插入控制。CPU 對于操作控制信號的產生,主要是通過指令的功能來實現(xiàn)的,通過將指令發(fā)給相應部件,達到控制這些部件的目的。實現(xiàn)一條指令功能,主要是通過計算機中的部件執(zhí)行一序列的操作來完成。較多的小控制元件是構建集中處理模式的關鍵,目的是為了更好的完成CPU數(shù)據處理操作。
除了嵌入式系統(tǒng),多數(shù)CPU都有兩種工作模式:內核態(tài)和用戶態(tài)。這兩種工作模式是由PSW寄存器上的一個二進制位來控制的。內核態(tài)的CPU,可以執(zhí)行指令集中的所有指令,并使用硬件的所有功能。