TWI823655B - 適用於智慧處理器的任務處理系統與任務處理方法 - Google Patents
適用於智慧處理器的任務處理系統與任務處理方法 Download PDFInfo
- Publication number
- TWI823655B TWI823655B TW111141688A TW111141688A TWI823655B TW I823655 B TWI823655 B TW I823655B TW 111141688 A TW111141688 A TW 111141688A TW 111141688 A TW111141688 A TW 111141688A TW I823655 B TWI823655 B TW I823655B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- task
- instruction
- smart
- processing system
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
任務處理系統包含智慧處理器以及指令處理器。指令處理器接收源自主處理器的任務,並響應任務啟動該智慧處理器。該智慧處理器根據任務自複數個韌體檔案中選取一對應韌體檔案,並重新啟動該指令處理器以使該指令處理器運行該對應韌體檔案,並與指令處理器協同運作完成任務。
Description
本案是關於智慧處理器的任務調度機制,尤其是適用於智慧處理器的任務處理系統與其任務處理方法。
在現有的處理系統中,智慧處理器與系統中的主要處理器之間的任務調度模式屬於串列模式。例如,主要處理器會使用其內核線程(kernel thread)來指派待執行的多個任務,並通知智慧處理器執行該些任務中的一個任務。在智慧處理器執行完一個任務後,需回報該內核線程該任務的執行結果。在收到該執行結果後,內核線程再指派下一個任務給智慧處理器執行。在上述的調度模式中,若主要處理器的工作負載變重而使得內核線程的響應速度變慢時,將使得智慧處理器的任務調度上出現延遲,而使得整體運作時間明顯變長。
於一些實施態樣中,本案的目的之一在於提供一種任務處理系統與任務處理方法,其可改善先前技術的不足。
於一些實施態樣中,任務處理系統包含第一智慧處理器以及第一指令處理器。第一指令處理器接收源自一主處理器的第一任務,並響應該一第一任務啟動該第一智慧處理器。其中,該第一智慧處理器根據該第一任務自複數個韌體檔案中選取一對應韌體檔案,並重新啟動該第一指令處理器以使該第一指令處理器運行該對應韌體檔案,且與第一指令處理器協同運作完成該第一任務。
於一些實施態樣中,任務處理方法包含下列操作:藉由一指令處理器響應源自一主處理器的一任務啟動一智慧處理器;藉由該智慧處理器根據該任務自複數個韌體檔案中選取一對應韌體檔案,並重新啟動該指令處理器以使該指令處理器運行該對應韌體檔案;以及藉由該智慧處理與該指令處理器協同運作以完成該任務。
有關本案的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
100:任務處理系統
110:主處理器
120:記憶體
130,135:指令處理器
140,145:智慧處理器
210:運算電路
220:緊密耦合記憶體電路
222:指令緊密耦合記憶體
224:資料緊密耦合記憶體
224A,224B:資料區
400:任務處理方法
D1~DM,Di:韌體檔案
H:標頭
ID:指令資料
PD:處理資料
RP:讀取指標訊號
S301~S312,S320~S324:操作
S410,S420,S430:操作
TK1~TKn:任務
TQ:任務佇列
WP:寫入指標訊號
〔圖1〕為根據本案一些實施例繪製一種任務處理系統的示意圖;〔圖2A〕為根據本案一些實施例繪製圖1的指令處理器之示意圖;〔圖2B〕為根據本案一些實施例繪製圖2A的任務佇列之資料示意圖;〔圖3A〕為根據本案一些實施例繪製的圖1的主處理器、智慧處理器以及指令處理器之間的運作時序示意圖;
〔圖3B〕為根據本案一些實施例繪製圖1的主處理器以及多個指令處理器之間的運作時序示意圖;以及〔圖4〕為根據本案一些實施例繪製的一種任務處理方法的流程圖。
本文所使用的所有詞彙具有其通常的意涵。上述之詞彙在普遍常用之字典中之定義,在本案的內容中包含任一於此討論的詞彙之使用例子僅為示例,不應限制到本案之範圍與意涵。同樣地,本案亦不僅以於此說明書所示出的各種實施例為限。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,亦可指二或多個元件相互操作或動作。如本文所用,用語『電路』可為由至少一個電晶體與/或至少一個主被動元件按一定方式連接以處理訊號的裝置。
圖1為根據本案一些實施例繪製一種任務處理系統100的示意圖。於一些實施例中,任務處理系統100包含主處理器110、記憶體120、指令處理器130、指令處理器135、智慧處理器(intelligence processing unit,IPU)140以及智慧處理器145。上述的多個硬體元件可經由一或多個匯流排或資料線相互耦接。
主處理器110為任務處理系統100中的主要處理器,其具有相對較高的運算能力(相較於指令處理器130與/或指令處理器135)。例如,主處理器110可運行任務處理系統100上的作業系統(例如為,但不限於,Linux)。
在一些實施例中,記憶體120可為,但不限於,動態隨機存取記憶體。記憶體120儲存有多個韌體檔案D1~DM,智慧處理器140可根據要執行的任務(task)從多個韌體檔案D1~DM中選出一對應韌體檔案(後文簡稱為韌體檔案Di),並將此韌體檔案Di傳輸給指令處理器130,以使指令處理器130運行韌體檔案Di。如此,指令處理器130可運行一特定韌體(即韌體檔案Di所對應的韌體)以與智慧處理器140協同運作來完成所要執行的任務。
舉例而言,待執行的任務為使用一特定神經網路模型來執行的運算,其所使用的部分資料的資料格式較適合使用指令處理器130(相較於使用智慧處理器140)進行運算。透過解析描述該特定神經網路模型的相關資料,主處理器110可確認該特定神經網路模型與多個韌體檔案D1~DM中之至少一者的對應關係,並根據此對應關係確認適合該任務使用的韌體檔案Di。主處理器110可將上述的相關資訊一併傳輸到指令處理器130的任務佇列(如圖2B中的任務佇列TQ)中。如此一來,基於指令處理器130的觸發,智慧處理器140可根據上述的相關資訊來從多個韌體檔案D1~DM中選出韌體檔案Di。智慧處理器140可將韌體檔案Di傳輸給指令處理器130,並重新啟動指令處理器130來使得指令處理器130運行韌體檔案Di。具體地,智慧處理器140從記憶體120中獲取韌體檔案Di,並將所獲取到的韌體檔案Di傳輸給指令處理器130。上述的操作同樣適用於指令處理器135以及智慧處理器145,故於此不再重複贅述。
在一些實施例中,指令處理器130與指令處理器135中每一者可為精簡指令集處理器。在一些實施例中,指令處理器130與指令處理器135中每一者可為基於開源指令集架構(open standard instruction set architecture)的處理器。例如,指令處理器130與指令處理器135中每一者可為,但不限於,第五代
精簡指令集處理器(RISC-V)。指令處理器130與指令處理器135中每一者具有相對較低的運算能力(相較於主處理器110)。例如,指令處理器130與指令處理器135並不會執行任務處理系統100的作業系統,且其工作主要是從主處理器110接收指派給智慧處理器140與/或智慧處理器145進行處理的任務,進而執行智慧處理器140與/或智慧處理器145的任務調度。
智慧處理器140與/或智慧處理器145中每一者是用來執行一人工智慧技術的專用處理器,其可用來處理神經網路(例如包含,但不限於,卷積神經網路)的相關應用與/或運算。如前所述,指令處理器130用來處理智慧處理器140的任務調度,且指令處理器135用來處理智慧處理器145的任務調度。換言之,指令處理器130是對應於智慧處理器140設置,且指令處理器135是對應於智慧處理器145設置。在本申請的實施例中,一指令處理器與一智慧處理器一一對應。關於任務調度的詳細操作將於後參照圖3A說明。
在一些實施例中,多個智慧處理器140與145中每一者可為多核心智慧處理器中的一處理單元。類似地,在一些實施例中,多個指令處理器130與135中每一者可為多核心精簡指令集處理器中的一處理單元。上述關於多個指令處理器130與135以及多個智慧處理器140與145的設置方式與/或種類皆用於示例,且本案並不以此為限。另外,圖1僅以兩個指令處理器130與135與兩個智慧處理器140與145為例,但本案並不以此為限。依據實際應用需求,可相應調整任務處理系統100中所使用的指令處理器的數量與智慧處理器的數量。
圖2A為根據本案一些實施例繪製圖1的指令處理器130之示意圖。指令處理器130與指令處理器135具有相同架構。以指令處理器130為例,指令處理器130包含運算電路210以及緊密耦合記憶體(tightly coupled memory,
TCM)電路220。如後圖3A所述,運算電路210可根據對應任務來啟動(或觸發)智慧處理器140,並在智慧處理器140啟動後運行由智慧處理器140所傳送的韌體檔案Di以與智慧處理器140協同運作來執行該對應任務。再者,在智慧處理器140回報已執行完任務後,運算電路210會回報主處理器110該任務已執行完成。
緊密耦合記憶體電路220可用以儲存韌體檔案Di以及任務佇列(task queue)TQ,其中任務佇列TQ包含由主處理器110指派的至少一第一任務。詳細而言,緊密耦合記憶體電路220包含指令緊密耦合記憶體(Instruction tightly coupled memory,ITCM)222以及資料緊密耦合記憶體(data tightly coupled memory,DTCM)224。指令緊密耦合記憶體222儲存韌體檔案Di的指令資料ID。資料緊密耦合記憶體224包含資料區224A與資料區224B,其中資料區224A儲存韌體檔案Di的處理資料PD,且資料區224B儲存任務佇列TQ。一般而言,緊密耦合記憶體電路220的資料傳輸速率高於記憶體120的資料傳輸速率。因此,相較於在記憶體120上運行韌體檔案Di,運算電路210可運行儲存於緊密耦合記憶體電路220中的韌體檔案Di來獲得更快的處理速度。在一些實施例中,主處理器110具有將資料寫入緊密耦合記憶體電路220的能力,主處理器110在指派任務時可直接將任務相關資訊寫入緊密耦合記憶體電路220內的任務佇列TQ中,如此可提昇任務指派的效率。
圖2B為根據本案一些實施例繪製圖2A的任務佇列TQ之資料示意圖。在一些實施例中,任務佇列TQ可用來指示多個任務的處理順序。在一些實施例中,資料區224B可操作為環形緩衝區(ring buffer),其儲存有標頭H以及多個任務TK1~TKn等多個資訊。標頭H記錄讀取指標(read pointer)訊號RP
以及與寫入指標(write pointer)訊號WP。讀取指標訊號RP可指示儲存在資料區224B中的多個有效資料(即多個任務TK1~TKn的相關資訊)的開始位置,且寫入指標訊號WP可指示儲存在資料區224B中的多個有效資料的結尾位置。主處理器110可根據讀取指標訊號RP與寫入指標訊號WP之間的差值判斷資料區224B的剩餘資料容量。例如,若該差值越小且為正數,代表資料區224B具有越多的可用容量(即待處理的任務數量較少)。
在一些實施例中,主處理器110可根據第一差值(對應於指令處理器130)以及第二差值(對應於指令處理器135)來決定將待處理的任務分配到指令處理器130的任務佇列(例如為圖2B中的任務佇列TQ),或是分配到指令處理器135的任務佇列,其中第一差值是由指令處理器130的讀取指標訊號RP與寫入指標訊號WP之間的差值決定,而第二差值是由指令處理器135的讀取指標訊號與寫入指標訊號之間的差值決定。例如,若指令處理器130所對應的第一差值低於指令處理器135所對應的第二差值,代表指令處理器130的任務佇列中的任務數量較少(相較於指令處理器135)。於此條件下,主處理器110可優先將待處理的任務分配為經由指令處理器130進行調度的第一任務。或者,若指令處理器135所對應的第二差值低於指令處理器130所對應的第一差值,代表指令處理器135的任務佇列中的任務數量較少(相較於指令處理器130)。於此條件下,主處理器110可優先將待處理的任務分配為經由指令處理器135進行調度的第二任務。進一步來說,當任務處理系統100包含多組的指令處理器及智慧處理器時,主處理器110係比較各指令處理器對應的讀取指標訊號RP與寫入指標訊號WP之間的差值來分配任務。
多個任務TK1~TKn的相關資訊包含寫入智慧處理器140的多個暫存器的資訊。以任務TK1為例,任務TK1的相關資訊可包含,但不限於,智慧處理器的指令(標註為IPU指令)之儲存地址、智慧處理器的資料(標註為IPU資料)之儲存地址、記憶體管理單元(memory management unit)表的儲存地址以及韌體檔案Di的儲存地址。在此實施例中,前述各儲存地址係指在記憶體120中的地址,也就是說,任務處理系統100或主處理器110係事先將與各任務相關的指令及資料儲存於記憶體120,並於指派任務時將相關指令及資料的儲存地址包含於任務TK1~TKn的任務訊息中。當運算電路210根據讀取指標訊號RP讀取到任務TK1時,運算電路210可啟動智慧處理器140,並將任務TK1的相關資訊寫入智慧處理器140。
如此一來,智慧處理器140可根據韌體檔案Di的儲存地址獲得韌體檔案Di的儲存地址而自記憶體120獲得該韌體檔案Di,並根據其他資訊來獲得執行任務TK1所需的指令與資料。如此,智慧處理器140可執行前述的操作來重新啟動指令處理器130,以與指令處理器130協同運作來完成任務TK1的相關運算。
圖3A為根據本案一些實施例繪製的圖1的主處理器110、智慧處理器140以及指令處理器130之間的運作時序示意圖。
在操作S301,主處理器110在系統上電後啟動智慧處理器140,以執行首次任務。在操作S302,智慧處理器140可選對應於首次任務的韌體檔案,並啟動指令處理器130以協同執行首次任務。例如,在任務處理系統100上電後,主處理器110可響應用戶層中的軟體應用所發出的首次任務將任務相關資訊寫入智慧處理器140的暫存器並啟動智慧處理器140。智慧處理器140可根據首
次任務的相關資訊自記憶體120中挑出對應韌體檔案(假設為韌體檔案D1)。智慧處理器140可傳輸韌體檔案D1給指令處理器130,並啟動指令處理器130,以使指令處理器130運行韌體檔案D1以與智慧處理器140協同運作來執行該首次任務。
在操作S303,智慧處理器140通知指令處理器130首次任務已完成,並進入休眠模式。在操作S304,指令處理器130通知主處理器110首次任務已完成。例如,在首次任務執行完後,智慧處理器140可藉由發出中斷請求(Interrupt Request)來通知指令處理器130該首次任務已完成。類似地,在接收到智慧處理器140的回應後,指令處理器130可藉由發出中斷請求來通知主處理器110該首次任務已完成。在一些實施例中,智慧處理器140每完成一任務即進入休眠模式,以節省電源,休眠模式可為關機、省電模式、待機模式或其他具有低功耗的操作模式。在一些實施例中,指令處理器130還將任務執行後的運行結果反饋給主處理器110。
在操作S305,指令處理器130響應一任務重新啟動智慧處理器140。在操作S306,智慧處理器140選擇對應於該任務的韌體檔案,並重新啟動指令處理器130來運行該韌體檔案以執行該任務。例如,指令處理器130可根據圖2B中的任務佇列TQ(其包含由主處理器110分配的一或多個任務)中讀取尚未執行的一任務(例如為任務TK1),並重新啟動智慧處理器140並將任務TK1的相關資訊傳送給智慧處理器140(即將任務相關資訊寫入智慧處理器140的暫存器),由於此時智慧處理器140係在休眠模式中,此處的重新啟動包括喚醒智慧處理器140。換言之,指令處理器130響應一任務可在未收到主處理器110的指令下重新啟動智慧處理器140以執行下一個任務(例如為任務TK1)。智慧處理
器140可根據任務TK1的相關資訊確認記憶體120中對應於任務TK1的韌體檔案(假設為韌體檔案D2)。如此,智慧處理器140可傳輸韌體檔案D2給指令處理器130,並重新啟動指令處理器130,以使指令處理器130運行韌體檔案D2以與智慧處理器140協同運作來執行任務TK1。在一些實施例中,智慧處理器140可包含一直接記憶體存取電路,其耦接記憶體120及指令處理器130內的緊密耦合記憶體電路220,智慧處理器140可利用此直接記憶體存取電路將韌體檔案D2自記憶體120寫入指令處理器130的緊密耦合記憶體電路220中。在操作S307,智慧處理器140通知指令處理器130該任務(例如為任務TK1)已完成,並進入休眠模式。在操作S308,指令處理器130通知主處理器110該任務(例如為任務TK1)已完成。
當任務佇列TQ中存在尚未執行的任務時,即進行操作S309~S312,操作S309~S312的細節類似於操作S305~S308,在此不再贅述。
依此類推,應可理解,在一些實施例中,在任務處理系統100上電後的首次任務中,智慧處理器140是經由主處理器110啟動。在之後的運作過程中,智慧處理器140是經由指令處理器130啟動來執行後續的任務。再者,在執行任務的過程中,智慧處理器140與指令處理器130是相互啟動。在每次執行完任務後,智慧處理器140會進入休眠模式來降低功耗,直到經由指令處理器130重新啟動。在每次執行任務時,智慧處理器140選擇合適的韌體檔案,並傳輸此韌體檔案給指令處理器130,並重新啟動指令處理器130。經重新啟動後的指令處理器130可運行儲存於緊密耦合記憶體電路220中的韌體檔案,以與智慧處理器140協同運作來完成任務。藉由每個任務選擇對應的韌體檔案,每個韌體檔案可非常精簡又符合任務的需求,進而降低指令處理器130執行韌體檔案時所
耗費的資源並減少緊密耦合記憶體電路220的容量需求。在上述任務調度的過程中,主處理器110每次在指派任務後即釋放相關內核線程(kernel thread),智慧處理器140與指令處理器130在執行任務時不會用到主處理器110的內核線程。如此,可降低對主處理器110的依賴,並可降低主處理器110的負載量,從而獲得低延遲的處理時間。
圖3A是以主處理器110、智慧處理器140以及指令處理器130為例進行說明。主處理器110、智慧處理器145以及指令處理器135之間的運作時序可參照圖3A理解,故不再重複贅述。另外,由於任務處理系統100為並列架構,故智慧處理器140以及指令處理器130之間的運作可與智慧處理器145以及指令處理器135之間的運作並列處理。
圖3B為根據本案一些實施例繪製圖1的主處理器110、指令處理器130以及指令處理器135之間的運作時序示意圖。如前所述,主處理器110可根據第一差值以及第二差值來決定將待處理的任務分配到指令處理器130的任務佇列(例如為圖2B中的任務佇列TQ),或是分配到指令處理器135的任務佇列。第一差值是由指令處理器130的讀取指標訊號RP與寫入指標訊號WP(如圖2B所示)之間的差值決定。類似地,第二差值是由指令處理器135的讀取指標訊號與寫入指標訊號之間的差值決定。
在圖3B的例子中,假設指令處理器135的任務佇列較滿,因此在操作S320、操作S321中,主處理器110可根據具有較低數值的第一差值來將任務指派到智慧處理器130的任務佇列。接著,在操作S322中,主處理器110可根據具有較低數值的第二差值來將任務指派到智慧處理器135的任務佇列。依此類推,在操作S323中,主處理器110可根據具有較低數值的第一差值來將任務指派
到智慧處理器130的任務佇列。在操作S324中,主處理器110可根據具有較低數值的第二差值來將任務指派到智慧處理器135的任務佇列。藉由上述的操作,主處理器110可將新的任務指派到具有較少的待執行任務的指令處理器,以降低整體運作上的延遲(或等待)時間。
在一些實施例中,圖3A所示的運作時序與圖3B所示的運作時序可並列地進行。換句話說,在指令處理器130接收任務的運作時序(即圖3B所示的時序)可獨立於智慧處理器140執行對應任務的運作時序(即圖3A所示的時序)。詳細而言,智慧處理器140可根據指令處理器130的任務佇列TQ來執行待執行的任務,而不用依賴或等待主處理器110的指令與/或響應。類似地,主處理器110可根據前述的第一差值與第二差值來分配任務,而不用依賴或等待智慧處理器140與/或智慧處理器145的回應。如此,主處理器110、智慧處理器140與/或智慧處理器145可獨立且並行地執行各自的運作,以提高整體處理效率。
圖4為根據本案一些實施例繪製的一種任務處理方法400的流程圖。在操作S410,藉由指令處理器響應源自一主處理器的一任務啟動智慧處理器。在操作S420,藉由智慧處理器根據該任務自複數個韌體檔案中選取對應韌體檔案,並重新啟動指令處理器以使指令處理器運行對應韌體檔案。在操作S430,藉由該智慧處理器與該指令處理器協同運作以完成該任務。
上述多個操作之說明可參照前述各個實施例,故不再重複贅述。上述任務處理方法400的多個操作僅為示例,並非限定需依照此示例中的順序執行。在不違背本案的各實施例的操作方式與範圍下,在任務處理方法400下的各種操作當可適當地增加、替換、省略或以不同順序執行(例如可以是同時執行或是部分同時執行)。
綜上所述,本案一些實施例中的任務處理系統以及任務處理方法可利用指令處理器來實現具有並行性的任務調度與可獨立執行各自操作的系統架構。如此,可降低主處理器的負載並來獲得具有較低延遲的任務處理時間,從而改善整體系統的運行效率。
雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
100:任務處理系統
110:主處理器
120:記憶體
130,135:指令處理器
140,145:智慧處理器
D1~DM,Di:韌體檔案
Claims (14)
- 一種任務處理系統,包含:一第一智慧處理器;以及一第一指令處理器,接收源自一主處理器的一第一任務,並響應該第一任務啟動該第一智慧處理器,其中,該第一智慧處理器根據該第一任務自複數個韌體檔案中選取一對應韌體檔案,並重新啟動該第一指令處理器以使該第一指令處理器運行該對應韌體檔案,以及與該第一指令處理器協同運作完成該第一任務。
- 如請求項1之任務處理系統,其中該第一指令處理器包含:一運算電路,根據該第一任務啟動該第一智慧處理器,並運行該對應韌體檔案以與該第一智慧處理器協同運作來執行該第一任務;以及一緊密耦合記憶體電路;其中,該第一智慧處理器將該對應韌體檔案儲存於該緊密耦合記憶體電路中。
- 如請求項1之任務處理系統,其中該第一任務的資訊包括該第一智慧處理器的指令於一記憶體的儲存地址及該對應韌體檔案於該記憶體的儲存地址。
- 如請求項1之任務處理系統,其中該第一指令處理器包含一緊密耦合記憶體電路,該主處理器係將該第一任務的資訊儲存於該緊密耦合記憶體電路中。
- 如請求項1之任務處理系統,其中該第一智慧處理器在該任務處理系統上電後是經由該主處理器直接啟動以執行一首次任務,且在該首次任務執行之後,該第一智慧處理器為經由該第一指令處理器重新啟動。
- 如請求項1之任務處理系統,其中在該第一智慧處理器執行該第一任務後,該第一智慧處理器進入一休眠模式直到經由該第一指令處理器重新啟動。
- 如請求項1之任務處理系統,其中該第一指令處理器啟動該第一智慧處理器時未佔用該主處理器的一內核線程。
- 如請求項1之任務處理系統,更包含:一第二智慧處理器;以及一第二指令處理器,接收源自該主處理器的一第二任務,並響應該第二任務啟動該第二智慧處理器,以執行該第二任務,其中,該第一指令處理器中儲存有包括該第一任務的一第一任務佇列,該第二指令處理器中儲存有包括該第二任務的一第二任務佇列,該主處理器根據一第一差值與一第二差值決定將待處理的任務寫入該第一任務佇列或是該第二任務佇列,該第一差值為根據對應於該第一指令處理器的一第一讀取指標訊號與一第一寫入指標訊號決定,且該第二差值為根據對應於該第二指令處理器的一第二讀取指標訊號與一第二寫入指標訊號決定。
- 如請求項1之任務處理系統,其中該第一指令處理器的運算能力低於該主處理器的運算能力。
- 如請求項1之任務處理系統,其中該任務處理系統的一作業系統由該主處理器執行。
- 如請求項1之任務處理系統,其中該第一指令處理器為基於開源指令集架構的處理器。
- 一種任務處理方法,應用於一處理系統,其包含: 藉由一指令處理器響應一源自一主處理器之一任務啟動一智慧處理器;藉由該智慧處理器根據該任務自複數個韌體檔案中選取一對應韌體檔案,並重新啟動該指令處理器以使該指令處理器運行該對應韌體檔案;以及藉由該智慧處理器與該指令處理器協同運作以完成該任務。
- 如請求項12之任務處理方法,其中該智慧處理器將該對應韌體檔案儲存於該指令處理器之一緊密耦合記憶體電路中。
- 如請求項12之任務處理方法,其中該主處理器將該任務的資訊儲存於該指令處理器之一緊密耦合記憶體電路中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111141688A TWI823655B (zh) | 2022-11-01 | 2022-11-01 | 適用於智慧處理器的任務處理系統與任務處理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111141688A TWI823655B (zh) | 2022-11-01 | 2022-11-01 | 適用於智慧處理器的任務處理系統與任務處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI823655B true TWI823655B (zh) | 2023-11-21 |
TW202420083A TW202420083A (zh) | 2024-05-16 |
Family
ID=89722732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111141688A TWI823655B (zh) | 2022-11-01 | 2022-11-01 | 適用於智慧處理器的任務處理系統與任務處理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI823655B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026521A (zh) * | 2018-10-10 | 2020-04-17 | 上海寒武纪信息科技有限公司 | 任务调度器、任务处理系统及任务处理方法 |
TW202134869A (zh) * | 2019-10-28 | 2021-09-16 | 雲象科技股份有限公司 | 強化計算圖執行之記憶體利用及效能 |
CN113778487A (zh) * | 2021-09-10 | 2021-12-10 | 深圳朴生智能科技有限公司 | 一种智能处理模组的软件上注系统和方法 |
CN113867914A (zh) * | 2021-09-27 | 2021-12-31 | 上海商汤智能科技有限公司 | 任务调度方法及装置、电子设备和存储介质 |
US20220342761A1 (en) * | 2021-04-22 | 2022-10-27 | Nvidia Corporation | Techniques for recovering from errors when executing software applications on parallel processors |
-
2022
- 2022-11-01 TW TW111141688A patent/TWI823655B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026521A (zh) * | 2018-10-10 | 2020-04-17 | 上海寒武纪信息科技有限公司 | 任务调度器、任务处理系统及任务处理方法 |
TW202134869A (zh) * | 2019-10-28 | 2021-09-16 | 雲象科技股份有限公司 | 強化計算圖執行之記憶體利用及效能 |
US20220342761A1 (en) * | 2021-04-22 | 2022-10-27 | Nvidia Corporation | Techniques for recovering from errors when executing software applications on parallel processors |
CN113778487A (zh) * | 2021-09-10 | 2021-12-10 | 深圳朴生智能科技有限公司 | 一种智能处理模组的软件上注系统和方法 |
CN113867914A (zh) * | 2021-09-27 | 2021-12-31 | 上海商汤智能科技有限公司 | 任务调度方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649935B2 (en) | Deferred inter-processor interrupts | |
TWI739345B (zh) | 中斷處理系統與中斷處理方法 | |
WO2018018611A1 (zh) | 一种任务处理方法以及网卡 | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
EP3588288A1 (en) | A multithreaded processor core with hardware-assisted task scheduling | |
US10459771B2 (en) | Lightweight thread synchronization using shared memory state | |
US20240143392A1 (en) | Task scheduling method, chip, and electronic device | |
WO2023216629A1 (zh) | 异构计算中多进程管理方法及计算设备 | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及系统 | |
US11422849B2 (en) | Technology for dynamically grouping threads for energy efficiency | |
CN112306652A (zh) | 带有上下文提示的功能的唤醒和调度 | |
WO2024007934A1 (zh) | 中断处理方法、电子设备和存储介质 | |
CN112949847A (zh) | 神经网络算法加速系统、调度系统及调度方法 | |
TWI823655B (zh) | 適用於智慧處理器的任務處理系統與任務處理方法 | |
US20230384855A1 (en) | Reducing system power consumption when capturing data from a usb device | |
WO2010137092A1 (ja) | マルチオペレーティングシステム制御方法及びプロセッサシステム | |
US11526767B2 (en) | Processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process | |
CN112114967B (zh) | 一种基于服务优先级的gpu资源预留方法 | |
TW202420083A (zh) | 適用於智慧處理器的任務處理系統與任務處理方法 | |
US6708259B1 (en) | Programmable wake up of memory transfer controllers in a memory transfer engine | |
US20240231899A9 (en) | Task processing system and task processing method applicable to intelligence processing unit | |
WO2024045580A1 (zh) | 用于调度任务的方法及其相关产品 | |
WO2023231768A1 (zh) | 一种多核处理器及相关核间通信方法 | |
US11921563B1 (en) | Operating device of cross-power domain multiprocessor and communication method thereof | |
WO2024114728A1 (zh) | 一种异构处理器及相关调度方法 |