TW201428464A - 分散式晶片層次的電力系統 - Google Patents
分散式晶片層次的電力系統 Download PDFInfo
- Publication number
- TW201428464A TW201428464A TW102129853A TW102129853A TW201428464A TW 201428464 A TW201428464 A TW 201428464A TW 102129853 A TW102129853 A TW 102129853A TW 102129853 A TW102129853 A TW 102129853A TW 201428464 A TW201428464 A TW 201428464A
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- block
- token
- request
- tokens
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/10—Current supply arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Sources (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Logic Circuits (AREA)
Abstract
本案提供用於在處理器之元件層次動態再分配電力消耗之方法、電路佈置及程式產品。表示電力消耗度量之電力符記經分配給處理器之互連IP區塊,且當IP區塊要求額外電力以執行指定操作時,IP區塊可傳達對於額外電力符記之請求至一或更多互連IP區塊。互連IP區塊可基於優先級、可用性及/或電力消耗目標授予請求之電力符記。請求IP區塊可基於藉由互連IP區塊授予請求之電力符記修改電力消耗。
Description
本發明大體而言係關於資料處理,且詳言之係關於用於處理器架構及併入處理器架構中之IP區塊的電力管理。
電力管理係處理器設計之日益重要的態樣。對於移動及電池供電的應用,例如,最小化電力消耗以最大化電池壽命通常為關鍵設計參數。另外,在諸如超級電腦及大規模平行電腦之高效能應用中,數以百計或數以千計的處理器可經佈置非常接近於彼此且產生大量的熱並消耗大量的電力,因此控制電力消耗以管理電力及熱輸出亦在該等應用中具有相當重要的意義。
在一些習知處理架構中,可經設置於處理器上之元件的數量可超出在特定時間可被供電之元件的數量,或元件之組合電力消耗可超出期望臨界值。在該等習知處理器中,大體需要分佈電力,使得在適當的時間給適當的元件供電。在習知系統中,電力可經分佈至不同的專用區域,該等專用區域包含專門用於處理器之特定處理任務(例如,元件之專用圖形處理單元群組)的複數個元件。然而,此寬細微性電
力分佈大體不能解決個別元件之快速變化的電力需要。不能在元件層次解決電力分佈大體導致低效能。
一些處理器架構可包括IP區塊,其中IP區塊大體表示同步邏輯設計或非同步邏輯設計之可再用單元,該可再用單元用作建構區塊以用於處理器內之資料處理。大體上,IP區塊包含邏輯、單元或晶片佈局設計之可再用單元且可被認為是邏輯核心,該等邏輯核心可經形成作為ASIC晶片設計或FPGA邏輯設計。因而,大體上IP區塊通常可被認為是處理器之元件。
為解決此等情況,若處理器之每一元件消耗最大量之電力,則處理器可經設計以支援所需要的最大電力;然而,經設計以支援所需要的最大電力的處理器大體上要求專用於電力支援之更多區域且減少可用於處理元件之面積量。另外,比起執行處理器所要求的全部處理功能的實際上所需電力,此等處理器通常消耗更多的電力。
因此,在此技術領域存在對於處理器架構中之電力分佈系統及方法的持續需要。
本發明藉由使用分配給處理器內各種IP區塊的電力符記控制在處理器之IP區塊層次的電力消耗,來解決與先前技術相關聯之該等及其他問題。在此等實施例中,可使用其中電力符記經分佈至每一互連IP區塊的分散式電力管理方法及電路佈置而控制處理器之互連IP區塊之電力消耗。此等電力符記大體對應於一種類型的電力消耗度量,包括例如執行
時間、執行的指令數量、執行的記憶體異動數量及/或其他此等類型之電力消耗度量。與本發明之實施例一致,每一IP區塊基於在任何給定時間分配給特定IP區塊之電力符記控制電力消耗。每當IP區塊要求額外電力時,IP區塊可傳達電力符記請求至至少一個其他互連IP區塊,且IP區塊可接收對電力符記請求的回應,該回應授予一或更多額外電力符記,其中此等額外電力符記係先前分配給不同的互連IP區塊。每一IP區塊可基於在對電力符記請求之接收的回應中授予給IP區塊的任何額外電力符記而修改電力消耗。
因而,在本發明之實施例中,每一互連IP區塊可基於分配電力符記控制互連IP區塊之電力消耗。此外,若有需要,每一互連IP區塊可藉由傳達請求至一或更多互連IP區塊且自一或更多互連IP區塊接收回應而自一或更多互連IP區塊請求額外電力符記,該回應指示授予給請求IP區塊之額外電力符記。因此,本發明之實施例可藉由電力符記分配及此等電力符記之動態再分配控制一或更多互連IP區塊之電力消耗。
特徵化本發明的該等及其他優勢及特徵結構係闡述在附加至本發明之申請專利範圍中且形成本發明之另一部分。然而,為了更好理解本發明,且更好理解經由本發明之使用獲得的優勢及目標,應參考圖式及隨附的描述性內容,在隨附的描述性內容中描述本發明之示例性實施例。
10‧‧‧電腦
12‧‧‧處理器
14‧‧‧隨機存取記憶體
16‧‧‧高速記憶體匯流排
18‧‧‧匯流排配接器
20‧‧‧應用程式
22‧‧‧作業系統
24‧‧‧磁碟機
26‧‧‧視訊配接器
28‧‧‧共處理器
30‧‧‧顯示裝置
32‧‧‧高速視訊匯流排
34‧‧‧前側匯流排
36‧‧‧前側匯流排
38‧‧‧磁碟機配接器
40‧‧‧擴充匯流排
42‧‧‧輸入/輸出配接器
44‧‧‧使用者輸入裝置
46‧‧‧通訊配接器
48‧‧‧電腦
50‧‧‧資料通訊網路
100‧‧‧晶片
102‧‧‧NOC
104‧‧‧IP區塊
104W‧‧‧IP區塊
104X‧‧‧IP區塊
104Y‧‧‧IP區塊
104Z‧‧‧IP區塊
106‧‧‧記憶體通訊控制器
108‧‧‧網路介面控制器
110‧‧‧路由器
112‧‧‧晶片外主RAM
114‧‧‧記憶體
116‧‧‧晶片上記憶體
118‧‧‧連結
120‧‧‧記憶體管理單元
122‧‧‧記憶體管理單元
124‧‧‧資料通訊埠
126‧‧‧資料通訊埠
128‧‧‧主機介面處理器
130‧‧‧資料通訊埠
132‧‧‧節點或硬體執行緒
134‧‧‧電腦處理器
136‧‧‧I/O能力/I/O功能性
138‧‧‧記憶體
140‧‧‧記憶體通訊執行引擎
141‧‧‧雙向記憶體通訊指令流
142‧‧‧雙向記憶體通訊指令流
144‧‧‧雙向記憶體通訊指令流
146‧‧‧網路定址之通訊
148‧‧‧虛擬通道實施邏輯
150‧‧‧指令轉換邏輯
152‧‧‧路由邏輯
154‧‧‧虛擬通道控制邏輯
156‧‧‧虛擬通道緩衝器
158A‧‧‧埠
158B‧‧‧埠
158C‧‧‧埠
158D‧‧‧埠
160‧‧‧埠
162‧‧‧指令單元
164‧‧‧執行單元
166‧‧‧輔助執行單元
168‧‧‧指令緩衝器
170‧‧‧指令快取記憶體
172‧‧‧有效至真實轉換單元
174‧‧‧執行緒提取定序器
176‧‧‧分支預測邏輯
178‧‧‧依賴性/發出邏輯區塊
180‧‧‧依賴性/發出邏輯
182‧‧‧通用暫存器
184‧‧‧定點邏輯
186‧‧‧分支邏輯
188‧‧‧裝載/儲存邏輯
190‧‧‧L1資料快取記憶體
192‧‧‧dERAT邏輯
194‧‧‧執行區塊
202‧‧‧電力符記暫存器
220‧‧‧流程圖
222‧‧‧方塊
224‧‧‧方塊
226‧‧‧方塊
228‧‧‧方塊
230‧‧‧方塊
232‧‧‧方塊
240‧‧‧流程圖
242‧‧‧方塊
244‧‧‧方塊
246‧‧‧方塊
248‧‧‧方塊
250‧‧‧方塊
302‧‧‧電力符記請求
第1圖為按照本發明之實施例包括用於資料處理之
示例性電腦的示例性自動化計算機械的方塊圖。
第2圖為實施在第1圖之電腦中的示例性NOC的方塊圖。
第3圖為更詳細圖示來自第2圖之NOC之節點的示例性實施的方塊圖。
第4圖為圖示來自第2圖之NOC之IP區塊的示例性實施的方塊圖。
第5圖為圖示來自第2圖之NOC之互連IP區塊的示例性實施的方塊圖。
第6圖為圖示操作順序的流程圖,該操作順序可藉由第5圖之IP區塊執行以請求額外電力。
第7圖為圖示操作順序之流程圖,該操作順序可藉由第5圖之IP區塊執行以將分配之電力授予給另一IP區塊。
第8A圖至第8E圖為圖示在第6圖及第7圖中圖示之操作順序之實例的方塊圖。
應理解,隨附圖式未必按比例繪製,存在各種較佳特徵結構之些微簡化表示說明本發明之實施例之基本原理。本文揭示之與本發明之實施例一致的特定特徵結構將藉由特定想要應用、使用及/或環境而部分決定,該等特定特徵結構包括,例如,各種圖示元件之特定尺寸、定向、位置、操作順序及形狀。所圖示實施例的某些特徵結構可能已相對於其他特徵結構而放大或畸變以促進視覺化及清楚理解。
與本發明一致的實施例至少部分基於分配給每一IP
區塊之分配電力符記控制在處理器之一或更多互連IP區塊處的電力消耗。電力符記大體上對應於與IP區塊相關聯之一或更多電力消耗度量,該一或更多電力消耗度量包括例如IP區塊之執行時間、可藉由IP區塊執行之指令的數量、可藉由IP區塊執行之記憶體異動的數量及/或可用來量化IP區塊之電力消耗的任何其他此類度量。
每一IP區塊包括分配給該每一IP區塊之電力符記數量,且每一IP區塊可基於所分配電力符記控制在IP區塊處的電力消耗。舉例而言,第一IP區塊可執行(亦即,執行操作)持續藉由所分配之電力符記數量表示的執行時間,因此消耗分配量的電力。所分配電力符記數量最初可基於以下各者而設定:IP區塊執行之任務類型、大體藉由IP區塊執行之指令數量、大體藉由IP區塊執行之記憶體異動的數量及/或其他此等因數。電力符記可基於所界定之補充排程而補足,以使得可隨時間控制處理器、IP區塊之群組及/或特定IP區塊之電力消耗。
處理器可分配電力符記至IP區塊達給定時間週期以使得總體電力消耗係分配在IP區塊之間。舉例而言,處理器之電力消耗可在一分鐘時間週期內經控制,其中IP區塊可基於所分配電力符記在一分鐘時間週期內控制電力消耗。在一分鐘時間週期之後,IP區塊可再次接收電力符記之分配。電力符記之每一後續分配可至少部分基於先前電力符記使用率(亦即,一或更多所界定時間週期內的電力消耗)。此外,可基於以下各者為一或更多IP區塊分配期望數量的電力符
記:與一或更多IP區塊相關聯之任務的優先級、一或更多IP區塊之電力消耗目標及/或處理器之電力消耗目標。電力符記在互連IP區塊之間的動態再分配允許電力消耗在互連IP區塊之電力消耗目標內的再分配,同時促進在IP區塊層次的電力消耗靈活性。因而,電力消耗可能受限,同時亦藉由促進要求添加電力消耗頻寬之一或更多IP區塊之電力消耗靈活性而保持效能。
此外,電力符記可基於與IP區塊相關聯之操作類型而對應於不同的度量。然而,對應於不同度量之電力符記可基於與此度量相關聯之典型電力消耗為等效的。舉例而言,對於第一IP區塊,電力符記可對應於第一IP區塊可執行之指令數量,且對於第二IP區塊,電力符記可對應於第二IP區塊可執行之記憶體異動的數量。在此實例中,藉由電力符記表示之電力消耗可為等效的,而與和電力符記相關聯之特定IP區塊的度量無關。
因為操作係執行在處理器中,故每一IP區塊可以不同速率消耗電力,且因此互連IP區塊之電力消耗需求可變化。回應於要求額外電力之特定IP區塊,IP區塊可傳達電力符記請求至互連IP區塊中一或更多者。該一或更多互連IP區塊中每一者可接收請求且決定任何已分配之電力符記是否可用於再分配至請求IP區塊。在一些實施例中,接收請求之每一IP區塊可調整請求以指示IP區塊正授予給請求IP區塊的電力符記數量。
大體上,可用的電力符記可被認為是分配給IP區塊
但未由IP區塊使用的電力符記。因為電力符記大體表示電力消耗度量之類型的數量(例如,執行時間、執行之指令數量、執行之記憶體異動的數量等),故若IP區塊(電力符記分配至該IP區塊)不消耗藉由電力符記表示之電力,則該電力符記為可用的。舉例而言,若電力符記對應於十個執行指令,則IP區塊具有與該十個執行指令相關聯之五個電力符記,且與IP區塊相關聯之指令佇列包括待執行之二十個指令,分配給IP區塊之電力符記中之三個電力符記可被認為是可用的。
在一些實施例中,IP區塊可經設置在符記環中。在該等實施例中,來自第一IP區塊之電力符記請求可經順序地傳達至符記環之每一IP區塊。每一IP區塊可決定可用於授予給第一IP區塊之電力符記數量、調整電力符記請求以指示藉由符記環之每一IP區塊授予之電力符記的累積數量及請求仍需要之電力符記數量,且傳達電力符記請求至符記環中之下一個順序IP區塊。第一IP區塊可自符記環接收電力符記請求作為對請求之回應,且IP區塊可基於藉由符記環之IP區塊授予之電力符記數量修改電力消耗。
在一些實施例中,電力符記至互連IP區塊之分配可隨著IP區塊執行操作而變化。舉例而言,互連IP區塊之第一IP區塊可僅偶爾執行指令,同時互連IP區塊之第二IP區塊常常比第一IP區塊執行更多的指令。在此實例中,電力符記請求在互連IP區塊之間的傳達及電力符記在互連IP區塊之間的動態再分配可導致第二IP區塊包括比第一IP區塊更高數量的所分配電力符記。
在一些實施例中,可針對處理器及/或處理器之特定元件設定電力消耗目標。在此等實施例中,分配給IP區塊之電力符記數量可至少部分基於電力消耗目標。舉例而言,若處理器係在低電力消耗狀態下操作,則分配給處理器之IP區塊的電力符記數量可小於在處理器係在正常電力消耗狀態下操作的情況。另外,特定IP區塊可經設定以在低電力狀態下操作,且在此等實施例中,所分配之電力符記的最大數量可與此等IP區塊相關聯,以使得可控制且限制電力消耗。類似地,特定IP區塊可與高優先級操作相關聯,且因而最小數量的所分配電力符記可與此等IP區塊相關聯,以使得IP區塊保持最小數量的分配電力符記以因此維持可用的電力消耗臨界值。
另外,在一些實施例中,每一IP區塊可分析分配至每一IP區塊之電力符記數量以決定是否未分配電力符記中之任何電力符記,以因此減少IP區塊可消耗的最大電力。在一些實施例中,處理器可藉由自一或更多IP區塊移除(亦即,去分配)電力符記而調整處理器、IP區塊之群組及/或特定IP區塊之電力消耗設定檔,因此減少處理器、IP區塊之群組及/或特定IP區塊可消耗的電力數量。
因此,與本發明一致的實施例使用所分配電力符記控制在處理器之IP區塊層次的電力消耗。互連IP區塊可自其他互連IP區塊請求額外電力符記且可授予可用的分配電力符記至請求互連IP區塊。此外,電力符記分配極限可與一或更多IP區塊相關聯以藉此管理處理器、特定IP區塊及/或IP區
塊之群組的電力消耗。
現在轉向圖式,其中遍及若干視圖相同的元件符號表示相同的部分,第1圖圖示按照本發明之實施例包括用於資料處理之示例性電腦10的示例性自動化計算機械。第1圖之電腦10包括至少一個電腦處理器12或「CPU」以及隨機存取記憶體14(「RAM」),該隨機存取記憶體14經由高速記憶體匯流排16及匯流排配接器18連接至處理器12且連接至電腦10之其他元件。
應用程式20儲存在RAM 14中,該應用程式20為使用者層次電腦程式指令之模組,用於執行特定資料處理任務,諸如文書處理、試算表、資料庫操作、視訊遊戲、股票市場模擬、原子量子製程模擬或其他使用者層次的應用程式。作業系統22亦儲存在RAM 14中。用於本發明之實施例的作業系統包括UNIXTM、LinuxTM、Microsoft Windows XPTM、AIXTM、IBM的i5/OSTM及如熟習此項技術者所想到的其他作業系統。在第1圖之實例中的作業系統22及應用程式20係圖示在RAM 14中,但此類軟體之許多元件通常亦儲存在非揮發性記憶體中,例如在磁碟機24上。
如下文將變得更顯而易見,與本發明一致的實施例可經實施在晶片上網路(Network On Chip;NOC)積體電路裝置或晶片內,且因而,電腦10經圖示包括兩個示例性NOC:視訊配接器26及共處理器28。NOC視訊配接器26係I/O配接器之實例,該NOC視訊配接器26可替代地稱為圖形配接
器,該I/O配接器經特別設計用於圖形輸出至顯示裝置30,諸如顯示螢幕或電腦監視器。NOC視訊配接器26係經由高速視訊匯流排32、匯流排配接器18及前側匯流排34連接至處理器12,前側匯流排34亦為高速匯流排。NOC共處理器28係經由匯流排配接器18及前側匯流排34及前側匯流排36連接至處理器12,前側匯流排34及36亦為高速匯流排。例如,第1圖之NOC共處理器可經最佳化以在主處理器12的命令下加速特定資料處理任務。
第1圖之示例性NOC視訊配接器26及NOC共處理器28每一者包括NOC,該NOC包括整合處理器(「IP」)區塊、路由器、記憶體通訊控制器及網路介面控制器,上述之細節將結合第2圖至第3圖在下文更詳細論述。NOC視訊配接器及NOC共處理器每一者針對程式最佳化,該等程式使用平行處理且亦要求對共用記憶體之快速隨機存取。然而,具有本揭示內容之益處的熟習此項技術者將瞭解,本發明可在不同於NOC裝置及裝置架構的裝置及裝置架構中實施。因此,本發明不局限於在NOC裝置內的實施。
第1圖之電腦10包括經由擴充匯流排40及匯流排配接器18耦接至處理器12及電腦10之其他元件的磁碟機配接器38。磁碟機配接器38以磁碟機24的形式將非揮發性資料儲存器連接至電腦10,且例如可使用整合驅動電子裝置(「IDE」)配接器、小型電腦系統介面(「SCSI」)配接器及如熟習此項技術者將想到的其他配接器實施磁碟機配接器38。非揮發性電腦記憶體亦可經實施用作為光碟機、電可抹除可
程式唯讀記憶體(所謂的「EEPROM」或「Flash」記憶體)、RAM驅動器等,如熟習此項技術者會想到。
電腦10亦包括一或更多輸入/輸出(「I/O」)配接器42,該一或更多輸入/輸出配接器42實施使用者定向之輸入/輸出,例如,經由用於控制到諸如電腦顯示螢幕之顯示裝置的輸出以及來自諸如鍵盤及滑鼠的使用者輸入裝置44的使用者輸入的軟體驅動程式及電腦硬體。另外,電腦10包括通訊配接器46,該通訊配接器46用於與其他電腦48之資料通訊及用於與資料通訊網路50之資料通訊。此等資料通訊可經由RS-232連接、經由諸如通用串列匯流排(「USB」)之外部匯流排、經由諸如IP資料通訊網路之資料通訊網路及以如熟習此項技術者將想到之其他方式順次執行。通訊配接器實施硬體層次之資料通訊,經由該等硬體層次之資料通訊,一個電腦直接地或經由資料通訊網路發送資料通訊至另一電腦。適合用於電腦10之通訊配接器之實例包括用於有線撥接式通訊之數據機、用於有線資料通訊網路通訊之乙太網路(IEEE 802.3)配接器及用於無線資料通訊網路通訊之802.11配接器。
為了進一步解釋,第2圖闡述根據本發明之實施例之示例性NOC 102之功能方塊圖。第2圖中之NOC係實施於「晶片」100上,亦即,實施於積體電路上。NOC 102包括分組為互連節點之整合處理器(「IP」)區塊104、路由器110、記憶體通訊控制器106及網路介面控制器108。每一IP區塊104係經由記憶體通訊控制器106及網路介面控制器108配接到路由器110。每一記憶體通訊控制器控制在IP區塊與記憶
體之間的通訊,且每一網路介面控制器108控制經由路由器110之IP區塊間通訊。
在NOC 102中,每一IP區塊表示同步邏輯設計或非同步邏輯設計的可再用單元,該等可再用單元用作建構區塊以用於NOC內之資料處理。術語「IP區塊」有時擴充為「智慧財產權區塊」,「智慧財產權區塊」實際上指定IP區塊作為一種設計,該設計由一方擁有以待授權給半導體電路之其他使用者或設計者,該設計為一方的智慧財產權。然而,在本發明之範疇內,不要求IP區塊從屬於任何特定所有權,因此術語在本說明書中經常擴充為「整合處理器區塊」。如在此所說明,IP區塊為可能是或可能不是智慧財產權之標的的邏輯、單元或晶片佈局設計之可再用單元。IP區塊為可經形成作為ASIC晶片設計或FPGA邏輯設計的邏輯核心。
藉由類比描述IP區塊之一種方式為,對於NOC設計,IP區塊係用於電腦程式化之庫,或用於印刷電路板設計之離散積體電路元件。在與本發明之實施例一致的NOC中,IP區塊可經實施作為通用閘網路表、作為完全的特殊目的或通用微處理器,或以熟悉此項技術者將想到的其他方式實施。網路表為IP區塊之邏輯功能之布耳代數表示(閘、標準單元),類似於用於高層次程式應用的組合代碼清單。例如,NOC亦可以可合成的形式來實施,該可合成的形式係以諸如Verilog或VHDL之硬體描述語言描述。除網路表及可合成實施外,NOC亦可以較低層次的實體描述輸送。諸如SERDES、PLL、DAC、ADC等之類比IP區塊元件可以諸如GDSII之電
晶體佈局格式分佈。有時也以佈局格式提供IP區塊之數位元件。亦將瞭解,與本發明一致而實施之IP區塊以及其他邏輯電路系統可以電腦資料檔案的形式分佈,例如,邏輯定義程式代碼,該等電腦資料檔案在各種細節層次界定實施此邏輯之電路佈置的功能及/或佈局。因此,雖然已描述本發明且在下文將描述於在完全功能化積體電路裝置中實施之電路佈置、利用此等裝置之資料處理系統及其他有形的、實體硬體電路之上下文中,具有本揭示內容之益處的熟習此項技術者將瞭解,本發明亦可實施在程式產品內,且本發明同等地應用而不管用來分佈程式產品之電腦可讀取儲存媒體之特定類型如何。電腦可讀取儲存媒體之實例包括但不限於諸如揮發性及非揮發性記憶體裝置的實體可記錄類型媒體、軟碟、硬碟驅動、CD-ROM及DVD(等等)。
在第2圖之實例中的每一IP區塊104係經由記憶體通訊控制器106配接至路由器110。每一記憶體通訊控制器係適用於提供在IP區塊與記憶體之間的資料通訊的同步邏輯電路系統及非同步邏輯電路系統的聚合。在IP區塊與記憶體之間的此等通訊的實例包括記憶體裝載指令及記憶體儲存指令。在下文參閱第3圖更詳細地描述記憶體通訊控制器106。每一IP區塊104亦經由網路介面控制器108配接至路由器110,該網路介面控制器108控制經由路由器110在IP區塊104之間的通訊。在IP區塊之間的通訊的實例包括攜帶資料之訊息及用於在並行應用程式及管線式應用程式中處理在IP區塊中間的資料的指令。亦在下文參閱第3圖更詳細地描述
網路介面控制器108。
路由器110及在路由器110之間的相應連結118實施NOC之網路操作。連結118可為實施於連接全部路由器之實體平行導線匯流排上的封包結構。亦即,每一連結可經實施於導線匯流排上足夠寬以同時容納整體資料切換封包,包括全部標頭資訊及有效負載資料。若封包結構包括64位元組,例如,包括八位元組標頭及56位元組的有效負載資料,則對向每一連結之導線匯流排為64位元組寬、512根導線。另外,每一連結可為雙向,以便若連結封包結構包括64位元組,則導線匯流排在每一路由器與該每一路由器在網路中之鄰居路由器中之每一者之間實際上含有1024根導線。在此實施中,訊息可包括多於一個封包,但每一封包將精確配合至導線匯流排之寬度上。在替代方案中,可將連結實施於導線匯流排上,該導線匯流排的寬度僅足以容納封包之一部分,以使得將封包分割成多個拍,例如,以便若將連結實施為在寬度上16位元組或128根導線,則可將64位元組封包分割成四個拍。應瞭解,不同的實施可基於實際的實體極限以及期望的效能特性而使用不同的匯流排寬度。若將在路由器與導線匯流排之每一區段之間的連接稱為埠,則每一路由器包括五個埠,網路上之資料傳輸之四個方向中之每一方向用一個埠,且第五埠用於經由記憶體通訊控制器及網路介面控制器使路由器配接至適用於特定IP區塊。
每一記憶體通訊控制器106控制在IP區塊與記憶體之間的通訊。記憶體可包括晶片外主RAM 112、經由記憶體
通訊控制器106直接連接至IP區塊之記憶體114、賦能作為IP區塊之晶片上記憶體116及晶片上快取記憶體。在NOC 102中,例如,可將晶片上記憶體114、116中之任何一者實施為晶片上快取記憶體。所有該等形式的記憶體可經安置在相同位址空間內,實體位址或虛擬位址內,此即使對於直接附接至IP區塊的記憶體亦為如此。因此,記憶體定址之訊息可相對於IP區塊為完全雙向的,因為此記憶體可直接由網路上任何地方的任何IP區塊而定址。IP區塊上之記憶體116可由彼IP區塊或由NOC中之任何其他IP區塊而定址。直接附接至記憶體通訊控制器之記憶體114可藉由IP區塊定址,該IP區塊係藉由彼記憶體通訊控制器配接至網路,且記憶體114亦可由NOC中任何地方之任何其他IP區塊而定址。
NOC 102包括兩個記憶體管理單元(「MMU」)120、122,圖示按照本發明之實施例之兩個替代記憶體架構用於NOC。MMU 120係實施在IP區塊內,允許IP區塊內之處理器在虛擬記憶體中操作,同時允許NOC之整體剩餘架構在實體記憶體位址空間中操作。MMU 122係實施在晶片外,經由資料通訊埠124連接至NOC。埠124包括在NOC與MMU之間傳導訊號所需之引腳及其他互連,以及足夠的智慧以將訊息封包自NOC封包格式轉換至外部MMU 122所要求的匯流排格式。MMU之外部位置意指,在NOC之所有IP區塊內的所有處理器可操作在虛擬記憶體位址空間中,且至晶片外記憶體之實體位址的所有轉換藉由晶片外MMU 122處理。
除藉由使用MMU 120、122所圖示之兩個記憶體架
構外,資料通訊埠126圖示在能夠用於本發明之實施例的NOC中有用的第三記憶體架構。埠126提供在NOC 102之IP區塊104與晶片外記憶體112之間的直接連接。由於在處理路徑中無MMU,此架構提供NOC之所有IP區塊對實體位址空間之利用。在雙向地共用位址空間時,NOC之所有IP區塊可藉由記憶體定址之訊息存取位址空間中的記憶體,包括經由直接連接該埠126之IP區塊裝載及儲存、導引。埠126包括在NOC與晶片外記憶體112之間傳導訊號所需之引腳及其他互連,以及足夠的智慧以將訊息封包自NOC封包格式轉換至晶片外記憶體112所要求的匯流排格式。
在第2圖之實例中,將IP區塊中之一個IP區塊指定為主機介面處理器128。主機介面處理器128提供NOC與可將NOC安裝於其中之主機電腦10之間的介面,且亦提供資料處理服務至NOC上其他IP區塊,例如包括在NOC之IP區塊中間自主機電腦接收及發送資料處理請求。例如,NOC可於較大電腦10上實施視訊圖形配接器26或共處理器28,如上參閱第1圖所述。在第2圖之實例中,主機介面處理器128係經由資料通訊埠130連接至較大主機電腦。埠130包括在NOC與主機電腦之間傳導訊號所需之引腳及其他互連,以及足夠的智慧以將訊息封包自NOC轉換至主機電腦10所要求的匯流排格式。在第1圖之電腦中之NOC共處理器的實例中,此埠將提供在NOC共處理器28之連結結構與對於在NOC共處理器28與匯流排配接器18之間的前側匯流排36所要求的協定之間的資料通訊格式轉換。
第3圖接著圖示功能方塊圖,該功能方塊圖更詳細圖示在NOC 102中IP區塊104、記憶體通訊控制器106、網路介面控制器108及路由器110內實施的元件,該等元件共同圖示在可稱為節點或硬體執行緒的132處。IP區塊104包括電腦處理器134及I/O功能性136。在此實例中,電腦記憶體係藉由在IP區塊104中隨機存取記憶體('RAM')138之區段表示。如上參閱第2圖所述,記憶體可佔據實體位址空間之區段,該實體位址空間在每一IP區塊上的內容為自NOC中之任何IP區塊可定址且可存取。在每一IP區塊中之處理器134、I/O能力136及記憶體138有效地將IP區塊實施為大體可程式化微電腦。然而,如上所述,在本發明之範疇內,IP區塊大體表示同步邏輯或非同步邏輯的可再用單元,該等可再用單元用作建構區塊以用於NOC內之資料處理。因此,將IP區塊實施為大體可程式化微電腦,然而可用於說明之目的的常見實施例並非本發明之限制。
在第3圖之NOC 102中,每一記憶體通訊控制器106包括複數個記憶體通訊執行引擎140。每一記憶體通訊執行引擎140經賦能以執行來自IP區塊104的記憶體通訊指令,包括在網路與IP區塊104之間的雙向記憶體通訊指令流141、142、144。藉由記憶體通訊控制器執行之記憶體通訊指令可能不僅源於經由特定記憶體通訊控制器配接至路由器的IP區塊,而且源於在NOC 102內任何地方的任何IP區塊104。亦即,在NOC內之任何IP區塊可產生記憶體通訊指令且經由NOC之路由器發送彼記憶體通訊指令至另一記憶體通訊控制
器,該另一記憶體通訊控制器與用於執行彼記憶體通訊指令的另一IP區塊相關聯。例如,此等記憶體通訊指令可包括轉換後備緩衝器控制指令、快取記憶體控制指令、障壁指令及記憶體裝載及儲存指令。
每一記憶體通訊執行引擎140經賦能以單獨地及與其他記憶體通訊執行引擎同時執行完整的記憶體通訊指令。記憶體通訊執行引擎實施可縮放記憶體異動處理器,該可縮放記憶體異動處理器針對記憶體通訊指令之併發傳輸量最佳化。記憶體通訊控制器106支援多個記憶體通訊執行引擎140,所有記憶體通訊執行引擎140併發執行用於多個記憶體通訊指令之同時執行。新的記憶體通訊指令係藉由記憶體通訊控制器106分配至記憶體通訊引擎140且記憶體通訊執行引擎140可同時接受多個回應事件。在此實例中,所有記憶體通訊執行引擎140為相同的。因此,縮放可藉由記憶體通訊控制器106同時處理之記憶體通訊指令的數量係藉由縮放記憶體通訊執行引擎140的數量而實施。
在第3圖之NOC 102中,每一網路介面控制器108經賦能以將通訊指令自命令格式轉換至網路封包格式用於經由路由器110在IP區塊104間傳輸。通訊指令可藉由IP區塊104或藉由記憶體通訊控制器106以命令格式公式化,且以命令格式經提供至網路介面控制器108。命令格式可為本機格式,該本機格式符合IP區塊104及記憶體通訊控制器106之建構暫存器檔案。網路封包格式通常為經由網路之路由器110傳輸所要求的格式。每一此類訊息係由一或更多網路封包組
成。在網路介面控制器中自命令格式轉換至封包格式的此等通訊指令之實例包括在IP區塊與記憶體之間的記憶體裝載指令及記憶體儲存指令。此等通訊指令亦可包括在IP區塊中間發送攜帶資料之訊息之通訊指令及用於在平行應用程式及管線式應用程式中處理在IP區塊中間的資料的指令。
在第3圖之NOC 102中,每一IP區塊經賦能以經由IP區塊的記憶體通訊控制器發送基於記憶體位址的通訊往返於記憶體,且隨後亦經由IP區塊的網路介面控制器發送基於記憶體位址的通訊至網路。基於記憶體位址之通訊為記憶體存取指令,諸如裝載指令或儲存指令,該記憶體存取指令係藉由IP區塊之記憶體通訊控制器之記憶體通訊執行引擎執行。此等基於記憶體位址的通訊通常起源於IP區塊、用命令格式公式化且經交遞至記憶體通訊控制器用於執行。
許多基於記憶體位址的通訊係以訊息訊務執行,因為待存取之任何記憶體可定位在實體記憶體位址空間中任何地方,晶片上或晶片外、直接附接至NOC中之任何記憶體通訊控制器或經由NOC之任何IP區塊最終存取,不管哪個IP區塊起源於任何特定的基於記憶體位址的通訊。因此,在NOC 102中,以訊息訊務執行之所有基於記憶體位址的通訊係自記憶體通訊控制器傳遞至關聯之網路介面控制器用於自命令格式轉換至封包格式,及以訊息方式經由網路傳輸。在轉換至封包格式時,網路介面控制器亦依靠記憶體位址或待由基於記憶體位址之通訊存取的位址識別用於封包之網路位址。基於記憶體位址的訊息係以記憶體位址而定址。每一記憶體位
址係藉由網路介面控制器映射至網路位址,通常記憶體通訊控制器之網路位置對一些範圍的實體記憶體位址負責。記憶體通訊控制器106之網路位置自然亦為記憶體通訊控制器之關聯路由器110、網路介面控制器108及IP區塊104的網路位置。為了經由NOC之路由器傳輸基於記憶體位址的通訊,每一網路介面控制器內之指令轉換邏輯150能夠將記憶體位址轉換至網路位址。
在自網路之路由器110接收到訊息訊務後,每一網路介面控制器108檢查每一封包是否有記憶體指令。含有記憶體指令之每一封包經傳遞至與接收網路介面控制器相關聯之記憶體通訊控制器106,該記憶體通訊控制器106執行記憶體指令,然後發送封包之剩餘有效負載至IP區塊用於進一步處理。以此方式,在IP區塊開始依據特定記憶體內容執行來自訊息之指令之前,記憶體內容總是準備好支援IP區塊之資料處理。
在第3圖之NOC 102中,每一IP區塊104經賦能以繞過該每一IP區塊104之記憶體通訊控制器106且經由IP區塊之網路介面控制器108直接發送IP區塊間、網路定址之通訊146至網路。網路定址之通訊為藉由網路位址導引至另一IP區塊的訊息。此等訊息傳輸管線式應用程式中的工作資料、用於SIMD應用程式中在IP區塊之間的單個程式處理的多個資料等,如熟習此項技術者將想到。此等訊息與基於記憶體位址的通訊不同,因為該等訊息從一開始藉由起源IP區塊網路定址,該起源IP區塊知道訊息經由NOC之路由器待
導引到達的網路位址。此等網路定址之通訊係以命令格式藉由IP區塊經由I/O功能136直接傳遞至IP區塊的網路介面控制器,隨後藉由網路介面控制器轉換至封包格式且經由NOC之路由器傳輸至另一IP區塊。此等網路定址之通訊146係雙向的,該等網路定址之通訊146取決於該等網路定址之通訊146在任何特定應用程式中的使用而可能繼續往返於NOC之每一IP區塊。然而,每一網路介面控制器經賦能以既發送此等通訊至關聯路由器且自關聯路由器接收此等通訊,且每一網路介面控制器經賦能以既直接發送此等通訊至關聯IP區塊且自關聯IP區塊直接接收此等通訊,繞過關聯之記憶體通訊控制器106。
在第3圖之實例中的每一網路介面控制器108亦經賦能以於網路上實施虛擬通道,此舉按類型特性化網路封包。每一網路介面控制器108包括虛擬通道實施邏輯148,該虛擬通道實施邏輯148按類型分類每一通訊指令且在以封包形式將指令交遞至路由器110用於在NOC上傳輸之前以網路封包格式之欄位記錄指令之類型。通訊指令類型之實例包括IP區塊間的基於網路位址的訊息、請求訊息、對請求訊息的回應、經導引至快取記憶體的無效訊息;記憶體裝載及儲存訊息;及對記憶體裝載訊息的回應等。
在第3圖之實例中的每一路由器110包括路由邏輯152、虛擬通道控制邏輯154及虛擬通道緩衝器156。路由邏輯通常係實施作為同步邏輯及非同步邏輯之網路,該網路實施資料通訊協定堆疊用於在藉由路由器110、連結118及在路
由器中間的匯流排導線形成之網路中的資料通訊。路由邏輯152包括熟習此項技術的讀者可使晶片外網路與路由表關聯的功能性,在至少一些實施例中的路由表在NOC中使用時被認為太緩慢且繁複。實施作為同步邏輯及非同步邏輯之網路的路由邏輯可經設置以與單個時脈週期一樣快地進行路由判定。在此實例中之路由邏輯藉由選定用於轉發在路由器中接收之每一封包的埠而對封包進行路徑選擇。每一封包含有封包待路由到達的網路位址。
在上文描述基於記憶體位址的通訊中,每一記憶體位址係描述為藉由網路介面控制器映射至網路位址、記憶體通訊控制器之網路位置。記憶體通訊控制器106之網路位置自然亦為彼記憶體通訊控制器之關聯路由器110、網路介面控制器108及IP區塊104的網路位置。因此,在IP區塊間或基於網路位址的通訊中,對於應用程式層次的資料處理而言亦為典型的是:將網路位址視為藉由NOC之路由器、連結及匯流排導線形成之網路內的IP區塊之位置。第2圖圖示此網路之一個組織為行及列的網格,在該網格中,每一網路位址可經實施作為例如用於網格之每一組關聯路由器、IP區塊、記憶體通訊控制器及網路介面控制器的唯一識別符,或作為網格中每一此類組之x、y座標。
在第3圖之NOC 102中,每一路由器110實施兩個或兩個以上虛擬通訊通道,其中每一虛擬通訊通道之特徵在於通訊類型。通訊指令類型及因此虛擬通道類型包括上述彼等:IP區塊間的基於網路位址的訊息、請求訊息、對請求訊
息的回應、經導引至快取記憶體的無效訊息;記憶體裝載及儲存訊息;及對記憶體裝載訊息的回應等。在虛擬通道之支援中,第3圖之實例中的每一路由器110亦包括虛擬通道控制邏輯154及虛擬通道緩衝器156。虛擬通道控制邏輯154檢查每一接收封包是否有該每一接收封包之指定通訊類型且對於彼通訊類型將每一封包置放在輸出虛擬通道緩衝器中,用於經由埠傳輸至NOC上之鄰近路由器。
每一虛擬通道緩衝器156具有有限儲存空間。當在短時間週期內接收許多封包時,虛擬通道緩衝器可裝滿,以便沒有更多的封包可放入緩衝器中。在其他協定中,到達緩衝器裝滿的虛擬通道的封包將被丟棄。然而,在此實例中之每一虛擬通道緩衝器156經賦能有匯流排導線之控制訊號以建議經由虛擬通道控制邏輯之周圍路由器暫時中止在虛擬通道中的傳輸,亦即,暫時中止特定通訊類型之封包的傳輸。當一虛擬通道如此暫時中止時,所有其他虛擬通道未受影響,且可繼續滿負荷操作。控制訊號自始至終經由每一路由器接線返回至每一路由器之關聯網路介面控制器108。每一網路介面控制器經設置以,在接收此訊號後,拒絕自每一網路介面控制器之關聯記憶體通訊控制器106或自每一網路介面控制器之關聯IP區塊104接受暫時中止虛擬通道的通訊指令。以此方式,虛擬通道之暫時中止影響實施虛擬通道之所有硬體,一直到返回起源IP區塊。
暫時中止虛擬通道中之封包傳輸的一個影響為:沒有封包被丟棄。當路由器遭遇封包可能在諸如網際網路協定
的一些不可靠協定中被丟棄的情況時,第3圖之實例中的路由器可藉由該等路由器之虛擬通道緩衝器156及該等路由器之虛擬通道控制邏輯154暫時中止虛擬通道中的所有封包傳輸,直至緩衝器空間再次可用,此舉消除對丟棄封包之任何需要。因此,第3圖之NOC可以極其薄之層之硬體實施高度可靠的網路通訊協定。
第3圖之實例NOC亦可經設置以保持在晶片上及晶片外記憶體快取記憶體兩者之間的快取記憶體相干性。每一NOC可支援多個快取記憶體,該等快取記憶體中每一者針對相同的下層記憶體位址空間操作。舉例而言,快取記憶體可藉由IP區塊、藉由記憶體通訊控制器或藉由在NOC以外的快取記憶體控制器而控制。第2圖之實例中之晶片上記憶體114、116中的任何一者亦可經實施作為晶片上快取記憶體,且在本發明之範疇內,快取記憶體亦可經晶片外實施。
第3圖中圖示之每一路由器110包括五個埠,四個埠158A-D經由匯流排導線118連接至其他路由器,且第五埠160經由網路介面控制器108及記憶體通訊控制器106將每一路由器連接至每一路由器之關聯IP區塊104。如自第2圖及第3圖的圖式可見,NOC 102之路由器110及連結118形成網狀網路,其中垂直連結及水平連結連接每一路由器中之垂直埠及水平埠。例如,在第3圖之圖式中,埠158A、158C及160被稱為垂直埠,且埠158B及158D被稱為水平埠。
第4圖接著以另一方式圖示與本發明一致的IP區塊104之一個示例性實施,該IP區塊104經實施作為處理元件,
該處理元件經分割成為指令單元(instruction unit;IU)162、執行單元(execution unit;XU)164及輔助執行單元(auxiliary execution unit;AXU)166。在圖示之實施中,IU 162包括複數個指令緩衝器168,該等複數個指令緩衝器168自L1指令快取記憶體(iCACHE)170接收指令。每一指令緩衝器168係專用於複數個(例如四個)對稱多線(symmetric multithreaded;SMT)硬體執行緒中之一者。有效至真實轉換單元(iERAT)172經耦接至iCACHE 170,且iERAT 172用來將自複數個執行緒提取定序器174的指令提取請求轉換成為真實位址用於自較低階記憶體取回指令。每一執行緒提取定序器174係專用於特定硬體執行緒,且每一執行緒提取定序器174用來確保待由關聯執行緒執行之指令經提取至iCACHE內用於發送至適當的執行單元。亦如第4圖所示,經提取至指令緩衝器168內之指令亦可藉由分支預測邏輯176監視,該分支預測邏輯176提供對每一執行緒提取定序器174之暗示以最小化由在執行執行緒中之分支造成的指令快取記憶體缺失。
IU 162亦包括專用於每一硬體執行緒之依賴性/發出邏輯區塊178,且IU 162經設置以解決依賴性且控制指令自指令緩衝器168至XU 164的發出。另外,在圖示之實施例中,在AXU 166中提供單獨依賴性/發出邏輯180,因此使單獨的指令能夠藉由不同執行緒併發地發出至XU 164及AXU 166。在替代實施例中,邏輯180可經安置在IU 162中,或可完全略去邏輯180,以使得邏輯178發出指令至AXU 166。
XU 164經實施作為定點執行單元,包括耦接至定點
邏輯184、分支邏輯186及裝載/儲存邏輯188之一組通用暫存器(GPR's)182。裝載/儲存邏輯188經耦接至L1資料快取記憶體(dCACHE)190,且有效至真實轉換藉由dERAT邏輯192提供。XU 164可經設置以實際上實施任何指令集,例如,32b或64b PowerPC指令集的全部或一部分。
AXU 166操作作為輔助執行單元,該輔助執行單元包括專用的依賴性/發出邏輯180以及一或更多執行區塊194。AXU 166可包括任何數量之執行區塊,且AXU 166可實際上實施任何類型之執行單元,例如,浮點單元,或一或更多特殊執行單元,諸如加密/解密單元、共處理器、向量處理單元、圖形處理單元、XML處理單元等。在圖示之實施例中,AXU 166包括至XU 164之高速輔助介面,例如,以支援在AXU已架構狀態與XU已架構狀態之間的直接移動。
與IP區塊104之通訊可經由耦接至NOC 102之網路介面控制器108以上文結合第2圖所論述之方式來管理。可提供基於位址之通訊,例如,以存取L2快取記憶體,以及可提供基於訊息之通訊。舉例而言,每一IP區塊104可包括專用之輸入盒/輸出盒以處理在IP區塊之間的節點間通訊。本發明之實施例可在上文結合第1圖至第4圖所述的硬體及軟體環境內實施。然而,具有本揭示內容之益處的熟習此項技術者將瞭解,本發明可在眾多不同環境中實施且可在不脫離本發明之精神及範疇的情況下對上述硬體及軟體實施例進行其他修飾。因而,本發明不局限於本文揭示之特定硬體及軟體環境。
在本發明之一些實施例中,分散式電力管理方案用於動態分配電力符記至處理器之互連IP區塊。當第一IP區塊要求額外電力時,該IP區塊可經由通訊匯流排將電力符記請求傳達至一或更多IP區塊。通訊匯流排可藉由一或更多IP區塊監視/監聽,其中一或更多IP區塊可經設置在電力分佈群組中。舉例而言,監視通訊匯流排之一或更多IP區塊可經設置在符記環中,以使得在該一或更多IP區塊之間的通訊經由符記環之每一IP區塊順序地傳遞。監視通訊匯流排之第二IP區塊可自第一IP區塊接收電力符記請求,決定是否將目前分配給第二IP區塊之任何電力符記授予給第一IP區塊,且若授予任何電力符記,則調整電力符記回應。第二IP區塊可經由通訊匯流排轉發電力符記請求,以使得額外IP區塊亦可以相同的方式將所分配之電力符記授予給第一IP區塊。
第5圖提供方塊圖,該方塊圖圖示經由通訊匯流排連接之按照本發明之實施例之處理器的互連IP區塊104之實例。如圖所示,每一IP區塊可包括關聯之電力符記暫存器202。電力符記暫存器202大體儲存資料,該資料指示分配給關聯IP區塊104之電力符記數量、可用電力符記之數量、可分配給關聯IP區塊104之電力符記之最大數量及/或必需分配給關聯IP區塊104之電力符記的最小數量。電力符記暫存器202可為軟體控制暫存器,以使得藉由處理器執行之一或更多指令可調整儲存在電力符記暫存器202中的資料。舉例而言,處理器可將處理狀態自高電力模式改變至低電力模式,且對
此變化作出反應,處理器可執行一或更多指令以藉由調整電力符記暫存器202之資料減少分配給處理器之一或更多IP區塊的電力符記之數量。在此等實施例中,可在一或更多IP區塊執行指令以調整關聯之電力符記暫存器及/或關聯之處理器或共處理器。
如所論述,在一些實施例中,所要求的分配之電力符記之最小數量可與特定IP區塊相關聯。在此等實施例中,可基於與藉由IP區塊執行之操作相關聯的優先級而設定所要求的分配之電力符記之最小數量。可基於IP區塊之期望回應時間而設定所要求的分配之電力符記之最小數量。可基於與IP區塊相關聯之操作類型而設定所要求的分配之電力符記之最小數量。所要求的分配之電力符記之最小數量可至少部分基於與特定IP區塊及/或IP區塊之群組有關的其他此等考慮。
現在轉至第6圖,此圖式提供流程圖220,流程圖220圖示按照本發明之實施例可藉由第一IP區塊執行以自一或更多其他互連IP區塊請求額外電力符記之操作順序。第一IP區塊基於分配至第一IP區塊的電力符記控制電力消耗(方塊222)。大體上,第一IP區塊可根據藉由關聯電力符記暫存器指示之分配電力符記之數量執行操作。如上所述,基於分配電力符記控制電力消耗包含根據藉由電力符記表示之電力消耗度量消耗在IP區塊處的電力。舉例而言,第一IP區塊可僅執行藉由分配電力符記指示之指令的數量持續給定時間週期,或第一IP區塊可執行僅持續針對給定時間週期指示的執行時間。
第一IP區塊監視電力消耗及所分配電力符記以決定是否要求額外電力(方塊224)。大體上,第一IP區塊可決定給定時間週期內需要額外電力消耗。舉例而言,與第一IP區塊相關聯之指令佇列可包括超出藉由分配電力符記指示之數量的指令之數量,且第一IP區塊可決定在給定時間週期內執行指令佇列之指令需要額外電力。在監視期間,若IP區塊不要求額外電力(方塊224之「N」分支),則IP區塊繼續控制電力消耗(方塊222)。
回應於決定第一IP區塊需要額外電力(方塊224之「Y」分支),第一IP區塊將電力符記請求傳達至至少一個其他連接IP區塊(方塊226)。電力符記請求可包括指示電力符記之需要數量及電力符記之授予數量的資料。接收電力符記請求之每一IP區塊可基於接收IP區塊是否將任何分配電力符記授予給第一IP區塊來調整需要數量及授予數量。
第一IP區塊自互連IP區塊接收對電力符記請求的回應,其中該回應指示自一或更多互連IP區塊授予給第一IP區塊的電力符記之數量(方塊228)。在回應中指示之授予電力符記對應於先前授予給一或更多其他互連IP區塊的電力符記。當回應指示數量時,數量可為零,此指示沒有一個互連IP區塊授予電力符記給第一IP區塊。在一些實施例中,優先級可與每一互連IP區塊相關聯,且在此等實施例中,與第一IP區塊相關聯之優先級可低於其他互連IP區塊,以使得其他互連IP區塊對於請求不授予分配電力符記。另外,其他互連IP區塊可能不具有任何可用的分配電力符記,此舉可阻止互
連IP區塊對電力符記請求授予電力符記。儘管在一些情況中,其他互連IP區塊可能不授予任何電力符記給第一IP區塊,但在其他情況中,回應可授予先前分配給不同互連IP區塊之至少一個額外電力符記。
第一IP區塊基於在回應中授予之額外電力符記調整所分配電力符記(方塊230)。在一些實施例中,第一IP區塊調整儲存在電力符記暫存器中之資料以反映在回應中授予之額外電力符記。儘管在一些實施例中,第一IP區塊可執行操作以調整電力符記暫存器,但在其他實施例中,另一IP區塊或關聯處理器亦可執行操作以調整電力符記暫存器。
基於接收之回應及/或調整之電力符記分配,第一IP區塊修改電力消耗(方塊232)。舉例而言,當回應包括額外授予之電力符記時,第一IP區塊可消耗額外電力,該額外電力由自一或更多互連IP區塊另外授予之電力符記所表示。舉例而言,若第一IP區塊要求額外電力符記以執行在關聯指令佇列中之指令,則回應於接收授予額外電力符記之回應,第一IP區塊可藉由執行在關聯指令佇列中之指令而修改電力消耗。類似地,若第一IP區塊要求額外電力符記以執行指定給第一IP區塊之記憶體操作,則回應於接收授予額外電力符記之回應,第一IP區塊可藉由執行藉由授予之額外電力符記表示之指定的記憶體操作而修改電力消耗。
第7圖提供流程圖240,流程圖240圖示第二IP區塊可執行以授予分配電力符記至互連第一IP區塊的操作順序。第二IP區塊可自另一互連IP區塊接收電力符記請求(方
塊242)。第二IP區塊可自第一IP區塊接收電力符記請求,或第二IP區塊可自另一互連IP區塊接收電力符記請求。舉例而言,若第一IP區塊及第二IP區塊經設置與符記環內之其他IP區塊在一起,則可將電力符記請求自一個IP區塊順序地傳達至另一IP區塊。電力符記請求可包括資料,該資料指示第一IP區塊所要求之電力符記之數量、對於請求所授予之電力符記之數量、與第一IP區塊相關聯之識別符及/或可用於評估電力符記請求之其他此等資訊,諸如與第一IP區塊相關聯之優先級。
第二IP區塊分析電力符記請求以決定是否電力符記請求需要任何額外符記(方塊244)。如所論述,電力符記請求可包括資料,該資料指示第一IP區塊所要求之電力符記之數量及/或對於請求所授予之電力符記之數量。第二IP區塊可分析此類資料以決定是否電力符記請求需要任何額外電力符記。若不需要額外符記(方塊244之「N」分支),則第二IP區塊傳達電力符記請求,而不對電力符記請求授予任何電力符記(方塊250)。在一些實施例中,接收之電力符記請求可指示不需要額外電力符記,且在此等實施例中,第二IP區塊可轉發所接收之電力符記請求。
回應於決定電力符記請求需要額外電力符記(方塊244之「Y」分支),第二IP區塊可決定可用的分配電力符記(方塊246)。如上所述,可用的分配電力符記大體對應於未藉由IP區塊使用之電力符記,其中電力符記大體表示電力消耗之度量類型。因此,可用的分配電力符記大體對應於分配
給特定IP區塊的未經消耗的電力之數量。
第二IP區塊至少部分地基於決定之可用的分配電力符記調整電力符記請求(方塊248)。電力符記請求可包括資料,該資料指示請求所需要的電力符記之數量及對於請求所授予的電力符記之數量。第二IP區塊可基於第二IP區塊對於電力符記請求將授予之電力符記之數量藉由增加對於請求所授予之電力符記之數量而調整電力符記請求。第二IP區塊可藉由遞減電力符記之數量調整電力符記請求。若第二IP區塊不包括任何可用的分配電力符記,則第二IP區塊可不調整電力符記請求。此外,如上所述,在一些實施例中,最小電力符記極限可與第二IP區塊相關聯。在此等實施例中,最小電力符記極限可限制第二IP區塊對於電力符記請求可授予之可用的分配電力符記之數量。
第二IP區塊將電力符記請求傳達至至少一個互連IP區塊(方塊250)。在一些實施例中,第二IP區塊可將經調整之電力符記請求傳達至第一IP區塊。在一些實施例中,第二IP區塊可將經調整之電力符記請求傳達至另一互連IP區塊。舉例而言,若第一IP區塊及第二IP區塊經設置在符記環內與其他互連IP區塊一起,則第二IP區塊可將電力符記請求傳達至符記環內之下一個互連IP區塊。
如相對於第6圖及第7圖所論述,本發明之實施例促進在IP區塊層次分佈處理器中之電力。此外,按照本發明之實施例,藉由電力符記表示之電力消耗極限可在IP區塊層次經動態再分配在互連IP區塊之間。在此等實施例中,電力
符記請求可藉由決定上文額外電力消耗之IP區塊傳達,在給定時間週期內執行操作可要求分配給IP區塊之電力消耗極限。IP區塊可藉由監視與IP區塊相關聯之指令佇列、監視經排隊以待由IP區塊執行之記憶體異動操作及/或分析與待由IP區塊執行之操作相關聯之執行時間而預測對於額外電力之需求。
IP區塊可傳達電力符記請求,該電力符記請求指示所要求之電力符記之數量及對決定要求額外電力作出反應而授予之電力符記之數量。當將電力符記請求傳達至一或更多互連IP區塊時,所要求之電力符記之數量可在授予額外電力符記時遞減,且所授予之電力符記之數量可增加。每一IP區塊基於分配電力符記控制電力消耗。因而,授予IP區塊可回應於對電力符記請求授予電力符記而減少電力消耗。類似地,請求IP區塊可基於對於傳達之電力符記請求授予請求IP區塊之額外電力符記而增大電力消耗。
第8A圖至第8E圖提供示例性互連IP區塊104w-z之方塊圖,其中第一IP區塊104w將電力符記請求302傳達至其他互連IP區塊104x-z。在此實例中,互連IP區塊104w-z經設置在符記環內,以使得電力符記請求302可自第一IP區塊104w至第二IP區塊104x、自第二IP區塊104x至第三IP區塊104y、自第三IP區塊104y至第四IP區塊104z及自第四IP區塊104z至第一IP區塊104w而順序地傳達。儘管所提供之實例包括經設置在符記環內之四個互連IP區塊104w-z,但本發明之實施例可包括經設置在符記環或不同邏
輯通訊設置內之更多或更少的互連IP區塊。
具體參考第8A圖,第一IP區塊104w包括關聯符記暫存器202,該關聯符記暫存器202指示將四個電力符記分配給第一IP區塊104w。在此實例中,第一IP區塊104w決定:在給定時間週期內要求額外電力。第一IP區塊104w傳達電力符記請求302,該電力符記請求302在此實例中指示第一IP區塊104w要求有電力價值(worth of power)的四個額外電力符記。電力符記請求302經傳達至符記環之第二IP區塊104x。在所提供之實例中,在接收電力符記請求之前,與第二IP區塊104x相關聯之電力符記暫存器202指示第二IP區塊104x具有分配給該第二IP區塊104x之六個電力符記,有三個電力符記可用且電力符記最少四個。如圖所示,電力符記請求302最初指示:第一IP區塊104w要求四個電力符記且對請求已授予零電力符記。
第二IP區塊104x具有六個分配電力符記且三個電力符記可用;然而,第二IP區塊對於電力符記請求302可僅授予兩個電力符記,因為第二IP區塊104x具有最少四個電力符記的關聯電力符記。現在轉至第8B圖,第二IP區塊104x將兩個電力符記(因此保持所要求的四個電力符記之最小分配)授予給電力符記請求302。第二IP區塊104x調整資料請求之資料以指示要求兩個電力符記且對於電力符記請求302已授予兩個電力符記,且第二IP區塊104x將電力符記請求302傳達至第三IP區塊104y。
與第三IP區塊104y相關聯之電力符記暫存器202
指示第三IP區塊104y不具有與第三IP區塊104y相關聯之任何可用電力符記,亦即,第三IP區塊104y消耗由分配電力符記表示之電力。因而,如第8C圖所示,第三IP區塊104y在不調整所要求或授予之數量的情況下將電力符記請求302傳達至第四IP區塊104z。與第四IP區塊相關聯之電力符記暫存器202指示第四IP區塊具有兩個可用電力符記,且授予兩個可用電力符記將不導致第四IP區塊104z降至低於第四區塊之電力符記之最小分配(一個電力符記)。
如第8D圖所示,第四IP區塊104z調整電力符記請求302以指示:需要零電力符記來滿足請求且已授予四個電力符記。另外,在授予兩個可用電力符記至電力符記請求之後,第四IP區塊104z調整電力符記暫存器202以指示:分配兩個電力符記且第四IP區塊104z不具有任何可用電力符記。第四IP區塊104z將調整之電力符記請求傳達至符記環之下一個IP區塊,該下一個IP區塊為第一IP區塊104w。第一IP區塊104w接收電力符記請求302,如第8E圖所示。因為第一IP區塊產生電力符記請求302,故所接收之電力符記請求302係對於第一IP區塊104w之回應。如圖所示,在接收到回應之後,第一IP區塊104w可調整關聯之電力符記暫存器202以指示:八個電力符記經分配給第一IP區塊104w(四個電力符記係在電力符記請求之前已分配且額外四個電力符記係藉由其他IP區塊104x-z對於請求而授予)。
因而,本發明之實施例包括分散式電力管理方案,該分散式電力管理方案利用電力符記以在對於處理器之IP區
塊層次下分配且動態地再分配電力消耗。在一些實施例中,此電力管理包括互連所有參與IP區塊之符記環設置之通訊匯流排。參與IP區塊之通訊匯流排之互連結構促進對共用通訊匯流排上之一或更多IP區塊的延伸性及可伸縮性。當IP區塊需要電力符記時,該IP區塊將插入對於特定數量之電力符記的請求至通訊匯流排上。通訊匯流排可藉由所有IP區塊監聽,且若電力符記係可用及/或基於優先級,則可藉由調整請求而授予電力符記。此調整可包括遞減請求計數可用電力符記之數量及/或增加在IP區塊處的授予計數及重新插入請求至通訊匯流排上。當請求返回至起源IP區塊周圍時,IP區塊決定已授予多少符記,且IP區塊可因此修改電力消耗。
在一些實施例中,系統可以具有預設置數量之符記的每一IP區塊啟動。每一IP區塊將隨後基於使用率遞減該每一IP區塊之電力符記計數,且基於可設置計數器及系統電力目標隨著時間流逝增加該每一IP區塊之電力符記計數。若當前未使用IP區塊,則未使用之IP區塊的符記可經分佈至其他單元。此外,協定可用以界定時間窗,以使得在某一數量上之可用電力符記經歸還至系統(亦即,去分配),且在某一臨界值下的電力符記基於系統之必要啟動需求而被保存以供IP區塊使用。另外,若IP區塊需要對系統需求快速回應,則IP區塊可能不遞減至零分配電力符記。此時間窗亦可用來決定:何時電力符記請求應在通訊匯流排上傳達以確保在電力符記可用時藉由請求IP區塊之不間斷執行。可基於通訊匯流排之往返程等待時間而決定且調整時間窗,例如包括在一些
晶片上系統(SOC)實施中的符記環。每一IP區塊可包括關聯之軟體控制暫存器以管理允許符記之臨界值。符記可表示執行時間、執行之指令、執行之記憶體異動及/或可適用於特定IP區塊之電力消耗的一些其他度量。
額外優勢及修飾對於熟習此項技術者將顯而易見。因此,本發明在本發明之更廣泛態樣中因此不局限於特定細節、代表性設備及方法及所圖示及描述的說明性實例。詳言之,可根據本發明之原理對上述流程圖中之任何區塊進行刪除、增加、使其與另一者同步、組合或以其他方式變更。因此,可在不脫離申請人之一般發明概念的精神及範疇的情況下偏離此等細節。
10‧‧‧電腦
100‧‧‧晶片
102‧‧‧NOC
104‧‧‧IP區塊
106‧‧‧記憶體通訊控制器
108‧‧‧網路介面控制器
110‧‧‧路由器
112‧‧‧晶片外主RAM
114‧‧‧記憶體
116‧‧‧晶片上記憶體
118‧‧‧連結
120‧‧‧記憶體管理單元
122‧‧‧記憶體管理單元
124‧‧‧資料通訊埠
126‧‧‧資料通訊埠
128‧‧‧主機介面處理器
130‧‧‧資料通訊埠
Claims (23)
- 一種電路佈置,包含:複數個互連IP區塊,該等複數個互連IP區塊經設置在一符記環內,其中每一IP區塊包括一電力符記分配暫存器,該電力符記分配暫存器經設置以儲存分配給該IP區塊之一電力符記數量之一指示,且每一IP區塊經設置以:基於分配給在該電力符記分配暫存器中指示之該IP區塊之該電力符記數量控制該IP區塊之電力消耗,回應於決定該IP區塊要求額外電力,傳達一電力符記請求,該電力符記請求包括基於該IP區塊所要求之額外電力的一請求數量及在該符記環上之一授予數量,自該符記環接收對該電力請求之一回應,該電力請求包括自該符記環之該等其他IP區塊的該授予之電力符記數量,基於對該電力符記請求之該回應之該授予數量調整在該電力符記分配暫存器中分配給該IP區塊之該符記數量,基於分配給在該符記分配暫存器中指示之該IP區塊的該調整之電力符記數量修改該IP區塊之電力消耗,及回應於自該符記環上之另一IP區塊接收一電力符記請求:決定對該電力符記請求授予之一分配符記數量, 基於對該電力符記請求授予之該決定之分配符記數量調整該電力符記分配暫存器及該電力符記請求之該請求數量及授予數量,及將包括該調整之請求數量及授予數量之該電力符記請求傳達至連接至該符記環之一下一個IP區塊。
- 一種用於在包括複數個互連IP區塊之一晶片上一系統中管理電力分佈之方法,該方法包含以下步驟:基於分配電力符記控制一第一IP區塊之電力消耗;回應於決定在該第一IP區塊處要求額外電力,將一電力符記請求傳達至至少一個互連IP區塊;在該第一IP區塊處接收對該電力符記請求之一回應,該回應授予先前分配給一不同互連IP區塊之至少一個額外電力符記;及至少部分地基於在該回應中授予之該至少一個額外電力符記修改該第一IP區塊之電力消耗。
- 如請求項2所述之方法,其中每一電力符記對應於以下之至少一者:一執行時間、一執行之指令數量及一執行之記憶體異動數量。
- 如請求項2所述之方法,其中每一IP區塊包括一電力符記分配暫存器,該電力符記分配暫存器指示分配給該IP區塊之一電力符記數量,且基於分配電力符記控制該第一IP區塊 之電力消耗之步驟至少部分地基於分配給該IP區塊之該電力符記數量,該電力符記數量藉由該第一IP區塊之該電力符記分配暫存器所指示。
- 如請求項4所述之方法,進一步包含以下步驟:基於藉由對該電力符記請求之該回應授予之該至少一個額外電力符記調整在該電力符記分配暫存器中分配給該IP區塊之該指示之電力符記數量,其中至少部分地基於在該回應中授予之該至少一個額外電力符記修改該第一IP區塊之電力消耗之步驟係至少部分地基於在該電力符記分配暫存器中之該調整之電力符記指示數量。
- 如請求項2所述之方法,進一步包含以下步驟:在該第一IP區塊處自一第二IP區塊接收包括一請求數量及一授予數量之一電力符記請求;決定分配給該第一IP區塊以對該電力符記請求授予之一電力符記數量;基於分配用於該電力符記請求之該決定之電力符記數量調整自該第二IP區塊之該電力符記請求之該請求數量及該授予數量;及將包括該調整之請求數量及授予數量的該電力符記請求傳達至至少一個IP區塊。
- 如請求項6所述之方法,其中包括該調整之請求數量及授予數量之該電力符記請求所傳達至該至少一個IP區塊包括該第二IP區塊。
- 如請求項6所述之方法,進一步包含以下步驟:分析自該第二IP區塊接收之該電力符記請求以決定該請求數量是否指示該電力符記請求需要額外電力符記,其中決定分配給該第一IP區塊以對該電力符記請求授予之一電力符記數量之步驟、基於對該電力符記請求分配之該決定電力符記數量調整自該第二IP區塊之該電力符記請求之該請求數量及該授予數量之步驟及傳達包括該調整之請求數量及授予數量之該電力符記請求至至少一個IP區塊之步驟係回應於以下決定:該請求數量指示該電力符記請求需要額外電力符記。
- 如請求項6所述之方法,其中該第一IP區塊包括一電力符記暫存器,該電力符記暫存器指示分配給該第一IP區塊之該電力符記數量,且決定分配給該第一IP區塊以對該電力符記請求授予之一電力符記數量之步驟係至少部分地基於分配給在該電力符記暫存器中指示之該第一IP區塊之該電力符記數量。
- 如請求項9所述之方法,其中該電力符記暫存器進一步指示必須分配給該第一IP區塊之一最小的電力符記數量,且 決定分配給該第一IP區塊以對該電力符記請求授予之一電力符記數量之步驟係至少部分地基於該最小的電力符記數量,該最小的電力符記數量必須分配給在該電力符記暫存器中指示之該第一IP區塊。
- 如請求項2所述之方法,其中該第一IP區塊及複數個IP區塊經設置在一符記環內,傳達該電力符記請求至該至少一個互連IP區塊之步驟包含以下步驟:在該符記環上傳達該電力符記請求,該方法進一步包含以下步驟:在該符記環之每一IP區塊處順序地接收該第一IP區塊之該電力符記請求;回應於在每一IP區塊處接收該電力符記請求:藉由調整該電力符記請求授予分配給該IP區塊之一可用電力符記至該第一IP區塊,及傳達該電力符記請求至該符記環之一下一個IP區塊。
- 如請求項2所述之方法,進一步包含以下步驟:決定在該第一IP區塊處要求額外電力。
- 如請求項12所述之方法,其中決定在該第一IP區塊處要求額外電力之步驟包含以下步驟:分析該第一IP區塊之執行需求, 其中該電力符記請求係至少部分地基於該第一IP區塊之該等執行需求及與接收對該電力符記請求之該回應相關聯之一回應等待時間而傳達至該至少一個互連IP區塊。
- 一種電路佈置,包含:複數個互連IP區塊,其中每一IP區塊經設置以:基於分配電力符記控制該IP區塊之電力消耗,至少部分地基於該IP區塊要求額外電力之一決定傳達一電力符記請求至至少一個其他互連IP區塊,在該IP區塊處接收對該電力符記請求之一回應,該回應授予先前分配給一不同互連IP區塊之至少一個額外電力符記,及至少部分地基於在該回應中授予之該至少一個額外電力符記修改該IP區塊之電力消耗。
- 如請求項14所述之電路佈置,其中每一電力符記對應於以下中之至少一者:執行時間、一執行之指令數量及一執行之記憶體異動數量。
- 如請求項14所述之電路佈置,其中每一IP區塊包含:一關聯之電力符記分配暫存器,該關聯之電力符記分配暫存器指示分配給該IP區塊之一電力符記數量,其中每一IP區塊經設置以至少部分地基於分配給該IP區塊之該電力符記數量控制基於分配電力符記之該IP區塊之 電力消耗,該電力符記數量藉由該IP區塊之該電力符記分配暫存器所指示。
- 如請求項16所述之電路佈置,其中每一IP區塊經進一步設置以:基於藉由對該電力符記請求之該回應授予之該至少一個額外電力符記調整在該電力符記分配暫存器中分配給該IP區塊之該指示之電力符記數量,其中至少部分地基於在該回應中授予之該一額外電力符記修改該IP區塊之電力消耗係至少部分地基於在該電力符記分配暫存器中之該指示之電力符記數量。
- 如請求項14所述之電路佈置,其中每一IP區塊經進一步設置以:自一不同互連IP區塊接收一電力符記請求,該電力符記請求包括一請求數量及一授予數量,決定對該電力符記請求授予之一分配電力符記數量,基於分配用於該電力符記請求之該決定之電力符記數量調整該電力符記請求之該請求數量及該授予數量,及傳達包括該調整之請求數量及授予數量的該電力符記請求至至少一個互連IP區塊。
- 如請求項18所述之電路佈置,其中每一IP區塊經進一步設置以: 分析該接收之電力符記請求以決定該請求數量是否指示該電力符記請求需要額外電力符記,其中該IP區塊決定對該電力符記請求授予之該分配電力符記數量、基於該決定之電力符記數量調整該電力符記請求之該請求數量及該授予數量以分配用於該電力符記請求及傳達包括該調整之請求數量及授予數量之該電力符記請求至至少一個互連IP區塊係回應於一決定:該請求數量指示該電力符記請求需要額外電力符記。
- 如請求項18所述之電路佈置,其中至少一個IP區塊之一電力符記暫存器指示分配給該IP區塊所需之一最小的電力符記數量,及該IP區塊經設置以至少部分地基於分配給該IP區塊所需之該指示之最小的電力符記數量決定一分配電力符記數量以對該電力符記請求授予。
- 如請求項14所述之電路佈置,其中該等互連IP區塊經設置在一符記環內,及每一IP區塊經設置以至少部分地基於一決定藉由在該符記環上傳達該電力符記請求而傳達該電力符記請求至至少一個其他互連IP區塊,該決定為該IP區塊要求額外電力。
- 一種包含如請求項14所述之電路佈置的積體電路裝置。
- 一種包含一電腦可讀取媒體及邏輯定義程式代碼之程式產品,該邏輯定義程式代碼常駐於該電腦可讀取媒體上且界定如請求項14所述之電路佈置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/682,999 US9134778B2 (en) | 2012-11-21 | 2012-11-21 | Power distribution management in a system on a chip |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201428464A true TW201428464A (zh) | 2014-07-16 |
Family
ID=50729099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102129853A TW201428464A (zh) | 2012-11-21 | 2013-08-20 | 分散式晶片層次的電力系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9134778B2 (zh) |
CN (1) | CN103838910B (zh) |
TW (1) | TW201428464A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11237616B1 (en) | 2020-07-27 | 2022-02-01 | International Business Machines Corporation | Governing power budget with token passing |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699079B2 (en) | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
US9477289B2 (en) * | 2014-03-25 | 2016-10-25 | Advanced Micro Devices, Inc. | Dynamic power allocation based on PHY power estimation |
US9742630B2 (en) * | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US9529400B1 (en) * | 2014-10-29 | 2016-12-27 | Netspeed Systems | Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements |
US9568970B1 (en) * | 2015-02-12 | 2017-02-14 | Netspeed Systems, Inc. | Hardware and software enabled implementation of power profile management instructions in system on chip |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
US10218580B2 (en) | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
US10657216B2 (en) * | 2016-02-29 | 2020-05-19 | Oregon State University | Routerless networks-on-chip |
US10108764B2 (en) * | 2016-04-15 | 2018-10-23 | Taiwan Semiconductor Manufacturing Company, Ltd. | Power consumption estimation method for system on chip (SOC), system for implementing the method |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10063496B2 (en) | 2017-01-10 | 2018-08-28 | Netspeed Systems Inc. | Buffer sizing of a NoC through machine learning |
US10469337B2 (en) | 2017-02-01 | 2019-11-05 | Netspeed Systems, Inc. | Cost management against requirements for the generation of a NoC |
US11361124B1 (en) * | 2017-08-10 | 2022-06-14 | Ansys, Inc. | Generating a power profile by node sampling an IP block |
US10732694B2 (en) * | 2017-09-22 | 2020-08-04 | Qualcomm Incorporated | Power state control of a mobile device |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
US11144457B2 (en) | 2018-02-22 | 2021-10-12 | Netspeed Systems, Inc. | Enhanced page locality in network-on-chip (NoC) architectures |
US10896476B2 (en) | 2018-02-22 | 2021-01-19 | Netspeed Systems, Inc. | Repository of integration description of hardware intellectual property for NoC construction and SoC integration |
US10983910B2 (en) | 2018-02-22 | 2021-04-20 | Netspeed Systems, Inc. | Bandwidth weighting mechanism based network-on-chip (NoC) configuration |
US11023377B2 (en) | 2018-02-23 | 2021-06-01 | Netspeed Systems, Inc. | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) |
US11176302B2 (en) | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
WO2021021205A1 (en) * | 2019-07-31 | 2021-02-04 | Hewlett-Packard Development Company, L.P. | Reallocation of power between electronic components |
CN110750069B (zh) * | 2019-12-24 | 2020-05-22 | 武汉精立电子技术有限公司 | 一种aoi系统的多设备控制装置 |
DE102020203661A1 (de) * | 2020-03-20 | 2021-09-23 | Robert Bosch Gesellschaft mit beschränkter Haftung | Computerimplementiertes Verfahren zum Steuern einer Verwendung von Kraftwerksleistung einer Kraftwerksanlage |
US11669151B1 (en) * | 2021-12-20 | 2023-06-06 | Dell Products L.P. | Method for dynamic feature enablement based on power budgeting forecasting |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3878431B2 (ja) | 2000-06-16 | 2007-02-07 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
US7188260B1 (en) | 2001-08-29 | 2007-03-06 | Cisco Technology, Inc. | Apparatus and method for centralized power management |
US7287170B2 (en) * | 2002-05-14 | 2007-10-23 | Ati Technologies Inc. | Method and apparatus for power management using system and request tokens |
US20060236011A1 (en) | 2005-04-15 | 2006-10-19 | Charles Narad | Ring management |
US7444526B2 (en) | 2005-06-16 | 2008-10-28 | International Business Machines Corporation | Performance conserving method for reducing power consumption in a server system |
US7902654B2 (en) * | 2006-05-10 | 2011-03-08 | Qualcomm Incorporated | System and method of silicon switched power delivery using a package |
US8799902B2 (en) | 2007-04-09 | 2014-08-05 | Intel Corporation | Priority based throttling for power/performance quality of service |
US7966504B2 (en) | 2007-04-11 | 2011-06-21 | Broadcom Corporation | System and method for power management in a computing device for power over ethernet |
US7818592B2 (en) * | 2007-04-18 | 2010-10-19 | Globalfoundries Inc. | Token based power control mechanism |
US7930578B2 (en) * | 2007-09-27 | 2011-04-19 | International Business Machines Corporation | Method and system of peak power enforcement via autonomous token-based control and management |
US20100162024A1 (en) | 2008-12-24 | 2010-06-24 | Benjamin Kuris | Enabling a Charge Limited Device to Operate for a Desired Period of Time |
CN101807107B (zh) * | 2009-02-17 | 2011-12-14 | 威盛电子股份有限公司 | 具有共享机制的信息存取方法及其计算机系统 |
US8190930B2 (en) | 2009-03-30 | 2012-05-29 | Intel Corporation | Methods and apparatuses for controlling thread contention |
US8429436B2 (en) * | 2009-09-09 | 2013-04-23 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction in a storage device |
US8335123B2 (en) | 2009-11-20 | 2012-12-18 | Sandisk Technologies Inc. | Power management of memory systems |
CN101958797B (zh) * | 2010-06-02 | 2013-01-02 | 福建星网锐捷网络有限公司 | 以太网供电系统和工作方法 |
US8510582B2 (en) * | 2010-07-21 | 2013-08-13 | Advanced Micro Devices, Inc. | Managing current and power in a computing system |
US8843772B2 (en) * | 2012-05-22 | 2014-09-23 | Dell Products Lp | Systems and methods for dynamic power allocation in an information handling system environment |
US20150033045A1 (en) * | 2013-07-23 | 2015-01-29 | Apple Inc. | Power Supply Droop Reduction Using Feed Forward Current Control |
-
2012
- 2012-11-21 US US13/682,999 patent/US9134778B2/en not_active Expired - Fee Related
-
2013
- 2013-08-20 TW TW102129853A patent/TW201428464A/zh unknown
- 2013-11-21 CN CN201310594714.5A patent/CN103838910B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11237616B1 (en) | 2020-07-27 | 2022-02-01 | International Business Machines Corporation | Governing power budget with token passing |
Also Published As
Publication number | Publication date |
---|---|
CN103838910A (zh) | 2014-06-04 |
US20140143557A1 (en) | 2014-05-22 |
CN103838910B (zh) | 2017-03-01 |
US9134778B2 (en) | 2015-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201428464A (zh) | 分散式晶片層次的電力系統 | |
US9864712B2 (en) | Shared receive queue allocation for network on a chip communication | |
US11269690B2 (en) | Dynamic thread status retrieval using inter-thread communication | |
US9134779B2 (en) | Power distribution management in a system on a chip | |
US8719455B2 (en) | DMA-based acceleration of command push buffer between host and target devices | |
US7945764B2 (en) | Processing unit incorporating multirate execution unit | |
US8495643B2 (en) | Message selection based on time stamp and priority in a multithreaded processor | |
US8140830B2 (en) | Structural power reduction in multithreaded processor | |
US9606841B2 (en) | Thread scheduling across heterogeneous processing elements with resource mapping | |
US10521234B2 (en) | Concurrent multiple instruction issued of non-pipelined instructions using non-pipelined operation resources in another processing core | |
US8438578B2 (en) | Network on chip with an I/O accelerator | |
US9189051B2 (en) | Power reduction by minimizing bit transitions in the hamming distances of encoded communications | |
US20130185542A1 (en) | External auxiliary execution unit interface to off-chip auxiliary execution unit | |
JP2009116872A (ja) | ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置 | |
US8954635B2 (en) | Buffer management using freelist buffers |