-
1 # 大衛26374968
-
2 # 大大飛老師
這個問題還是非常專業的,計算機裡非常深層次方面的知識了。
第一、執行機制GPU 是特別為計算密集,高並行度計算(如影象渲染)設計的,將更多電晶體用於資料處理,沒有 CPU 那麼多的快取和流控。因此 CPU 擅長邏輯複雜的計算,但發動一個執行緒的開銷較大。GPU 雖然邏輯比較簡單,但單個執行緒的開銷小,在同樣的資源下可以發動更多的執行緒。
2006 年 11 月,英偉達(NVIDIA)推出了 CUDA,一種基於新的並行程式設計模型和指令集架構的通用計算架構。CUDA 的程式設計模型如下圖左圖,GPU 的工作由主機(host)系統來排程,此處主機就是指 CPU 啦。一個主機系統可以安裝多個 GPU,每個 GPU 都是一個獨立的裝置(device),與主處理器非同步運轉。平行計算的任務叫做核心(kernel),它的計算將透過 CPU 在 GPU 上發動大量的執行緒(thread)來完成。
第二、通訊機制CPU 和 GPU 之間的資料交換可以透過 cudaMemcpy 命令來進行,資料將透過 PCIe 匯流排在記憶體和視訊記憶體間傳輸。CUDA 4.0 以上提供了統一虛擬地址空間(UnifiedVirtual Address Space),所以現在也可以透過分頁鎖定的主機儲存器(Page-Locked Host Memory)來隱式地完成資料傳輸。最新的 Maxwell 架構的顯示卡甚至實現了統一虛擬記憶體(Unified Virtual Memory),可以直接把記憶體和視訊記憶體當成一個儲存器來程式設計了。
第三、共享那點事GPU可以在特定情況下處理CPU的任務,但是需要程式支援才可以。 反過來,CPU是萬能的,可以處理所有資訊,包括音訊,影片資訊。
-
3 # 找機子
CPU (中央處理器) 不需要佔用記憶體,只充當資料處理的作用GPU(圖形處理器) 泛指顯示卡之類的,整合顯示卡,需要分配適當的類存來充當視訊記憶體的,整合顯示卡一般和北橋融在一起,獨立顯示卡自帶視訊記憶體,其中有一部分產品可以分配記憶體來擴充視訊記憶體的,大多專業點的獨顯都是靠自身的視訊記憶體來工作,一般不需分配記憶體作為顯示卡!
回覆列表
理論上,各司其職,不可以。
目前的桌面電腦系統,與之最相近的CPU核顯也只是不同的單元部分,最後整合在CPU裡而已……
記憶體倒是可以共享,整體執行部分可以由CPU指令單元劃分出一部分,充當核顯快取之用……