TWI390400B - 繪圖處理子系統 - Google Patents
繪圖處理子系統 Download PDFInfo
- Publication number
- TWI390400B TWI390400B TW094113472A TW94113472A TWI390400B TW I390400 B TWI390400 B TW I390400B TW 094113472 A TW094113472 A TW 094113472A TW 94113472 A TW94113472 A TW 94113472A TW I390400 B TWI390400 B TW I390400B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- processing subsystem
- memory
- graphics processing
- image
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/122—Tiling
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/125—Frame memory handling using unified memory architecture [UMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Image Generation (AREA)
Description
本發明係相關於電腦繪圖的領域。許多電腦繪圖影像係藉由自指定視角數學模型化光與三次元場景的互動所產生。稱作描繪的此處理自指定觀點產生場景的二次元影像,並且類似為真實世界場景拍照。
由於電腦繪圖的需求,尤其是對即時電腦繪圖的需求日益增加,所以具有構製成加速描繪處理的繪圖處理子系統之電腦系統已日益普及。在這些電腦系統中,由電腦的一般目的之中央處理單元(CPU)和繪圖處理子系統平均分配描繪處理。典型上,CPU執行高階操作,諸如決定位置、移動、及指定場景中的物件碰撞等。自這些高階操作,CPU產生一組定義想要的描繪影像之描繪命令和資料。例如,描繪命令和資料可為定義場景的場景幾何圖形、明暗、陰影、質地、移動、及/或相機參數。繪圖處理子系統自一組描繪命令和資科產生一或多個描繪影像。
典型繪圖處理子系統包括一或多個繪圖處理單元(GPUs)或輔助運算器。每一GPU執行CPU產生的描繪命令。除了一或多個GPUs之外,繪圖處理子系統又包括記憶體。繪圖子系統記憶體用於儲存一或多個輸出到顯示裝置的描繪影像、幾何圖形資料、質地資料、明暗和陰影資料、及用於產生一或多個描繪影像的其他資料。
為了最大化描繪性能,繪圖子系統記憶體典型上與電腦系統使用的一般目的系統記憶體分離。如此使繪圖處理子系統可最大化記憶體存取性能及最後的繪圖性能。然而,具有分開的繪圖處理子系統記憶體明顯增加成本,不僅因為額外記憶體的費用(可能是百萬位元組或更多),並且由於諸如功率調整器、濾波器、及冷卻裝置等支援組件和添加的電路板複雜性之成本。而且,分開的繪圖處理子系統記憶體所需的額外空間可能存在困難,尤其是筆記型電腦或行動裝置。
其中一有關分開的繪圖處理子系統記憶體之問題的解決方法係使用統一的記憶體架構,諸如幾何圖形資料、質地資料、明暗和陰影資料、及描繪影像等所有繪圖處理子系統需要的資料被儲存在電腦系統的一般目的系統記憶體。習如上,連接繪圖處理子系統和系統記憶體的資料匯流排限制統一記憶體架構系統的性能。
諸如PCI-Express資料匯流排標準等改良式資料匯流排標準增加可用於存取記憶體的頻寬;但是,利用統一記憶體架構達成最佳的描繪性能仍然需要小心的注意到記憶體頻寬和潛在因素。而且,PCI-Express資料匯流排標準有其本身的問題,包括系統死結和選擇性記憶體存取的高耗用時間。此外,掃描輸出(自記憶體轉移描繪影像到顯示裝置的處理)需要準確的時序以防止看得見的不連貫和錯誤。因此,自儲存在系統記憶體中的描繪影像執行掃描輸出很困難。
因此希望使用統一記憶體架構的繪圖處理子系統能夠提供良好的描繪性能並且能夠自系統記憶體提供沒有錯誤的掃描輸出。而且,希望繪圖處理子系統可防止諸如系統死結和選擇性記憶體存取的高耗用時間等問題。
本發明的實施例使繪圖處理子系統能夠使用系統記憶體當作其描繪和掃描輸出影像專用的繪圖記憶體。為了防止資料匯流排的死結,繪圖處理子系統可使用交替式虛擬資料匯流排通道以自完成第一資料的寫入操作需要的系統記憶體存取額外資料。在與系統記憶體通訊時,包括擴充式位元組生效資訊的資料封包使繪圖處理子系統能夠寫入具有任意位元組遮蔽的大量資料到系統記憶體。為了操控高度兩次元方位的描繪影像資料,繪圖處理子系統在系統記憶體中以鋪磚式格式排列資料。鋪磚式轉換單元將影像資料虛擬位址轉換到對應的系統記憶體位址。繪圖處理子系統自系統記憶體讀取影像資料並且將它轉換成顯示信號。
在一實施例中,繪圖處理子系統包含被構製成回應描繪資料以產生用於一描繪影像的影像資料之描繪單元,及被構製成經由資料匯流排與電腦系統的系統記憶體裝置連接之資料匯流排介面。回應於寫入第一資料到與繪圖處理子系統相關連的繪圖記憶體之寫入操作,繪圖處理子系統被構製成檢索完成第一資料的寫入操作所需的第二資料。然後,繪圖處理子系統自第二資料決定系統記憶體中的第一資料之目的地並且將第一資料的寫入操作改向到系統記憶體中的第一資料之目的地。在另一實施例中,系統記憶體中的第一資料之目的地是在被指定作與繪圖處理子系統相關連的繪圖記憶體之一部分系統記憶體內。在另一實施例中,第二資料包括位址轉換資訊,及繪圖處理子系統被構製成將與繪圖記憶體相關連的虛擬位址轉換到系統記憶體中對應的目的地。
在一實施例中,繪圖處理子系統被構製成經由資料匯流排介面自資料匯流排的第一虛擬通道接收第一資料的寫入操作,並且使用資料匯流排的第二虛擬通道經由資料匯流排介面自系統記憶體檢索第二資料。在另一實施例中,繪圖處理子系統被構製成從與繪圖處理子系統連接的區域記憶體檢索第二資料。
在另一實施例中,繪圖處理子系統包括被構製成將對應於影像中位置的虛擬記憶體位址轉換成系統記憶體中影像資料的鋪磚式排列之鋪磚式位址轉換單元。鋪磚式位址轉換單元可另外被構製成回應對應於影像的比鄰部位之虛擬記憶體位址的範圍,經由資料匯流排在資料匯流排上開始複數系統記憶體存取。根據虛擬記憶體位址的範圍,複數系統記憶體存取是用於系統記憶體的非比鄰部位。
在另一實施例中,資料匯流排介面被構製成回應指出與系統記憶體相關連的記憶體控制器與第一資料封包類型相容之指令,使用第一資料封包類型的資料封包經由資料匯流排使第三資料與系統記憶體通訊。第一資料封包類型包括擴充式位元組生效資料。回應於指出記憶體控制器與第一資料封包類型不相容的指令,資料匯流排介面使用第二資料封包類型的複數資料封包經由資料匯流排使第三資料與系統記憶體通訊。
在另一實施例中,繪圖處理子系統包括被構製成使對應於描繪影像的顯示信號與顯示裝置通訊之顯示裝置控制器。在一實施例中,顯示裝置控制器被構製成從與繪圖處理子系統連接的區域記憶體檢索對應於描繪影像的影像資料。在另一實施例中,顯示裝置控制器被構製成從系統記憶體檢索對應於描繪影像的影像資料。
在一實施例中,顯示裝置控制器被構製成從系統記憶體中鋪磚式排列的影像資料檢索對應於第一列描繪影像的第一影像資料並且使第一影像資料與顯示裝置通訊。繪圖處理子系統可從對應於包括第一列描繪影像的一組鋪磚式描繪影像之系統記憶體檢索一組影像資料。繪圖處理子系統丟棄一組影像資料中不包括第一列影像資料的一部分。在另一實施例中,顯示裝置控制器包括被構製成儲存包括在一組鋪磚並且對應於描繪影像的至少額外一列之第二影像資料的影像資料快取記憶體。顯示裝置控制器被構製成在檢索第一影像資料之後從影像資料快閃記憶體檢索第二影像資料並且使第二影像資料與顯示裝置通訊。
圖1為適用於實施本發明的實施例之諸如個人電腦、視頻遊戲控制台、個人數位助理、或其他數位裝置等電腦系統100的方塊圖。電腦系統100包括用以操作軟體應用程式和隨意的作業系統之中央處理單元(CPU)105。在一實施例中,CPU 105實際上是幾個平行操作之分開的中央處理單元。記憶體110儲存CPU 105使用的應用程式和資料。儲存體115提供用於應用程式和資料的非揮發性儲存體,可包括固定式磁碟機、可移動式磁碟機、快閃記憶體裝置、和CD-ROM、DVD-ROM,或其他光碟儲存裝置。使用者輸入裝置120使來自一或多個使用者的使用者輸入通訊到電腦系統100,可包括鍵盤、滑鼠、搖桿、觸摸式螢幕、及/或麥克風。網路介面125使電腦系統100能夠經由電子通訊網路與其他電腦系統通訊,可包括夠過區域網路的有線或無線通訊和諸如網際網路等廣域網路。包括CPU 105、記憶體110、資料儲存體115、使用者輸入裝置120、及網路介面125等電腦系統100的組件經由一或多個資料匯流排160連接。資料匯流排的例子包括ISA、PCI、AGP、PCI、PCI-Express、及HyperTransport資料匯流排。
繪圖子系統130另外與資料匯流排160和電腦系統100的組件連接。繪圖子系統可與電腦系統母板成一整體或在固定式或可移動式與電腦系統連接之分開的電路板上。繪圖子系統130包括繪圖處理單元(GPU)135和繪圖記憶體。繪圖記憶體包括用於儲存輸出影像之每一畫素的畫素資料之顯示記憶體140(如、頁框緩衝器)。畫素資料可直接從CPU 105提供給顯示記憶體140。另一選擇是,CPU 105以定義想要的輸出影像之資料及/或命令提供GPU 135,從這些資料及/或命令,GPU 135產生一或多個輸出影像的畫素資料。定義想要的輸出影像之資料及/或命令儲存在附加記憶體145中。在一實施例中,GPU 135從定義場景的幾何圖形、明暗、陰影、質地、移動、及/或相機參數之描繪命令和資料產生輸出影像的畫素資料。
在另一實施例中,顯示記憶體140及/或附加記憶體145是記憶體110的一部分並且與CPU 105共用。另一選擇是,顯示記憶體140及/或附加記憶體145是一或多個被設置給用於繪圖子系統130之分開的記憶體。繪圖子系統130從顯示記憶體218週期性輸出影像用畫素資料並且顯示在顯示裝置150上。顯示裝置150是任何能夠回應來自電腦系統100的信號顯示看得見的資訊之裝置,包括CRT、LCD、電漿、及OLED顯示器。電腦系統100能夠提供顯示裝置150類比或數位信號。
在另一實施例中,繪圖處理子系統130包括一或多個類似GPU 135的附加GPUs 155。在另一實施例中,繪圖處理子系統130包括繪圖輔助運算器165。繪圖輔助運算器165和附加GPUs 155被構製成與GPU 135平行操作或取代GPU 135。類似GPU 135,附加GPUs 155從描繪命令產生用於輸出影像的畫素資料附加GPUs 155能夠與GPU 135一起操作以同時產生輸出影像的不同部位之畫素資料,或同時產生不同輸出影像的畫素資料。在一實施例中,繪圖輔助運算器165執行諸如幾何圖形變化、陰影計算、及GPU 135及/或附加GPUs 155的背面支援操作等描繪相關工作。
附加GPUs 155可位在與GPU 135相同的電路板上並且與GPU 135共用到資料匯流排160的連接。附加GPUs 155也能夠整合成與GPU 135一樣的模組或晶片封包。類似顯示記憶體140和附加記憶體145,附加GPUs 155能夠具有它們自己的顯示器和附加記憶體或能夠與GPU 135共用記憶體140及145。在一實施例中,繪圖輔助運算器165與諸如用於控制資料匯流排160的Northbridge或Southbridge晶片等電腦系統晶片組(未圖示)整合在一起。
系統死結是由於兩操作在完成它們各自操作之前都需要來自另一個的回應而在系統執行時中斷。系統死結的根源之一係來自在連接CPU與繪圖處理子系統的資料匯流排上之張貼寫入操作。就諸如PCI-Express資料匯流排等許多資料匯流排類型而言,必須在任何其他讀取或寫入操作能夠在資料匯流排上執行之前完成張貼寫入操作。張貼寫入操作是一一旦目的地接收就視作由請求者完成的寫入操作。就性能目的而言,PCI-Express為所有記憶體寫入使用張貼寫入操作。到配置和I/O的PCI-Express寫入操作典型上是非張貼寫入操作並且需要確認寫入被完成,例如沒有資料的完成訊息。
因為張貼寫入操作妨礙資料匯流排操作,所以當繪圖處理子系統需要額外的資訊完成CPU發出的張貼寫入時會產生系統死結。例如,繪圖處理子系統為了處理方便通常利用線性比鄰的記憶體組織;然而,在統一記憶體架構中被使用當作繪圖記憶體的電腦系統之一般目的記憶體的部位典型上被安排當作非比鄰記憶體頁的一組。頁轉換表格從繪圖處理子系統使用的線性比鄰位址空間轉換記憶體位址到電腦系統記憶體使用的頁式非比鄰位址空間,使繪圖處理子系統能夠存取電腦系統記憶體。在一實施例中,頁轉換表格儲存在系統記憶體中。當繪圖處理子系統需要在繪圖記憶體中存取指定的記憶體位址時,繪圖處理子系統的位址轉換部位檢索頁轉換表格的適當部位,將繪圖處理子系統使用的線性記憶體位址轉換到系統記憶體使用的對應頁式記憶體位址,然後在轉換的記憶體位址中存取系統記憶體。
當CPU發出請求寫入資料的張貼寫入命令到繪圖記憶體中的目的地時,直到張貼寫入命令被接受為止不會完成其他資料匯流排完成操作。然而,為了接受張貼寫入命令,繪圖處理子系統必須存取儲存在系統記憶體中的頁轉換表格以決定對應於繪圖記憶體中的目的地之頁式記憶體位址。因為直到張貼寫入命令被接受為止會妨礙任何接下來的匯流排完成操作,所以從頁轉換表格歸還資料的匯流排完成操作被張貼寫入操作妨礙。當直到繪圖處理子系統自頁轉換表格接收資料為止無法完成張貼寫入操作時,電腦系統死結。
在另一例子中,繪圖處理系統可在幾個不同內文中執行。分開的內文可與繪圖處理子系統處理的每一應用程式、視窗、及/或執行串列有關。當在內文之間轉換時,繪圖處理子系統從前一內文完成所有操作,儲存與前一內文相關連的狀態資訊,載入新內文的狀態資訊,並且開始執行操作新內文。為了確保適當執行,直到自記憶體載入新內文的狀態資訊為止無法執行來自新內文的命令。
在統一記憶體架構系統中,內文狀態資訊可儲存在系統記憶體中。當CPU指示繪圖處理系統經由張貼寫入操作轉換內文時,繪圖處理子系統必須從系統記憶體載入新內文狀態資訊。然而,因為直到繪圖處理子系統已轉換內文為止無法完成張貼寫入操作,所以繪圖處理子系統無法經由資料匯流排存取系統記憶體。如此,電腦系統死結。圖2圖示根據本發明的實施例用以防止電腦系統200的死結之一般技術。CPU 205在資料匯流排上經由張貼寫入操作215使第一資料210與繪圖處理子系統220通訊。為了完成張貼寫入操作215,繪圖處理子系統220必須從系統記憶體230檢索第二資料225。在先前存取系統記憶體230的技術之下,張貼寫入操作215會妨礙繪圖處理子系統220在系統資料中存取第二資料225。
在本發明的實施例中,繪圖處理子系統220在資料匯流排上藉由打開通訊用的交替式虛擬通道在系統記憶體230中存取第二資料225。虛擬通道在相同的資料匯流排上提供獨立路徑給資料通訊。作為例子,PCI-Express匯流排規格使一PCI-Express資料匯流排能夠使幾種不同的資料交換與獨立出現的每一資料交換通訊,卻不會干擾PCI-Express匯流排上的其他資料交換。
回應於在資料匯流排上經由第一虛擬通道(例如VC0)通訊到繪圖處理子系統220的張貼寫入操作215,繪圖處理子系統220在資料匯流排上打開第二虛擬通道(例如VC1)以從系統記憶體230檢索第二資料225。使用第二虛擬通道(VC1),繪圖處理子系統220在資料匯流排上為第二資料225發送請求235到系統記憶體230。資料匯流排的使用第二虛擬通道(VC2)之來自系統記憶體230的回應240將第二資料225歸還到繪圖處理子系統220。
使用經由第二虛擬通道從系統記憶體230檢索的第二資料225,繪圖處理子系統決定完成第一資料210的張貼寫入操作215所需的資訊。例如,若張貼寫入操作215企圖寫入第一資料210到繪圖記憶體,然後第二資料225可以是用於將繪圖記憶體中的線性記憶體位址轉換到系統記憶體230中的對應頁式記憶體位址之位址轉換表格的一部分。然後,繪圖處理子系統220可寫入245第一資料210到位在電腦系統220的統一記憶體架構之系統記憶體230的一部分之繪圖記憶體250。此完成張貼寫入操作215並且免去第一虛擬通道額外的操作。
在另一例子中,第一資料210可包括繪圖處理子系統220的內文轉換命令。在此例中,CPU 205在第一虛擬通道上經由張貼寫入操作215使包括內文轉換命令的第一資料210通訊到繪圖處理子系統220。回應後,繪圖處理子系統220打開交替式虛擬通道(例如VC1)以從系統記憶體230檢索在此例中包括內文狀態資訊之第二資料225。然後,繪圖處理子系統220使用第二資料225根據包括在第一資料210內的內文轉換命令轉換內文,藉以完成張貼寫入操作215並且免去第一虛擬通道額外的操作。繪圖處理子系統又寫入前一內文的內文狀態資訊到記憶體,使得稍後當執行轉換回到那內文時可檢索之。
圖3圖示根據本發明的另一實施例用以防止電腦系統300的系統死結之一般技術。CPU 305在資料匯流排上經由張貼寫入操作315使第一資料310與繪圖處理子系統320通訊。如上述的實施例一般,繪圖處理子系統320需要檢索第二資料325以完成張貼寫入操作215。
為了避免由於張貼寫入操作315的妨礙在資料匯流排上嘗試檢索第二資料時出現死結的問題,電腦系統300的實施例包括區域記憶體330。在一實施例中,區域記憶體330經由分開的資料匯流排與繪圖處理子系統320通訊。區域記憶體330儲存繪圖處理子系統需要的第二資料325以完成張貼寫入操作315。當區域記憶體330必須儲存用於完成包含第一資料310的張貼寫入操作之第二資料325時,區域記憶體330可以是少量的記憶體,如此,維持許多統一記憶體架構的優點。
回應經由在CPU 305和繪圖處理子系統之間的第一資料匯流排通訊到繪圖處理子系統320之張貼寫入操作315,繪圖處理子系統320在分開的資料匯流排上為第二資料325發送請求335到區域記憶體330。來自區域記憶體330的回應340經由分開的資料匯流排歸還第二資料325。
使用從區域記憶體330檢索的第二資料325,繪圖處理子系統320決定完成第一資料310之張貼寫入操作315需要的資訊。例如,若張貼寫入操作315嘗試寫入第一資料310到繪圖記憶體,則第二資料325可以是用於將繪圖記憶體中的線性記憶體位址轉換到系統記憶體355中的對應頁式記憶體位址之位址轉換表格的一部分。然後,繪圖處理子系統320可寫入345第一資料310到位在電腦系統300的統一記憶體架構之系統記憶體355的一部分之繪圖記憶體350。此完成張貼寫入操作315並且免去CPU 305和繪圖處理子系統320之間的資料匯流排額外的操作。
在另一例子中,第一資料310可包括繪圖處理子系統320內文轉換命令。在此例中,CPU 305經由張貼寫入操作315使包括內文轉換命令的第一資料310通訊到繪圖處理子系統320。回應後,繪圖處理子系統320從系統記憶體330檢索在此例中包括內文狀態資訊之第二資料325。然後,繪圖處理子系統320使用第二資料325根據包括在第一資料310內的內文轉換命令轉換內文,藉以完成張貼寫入操作315並且免去CPU 305和繪圖處理子系統320之間的資料匯流排額外的操作。
利用統一記憶體架構實施繪圖處理子系統的另一問題是與選擇性記憶體存取相關連的高耗用時間。繪圖處理子系統通常只為少量稀少分佈的畫素而非大量比鄰區段的影像資料寫入或更新影像資料。相反地,電腦系統最佳化其系統記憶體以存取大量比鄰的區段。為了處理這些困難,諸如PCI-Express等許多資料匯流排標準除了包括被寫入記憶體的資料之外還容許包括位元組生效資料。位元組生效資料遮蔽來自被寫入到系統記憶體之一區段資料的部分。在只更新少量稀少分佈畫素的同時,使用位元組生效資料使裝置能夠發送大量的區段比鄰資料到系統記憶體。
儘管選擇性遮蔽來自被寫入到記憶體之一區段資料的部分包括位元組生效資料,但是選擇性記憶體存取仍舊需要大量的耗用時間。作為一例子,圖4A圖示根據PCI-Express標準格式化之資料的標準封包400。封包400包括標頭405和本文410。本文410包含在資料匯流排上從諸如繪圖處理子系統等一裝置通訊到諸如與電腦系統記憶體相關連的記憶體控制器等另一裝置之資料。標頭405包括導引封包400到其想要的目的地之資訊。
標準封包400的標頭405又包括位元組生效資料415。根據PCI-Express標準,位元組生效資料415是一8位元遮蔽值。位元組生效資料415使本文410中之資料的前四位元組420和資料的後四位元組425能夠根據位元組生效資料415的值選擇性被遮蔽。例如,若位元組生效資料
415中的第一位元是“0”,則本文410中的第一位元組將不被寫入到目的地裝置。相反地,將位元組生效資料415中的位元設定成“1”將使本文410中的對應位元組可寫入到目的地裝置。然而,位元組生效資料415只使本文的前四位元組420和後四位元組425的選擇性遮蔽生效。根據PCI-Express標準,本文410中之資料的中間位元組430必須全部被寫入到目的地裝置。
因為PCI-Express標準限制位元組生效資料為8位元值,所以當嘗試寫入任意遮蔽的影像資料時,繪圖處理子系統被嚴格限制。繪圖處理子系統通常需要能夠選擇性遮蔽封包本文中的任何位元組。然而,當使用標準PCI-Express封包時,繪圖處理子系統每次只能夠遮蔽達到8位元組而已。如此,在使用標準PCI-Express封包時,在需要任意位元組遮蔽時,繪圖處理子系統被侷限於具有8位元組的封包。萬一繪圖處理子系統因為較大群資料需要任意位元組遮蔽時,繪圖處理子系統必須將區段資料分成8位元組或更小的部分並且每一部分使用分開的PCI-Express封包。
使用具有8位元組本文的PCI-Express封包非常浪費資料匯流排頻寬。當典型PCI-Express標頭是20位元組長時,發送封包本文中的8位元組資料總共需要28位元組。當繪圖處理子系統因為較大群資料需要任意位元組遮蔽時會使此浪費的耗用時間更加嚴重。例如,發送具有任意位元組遮蔽之32位元組的資料群需要四個分開的PCI-Express封包,耗用總共112位元組匯流排頻寬。
圖4B圖解根據本發明的實施例在資料匯流排上容許有通訊用的任意位元組遮蔽之改良式PCI-Express封包450。PCI-Express封包容許定義賣家定義封包。假設目的地裝置能夠解釋非標準封包標頭,則賣家定義封包可具有非標準封包標頭。圖4B圖解包括非標準標頭455和本文460的賣家定義封包450。當在標準PCI-Express封包中時,本文460包含在資料匯流排上從一裝置通訊到另一裝置之資料。標頭455包括導引封包450到其想要的目的地之資訊。
非標準標頭455又包括擴充式位元組生效資料465。在一實施例中,擴充式生效資料465包括足夠位元以容許任意遮蔽本文460中的任何位元組。在另一實施例中,擴充式位元組生效資料465中的位元數目等於本文460中的位元組數目。在示範性實施例中,擴充式位元組生效資料464是32位元,容許達到本文460中的32位元組資料被選擇性遮蔽。
因為目的地裝置必須能夠適當地解釋封包450的非標準標頭455,所以本發明的實施例使用與繪圖處理子系統相關連的裝置驅動器以偵測可與電腦系統Northbridge或與CPU成一整體之電腦的系統記憶體控制器是否與封包450的非標準標頭455相容。若系統記憶體控制器可相容,則繪圖處理子系統被指示選擇性遮蔽寫入到系統記憶體的資料使用封包450的格式。相反地,若系統記憶體控制器無法相容,則裝置驅動器指示繪圖處理子系統為選擇性遮蔽寫入到系統記憶體的資料使用標準PCI-Express封包400的格式。
圖5A及5B圖解根據本發明的實施例組織系統記憶體中的顯示資訊以改良描繪性能之系統。典型上兩次元影像資料陣列已經排列在系統中或繪圖記憶體中當作一組末端到末端連接的列或行。例如,記憶體中的頁框緩衝器將為影像中的第一列畫素開始所有影像資料,接著為影像中的第二列畫素開始所有影像資料,然後為影像中的第三列畫素開始所有影像資料等等。
雖然影像資料的排列簡化將影像中的兩次元座標轉換成記憶體的對應位置,但是其需要額外的資料匯流排頻寬給統一的記憶體架構。繪圖處理子系統存取具有高度兩次方位的繪圖記憶。例如,繪圖處理系統可同時為都在同一列或在附近列的指定畫素和附近畫素產生影像資料。
繼續此例子,當使用上述的線性記憶體排列時,在不同列中鄰近畫素之間的系統記憶體中的距離將是幾百或幾仟位元組之遠。因為此距離大於資料匯流排封包容許的大小,尤其是上述在封包標頭中之位元組生效資料的大小限制封包本文的長度之前一實施例中,所以繪圖處理子系統必須在資料匯流排上發送許多小封包到系統記憶體以為一群鄰近畫素寫入影像資料。使用許多小封包而非一大封包所帶來的資料匯流排耗用時間減少電腦系統的性能和效率。
圖5A及5B圖解根據本發明的實施例組織系統記憶體中的顯示資訊以改良描繪性能之系統。為了控制繪圖處理子系統產生的影像資料之兩次元方位,本發明的實施例將影像資料組織成一組鋪磚。每一鋪磚包括兩次元畫素陣列的影像資料。圖5A圖解影像500的一部分。影像500被分成許多鋪磚,包括鋪磚505、510、及515。在圖5A的實施例中,每一鋪磚包括4 x 4陣列的畫素。然而,具有許多畫素的方形和非方形鋪磚可被用在其他實施例中。在圖5A中,每一畫素被標示有在影像500中畫素的列和行。例如,鋪磚505包括在每一影像500的前四列之前四畫素。
圖5B圖解根據本發明的實施例表示排列在系統記憶體中的一部分影像500之影像資料550。在此實施例中,每一鋪磚的影像資料被連續地儲存在系統記憶體中。例如,系統記憶體的部位555儲存用於鋪磚505中所有畫素之影像資料。在一實施例中,接在鋪磚505的影像資料之後是儲存用於鋪磚510中所有畫素之影像資料的系統記憶體之部位560。另一選擇是,系統記憶體的部位560可儲存用於鋪磚515中所有畫素的影像資料。
藉由儲存影像資料當作一組兩次元畫素鋪磚,可減少鄰近列的畫素之間的系統記憶體之距離,尤其是在兩畫素都駐在同一鋪磚中的例子中。結果,繪圖處理子系統經常能夠在資料匯流排上使用單一寫入操作將一組附近的畫素寫入到系統記憶體。
在另一實施例中,對繪圖處理系統及/或CPU的部位引常在系統記憶體中被排列成鋪磚的影像資料。取而代之的是,由上述的掃描線所排列的頁框緩衝器中之虛擬位址參照畫素。繪圖處理子系統的鋪磚位址轉換部位使用虛擬位址將記憶體存取請求轉換成一或多個到儲存在系統記憶體中的影像資料之鋪磚式排列的存取請求。
圖6A及6B圖解根據本發明的實施例用以存取影像資料的例子。圖6A圖解示範性影像600的一部分。示範性影像600包括鋪磚605, 610, 615,及620。區域625對應於由繪圖處理子系統存取的一組示範性畫素。在此例中,區域625覆蓋鋪磚605及610的部位。在一實施例中,使用一或多個虛擬位址參照區域625。
為了檢索對應於區域625的影像資料,繪圖處理子系統將用於參照區域625的一或多個虛擬記憶體位址轉換成一或多個系統記憶體位址。在一實施例中,鋪磚轉換表格用於在虛擬記憶體位址和系統記憶體位址之間轉換。然後,繪圖處理子系統檢索所有或部分一或多個具有想要的影像資料之鋪磚。
圖6B圖解包括上述對應於區域625的影像資料之系統記憶體600的一部分。系統記憶體600的部分包括對應於鋪磚605的影像資料605和對應於鋪磚610的影像資料610。在影像資料605內,一子組影像資料615對應於鋪磚605內的區域625之部位。同樣地,一子組影像資料620對應於鋪磚內610內的區域625之部位。
在一實施例中,繪圖處理子系統定義一或多個包括影像的請求區之鋪磚。然後,繪圖處理子系統檢索每一被定義的鋪磚並且丟棄請求區之外的影像資料。然後,影像資料的剩餘部位被繪圖處理子系統聚集成對應於影像的請求區之一組鄰近的影像資料。另一選擇是,繪圖處理子系統可只檢索每一被定義鋪磚的需要部位。在此實施例中,繪圖處理子系統可使用一些非比鄰記憶體存取檢索對應於影像的比鄰區之影像資料。
繪圖處理子系統可因為包括讀及寫影像資料以描繪影像的一些不同目的存取以鋪磚式排列儲存在系統記憶體中的影像之區域。在一實施例中,繪圖處理子系統在掃描輸出之前將顯示的影像轉移到諸如上述的區域記憶體330等區域記憶體內。本發明的另一實施例使繪圖處理子系統能夠自系統記憶體將描繪影像轉移到顯示裝置,此處理被稱作掃描輸出。掃描輸出典型上需要以精確的時間間隔將影像資料通訊到顯示裝置。若繪圖處理子系統例如由於自系統記憶體檢索影像資料產生延遲等無法在適當時間使影像資料與顯示裝置通訊,則會產生諸如撕裂等看得見的人為部分。
典型上,在一實施例中,影像資料逐列通訊到顯示裝置,繪圖處理子系統在被通訊到顯示裝置的列之前,為一或多列影像檢索影像資料。圖7A圖解此實施例的示範性應用。圖7A圖解影像700。在一實施例中,影像被分成如上述的鋪磚。繪圖處理子系統使影像700的列705通訊到顯示裝置。當列705正在與顯示裝置通訊時,繪圖處理子系統正從系統記憶體為影像700的下一列檢索影像資料,例如列710及/或列715。
圖7B圖解用於使影像資料與顯示裝置通訊之繪圖處理子系統的示範性部位730之操作。部位730包括被構製成將影像資料轉換成與顯示裝置740通訊的顯示信號之掃描輸出單元735。掃描輸出單元735輸出的顯示信號可以是數位或類比信號。
在一實施例中,掃描輸出單元從系統記憶體檢索鋪磚格式的影像資料。因為每一影像資料鋪磚包括一部分影像的兩或更多列影像資料,所以掃描輸出單元735從每一檢索的鋪磚之部分聚集想要的影像列。例如,可從一些不同鋪磚的部分聚集列705的影像資料,包括鋪磚707的影像資料760之部位745,鋪磚709的影像資料765之部位750,及鋪磚711的影像資料770之部位755。在一實施例中,不使用的檢索鋪磚部位被丟棄。
在另一實施例中,當掃描輸出單元735從一組鋪磚為指定列檢索影像資料時,掃描輸出單元735也為影像之一或多個接下來的列儲存影像資料。此減少為掃描輸出存取到系統記憶體的次數,藉以改良繪圖處理子系統的效率和性能。
圖7C圖解此另一實施例的示範性實施771之操作。在此例中,掃描輸出736從包括掃描輸出單元736想要的列之系統記憶體檢索影像資料鋪磚。掃描輸出單元從每一檢索鋪磚的適當部位聚集想要的列。例如,可從包括部位745, 750,及755等不同鋪磚的一些部位聚集列705的影像資料。
當從一些鋪磚的部位聚集想要的列之影像資料時,一或多個接下來的列之影像資料被儲存在一或多個掃描線快取記憶體。例如,在想要的列之後的第一列之影像資料(例如列710)被儲存在掃描線快取記憶體790。第一接下來的列之影像資料可包括鋪磚部位772, 774,及776。同樣地,第二接下來的列之影像資料(包括鋪磚部位778及780)被儲存在掃描線快取記憶體788中。第三接下來的列之影像資料(包括鋪磚部位782, 783,及784)被儲存在掃描線快取記憶體785。
如此,就接下來的列而言,掃描線單元736可從適當掃描線快取記憶體為下一想要的列檢索影像資料。在一實施例中,具有對應於一影像鋪磚中的每一影像資料列之掃描線快取記憶體,使得掃描線單元735只需要一次從系統記憶體為指定影像讀取每一鋪磚。另一實施例可具有更少的掃描線快取記憶體以減少繪圖處理子系統的複雜性。
本發明設置能夠使用系統記憶體當作其用於描繪和掃描輸出影像的繪圖記憶體之繪圖處理子系統。雖然已參照電腦繪圖子系統說明本發明,但是本發明可應用於電腦系統的其他組件,包括聲頻組件和通訊組件。本發明已討論有關其特定例子和實施例;然而,這些僅作為本發明的圖解說明並非限制。如此,本發明的範疇應只由申請專利範圍加以決定。
100...電腦系統
105...中央處理單元
110...記憶體
115...儲存體
120...使用者輸入裝置
125...網路介面
130...繪圖子系統
135...繪圖處理單元
140...顯示記憶體
145...附加記憶體
150...顯示裝置
155...附加繪圖處理單元
160...資料匯流排
165...繪圖輔助運算器
200...電腦系統
205...中央處理單元
210...第一資料
215...張貼寫入操作
220...繪圖處理子系統
225...第二資料
230...系統記憶體
235...請求
240...回應
245...寫入
250...繪圖記憶體
300...電腦系統
305...中央處理單元
310...第一資料
315...張貼寫入操作
320...繪圖處理子系統
325...第二資料
330...區域記憶體
335...請求
340...回應
345...寫入
350...繪圖記憶體
355...系統記憶體
400...封包
405...標頭
410...本文
415...位元組生效資料
420...前四位元組
425...後四位元組
430...中間位元組
450...改良式PCI-Express封包
455...非標準標頭
460...本文
465...擴充式位元組生效資料
500...影像
505...鋪磚
510...鋪磚
515...鋪磚
550...鋪影像資料
555...部位
560...部位
600...示範性影像
605...鋪磚
610...鋪磚
615...鋪磚
620...鋪磚
625...區域
700...影像
705...列
707...鋪磚
709...鋪磚
710...列
711...鋪磚
715...列
730...示範性部位
735...掃描輸出單元
736...掃描輸出單元
740...顯示裝置
745...部位
750...部位
755...部位
760‧‧‧影像資料
765‧‧‧影像資料
770‧‧‧影像資料
771‧‧‧示範性實施
772‧‧‧鋪磚
774‧‧‧鋪磚
776‧‧‧鋪磚
778‧‧‧鋪磚部位
780‧‧‧鋪磚部位
782‧‧‧鋪磚部位
783‧‧‧鋪磚部位
784‧‧‧鋪磚部位
785‧‧‧掃描線快取記憶體
788‧‧‧掃描線快取記憶體
790‧‧‧掃描線快取記憶體
本發明將參照下列圖示加以說明,其中:圖1為適用於實施本發明的實施例之電腦系統的方塊圖;圖2為根據本發明的實施例用以防止系統死結之一般技術;圖3為根據本發明的另一實施例用以防止系統死結之一般技術;圖4A及4B為根據本發明的實施例用以在資料匯流排上選擇性存取記憶體之系統;圖5A及5B為根據本發明的實施例用以組織系統記憶體中的顯示資訊以改良描繪性能之系統;圖6A及6B為根據本發明的實施例用以存取顯示資訊之系統;及圖7A-7C為根據本發明的實施例用以輸出系統記憶體中的顯示資訊到顯示裝置之系統。
在圖式中,使用同一參照號碼表示同一組件。
200‧‧‧電腦系統
205‧‧‧中央處理單元
210‧‧‧第一資料
215‧‧‧張貼寫入操作
220‧‧‧繪圖處理子系統
225‧‧‧第二資料
230‧‧‧系統記憶體
235‧‧‧請求
240‧‧‧回應
245‧‧‧寫入
250‧‧‧繪圖記憶體
Claims (16)
- 一種繪圖處理子系統,包含:繪圖處理單元,被構製成回應描繪資料以產生用於一描繪影像的影像資料;及資料匯流排介面,耦接於繪圖處理單元以及被構製成經由資料匯流排與電腦系統的系統記憶體裝置連接;其中回應於寫入第一資料到與繪圖處理子系統相關連的繪圖記憶體之寫入操作,繪圖處理子系統被構製成檢索完成第一資料的寫入操作所需的第二資料,其中第二資料包括內文狀態資訊,以從第二資料決定系統記憶體中的第一資料之目的地,及將第一資料的寫入操作改向到系統記憶體中的第一資料之目的地,其中繪圖處理子系統,另外被構製成經由資料匯流排介面從資料匯流排的第一虛擬通道接收第一資料的寫入操作,並且使用資料匯流排的第二虛擬通道經由資料匯流排介面從系統記憶體檢索第二資料,以及其中繪圖處理子系統被構製成回應第一資料以執行內文轉換。
- 根據申請專利範圍第1項之繪圖處理子系統,其中系統記憶體中的第一資料之目的地是在被指定作與繪圖處理子系統相關連的繪圖記憶體之一部分系統記憶體內。
- 根據申請專利範圍第1項之繪圖處理子系統,另外被構製成從與繪圖處理子系統連接的區域記憶體檢索第二 資料。
- 根據申請專利範圍第1項之繪圖處理子系統,其中第二資料包器位址轉換資訊,及繪圖處理子系統被構製成將與繪圖記憶體相關連的虛擬位址轉換到系統記憶體中的對應目的地。
- 根據申請專利範圍第1項之繪圖處理子系統,另外包含:鋪磚式位址轉換單元,被構製成將對應於影像中的位置之虛擬記憶體位址轉換到系統記憶體中鋪磚式排列的影像資料內之記憶體位址。
- 根據申請專利範圍第5項之繪圖處理子系統,其中鋪磚式位址轉換單元另外被構製成回應對應於影像的比鄰部位之虛擬記憶體位址的範圍,經由資料匯流排在資料匯流排上開始複數系統記憶體存取。
- 根據申請專利範圍第6項之繪圖處理子系統,其中複數系統記憶體存取是用於系統記憶體的非比鄰部位。
- 根據申請專利範圍第1項之繪圖處理子系統,其中資料匯流排介面被構製成回應指出與系統記憶體相關連的記憶體控制器與第一資料封包類型相容之指令,使用第一資料封包類型的資料封包經由資料匯流排使第三資料與系統記憶體通訊,及回應於指出記憶體控制器與第一資料封包類型不相容的指令,使用第二資料封包類型的複數資料封包經由資料匯流排使第三資料與系統記憶體通訊。
- 根據申請專利範圍第8項之繪圖處理子系統,其中 第一資料封包類型包括擴充式位元組生效資料。
- 根據申請專利範圍第1項之繪圖處理子系統,另外包括顯示裝置控制器,被構製成使對應於描繪影像的顯示信號與顯示裝置通訊。
- 根據申請專利範圍第10項之繪圖處理子系統,其中顯示裝置控制器被構製成從與繪圖處理子系統連接的區域記憶體檢索對應於描繪影像的影像資料。
- 根據申請專利範圍第10項之繪圖處理子系統,其中顯示裝置控制器被構製成從系統記憶體檢索對應於描繪影像的影像資料。
- 根據申請專利範圍第12項之繪圖處理子系統,其中顯示裝置控制器被構製成從系統記憶體中鋪磚式排列的影像資料檢索對應於第一列描繪影像的第一影像資料並且使第一影像資料與顯示裝置通訊。
- 根據申請專利範圍第13項之繪圖處理子系統,其中顯示裝置控制器被構製成從對應於包括第一列描繪影像的一組鋪磚式描繪影像之系統記憶體檢索一組影像資料。
- 根據申請專利範圍第14項之繪圖處理子系統,其中顯示裝置控制器被構製成丟棄一組影像資料中不包括第一列影像資料的一部分。
- 根據申請專利範圍第14項之繪圖處理子系統,其中顯示裝置控制器包括被構製成儲存包括在一組鋪磚中並且對應於描繪影像的至少一額外列之第二影像資料的影像資料快取記憶體;及 其中顯示裝置控制器被構製成在檢索第一影像資料之後從影像資料快閃記憶體檢索第二影像資料並且使第二影像資料與顯示裝置通訊。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/833,694 US20050237329A1 (en) | 2004-04-27 | 2004-04-27 | GPU rendering to system memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200620151A TW200620151A (en) | 2006-06-16 |
TWI390400B true TWI390400B (zh) | 2013-03-21 |
Family
ID=35135944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094113472A TWI390400B (zh) | 2004-04-27 | 2005-04-27 | 繪圖處理子系統 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20050237329A1 (zh) |
EP (1) | EP1741089B1 (zh) |
JP (1) | JP4926947B2 (zh) |
CN (1) | CN1950878B (zh) |
CA (1) | CA2564601A1 (zh) |
DE (1) | DE602005018623D1 (zh) |
TW (1) | TWI390400B (zh) |
WO (1) | WO2005104740A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9305324B2 (en) | 2012-12-21 | 2016-04-05 | Nvidia Corporation | System, method, and computer program product for tiled deferred shading |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7961194B2 (en) | 2003-11-19 | 2011-06-14 | Lucid Information Technology, Ltd. | Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system |
US20080079737A1 (en) | 2003-11-19 | 2008-04-03 | Reuven Bakalash | Multi-mode parallel graphics rendering and display system supporting real-time detection of mode control commands (MCCS) programmed within pre-profiled scenes of the graphics-based application |
EP1687732A4 (en) | 2003-11-19 | 2008-11-19 | Lucid Information Technology Ltd | METHOD AND SYSTEM FOR A MULTIPLEXED 3D GRAPHIC PIPELINE VIA A PC BUS |
US8085273B2 (en) | 2003-11-19 | 2011-12-27 | Lucid Information Technology, Ltd | Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control |
US20090027383A1 (en) | 2003-11-19 | 2009-01-29 | Lucid Information Technology, Ltd. | Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition |
US8497865B2 (en) | 2006-12-31 | 2013-07-30 | Lucid Information Technology, Ltd. | Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS |
JP4244028B2 (ja) * | 2004-09-22 | 2009-03-25 | 株式会社ソニー・コンピュータエンタテインメント | グラフィックプロセッサ、制御用プロセッサおよび情報処理装置 |
US7551182B2 (en) * | 2005-01-18 | 2009-06-23 | Oculus Info Inc. | System and method for processing map data |
EP1846834A2 (en) | 2005-01-25 | 2007-10-24 | Lucid Information Technology, Ltd. | Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction |
US7730336B2 (en) * | 2006-05-30 | 2010-06-01 | Ati Technologies Ulc | Device having multiple graphics subsystems and reduced power consumption mode, software and methods |
US20080143731A1 (en) * | 2005-05-24 | 2008-06-19 | Jeffrey Cheng | Video rendering across a high speed peripheral interconnect bus |
US7444583B2 (en) * | 2005-05-27 | 2008-10-28 | Microsoft Corporation | Standard graphics specification and data binding |
US7619628B2 (en) * | 2005-06-24 | 2009-11-17 | Microsoft Corporation | Caching digital image data |
US7554550B2 (en) * | 2005-06-24 | 2009-06-30 | Microsoft Corporation | Non-destructive processing of digital image data |
US7535433B2 (en) * | 2006-05-18 | 2009-05-19 | Nvidia Corporation | Dynamic multiple display configuration |
US8555099B2 (en) * | 2006-05-30 | 2013-10-08 | Ati Technologies Ulc | Device having multiple graphics subsystems and reduced power consumption mode, software and methods |
US7986327B1 (en) * | 2006-10-23 | 2011-07-26 | Nvidia Corporation | Systems for efficient retrieval from tiled memory surface to linear memory display |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
TWI328198B (en) * | 2006-12-11 | 2010-08-01 | Via Tech Inc | Gpu context switching system |
TWI372352B (en) | 2008-01-04 | 2012-09-11 | Asustek Comp Inc | Method for assisting in calculation of data using display card |
US8245011B2 (en) * | 2008-02-08 | 2012-08-14 | Texas Instruments Incorporated | Method and system for geometry-based virtual memory management in a tiled virtual memory |
US8392667B2 (en) * | 2008-12-12 | 2013-03-05 | Nvidia Corporation | Deadlock avoidance by marking CPU traffic as special |
US8849190B2 (en) | 2009-04-21 | 2014-09-30 | Andrew Llc | Radio communication systems with integrated location-based measurements for diagnostics and performance optimization |
US9793982B2 (en) * | 2009-04-21 | 2017-10-17 | Commscope Technologies Llc | System for automatic configuration of a mobile communication system |
US9189242B2 (en) * | 2009-09-24 | 2015-11-17 | Nvidia Corporation | Credit-based streaming multiprocessor warp scheduling |
US8669990B2 (en) | 2009-12-31 | 2014-03-11 | Intel Corporation | Sharing resources between a CPU and GPU |
US8537169B1 (en) | 2010-03-01 | 2013-09-17 | Nvidia Corporation | GPU virtual memory model for OpenGL |
US8291146B2 (en) * | 2010-07-15 | 2012-10-16 | Ati Technologies Ulc | System and method for accessing resources of a PCI express compliant device |
CN101976183B (zh) * | 2010-09-27 | 2012-02-22 | 广东威创视讯科技股份有限公司 | 一种多窗口图像同时更新时图像更新的方法及装置 |
US8683135B2 (en) * | 2010-10-31 | 2014-03-25 | Apple Inc. | Prefetch instruction that ignores a cache hit |
CN102096897B (zh) * | 2011-03-17 | 2012-05-02 | 长沙景嘉微电子有限公司 | 基于分块渲染的gpu中块存储策略的实现 |
JP5800565B2 (ja) * | 2011-05-11 | 2015-10-28 | キヤノン株式会社 | データ転送装置及びデータ転送方法 |
CN102270095A (zh) * | 2011-06-30 | 2011-12-07 | 威盛电子股份有限公司 | 多重显示器控制方法及其系统 |
US8830246B2 (en) * | 2011-11-30 | 2014-09-09 | Qualcomm Incorporated | Switching between direct rendering and binning in graphics processing |
US9495721B2 (en) * | 2012-12-21 | 2016-11-15 | Nvidia Corporation | Efficient super-sampling with per-pixel shader threads |
EP2775695B1 (en) * | 2013-03-07 | 2016-08-17 | ABB Schweiz AG | Mobile device with context specific transformation of data items to data images |
US9626735B2 (en) | 2013-06-24 | 2017-04-18 | Intel Corporation | Page management approach to fully utilize hardware caches for tiled rendering |
US8719374B1 (en) | 2013-09-19 | 2014-05-06 | Farelogix, Inc. | Accessing large data stores over a communications network |
GB2521155B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
GB2521151B (en) | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
JP6291934B2 (ja) * | 2014-03-18 | 2018-03-14 | 日本電気株式会社 | 情報処理装置、描画方法、及びプログラム |
CN105427236A (zh) * | 2015-12-18 | 2016-03-23 | 魅族科技(中国)有限公司 | 一种图像渲染方法及装置 |
CN105678680A (zh) * | 2015-12-30 | 2016-06-15 | 魅族科技(中国)有限公司 | 一种图像处理的方法和装置 |
US10282808B2 (en) * | 2016-05-27 | 2019-05-07 | Intel Corporation | Hierarchical lossless compression and null data support |
US10417733B2 (en) * | 2017-05-24 | 2019-09-17 | Samsung Electronics Co., Ltd. | System and method for machine learning with NVMe-of ethernet SSD chassis with embedded GPU in SSD form factor |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3548648B2 (ja) * | 1996-02-06 | 2004-07-28 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置及び描画方法 |
US6104417A (en) * | 1996-09-13 | 2000-08-15 | Silicon Graphics, Inc. | Unified memory computer architecture with dynamic graphics memory allocation |
US5907330A (en) * | 1996-12-18 | 1999-05-25 | Intel Corporation | Reducing power consumption and bus bandwidth requirements in cellular phones and PDAS by using a compressed display cache |
US6195734B1 (en) * | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6075546A (en) * | 1997-11-10 | 2000-06-13 | Silicon Grahphics, Inc. | Packetized command interface to graphics processor |
US6275243B1 (en) * | 1998-04-08 | 2001-08-14 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
US7130958B2 (en) * | 2003-12-02 | 2006-10-31 | Super Talent Electronics, Inc. | Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes |
JP4906226B2 (ja) * | 2000-08-17 | 2012-03-28 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | マルチプロセッサコンピュータシステムにおいて、ポストされたリクエストのための別個のバーチャルチャネルを実現するためのシステムおよび方法 |
US20020083254A1 (en) * | 2000-12-22 | 2002-06-27 | Hummel Mark D. | System and method of implementing interrupts in a computer processing system having a communication fabric comprising a plurality of point-to-point links |
US6847370B2 (en) * | 2001-02-20 | 2005-01-25 | 3D Labs, Inc., Ltd. | Planar byte memory organization with linear access |
US6665788B1 (en) * | 2001-07-13 | 2003-12-16 | Advanced Micro Devices, Inc. | Reducing latency for a relocation cache lookup and address mapping in a distributed memory system |
US7009618B1 (en) * | 2001-07-13 | 2006-03-07 | Advanced Micro Devices, Inc. | Integrated I/O Remapping mechanism |
US7376695B2 (en) * | 2002-03-14 | 2008-05-20 | Citrix Systems, Inc. | Method and system for generating a graphical display for a remote terminal session |
-
2004
- 2004-04-27 US US10/833,694 patent/US20050237329A1/en not_active Abandoned
-
2005
- 2005-04-26 JP JP2007510913A patent/JP4926947B2/ja active Active
- 2005-04-26 DE DE602005018623T patent/DE602005018623D1/de active Active
- 2005-04-26 EP EP05739859A patent/EP1741089B1/en active Active
- 2005-04-26 WO PCT/US2005/014368 patent/WO2005104740A2/en not_active Application Discontinuation
- 2005-04-26 CN CN2005800135116A patent/CN1950878B/zh not_active Expired - Fee Related
- 2005-04-26 CA CA002564601A patent/CA2564601A1/en not_active Abandoned
- 2005-04-27 TW TW094113472A patent/TWI390400B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9305324B2 (en) | 2012-12-21 | 2016-04-05 | Nvidia Corporation | System, method, and computer program product for tiled deferred shading |
Also Published As
Publication number | Publication date |
---|---|
TW200620151A (en) | 2006-06-16 |
CN1950878B (zh) | 2010-06-16 |
DE602005018623D1 (de) | 2010-02-11 |
EP1741089A2 (en) | 2007-01-10 |
WO2005104740A3 (en) | 2006-09-21 |
JP2007535006A (ja) | 2007-11-29 |
JP4926947B2 (ja) | 2012-05-09 |
EP1741089B1 (en) | 2009-12-30 |
WO2005104740A2 (en) | 2005-11-10 |
CN1950878A (zh) | 2007-04-18 |
CA2564601A1 (en) | 2005-11-10 |
EP1741089A4 (en) | 2008-01-16 |
US20050237329A1 (en) | 2005-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI390400B (zh) | 繪圖處理子系統 | |
US7289125B2 (en) | Graphics device clustering with PCI-express | |
JP5632891B2 (ja) | インライン画像回転 | |
US5990902A (en) | Apparatus and method for prefetching texture data in a video controller of graphic accelerators | |
CN1213374C (zh) | 靠近局部输入/输出总线的桥接器中的输入/输出地址转换装置及方法 | |
US6104418A (en) | Method and system for improved memory interface during image rendering | |
US6801219B2 (en) | Method and apparatus using a two-dimensional circular data buffer for scrollable image display | |
JP3350043B2 (ja) | 図形処理装置及び図形処理方法 | |
US7079160B2 (en) | Method and apparatus using a two-dimensional circular data buffer for scrollable image display | |
US6097402A (en) | System and method for placement of operands in system memory | |
JP2000112791A (ja) | アドレス空間内のロ―カリティを視覚化する方法及び装置 | |
US7397477B2 (en) | Memory system having multiple address allocation formats and method for use thereof | |
US6639603B1 (en) | Hardware portrait mode support | |
JP2006003892A (ja) | ディスプレー・コントローラを用いて画像回転モードを効率的にサポートするシステムおよび方法 | |
JP5327482B2 (ja) | 画像処理装置及び画像処理方法 | |
KR20040090392A (ko) | 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체 | |
JP2000011190A (ja) | 画像処理装置 | |
KR100297716B1 (ko) | 높은멀티비트자유도의반도체메모리장치 | |
US6425020B1 (en) | Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry | |
JP2003132347A (ja) | 画像処理装置 | |
JPH0361199B2 (zh) | ||
US20050134597A1 (en) | Hardware display rotation | |
JPS58136093A (ja) | 表示制御装置 | |
JP4835872B2 (ja) | 画像処理装置 | |
CN1189840C (zh) | 图像处理设备和计算机系统 |