專利名稱:使用多線程架構(gòu)的視覺和圖形數(shù)據(jù)處理的制作方法
技術領域:
本發(fā)明涉及視覺和圖形數(shù)據(jù)處理。本發(fā)明尤其涉及使用活動信標機制來執(zhí)行視覺和圖形數(shù)據(jù)處理操作。
背景技術:
“信標”(也稱作“臨界段”或“互斥(mutex) ”)是硬件和軟件結(jié)構(gòu),它允許其中多進程爭奪共享資源(例如,存儲器、文件)的操作的協(xié)調(diào)或同步。一般,信標是存儲在操作系統(tǒng)存儲器中的指定位置中的值,該值可由進程檢查和改變?;谛艠说闹?,進程可訪問共享資源或等待一段時間并再次檢查該信標。常規(guī)計算機系統(tǒng)中的信標通常實現(xiàn)為使用原子“測試和設定”或類似類型的指令 (例如,鎖定、位測試、位測試和置位、位測試和復位)的硬件支持的軟件例程。使用該信標實現(xiàn),可通過共享(例如,全局)數(shù)據(jù)和一個或多個信標建立生產(chǎn)者-消費者通信關系。信標允許共享數(shù)據(jù)由嘗試修改該數(shù)據(jù)的多個進程中的選定一個進行修改,信標提供了數(shù)據(jù)的
一致性。該信標結(jié)構(gòu)是“消極的”,因為線程必須執(zhí)行輪詢操作以獲取一信標。該輪詢需要消耗了可另外地用于其它用途的處理器和系統(tǒng)資源。因此,常規(guī)的信標會導致效率低下。
附圖中,作為示例而非限制地示出本發(fā)明,其中相同的標號表示相似的元件。圖1是大量多線程處理器架構(gòu)的一個實施例的框圖。圖2a_2d是其中信標可用于同步線程執(zhí)行的從屬關系的概念性示圖。圖3是其中光線從光源跟蹤到觀察者的簡單示例場景。圖4是使用活動信標的光線跟蹤的一個實施例的流程圖。圖5是使用主動有序信標的基于Z緩沖的三維圖形渲染的一個實施例的流程圖。圖6是使用活動和/或主動信標的視頻解碼的一個實施例的流程圖。
具體實施例方式描述了用于使用活動信標的視覺和/或圖形數(shù)據(jù)處理的方法和裝置。在以下的描述中,出于說明的目的,列出了大量特定細節(jié)以提供本發(fā)明的透徹理解。但本領域熟練技術人員顯見的是,本發(fā)明可以在沒有這些特定細節(jié)的情況下實施。在其它實例中,按框圖形式示出結(jié)構(gòu)和裝置以清晰表達本發(fā)明。活動信標的示例件使用的概述這里所述的是一種架構(gòu)和有關方法,其中指令的多個并行被動線程(以下稱作“線程”)利用“活動”信標協(xié)調(diào)對共享資源的訪問。信標被稱作活動的,因為信標實體發(fā)送消息給執(zhí)行和/或控制電路以引起線程狀態(tài)改變。例如,線程調(diào)度器可以響應于未解決的從屬關系將一線程置于休眠(或不活動)模式,這可以由信標指示。與從屬關系相對應的線程狀態(tài)變量被用于指示該線程處于休眠模式。當解決從屬關系時,將消息傳遞給控制電路(例如,線程調(diào)度器),它使得從屬關系變量被清除。響應于該被清除的從屬關系變量,該線程被置于活動(或喚醒)狀態(tài)。在活動狀態(tài)中,執(zhí)行可以在線程上進行。繼續(xù)以上示例,如果一線程嘗試獲得信標而不能得到,則該線程被置于不活動狀態(tài)。因為該線程是不活動的,所以它不能輪詢信標以確定信標所指示的從屬關系何時被解決,如現(xiàn)有技術中所要求的。該線程保持于不活動狀態(tài),直到接收到指示從屬關系已被消解的消息(例如從信標實體)。響應于該消息,將該線程置于允許執(zhí)行進行的活動狀態(tài)。圖1是大量多線程處理器架構(gòu)的一個實施例的框圖。如這里所使用的,標簽“大量多線程”架構(gòu)表示包括可以支持多線程執(zhí)行的多個處理器的架構(gòu)。在一個實施例中,每個處理器都可以支持一個或多個線程。通過允許活動線程被執(zhí)行同時其它線程處于不活動狀態(tài),單個處理器上的多線程實現(xiàn)了高執(zhí)行效率。信標上未決的不活動狀態(tài)中的線程不消耗/ 浪費處理器資源。盡管描述相對于大量多線程架構(gòu),信標結(jié)構(gòu)和有關方法可應用于任何多線程架構(gòu)而不管所支持的線程的數(shù)量。大量多線程系統(tǒng)100包括存儲器分層結(jié)構(gòu)110,它存儲在一個或多個處理核心執(zhí)行期間要使用的數(shù)據(jù)和指令。存儲器分層結(jié)構(gòu)110可按本領域已知的任何方式包括動態(tài)隨機存取存儲器(DRAM),一級或多級的指令高速緩存,一級或多級數(shù)據(jù)高速緩存,和/或一級或多級共享指令和數(shù)據(jù)高速緩存。線程分配器120與存儲器分層結(jié)構(gòu)110耦合,接收諸如與新線程相關聯(lián)的指令指針和數(shù)據(jù)和/或數(shù)據(jù)指針的信息。線程分配器120還經(jīng)由消息總線125與處理核心耦合。在一個實施例中,線程分配器120負責管理處理核心的線程資源。 在接收到新的未決線程時,線程分配器120選擇具有用于執(zhí)行該未決線程的資源的一個處理核心并將該線程分配到選定的處理核心。在一個處理核心上現(xiàn)有線程完成時,通知線程分配器120,從而使得該處理核心上的線程資源可用于將來的未決線程。系統(tǒng)100被示為具有多個處理器核心(130、131、139、150、151和159),它們每一個都包括具有相關控制電路的執(zhí)行電路。諸處理器核心可以是相同的或者各處理器核心可具有不同的功能。任何數(shù)量的處理器核心都可包含在系統(tǒng)100中。在一個實施例中,處理器核心按行配置,每行都有一行控制器。例如,行控制器140可經(jīng)由行控制總線145與處理器核心130、131和139耦合。類似地,行控制器160可經(jīng)由行控制總線165與處理器核心 150、151 和 159 耦合。處理器核心也經(jīng)由消息總線125與信標實體170耦合。信標實體170包括存儲器和控制邏輯以提供如這里所述的信標功能。在一個實施例中,信標實體170通過發(fā)送和接收消息與處理器核心交互,如以下更詳細地描述的。線程分配器120也經(jīng)由消息總線125與信標實體170耦合。在一個實施例中,線程分配器通過發(fā)送和接收消息使一線程與信標實體170交互,如以下更詳細地描述的。每個處理核心中的控制電路可包含線程調(diào)度電路以管理在同一處理核心上執(zhí)行的多個線程的狀態(tài),并也可以包含指令調(diào)度電路以執(zhí)行指令的活動線程。在指令執(zhí)行期間,一個或多個處理核心將嘗試訪問共享的系統(tǒng)資源。為了獲得對共享系統(tǒng)資源的控制,一線程通過響應的執(zhí)行核心必須獲得對與要訪問的共享系統(tǒng)資源相對應的信標的控制。在一個實施例中,為了獲得對信標的控制,請求的處理核心在消息總線125上將一信標請求消息發(fā)送給信標實體170。在發(fā)送該信標請求消息后,將請求線程置于不活動狀態(tài),其中執(zhí)行和相關操作(例如,信標的輪詢)暫停。響應于接收信標請求消息,信標實體170確定是否將對信標的控制授予請求線程。當授予該信標時,信標實體170將一信標確認消息發(fā)送給請求線程。響應于信標確認消息,請求線程被恢復到活動狀態(tài),其中使用被請求資源的執(zhí)行繼續(xù)。當線程完成了對共享資源的使用后,線程將一釋放信標消息發(fā)送給信標實體170。響應于該釋放信標消息,信標實體170釋放該信標并允許其它線程獲得對系統(tǒng)資源的訪問。在一個實施例中,信標由處理核心執(zhí)行的指令(信標指令)以及例如通過消息總線125上在處理核心和信標實體之間傳遞的消息(信標消息)支持。在可選實施例中,可支持不同的和/或附加的消息或指令。基于鏈接列表的信標實體在一個實施例中,用緩沖池取代常規(guī)的經(jīng)信標隊列,所述緩沖池具有用于形成每個信標的鏈接列表的條目。因此,每個信標都可以是指向由緩沖池中的條目形成的鏈接列表的首部指針。該鏈接列表可以是雙向鏈接的列表或者是單向鏈接的列表。在一個實施例中,信標表包括用于所支持的每個信標的指針。在一個實施例中,信標表中的指針是首部指針,它指示要用于相應信標的鏈接列表的首部??臻e池指針指示緩沖池的首部且不使用的信標條目包括NULL指針。在一個實施例中,每個信標條目都包括釋放狀態(tài)字段、確認抑制字段、線程標識符字段、前一個指針和下一個指針。在可選實施例中,可以使用其它的和/或不同的字段,例如可省去前一個指針。在一個實施例中,每個信標還可包括單個位(或其它指示符)來指示對應于信標的鏈接列表是否是空的。信標消息獲得信標消息(ACQ_MSG)用于一線程,或為一線程的線程分配器,以向信標實體請求一信標的所有權(quán)。在一個實施例中,ACQ_MSG包含信標標識符字段、線程標識符字段、 “自動釋放”字段和“確認-抑制”(確認-抑制)字段。自動釋放字段用于僅具有首部從屬關系的線程。即,該線程取決于先前的線程,但無后續(xù)線程取決于該線程。確認-抑制字段用于僅具有尾部從屬關系的線程。即,該線程不取決于任何先前的線程,但該線程具有取決于它的后續(xù)線程。ACQ_MSG可由線程分配器或與該線程相關的其它控制電路發(fā)出。在一個實施例中,在接收到ACQ_MSG時,通過從空閑池列表中去除首部條目并將它添加到選定信標的尾部,信標實體將用于請求線程的信標條目排隊到目標信標的鏈接列表。信標條目的字段基于ACQ_MSG中的信息被更新;線程標識符字段、釋放狀態(tài)字段和確認-抑制字段由ACQ_MSG中的請求者的線程標識符、自動釋放字段和確認-抑制字段取代。 如果信標鏈接列表在ACQ_MSG前不空,則信標實體不發(fā)送消息。否則,如果在接收到ACQ_ MSG前信標鏈接列表為空,則采取以下動作之一。如果確認-抑制字段未被設定,具有線程標識符的ACK_MSG在消息總線125上從信標實體發(fā)送到請求線程。如果確認-抑制字段被設定,則不從信標實體發(fā)送ACK_MSG。如果自動釋放字段未被設定,則在信標鏈接列表中保持剛排隊的信標條目。如果自動釋放字段被設定,則從信標鏈接列表中去除該剛排隊的信標條目。釋放信標消息(REL_MSG)被用于一線程以向信標實體請求釋放信標的所有權(quán)。在一個實施例中,REL_MSG包括信標標識符字段和線程標識符字段。在一個實施例中,REL_MSG 僅可由與具有信標所有權(quán)的線程相關聯(lián)的控制電路發(fā)出,即線程標識符位于信標鏈接列表的頂部。在接收到REL_MSG時,信標實體從信標鏈接列表的首部中去除條目。在另一實施例中,REL_MSG可由與任何共享信標的線程相關聯(lián)的控制電路發(fā)出。在接收到REL_MSG時,信標實體復位釋放狀態(tài)字段到信標鏈接列表中的相應條目,而不管該條目在鏈接列表中的位置。如果信標條目位于鏈接列表的首部,則從信標鏈接列表的該首部中去除該條目。隨后,下一個條目變成鏈接列表的首部。如果下一個條目不是NULL,則它將被檢查。如果該鏈接列表的新首部將釋放狀態(tài)字段設定,則它將再次從信標鏈接列表的首部中被去除。在一個實施例中,該遞歸進程繼續(xù)直到鏈接列表的首部為NULL(信標隊列空)或者鏈接列表的首部將釋放狀態(tài)字段復位(等待信標從與條目相對應的線程中釋放)。如果鏈接列表的首部不是NULL且確認-抑制字段未被設定,則ACK_MSG由信標實體發(fā)送到條目的線程標識符字段所標識的線程。如果鏈接列表的首部不是NULL且確認-抑制字段被設定,則不發(fā)送ACK_MSG。信標確認消息(ACK_MSG)由信標實體生成,以通知一線程已獲得請求的信標。在一個實施例中,ACK_MSG包括信標標識符字段和線程標識符字段。ACK_MSG僅由信標實體發(fā)出并由執(zhí)行在該線程標識符字段所標識的線程的處理核心接收。在接收到ACK_MSG時,接收處理核心復位由線程標識符字段所標識的線程的等待-信標狀態(tài)變量。如果線程處于不活動狀態(tài),則將線程狀態(tài)變成活動狀態(tài)信標指令獲得信標(ACQ指令使得ACQ_MSG消息被發(fā)送給信標實體,其中該信標實體帶有請求信標的信標標識符、請求線程的線程標識符并帶有復位的自動釋放字段。將線程放入不活動狀態(tài),其中等待信標狀態(tài)字段被設定。ACS指令與(跟在后面的)釋放信標(RLS)指令(以下描述)成對。ACS_RLS指令對可用于臨界段應用。具有自動釋放(ASR)指令的獲得信標使得ACQ_MSG被發(fā)送給信標實體,其中該信標實體帶有請求信標的信標標識符、請求線程的線程標識符并帶有設定的自動釋放字段。 將線程置于不活動狀態(tài),其中等待信標狀態(tài)字段被設定。在一個實施例中,ASR指令不能與 RLS指令成對。在一個實施例中,ASR指令被用于僅具有首部從屬關系的線程。等待信標(WTQ指令使得等待信標線程狀態(tài)被檢查。如果該狀態(tài)被設定,則將線程置于不活動狀態(tài)。如果該狀態(tài)未設定,則線程保持于活動狀態(tài)。響應于WTS指令,不向信標實體發(fā)送消息。WTS指令的使用意味著線程分配器先前使用ACQ_MSG為線程在線程分配時間獲得信標。如果確認-抑制字段在先前由線程分配器發(fā)出的ACQ_MSG中被設定,則不使用WTS指令。釋放信標(RLQ指令使得REL_MSG被發(fā)送給信標實體,它具有用于被釋放的信標的信標標識符以及用于釋放線程的線程標識符。釋放線程保持于活動狀態(tài)。如果ACS指令先前已被發(fā)給釋放線程,則發(fā)出僅一個RLS指令。如果ASR指令先前已發(fā)給釋放線程,則不
9發(fā)出RLS指令。如果WTS指令已發(fā)給釋放線程,則WTS指令根據(jù)線程分配器發(fā)送的ACQ_MSG 的自動釋放字段可以后面跟著或不跟著RLS指令。如果自動釋放字段被復位,則不發(fā)出RLS 指令。如果自動釋放字段被設定,則RLS指令跟隨WTS指令?;顒有艠说氖纠@得當指令的線程由處理器執(zhí)行時,在資源可用時執(zhí)行指令。當需要具有信標的資源時,例如共享的存儲器位置,會需要信標的所有權(quán)來訪問該資源。因此,在需要信標之前,指令線程的執(zhí)行按本領域已知的任何方式進行。在一個實施例中,當需要信標時,執(zhí)行獲得信標(ACS)指令。ACS指令可以由執(zhí)行請求該信標的指令的線程的處理器執(zhí)行。作為ACS指令的執(zhí)行的一部分或者響應于其執(zhí)行,執(zhí)行該線程的處理核心在消息總線上將獲得信標消息(ACQ_MSG)發(fā)送給信標實體。以上描述了 ACQ_MSG的一種格式。也可以使用其它格式。作為ACS指令執(zhí)行的一部分或者響應于其執(zhí)行,將請求信標的線程置于不活動狀態(tài),其中等待信標狀態(tài)字段被設定。通過將線程置于不活動狀態(tài),不執(zhí)行線程中的指令,它在初始信標請求被拒絕時包括請求的信標的輪詢。通過將線程置于不活動狀態(tài),輪詢信標的線程不消耗處理器資源和系統(tǒng)帶寬。對于支持多線程的處理核心,處理器資源和系統(tǒng)帶寬可由其它的活動線程使用。信標實體接收ACQ_MSG并將請求者信息條目置于目標信標的鏈接列表。如果該信標不由另一線程所有或控制,則該信標條目被置于信標鏈接列表的首部,因為沒有其它的條目。如果該信標由另一線程所有或控制,則將該信標條目置于信標鏈接列表的尾部。在一個實施例中,通過從首部條目到尾部條目地遍歷緩沖池中的鏈接列表條目來標識鏈接列表的尾部且新的條目變成新的尾部條目。在另一實施例中,鏈接列表的尾部直接由信標表中存儲的鏈接列表的尾部指針標識。當線程完成對與信標相對應的資源的使用時,具有該信標的線程釋放對信標的控制,這將在以下更詳細地描述。當釋放一個信標時,信標鏈接列表的首部處的相應信標條目被去除且鏈接列表中的后續(xù)信標條目變成該鏈接列表的首部。當一個信標條目變成信標鏈接列表的首部時,信標實體檢查其狀態(tài)字段。如果確認-抑制字段未設定,則確認消息(ACK_MSG)從信標實體發(fā)送到與信標條目相關聯(lián)的線程。 以上描述了 ACK_MSG的一種格式。也可以使用其它格式。ACK_MSG向接收實體表示該接收實體已被授予對相應信標的控制。響應于ACK_MSG,激活相應的線程。當被激活時,線程中指令的處理重新開始且可以訪問與信標相對應的共享資源。當線程完成了對共享資源的訪問時,釋放信標,這將在以下更詳細地描述?;顒有艠说氖纠葬尫旁谝粋€實施例中,當執(zhí)行釋放信標(RLQ指令時釋放信標。RLS指令可由執(zhí)行請求信標的指令的線程的處理器執(zhí)行。作為RLS指令執(zhí)行的一部分或響應于其執(zhí)行,將釋放信標消息(REL_MSG)發(fā)送給信標實體。以上描述了用于REL_MSG的一種格式。也可以使用其它格式。響應于REL_MSG,信標實體將REL_MSG的線程標識符字段與信標鏈接列表匹配。如果相應的信標條目在鏈接列表的首部,信標實體就從鏈接列表的首部中去除線程條目。鏈接列表中后續(xù)的條目變成首部條目。隨后,可以將該信標授予與新首部條目相對應的線程。 如果相應的信標條目不在鏈接列表的首部,則信標實體設定信標條目的釋放狀態(tài)字段。行為樽型基于所使用的鏈接列表的形式,信標可分類為關聯(lián)信標或有序信標?;趤碜孕艠藢嶓w的ACK_MSG的發(fā)送,信標可分類為活動信標或主動信標。因此,可以支持四種類型的信標。關聯(lián)信標的一個實施例的概述關聯(lián)信標允許并發(fā)線程按任何順序訪問信標。在一個實施例中,在與NULL鏈接列表(或用于指示一空鏈接列表的單個位)的會話開始時,信標由線程分配器初始化。不從線程分配器將其它消息發(fā)送給信標實體。執(zhí)行多指令線程的執(zhí)行電路在運行過程中建立信標鏈接列表。在一個實施例中,一線程通過執(zhí)行ACS或ASR指令來請求關聯(lián)的信標。線程通過執(zhí)行RLS指令來釋放一關聯(lián)信標。在一個實施例中,新ACQ_MSG將導致與請求線程相對應的條目放置在信標鏈接列表的尾部。這提供了先來先服務(FCre)的信標模型。有序信標的一個實施例的概述有序信標允許并發(fā)線程按預定順序訪問信標。該順序在分配時由線程分配器預先確定。該順序可以是取決于應用程序的。當線程分配實際上是串行的時,線程分配器可為每個分配的線程發(fā)送一 ACQ_MSG到信標實體,以根據(jù)該順序構(gòu)建信標鏈接列表。進入臨界段的線程可使用WTS指令以等待信標的所有權(quán)。由于線程已置于信標鏈接列表中,不使用ACS和ARS指令。在一個實施例中,信標實體可僅根據(jù)鏈接列表順序提供對信標的控制。信標上等待的線程將按鏈接列表的順序接收ACQ_MSG。活動信標的一個實施例的概述如上所述,采用活動信標,ACQ_MSG被用于使得一線程從不活動狀態(tài)變成活動狀態(tài)。信標實體從執(zhí)行線程的執(zhí)行電路接收一個或多個ACQ_MSG。信標實體僅發(fā)送一個ACK_ MSG到與信標鏈接列表的首部處的線程相對應的執(zhí)行電路。在去除信標鏈接列表的首部時, 信標實體檢查鏈接列表的新首部的狀態(tài),并可以將后續(xù)ACK_MSG發(fā)送給與信標鏈接列表的新首部的線程相對應的執(zhí)行電路?;顒有艠艘部梢允顷P聯(lián)信標。主動信標的一個實施例的概述主動信標發(fā)送一個且僅一個ACK_MSG給信標鏈接列表的首部處的線程,無論該線程是否處于不活動狀態(tài)。這使用具有先前由線程分配器發(fā)送的ACQ_MSG的排序的信標應用于線程,使得僅一個ACK_MSG被發(fā)送給一線程。使用排序的信標的線程可包含WTS和/或 RLS指令。對于主動信標,ACK_MSG由信標實體自動發(fā)送到信標鏈接列表首部處的線程。在一個實施例中,存在“危險條件”的可能性,如果來自線程的條目的計時在信標鏈接列表中由線程分配器排隊的情況下并且在線程對于執(zhí)行電路可見的時候可能存在此情況。因為這兩個動作由線程分配器啟動但經(jīng)過不同的數(shù)據(jù)路徑發(fā)生,所以必須考慮這些事件的計時。如果線程執(zhí)行在信標配置前開始,如果線程中有WTS指令,則將沒有危險條件。因為等待信標線程狀態(tài)變量由線程分配器設定,即使線程的WTS指令在線程被排隊到信標鏈接列表之前達到,也不出現(xiàn)危險條件。WTS指令使得線程進入不活動狀態(tài)而不發(fā)送消息到信標實體。當信標實體發(fā)送ACK_MSG到線程時,執(zhí)行電路再次使得線程活動。如果信標由線程分配器配置,其中確認-抑制字段被設定,則會導致危險條件。在這種情況中,線程將不被置于不活動狀態(tài)。相反,如果在為線程配置信標前線程到達RLS指令并將REL_MSG發(fā)送給信標實體,則信標實體會不處于處理REL_MSG的條件。為避免這種危險條件,線程執(zhí)行和信標實體可確保REL_MSG不傳送由線程分配器發(fā)出的ACQ_MSG。因此,在一個實施例中,為避免危險條件,如果確認-抑制未被設定,則線程分配器在信標配置完成前完成線程配置。如果確認-抑制字段被設定,則線程分配器在完成線程配置前完成信標配置。因為線程分配器串行地分配準備好的線程,串行操作可確保必要的排序。當線程配置在信標配置前完成時,在發(fā)送消息引起信標配置前,線程分配器可分配一線程并等待指示線程配置完成的信號。當信標配置在線程配置前完成時,線程分配器可發(fā)送消息以啟動信標的配置并等待指示在分配線程前信標配置完成的信號。因為串行配置會不必要地限制來自分配器的吞吐量,可使配置操作流水線化。線稈同步圖2a_2d是從屬關系的概念示圖,其中信標可用于同步線程執(zhí)行。圖加示出了 1:1:1( 一對一)從屬關系。圖加的從屬關系可以是強串行順序從屬關系或關聯(lián)從屬關系。 對于強連續(xù)順序從屬關系,可以使用單個主動的有序信標。在一個實施例中,在從線程分配器發(fā)送給信標實體以請求信標的ACQ_MSG中,確認-抑制字段和自動釋放字段都被復位。指令的線程包括WTS-RLS指令對,以獲得和釋放信標。對于關聯(lián)從屬關系,可以使用單個活動的關聯(lián)信標。在一個實施例中,在從執(zhí)行線程的執(zhí)行電路發(fā)送到信標實體以請求信標的ACQ_MSG中,確認-抑制字段和自動釋放字段都被復位。指令的線程包括ACS-RLS指令對以獲得和釋放信標。圖2b示出了 1:N(1對多)從屬關系,其中一個線程對N個其它線程具有首部從屬關系,其中N個其它線程不相互從屬。這里,N是可以是一或大于一的正整數(shù)。對于1:N 從屬關系,可使用單個主動的有序信標。在一個實施例中,對于N個獨立線程,ACQ_MSG由線程分配器為N個線程發(fā)送。在從線程分配器發(fā)送給信標實體以請求信標的ACQ_MSG中, 確認-抑制字段被設定且自動釋放字段被復位。對于對其它N個線程有首部從屬關系的單個線程,ACQ_MSG也由線程分配器發(fā)送。在請求信標的ACQ_MSG中,確認-抑制字段被復位且自動釋放字段被設定。N個指令線程僅包括RLS指令來釋放信標。單個指令線程包括 WTS-RLS指令對以獲得和釋放信標。圖2c示出了 N: 1 (多對一)從屬關系,其中N個線程具有對單個線程的首部從屬關系但這N個線程不相互從屬。對于N: 1從屬關系,可以使用單個主動的有序信標。在一個實施例中,線程分配器負責為N個依賴(copending)線程和一個從屬(d印endent)線程兩者發(fā)送ACQ_MSG。在一個實施例中,對于單個從屬線程,在請求信標的ACQ_MSG中,確認-抑制字段被設定且自動釋放字段被復位。對于N個依賴線程,在請求信標的ACQ_MSG中,確認-抑制字段被復位且自動釋放字段被設定。指令的單個從屬線程僅包括RLS指令以釋放信標。指令的N個依賴線程包括WTS-RLS指令對以獲得并釋放信標。圖2d示出了 N:M(多對多)從屬關系,其中N個依賴線程具有對M個從屬線程的首部從屬關系。在這種情況中,N個依賴線程不相互從屬,且M個從屬線程不相互從屬。與
12上述1 1 1,1 :N和N: 1的情況相比,N:M依賴性情況是更一般的情況。對于N:M從屬關系, 可以使用單個主動的有序信標。在一個實施例中,線程分配器負責為N個依賴線程和M個從屬線程兩者發(fā)送ACQ_MSG。在一個實施例中,對于M個從屬線程,在用于請求信標的ACQ_ MSG中,確認-抑制字段被設定且自動釋放自動被復位。對于N個依賴線程,在用于請求信標的ACQ_MSG中,確認-抑制字段被復位且自動釋放自動被設定。指令的M個從屬線程僅包括一 RLS指令以釋放信標。指令的N個依賴線程包括WTS-RLS指令對以獲得并釋放信標。圖加_2(1的從屬關系可用于支持更復雜的從屬關系。例如,對于N: 1:N從屬關系, 使用兩個主動的有序信標。如以上參考圖2c所述地處理N: 1從屬關系并如以上參考圖2b 所述地處理1:N從屬關系。如以下更詳細地描述的,上述信標機制和線程同步技術可應用于計算機或類似電子系統(tǒng)中執(zhí)行的許多操作。在以下給出的示例中,可利用這里所述的信標結(jié)構(gòu)執(zhí)行各種圖形處理技術。雖然圖形處理技術提供了使用活動和主動信標的有用示例,但這些信標機制的使用不限于圖形數(shù)據(jù)處理。信標和光線跟蹤光線跟蹤是用于渲染三維圖形的技術,并可以支持復雜的光相互作用,諸如反射鏡、透明表面、陰影等。一般,光線跟蹤基于通過遞歸地跟隨(跟蹤)光線通過一場景的光線反射所采用的路徑的模型化的反射和折射。兩次反射之間(或屏幕位置和第一次反射之間或者屏幕位置或反射與光源之間)的光線軌跡被稱作光線段。當光線從觀測透視 (例如照相機)被跟蹤到光源時,為每個像素確定顏色。本領域已知多種用于光線跟蹤的技術。例如,參見 Cook,R. L.禾口 Torrance,K. Ε·,“A Reflectance Model for Computer Graphics, "ACM Trans, on Graphics 1,1(1982 年 1 月)以及 Glassner,A. (ed),"An Introduction to Ray Tracing, "Academic Press, New York,1989。在使用光線跟蹤技術渲染圖像時,可通過使視線(eye ray)開始于每個屏幕位置來渲染圖像屏幕。屏幕位置也稱作目的地像素。每個視線將橫穿三維場景空間,并由于與場景中對象的反射和折射相互作用而生成一個或許多光線段。與不同目的地像素相關聯(lián)的光線段彼此獨立。與不同目的地像素相關聯(lián)的光線段的處理可并行計算而不修改共享資源并因此不使用信標機制。當圖像屏幕上存在許多目的地像素時,光線跟蹤問題可良好地用于大量多線程的計算架構(gòu)。對于單個目的地像素,可以有多個光線段。在累加多個光線段對單個像素的貢獻時,最終顏色可確定為與該像素相關聯(lián)的每個光線段的加權(quán)和。例如,當在大量多線程計算架構(gòu)上用不同線程處理到單個像素的光線段時,作為與同一像素相關聯(lián)的線程的共享資源的像素最終顏色的更新需要使用信標機制。例如,上述N: 1從屬關系機制可用于光線跟蹤。使用活動和/或主動信標,用于跟蹤光線段(包括與共用像素相關聯(lián)的光線段) 的操作可并行執(zhí)行。在一個實施例中,可通過散列目的地像素地址來確定信標標識符。如果可用信標少于獨立像素,一些像素可共享一信標。這是性能問題而非功能問題。在該實施例中,可動態(tài)使用信標而沒有全局同步。在不使用信標的情況下,順序地執(zhí)行用于跟蹤與像素相關聯(lián)的光線段的操作。因此,使用具有光線跟蹤技術的信標允許較大的并行處理。圖3是其中光線從光源跟蹤到觀察者的簡單示例場景。大量光線在光源300和觀察者300之間行進;但出于簡化描述的原因,圖3中僅示出較少數(shù)量的光線。光線340直接從光源300行進到觀察者330。因為光線340不被反射或折射,所以與光線340相對應的像素由光源300所提供的光的顏色表示。由于光由對象310反射,所以用于與光線段350和355相對應的光的光線跟蹤計算更加復雜。如上所述,用于段350和355的光線跟蹤操作可以并行執(zhí)行。因此,段350和355 的光線跟蹤操作可作為兩個線程執(zhí)行,將其結(jié)果組合以提供從多個光線跟蹤操作獲得的像素顏色。如上所述,可以用活動信標完成兩個線程的協(xié)調(diào)。圖4是使用活動信標的光線跟蹤的一個實施例的流程圖。410中,確定光線路徑。 光線路徑的確定可按本領域已知的任何方式完成。420中,光線跟蹤操作中所使用的組件 (例如,硬件組件、軟件組件等)確定多個光線段是否影響單個像素。如果在420中單個光線段影響單個像素,則在425中跟蹤光線路徑。對于該單個光線段,可以使用本領域已知的任何光線跟蹤技術。475中,基于光線跟蹤操作的結(jié)果,確定像素顏色。隨后,該像素可以被顯示、打印或另外渲染用于觀看。如果在420中多個光線段影響單個像素,則可并行跟蹤這多個光線段中的一個或多個。并行光線跟蹤多個光線段可以形成N:1的從屬關系,其中像素結(jié)果依賴于用于N個光線段的光線跟蹤操作的結(jié)果。如上所述地處理該N: 1從屬關系。當在440中從屬關系被解析時,在450中可累加多個光線跟蹤操作的結(jié)果。在475 中根據(jù)累加的光線跟蹤操作的結(jié)果確定像素顏色。隨后,該像素可以被顯示、打印或另外渲染用于觀看。使用活動信標的基于Z緩沖的三維涫染在基于Z緩沖的三維圖形渲染中,所渲染的對象被分成渲染基元(primitive),諸如點、線、三角、三角帶等。將渲染基元投影到觀察屏上。被投影到不同屏像素上的渲染基元可獨立渲染。當多個不透明基元被投影到同一屏像素上時,僅其它基元前的基元(具有離目的地像素的更小距離度量,所謂的Z值)更新屏像素顏色。Z緩沖是屏幕大小緩沖,它逐像素地存儲對屏像素的最近更新的Z值。使用Z-測試來解決昏暗。對于在屏幕像素上投影的任何基元,將基元的Z值與用于屏幕像素的Z緩沖中存儲的Z值進行比較。如果基元的Z值小于Z緩沖值,則用來自基元的渲染顏色更新目的地像素顏色,也更新Z緩沖值。如果基元的Z值等于或大于Z緩沖值,則不改變目的地像素顏色以及相應的Z緩沖值。為了生成一致的屏幕圖像,投影到同一屏幕像素上的基元必須按嚴格的次序渲染??梢允褂迷诖罅烤€程化架構(gòu)上多線程處理實現(xiàn)基于Z緩沖的三維渲染。例如,獨立基元可通過獨立線程渲染?;g的從屬關系,例如通過多個基元對共同像素的Z緩沖測試和更新,可以利用上述信標機制解析。圖5是使用主動有序信標的基于Z緩沖的三維圖形渲染的一個實施例的流程圖。 在510中,要渲染的對象可基于對觀察屏幕的投影被分段成多個基元和多個基元部分。在 520中,基于投影的屏幕像素位置為這些基元或基元部分配置信標。在530中,通過指令的多個線程對這些基元或基元部分執(zhí)行渲染操作。線程可由一個或多個處理器執(zhí)行并可使用一個或多個上述信標機制解析從屬關系。例如,被投影于同一屏幕像素上的通過不同線程進行的多個基元的三維渲染可形成1:1:1從屬關系,其中每個線程的Z測試和目的地顏色更新取決于在該線程前的更新同一屏幕像素的一個或多個線程的結(jié)果。該1:1:1從屬關系如上所述地被處理。當在MO中解析了從屬關系時,在550中用于給定基元或基元段的線程執(zhí)行Z測試并在Z測試成功時更新用于投影像素的Z值和顏色值。在560中最終的渲染圖像在渲染了基元之后生成。隨后,可以顯示、打印或另外地顯現(xiàn)最終的渲染圖像用于觀察。使用活動信標的視頻解碼在一些視頻編碼標準中,例如MPEG-2,圖片(視覺對象平面或V0P)內(nèi)的一個或多個段(諸如宏模塊)的組可通過指令的獨立線程被解碼。在一些視頻編碼標準中,例如 MPEG-4,諸如宏模塊的圖片段的解碼具有其它圖片段解碼的從屬關系。因此,可通過多線程架構(gòu)上指令的多個線程解碼一圖片。這些線程之間的從屬關系可利用上述信標機制解析。例如,在2000 年 10 月出版的 IS0/IEC 13818 "Generic coding of moving pictures and associated audio information”以及有關標準中描述了 MPEG—2。例如,在 2002 年 3 月出版的 IS0/IEC 14496 "Coding of audio-visual objects” 以及有關標準中描述了 MPEG-4。圖6是使用活動和/或主動信標的視頻解碼的一個實施例的流程圖。該流程圖描繪了視頻序列的一個圖片的解碼過程。可以重復相同的過程以解碼視頻序列的多個圖片。 在610中確定要解碼的圖片的段。這些段例如可以是塊、塊組、宏模塊或宏模塊組,或者要解碼的幀的任何其它段。在一個實施例中,在通過指令的不同線程對這些段執(zhí)行解碼操作640前,確定段間從屬關系。如果在620中一段具有首部從屬關系-段的解碼取決于其它段的解碼結(jié)果, 一在625中為處理該段的指令線程配置具有首部從屬關系的一個或多個信標。如果在630 中段具有尾部從屬關系-后續(xù)段的解碼取決于該段的解碼結(jié)果,-在635中為處理該段的指令線程配置具有尾部從屬關系的一個或多個信標。在640中通過指令的多個線程對這些段進行解碼操作。這些線程可以由一個或多個處理器執(zhí)行并可使用上述信標機制中的一種或多種解析從屬關系。例如,對于具有對N 個段的首部從屬關系的一個段,可以使用按N: 1從屬關系模式配置的信標解析這些段的從屬關系。用具有尾部從屬關系的信標配置N個從屬段的線程以及用具有首部從屬關系的信標配置那一個依賴段。如上所述地處理該N: 1從屬關系。當在640中解析了段的從屬關系時,在660中生成解碼段的結(jié)果。在670中從合計的段結(jié)果中生成最終圖片。隨后,最終解碼圖片可被顯示、打印或另外地顯現(xiàn)用于觀察。Mrk說明書中對“一個實施例”或“一實施例”的引用意味著聯(lián)系該實施例描述的特殊特點、結(jié)構(gòu)或特征包含于本發(fā)明的至少一個實施例中。說明書中各處短語“在一個實施例中”的出現(xiàn)不必都涉及同一實施例。在前述說明書中,已參考其特定實施例描述了本發(fā)明。但顯然,可以對其進行各種修改和變化而不背離本發(fā)明的較寬精神和范圍。因此,說明書和附圖被認為是說明性而非限制性的。
權(quán)利要求
1.一種方法,包括由存儲器維持用于指令的第一線程的狀態(tài)指示; 由執(zhí)行電路執(zhí)行指令的第一線程以處理要顯示的圖像的第一圖形元素; 由所述執(zhí)行電路執(zhí)行指令的第二線程以處理要顯示的圖像的第二圖形元素; 如果所述用于指令的第一線程的狀態(tài)指示被設定,則由所述執(zhí)行電路響應于與第一圖形元素和第二圖形元素之間的關系有關的一組預定條件中至少一個的檢測,將指令的第一線程置于不活動狀態(tài);由所述執(zhí)行電路將指令的第一線程保持于不活動狀態(tài)直到從信標實體接收到一消息;由所述信標實體將消息發(fā)送到所述執(zhí)行電路,所述消息用于重新開始指令的所述第一線程的執(zhí)行;以及由所述執(zhí)行電路響應于從信標實體接收到所述消息重新開始指令的所述第一線程的執(zhí)行并且復位所述指令的第一線程的狀態(tài)指示,其中當分配所述指令的第一線程時設定所述狀態(tài)指示。
2.如權(quán)利要求1所述的方法,其特征在于,所述一組預定條件包括未解析的從屬關系。
3.如權(quán)利要求1所述的方法,其特征在于,所述一組預定條件包括缺少來自指示與該信標相對應的資源不可用的所述信標的響應。
4.如權(quán)利要求1所述的方法,其特征在于,所述存儲器還維持用于指令的第二線程的狀態(tài)指示。
5.如權(quán)利要求4所述的方法,其特征在于,指令的每個線程的狀態(tài)指示包括與指令的相關聯(lián)線程的從屬關系(若有)相對應的狀態(tài)變量。
6.如權(quán)利要求1所述的方法,其特征在于,所述指令的第一線程包括第一組光線跟蹤指令,且所述第一圖形元素包括第一光線段,其中所述指令的第二線程包括第二組光線跟蹤指令,且所述第二圖形元素包括第二光線段。
7.如權(quán)利要求1所述的方法,其特征在于,所述指令的第一線程包括第一組視頻解碼指令且所述第一圖形元素包括第一圖片段,且所述指令的第二線程包括第二組視頻解碼指令且所述第二圖形元素包括第二圖片段。
8.如權(quán)利要求7所述的方法,其特征在于,所述第一圖片段包括第一宏模塊且所述第二圖片段包括第二宏模塊。
9.如權(quán)利要求1所述的方法,其特征在于,所述指令的第一線程包括第一組三維渲染指令且第一圖形元素包括第一渲染基元,且所述指令的第二線程包括第二組三維渲染指令且第二圖形元素包括第二渲染基元。
10.如權(quán)利要求9所述的方法,其特征在于,所述第一渲染基元包括第一點、第一線、 第一三角形和第一三角帶之一,且所述第二渲染基元包括第二點、第二線、第二三角形和第二三角帶之一。
11.如權(quán)利要求9所述的方法,其特征在于,還包括由執(zhí)行電路執(zhí)行指令的線程確定用于所述第一渲染基元的Z值; 由所述執(zhí)行電路執(zhí)行指令的線程確定用于所述第二渲染基元的Z值; 由所述執(zhí)行電路執(zhí)行指令的線程比較用于所述第一渲染基元和所述第二渲染基元的Z值以確定所述第一渲染基元和所述第二渲染基元之間的關系;以及由所述執(zhí)行電路執(zhí)行指令的線程基于所述第一渲染基元和第二渲染基元之間的關系顯示所述第一渲染基元和所述第二渲染基元中的選定一個。
12.一種裝置,包括耦合于執(zhí)行電路的存儲器,用于存儲指令的第一線程,所述存儲器維持用于指令的第一線程的狀態(tài)指示;所述執(zhí)行電路,用于接收并執(zhí)行與圖像的第一圖形元素相對應的所述指令的第一線程以及與圖像的第二圖形元素相對應的指令的第二線程,其中如果所述用于指令的第一線程的狀態(tài)指示被設定,則所述執(zhí)行電路發(fā)送一信標請求消息并響應于需要具有相關信標的資源的所述指令的第一線程將所述指令的第一線程置于不活動狀態(tài);以及與所述執(zhí)行電路耦合的信標實體,用于從所述執(zhí)行電路接收信標請求消息并用于對于所述指令的第一線程,響應于所述信標請求消息通過向所述執(zhí)行電路發(fā)送信標確認消息來選擇性地授予信標的控制,其中所述執(zhí)行電路響應于接收到所述信標確認消息,將所述指令的第一線程從不活動狀態(tài)中去除并且復位所述用于指令的第一線程的狀態(tài)指示,其中當分配所述指令的第一線程時設定所述狀態(tài)指示。
13.如權(quán)利要求12所述的裝置,其特征在于,所述執(zhí)行電路包括第一執(zhí)行電路,用于執(zhí)行所述指令的第一線程;以及第二執(zhí)行電路,用于執(zhí)行所述指令的第二線程。
14.如權(quán)利要求12所述的裝置,其特征在于,所述指令的第一線程包括第一組光線跟蹤指令且所述第一圖形元素包括第一光線段,以及所述指令的第二線程包括第二組光線跟蹤指令且所述第二圖形元素包括第二光線段。
15.如權(quán)利要求12所述的裝置,其特征在于,所述指令的第一線程包括第一組視頻解碼指令且所述第一圖形元素包括第一圖片段,以及所述指令的第二線程包括第二組視頻解碼指令且所述第二圖形元素包括第二圖片段。
16.如權(quán)利要求15所述的裝置,其特征在于,所述第一圖片段包括第一宏模塊且所述第二圖片段包括第二宏模塊。
17.如權(quán)利要求12所述的裝置,其特征在于,所述指令的第一線程包括第一組三維渲染指令且所述第一圖形元素包括第一渲染基元,以及所述指令的第二線程包括第二組三維渲染指令且所述第二圖形元素包括第二渲染基元。
18.如權(quán)利要求17所述的裝置,其特征在于,所述第一渲染基元包括第一點、第一線、 第一三角形和第一三角帶之一,且所述第二渲染基元包括第二點、第二線、第二三角形和第二三角帶之一。
19.如權(quán)利要求12所述的裝置,其特征在于,所述存儲器還存儲所述指令的第二線程。
20.如權(quán)利要求12所述的裝置,其特征在于,還包括至少一個附加執(zhí)行電路,用于執(zhí)行指令的線程;以及與所述執(zhí)行電路和至少一個附加執(zhí)行電路耦合的線程分配器,用于分配用于執(zhí)行的指令的線程。
21.如權(quán)利要求12所述的裝置,其特征在于,當所述指令的第一線程處于不活動狀態(tài)時,指令的執(zhí)行停止且執(zhí)行電路不輪詢所述信標實體以確定信標請求消息的狀態(tài)。
22.—種設備,包括用于維持用于指令的第一線程的狀態(tài)指示的裝置; 用于執(zhí)行指令的第一線程以處理要顯示的圖像的第一圖形元素的裝置; 用于執(zhí)行指令的第二線程以處理要顯示的圖像的第二圖形元素的裝置; 用于在所述用于指令的第一線程的狀態(tài)指示的情況下,響應于與第一圖形元素和第二圖形元素之間的關系有關的一組預定條件中至少一個的檢測,將指令的第一線程置于不活動狀態(tài)的裝置;用于將指令的第一線程保持于不活動狀態(tài)直到從信標實體接收到一消息的裝置; 用于由信標實體發(fā)送用于重新開始指令的所述第一線程的執(zhí)行的消息的裝置;以及用于響應于從信標實體接收到所述消息重新開始指令的所述第一線程的執(zhí)行并且復位所述指令的第一線程的狀態(tài)指示的裝置,其中當分配所述指令的第一線程時設定所述狀態(tài)指示。
23.如權(quán)利要求22所述的裝置,其特征在于,所述指令的第一線程包括第一組光線跟蹤指令且所述第一圖形元素包括第一光線段,以及所述指令的第二線程包括第二組光線跟蹤指令且所述第二圖形元素包括第二光線段。
24.如權(quán)利要求22所述的裝置,其特征在于,所述指令的第一線程包括第一組視頻解碼指令且所述第一圖形元素包括第一宏模塊,以及所述指令的第二線程包括第二組視頻解碼指令且所述第二圖形元素包括第二宏模塊。
25.如權(quán)利要求22所述的裝置,其特征在于,所述指令的第一線程包括第一組三維渲染指令且所述第一圖形元素包括第一渲染基元,以及所述指令的第二線程包括第二組三維渲染指令且所述第二圖形元素包括第二渲染基元。
26.一種系統(tǒng),包括 存儲器控制器;與所述存儲器控制器耦合的執(zhí)行電路,用于接收和執(zhí)行與圖像的第一圖形元素相對應的指令的第一線程和與圖像的第二圖形元素相對應的指令的第二線程,其中如果用于指令的第一線程的狀態(tài)指示被設定,所述執(zhí)行電路發(fā)送一信標請求消息并響應于需要具有相關信標的資源的所述指令的第一線程將所述指令的第一線程置于不活動狀態(tài);以及與所述執(zhí)行電路耦合的信標實體,用于從所述執(zhí)行電路接收信標請求消息并用于響應于所述信標請求消息通過向所述執(zhí)行電路發(fā)送信標確認消息來選擇性地授予所述信標的控制,其中所述執(zhí)行電路響應于接收到所述信標確認消息,將所述指令的第一線程從不活動狀態(tài)中去除并且復位所述用于指令的第一線程的狀態(tài)指示;以及耦合于所述存儲器控制器的存儲器,用于存儲指令的第一線程,所述存儲器維持所述用于指令的第一線程的狀態(tài)指示,其中當分配所述指令的第一線程時設定所述狀態(tài)指示。
27.如權(quán)利要求沈所述的系統(tǒng),其特征在于,所述執(zhí)行電路包括 第一執(zhí)行電路,用于執(zhí)行所述指令的第一線程;以及第二執(zhí)行電路,用于執(zhí)行所述指令的第二線程。
28.如權(quán)利要求沈所述的系統(tǒng),其特征在于,所述指令的第一線程包括第一組光線跟蹤指令且所述第一圖形元素包括第一光線段,以及所述指令的第二線程包括第二組光線跟蹤指令且所述第二圖形元素包括第二光線段。
29.如權(quán)利要求沈所述的系統(tǒng),其特征在于,所述指令的第一線程包括第一組視頻解碼指令且所述第一圖形元素包括第一宏模塊,以及所述指令的第二線程包括第二組視頻解碼指令且所述第二圖形元素包括第二宏模塊。
30.如權(quán)利要求四所述的系統(tǒng),其特征在于,所述第一圖片段包括第一宏模塊且所述第二圖片段包括第二宏模塊。
31.如權(quán)利要求沈所述的系統(tǒng),其特征在于,所述指令的第一線程包括第一組三維渲染指令且所述第一圖形元素包括第一部分渲染基元,以及所述指令的第二線程包括第二組三維渲染指令且所述第二圖形元素包括第二渲染基元。
32.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述第一渲染基元包括第一點、第一線、 第一三角形和第一三角帶之一,且所述第二渲染基元包括第二點、第二線、第二三角形和第二三角帶之一。
33.如權(quán)利要求沈所述的系統(tǒng),其特征在于,還包括與所述存儲器控制器耦合的存儲器,用于存儲所述指令的第一線程和所述指令的第二線程。
34.如權(quán)利要求沈所述的系統(tǒng),其特征在于,當所述指令的第一線程處于不活動狀態(tài)時,指令的執(zhí)行停止且執(zhí)行電路不輪詢所述信標實體以確定信標請求消息的狀態(tài)。
35.如權(quán)利要求1所述的方法,還包括由存儲器存儲信標,所述信標(i)與目的地像素相關聯(lián)使得至少一個光線段與相同的目的地像素相關聯(lián),并且(ii)包括信標條目的鏈接列表,其中的每個信標條目與指令的多個線程中與所述至少一個光線段相關聯(lián)的指令的線程相關聯(lián);由所述執(zhí)行電路執(zhí)行所述指令的多個線程以并行計算所述至少一個光線段; 由所述執(zhí)行電路執(zhí)行信標實體的指令以從所述連接列表的頭部去除與指令的線程相對應的信標條目;以及由所述信標實體響應于所述指令從所述連接列表的頭部去除所述信標條目, 其中在各自與關聯(lián)于所述至少一個光線段的指令的線程相關聯(lián)的信標條目后合計所述指令的線程的結(jié)果。
36.如權(quán)利要求1所述的方法,還包括由存儲器存儲信標,所述信標(i)與圖像相關聯(lián)使得至少一個片段與相同的圖像相關聯(lián),并且(ii)包括信標條目的鏈接列表,其中的每個信標條目與指令的多個線程中與所述至少一個片段相關聯(lián)的指令的線程相關聯(lián);由所述執(zhí)行電路執(zhí)行所述指令的多個線程以并行計算所述至少一個片段; 由所述執(zhí)行電路執(zhí)行信標實體的指令以從所述連接列表的頭部去除與指令的線程相對應的信標條目;以及由所述信標實體響應于所述指令從所述連接列表的頭部去除所述信標條目, 其中在各自與關聯(lián)于所述至少一個片段的指令的線程相關聯(lián)的信標條目后合計所述指令的線程的結(jié)果。
全文摘要
本發(fā)明涉及使用多線程架構(gòu)的視覺和圖形數(shù)據(jù)處理。可將活動和/或主動信標機制和線程同步技術應用于各種視覺和圖形處理技術。
文檔編號G06F9/30GK102200927SQ201110105928
公開日2011年9月28日 申請日期2004年12月22日 優(yōu)先權(quán)日2003年12月31日
發(fā)明者T·A·皮亞扎, 江宏 申請人:英特爾公司