當前位置:編程學習大全網 - 編程語言 - GPU和DSP有什麽區別?

GPU和DSP有什麽區別?

GPU的英文全稱是圖形處理單元,中文翻譯是“圖形處理器”。GPU是相對於CPU的概念。因為圖形的處理在現代計算機(尤其是家用系統和遊戲發燒友)中越來越重要,所以需要壹個專用的圖形核心處理器。

GPU的作用

GPU是顯卡的“心臟”,相當於電腦中CPU的作用。它決定了顯卡的檔次和大部分性能,也是2D顯卡和3D顯卡區別的基礎。2D顯示芯片在處理3D圖像和特效時主要依靠CPU的處理能力,也就是所謂的“軟加速”。3D顯示芯片將3D圖像和特效處理功能集成到顯示芯片中,也稱為“硬件加速”功能。顯示芯片通常是顯卡上最大的芯片(引腳最多)。現在市面上大部分的顯卡都是使用英偉達和ATI的圖形處理芯片。

所以NVIDIA在1999年發布GeForce 256圖形處理芯片的時候第壹次提出了GPU的概念。GPU降低了顯卡對CPU的依賴,做了原有CPU的壹些工作,尤其是在3D圖形處理方面。GPU采用的核心技術是硬件T & amp;立方體環境材質映射和頂點混合,紋理壓縮和T&映射,雙紋理四像素256位渲染引擎等。,而硬件T &;l技術可以說是GPU的標誌。

簡單來說,GPU可以支持T & ampl(變換和照明)顯示芯片,因為T & amp;l是3D渲染的重要組成部分,它的作用是計算多邊形的3D位置,處理動態光效,也可以稱為“幾何處理”。壹個好的t &;l單元,可以提供細節豐富的3D物體和高級燈光效果;只有在大多數PC中,T & amp;L的大部分運算都是由CPU處理的(這就是所謂的軟件T & amp;l),由於CPU的各種任務,T&除外;除了L還要做內存管理、輸入響應等非3D圖形處理,所以實際運行時性能會大打折扣,而且顯卡經常等待CPU數據,運行速度跟不上當今復雜3D遊戲的要求。即使CPU的工作頻率超過1GHz或者更高,也沒有太大幫助,因為這是PC本身設計造成的問題,和CPU的速度關系不大。

GPU和DSP的區別

GPU在幾個主要方面不同於DSP架構。它的所有計算都使用浮點算法,目前沒有位或整數運算指令。另外,由於GPU是專門為圖像處理設計的,所以存儲系統實際上是壹個二維分段存儲空間,包括壹個段號(從中讀取圖像)和壹個二維地址(圖像中的X和Y坐標)。此外,沒有間接寫指令。輸出寫地址由光柵處理器決定,不能由程序改變。這對於自然分布在內存中的算法來說是壹個很大的挑戰。最後,不同片段的處理之間不允許通信。實際上,片段處理器是壹個SIMD數據並行執行單元,在所有片段中獨立執行代碼。

盡管有上述限制,但GPU可以有效地執行各種操作,從線性代數和信號處理到數值模擬。雖然概念簡單,但是新用戶在使用GPU進行計算時還是會感到困惑,因為GPU需要專有的圖形知識。在這種情況下,壹些軟件工具可以提供幫助。CG和HLSL這兩種高級著色語言允許用戶編寫類似C的代碼,然後編譯成片段匯編語言。Brook是壹種為GPU計算設計的高級語言,不需要圖形知識。所以對於第壹次使用GPU進行開發的工作人員來說,也算是壹個不錯的起點。Brook是C語言的擴展,集成了可以直接映射到GPU的簡單數據並行編程結構。GPU存儲和操作的數據被形象地比喻為“流”,類似於標準c中的數組。內核是對流進行操作的函數。在壹系列輸入流上調用核心函數意味著在流元素上實現隱式循環,即在每個流元素上調用核心體。Brook還提供了歸約機制,比如計算壹個流中所有元素的和、最大或積。布魯克還完全隱藏了圖形API的所有細節,將GPU不熟悉的部分虛擬化,比如二維內存系統。用Brook編寫的應用程序包括線性代數子程序、快速傅裏葉變換、射線追蹤和圖像處理。使用ATI的X800XT和Nvidia的GeForce 6800 Ultra GPU,在相同的緩存和SSE匯編優化奔騰4執行條件下,許多此類應用的速度可以提高7倍之多。

對GPU計算感興趣的用戶嘗試將算法映射到圖形的基本元素。像Brook這樣的高級編程語言的出現,讓程序員新手很容易掌握GPU的性能優勢。訪問GPU的計算功能的便利性也使得GPU的進化在繼續,不僅僅是作為繪圖引擎,而是作為個人電腦的主要計算引擎。

  • 上一篇:用GPU加速Linux Kernel?
  • 下一篇:股票T+0操作,希望詳細點!
  • copyright 2024編程學習大全網