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





程序的運行過程,實際上是程序涉及到的、未涉及到的一大堆的指令的執行過程。當程序要執行的部分被裝載到內存后,CPU要從內存中取出指令,然后指令解了碼(以便知道類型和操作數,簡單的理解為CPU要知道這是什么指令),然后執行該指令。再然后取下一個指令、解了碼、執行,以此類推直到程序退出。
因為CPU有大量的緩存和復雜的邏輯控制單元,因此它非常擅長邏輯控制、串行的運算。相比較而言,GPU因為有大量的算術運算單元,因此可以同時執行大量的計算工作,它所擅長的是大規模的并發計算, 計算量大但是沒有什么技術含量,而且要重復很多次。這樣一說,我們利用GPU來提高程序運算速度的方法就顯而易見了。使用CPU來做復雜的邏輯控制,用GPU來做簡單但是量大的算術運算,就能夠大大地提高程序的運行速度。
CPU控制技術的主要形式,插入控制。CPU 對于操作控制信號的產生,主要是通過指令的功能來實現的,通過將指令發給相應部件,達到控制這些部件的目的。實現一條指令功能,主要是通過計算機中的部件執行一序列的操作來完成。較多的小控制元件是構建集中處理模式的關鍵,目的是為了更好的完成CPU數據處理操作。
除了嵌入式系統,多數CPU都有兩種工作模式:內核態和用戶態。這兩種工作模式是由PSW寄存器上的一個二進制位來控制的。內核態的CPU,可以執行指令集中的所有指令,并使用硬件的所有功能。
用戶態的CPU,只允許執行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執行在用戶態下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態下不能將PSW的模式設置控制位設置成內核態。
控制器之所以知道數據放哪里、做什么運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。例如,將兩個MDR寄存器(保存了來自內存的兩個數據)中的值拷貝到ALU中,然后根據的操作指令執行加法運算,將運算結果拷貝會一個MDR寄存器中,后寫入到內存。