『壹』 高手請進
虛擬內存:比如我的內存128,,分給集成顯卡8M,開XP用掉80,火狐用掉30,這時候我想開迅雷,但是迅雷需要30M內存,內存不夠了!操作系統就把火狐的30M暫時儲存到硬碟上,儲存需要的硬碟空間就叫虛擬內存。
緩存一般來說是一級緩存和二級緩存,是CPU內集成的很少的儲存空間。一級緩存對CPU性能幾乎無影響。一級、二級緩存和CPU核心速度相等,內存讀寫速度遠遠慢於二級緩存。而計算機有個原理:CPU80%的時間在處理20%的數據,所以就把這很少但最常用的數據存放在二級緩存中,以提高性能。
AMD k10架構的那個處理器有三級緩存。
『貳』 虛擬存儲器採用的頁面調度演算法是「先進先出」(FIFO)演算法嗎
虛擬存儲器採用的頁面調度演算法是「先進先出」(FIFO)演算法嗎。常見的替換演算法有4種。
①隨機演算法:用軟體或硬體隨機數產生器確定替換的頁面。
②先進先出:先調入主存的頁面先替換。
③近期最少使用演算法(LRU,Least Recently Used):替換最長時間不用的頁面。
④最優演算法:替換最長時間以後才使用的頁面。這是理想化的演算法,只能作為衡量其他各種演算法優劣的標准。
虛擬存儲器的效率是系統性能評價的重要內容,它與主存容量、頁面大小、命中率,程序局部性和替換演算法等因素有關。
(2)哪一演算法能使存儲器中的碎片最少擴展閱讀
虛擬存儲器地址變換基本上有3種形虛擬存儲器工作過程式:全聯想變換、直接變換和組聯想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯想變換。每個邏輯空間頁面只能變換到物理空間一個特定頁面的方式稱為直接變換。
組聯想變換是指各組之間是直接變換,而組內各頁間則是全聯想變換。替換規則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調入的那部分內容。
在段式虛擬存儲系統中,虛擬地址由段號和段內地址組成,虛擬地址到實存地址的變換通過段表來實現。每個程序設置一個段表,段表的每一個表項對應一個段,每個表項至少包括三個欄位:有效位(指明該段是否已經調入主存)、段起址(該段在實存中的首地址)和段長(記錄該段的實際長度)。
『叄』 操作系統存儲器動態分區分配的(快速適應演算法)問題
這里的分割指的是:如果空閑分區大小為8k,而程序所佔有的大小隻有6k,對於一般的分配演算法,會將空閑分區劃分成一個6k和一個2k,然後把6k分配給程序,把2k的重新加入到空閑分區鏈。而快速適應演算法會直接把8k都分配給程序。文中說的不會產生內存碎片指的是外碎片,而那空餘的2k屬於內碎片。
『肆』 cpu的gpu合成技術
GPU在幾個主要方面有別於DSP架構。其所有計算均使用浮點演算法,而且目前還沒有位或整數運算指令。此外,由於GPU專為圖像處理設計,因此存儲系統實際上是一個二維的分段存儲空間,包括一個區段號(從中讀取圖像)和二維地址(圖像中的X、Y坐標)。此外,沒有任何間接寫指令。輸出寫地址由光柵處理器確定,而且不能由程序改變。這對於自然分布在存儲器之中的演算法而言是極大的挑戰。最後一點,不同碎片的處理過程間不允許通信。實際上,碎片處理器是一個SIMD數據並行執行單元,在所有碎片中獨立執行代碼。
盡管有上述約束,但是GPU還是可以有效地執行多種運算,從線性代數和信號處理到數值模擬。雖然概念簡單,但新用戶在使用GPU計算時還是會感到迷惑,因為GPU需要專有的圖形知識。這種情況下,一些軟體工具可以提供幫助。兩種高級描影語言CG和HLSL能夠讓用戶編寫類似C的代碼,隨後編譯成碎片程序匯編語言。Brook是專為GPU計算設計,且不需要圖形知識的高級語言。因此對第一次使用GPU進行開發的工作人員而言,它可以算是一個很好的起點。Brook是C語言的延伸,整合了可以直接映射到GPU的簡單數據並行編程構造。經 GPU存儲和操作的數據被形象地比喻成「流」(stream),類似於標准C中的數組。核心(Kernel)是在流上操作的函數。在一系列輸入流上調用一個核心函數意味著在流元素上實施了隱含的循環,即對每一個流元素調用核心體。Brook還提供了約簡機制,例如對一個流中所有的元素進行和、最大值或乘積計算。Brook還完全隱藏了圖形API的所有細節,並把GPU中類似二維存儲器系統這樣許多用戶不熟悉的部分進行了虛擬化處理。用Brook編寫的應用程序包括線性代數子程序、快速傅立葉轉換、光線追蹤和圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速緩存、SSE匯編優化Pentium 4執行條件下,許多此類應用的速度提升高達7倍之多。
對GPU計算感興趣的用戶努力將演算法映射到圖形基本元素。類似Brook這樣的高級編程語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪制引擎,而是會成為個人電腦的主要計算引擎。
簡單點說:GPU是圖形處理器,CPU是中央處理器.CPU是單線處理指令.而GPU是並行處理CPU是指令邏輯,屬於計算機體系結構
GPU是與非邏輯,屬於ASIC體系結構
『伍』 計算機操作系統第三版 湯子瀛編著的 第四章的課後題答案能發給我一下嗎
第四章 存儲器管理
1. 為什麼要配置層次式存儲器?
這是因為:
a.設置多個存儲器可以使存儲器兩端的硬體能並行工作。
b.採用多級存儲系統,特別是Cache技術,這是一種減輕存儲器帶寬對系統性能影響的最佳結構方案。
c.在微處理機內部設置各種緩沖存儲器,以減輕對存儲器存取的壓力。增加CPU中寄存器的數量,也可大大緩解對存儲器的壓力。
2. 可採用哪幾種方式將程序裝入內存?它們分別適用於何種場合?
將程序裝入內存可採用的方式有:絕對裝入方式、重定位裝入方式、動態運行時裝入方式;絕對裝入方式適用於單道程序環境中,重定位裝入方式和動態運行時裝入方式適用於多道程序環境中。
3. 何為靜態鏈接?何謂裝入時動態鏈接和運行時動態鏈接?
a.靜態鏈接是指在程序運行之前,先將各自目標模塊及它們所需的庫函數,鏈接成一個完整的裝配模塊,以後不再拆開的鏈接方式。
b.裝入時動態鏈接是指將用戶源程序編譯後所得到的一組目標模塊,在裝入內存時,採用邊裝入邊鏈接的一種鏈接方式,即在裝入一個目標模塊時,若發生一個外部模塊調用事件,將引起裝入程序去找相應的外部目標模塊,把它裝入內存中,並修改目標模塊中的相對地址。
c.運行時動態鏈接是將對某些模塊的鏈接推遲到程序執行時才進行鏈接,也就是,在執行過程中,當發現一個被調用模塊尚未裝入內存時,立即由OS去找到該模塊並將之裝入內存,把它鏈接到調用者模塊上。
4. 在進行程序鏈接時,應完成哪些工作?
a.對相對地址進行修改
b.變換外部調用符號
6. 為什麼要引入動態重定位?如何實現?
a.程序在運行過程中經常要在內存中移動位置,為了保證這些被移動了的程序還能正常執行,必須對程序和數據的地址加以修改,即重定位。引入重定位的目的就是為了滿足程序的這種需要。
b.要在不影響指令執行速度的同時實現地址變換,必須有硬體地址變換機構的支持,即須在系統中增設一個重定位寄存器,用它來存放程序在內存中的起始地址。程序在執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。
9. 分區存儲管理中常採用哪些分配策略?比較它們的優缺點。
分區存儲管理中常採用的分配策略有:首次適應演算法、循環首次適應演算法、最佳適應演算法、最壞適應演算法。
a.首次適應演算法的優缺點:保留了高址部分的大空閑區,有利於後到來的大型作業的分配;低址部分不斷被劃分,留下許多難以利用的、小的空閑區,且每次分區分配查找時都是從低址部分開始,會增加查找時的系統開銷。
b.循環首次適應演算法的優缺點:使內存中的空閑分區分布得更為均勻,減少了查找時的系統開銷;缺乏大的空閑分區,從而導致不能裝入大型作業。
c.最佳適應演算法的優缺點:每次分配給文件的都是最適合該文件大小的分區;內存中留下許多難以利用的小的空閑區。
d.最壞適應演算法的優缺點:給文件分配分區後剩下的的空閑區不至於太小,產生碎片的幾率最小,對中小型文件分配分區操作有利;使存儲器中缺乏大的空閑區,對大型文件的分區分配不利。
10. 在系統中引入對換後可帶來哪些好處?
能將內存中暫時不運行的進程或暫時不用的程序和數據,換到外存上,以騰出足夠的內存空間,把已具備運行條件的進程或進程所需的程序和數據換入內存,從而大大地提高了內存的利用率。
12. 在以進程為單位進行對換時,每次是否將整個進程換出?為什麼?
在以進程為單位進行對換時,並非每次將整個進程換出。這是因為:
a.從結構上講,進程是由程序段、數據段和進程式控制制塊組成的,其中進程式控制制塊總有部分或全部常駐內存,不被換出。
b.程序段和數據段可能正被若干進程共享,此時它們也不能被換出。
13. 為實現分頁存儲管理,需要哪些硬體支持?
需要有頁表機制、地址變換機構的硬體支持。
16. 為什麼說分段系統較之分頁系統更易於實現信息共享和保護?
a.對於分頁系統,每個頁面是分散存儲的,為了實現信息共享和保護,則頁面之間需要一一對應起來,為此需要建立大量的頁表項;
b.而對於分段系統,每個段都從0開始編址,並採用一段連續的地址空間,這樣在實現共享和保護時,只需為所要共享和保護的程序設置一個段表項,將其中的基址與內存地址一一對應起來即可。
17. 分頁和分段有何區別?
a.分頁和分段都採用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;
b.對於它們的不同點有三,第一,從功能上看,頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率,即滿足系統管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要;第二頁的大小固定且由系統確定,而段的長度卻不固定,決定於用戶所編寫的程序;第三分頁的作業地址空間是一維的,而分段的作業地址空間是二維的。
18. 試全面比較連續分配和離散分配方式。
a.連續分配是指為一個用戶程序分配一個連續的地址空間,包括單一連續分配方式和分區式分配方式,前者將內存分為系統區和用戶區,系統區供操作系統使用,用戶區供用戶使用,是最簡單的一種存儲方式,但只能用於單用戶單任務的操作系統中;分區式分配方式分為固定分區和動態分區,固定分區是最簡單的多道程序的存儲管理方式,由於每個分區的大小固定,必然會造成存儲空間的浪費;動態分區是根據進程的實際需要,動態地為之分配連續的內存空間,常用三種分配演算法: 首次適應演算法,該法容易留下許多難以利用的小空閑分區,加大查找開銷;循環首次適應演算法,該演算法能使內存中的空閑分區分布均勻,但會致使缺少大的空閑分區;最佳適應演算法,該演算法也易留下許多難以利用的小空閑區;
b.離散分配方式基於將一個進程直接分散地分配到許多不相鄰的分區中的思想,分為分頁式存儲管理,分段存儲管理和段頁式存儲管理. 分頁式存儲管理旨在提高內存利用率,滿足系統管理的需要,分段式存儲管理則旨在滿足用戶(程序員)的需要,在實現共享和保護方面優於分頁式存儲管理,而段頁式存儲管理則是將兩者結合起來,取長補短,即具有分段系統便於實現,可共享,易於保護,可動態鏈接等優點,又能像分頁系統那樣很好的解決外部碎片的問題,以及為各個分段可離散分配內存等問題,顯然是一種比較有效的存儲管理方式;
c.綜上可見,連續分配方式和離散分配方式各有各自的特點,應根據實際情況加以改進和利用.
19. 虛擬存儲器有哪些特徵?其中最本質的特徵是什麼?
特徵:離散性、多次性、對換性、虛擬性;
最本質的特徵:離散性;最重要的特徵:虛擬性。
20. 實現虛擬存儲器需要哪些硬體支持?
a.對於為實現請求分頁存儲管理方式的系統,除了需要一台具有一定容量的內存及外存的計算機外,還需要有頁表機制,缺頁中斷機構以及地址變換機構;
b.對於為實現請求分段存儲管理方式的系統,除了需要一台具有一定容量的內存及外存的計算機外,還需要有段表機制,缺段中斷機構以及地址變換機構;
21. 實現虛擬存儲器需要哪幾個關鍵技術?
a.分頁和分段都採用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;
25. 在請求分頁系統中,通常採用哪種頁面分配方式——物理塊分配策略?
三種分配方式:固定分配局部置換、可變分配全局置換、可變分配局部置換。
26. 在一個請求分頁系統中,採用FIFO頁面置換演算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別為3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率,並比較所得結果。
4 3 2 1 4 3 5 4 3 2 1 5
4
4 4 1 1 1 5 5 5
3 3 3 4 4 4 2 2
2 2 2 3 3 3 1
4 4 4 4 5 5 5 5 1 1
3 3 3 3 4 4 4 4 5
2 2 2 2 3 3 3 3
1 1 1 1 2 2 2
M=3時,採用FIFO頁面置換演算法的缺頁次數為9次,缺頁率為75%;
M=4時,採用FIFO頁面置換演算法的缺頁次數為10次,缺頁率為83%。
由此可見,增加分配給作業的內存塊數,反而增加了缺頁次數,提高了缺頁率,這種現象被稱為是Belady現象。
28. 試說明改進型Clock置換演算法的基本原理。
基本原理:
在將一個頁面換出時,如果該頁已被修改過,便須將該頁重新寫回到磁碟上;但如果該頁未被修改過,則不必將它寫回磁碟上。在改進型演算法中,除需考慮頁面的使用情況外,還須再增加一個因素,即置換代價,這樣,選擇頁面換出時,既要是未使用過的頁面,又要是未被修改過的頁面。
15 什麼是抖動? 產生抖動的原因是什麼?
a.抖動(Thrashing)就是指當內存中已無空閑空間而又發生缺頁中斷時,需要從內存中調出一頁程序或數據送磁碟的對換區中,如果演算法不適當,剛被換出的頁很快被訪問,需重新調入,因此需再選一頁調出,而此時被換出的頁很快又要被訪問,因而又需將它調入,如此頻繁更換頁面,使得系統把大部分時間用在了頁面的調進換出上,而幾乎不能完成任何有效的工作,我們稱這種現象為"抖動"。
b.產生抖動的原因是由於CPU的利用率和多道程序度的對立統一矛盾關系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會造成缺頁率的急劇上升,導致CPU的利用率下降,而系統的調度程序又會為了提高CPU利用率而繼續提高多道程序度,形成惡性循環,我們稱這時的進程是處於"抖動"狀態。
『陸』 大工11秋在線作業答案
大連理工大學
大工11秋《操作系統》在線作業1
單選題
1.下列4個操作系統中,屬於分時操作系統的是()。
答案:D
2.存儲分配解決多道作業地址空間的劃分問題。為了實現靜態和動態存儲分配,需採用地址重定位,即把()變換成絕對地址。
答案:C
3.實時操作系統追求的目標是()。
答案:C
4.用戶在一次計算過程(事務處理)中,要求計算機完成所做的工作的集合,或是要求計算機處理的一個相對獨立的任務,這是指()。
答案:C
5.若把操作系統看作計算機系統資源的管理者,下列的()不屬於操作系統所管理的資源。
答案:D
6.分配到必要的資源並獲得處理機時的進程狀態是()。
答案:B
7.下面對進程的描述中,錯誤的是()。
答案:D
8.下列的進程狀態變化中,()變化是不可能發生的。
答案:C
9.()不是操作系統關心的主要問題。
答案:D
10.()操作系統允許在一台主機上同時連接多台終端,多個用戶可以通過各自的終端同時交互地使用計算機。
答案:C
判斷題
1.批處理系統是實現人機交互的系統。
答案:A
2.即使計算機發展歷經四代,但目前計算機仍然以運算器為中心。
答案:A
3.用戶為每個進程創建PCB,並控制進程的執行過程。
答案:A
4.通常操作系統在管態下運行,可以執行所有機器指令。而用戶程序在目態下運行,只能執行非特權指令。
答案:B
5.進程可以寫在紙上或在某一存儲介質上長期保存,而程序具有生存期,創建後存在,撤銷後消亡。
答案:A
6.在現代計算機中,一般都提供一些專門供操作系統使用的特殊指令,這些指令只能在管態執行,稱為特權指令。
答案:B
7.馮諾依曼結構計算機以存儲器為中心。
答案:A
8.進程可以隨時刪除自己的PCB表。
答案:A
9.在大多數系統中,用戶程序有時也可以在管態下執行特權指令。
答案:A
10.所有進程獲得處理機都是通過申請,由用戶批准而得到的。
答案:A
大連理工大學
大工11秋《操作系統》在線作業2
單選題
1.CPU的調度分為長期、中期和短期三種,其中短期調度是指()調度。
答案:A
2.一作業8:00到達系統,估計運行時間為1小時,若10:00開始執行該作業,其響應比是()。
答案:C
3.對於兩個並發進程,設互斥信號量mutex的初始值為1,若mutex=0,則()。
答案:B
4.臨界區是指並發進程中訪問共享變數的()段。
答案:D
5.產生系統死鎖的原因可能是由於()。
答案:C
6.在操作系統中,作業處於()時,已送入內存中處於進程的管理之下。
答案:C
7.若Wait-Signal操作的信號量S初值為2,當前值為-1,則表示有()等待進程。
答案:B
8.運行時間最短的作業被優先調度,這種作業調度演算法是()。
答案:C
9.()是一種只能進行Wait操作和Signal操作的特殊變數。
答案:D
10.若系統中有五台繪圖儀,有多個進程均需要使用兩台,規定每個進程一次僅允許申請一台,則至多允許()個進程參於競爭,而不會發生死鎖。
答案:D
判斷題
1.對臨界資源應採取互斥訪問方式來實現共享。
答案:B
2.Wait-Signal操作是把信號量S與共享資源對應起來的一種機制,當S變為負數-X時,X表示等待使用資源的進程個數。
答案:B
3.在操作系統中同時存在多個進程,這些進程可以共享允許共享的系統資源。
答案:B
4.多處理器系統具有可靠性、高度平行性等優點。
答案:B
5.處於提交狀態的作業是佔用處理機執行的狀態。
答案:A
6.參與死鎖的所有進程中至少有三個進程佔有資源。
答案:A
7.Wait-Signal操作是把信號量S與共享資源對應起來的一種機制,當S>0時,表示無資源可用或不允許進程再進入臨界區。
答案:A
8.由於Wait-Signal操作無法描述同步、互斥等基本問題,所以必須引入其它的通訊原語或機制,如Send,Receive或Monitor等。
答案:A
9.計算機系統中CPU越忙,系統的運行速度越快效率越高。
答案:A
10.多處理器系統可以建立多重處理,增強系統的處理能力。
答案:B
大連理工大學
大工11秋《操作系統》在線作業3
單選題
1.在磁碟調度策略中有可能使某些I/O請求無限期等待的調度演算法是()。
答案:B
2.段頁式存儲管理吸取了頁式管理和段式管理的長處,其實現原理結合了頁式和段式管理的基本思想,即()。
答案:B
3.存儲管理的目的是()。
答案:C
4.段頁式存儲管理中,為了進行地址轉換內核為每個進程()。
答案:A
5.()實現了段式、頁式兩種存儲方式的優勢互補。
答案:D
6.在段頁式存儲管理系統中,內存等分成(),程序按邏輯模塊劃分成若干段。
答案:A
7.動態重定位技術依賴於()。
答案:B
8.磁碟上的磁軌是()。
答案:A
9.分段管理提供()維的地址結構。
答案:B
10.可變分區的存儲分配演算法中,空閑區按照塊大小進行排序適合()演算法,以使未使用的碎片盡可能小。
答案:C
判斷題
1.樹型目錄結構能夠解決文件重名問題。
答案:B
2.可變分區管理中採用最先適應法分配演算法時,應將空閑區按地址遞增次序登記在空閑區表中。
答案:B
3.固定分區存儲管理技術的重定位方法採用的是靜態重定位方法。
答案:B
4.虛存容量的擴大是以犧牲CPU工作時間、I/O操作時間、額外的主存開銷等代價的。
答案:B
5.可重定位分區管理可以對作業分配不連續的內存單元。
答案:A
6.頁式存儲管理中,一個進程可以佔用不連續的內存空間,而段式存儲管理,一個進程的各段則是要求佔用連續的內存空間。
答案:A
7.最近最少使用頁面置換演算法不會產生Belady等人所發現的異常現象。
答案:B
8.SPOOLing技術可以完全解決進程死鎖問題。
答案:A
9.頁式存儲管理系統有頁表存在。
答案:B
10.在虛擬頁式存儲管理中,將駐留在內存中的第一個的頁面淘汰是最近最少使用頁面置換演算法的定義。
答案:A
馬上結束了,趕快答題哦。
『柒』 一道操作系統題,在一個分頁存儲管理系統中,邏輯地址長度為16位,頁面大小為4096B,現有邏輯地址2F6AH
答案是:EF6AH
理由是:頁面大小為4096位元組,4096等於2的12次方。故頁內地址為12位。又邏輯地址長度為16位。故高4位表示頁號。則邏輯地址2F6AH在第2頁。根據頁表可知,第2頁存於第14塊中。14的十六進制為EH,與低12位F6AH拼接得物理地址為EF6AH
『捌』 關於GPU的問題!
GPU概念
GPU英文全稱Graphic Processing Unit,中文翻譯為「圖形處理器」。GPU是相對於CPU的一個概念,由於在現代的計算機中(特別是家用系統,游戲的發燒友)圖形的處理變得越來越重要,需要一個專門的圖形的核心處理器。
GPU的作用
GPU是顯示卡的「心臟」,也就相當於CPU在電腦中的作用,它決定了該顯卡的檔次和大部分性能,同時也是2D顯示卡和3D顯示卡的區別依據。2D顯示晶元在處理3D圖像和特效時主要依賴CPU的處理能力,稱為「軟加速」。3D顯示晶元是將三維圖像和特效處理功能集中在顯示晶元內,也即所謂的「硬體加速」功能。顯示晶元通常是顯示卡上最大的晶元(也是引腳最多的)。現在市場上的顯卡大多採用NVIDIA和ATI兩家公司的圖形處理晶元。
於是NVIDIA公司在1999年發布GeForce 256圖形處理晶元時首先提出GPU的概念。GPU使顯卡減少了對CPU的依賴,並進行部分原本CPU的工作,尤其是在3D圖形處理時。GPU所採用的核心技術有硬體T&L、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術可以說是GPU的標志。
簡單說GPU就是能夠從硬體上支持T&L(Transform and Lighting,多邊形轉換與光源處理)的顯示晶元,因為T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置和處理動態光線效果,也可以稱為「幾何處理」。一個好的T&L單元,可以提供細致的3D物體和高級的光線特效;只大多數PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂的軟體T&L),由於CPU的任務繁多,除了T&L之外,還要做內存管理、輸入響應等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現顯卡等待CPU數據的情況,其運算速度遠跟不上今天復雜三維游戲的要求。即使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存儲和操作的數據被形象地比喻成「流」(stream),類似於標准C中的數組。核心(Kernel)是在流上操作的函數。在一系列輸入流上調用一個核心函數意味著在流元素上實施了隱含的循環,即對每一個流元素調用核心體。Brook還提供了約簡機制,例如對一個流中所有的元素進行和、最大值或乘積計算。Brook還完全隱藏了圖形API的所有細節,並把GPU中類似二維存儲器系統這樣許多用戶不熟悉的部分進行了虛擬化處理。用Brook編寫的應用程序包括線性代數子程序、快速傅立葉轉換、光線追蹤和圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速緩存、SSE匯編優化Pentium 4執行條件下,許多此類應用的速度提升高達7倍之多。
對GPU計算感興趣的用戶努力將演算法映射到圖形基本元素。類似Brook這樣的高級編程語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪制引擎,而是會成為個人電腦的主要計算引擎。