TWI380182B - Resource allocation management - Google Patents
Resource allocation management Download PDFInfo
- Publication number
- TWI380182B TWI380182B TW094122586A TW94122586A TWI380182B TW I380182 B TWI380182 B TW I380182B TW 094122586 A TW094122586 A TW 094122586A TW 94122586 A TW94122586 A TW 94122586A TW I380182 B TWI380182 B TW I380182B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- system resource
- receiving
- resource
- request
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Mobile Radio Communication Systems (AREA)
Description
1380182 九、發明說明: 【發明所屬之技術領域】 本發明係大致有關電腦系統,尤係有關用於電腦系統内 的資源分配管理之方法及裝置。 【先前技術】 電腦系統(例如,以多個處理單元構成之一電腦系統) 可接收需要該電腦系統的資源之命令。在許多傳統的電腦 系統中,可根據先來先服務的方式將系統資源分配給命 令。然而,此種分配體系可能無法有效率地管理系統資 源。因此,目前需要管理系統資源分配的改良式方法及裝 置。 ' 【發明内容】 在本發明的一第一方面中’提供了用來管理系統資源分 配的一第—Ht- ^. ^ _ 法。该第一方法包含下列步驟:(1)接收需要 系統資源的-第—命令;(2)接收該第—命令對該系統資 源的一第一要求;(3)接收需要該系統資源的-第二命令; (4)將該系統資源指$ Μ 4 β 原扎疋給該第二命令;以及(5)接收該第二 命令對該系統資源的-第二要求。 在本發明的一第-士 矛一方面中,提供了用來管理系統資源 配的一第二方法。j贫 ^ βχ第二方法包含下列步驟:(1)接收需要 一第一糸統資源的—兹一 第一命令,其中該第一命令具有一第 一優先順序;(2)接收 罘 ^ 叹4第—命令對該第一系統資源的一第 一要求,(3)接收需要 ^ ^ Λ 要4第一系統資源的一第二命令,其中 s亥第二命令具有紋莖一 一優先順序;(4)根據該第一優先順序 I02899.doc 1380182 而將該第一系統資源指定給該第二命令;以及⑺接收該第 二命令對該索一系統資源的一第二要求。 在本發明"三方面中,提供了用來管理系統資源分 配的-第二方法。該第二方法包含下列步驟:⑴接收需要 複數個低需求系統資源中之-第一低需求系統資源及—第 二系統資源的-第-命令’其中對該第二系統資源的需求 是高的;(2)將該複數個低需求系統資源中之該第一低需求 • /系統資源指定給該第-命令;(3)在將該複數個低需求系統 資源中之該第一低需求系統資源指定給該第一命令之後, 接收該第一命令對該第二系鲚眘馮的 Φ. 示既貝源的一要求;(4)接收需要 該複數個低需求系統資源中之一繁-柄+七< μ * ^ 笫一低需求系統資源及該 第·一系統5源的一第二命令;/ < \ A7 卩7 , 0)將^複數個低需求系統資 源中之該第二低m统資源指定給該第二命令;⑻在將 該複數個低需求系統資源中之該第二低需求系統資源指定 給該第二命令之後’將該第二系統資源指定給該第二命 義•令’以及(7)接收s玄第二命令對兮笛—备姑·欠= 胃卩ν釕4第一糸統資源的一第二 求。 在本發明的一第四方面中,捃 Τ钕供了用來管理系統資源分 配的一第四方法。該第四方 昂万去包含下列步驟:(1)接收需要 -系統資源的-命令;(2)接收騎令對與㈣統資源對應 的一符記之-要求;以及(3)將該符記指定給該命令因而 將該系統資源指定給該命令。接供 一 r -7杈供了形式為系統及裝置的 許多其他方面’且該等系統及裝置係根據本發明的這些其 他方面。 102899.doc 1380182 若參閱下文中之詳細說明、最後的申請專利範圍 '以及 各附圖,將可易於更完整地了解本發明的其他特徵及方 .面。 • 【實施方式】 本發明係有關用來有效率地管理系統資源的分配之方法 及裝置。更具體而言,本發明的方法及裝置採用與系統上 的各種資源對應的符記,並有效率地管理(諸如多個要求 % @裝置)對符記的要求及(或)將符記指定給命令。系統資源 包括記憶體頻寬、記憶體組、以及匯流排頻寬。在此種方 式下,本發明的方法及裝置控制對系統資源的使用,及 (或)將系統資源分配給系統所執行的命令。本發明的方法 及裝置於管理系統資源的分配時所需的晶片上之空間小於 先前的方法及裝置所需之空間。此外,本發明的方法及裝 置可更有效率地將系統資源授予各命令,並可使系統更週 期性地釋出命令(例如,在將一系統資源分配給命令之 每後)。 圖1疋根據本發明的一實施例而管理系統資源分配的一 裝置(100)之-方塊圖。冑置(1〇〇)是一電腦系統,該電腦 系統包含將於下文中說明的一主晶片(102),該主晶片 (102)被耦合到諸如一系統記憶體等的一記憶體(1〇4卜可 將記憶體(104)分成複數個部分(例如,記憶體組(1〇6a_ P))。在一實施例中,將記憶體(1〇4)分成十六個記憶體組 (106a-p)。可將記憶體(1〇4)分成—較大或較小數目的記憶 體組(106a-P) »記憶體組(1〇6a_p)中之每一記憶體組係被用 102899.doc 1380182 來作為一系統資源。主晶片(102)係經由一記憶體匯流排 (108)而被耦合到記憶體(104),而該記憶體匯流排(1〇8)提 • 供了可諸如回應該電腦系統所接收的一命令而被用來存取 • 5己憶體組(1 〇6a-p)的一頻寬(例如’記憶體匯流排頻寬)。 主晶片(102)被耦合到一個或多個晶片(例如,協力廠商 晶片(110-112) ’該等晶片可將命令發出到主晶片(1〇2)。-在一實施例中,兩個協力廠商晶片(〗丨〇_丨丨2)被耦合到主晶 片(1 〇2)。其他的協力廢商晶片(110-112)可被耦合到主晶 片(102)。主晶片(1〇2)可經由諸如各別的進入匯流排(114_ 116)及出去匯流排(11 8-120)(例如,I/O匯流排)等的"ο介 面(IOIF)而被耦合到協力廠商晶片(11〇_112)β被耦合到協 力廠商晶片(110-112)的該等各別的進入匯流排(114_116)以 及出去匯流排(118-120)被用來作為系統資源。該等進入匯 %il排(114-116)及出去匯流排(118—120)中之每一匯流排提供 了可用於s亥等協力廒商晶片(11 〇_112)中之一協力廠商晶片 與被耦合到主晶片(102)的其他組件間之通訊的一頻寬(例 如’ I/O匯流排頻寬)。因此,裝置(100)包含諸如記憶體組 (106a-p)及I/O介面等的系統資源。 主晶片(102)包含諸如一主處理器(122)及八個協同處理 器(124-138)等的複數個處理器》主晶片(丨〇2)可包含一較 大數目或較小數目的主處理器(122)及(或)協同處理器(124· 】38)。諸如處理器(122-138)等的主晶片(〗〇2)之各組件可能 需要一個或多個系統資源,且因而要求使用該等一個或多 個系統資源。主晶片(102)包含被用來作為記憶體(1〇4)的 I02S99.doc 1380182 一介面之一記憶體控制器(140)。或者,主晶片(1〇2)可不 包含一記憶體控制器(140)。 此外’主晶片(102)包含且(或)被耦合到適於管理系統資 源分配的複數個邏輯(14 1)。更具體而言,該複數個邏輯 (141)執行資源分配管理(Res〇urce Allocation Management ;簡稱RAM),用以將分配一系統資源的一 個或多個部分之一使用控制機制提供給要求該系統資源的 _ 一個或多個組件。該複數個邏輯(141)可使每一系統資源與 一符記相關聯》RAM可要求:屬於需要一系統資源的該電 腦系統之一組件(例如’主晶片處理器022-138)或協力廠 商晶片(110-112)中之一處理器)中之一命令在使用該系統 資源之前’先要求並取得(例如,被授予)與該系統資源對 應的一符記。在本發明的一第一組實施例中,屬於電腦系 統(100)的一組件(110-112)、(122-138)之一第一命令所要 求之一符記在被授予組件(110-112)、(122-138)的該第一命 令之前’不可被屬於組件(110-112)、(122-138)的一第二命 令要求。 如將於下文中說明的’本發明的一第二組實施例可以不 要求:屬於組件(110-112)、(122-138)的一第一命令所要求 之一符記在屬於組件(110-112)、(122-13 8)的一第二命令要 求5亥符S己之刖’先被授予提出要求的命令。在這些實施例 中,屬於組件(II 0-I12)、(122-138)的該第一命令所要求之 符記可被授予(例如,被借予)屬於組件(110-Π2)、(〗22-1 3 8)的該第二命令。因此,在該第二組實施例中,當一符 102899.doc 1380182 記被授予一組件(110-112)、(122-138)時,該符記可被指定 給屬於組件(11 〇_112)、(122-138)且需要該符記的任何命 . 令。更具體而言,該符記無須被指定給原先提出要求的命 • 令。然後’屬於該電腦系統的組件(110-112)、(122· 138)之 另一命令可要求該符記。 在任一組實施例中,一組件10-112)、(122-138)所要求 的一符記在被授予該組件(11 〇_ 112)、(122-138)之前,該組 _ 件(11ίΜ12)、(122-138)不可再度要求該符記。各組件 (110-】12)、(】22-138)可以不知道且可以不需要知道該電腦 系統的其他組件(110-112)、(122-138)所提出之符記要求。 因此’可以有對一特定符記的多個要求’但是每一組件 (110-112)、(122-138)只能有一個要求。此外,容許每—組 件(110-112)、(122-138)在每一符記類型(例如,每一對應 於一系統資源的符記)中有一單一的未完成之要求。 如將於下文中說明的,協力廠商晶片(11〇·112)所發出的 • 需要符記的各命令可在要求該等所需符記的一單一組件中 被合併。因此,在該第二組實施例令,可將這些命令的要 求視為一單一組件的要求,且被授予該單一組件的各符記 可被指定給來自任何(例如,任一)協力廠商晶片〇ι〇·1ΐ2) 的任何命令。 該複數個邏輯(141)包含被耦合到進入匯流排(ιΐ4η6) 及出去匯流排(11 8-120)的-輸入/輸出控制器(Input/〇utput c〇ntr〇uer;簡稱 IOC)(142)。IOC(142)包含一 ^ 列(144), 該陣列(144)包含複數個資料項以及複數個暫存器(146)或 102899.doc -10· 柳丄82 類似的元件’而每一暫存器(146)適於儲存予一陣列資料項 對應的-索弓卜在-實施例中’ I〇c(142)被用來作為被輛 合到該主晶片的-個或多個组件(例如,協力廒商晶片 (110-112))之-代理。更具體而言,IC)C(i42)自—協力廠 商晶片(11G-U2)接收命令,並將該協力廠商晶片命令放入 主明片(102)中》在此種方式下,來自各組件的命令(例 如,來自協力廠商晶片(11〇·112)的命令)在I〇c(142)中被 合併,且IOC(l42)為這些命令要求資源^ I〇c(142)適於管 理送複數個暫存H (146)中儲存的索引,並使未被使用的索 引與IOC(142)自一组件⑴〇_112)、(122138)接收的一命令 相關聯。所接收的命令被儲存在與該命令相關聯的索引所 指示之一陣列資料項。在一實施例中,陣列(144)包含六十 四個資料項。因此’ 10(^42)可接收並儲存多達六十四個 °> 7 (例如,多達六十四個命令是”待處理的”)。陣列(144) 可才曰包含較多或較少的資料項,因此,I〇c(142)可接收並 儲存較多或較少的命令。每一命令可能需要多達三個系統 資源(例如,對應於系統資源的符記)。下文中將參照圖2而 說明一陣列資料項的結構。 在一個或多個實施例中,聚集裝置(1〇〇)的組件(11〇_ 112)、(122-13 8)以及因而來自組件(11〇_112)、(122_138)的 〇P 7 ’以便形成一個或多個資源分配組(Resource
Allocation Group ;簡稱RAG),且每一 RAG都被指定有一 資源分配識別碼(Resource Allocation ID ;簡稱RAID)。該 複數個邏輯(141)可根據被指定給一RAG的RAID而將系統 102899.doc 1380182 資源分配給自該RAG中之各組件(110-112)、( 122-13 8)接收 的命令。更具體而言’具有一 RAID的各程序可以比具有 其他RAID的程序更頻繁地被分配到系統資源。在此種方 式下’與每一 RAG相關聯的RAID被用來作為該RAG的優 先順序。 該複數個邏輯(141)包含被耦合到主晶片(1〇2)的I〇c符 記要求邏輯(IOC Token Requester logic;簡稱iTR)(148)。 • I〇C(142)可包含ITR(148)。ITR(148)適於有效率地要求被 IOC(I42)接收的一命令所需要的符記。係以一索引的形式 傳送為一命令取得一符記之一要求,其中係將該索引用來 取得與陣列(144)中儲存的該命令有關之資訊。ITR(148)接 收一索引,並對陣列(144)提出一讀取要求。在此種方式 下,ITR(148)可空出與命令對應的索引。一旦一命令所需 的所有符記都被授予該命令,且已提出該命令所需的所有 符記要求之後,即可空出與該命令相關聯的一索引(例 _ 如,可使用該索引)。在空出該索弓j之前,不可使該索引 與另一命令相關聯》此外,ITR(148)適於接收一被授予的 符記並將被授予的符記有效率地指定給需要該符記的一命 令。在此種方式下,ITR(148)可空出命令。一旦指定了一 命令需要的所有符記之後,即可自I〇c(142)(例如,汀R (148))空出(例如,退出)該命令。例如,在為一命令要求 付圯,或將一符記指定給該命令之後,ITR(i48)更新與 該命令對應的陣列資料項。 。玄複數個邏輯(141)包含被搞合IC)C(142)的符記管理邏 102899.doc •12- 1380182 輯(Token Manager logic;簡稱TM)(15〇)。丁M(i5〇)適於產 生與一個或多個系統資源對應的一符記。使用者可將 TM(150)的紐態設定成:根據一系統資源的一指定期間, 而產生與該資源對應的一符記。例如,TM(15〇)可於開始 時根據對應於指定的期間之一時間而產生與該資源對應的 一符記。因此,無法(諸如由一要求的組件)預測所要求的 符§己被授予之順序。一旦該符記被授予之後,TM⑴❼可 • 根據該指定的期間而產生該系統資源的一新符記。此外, TM(150)適於自ITR(148)接收與一系統資源對應的對一符 記之要求。在一實施例中,裝置(1〇〇)包含二十個系統資源 (例如,十六個記憶體組(〗〇6a_p)、兩個進入"ο匯流排 (114-116)、以及兩個出去1/〇匯流排(11812〇))。因此, TM(150)為每一RAG產生二十個符記。在其他的實施例 中,裝置(100)可包含較多或較少的系統資源,因此, TM( 15 0)可產生較多或較少的符記。 義· 圖2是根據本發明的一實施例的一陣列資料項(例如 (144a))之一方塊圖。每一陣列資料項(144幼對應於 (142)(例如.’ itr〇48))所接收的一命令,且包含與該命令 有關的資訊。在一實施例中,陣列資料項(144&)的寬度為 一十四位元。陣列資料項(144a)的寬度可較大或較小。陣 列資料項(144a)包含一尺八⑴欄位(2〇2),用以儲存可指示 與該叩令相關聯的一 RAID之位元。在一實施例中,該 RAID櫚位可具有兩位元的寬度。然而,該RAID攔位可具 有不同的寬度。 I02899.doc 13 1380182
陣列資料項(144a)包含一 I〇if類型櫊位(204),用以指示 該命令需要的一第一 1/()匯流排符記(I〇IF符記)之類型。例 如,在圖1所示之裝置(100)中,一命令可能需要與被耦合 到第一協力廄商處理器(110)的進入匯流排(114)、被耦 合到該第一處理器(110)的出去匯流排(118)、被耦合到一 第二協力廠商處理器(112)的進入匯流排(116)、或被耦合 到第二協力廠商處理器(112)的出去匯流排(12〇)對應之一 符記。在一實施例中,1〇11?類型攔位(2〇4)的寬度可以是二 位元。I0IF類型欄位(2〇4)可具有不同的寬度。 陣列資料項(144a)包含一記憶體組/ioif類型欄位(206)。 如果該命令需要一記憶體組(l〇6a-p)的一符記(例如,一記 憶體符記),則記憶體組/I〇IF類型攔位(2〇6)指示需要哪一 記憶體符記。然而,如果該命令不需要一記憶體符記,而 是需要一第二I0IF符記,則記憶體組/IC)IF類型欄位(206) 的一部分指示該第二I0IF符記需要哪一類型的ioif符記。 在一實施例中,記憶體組/I0IF類型欄位(206)的寬度為四 位元。可將記憶體組/I0IF類型欄位(2〇6)的四位元用來指 示所需要的一記憶體符記,且可將記憶體組/I〇IF類型攔 位(206)的兩位元用來指示所需的第二1〇1]?符記。記憶體組 /I0IF類型欄位(206)可具有不同的寬度。 陣列資料項144a包含一 I0IF符記要求欄位(208),用以指 示必須提出的I0IF符記要求。例如,i〇if符記要求欄位 (208)可具有兩位元的寬度’且每一位元指示必須提出的一 IOIF符記要求。然而,I0IF符記要求攔位(2〇8)可具有不同 102899.doc 1380182 的寬度《此外,陣列資料項(144a)包含一"缺少的I〇iF符記,, 欄位(210),用以指示必須取得的I〇IF符記。在一實施例 中,"缺少的IOIF符記,,欄位(210)可具有兩位元的寬度,且 每一位元指示必須取得的一I0IF符記。然而,"缺少的 IOIF符記"欄位(2i0)可具有不同的寬度。陣列資料項 (144a)包含一記憶體符記要求攔位(212),用以指示所要提 出的記憶體符記要求。例如,記憶體符記要求欄位(212)可 鳙具有兩位元的寬度,且每-位元指示所要提出的一記憶體 符記要求。然而,記憶體符記要求欄位(212)可具有不同的 寬度。此外,陣列資料項(144a)可包含—"缺少的記憶體 符記"欄位(2M)’用以指示必須為該命令取得的記憶體符 記。在一實施例中,"缺少的記憶體符記攔位,,攔位(214)可 具有兩位元的寬度,且每一位元可指示所要取得的一記憶 體符記。然而,”缺少的記憶體符記攔位,,攔位(214)可具有 不同的寬度。 _ S在將參照圖i及2且將參照圖3而說明用來管理系統資 源分配的裝置(100)之作業,其中圖3示出根據本發明的一 實施例而用來管理系統資源分配的一第一例示方法。更具 體而言,圖3示出用來管理系統資源分配的一方法,該方 法容許將一第一命令所要求的一系統資源被授予(例如, 被借予)一第二命令。請參閱圖3,在步驟中方法 (3〇〇)開始。在步驟(3〇4)中,接收到需要一系統資源的一 第更具體而舌,I〇C(142)可自裝置(1〇〇)的諸如_ 協力廠商處理器⑴〇_ i i2)等的_個組件接收該第—命令。 102899.doc 1380182 如前文所述,當IOC(142)接收該第一命令時,i〇c(i4 使該第一命令與一索引組中之一可用索引相關聯。該索引 對應於一陣列(144)中之-資料項(144小係以來自該第一 命令的資訊填入該陣列資料項的各攔位。例如,如果嗜第 一命令需要使用記憶體組(106a)以及被耦合到第—協:廠 商處理器(110)的出去匯流排⑴8),則可設定(例如,宣告) 記憶體組/I0IF類型欄位(206)、I0IF符記要求櫚位 "缺少的IOIF符記"欄位(21〇)、記憶體符記要求欄位 (2!2)、以及"缺少的記憶體符記"欄位(214)等的攔位中之 位兀。更具體而言,宣告記憶體組/1〇11?類型欄位(2〇6)中 之位兀,以便指示該第一命令需要記憶體組丨的一記憶體 符記。此外,I0IF符記要求攔位(2〇8)中之一個或多個位元 被設定,以便指示已提出對所需要I〇IF符記(例如,對應 於被耦合到第一協力廒商處理器(11〇)的出去匯流排(ιι8) 之符記)的一要求。同樣地,"缺少的I〇IF符記"攔位(2】〇) 中之位元被設定,以便指示尚未取得所需的一個或多個 IOIF符s己。此外,記憶體符記要求欄位(2丨2)中之一個或多 個位元被設定,以便指示尚未提出對所需記憶體符記(例 如’對應於記憶體組1的符記)的一要求。同樣地,"缺少 的記憶體符記,'攔位(214)中之一偭或多個位元被設定,以 便指示尚未取得所需的一個或多個記憶體符記。該命令可 包含一 RAID襴位(202)中之若干位元,用以指示先前發出 該命令的組件(110_112)所屬的RAG。在此種方式下, IOC(142)可接收並儲存主晶片(1〇2)的—陣列(144)中之複 102899.doc 16· 1380182 數個命令。陣列(144)被用來作為命令的一等候佇列。 ITR(148)掃描該等陣列資料項,以便決定需要對一系統 資源(例如,對應於該系統資源的一符記)的—要求之命 令。更具體而言,在一第一時間期間(例如,—第一處理 器週期)中,mi(148)可存取—第一陣列資料項(144a),以 便決定與該第一陣列資料項(1443)對應的命令是否需要一 符記要求。在一次一時間期間(例如,一第二處理器週期) t,ITR(14S)可存取一第二陣列資料項(i44b),以便決定 與該第二陣列資料項(144bm應的命令是否需要—符記要 求。同樣地,在後續的時間期間中,ITR(148)掃描其餘的 陣列資料項。如果ITR(148)在一時間期間中存取的 個陣列資料項,mTR(148)在次巾存取第一陣 *
列=料項(144a)…旦ITR(148)決定了 一命令需要對一系 統資源(例如,對應於該系統資源的一符記)的—要求,則 ITR(148)決定—命令對同—系統f源的_先前要求是否待 處理yTR(148)包含適於決定對同每—系統資源的—先前 要求是否待處理的邏輯。如果ITR(148)決定對該系統資^ 的一先前要求並不是待處理,則ITR(148)要求該所需的系 統資源。更具體而S,148)將對所需系統資源的—要 未(例如,第一要求)發出到TM(15〇pITR(i48)可在其广 取與該命令對應的陣列資料項的同—時間期間中要求該: 令所需的系統資源。或者,ITR(148)可在另—時間期^ 要求所需的系統資源。 ’B 在步驟(3〇6)中,接收該第一命令對該系統資源的一第 102899.doc -17- 1380182 -要求(例如,可自該第一命令或該第一命令的代表接收 對該系統資源的該第一要求)。例如,ITR(148)提出對該第 °P令所需的該系統資源之一第一要求。ΤΜ(15〇)自代表 該第一命令的ITR(148)接收對該系統資源(例如,對應於該 系統資源的-符記)的要求。TM(15〇)可將所要求的符記提 供給(例如,授予)ITR(148p如前文所述,TM(i5〇)之组態 破設定成根據一使用者指定的期間而產生一符記。因此, 彆™(150)可在自ITR(148)接收到該要求之前,先產生了該 所需之符記。因此,TM(150)可在接收到該符記要求之 後,立刻(例如,在幾個時間期間之内)授予所冑的符記。 或者,如果尚未產生所要求的符記,則TM(i5〇)在根據其 組態設定的一時間上產生該符記。當tm〇5〇)產生所要求 的符記時’可能經過了多個時間期間。一旦TM(l5〇)將所 要求的符記授予ITR(148)之後,對該符記的該要求不再是 待處理的。 • 纟步驟(308)中,接收到需要該系統資源的一第二命 令。因此,該第-及第二命令都需要相同的系統資源。與 步驟(304)類似’ I〇c(142)可自該裝置的—個組件(例如, 協力廠商晶片(110-112))接收該第二命令,使該第二命令 與對應於陣列(144)中之—陣列(例如,(i44b))相關聯,並 以來自該第二命令的資訊填入資料項〇44b)的各搁位。例 如’可在接收到該第一命令的—個或多個時間期間之後接 收到該第二命令。 在存取與該第一命令對應的陣列資料項(144a)之後, 102899.doc 1380182 mum)可存取與該第二命令對應的陣列資料項⑽心 以便決定該第二命令的狀態。更具體而言,叫⑷)可決 定該第二命令是否需要一個或多個符記,是否需要要求所 需的一個或多個符記,及(或)是否已取得所需的一個或多 個符記。例如,ITR(148)可在TM(15〇)將itr(i48)代表該 第-命令要求的系統資源(例如,對應於該系統資源的符 記)授予ITR(148)之後的一時間期間中,存取與該第二命令 鑄㈣的陣列資料項(144b)。如前文所述,此時,對該系統 資源(例如’對應於該系統資源的符記)的該要求不再是待 處理的。在該時間期間中,ITR〇48)決定該第二命令效該 系統資源(例如,該第一命令所需的同一系統資源),需要 要求該系統資源,且需要取得該系統資源。 在步驟(310)中’該系統資源被指定給該第二命令。更 ”體而σ,ITR(148)將該第一命令所要求的該系統資源(例 如,對應於該系統資源的符記)指定給該第二命令。可在 • ITR(148)代表該第二命令要求該系統資源之前將該系統 資源指定給該第二命令。藉由將另一命令(例如,該第一 命令)所要求的系統資源指定給該第二命令,該第二命令 向該第一命令借用了該系統資源。由於容許一命令向其他 的咔令借用系統資源(例如,由於系統資源的借用),所以 提向了系統效能。例如,並非將該系統資源授予對該系統 資源的提出要求者(例如,該第一命令),該第一命令需要 等候到(例如’等候多達六十四個時間期間)ITR(148)再度 存取與s亥第一命令對應的陣列資料項(丨44a),而是可將該 102899.doc 1380182 系統資源指定給該第二命令,因而釋出了該第二命令(假 設該第二命令不需要其他的系統資源)。因此,將較快地 該系統資源分配給一命令,更有致率地(例如,更快地)釋 出命令。此外’系統資源的借用無須使被授予的一系統資 源與先前要求該系統貢源的一系統資源相關,因而簡化了 該複數個邏輯(H1)的設計。因此,主晶片(1〇2)上只需要 較少的空間9 • 在步驟(312)中,接收到該第二命令對該系統資源的一 第二要求(例如,可自該第二命令或該第二命令的代表接 收對該系統資源的該第二要求)。例如,ITR(148)提出對該 第二命令所需的系統資源之一第二要求。TM(i5〇)自代表 該第二命令的ITR(148)接收對該系統資源(例如,對應於該 系統資源的一符記)之一要求。可在將該系統資源授予該 第二命令之後,接收該第二命令對該系統資源的該第二要 求。在此種方式下’ TM(150)可為另一命令(例如,該第一 4令)產生該系統資源(例如’對應於該系統資源的一符 記)。此外,因為業已將該系統資源分配給該第二命令, 所以旦ITR( 148)要求該系统資源之後,即可釋出與該第 二命令相關聯的索引。’然後’執行步驟(314)。在步驟 (314)中,方法(3〇〇)終止。 此外’在一個或多個實施例中’系統資源被授予該第一 =令。例如,™(15G)產生該第二命令的代表要求之系統 資源’並將該系統資源授予ITR(148),且當存取盘該第一 命令對應的陣列資料項(1叫時,ITR(M8)將該系統資源 102899.doc •20- 1380182 指定給該第一命令。在此種方式下,可釋出與第一命令相 .關聯的索引 '及(或)該第一命令。 經由圖3所示方法(3〇〇)的使用,可先將一被授予的系統 貧源指定給一第二命令,然後才將該系統資源指定給原先 要求該系統資源的一第一命令◊此外,在該系統資源被指 定給該第二命令之前,該第二命令不需要對該系統資源的 要求。在此種方式下,可在一穩定的進度下釋出各命 • 令’且因而提高了裝置的效能。 Ρ 在一個或多個實施例中,IOC(142)所接收的命令可能來 自不同的RAG及不同的rAID(例如,優先順序)中包含的 組件(例如,協力廠商晶片(110_112))。在這些實施例中, 一個以上的符記對應於裝置(1〇〇)的一系統資源(例如,一 δ己憶體組(l〇6a-p)或I/O匯流排(114_12〇))β例如,每 一 RAID的一符記對應於一系統資源。對於採用二十個符 記類型及四個RAG的一裝置(100)而言,採用了八十個不同 _的符記。此外,I〇C(142)所接收的一命令包含一 raid, ITR(148)將要求與該RAID的一系統資源對應之符記, 而要求該系統資源,且TM(15〇)根據其組態設定而產生 所要求的符記。例如,TM(15〇)之組態可被設定成:為一 第一 RAID產生與一系統資源對應的一符記,且係在比 為一第二RAID產生與該系統資源對應的一符記快的一進 度下產生前述的符記,因而將對應於各RAID的優先順序 拓疋給各命令,且根據該等優先順序而產生符記。可將與 圖3所示之方法(3〇〇)類似的一方法用來接收具有一個以 102899.doc 1380182 上的優先順序之各命令,並將各系統資源分配給該等命 令,同時可容許若干需要相同符記(例如,在一RAID中對 應於έ玄系統資源之一符記)命令相互借用該符記。 • 現在將參照圖1及2且參照圖4而說明用來管理系統資源 分配的裝置(100)之作業,其中圖4示出根據本發明的—實 施例而管理系統資源分配的一第二例示方法。更具體而 言,圖4示出用來管理將系統資源分配到需要一個或多個 • 系統資源的各命令之一方法。請參閱圖4,在步驟(4〇2) 中,方法(400)開始。在步驟(4〇4)中,接收到要求複數個 低需求系統資源中之一第一低需求系統資源及一第二系統 資源:-第一命令。對該第二系統資源的需求是高的⑽ 如,咼於該等低需求系統資源)。例如,在與前文所述的 步驟(304)類似之方式下,I〇c〇42)自裝置(ι〇〇)的—組件 (例如,一協力廠商晶片(11〇_112))接收該第一命令。 1丁尺(148)向丁]\4(150)要求諸如一記憶體組(1〇6")等的該 _ f低需求(例如’低需求/低可取得性)系統資源中之該第一 低需求系統資源(例如,對應於該等低需求系統資源中之 該第一低需求系統資源的一符記)。該要求包含與該命令 相關聯的一 RAID。TM(150)接收到對該等低需求系統資 源中之該第-低需求系統資源之該要求,並產生所要求的 符記(在先前並未產生該符記之情形下)。ΤΜ(ι 5〇)之組態 被設定成根據所要求的符記及與該所要求的符記相關聯: RAHD而產生符記 '然後,tm(15q)將所產生的該符記授予 ITR(148) ° 102899.doc -22- 1380182 在步驟(4G6)巾’將該複數個低需求系統資源中之該第 一低需求系統資源指定給該第一命令。更具體而言, ITR(148)將該複數個低需求系統資源中之該第—低需求系 統資源(例如 圯憶體組(1 〇6a_p)等的對應於該複數個低 需求系統資源中之㈣—低需求系統資源的—符記)指定 給該第一命令。然後,ITR(148)要求該第二系統資源(例 如,對應於諸如1/0匯流排(114-120)頻寬等的該高需求(例 如,高需求/高可取得性)系統資源之一符記卜在該第一命 V取得所舄的該低需求系統資源之前,】tr(μ”並不為該 第一命令要求該高需求系統資源。
在步驟(4〇8)中,在將該複數個低需求系統資源中之該 第—低需求系統資源指定給該第一命令之後,接收到該第 令對該第二系統資源的一要求(例如,可自該第一命 令或該第-命令的代表接收對該第二系統資源的該要 求)。更具體而言,ITR(148)可以前文所述之方式存取與需 要該複數個低需求系統資源中之該第一低需求系統資源及 該第二系統資源的命令對應之-陣列資料項(144a)。如果 ITR⑽)決定以取得了該低需求系統資源,則取⑽)代 表該第—命令肖™(15G)要求該第二系統資源。TM⑽) 自代表該第-命令的ITR(148)接收到對該第二系統資㈣ 該要求。如前文所述’ TM(150)可能需要複數個時間期間 才能產生所需的系統資源。在這段時間中,itr(】48)繼續 存取與各命令對應的陣列資料項,以便決定是否代表該ζ 命令而需要-符記要求或是否可將一被授予的符記指:給 102899.doc •23· ^資ITR(148)可在每—時間期間中存取—不同的 (144)而二、因此,對於儲存了六十四個命令的一陣列 而53,ITR(148)每隔六十四個時間期間存取陣列資料 • ' &) _人。然而,1TR(148)可在一不同的速率下存取 該等陣列資料項。 ,驟(41 〇)中,接收到要求該複數個低需求系統資源 八之一第二低需求系統資源及該第二系統資源的一第二命 令。在類似於前文所述的步驟(3〇4)之方式下,i〇c(i42)自 (〇)的組件(例如,一協力廠商晶片(1 loq 12))接收 ”亥第=叩令。該第二命令可能需要與該第—命令不同的一 低需求系統資源、以及與該第一命令相同的高需求系統資 源在陣列(144)中輸入與該第二命令對應的一資料項 (144b) 〇 在前文所述之方式下,ITR(148)可存取與該第二命令對 應的資料項,並向TM( 150)要求該複數個低需求系統資源 中之該第二低需求系統資源。更具體而言,ITR( 148)向 TM(1 5 0)要求與該複數個低需求系統資源中之該第二低需 求系統資源對應的一符記。該TM(15〇)自代表該第二命令 的ITR(148)接收該要求,產生所要求的符記,並將該符記 授予ITR(148)。可在ITR(148)提出該要求的同一時問期間 中,或在一後續時間期間中,將該符記授予ITR(丨48)。 在步驟(412)中’將該複數個低需求系統資源中之該第 一低需求糸統資源指定給該第二命令。於存取與該第二命 令對應的陣列資料項(144b)時(例如,在一後續時間期間 I02899.doc • 24- 1 1380182 中)’ITR(148)將決定該第二命令需要旦尚未取得該複數個 低需求系統資源中之該第二低需求系統資源。因此, μ ITR( 148)將所需的系統資源指定給該第二命令。 • 在步驟(414)中,在將該複數個低需求系統資源中之該 第二低需求系統資源指定給該第二命令之後,將該第二系 統資源指定給該第二命令。例如,在步驟(4〇6)中接收到該 第一命令的代表對該第二系統資源的該要求之後, 儀· TM(15〇)產生(在先前並未產生的情形下)該第二系統資 源’並將該第二系統資源授予ITR〇48)。在將該第二系統 資源授予ITR(148)之後’ ITR(148)在存取與該第一命令對 應的資料項(144a)之前,可先存取與該第二命令對應的資 料項(144b)。於存取與該第二命令對應的陣列資料項 (l44b)時ITR(148)決定該第二命令需要該第二系統資源 且尚未要求該第二系統資源。雖然該第二命令尚未要求該 第二系統資源,但是ITR(148)仍然將該第二系統資源指定 儀· 給該第二命令。因此,TM( 15〇)所授予的系統資源並不限 於先前要求過該系統資源的命令,且可將該系統資源指定 給比先前要求過該系統資源的命令有一更立即的需求之— 命令。 • 在步驟(416)中’接收到該第二命令對該第二系統資源 的一第二要求(例如,可自該第二命令或該第二命令的代 表接收到對該系統資源的該第二要求)^更具體而言, ITR( 148)存取與該第二命令對應的陣列資料項(]44b),並 決定需要有對該第二系統資源的一要求且尚未提出該要 102899.doc • 25- 1380182 j 因此’該第二命令要求該第二系統資源。更具體而 TR(148)代表該第二命令向TM(15〇)要求該第二系統 資源。ITR(148)可在該第二系統資源被指 定給該第二命令 :同時間期間中要求該第二系統資源。或者,ITR(148) 可在後續的時間期間中要求該第二系統資源。因為可在 ^第—命7要求該帛二系统資源之前先將該帛二系統資源 心疋…亥第—命令(例如,該第二命令取得該第二系統資 :原)’所以代表該第二命令肖TM(i5〇)提出的對該第二系 統資源之該要求被用來作為一"取代"要求。該"取代"要求 確保在f卜系統資源的每一待處理的需求中有一對該系統 資源的要求疋待處理的。在本例子令,在將該第二系統資 源扣疋給該第二命令之後接收到的該第二命令對該第二系 資源之要求被用來作為該第一命令的一 ”取代”要求。因 此’ TM(15〇)自代表該第二命令的ITR(148)接收到對該第 一糸統資源的-要求’產生該第二系統資源,並在 17^(148)再度存取與該第—命令對應的陣列資料項(μ叫 之刖,先將該第二系統資源授予ITR(148),目而使該第一 命令可取得該第二系統資源。 該"取代"要求釋出與該第二命令對應的索引,因而可讓 I〇C(142)所接收的另_命令使用該索引。 在v驟(418)令,方法(4〇〇)終止。經由使用圖*所示之方 法(400)纟同時需要一高需求系統資源及—低需求系统胃 源的-命令取得該低需求系統資源之後,將該高需求系統 資源指定給該命令,而更週期性地釋出命令。 102899.doc -26- 1380182 本發明的方法及驻 ^ 及裝置可將一系統資源指定給尚未要求該 系統資源的命令。因此,本發明的方法及裝置可管理命 •7對系統資源的要纟,以便將釋出索引的速率最佳化,且 (或)可g理將系統資源指定給命令以便將釋出命令的速 率最佳化。 則文的說明只揭不了本發明的實施例。對相關技術具有 一般知識者㈣於對前文揭示的裝置及方法作出在本發明 範圍内的各種修改。例如’耗—個或多個前文所述的實 施例說明了-種可在—命令要求—系統資源之前先將該系 統資源指定給該命令而管理系統資源分配之方法,但是其 他的實施例包含更廣泛的方面。例如,本發明包含以下文 所述之步驟管理系統資源分配的方法及裝置:(”接收需要 一系統貢源的命令;(2)接收該命令對與該系統資源對應的 一符記之一要求;以及(3)將該符記指定給該命令,因而將 s亥系統資源指定給該命令。例如,該命令或命令的代表提 出對與該系統資源對應的該符記之一要求。 此外’參照圖3及4所述的各命令可能來自該電腦系統的 同一組件’或可能來自該電腦系統的一個或多個不同的組 件(例如’一個或多個協力廠商晶片(11 〇_ i j 2))。 在一個或多個實施例中,裝置(1〇〇)所產生的符記包 含:與記憶體組(106a-p)對應的記憶體符記、與被麵合到 第一協力廢商晶片(110)的進入I/O匯流排(114)及出去I/O匯 流排(118)對應之IOIFO符記、以及與被耦合到第二協力廠 商晶片(112)的進入I/O匯流排(116)及出去I/O匯流排(120) 102899.doc -27- 1380182 對應之IOIF1符記。可在比其他符記高的一速率下產生 IOIFO符記,且該等IOIFO符記可能具有高需求。記憶體符 記具有比I0IF符記低的” 一般性",因而造成對一特定記憶 體符記較低的競爭。在一實施例中,][TR(148)可能具有(例 如,存取)來自一個協力廠商晶片的多達四十八個命令。 該等命令需要一個IOIFO符記’且可能也需要一個記憶體 符記。 在一實施例中’可使用十六進位格式標示索引及(或)符 記(例如,索引OxlE),且可以按照順序將裝置(1〇〇)所產生 的符兄編號(例如’符記1 _2〇)。更具體而言,可將對應於 〇己隐體組0-15的付έ己分別標示為符記〇x〇_〇xf。可將ioifo 進入匯流排' IOIFO出去匯流排、IOIF1進入匯流排、及 IOIF1出去匯流排分別標示為〇χ1〇_〇χ13。 如果並未小心地指定符記,則將產生問題。例如,假 設:索引OxlE中之一命令取得記憶體符記〇χ]Β,但仍然需 要一 IOIFO符記β陣列(144)中之其他命令在相同的時間期 間中也可能需要相同的I〇IF0符記。當I〇IF〇符記被授予 ITR(148)時,ITR(148)正在檢查(存取)需要IOIFO符記及記 憶體符記0x5的索引Οχι a。itr(148)可將IOIFO符記指定給 與索引0x1 A對應的命令。然而,因為索引〇χ1Α尚未取得 記憶體符記0x5 ’所以對應於在一段時間中無法被釋出的 索引〇\1八的命令束缚住了1011?()符記。命令索引(^1]£仍然 需要且必須等候I〇IF〇符記。因為其他命令可能也需要 IOIFO符記,且可能在命令索引〇χΐΕ之前先被授予I〇IF〇 102899.doc -28 · 1380182 符記,所以ITR(148)可能要經過一段時間才能在1〇1抑符 記可供指定的情形下處理或存取命令索引〇χ1Ε。更具體而 吕,因為需要相同I〇IF〇符記的新命令填滿了新被釋出的 索引,所以IOIFO符記被授予命令索引0χ1Ε的機會並不會 隨著時間的經過而提高。如前文所述,將—符記指定給錯 誤的命令可能要付出很大的代價。將命令束缚住符記時, 預期的資源分配管理(RAM)進度效果減少了。命令以比預 • 期的速率慢且起預期的週期性低的情形下釋出命令。 此外縱使可讓錯誤的命令要求一符記也將產生問題。 一旦一命令提出對一符記的一要求之後,另一命令無法要 求同一符記。如前文所述,在提出—命令所需的所有要求 之前,無法釋出與該命令相關聯的—索引。然而,對應的 需要被釋出的一命令之一索引可能無法提出一要求,這是 因為每當服務該索引時,另一命令先前對該符記的一要求 仍是待處理的。該先前的要求束缚了該索引,因而降低了 IΟ C (1 4 2 )的效率。 本發明的方法及裝置由於容許ITR進行的符記借用(例 如,將一符記提供給被發現需要該符記的第一合適之命 令),而避免了上述的問題。只有在一命令取得了低需求 符記(例如,更特定的較低使用率符記)之後,才可進行對 該命令的高需求的稍微一般性的符記之要求及指定。在— 實施例中’於系統預設的情形下,在一命令取得了該命令 所需所有其他符記之前’該命令不可要求I〇IF〇符記,或 不可將IOIFO符記指定給該命令。 102899.doc -29- 1380182 在一個或多個實施例中》在採用若干RAG的一裝置 (100)中,RAM確保將系統資源適當地分配給該等rag。 每一被管理的系統資源的時間之一部分被分配給該等 RAG。更具體而言,每一 RAG可要求被管理的一系統資源 的頻寬之一部分。一 RAG可要求比被分配給該RAG的系統 資源更多之系統資源。然而,只有在另一 RAG目前並未完 全使用被分配給該另一 RAG的系統資源且該另一 RAG之組 態被設定成共用這些系統資源之情形下,才可同意該要 _ I〇C(142)具有每一 RAG的—虛擬通道。 。更具體而言,可使
不需要符記的。 因此,雖然已參照本發明的 在一個或多個實施例中,RAG是由被稱為提出要求的組 件的一個或多個硬體單元組成之群組,而該等硬體單元是 可發出載入或儲存要求、或直接記憶體存取(DMA)讀取或 寫入存取之實體或虛擬單元。諸如主處理器及協同處理器 等提出要求的組件係在一單一 RAG中。然而,這些提出要 求的組件所屬的rAg可能隨著時間而改變。此外, 因此, 一些實施例而揭示了本發 102899.doc 1380182 明’但是我們當了解,其他的實施例也是在最後的申請專 利範圍所界定的本發明之精神及範圍内。 【圖式簡單說明】 圖1是根據本發明的一實施例而管理系統資源分配的一 裝置之一方塊圖。 圖2是根據本發明的一實施例的一陣列資料項之一方塊 圖。 每 圖3示出根據本發明的一實施例而管理系統資源分配 一第一例示方法。 圖4示出根據本發明的一實施例而管理系統資源分配 一第二例示方法。 【主要元件符號說明】
100 裝置 102 主晶片 104 記憶體 106a-p 記憶體組 110-112 協力廠商晶片 114-116 進入匯流排 118-120 出去匯流排 122 主處理器 124-138 協同處理器 140 記憶體控制器 141 邏輯 142 輸入/輸出控制器 102899.doc 31 1380182
144 陣列 144a 陣列資料項 146 暫存器 148 IOC符記要求邏輯 150 符記管理邏輯 202 資源分配識別碼攔位 204 I/O介面類型欄位 206 記憶體組/1/0介面類型欄位 208 I/O介面符記要求欄位 210 缺少的I/O介面符記攔位 212 記憶體符記要求攔位 214 缺少的記憶體符記欄位
102899.doc -32-
Claims (1)
- Π80182第094122586號專利申請案 中文申請專利範圍替換本(〗〇〇年6月) 十、申請專利範園: 包 種用來s理系統貧源分配的經處理器執 含下列步驟: <方法’ 接收需要一系統資源的一第—命令; 接收該第一命令對該系統資源的:第一要求· 接收需要該系統資源的一第二命令; , 將該系統資丨原指定給該第二命令;以及 接收該第二命令對該系統資源的一第二要求, 其中接收該第二命令對該系統資源—要 步驟包含下列步驟:在 乐—要未之自 之後’接收該第二命令對該系統資源第-叩々 2·如請求項1之方法,進-步包含下列步驟::要;二 源指定給該第_命令。 、μ系、,先寅 3.如請求項1之方法,其中: 接收該第一命令對該系統資源的該第— c 包含下列步驟:接收兮箆.^ 之該步驟 一符記之—第資源對應的 驟將==定給該第二命令之該步驟包含下列步 /、I系統貝源對應的該符記指定給該第二心令; 以及 ’ 統賓源的S亥第二要求之該步驟 二命令對與該系統資源對應的 接收該第二命令對該系 包含下列步驟:接收該第 該符記之一第二要求。 4.如請求項1之方法 其中該系統資源包含記憶體或匯流 102899-1000526.doc 1380182 排頻寬的至少其中之一。 5.種用來官理系統資源分配的經處理器執行之 含下列步驟: 万法’包 接收需要一第一系统資 命令具有-第-優先順序; 彡中該第- 接收該第一命令對該第一系統資源的一第—要求. 接收需要該第-系統資源的一第二命令,其 命令具有該第一優先順序; μ 一 根據該第-優先順序而將該第一系統資源指定給該第c 二命令;以及 w 接收該第二命令對該第一系統資源的一第二要求, 其中接收該第二命令對該第一系統資源的該第二要求 之該步驟包含下列步驟:在將該第一系統資源指定給該 第二命令之後,接收該第二命令對該第一系統資源的該 第二要求。 6.如明求項5之方法,進一步包含下列步驟: 接收需要該第一系統資源或一第二系統資源的至少其G 中之的—第二命令,其中該第三命令具有—第二優先 順序。 7·如請求項6之方法,進一步包含下列步驟: 接收該第三命令對該所需該第一系統資源或該第二系 統寅源的至少其中之一的一要求;以及 根據該第二優先順序而將該所需系統資源指定給該第 三命令。 102899-1000526.doc -2- •如請求項5之方法,進一步包含下列步驟:將該第—系 统資源指定給該第一命令。 9’如請求項5之方法,其中: 接收該第一命令對該第一系統資源的該第一要求之該 步驟包含下列步驟:接收該第一命令對與該第一系統資 源對應的一符記之一第一要求; 將該第一系統資源指定給該第二·命令之該步驟包含下 列步驟:將與該第一系統資源對應的該符記指定给該第 二命令;以及 接收該第二命令對該第一系統資源的該第二要求之該 步驟包含下列步驟:接收該第二命令對與該第—系統資 源對應的該符記之該第二要求。 10.如請求項5之方法,其中該第一系統資源包含記憶 匯流排頻寬的至少其中之一。 < U.—種用來管理系統資源分配的經處理器執行之 含下列步驟: '’包 接收需要複數個低需求系統資源中之— ^ 乐一低需求笔 統資源及一第二系統資源的一第—命令, ’ 丹甲對該坌- 系統資源的需求是高的; _ 將該複數個低需求系統資源中之該筻 衣乐一低需求系社a 源指定.給該第一命令; ’、、、’’ 在將該複數個低需求系統資源令之兮 ^ 彳氏需电备 資源指定給該第一命令之後,接收該第—令八/系彭 系統資源的一要求; P 7對S亥第二 102899-1000526.doc 接收需要該複數個低需求系統資源中之一第二低需求 系統資源及該第二系統資源的一第二命令; 將該複數個低需求系统資源中之該第二低需求系統資 源指定給該第二命令; 〜在將該複數個低需求系統資源中之該第二低需求系統 資源指定給該第二命令之後,將該第二系統資源指定給 該第二命令;以及 接收該第二命令對該第二系統資源的一第二要求, 其中接從該f二命令對該第二系、统冑源的該第二要求 之該步驟包含下列步驟:在將該第二系統資源指定給該 第二命令之後’接㈣第二命令對該第二系統資源的該 第二要求。 12 13. 如晴求項11之方法,進—步包含下列步驟:將該第二系 統資源指定給該第一命令。 如請求項11之方法,其中: 將該複敫個低需求系統資源中之該第—低需求系統資 源指定給該第-命令之該步驟包含下列步驟:將與該複 數個低需求系統資源中之該第一低需求系統資源對應的 一符記指定給該第一命令; 接收該第一命令對該第二系統資源的—要求之該步驟 包含下列㈣:接㈣第—命令對與該第二系統資^對 應的一符記之一要求; 將該複敫個低需求系統資源中之該第二低需求系統資 源指定給該第二命令之該步驟包含下列步驟:將與該複 102899-1000526.doc -4- 1380182 數個低需求系統資源中之該第二低恭 -符記指;t給該第二命令;以及統資源對應的 將該第二系統資源指定給該第二人 列步驄.脾命5之該步驟包含下 /驟.將與該第二系統資源對應的_ h 二命令。 的—付冗指定給該第 14.如請求項U之方法,其中: 以及 C c 該複數個低需求系統資源包含記憶體 該第二系統資源包含匯流排頻寬。 1 5. —種用來管理系統資源分配的裝 包含: 複數個逷輯電路,該複數個邏輯 · 驟: 電路適於執行下列步 接收需要一系統資源的一第一命令. 接收該第一命令對該系統資源的〜第—要東· 接收需要該系統資源的一第二命令; 將該系統資源指定給該第二命令;以及 接-收該第二命令對該系統資源的—第二要求, 其中該複數個邏輯電路包含一符技 ^ π π e理态,該符記管 k ;接收該第一命令對該系統資源的一第一要求, 以及接收該第二命令對該系統資源的—第二要求,以及 :其中該符記管理器進一步適於在將該系統資源指定給 該第二命令之後,接收該第二命令對該系統資源的該第 -—要求。 16·如4求項15之裝置’其中該複數個邏輯電路進-步適於 執行下列步驟: 102S99-1000526.doc 柳丄82 接收該第一命令對與該系統資源對應的一符記之一第 一要求; 將與該系統資源對應的該符記指定給該第二命令;以及 接收該第二命令對與該系統資源對應的該符記之一第 二要求。 ’如清求項15之裝置’其中該複數個邏輯電路包含一輸入/ 輪出控制器(IOC),該i〇C適於執行下列步驟: 接枚需要一系統資源.的一第一命令;以及 接收需要該系統資源的一第二命令。 月求項15之裝置,其中該複數個邏輯電路包含一符記 要求器,該符記要求器適於執行下列步驟:將該系統資 源指定給該第二命令。 .如》月求項18之裝置’其中該符記要求器進—步適於執行 下列步驟:將該系統資源指定給該第—命令。 20. —種用來管理系統資源分配的裝置,包含: 驟複數個祕電路’該複數㈣輯電路料執行下列步 接收需要一第一系統資源的一第_命令, 命令具有一第一優先順序; 八〇第— 接收該第一命令對該第一系統資源的一 接收需要該第一系統資源的一第二命令,令第 命令具有該第一優先順序; 八"弟一 根據該第一優先順序而將 二命令;以及 纟統貧源指定給該第 102899-1000526.doc * 6 - 接收該第二命令對該第— p 7耵忑弟糸統資源的一第二要求, 其中該複數個邏輯電路白A 避㉟d包含—符記管理器,該符 理器適於接收該第一命令對 h ^ p 7對該第一系統資源的該第一I 求,以及接收該第二命令對兮货么h 弟要 野該第一系統資源的該第二要 衣,以及 文 其中該符記管理器進—步 A 、於在將該第一系統資源指 疋給該第二命令之德,接 h之後接收該第二命令對該第—系統資 源的該第二要求。 21.如請求項20之裝置,盆φ ’、5Λ複數個邏輯電路進一步適於 執行下列步驟: 、 接收該第-命令㈣該第U資源對應的一符記 第一要求; 之 將”該第-系、统;f源對應的該符記指定給該第二命 令;以及 接收該第二命令對與該第-系統資源對應的該符記之 該第二要求。 2·如e月求項2G之裝置’其中該複數個邏輯電路包含一輸入/ 輪出控制器(IOC),該I〇C適於執行下列步驟: 接收需要該第一系統資源的該第一命令,其中該第一 命令具有該第一優先順序;以及 接收需要該第一系統資源的一第二命令,其中該第二 命令具有該第一優先順序。 23.如請求項22之裝置,其中該I〇c進一步適於執行下列步 102899-1000526.doc U»U182 源的至少其 一第二優先 接收需要該第-系統資源或—第二系統資 的一第三命令,其中該第三命令具有 順序。 24. 25. 26. 27. 如 、項23之裝置,其中該複數個邏輯電路 .^ 執行下列步驟: 吟進一步適於 接收该第三命令對該所需系統資源的 根據該第-俱杏丨値& 衣,Μ及 三命令 料順序而將該所需系統資源指定給該第 C 如叫求項20之裝置,其中該複數個 亜书哭 路包含一符記 ^ 該付§己要求器適於執行下列步驟. 根據該第一優先順序而將該第一 二命令。 予、充貪原指定給該第 如請求項25之裝置,其中該符記要求器進—步適於執行 下列步驟:將該第一系統資源指定給該第—命人 一種用來管理系統資源分配的裝置,包含:7。複數個邏輯電路, 該複數個邏輯電路適於執行下列步 C 第一低需求系 其中對該第二 接收需要複數個低需求系統資源中之一 統資源及一第二系統資源的一第一命令, 系統資源的需求是高的; 將該複數個低需求系統資源中之嗲笛 第一低需求系統資 源指定給該第一命令; 在將該複數個低需求系統資源中之姑社 L ^ 磙第—低需求系統 資源指定給該第一命令之後,接收兮曾 V弟一命令對該第二 102899-10〇〇526.do< 1380182 系統資源的一要求; 接收需要該複數個低需求系統資源中之—第二低需求 系統資源及該第二系統資源的一第二命令; 將該複數個低需求系統資源中之該第一低需求糸統資 源指定給該第二命令; 在將該複數個低需求系統資源中之該第二低需求系統 資源指定給該第二命令之後,將該第二系統資源指定給 ^ 該第二命令;以及 接收該第二命令尉該第二系統資.源的一第二要求’ 其中該複數個邏輯電路包含一符記管理器,該符記管 理器適於接收該第一命令對該第二系統資源的該要求, 以及接收該第二命令對該第二系統資源的該第二要求, 以及 其中該符記管理器進一步適於在將該第二系統資源指 定給該第二命令之後,接收該第二命令對該第二系統資 Q; 源的該第二要求。 28.如印求項27之裝置,其中該複數個邏輯電路進一步適於 執行下列步驟: -將與該複數個低需求系統資源中之該第一低需求系統 資源對應的一符記指定給該第一命令; 接收該第一命令對與該第二系統資源對應的一符記之 一要求; _將與該複數個低需求系統資源中之該第二低需求系統 f源對應的-符記缺給該第二命令;以及 102899-1000526.doc •9- .如晴求項27之裝置,其中該複數個邏輯電路包含一輸入/ 輪出控制器(IOC),該IOC適於執行下列步驟: 接收需要該複數個低需求系統資源中之一第一低需求 系統資源及該第二系統資源的該第一命令,其中對該第 二系統資源的需求是高的;以及 接收而要該複數個低需求糸統資源中之一第二低需求 系統資源及該第二系統資源的一第二命令。 30.如請求項27之裝置,其中該複數個邏輯電路包含一符記 要求器,該符記要求器適於執行下列步帮: 、將該:複氣個低需求系統★源中之該第_低需求系統資 源指定給該第一命令;τ , 、將該複數個低需求系統資源中之該第二低需求系統資 源指定給該第二命令;以及 在將該複數個低需求系統資源中之該第二低需求系統 資源指定給該第二命令之後,將該第二系統資源指定給 S亥弟二命令。 .如請求項3〇之震置,其中該符記要求器進一步適於 下列步驟:將該第二系统冑源指定給該第一命令。 32·如請求項27之裴置,其中: 該複數個低需求系統資源包含記憶體;以及 該第二系統資源包含匯流排頻寬。 102899-1000526.doc • 10-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/901,547 US8490102B2 (en) | 2004-07-29 | 2004-07-29 | Resource allocation management using IOC token requestor logic |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200627168A TW200627168A (en) | 2006-08-01 |
TWI380182B true TWI380182B (en) | 2012-12-21 |
Family
ID=35733888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094122586A TWI380182B (en) | 2004-07-29 | 2005-07-04 | Resource allocation management |
Country Status (3)
Country | Link |
---|---|
US (1) | US8490102B2 (zh) |
CN (1) | CN1728118B (zh) |
TW (1) | TWI380182B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0422276D0 (en) * | 2004-10-07 | 2004-11-10 | Nokia Corp | Controller |
US8904400B2 (en) * | 2007-09-11 | 2014-12-02 | 2236008 Ontario Inc. | Processing system having a partitioning component for resource partitioning |
US8850154B2 (en) | 2007-09-11 | 2014-09-30 | 2236008 Ontario Inc. | Processing system having memory partitioning |
US8307180B2 (en) * | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US8909567B2 (en) | 2012-02-20 | 2014-12-09 | Xerox Corporation | Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
CN103813481A (zh) * | 2013-09-23 | 2014-05-21 | 杭州优能通信系统有限公司 | 一种智能终端设备及其业务处理方法 |
US9026699B2 (en) | 2013-09-23 | 2015-05-05 | Seagate Technology Llc | Command execution using existing address information |
CN107067240B (zh) | 2016-12-12 | 2020-09-08 | 创新先进技术有限公司 | 资源调配方法和装置以及电子支付方法 |
US11106540B1 (en) * | 2017-04-03 | 2021-08-31 | Amazon Technologies, Inc. | Database command replay |
US11182496B1 (en) | 2017-04-03 | 2021-11-23 | Amazon Technologies, Inc. | Database proxy connection management |
US11392603B1 (en) | 2017-04-03 | 2022-07-19 | Amazon Technologies, Inc. | Database rest API |
US11500824B1 (en) | 2017-04-03 | 2022-11-15 | Amazon Technologies, Inc. | Database proxy |
US20230118987A1 (en) * | 2021-10-19 | 2023-04-20 | Salesforce.Com, Inc. | Tenant Identification for Cache Keys |
US11734278B2 (en) | 2021-10-19 | 2023-08-22 | Salesforce, Inc. | Cache management for multiple tenants |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4574350A (en) | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US5542076A (en) | 1991-06-14 | 1996-07-30 | Digital Equipment Corporation | Method and apparatus for adaptive interrupt servicing in data processing system |
US5428796A (en) | 1992-08-26 | 1995-06-27 | International Business Machines Corporation | System and method for regulating access to direct access storage devices in data processing systems |
US5708814A (en) | 1995-11-21 | 1998-01-13 | Microsoft Corporation | Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events |
US5761734A (en) * | 1996-08-13 | 1998-06-02 | International Business Machines Corporation | Token-based serialisation of instructions in a multiprocessor system |
US6233645B1 (en) | 1998-11-02 | 2001-05-15 | Compaq Computer Corporation | Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high |
US6651125B2 (en) | 1999-09-28 | 2003-11-18 | International Business Machines Corporation | Processing channel subsystem pending I/O work queues based on priorities |
US6662278B1 (en) | 2000-09-22 | 2003-12-09 | Intel Corporation | Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system |
DE50114481D1 (de) | 2000-09-22 | 2008-12-24 | Infineon Technologies Ag | Vorrichtung zur Auswahl und Weiterleitung von empfangenen Unterbrechungsanfragen gemäss konfigurierbarer Konditionen |
US6772352B1 (en) | 2000-09-29 | 2004-08-03 | Intel Corporation | Method and apparatus for reducing the rate of commands being issued if the rate exceeds a threshold which is based upon a temperature curve |
US7032222B1 (en) * | 2000-10-13 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Method and system for determining resource allocation to users by granting request based on user associated different limits and resource limit |
US6842428B2 (en) * | 2001-01-08 | 2005-01-11 | Motorola, Inc. | Method for allocating communication network resources using adaptive demand prediction |
US7561734B1 (en) | 2002-03-02 | 2009-07-14 | Science Applications International Corporation | Machine learning of document templates for data extraction |
US6978330B1 (en) * | 2002-04-04 | 2005-12-20 | Applied Micro Circuits Corporation | Shared resource access via declarations that contain a sequence number of a packet |
US6965965B2 (en) | 2002-06-06 | 2005-11-15 | International Business Machines Corporation | Dynamic response shaping for command aging |
US7054968B2 (en) | 2003-09-16 | 2006-05-30 | Denali Software, Inc. | Method and apparatus for multi-port memory controller |
US6996647B2 (en) * | 2003-12-17 | 2006-02-07 | International Business Machines Corporation | Token swapping for hot spot management |
US7120717B2 (en) | 2004-02-13 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling interrupt storms |
US7487503B2 (en) | 2004-08-12 | 2009-02-03 | International Business Machines Corporation | Scheduling threads in a multiprocessor computer |
-
2004
- 2004-07-29 US US10/901,547 patent/US8490102B2/en not_active Expired - Fee Related
-
2005
- 2005-03-10 CN CN2005100544533A patent/CN1728118B/zh not_active Expired - Fee Related
- 2005-07-04 TW TW094122586A patent/TWI380182B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US8490102B2 (en) | 2013-07-16 |
US20060026598A1 (en) | 2006-02-02 |
CN1728118A (zh) | 2006-02-01 |
CN1728118B (zh) | 2010-05-12 |
TW200627168A (en) | 2006-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI380182B (en) | Resource allocation management | |
KR0128273B1 (ko) | 데이타처리 시스템, 다중프로세서 데이타처리 시스템에서 다수의 인터럽트를 유지관리, 처리하는 시스템 및 방법 | |
CN110647394B (zh) | 一种资源分配方法、装置及设备 | |
US8180941B2 (en) | Mechanisms for priority control in resource allocation | |
JP4750350B2 (ja) | タスク切換装置、方法及びプログラム | |
US6622155B1 (en) | Distributed monitor concurrency control | |
US8166482B2 (en) | Scheduling method, scheduling apparatus and multiprocessor system | |
US20040078339A1 (en) | Priority based licensing | |
EP0915418A2 (en) | Method and apparatus for processor sharing | |
JP2005536791A (ja) | 動的多重レベルタスク管理方法及び装置 | |
JPH04308961A (ja) | 占有されたプロセスの同期ロックの状態を通知するための手段及び装置 | |
JP2006202244A (ja) | ソースデバイスに対するリクエストをスケジューリングする装置及び方法 | |
JP5356925B2 (ja) | ロックをスレッドに割り当てる方法、装置 | |
JPH07200323A (ja) | 解放された同期メカニズムの所有権を管理するための方法及びシステム | |
EP0301610A2 (en) | Data processing apparatus for connection to a common communication path in a data processing system | |
JP2022539291A (ja) | 計算資源の動的割り当て | |
JP2011044165A (ja) | システムにおける要求のスケジューリング | |
JPS62501039A (ja) | 並列に動作するコンピユ−タの間で優先度を割り当てるための装置 | |
CN114153549A (zh) | 一种虚拟机创建方法及相关设备 | |
WO2024164369A1 (zh) | 混合关键分区实时操作系统的资源感知型任务分配方法 | |
US8135878B1 (en) | Method and apparatus for improving throughput on a common bus | |
JPH05158744A (ja) | 計算機システムにおける装置管理方式及びメモリ管理方式 | |
CN115202842A (zh) | 任务调度方法及装置 | |
US10180858B2 (en) | Parallel computing device, parallel computing system, and job control method | |
TWI574158B (zh) | 具應用程式資訊感知的資料處理方法以及系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |