TWI322354B - Method and system for deferred command issuing in a computer system - Google Patents

Method and system for deferred command issuing in a computer system Download PDF

Info

Publication number
TWI322354B
TWI322354B TW095138039A TW95138039A TWI322354B TW I322354 B TWI322354 B TW I322354B TW 095138039 A TW095138039 A TW 095138039A TW 95138039 A TW95138039 A TW 95138039A TW I322354 B TWI322354 B TW I322354B
Authority
TW
Taiwan
Prior art keywords
command
event flag
event
returned
processor
Prior art date
Application number
TW095138039A
Other languages
English (en)
Other versions
TW200708971A (en
Inventor
Zhang Geofeng
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200708971A publication Critical patent/TW200708971A/zh
Application granted granted Critical
Publication of TWI322354B publication Critical patent/TWI322354B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)

Description

1,322354 九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種電腦的中央處理單元(CPU)與 • 週邊處理單元之間的同步,特別是有關於一種命令發出'的 定時。 【先前技^标】 • 在現代電腦系統中,每個週邊功能模組(如音頻或視 頻)具有它自己的專用處理子系統’並且這些子系統的操 . 作典型地要求電腦的中央處理單元(CFU)的直接控制 此外’子系統的部件之間的通信與同步典型地是通過硬體 連接實現的。例如,在具有兩個或更多圖形處理單元(Gpu) 的高級圖形處理子系統中,CPU不得不頻繁地評估GPU 的狀態,並且只有當前一或當前命令結束時,才能發出下 一提供的(rendering)命令。在其他情況下,當CPU在使 • 用多線程技術為GPU進行某些計算時,gpu在執行需要 來自cpu的結果的命令之前,可能不得不等待cpu完成 • e十鼻。當一個GPU向另一 GPU睛求資料時,必須在cpu . 的控制下通過直接硬體連接或匯流排進行傳輸,於是cpu 在執行後繼命令之前,不得不等待資料傳輸完成。不管是 CPU等待GPU還是反過來,等待時間都是一種浪費,並且 降低了電腦的整體性能。 因此,期望電腦系統能夠盡可能地將硬等待與CPU的 操作分開。
Client's Docket No.S3U05-0045I00-TW TT's Docket No:0608-A41014-TW/Final /Joanne ς 1322354 第1圖顯不出傳統電腦糸統的部分不意圖。在電腦糸 統100中,週邊設備驅動程式110僅僅是程式,功能在本 質上類似使用說明,其為作業系統提供關於如何控制和與 外圍子系統140的專用處理器120和130通信的資訊的指 '令。驅動程式110沒有任何由一個或多個中央處理器 (CPU) 150替代執行的控制功能。透過硬體連接160或 者透過匯流排170,進行專用處理器120與130之間的通 信。 【發明内容】 考慮到上述情況,本發明提供一種方法和系統來移除 CPU的一些等待時間、以及週邊處理單元的一些空閒時 間。換句話說,它增加處理器之間的並行度。 一種在具有多個週邊處理器的電腦系統中使用延遲命 令發出的方法和系統,所述多個週邊處理器與嵌入一個或 多個中央處理器中的週邊設備驅動程式進行操作。在週邊 • 設備驅動程式發出具有第一事件標記的第一命令之後,週 邊設備驅動程式在發出第一命令之後,生成用於第一週邊 - 處理器的第二命令。如果第一和第二命令需要被同步,則 . 儲存第二命令,等待返回第一事件標記,並且當返回第一 事件標記時,發出第二命令。 為讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳 細說明如下:
Client’s Docket NO.S3U05-0045I00-TW TT's Docket No:0608-A41014-TW/Final /Joanne 1322354 【實施方式】 第2圖顯示出多處理器電腦系統的部分示意圖。電腦 系統200具有嵌入一個或多個中央處理器220中的驅動程 式210。這裏,“嵌入,,的意思是驅動程式實際上運行在 CPU中,並且使用了一些cpu處理能力,從而驅動程式可 以產生儲存在缓衝器中的命令,當需要與其他命令同步時 分配事件標記,發出命令並且監視事件標記的返回,而完 全沒有CPU硬等待。這樣的驅動程式實現不需要大規模的 硬體支援’因此它也是節省成本的。 電腦系統200還採用命令缓衝器230,後者儲存驅動 程式210發送的即時命令。命令缓衝器23〇可以僅僅是主 記憶體290中的儲存空間,或者是位於任何地方的另一記 憶體,並且可以由驅動程式210動態地分配。利用中央處 理器220的處理能力,驅動程式21〇指揮將命令緩衝到命 令緩衝器230中和以後從命令缓衝器230中發出命令,以 及指揮專用處理器240和250與中央處理器220之間的同 步。專用處理器可以是專用於圖形操作的處理器,稱為圖 形處理單元(GPU)。 第3圖顯示出根據本發明一個實施例的cpu、暫存器 與專用處理器之間的命令流的圖。為了說明的目的,提供 了更多關於命令緩衝的細節。嵌入的驅動程式32〇連同事 件標記一起生成命令,然後將其有選擇地發送到命令緩衝 器330和340。專用處理器350的命令和事件標記被送到 命令緩衝器330,而專用處理器360的命令和事件標記被
Client’s Docket No.S3U05>0045I00-TW TT's Docket No:0608-A41014-TW/Final /Joanne 7 送到命令緩衝器340,從而可以獨立和同時發出不同專用 處理器的命令。當當前命令需要與另-命令執行同步時, ,動程式320伴隨著當前命令生成事件標記。處理器,不 管是週邊專用處理器350和360、還是中央處理器300,都 執打它們相應的命令,並且在執行完成後返回事件標記(如 果有的話)。它們之間存在通過通信建立的多種控制機制。 例如,中央處理器300可以在其操作中控制這兩個暫存器。 第4A圖顯示了圖形驅動程式32〇如何與Gpu* cpu 同步命令發出的詳細流程圖。這裏,驅動程式32〇在步驟 410A到470A中連續生成命令塊而沒有在cpu側的任何延 遲。這些命令中的一些在被送到Gpu執行之前,要被儲存 在命令緩衝器中。例如,命令塊[η—ηΜΟΑ具有到第一 Qpu 的、請求返回事件標記[i]的命令。第一 GPU將在命令塊 [n-l]410A完成後返回事件標記⑴。在檢測到事件標記⑴ 後,驅動程式320於是可以從命令缓衝器中發出需要與命 令塊[n-l]410A同步的另一命令。這樣,消除了 cpu對同 步事件的硬等待。術語“延遲命令發出,,泛指該命令緩衝 過程。 第4A圖還顯示出需要與另一 CPU線程同步的命令塊 [n+m]440A以及需要與第二Gpu同步的命令塊 [n+m+k]470A。在這兩種情況中,驅動程式320的儲存命 令、檢查事件標記和發出命令的操作與上面第一 GPU情況 中的相同。 在每個命令塊中,驅動程式320執行特定副程式,如
Client's Docket No.S3U05-0045I00-TW TT^ Docket No:0608-A41014-TW/Final /Joanne 1322354 生成新命令和相關事件標記(如果需要的話),檢查返回 的事件標記,缓衝新命令,以及發出緩衝的命令,或者如 果沒有待決的事件標記的話直接發出新命令。這些副程式 可以以各種順序執行。圖4B、4C和4D是執行這些副程式 的三個例子。 參照第3和4B圖,驅動程式320首先在步驟410B中 生成當前命令,然後在步驟420B中檢查任何返回的事件 標記。如果存在返回的事件標記,並且如果相關的命令在 暫存器中,則驅動程式320將緩衝的命令與其自己的事件 標記(如果有的話)一同發出,如步驟430B和440B中所 示。這裏,“相關”的意思是指在緩衝的命令與向暫存器 返回事件標記的前一命令之間存在同步需要。如果相關命 令不在暫存器中,則驅動程式320在步驟450B中檢查當 前命令是否與返回的事件標記相關。如果是的話,則它發 出當前命令(步驟470B),否則,它緩衝當前命令(步驟 480B)。 另一方面,如果暫存器中不存在返回的事件標記,則 驅動程式320在步驟460B中檢查任何待決事件標記。在 存在當前命令發出將依賴或相關的待決事件標記的情況 下,則驅動程式320缓衝當前命令(步驟480B)。在不存 在待決相關事件標記的情況下,驅動程式320直接發出當 前命令。要注意,在所有命令緩衝或發出的情況中,相關 的事件標記(如果存在的話)也連同命令一起被緩衝或發 出。
Client's Docket No.S3U05-0045I00-TW TT5s Docket No:0608-A41014-TW/Final /Joanne 9 第4C圖顯示出根據本發明另一實施例的另一副程 式,其中驅動程式320首先在步驟410C中檢查任何返回 的事件標記。如果存在返回的事件標記,並且如果相關的 命令在暫存器中,則驅動程式320發出緩衝的命令(步驟 430C)。如果不存在返回的事件標記(步驟410C),或者 暫存器中不存在相關命令(步驟420C),則驅動程式320 生成當前命令(步驟445C)。如果當前命令與任何返回的 事件標記相關(步驟450C),則驅動程式發出當前命令(步 驟480C)。如果當前命令不與任何返回的事件標記相關, 則它還檢查是否存在任何與當前命令相關的待決事件標記 (步驟460C)。在存在待決的相關事件標記的情況下,驅 動程式320將當前命令與其事件標記(如果有的話)一同 缓衝(步驟470C),否則驅動程式320發出當前命令與其 事件標記(如果存在的話)(步驟480C)。上述事件標記 檢查過程可以僅限於那些以前向其發送了命令與事件標記 的處理器。 在第4B和4C圖所顯示的兩種情況下,作為替代,如 果存在任何待決的事件標記,則總是緩衝當前命令。如果 驅動程式320只檢查事件標記暫存器,則在待決事件標記 返回之前,驅動程式320事實上沒有辦法知道它是否與新 生成的當前命令相關。因此如果存在任何待決的事件標 記,那麼需要緩衝當前命令。 第5 A和5B圖是顯示出減少CPU等待時間和GPU空 閒時間的延遲命令發出的時序圖。第5A圖顯示不採用延
Client’s Docket NO.S3U05-0045I00-TW TT*s Docket No:0608-A41014-TW/Final /Joanne 10 1.322354 遲命令發出過程的情形。在這種情況下,CPU在時隙 500A、510A和520A中分別生成用於第一 GPU(或GPU1) 在時隙550A、560A和570A中的命令。在時隙502A、512A 和522A中生成的命令分別是用於第二GPU (或GPU2)在 時隙552A、562A和572A中。由於沒有採用命令緩衝過程, 因此只有當當前GPU操作完成時才能生成和發出後繼命 令。例如,時隙510A只能在時隙552A之後開始,類似地, 時隙520A只能在時隙562A之後開始。在之前發出的命令 被執行期間,CPU不得不等待。如圖所示,兩個相鄰時隙 之間的時間間隔為CPU等待時間或GPU空閒時間。例如, 510A和502A之間的間隔是CPU的等待時間,而560A和 550A之間的間隔是GPU1的空閒時間。 與第5A圖相對比,第5B圖顯示出在採用延遲命令發 出過程以允許CPU連續生成命令到命令緩衝器、而不必等 待任何GPU完成命令執行的情形下的時序關係。在這種情 況下,CPU在時隙500B、510B和520B中分別生成用於 GPU1在時隙550B、560B和570B中的命令。在時隙502B、 512B和522B中生成的命令分別是用於GPU2在時隙 552B、562B和572B中。如圖所示,CPU命令生成時隙510B 被上提到緊跟時隙502B的完成,而在GPU2時隙552B結 束之前。但是在時隙520B的CPU的第五命令仍然等待時 隙552B結束,這是因為該特定命令與GPU2執行之間存在 同步需要,在530B的命令和在562B的GPU2執行也是如 此。在這樣的命令處理系統中,尤其是對於採用這樣的延
Client's Docket No.S3U05-0045I00-TW TT’s Docket No:0608-A41014-TW/Final /Joanne 遲命令發出過程的圖形系統,由於後繼命令已經被生成並 在命令緩衝器中等待GPU執行,因此獲得了好處。另一方 面’ GPU不需要等待cpu生成命令,並且可以在當前命令
結束之後執行下一命令。這在GPU2在時隙562B和572B 的情況中進一步示出,其中GPU2沒有空閒時間。基於同 樣的原因’時隙570B和560B之間的GPU1空閒時間也減 少。 為了量化通過採用的延遲命令發出過程而節省的時 間’如果假設CPU命令生成時間為Y ,炎且GPU1和 GPU2的執行時間分別為T1和T2 (為了容易估計’假設 Tl<T2),如圖5A所示,不使用延遲命令發出的系統花費 +3*t_來完成三個命令週期。圖5B的具有延遲命令發 出的系統將三週期的時間縮短到3*T2+t。因此,對於三個 週期,節省的時間為2*t。一般地說,對於n個命令週期, 節省(n-l)*t。 圖5A與5B之間的比較還顯示出gpu空閒時間的節 省。在圖5A中,時隙56〇A與57〇A之間的Gpui空閒時 間為T2-Tl+t,並且GPU2空閒時間為t。在圖5B中,對 應時隙之間的GPU1空閒時間變為T2-T1,戒者說節省了 t。GPU2空閒時間完全被消除,也節省了 p 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何所屬技術領域中具有通常知識者,在不 脫離本發明之精神和範圍内,當可作些許之更動與潤飾, 因此本發明之保濩範圍當視後附之申請專利範園所界定者
Client’s Docket No.S3U05-0045I00-TW TT's Docket N〇:0608-A41014-TW/FinaI /Joanne 12 1322354 為準。 【圖式簡單說明】 ‘第1圖是傳統電腦系統的部分的框圖。 • 第2圖是根據本發明一個實施例的電腦系統的部分的 框圖。 第3圖顯示出根據本發明一個實施例的命令和事件標 記流。 • 第4A圖顯示出根據本發明一個實施例的命令塊生成 和同步機制的流程圖。 第4B、4C和4D圖顯示出根據本發明一個實施例的每 個命令塊執行中的三個不同的驅動副程式的流程圖。 第5A和5B圖顯示出根據本發明一個實施例的延時命 令發出的省時效果的命令時序圖。 【主要元件符號說明】 馨 100、200 ··電腦系統; 110、210、320 :驅動程式; 120、130、240、250、350、360 :專用處理器; 140、260 :外圍子系統; 150、220 :中央處理器; 160 :硬體連接; 170、280 ··匯流排; 180、290 :主記憶體; 230、330、340 :命令缓衝器;
Client’s Docket NO.S3U05-0045I00-TW TT's Docket No:0608-A41014-TW/Final /Joanne 1322354
300 :多線程中央處理器; 410A〜470A、410B〜480B、410C~480C :步驟; 500A〜572A、500B〜572B :時隙。
Client's Docket No.S3U05-0045I00-TW TT's Docket No:0608-A41014-TW/Final /Joanne

Claims (1)

1322354 十、申請專利範圍: 1 · 一種在具有一個或多個專用處理器的電腦系統中延 遲命令發出的方法,所述一個或多個專用處理器用運行在 一個或多個中央處理器上的設備驅動程式進行操作,該方 ' 法包括: 週邊設備驅動程式發出第一命令與第一事件標記; 週邊設備驅動程式在發出第一命令之後,生成用於第 一週邊處理器的第二命令; # 儲存第二命令,等待返回第一事件標記;以及 當返回第一事件標記時,發出第二命令。 2·如申請專利範圍第1項所述的方法,其中,所述儲 存第二命令的步驟還包括:將第二命令儲存在與第一處理 器相關的暫存器中。 3 ·如申請專利範圍第2項所述的方法,還包括: 生成用於第二處理器的第三命令;以及 將第三命令儲存在與其相關的暫存器中。 • 4.如申請專利範圍第3項所述的方法,其中,與第一 和第二處理器相關的暫存器是不同的。 ' 5 ·如申請專利範圍第1項所述的方法,還包括:檢查 ' 生成的第二命令是否與第一命令相關,要求在第二命令發 出前返回第一事件標記。 6·如申請專利範圍第5項所述的方法,其中,所述檢 查步驟還包括: 檢查第一事件標記是否已返回;以及 Client’s Docket NO.S3U05-0045I00-TW TT’s Docket No:0608-A41014-TW/Final /Joanne 15 1322354 如果還未返回第一事件標記,並且如果第一事件標記 與第二命令相關,則檢查第一事件標記是否是待決的。 7·如申請專利範圍第6項所述的方法,其中,所述檢 查第一事件標記是否已返回的步驟是在生成第二命令之後 執行的。 8 ·如申請專利範圍第6項所述的方法,其中,所述檢 查第一事件標記是否已返回的步驟是在生成第二命令之前 執行的。 9 · 一種在具有多個圖形處理器的電腦系統中延遲命令 發出的方法,所述多個圖形處理器用嵌入多線程中央處理 器中的圖形驅動程式進行操作,該方法包括: 圖形驅動程式發出第一命令與第一事件標記; 圖形驅動程式在發出第一命令之後,生成用於電腦系 統的第一處理器的第二命令; 儲存第二命令,等待返回第一事件標記;以及 當返回第一事件標記時,發出第二命令。 10 ·如申請專利範圍第9項所述的方法,其中,所述 儲存第二命令的步驟還包括:將第二命令儲存在與第一處 理器相關的暫存器中。 11 ·如申請專利範圍第10項所述的方法,還包括: 生成到第二處理器的第三命令;以及 將第三命令儲存在與其相關的暫存器中。 12.如申請專利範圍第11項所述的方法,其中,與第 一和第二處理器相關的暫存器是不同的。 Client's Docket No.S3U05-0045I00-TW TT's Docket No:0608-A410I4-TW/Final /Joanne 1.322354 13 ·如申請專利範圍第9項所述的方法,還包括:檢 查生成的第二命令是否需要等待第一事件標記返回。 14 ·如申請專利範圍第13項所述的方法,其中,所述 檢查步驟還包括: 檢查第一事件標記是否已返回;以及 如果還未返回第一事件標記,則檢查第一事件標記是 否是待決的。 15 ·如申請專利範圍第14項所述的方法,其中,所述 • 檢查第一事件標記是否已返回的步驟是在生成第二命令之 後執行的。 16.如申請專利範圍第14項所述的方法,其中,所述 檢查第一事件標記是否已返回的步驟是在生成第二命令之 前執行的。 17 · —種在高級電腦系統中支援延遲命令發出的系 統,該系統包括: 多線程中央處理單元CPU ; ® 具有多個圖形處理單元的圖形子系統; 至少一個命令緩衝器,用於儲存命令和相關事件標 記;和 嵌入CPU中的圖形驅動程式,用於生成要儲存在命令 緩衝器中的命令,當需要同步時分配事件標記,控制命令 發出並監視事件標記返回。 Client’s Docket NO.S3U05-0045I00-TW TT's Docket No:0608-A41014-TW/Final /Joanne 17
TW095138039A 2005-10-18 2006-10-16 Method and system for deferred command issuing in a computer system TWI322354B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US72766805P 2005-10-18 2005-10-18

Publications (2)

Publication Number Publication Date
TW200708971A TW200708971A (en) 2007-03-01
TWI322354B true TWI322354B (en) 2010-03-21

Family

ID=38214146

Family Applications (4)

Application Number Title Priority Date Filing Date
TW095138039A TWI322354B (en) 2005-10-18 2006-10-16 Method and system for deferred command issuing in a computer system
TW095138470A TWI329845B (en) 2005-10-18 2006-10-18 Transparent multi-buffering in multi-gpu graphics subsystem
TW095138471A TWI328779B (en) 2005-10-18 2006-10-18 Event memory assisted synchronization in multi-gpu graphics subsystem
TW095138378A TWI354240B (en) 2005-10-18 2006-10-18 Method and system for synchronizing parallel engin

Family Applications After (3)

Application Number Title Priority Date Filing Date
TW095138470A TWI329845B (en) 2005-10-18 2006-10-18 Transparent multi-buffering in multi-gpu graphics subsystem
TW095138471A TWI328779B (en) 2005-10-18 2006-10-18 Event memory assisted synchronization in multi-gpu graphics subsystem
TW095138378A TWI354240B (en) 2005-10-18 2006-10-18 Method and system for synchronizing parallel engin

Country Status (3)

Country Link
US (4) US7889202B2 (zh)
CN (4) CN100489820C (zh)
TW (4) TWI322354B (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8056093B1 (en) * 2006-12-07 2011-11-08 Nvidia Corporation Asynchronous kernel processing for a graphics processing system
US8390631B2 (en) * 2008-06-11 2013-03-05 Microsoft Corporation Synchronizing queued data access between multiple GPU rendering contexts
US8368701B2 (en) * 2008-11-06 2013-02-05 Via Technologies, Inc. Metaprocessor for GPU control and synchronization in a multiprocessor environment
US8531471B2 (en) * 2008-11-13 2013-09-10 Intel Corporation Shared virtual memory
US9075559B2 (en) 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US9135675B2 (en) 2009-06-15 2015-09-15 Nvidia Corporation Multiple graphics processing unit display synchronization system and method
CN101930719A (zh) * 2009-06-18 2010-12-29 辉达公司 自动切换显示器场景模式的方法及系统
JP2011048579A (ja) * 2009-08-26 2011-03-10 Univ Of Tokyo 画像処理装置及び画像処理方法
US8803897B2 (en) * 2009-09-03 2014-08-12 Advanced Micro Devices, Inc. Internal, processing-unit memory for general-purpose use
US8305380B2 (en) * 2009-09-09 2012-11-06 Advanced Micro Devices, Inc. Managing resources to facilitate altering the number of active processors
US20110063304A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation Co-processing synchronizing techniques on heterogeneous graphics processing units
US20110084982A1 (en) * 2009-10-12 2011-04-14 Sony Corporation Apparatus and Method for Displaying Image Data With Memory Reduction
US8514235B2 (en) * 2010-04-21 2013-08-20 Via Technologies, Inc. System and method for managing the computation of graphics shading operations
CN102497591B (zh) * 2011-11-11 2015-02-18 青岛海信移动通信技术股份有限公司 一种终端以及该终端与电视进行无线传屏的方法
US8692832B2 (en) * 2012-01-23 2014-04-08 Microsoft Corporation Para-virtualized asymmetric GPU processors
US9256915B2 (en) * 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
KR101308102B1 (ko) * 2012-02-24 2013-09-12 (주)유브릿지 휴대 단말 및 그 제어 방법
US8847970B2 (en) 2012-04-18 2014-09-30 2236008 Ontario Inc. Updating graphical content based on dirty display buffers
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
CN102750665B (zh) * 2012-06-01 2014-09-24 上海鼎为电子科技(集团)有限公司 一种图形处理方法、图形处理装置及移动终端
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
US9507961B2 (en) * 2013-07-01 2016-11-29 Qualcomm Incorporated System and method for providing secure access control to a graphics processing unit
TWI507981B (zh) * 2013-07-05 2015-11-11 Phison Electronics Corp 指令執行方法、連接器與記憶體儲存裝置
US9818379B2 (en) 2013-08-08 2017-11-14 Nvidia Corporation Pixel data transmission over multiple pixel interfaces
US9916634B2 (en) * 2015-06-12 2018-03-13 Intel Corporation Facilitating efficient graphics command generation and execution for improved graphics performance at computing devices
JP6580380B2 (ja) * 2015-06-12 2019-09-25 オリンパス株式会社 画像処理装置および画像処理方法
CN106600521A (zh) * 2016-11-30 2017-04-26 宇龙计算机通信科技(深圳)有限公司 一种图像处理方法及终端设备
CN107223264B (zh) * 2016-12-26 2022-07-08 达闼机器人股份有限公司 一种渲染方法及装置
KR101969219B1 (ko) * 2017-04-27 2019-04-15 재단법인대구경북과학기술원 빈발 패턴 마이닝 방법 및 장치
KR102098253B1 (ko) * 2018-02-13 2020-04-07 재단법인대구경북과학기술원 분산 시스템 기반 큰 규모 빈발 패턴 마이닝 시스템 및 방법
CN109300426A (zh) * 2018-03-30 2019-02-01 温州长江汽车电子有限公司 一种基于mcu的双tft屏显示系统及其显示方法
CN109743453B (zh) * 2018-12-29 2021-01-05 出门问问信息科技有限公司 一种分屏显示方法及装置
CN112231018B (zh) * 2020-12-15 2021-03-16 北京壁仞科技开发有限公司 用于卸载数据的方法、计算设备和计算机可读存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2542392B2 (ja) * 1987-07-31 1996-10-09 シャープ株式会社 文字描画装置
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5519825A (en) * 1993-11-16 1996-05-21 Sun Microsystems, Inc. Method and apparatus for NTSC display of full range animation
US5878216A (en) * 1995-05-01 1999-03-02 Intergraph Corporation System and method for controlling a slave processor
US5657478A (en) * 1995-08-22 1997-08-12 Rendition, Inc. Method and apparatus for batchable frame switch and synchronization operations
US5668958A (en) * 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US5801717A (en) 1996-04-25 1998-09-01 Microsoft Corporation Method and system in display device interface for managing surface memory
US5933155A (en) * 1996-11-06 1999-08-03 Silicon Graphics, Inc. System and method for buffering multiple frames while controlling latency
US6157395A (en) * 1997-05-19 2000-12-05 Hewlett-Packard Company Synchronization of frame buffer swapping in multi-pipeline computer graphics display systems
US6078339A (en) * 1998-02-10 2000-06-20 Intel Corporation Mutual exclusion of drawing engine execution on a graphics device
US6079013A (en) * 1998-04-30 2000-06-20 International Business Machines Corporation Multiprocessor serialization with early release of processors
US6515662B1 (en) * 1998-07-16 2003-02-04 Canon Kabushiki Kaisha Computer apparatus for providing stereoscopic views from monographic images and method
US6243107B1 (en) 1998-08-10 2001-06-05 3D Labs Inc., Ltd. Optimization of a graphics processor system when rendering images
US6724390B1 (en) * 1999-12-29 2004-04-20 Intel Corporation Allocating memory
US6747654B1 (en) * 2000-04-20 2004-06-08 Ati International Srl Multiple device frame synchronization method and apparatus
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US20020126122A1 (en) * 2001-03-12 2002-09-12 Yet Kwo-Woei Apparatus and method for minimizing the idle time of a computer graphic system using hardware controlled flipping
US6683614B2 (en) * 2001-12-21 2004-01-27 Hewlett-Packard Development Company, L.P. System and method for automatically configuring graphics pipelines by tracking a region of interest in a computer graphical display system
US6919896B2 (en) * 2002-03-11 2005-07-19 Sony Computer Entertainment Inc. System and method of optimizing graphics processing
US7015915B1 (en) * 2003-08-12 2006-03-21 Nvidia Corporation Programming multiple chips from a command buffer
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7388581B1 (en) * 2003-08-28 2008-06-17 Nvidia Corporation Asynchronous conditional graphics rendering
US7610061B2 (en) * 2003-09-20 2009-10-27 Samsung Electronics Co., Ltd. Communication device and method having a common platform
US7095416B1 (en) * 2003-09-22 2006-08-22 Microsoft Corporation Facilitating performance analysis for processing
US7545380B1 (en) * 2004-12-16 2009-06-09 Nvidia Corporation Sequencing of displayed images for alternate frame rendering in a multi-processor graphics system
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
US7383412B1 (en) * 2005-02-28 2008-06-03 Nvidia Corporation On-demand memory synchronization for peripheral systems with multiple parallel processors
US7290074B2 (en) * 2005-04-06 2007-10-30 Kabushiki Kaisha Toshiba Back-off timing mechanism

Also Published As

Publication number Publication date
CN1991903A (zh) 2007-07-04
US20070088856A1 (en) 2007-04-19
TW200821978A (en) 2008-05-16
TWI329845B (en) 2010-09-01
CN1991906A (zh) 2007-07-04
TW200708971A (en) 2007-03-01
CN1991904A (zh) 2007-07-04
CN100495435C (zh) 2009-06-03
TWI354240B (en) 2011-12-11
US7812849B2 (en) 2010-10-12
TW200821979A (en) 2008-05-16
CN100568277C (zh) 2009-12-09
CN1991903B (zh) 2010-05-12
TW200737035A (en) 2007-10-01
TWI328779B (en) 2010-08-11
US7889202B2 (en) 2011-02-15
CN101025717A (zh) 2007-08-29
CN100489820C (zh) 2009-05-20
US20070091099A1 (en) 2007-04-26
US20070091097A1 (en) 2007-04-26
US20070091098A1 (en) 2007-04-26
US7903120B2 (en) 2011-03-08

Similar Documents

Publication Publication Date Title
TWI322354B (en) Method and system for deferred command issuing in a computer system
JP5159931B2 (ja) 周波数および電圧のスケーリング・アーキテクチャ
JP5438215B2 (ja) 複数のコアおよびスレッドについてのタイムスタンプカウンタ(tsc)のオフセットの制御
US8135941B2 (en) Vector morphing mechanism for multiple processor cores
US8549258B2 (en) Configurable processing apparatus and system thereof
JP2008210107A (ja) シミュレーション方法及びシミュレーション装置
JP2009527866A (ja) アウトオブオーダープロセッサにおけるトランザクショナルメモリ
US20040133769A1 (en) Generating prefetches by speculatively executing code through hardware scout threading
JP2008003708A (ja) 映像処理エンジンおよびそれを含む映像処理システム
JPH06139189A (ja) 共有バス調停機構
US8219786B1 (en) Request coalescing for instruction streams
JPH02300852A (ja) 命令実行のシリアライズ制御方式
US9734545B2 (en) Software methods in a GPU
US7293160B2 (en) Mechanism for eliminating the restart penalty when reissuing deferred instructions
US6167529A (en) Instruction dependent clock scheme
US20040133767A1 (en) Performing hardware scout threading in a system that supports simultaneous multithreading
JP3756410B2 (ja) 述語データを提供するシステム
US20190317831A1 (en) Techniques for improved latency of thread synchronization mechanisms
TW201433981A (zh) 多核心處理器及其相關控制方法與電腦系統
JPH09212360A (ja) データ処理装置
JP3158107B2 (ja) 浮動小数点状態および制御レジスタ(fpscr)命令を直接実行するための方法および装置
JP2008217623A (ja) データプロセッサ
JP2010176403A (ja) マルチスレッドプロセッサ装置
US12056083B2 (en) Issuing instructions on a vector processor
JPH07244588A (ja) データ処理装置