TWI774081B - 具有多工處理的晶片 - Google Patents
具有多工處理的晶片 Download PDFInfo
- Publication number
- TWI774081B TWI774081B TW109135246A TW109135246A TWI774081B TW I774081 B TWI774081 B TW I774081B TW 109135246 A TW109135246 A TW 109135246A TW 109135246 A TW109135246 A TW 109135246A TW I774081 B TWI774081 B TW I774081B
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- resource
- authorization code
- chip
- values
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種具有多工處理的晶片包含多個控制電路以及資源控制器。每個控制電路用以發出工作請求,根據授權碼執行對應授權碼的工作程序,並在結束工作程序時,產生結束訊號。資源控制器包含儲存電路、處理電路以及轉換電路。儲存電路儲存有多個指標值。每個指標值的位元數為一位元。處理電路根據每個結束訊號,更新對應於工作程序的授權碼所關聯的指標值的一狀態。轉換電路用以響應每個工作請求,於每個指標值中至少一的狀態為有資源時,輸出有資源狀態的一個指標值所關聯的授權碼,於指標值的狀態均為無資源時,不輸出任何授權碼。
Description
本發明是有關於一種多工處理技術,尤其是一種多工處理資源管控的晶片及其方法。
一般單晶片在運作時,由於晶片內硬體資源有限,晶片無法無限制的授權晶片內處理器進行多工處理。因此晶片以其資源控制器控管硬體資源以確保單晶片可以同時進行的工作數量,避免其工作量超出其負荷。例如處理器先向資源控制器發出工作請求,資源控制器判斷資源數量是否充足,若資源數量充足,資源控制器則發送使用權給發出工作請求的處理器,處理器獲得使用權後始得進行工作,並在完成工作後返還使用權給資源控制器。前述使用權的數量與資源數量相當,且每個使用權在資源控制器中所佔的記憶體的大小與資源數量成正比,因此,當單晶片的多工能力愈強時,使用權的數量及每個使用權所佔記憶體即愈大,用以儲存該些使用權的記憶體即需愈多,造成巨大的儲存成本。
鑒於上述,本案提供一具有多工處理的晶片及其資源控管方法,以降低使用權大幅佔用記憶體的情形。
在一些實施例中,具有多工處理的晶片包含多個控制電路
以及資源控制器。每個控制電路用以發出一工作請求,根據一授權碼執行對應授權碼的一工作程序,並在結束工作程序時,產生對應授權碼的一結束訊號。資源控制器耦接控制電路。資源控制器包含儲存電路、處理電路以及轉換電路。儲存電路儲存有多個指標值,其中每個指標值的位元數為一位元,每個指標值關聯授權碼其中之一。處理電路耦接儲存電路。處理電路根據每個結束訊號,更新對應於工作程序的授權碼所關聯的指標值的一狀態。轉換電路耦接儲存電路及處理電路。轉換電路用以響應每個工作請求,於指標值中至少一的狀態為一有資源時,輸出有資源狀態的一個指標值所關聯的授權碼,於指標值的狀態均為一無資源時,不輸出任何授權碼。
因此,依據一些實施例,藉由資源控制器所儲存的指標值的位元數為一位元,來大幅降低儲存成本。資源控制器的每個指標值僅需單一位元,整個資源控制器的製造成本即大為降低。依據一些實施例,轉換電路用以將僅為單一位元的指標值分別轉換成不同的授權碼。當資源控制器收到控制電路發出請求時,選定一可用指標值、及控制轉換電路將該可用指標值轉換為一對應的授權碼,該發出請求之控制電路即依該對應授權碼執行工作,如此,晶片即可具有多工處理的能力。因此,資源控制器藉由僅具一位元的指標值及轉換電路,即可達成資源控管及降低儲存成本之效果,相較於先前技術,資源控制器中用以儲存可用資源的記憶體大小即大為降低。
100:晶片
110A~110C:控制電路
120:資源控制器
122:儲存電路
123:處理電路
124:轉換電路
125:偵測電路
126:循環電路
128:先進先出電路
130:晶片電路
200_0~200_7:指標值
300:對照表
S701~S717:步驟
[圖1]繪示本發明一些實施例之具有多工處理的晶片之方塊示意圖。
[圖2]繪示本發明一些實施例之資源控制器之方塊示意圖。
[圖3]繪示本發明一些實施例之指標值組合而成的位元組之示意圖。
[圖4]繪示本發明一些實施例之轉換電路的對照表之示意圖。
[圖5]繪示本發明一些實施例之資源控制器之方塊示意圖。
[圖6]繪示本發明一些實施例之資源控制器之方塊示意圖。
[圖7]繪示本發明一些實施例之多工處理的資源控管方法之流程示意圖。
參照圖1,繪示本發明一些實施例之具有多工處理的晶片100之方塊示意圖。在一些實施例中,具有多工處理的晶片100包含多個控制電路110A至110C及資源控制器120。控制電路110A至110C耦接資源控制器120。在一些實施例中,具有多工處理的晶片100包含多個控制電路110A至110C、資源控制器120以及晶片電路130。控制電路110A至110C耦接資源控制器120及晶片電路130。在一些實施例中,晶片100內部元件(例如控制電路110A至110C、資源控制器120及晶片電路130)之間的耦接例如但不限於控制訊號、資料匯流排及位址匯流排(外部匯流排)。在此,控制電路110A至110C一般為複數個,但本發明不以此為限。
晶片100是具有控制電路110A至110C及資源控制器120的晶片,例如但不限於系統單晶片(System on a chip,SOC)。在一些實施例中,晶片100為具有中央處理器、圖形處理器(Graphics
Processing Unit,GPU)、影像處理器(Image processing Unit)及記憶體資源控制器(Memory resource controller)的系統晶片,控制電路110A至110C即可分別為中央處理器、圖形處理器及影像處理器,而資源控制器120即可為記憶體資源控制器。晶片電路130為該晶片100除了控制電路110A至110C及資源控制器120以外之電路,例如但不限於電源管理電路、週邊介面電路、匯流排、特定功能電路、輸出入埠、資料壓縮器(Compressor)及直接存取記憶體控制器(Direct Memory Access,DMA)等。
在一些實施例中,資源控制器120包含儲存電路122、處理電路123以及轉換電路124。資源控制器120用以控管晶片100的可用資源數量,並在有可用資源的情形下,授權控制電路110A至110C執行工作程序以控制晶片電路130的運作(容後詳述)。儲存電路122為資源控制器120內部的記憶體,但本發明不限於此,在一些實施例中,儲存電路122可以是資源控制器120外部的記憶體,資源控制器120耦接儲存電路122。處理電路123耦接儲存電路122及轉換電路124。轉換電路124耦接儲存電路122及處理電路123。在一些實施例中,資源控制器120內部元件(例如,儲存電路122、處理電路123以及轉換電路124)之間的耦接例如但不限於資料匯流排及位址匯流排(內部匯流排)。
每個控制電路110A至110C用以發出一工作請求。具體來說,每個控制電路110A至110C依其工作需求,分別發出一工作請求至資源控制器120。舉例來說,第一控制電路110A有工作需求時,第一控制電路110A即發出一工作請求至資源控制器120;第三控制電路110C
有工作需求時,第三控制電路110C即發出一工作請求至資源控制器120。工作請求可為一準位訊號或一指令,例如但不限於高及/或低準位訊號、精簡指令集(RISC,Reduced Instruction Set)及/或複雜指令集(CISC,Complex Instruction Set)等。
資源控制器120的轉換電路124用以響應每個工作請求。具體來說,轉換電路124響應每個工作請求而啟動。舉例而言,第一控制電路110A發出一工作請求至資源控制器120時,轉換電路124即響應來自第一控制電路110A的工作請求而啟動;第三控制電路110C發出一工作請求至資源控制器120時,轉換電路124即響應來自第三控制電路110C的工作請求而啟動。在一些實施例中,如圖2所示,圖2繪示本發明一些實施例之資源控制器120之方塊示意圖,資源控制器120還包含偵測電路125,偵測電路125耦接控制電路110A至110C、處理電路123及轉換電路124,偵測電路125用以偵測來自控制電路110A至110C的工作請求,並在偵測到工作請求時,發送啟動訊號至轉換電路124,致使轉換電路124響應啟動訊號而啟動。偵測電路125可為訊號接收器。
請參照圖3,圖3繪示本發明一些實施例之指標值200_0至200_7組合而成的位元組之示意圖。儲存電路122用以儲存多個指標值200_0至200_7。儲存電路122可以是但不限於靜態隨機存取記憶體(Static Random Access Memory,SRAM)、指令暫存器(register)、位址暫存器、一般用途暫存器、旗標暫存器、及快取記憶體中任一種或其任何組合。儲存電路122所儲存之資料為供資源控制器120控管晶片100的可用資源及授權控制電路110A至110C以執行工作程序。在一些實施
例中,儲存電路122還儲存有每個指標值200_0至200_7所分別對應之位址參數。
每個指標值200_0至200_7的位元數為一位元。指標值200_0至200_7的數量相當於晶片100的資源,亦即當晶片100的資源愈多時,指標值200_0至200_7的數量即愈多。指標值200_0至200_7的狀態依據資源是否為可用而區分為「有資源」(可用資源)及「無資源」(無可用資源)。當晶片100初始化後(即在所有控制電路110A至110C尚未發出任何工作請求前),所有指標值200_0至200_7的狀態均為「有資源」。當晶片100開始運作,部分指標值200_0至200_7的狀態變為「無資源」,代表晶片100的部分資源被使用,其餘指標值200_0至200_7的狀態則為「有資源」。當晶片100的運作滿載時,所有指標值200_0至200_7的狀態均為「無資源」。
在一些實施例中,如圖3所示,指標值200_0至200_7可以組合為一位元組,例如指標值200_0至200_7的數量為八個,則可以組合為一八位元之位元組。
在一些實施例中,指標值200_0至200_7可以為邏輯值或數位訊號。在一些實施例中,當指標值200_0至200_7為有資源時,指標值200_0至200_7為邏輯值1或數位訊號1;指標值200_0至200_7為無資源時,指標值200_0至200_7為邏輯值0或數位訊號0,但並不以此為限。在其他實施例中,當指標值200_0至200_7為有資源時,指標值200_0至200_7為邏輯值0或數位訊號0;指標值200_0至200_7為無資源時,指標值200_0至200_7為邏輯值1或數位訊號1。
每一指標值200_0至200_7關聯一授權碼,資源控制器120響應控制電路(以110A為例)發出的工作請求,並於至少一指標值200_0至200_7的狀態為有資源時,發出狀態為有資源的指標值(簡稱有資源狀態的指標值)200_0至200_7所關聯的授權碼予該第一控制電路110A,該第一控制電路110A依據該授權碼進行其工作。
具體而言,資源控制器120的轉換電路124響應每個工作請求,於至少一指標值200_0至200_7中至少一的狀態為一有資源時,輸出有資源狀態的指標值200_0至200_7其中之一所關聯的授權碼,轉換電路124於指標值200_0至200_7的狀態均為一無資源時,不輸出任何授權碼。舉例來說,轉換電路124響應來自第一控制電路110A的工作請求,轉換電路124判斷指標值200_0至200_7的狀態,並在指標值200_0至200_7中至少一的狀態為有資源時(例如第二、四指標值200_1,200_3),轉換電路124輸出有資源狀態的指標值(200_1,200_3)其中之一(200_1)所關聯的授權碼至第一控制電路110A;當轉換電路124響應來自第三控制電路110C的工作請求,且仍有有資源狀態的指標值(第四指標值200_3)時,轉換電路124輸出有資源狀態的指標值其中之一(第四指標值200_3)所關聯的授權碼至第三控制電路110C。若指標值200_0至200_7的狀態均為一無資源時,轉換電路124不輸出任何授權碼至任何控制電路110A至110C。所述授權碼例如但不限於邏輯值、序列號或是數位訊號等。
請同時參閱圖3及圖4,圖4繪示本發明一些實施例之轉換電路124的對照表300之示意圖。在一些實施例中,授權碼的位元數大於
指標值200_0至200_7的位元數。例如圖4所示,授權碼的位元數為三位元,指標值200_0至200_7的位元數為一位元,代表晶片100有八個多工資源數量可用。在一些實施例中,授權碼的位元數可組合成的邏輯值的數量為指標值200_0至200_7的數量。例如指標值200_0至200_7的數量為二百五十六個,則授權碼的位元數為八個且其可組合成的邏輯值的數量為二百五十六個(亦即授權碼的數量為二百五十六個)。在一些實施例中,授權碼皆具有相同的位元數。
接收到授權碼後,控制電路110A至110C根據授權碼執行對應該授權碼的一工作程序。在一些實施例中,控制電路110A至110C根據授權碼執行對應該授權碼的一工作程序,以控制晶片電路130的運作。例如,接收到授權碼的控制電路110A至110C將授權碼、一標頭(Header)及一指令傳送至晶片電路130,晶片電路130響應授權碼及標頭,並根據指令執行對應的運作。在此,標頭代表工作程序為執行的狀態。在一些實施例中,標頭可具有對應控制電路110A至110C的產品序號等。
控制電路110A至110C在結束工作程序時,產生對應該授權碼的一結束訊號,並將結束訊號發送至資源控制器120,其表示:控制電路110A至110C完成工作程序,並欲返還被授權的資源給晶片100。其中,結束訊號可為包含對應工作程序的授權碼及一標頭。於此,標頭代表工作程序為結束的狀態。
資源控制器120的處理電路123根據來自控制電路110A至110C的每個結束訊號,更新對應於工作程序的授權碼所關聯的指標值
200_0至200_7的狀態。舉例來說,處理電路123自第一控制電路110A獲得結束訊號,並根據結束訊號的標頭確認第一控制電路110A之工作程序已結束,進而確認第一控制電路110A欲返還資源給晶片100。處理電路123根據結束訊號的授權碼(即對應於已結束的工作程序所使用的授權碼,例如第一控制電路110A之已結束的工作程序所對應的授權碼),更新於儲存電路122中該授權碼(即對應於已結束的工作程序所使用的授權碼)所關聯的指標值200_0至200_7的狀態,以完成第一控制電路110A之返還資源給晶片100的程序。
在一些實施例中,處理電路123根據來自控制電路110A至110C的每個結束訊號,將對應於工作程序的授權碼所關聯的指標值200_0至200_7的狀態從無資源更新為有資源。亦即控制電路110A至110C返還資源給晶片100。舉例而言,處理電路123透過轉換電路124而取得來自控制電路110A至110C的每個結束訊號的授權碼所關聯的指標值200_0至200_7,並於儲存電路122中,將取得的指標值200_0至200_7的狀態從無資源更新為有資源。在一些實施例中,處理電路123透過轉換電路124而根據每個結束訊號的授權碼查找對照表300(如圖4所示),以獲取每個結束訊號的授權碼所關聯的指標值200_0至200_7。在一些實施例中,如圖2所示,偵測電路125還耦接處理電路123,處理電路123經由偵測電路125而自控制電路110A至110C接收每個結束訊號。
因此,在一些實施例中,資源控制器120藉由指標值200_0至200_7控管晶片100的可用資源數量,並在有可用資源的情形下,經
由轉換電路124將有資源狀態的指標值200_0至200_7轉換為授權碼,以授權控制電路110A至110C(輸出有資源狀態的指標值200_0至200_7所關聯的授權碼至對應的控制電路110A至110C),使控制電路110A至110C執行工作程序以控制晶片電路130的運作,並在結束工作程序後,控制電路110A至110C返還資源給晶片100。
在一些實施例中,資源控制器120藉由每個指標值200_0至200_7僅具單一位元及轉換電路124,即可完成晶片100之資源的控管,使晶片100具有多工處理的能力並達成降低儲存成本的效果。舉例來說,若使用習知之資源控管技術,例如晶片100於儲存電路122中直接儲存授權碼(例如晶片具有二百五十六個可用資源,並直接於儲存電路122中儲存二百五十六個八位元的授權碼),即會造成巨大的儲存成本(例如佔用二千零四十八個位元(以二百五十六乘以八位元而得)),且每個授權碼在資源控制器120中所佔的記憶體的大小與資源數量成正比,因此,當晶片100的多工能力愈強時,授權碼的數量及每個授權碼所佔記憶體即愈大;或是例如整合四個控管六十四個資源的資源控制器120、四個控管一百二十八個資源的資源控制器120、三個控管二百五十六個資源的資源控制器120、兩個控管五百一十二個資源的資源控制器120、一個控管七百六十八個資源的資源控制器120以及一個控管一千零二十四個資源的資源控制器120,所需佔用的記憶體儲存空間為十一萬七千四百八十一平方微公尺(μm 2)。而於此,資源控制器120藉由儲存電路122儲存僅具單一位元的指標值200_0至200_7及轉換電路124,相較於習知技術,即可以將記憶體儲存空間降低至少30%,例如只佔用二
百五十六個位元的記憶體(以二百五十六個指標值200_0至200_7乘以一位元而得),且當晶片100的多工能力愈強時,相較於習知技術可以更加的降低所佔之記憶體容量;或是例如整合前述舉例之資源控制器120,所需的記憶體儲存空間可降低為三萬兩千一百六十六平方微公尺(μm 2)。
在一些實施例中,在轉換電路124輸出授權碼時,處理電路123將當前被輸出的授權碼所關聯的指標值200_0至200_7的狀態更改為無資源。轉換電路124輸出授權碼至控制電路110A至110C時,發送一狀態控制訊號至處理電路123,處理電路123根據狀態控制訊號啟動,並於儲存電路122中,將當前被轉換電路124輸出的授權碼所關聯的指標值200_0至200_7的狀態從有資源更改為無資源。亦即在資源控制器120將資源派發給控制電路110A至110C後,將指標值200_0至200_7的狀態更改為無資源。狀態控制訊號可為高準位訊號或低準位訊號。
在一些實施例中,每個控制電路110A至110C分別在不同的時點發出工作請求。例如第一控制電路110A發出工作請求後,第二控制電路110B於晚第一控制電路110A 10微秒的時點發出工作請求,第三控制電路110C於晚第二控制電路110B 10微秒的時點發出工作請求,然本發明並不以此為限。在一些實施例中,每一個控制電路110A至110C可以依據自身的時脈訊號來發出工作請求,且由於每一個控制電路110A至110C可以依據其工作需求而發出工作請求,因此每個控制電路110A~110C發出工作請求的時點可以相同或不同。在一些實施例中,每個控制電路110A至110C在結束其工作程序後,產生對應授權碼的結
束訊號,並若還有工作需求時,即發出另一工作請求至資源控制器120。
在一些實施例中,轉換電路124為一邏輯電路,具有一或多個輸入端以及一或多個輸出端,轉換電路124的輸入端耦接儲存電路122,並在偵測到至少一指標值200_0至200_7的狀態為有資源時,於轉換電路124的輸出端輸出至少一邏輯結果,亦即指標值200_0至200_7經由輸入端輸入至邏輯電路後,於輸出端輸出授權碼(邏輯結果)。邏輯電路可以是但不限於一個邏輯閘,也可以是多個邏輯閘的組合,其中邏輯閘例如但不限於反閘、及閘、或閘、互斥或閘、緩衝閘或其他邏輯閘等。邏輯結果可為邏輯0與邏輯1的組合。在一些實施例中,轉換電路124的輸入端還耦接控制電路110A至110C,以接收並響應來自控制電路110A至110C的工作請求。
在一些實施例中,如圖4所示,對照表300為將指標值200_0至200_7分別關聯於不同的授權碼。例如對照表300將不同的指標值200_0至200_7分別關聯於具有不同邏輯值之授權碼。在一些實施例中,對照表300中的授權碼皆具有相同的位元數。
在一些實施例中,資源控制器120的轉換電路124響應每個來自控制電路110A至110C的工作請求而偵測指標值200_0至200_7的狀態,於指標值200_0至200_7中的至少一的狀態為有資源時,從有資源狀態的指標值200_0至200_7中選取其中之一,並根據被選取的指標值200_0至200_7及該對照表300,取得被選取的指標值200_0至200_7所關聯的授權碼,並輸出被選取的指標值200_0至200_7所關聯的授權碼至對應被響應的工作請求所對應的控制電路110A至110C。
續,舉例來說,以第一控制電路110A及第三控制電路110C為例,第三控制電路110C較第一控制電路110A晚發出工作請求,轉換電路124先響應來自第一控制電路110A的工作請求而偵測指標值200_0至200_7的狀態,於至少一指標值200_0至200_7的狀態為有資源時,從有資源狀態的指標值200_0至200_7中選取其中之一(亦即選取其中一可用資源),並根據被選取的指標值200_0至200_7查找對照表300,而取得被選取的指標值200_0至200_7所關聯的授權碼。例如,以第一指標值200_0為例,如圖4所示,第一指標值200_0所關聯的授權碼為邏輯值「000」。而後,轉換電路124輸出被選取的指標值200_0至200_7所關聯的授權碼至第一控制電路110A;轉換電路124在響應完來自第一控制電路110A的工作請求後,響應來自第三控制電路110C的工作請求,並在仍有指標值200_0至200_7的狀態為有資源時,從有資源狀態的指標值200_0至200_7中選取另一指標值200_0至200_7(例如第二指標值200_1為有資源,即選取第二指標值200_1)及查找對照表300,以取得被選取的另一指標值200_0至200_7(例如第二指標值200_1)所關聯的授權碼,並輸出被選取的另一指標值200_0至200_7所關聯的授權碼至第三控制電路110C。
在一些實施例中,轉換電路124可透過一或多個邏輯閘的組合來偵測指標值200_0至200_7的狀態。例如,以有資源及無資源分別由邏輯「1」及邏輯「0」來表示為例,轉換電路124的輸入端輸入指標值200_0至200_7組合成的位元組及具有與該位元組相同位元數之一邏輯值,且邏輯值之位元的值皆為0,並經由或閘(OR Gate)而從轉
換電路124的多個輸出端輸出邏輯結果,其中每個輸出端分別對應每個指標值200_0至200_7,轉換電路124偵測輸出端的邏輯值,以獲得指標值200_0至200_7的狀態,例如若輸出端之邏輯值為1時,則代表其對應的指標值200_0至200_7為有資源;若輸出端之邏輯值為0時,則代表其對應的指標值200_0至200_7為無資源,但本發明並不以此為限,可以由其他邏輯閘或於轉換電路124的輸入端輸入其他邏輯值來偵測指標值200_0至200_7的狀態。
在一些實施例中,對照表300可由邏輯電路來實現,例如用以實現對照表300之邏輯電路具有多個輸入端以及多個輸出端,輸入端分別對應指標值200_0至200_7,輸入端具有偵測功能,且在偵測到邏輯值為1時,由多個輸出端輸出一預設邏輯結果,不同的輸入端在偵測到邏輯值為1時,由多個輸出端輸出對應之不同的預設邏輯結果。但本發明並不以此為限,可以為偵測到輸入端的邏輯值為0時輸出預設邏輯結果。
參照圖5,圖5繪示本發明一些實施例之資源控制器120之方塊示意圖。資源控制器120還包含一循環電路126,循環電路126耦接儲存電路122、處理電路123及轉換電路124,轉換電路124響應每個來自控制電路110A至110C的工作請求而偵測指標值200_0至200_7的狀態,且若指標值200_0至200_7中的至少一的狀態為有資源時,轉換電路124透過循環電路126而以一循環方式從有資源狀態的指標值200_0至200_7中選取其中之一。舉例來說,資源控制器120的轉換電路124在響應工作請求並確認至少一指標值200_0至200_7的狀態為有資源時,
透過循環電路126而從儲存電路122的指標值200_0至200_7組合而成的位元組中,選取具有有資源狀態且相較於其他為有資源狀態的指標值200_0至200_7而言,其所關聯的授權碼被輸出給控制電路110A至110C的次數相對較低之指標值200_0至200_7,以此形成循環方式,使晶片100所具有的資源皆可被平均分配使用。
續,例如若指標值200_0至200_7皆為有資源,且第一指標值200_0所關聯的授權碼被輸出給控制電路110A至110C的次數相較於其他指標值200_1至200_7(例如第二指標值200_1至第八指標值200_7)而言相對較低時,轉換電路124即透過循環電路126選取第一指標值200_0。在一些實施例中,若每個有資源狀態的指標值200_0至200_7所關聯的授權碼被輸出給控制電路110A至110C的次數均相同時,則轉換電路124即透過循環電路126隨機從有資源狀態的指標值200_0至200_7中選取其中之一。例如轉換電路124透過循環電路126而經由一隨機函數來隨機從有資源狀態的指標值200_0至200_7中選取其中之一。在一些實施例中,循環電路126可以由一或多個邏輯閘所組合而成的邏輯電路來實現。在一些實施例中,儲存電路122儲存每個授權碼被輸出至控制電路110A至110C之次數。
參照圖6,繪示本發明一實施例之資源控制器120之方塊示意圖。資源控制器120還包含一先進先出電路128,先進先出電路128耦接儲存電路122、處理電路123及轉換電路124,轉換電路124響應每個來自控制電路110A至110C的工作請求而偵測指標值200_0至200_7的狀態,且若指標值200_0至200_7中的至少一的狀態為有資源時,轉換
電路124透過先進先出電路128而以一先進先出方式從有資源狀態的指標值200_0至200_7中選取其中之一。舉例來說,每個指標值200_0至200_7對應有一位址參數,且每個有資源狀態的指標值200_0至200_7所對應之位址參數以堆疊的方式儲存於儲存電路122中。資源控制器120的轉換電路124在響應工作請求並確認至少一指標值200_0至200_7的狀態為有資源時,透過先進先出電路128而從儲存電路122中選取相較於其他位址參數而言,最先儲存(進入)於儲存電路122的堆疊之位址參數所對應的指標值200_0至200_7,轉換電路124在輸出被選取的指標值200_0至200_7所關聯的授權碼後,將被選取的指標值200_0至200_7所對應的位址參數從儲存電路122的堆疊中清除。當處理電路123根據結束訊號更新指標值200_0至200_7的狀態時,處理電路123控制儲存電路122,並透過先進先出電路128將被更新的指標值200_0至200_7所對應的位址參數儲存於儲存電路122的堆疊中,以此形成先進先出方式。
續,例如若在儲存電路122的堆疊中,第一指標值200_0所對應的位址參數相較於其他指標值200_1至200_6(第二指標值200_1至第七指標值200_6)所對應的位址參數而言,最先儲存(進入)於儲存電路122的堆疊時,則轉換電路124透過先進先出電路128選取第一指標值200_0,並在第一指標值200_0所關聯的授權碼被轉換電路124輸出後,轉換電路124透過先進先出電路128將第一指標值200_0所對應的位址參數從儲存電路122的堆疊中清除,當處理電路123根據結束訊號更新第八指標值200_7的狀態時,處理電路123將第八指標值200_7對應之位址參數儲存於儲存電路122的堆疊中。在一些實施例中,先進先出電路
128可以由一或多個邏輯閘所組合而成的邏輯電路來實現。
參照圖1及圖7,圖7繪示本發明一些實施例之多工處理的資源控管方法之流程示意圖。在一些實施例中,一種多工處理的資源控管方法適於一晶片100,晶片100包含多個控制電路110A至110C及一資源控制器120,多工處理的資源控管方法包含:步驟S701:每個控制電路110A至110C依其工作需求而發出一工作請求;步驟S705及S707:資源控制器120或其轉換電路124響應每個工作請求,資源控制器120或其轉換電路124判斷指標值200_0至200_7的狀態,其中,資源控制器120或其儲存電路122儲存多個指標值200_0至200_7,每個指標值200_0至200_7的位元數為一位元,每個指標值關聯多個授權碼之一;步驟S709:於指標值200_0至200_7中至少一的狀態為有資源時,資源控制器120或其轉換電路124輸出狀態為有資源的指標值200_0至200_7其中之一所關聯的授權碼至對應被響應的工作請求所對應的控制電路110A至110C;步驟S711:於指標值200_0至200_7的狀態均為無資源時,資源控制器120或其轉換電路124不輸出任何授權碼;步驟S713:接收到授權碼的控制電路110A至110C根據授權碼執行對應授權碼的一工作程序;步驟S715:對應的控制電路110A至110C在結束工作程序時,產生對應授權碼的一結束訊號;以及
步驟S717:資源控制器120或資源控制器120的處理電路123根據每個結束訊號,更新在儲存電路122中對應於工作程序(結束訊號所對應的工作程序)的授權碼所關聯的指標值200_0至200_7的狀態。
在一些實施例中,該多工處理的資源控管方法之步驟S701之發出工作請求之步驟更包含每個控制電路110A至110C可以在不同的時點發出工作請求。在其他實施例中,每個控制電路110A至110C可以在相同的時點發出工作請求。在一些實施例中,該多工處理的資源控管方法之步驟S701之發出工作請求之步驟更包含控制電路110A至110C在結束工作程序時,以對應的控制電路110A至110C產生對應授權碼的結束訊號並發出另一工作請求(亦即對應新的工作程序之新的工作請求,不同於已結束的工作程序所對應的工作請求)。
在一些實施例中,晶片100更包含晶片電路130,該多工處理的資源控管方法之步驟S713之執行工作程序之步驟更包含接收到授權碼的控制電路110A至110C根據授權碼執行對應授權碼的一工作程序,以控制晶片電路130的運作。
在一些實施例中,該多工處理的資源控管方法之步驟S709之輸出授權碼之步驟更包含在轉換電路124輸出授權碼時,以資源控制器120或其處理電路123將當前被輸出的授權碼所關聯的指標值200_0至200_7的狀態從有資源更改為無資源。在一些實施例中,該多工處理的資源控管方法之步驟S717之更新指標值200_0至200_7的狀態之步驟更包含資源控制器120或其處理電路123根據每個結束訊號,將對應於工作程序的授權碼所關聯的指標值200_0至200_7的狀態從無資源更新為
有資源。
在一些實施例中,轉換電路124具有對照表300,對照表300為將指標值200_0至200_7分別關聯於不同的授權碼。該多工處理的資源控管方法之步驟S705至步驟S711之判斷指標值200_0至200_7狀態與輸出授權碼之步驟更包含:以資源控制器120或其轉換電路124響應每個工作請求而偵測指標值200_0至200_7的狀態;於指標值200_0至200_7中的至少一的狀態為有資源時,以資源控制器120或其轉換電路124從有資源狀態的指標值200_0至200_7中選取其中之一;以及以資源控制器120或其轉換電路124根據被選取的指標值200_0至200_7及對照表300,取得被選取的指標值200_0至200_7所關聯的授權碼,並輸出被選取的指標值200_0至200_7所關聯的授權碼至對應被響應的工作請求所對應的控制電路110A至110C。
在一些實施例中,該多工處理的資源控管方法之轉換電路124從有資源狀態的指標值200_0至200_7中選取其中之一之步驟中,更包含以資源控制器120或其轉換電路124透過資源控制器120的循環電路126而以循環方式從有資源狀態的指標值200_0至200_7中選取其中之一。
在一些實施例中,該多工處理的資源控管方法之轉換電路124從狀態為有資源狀態的指標值200_0至200_7中選取其中之一之步驟中,更包含以資源控制器120或其轉換電路124透過資源控制器120的先進先出電路128而以先進先出方式從有資源狀態的指標值200_0至200_7中選取其中之一。
因此,依據一些實施例,藉由資源控制器所儲存的指標值的位元數為一位元,來大幅降低儲存成本。資源控制器的每個指標值僅需單一位元,整個資源控制器的製造成本即大為降低。依據一些實施例,轉換電路用以將僅為單一位元的指標值分別轉換成不同的授權碼。當資源控制器收到控制電路發出請求時,選定一可用指標值、及控制轉換電路將該可用指標值轉換為一對應的授權碼,該發出請求之控制電路即依該對應授權碼執行工作,如此,晶片即可具有多工處理的能力。因此,資源控制器藉由僅具一位元的指標值及轉換電路,即可達成資源控管及降低儲存成本之效果,相較於先前技術,資源控制器中用以儲存可用資源的記憶體大小即大為降低。
100:晶片
110A~110C:控制電路
120:資源控制器
122:儲存電路
123:處理電路
124:轉換電路
130:晶片電路
Claims (10)
- 一種具有多工處理的晶片,包含:多個控制電路,各該控制電路用以發出一工作請求,根據一授權碼執行對應該授權碼的一工作程序,並在結束該工作程序時,產生對應該授權碼的一結束訊號;以及一資源控制器,耦接該些控制電路,該資源控制器包含:一儲存電路,用以儲存有多個指標值,其中各該指標值的位元數為一位元,每一該指標值關聯該些授權碼之一;一處理電路,耦接該儲存電路,用以根據各該結束訊號,更新對應於該工作程序的該授權碼所關聯的該指標值的一狀態;以及一轉換電路,耦接該儲存電路及該處理電路,用以響應各該工作請求,於該些指標值中至少一的該狀態為一有資源時,輸出該有資源狀態的一個該指標值所關聯的該授權碼,於該些指標值的該狀態均為一無資源時,不輸出任何該些授權碼之一。
- 如請求項1所述之具有多工處理的晶片,其中各該授權碼的位元數大於各該指標值的位元數。
- 如請求項1所述之具有多工處理的晶片,其中在該轉換電路輸出該授權碼時,該處理電路將當前被輸出的該授權碼所關聯的該指標值的該狀態更改為該無資源。
- 如請求項1所述之具有多工處理的晶片,其中該處理電路根據各該結束訊號,將對應於該工作程序的該授權碼所關聯的該指標值的該狀態更新為該有資源。
- 如請求項1所述之具有多工處理的晶片,其中該轉換電路具有一對照表,該對照表為將該些指標值分別關聯於不同的該些授權碼,該轉換電路響應各該工作請求而偵測該些指標值的該狀態,於該些指標值中的至少一的該狀態為該有資源時,從該有資源狀態的該些指標值中選取其中之一,並根據被選取的該指標值及該對照表,取得被選取的該指標值所關聯的該授權碼,並輸出被選取的該指標值所關聯的該授權碼至對應被響應的該工作請求所對應的該控制電路。
- 如請求項5所述之具有多工處理的晶片,其中該資源控制器更包含一循環電路,耦接該儲存電路及該轉換電路,該轉換電路透過該循環電路而以一循環方式從該有資源狀態的該些指標值中選取其中之一。
- 如請求項5所述之具有多工處理的晶片,其中該資源控制器更包含一先進先出電路,耦接該儲存電路及該轉換電路,該轉換電路透過該先進先出電路而以一先進先出方式從該有資源狀態的該些指標值中選取其中之一。
- 如請求項1所述之具有多工處理的晶片,更包含一晶片電路,耦接該些控制電路,各該控制電路根據該授權碼執行對應該授權碼的該工作程序以控制該晶片電路的運作。
- 如請求項1所述之具有多工處理的晶片,其中各該控制電路分別在不同的時點發出該工作請求。
- 如請求項1所述之具有多工處理的晶片,其中各該控制電路在結束該工作程序時,產生對應該授權碼的該結束訊號並發出另一工作請求。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109135246A TWI774081B (zh) | 2020-10-12 | 2020-10-12 | 具有多工處理的晶片 |
| US17/496,071 US12236270B2 (en) | 2020-10-12 | 2021-10-07 | Multi-tasking chip and resource control management method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109135246A TWI774081B (zh) | 2020-10-12 | 2020-10-12 | 具有多工處理的晶片 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202215232A TW202215232A (zh) | 2022-04-16 |
| TWI774081B true TWI774081B (zh) | 2022-08-11 |
Family
ID=81077702
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW109135246A TWI774081B (zh) | 2020-10-12 | 2020-10-12 | 具有多工處理的晶片 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12236270B2 (zh) |
| TW (1) | TWI774081B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230419327A1 (en) * | 2022-06-22 | 2023-12-28 | AnChain.ai, Inc. | Secure and scalable blockchain smart contract-based digital asset platform |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200527871A (en) * | 2004-02-12 | 2005-08-16 | Irdeto Access Bv | Method and system of external data storage |
| TW200632690A (en) * | 2005-02-04 | 2006-09-16 | Microsoft Corp | Flexible licensing architecture for licensing digital application |
| US20090222835A1 (en) * | 2006-02-22 | 2009-09-03 | Giesecke & Devrient Gmbh | Operating System for a Chip Card Comprising a Multi-Tasking Kernel |
| JP2013025429A (ja) * | 2011-07-19 | 2013-02-04 | Mitsubishi Electric Corp | セキュリティ評価装置、セキュリティ評価装置のセキュリティ評価方法、セキュリティ評価プログラム |
| WO2018088383A1 (ja) * | 2016-11-08 | 2018-05-17 | 株式会社日立システムズ | セキュリティルール評価装置およびセキュリティルール評価システム |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8612772B1 (en) * | 2004-09-10 | 2013-12-17 | Altera Corporation | Security core using soft key |
| US7933940B2 (en) * | 2006-04-20 | 2011-04-26 | International Business Machines Corporation | Cyclic segmented prefix circuits for mesh networks |
| US9417961B2 (en) * | 2014-11-18 | 2016-08-16 | HGST Netherlands B.V. | Resource allocation and deallocation for power management in devices |
| US9600340B1 (en) * | 2016-05-16 | 2017-03-21 | Live Nation Entertainment, Inc. | Iterative and hierarchical processing of request partitions |
| JP6895053B2 (ja) * | 2017-02-20 | 2021-06-30 | ソニーグループ株式会社 | 送信装置、送信方法、受信装置、及び、受信方法 |
| JP6930381B2 (ja) * | 2017-11-06 | 2021-09-01 | 富士通株式会社 | 情報処理システム、演算処理装置及び情報処理システムの制御方法 |
-
2020
- 2020-10-12 TW TW109135246A patent/TWI774081B/zh active
-
2021
- 2021-10-07 US US17/496,071 patent/US12236270B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200527871A (en) * | 2004-02-12 | 2005-08-16 | Irdeto Access Bv | Method and system of external data storage |
| TW200632690A (en) * | 2005-02-04 | 2006-09-16 | Microsoft Corp | Flexible licensing architecture for licensing digital application |
| US20090222835A1 (en) * | 2006-02-22 | 2009-09-03 | Giesecke & Devrient Gmbh | Operating System for a Chip Card Comprising a Multi-Tasking Kernel |
| JP2013025429A (ja) * | 2011-07-19 | 2013-02-04 | Mitsubishi Electric Corp | セキュリティ評価装置、セキュリティ評価装置のセキュリティ評価方法、セキュリティ評価プログラム |
| WO2018088383A1 (ja) * | 2016-11-08 | 2018-05-17 | 株式会社日立システムズ | セキュリティルール評価装置およびセキュリティルール評価システム |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202215232A (zh) | 2022-04-16 |
| US12236270B2 (en) | 2025-02-25 |
| US20220114021A1 (en) | 2022-04-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6401155B1 (en) | Interrupt/software-controlled thread processing | |
| US20080209084A1 (en) | Hardware-Based Concurrent Direct Memory Access (DMA) Engines On Serial Rapid Input/Output SRIO Interface | |
| EP0582666B1 (en) | Method and apparatus for buffering data within stations of a communication network | |
| CN104503728B (zh) | 一种硬件加速器及芯片 | |
| US7328289B2 (en) | Communication between processors | |
| US20240061802A1 (en) | Data Transmission Method, Data Processing Method, and Related Product | |
| CN108632165B (zh) | 一种报文处理方法、装置及设备 | |
| JP2006099774A (ja) | データ処理方法および装置、処理システム、コンピュータ処理システム、コンピュータのネットワーク | |
| JP2006107513A (ja) | 処理環境におけるパワー・マネジメント | |
| TWI774081B (zh) | 具有多工處理的晶片 | |
| US6931462B2 (en) | Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same | |
| CN114385343A (zh) | 具有多任务处理的芯片及其资源管控方法 | |
| US11252108B2 (en) | Controller for ordering out-of-order transactions in SoC | |
| WO2025200177A1 (zh) | 在rdma中实现定时器处理的方法、系统、芯片及存储介质 | |
| JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
| JP2005209206A (ja) | マルチプロセッサシステムにおけるデータ転送方法、マルチプロセッサシステム、及び、この方法を実施するプロセッサ | |
| US6654861B2 (en) | Method to manage multiple communication queues in an 8-bit microcontroller | |
| JP2001188745A (ja) | 制御装置及び制御方法 | |
| JP2004213666A (ja) | Dmaモジュールとその操作方法 | |
| US8677028B2 (en) | Interrupt-based command processing | |
| US6938078B1 (en) | Data processing apparatus and data processing method | |
| CN111340229B (zh) | 数据选择器、数据处理方法、芯片及电子设备 | |
| CN120596412B (zh) | 节点通信方法、电子设备及存储介质 | |
| CN101276315A (zh) | 动态调整传输数据宽度的直接存储器存取控制器与方法 | |
| CN120448074B (zh) | 基于执行引擎的数据处理方法、设备、存储介质及产品 |