欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

資源分配管理的制作方法

文檔序號(hào):6539373閱讀:127來(lái)源:國(guó)知局
專利名稱:資源分配管理的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及計(jì)算機(jī)系統(tǒng),特別涉及用于計(jì)算機(jī)系統(tǒng)內(nèi)的資源分配管理的方法和設(shè)備。
背景技術(shù)
計(jì)算機(jī)系統(tǒng)(例如,由多個(gè)處理單元組成的計(jì)算機(jī)系統(tǒng))可以接收需要(require)計(jì)算機(jī)系統(tǒng)資源的命令。在很多傳統(tǒng)的計(jì)算機(jī)系統(tǒng)中,可以在先來(lái)先服務(wù)的基礎(chǔ)上將系統(tǒng)資源分配給多個(gè)命令。然而,這樣的分配方案不能高效地管理系統(tǒng)資源。因此,希望有用于管理系統(tǒng)資源分配的改進(jìn)的方法和設(shè)備。

發(fā)明內(nèi)容
在本發(fā)明的第一方面,提供了用于管理系統(tǒng)資源分配的第一種方法。該第一種方法包括以下步驟(1)接收需要系統(tǒng)資源的第一命令;(2)接收為第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求;(3)接收需要該系統(tǒng)資源的第二命令;(4)將該系統(tǒng)資源指派(assign)給第二命令;以及(5)接收為第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求。
在本發(fā)明的第二方面,提供了用于管理系統(tǒng)資源分配的第二種方法。該第二種方法包括以下步驟(1)接收需要第一系統(tǒng)資源的第一命令,其中第一命令具有第一優(yōu)先級(jí);(2)接收為第一命令做出的對(duì)第一系統(tǒng)資源的第一請(qǐng)求;(3)接收需要第一系統(tǒng)資源的第二命令,其中第二命令具有第一優(yōu)先級(jí);(4)基于第一優(yōu)先級(jí)而將第一系統(tǒng)資源指派給第二命令;以及(5)接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求。
在本發(fā)明的第三方面,提供了用于管理系統(tǒng)資源分配的第三種方法。該第三種方法包括以下步驟(1)接收需要多個(gè)低需求系統(tǒng)資源中的第一個(gè)和第二系統(tǒng)資源的第一命令,其中,對(duì)第二系統(tǒng)資源的需求高;(2)將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令;(3)在將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令之后,接收為第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求;(4)接收需要所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)和第二系統(tǒng)資源的第二命令;(5)將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令;(6)在將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令之后,將第二系統(tǒng)資源指派給第二命令;以及(7)接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求。
在本發(fā)明的第四方面,提供了用于管理系統(tǒng)資源分配的第四種方法。該第四種方法包括以下步驟(1)接收需要系統(tǒng)資源的命令;(2)接收為該命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌(token)的請(qǐng)求;以及(3)將該令牌指派給該命令,從而將該系統(tǒng)資源指派給該命令。還提供了很多其它方面,如根據(jù)本發(fā)明的這些和其它方面的系統(tǒng)和設(shè)備。
根據(jù)下面的詳細(xì)描述、所附權(quán)利要求和附圖,本發(fā)明的其它特征和方面將變得更顯而易見。


圖1是根據(jù)本發(fā)明實(shí)施例的用于管理系統(tǒng)資源分配的設(shè)備的方框圖。
圖2是根據(jù)本發(fā)明實(shí)施例的陣列條目(array entry)的方框圖。
圖3示出根據(jù)本發(fā)明實(shí)施例的用于管理系統(tǒng)資源分配的第一示例方法。
圖4示出根據(jù)本發(fā)明實(shí)施例的用于管理系統(tǒng)資源分配的第二示例方法。
具體實(shí)施例方式
本發(fā)明涉及用于高效地管理系統(tǒng)資源分配的方法和設(shè)備。更具體地說(shuō),本方法和設(shè)備使用對(duì)應(yīng)于系統(tǒng)上各種資源的令牌,并高效地管理(例如來(lái)自多個(gè)請(qǐng)求者的)對(duì)令牌的請(qǐng)求和/或?qū)⒘钆浦概山o命令。系統(tǒng)資源包括存儲(chǔ)體(memory bank)的存儲(chǔ)帶寬以及總線帶寬。以這一方式,本方法和設(shè)備控制對(duì)系統(tǒng)資源的訪問(wèn)和/或?qū)⑾到y(tǒng)資源分配給系統(tǒng)執(zhí)行的命令。本方法和設(shè)備需要的芯片空間比先前用于管理系統(tǒng)資源分配的方法和設(shè)備所需的少。此外,本方法和設(shè)備使得能夠更加高效地將系統(tǒng)資源賦予(grant)命令,并使得系統(tǒng)能夠周期性更好地(例如,在分配了系統(tǒng)資源之后)發(fā)布命令。
圖1是根據(jù)本發(fā)明實(shí)施例的用于管理系統(tǒng)資源分配的設(shè)備100的方框圖。設(shè)備100是包括主芯片102的計(jì)算機(jī)系統(tǒng),該主芯片102耦接到諸如系統(tǒng)存儲(chǔ)器的存儲(chǔ)器104,并且將在下面對(duì)其進(jìn)行描述。存儲(chǔ)器104可分為多個(gè)段(例如,存儲(chǔ)體106a-p)。在一個(gè)實(shí)施例中,存儲(chǔ)器104分為16個(gè)存儲(chǔ)體106a-p。存儲(chǔ)器104可分為更大或更小數(shù)目的存儲(chǔ)體106a-p。存儲(chǔ)體106a-p的每一個(gè)充當(dāng)系統(tǒng)資源。主芯片102通過(guò)存儲(chǔ)器總線108耦接到存儲(chǔ)器104,其中,存儲(chǔ)器總線108提供可用來(lái)例如響應(yīng)計(jì)算機(jī)系統(tǒng)接收的命令而訪問(wèn)存儲(chǔ)體106a-p的帶寬(例如,存儲(chǔ)器總線帶寬)。
主芯片102耦接到可發(fā)布對(duì)主芯片102的命令的一個(gè)或多個(gè)芯片(例如,第三方芯片110-112)。在一個(gè)實(shí)施例中,兩個(gè)第三方芯片110-112耦接到主芯片102。可以有其它數(shù)目的第三方芯片110-112耦接到主芯片102。主芯片102通過(guò)I/O接口(IOIF)如各條入站(inbound)總線114-116和出站(outbound)總線118-120(例如,I/O總線)而耦接到第三方芯片110-112。耦接到第三方芯片110-112的各條入站總線114-116和出站總線118-120充當(dāng)系統(tǒng)資源。每條入站總線114-116和出站總線118-120提供可用于在第三方芯片110-112之一與耦接到主芯片102的其它組件之間通信的帶寬(例如,I/O總線帶寬)。因此,設(shè)備100包括諸如存儲(chǔ)體106a-p和I/O接口的系統(tǒng)資源。
主芯片102包括多個(gè)處理器,例如主處理器122和8個(gè)協(xié)處理器124-138。主芯片102可包括更大或更小數(shù)目的主處理器122和/或協(xié)處理器124-138。主芯片102的組件如處理器122-138可能需要并因此請(qǐng)求訪問(wèn)一個(gè)或多個(gè)系統(tǒng)資源。主芯片102包括充當(dāng)與存儲(chǔ)器104的接口的存儲(chǔ)控制器140?;蛘撸餍酒?02可以不包括存儲(chǔ)控制器140。
此外,主芯片102包括和/或耦接到被適配為管理系統(tǒng)資源分配的多個(gè)邏輯141。更具體地說(shuō),所述多個(gè)邏輯141實(shí)現(xiàn)這樣的資源分配管理(RAM),其提供一種用于將一部分或多個(gè)部分的系統(tǒng)資源分配給請(qǐng)求該系統(tǒng)資源的一個(gè)或多個(gè)組件的訪問(wèn)控制機(jī)制。所述多個(gè)邏輯141可以使令牌與每個(gè)系統(tǒng)資源相關(guān)聯(lián)。RAM可能需要計(jì)算機(jī)系統(tǒng)內(nèi)需要系統(tǒng)資源的組件(如主芯片處理器122-138或第三方處理器110-112之一)中駐留的命令,以在使用該系統(tǒng)資源之前請(qǐng)求并獲得(例如,被賦予)對(duì)應(yīng)于該系統(tǒng)資源的令牌。在本發(fā)明的第一組實(shí)施例中,在將為駐留在計(jì)算機(jī)系統(tǒng)100的組件110-112、122-138中的第一命令請(qǐng)求的令牌賦予駐留在組件110-112、122-138中的第一命令之前,可以不為駐留在組件110-112、122-138中的第二命令請(qǐng)求該令牌。
如下面所述,在駐留在組件110-112、122-138中的第二命令可以請(qǐng)求為駐留在組件110-112、122-138中的第一命令請(qǐng)求的令牌之前,本發(fā)明的第二組實(shí)施例可以不需要將該令牌賦予正在請(qǐng)求的命令。在這樣的實(shí)施例中,為駐留在組件110-112、122-138中的第一命令請(qǐng)求的令牌可被賦予(例如,被借給)駐留在組件110-112、122-138中的第二命令。因此,在第二組實(shí)施例中,當(dāng)令牌被賦予組件110-112、122-138時(shí),該令牌可以指派給駐留在組件110-112、122-138中需要該令牌的任何命令。更具體地說(shuō),令牌不必指派給最初做出請(qǐng)求的命令。此后,駐留在計(jì)算機(jī)系統(tǒng)的組件110-112、122-138中的另一命令可以請(qǐng)求該令牌。
在任一組實(shí)施例中,在組件110-112、122-138請(qǐng)求的令牌被賦予組件110-112、122-138之前,組件110-112、122-138可以不必再次請(qǐng)求該令牌。組件110-112、122-138可以不具有并且可以不需要有關(guān)由計(jì)算機(jī)系統(tǒng)的其它組件110-112、122-138做出的令牌請(qǐng)求的任何知識(shí)。因此,對(duì)特定的令牌可以有多個(gè)請(qǐng)求,但是每個(gè)組件110-112、122-138只有一個(gè)請(qǐng)求。此外,對(duì)于每種令牌類型(例如,每個(gè)對(duì)應(yīng)于系統(tǒng)資源的各令牌),允許每個(gè)組件110-112、122-138有一個(gè)未完成請(qǐng)求。
如下面將描述的,可以在請(qǐng)求所需要的令牌的單個(gè)組件中合并來(lái)自第三方芯片110-112的需要令牌的命令。因此,在第二組實(shí)施例中,為這種命令做出的請(qǐng)求可以認(rèn)為是為單個(gè)組件做出的請(qǐng)求,并且,可以將賦予所述單個(gè)組件的令牌指派給來(lái)自任何(例如,任一個(gè))第三方芯片110-112的任何命令。
所述多個(gè)邏輯141包括耦接到入站總線114-116和出站總線118-120的輸入/輸出控制器(IOC)142。IOC 142包括含有多個(gè)條目的陣列144、以及多個(gè)寄存器146或類似的裝置,每個(gè)裝置被適配為存儲(chǔ)對(duì)應(yīng)于陣列條目的索引(index)。在一個(gè)實(shí)施例中,IOC 142充當(dāng)耦接到主芯片的一個(gè)或多個(gè)組件(例如第三方芯片110-112)的代理。更具體地說(shuō),IOC 142從第三方芯片110-112接收命令,并且將該第三方芯片命令納入主芯片102。以這一方式,來(lái)自組件的命令(例如,來(lái)自第三方芯片110-112的命令)在IOC 142中被合并,并且IOC 142為這樣的命令請(qǐng)求資源。IOC 142被適配為管理存儲(chǔ)在所述多個(gè)寄存器146中的索引,并使未使用的索引與IOC 142從組件110-112、122-138接收的命令相關(guān)聯(lián)。所接收的命令被存儲(chǔ)在與該命令相關(guān)聯(lián)的索引所指示的陣列條目中。在一個(gè)實(shí)施例中,陣列144包括64個(gè)條目。因此,IOC 142可以接收并存儲(chǔ)多達(dá)64個(gè)命令(例如,多達(dá)64個(gè)命令“待決(in flight)”)。陣列144可以包括更多或更少的條目,并因此IOC 142可以接收并存儲(chǔ)更多或更少的命令。每個(gè)命令可以需要多達(dá)3個(gè)系統(tǒng)資源(例如,對(duì)應(yīng)于系統(tǒng)資源的令牌)。下面,參考圖2來(lái)描述陣列條目的結(jié)構(gòu)。
在一個(gè)或多個(gè)實(shí)施例中,將設(shè)備100的組件110-112、122-138并因此將來(lái)自組件110-112、122-138的命令分組到一起,以形成一個(gè)或多個(gè)資源分配組(RAG),每個(gè)資源分配組(RAG)被指派了資源分配ID(RAID)。所述多個(gè)邏輯141可以基于指派給RAG的RAID,將系統(tǒng)資源分配給從RAG中的組件110-112、122-138接收的命令。更具體地說(shuō),可以給具有一個(gè)RAID的進(jìn)程比具有其它RAID的進(jìn)程更加頻繁地分配系統(tǒng)資源。以這一方式,與每個(gè)RAG相關(guān)聯(lián)的RAID充當(dāng)RAG的優(yōu)先級(jí)。
所述多個(gè)邏輯141包括耦接到主芯片102的IOC令牌請(qǐng)求器邏輯(ITR)148。IOC 142可包括ITR 148。ITR 148被適配為高效地請(qǐng)求由IOC 142接收的命令所需要的令牌。為命令獲得令牌的請(qǐng)求被以索引的形式傳遞,該索引用來(lái)獲得關(guān)于存儲(chǔ)在陣列144中的命令的信息。ITR 148接收索引,并向陣列144做出讀取請(qǐng)求。以這一方式,ITR 148可以釋放對(duì)應(yīng)于命令的索引。一旦命令所需要的所有令牌均被賦予該命令、并且為該命令做出了所有所需要的令牌的請(qǐng)求,就釋放與該命令相關(guān)的索引。在索引被釋放之前,該索引可以不與其它命令相關(guān)聯(lián)。此外,ITR 148被適配為接收所賦予的令牌,并將所賦予的令牌高效地指派給需要該令牌的命令。以這一方式,ITR 148可以釋放命令。一旦指派了命令所需要的所有令牌,就從IOC 142(例如ITR 148)釋放該命令(例如,該命令可以退出)。ITR 148例如在為命令請(qǐng)求令牌或者將令牌指派給該命令之后更新對(duì)應(yīng)于該命令的陣列條目。
所述多個(gè)邏輯141包括耦接到IOC 142的令牌管理器邏輯(TM)150。TM150被適配為生成對(duì)應(yīng)于一個(gè)或多個(gè)系統(tǒng)資源的令牌。用戶可以配置TM150,以基于對(duì)于系統(tǒng)資源的指定周期生成對(duì)應(yīng)于該系統(tǒng)資源的令牌。例如,最初,TM 150可以在基于指定周期的時(shí)間內(nèi)創(chuàng)建對(duì)應(yīng)于系統(tǒng)資源的令牌。因此,賦予所請(qǐng)求的令牌的順序是不能(例如由請(qǐng)求器)預(yù)測(cè)的。一旦賦予了令牌,TM 150就可以基于指定周期為該系統(tǒng)資源創(chuàng)建新令牌。此外,TM 150被適配為從ITR 148接收對(duì)與系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求。在一個(gè)實(shí)施例中,設(shè)備100包括20個(gè)系統(tǒng)資源(例如,16個(gè)存儲(chǔ)體106a-p以及2條入站總線114-116和兩條出站I/O總線118-120)。因此,TM 150為每個(gè)RAG創(chuàng)建20個(gè)令牌。在其它實(shí)施例中,設(shè)備100可包括更多或更少的系統(tǒng)資源,并因此TM 150可創(chuàng)建更多或更少的令牌。
圖2是根據(jù)本發(fā)明實(shí)施例的陣列條目(例如,144a)的方框圖。每個(gè)陣列條目144a對(duì)應(yīng)于由IOC 142(例如ITR 148)接收的命令,并包括關(guān)于該命令的信息。在一個(gè)實(shí)施例中,陣列條目144a為24位寬。陣列條目144a可以更大或更小。陣列條目144a包括RAID字段202,其用于存儲(chǔ)指示與命令相關(guān)聯(lián)的RAID的位。在一個(gè)實(shí)施例中,RAID字段可以為2位寬。然而,RAID字段可以為不同的尺寸。
陣列條目144a包括IOIF類型字段204,其指示命令所需要的第一I/O總線令牌(IOIF令牌)的類型。例如,在圖1的設(shè)備100中,命令可需要對(duì)應(yīng)于耦接到第一個(gè)第三方處理器110的入站總線114、耦接到第一處理器110的出站總線118、耦接到第二個(gè)第三方處理器112的入站總線116、或耦接到第二個(gè)第三方處理器112的出站總線120的令牌。在一個(gè)實(shí)施例中,IOIF類型字段204可以為2位寬。IOIF類型字段204可以為不同的尺寸。
陣列條目144a包括存儲(chǔ)體/IOIF類型字段206。如果命令需要存儲(chǔ)體106a-p的令牌(例如,存儲(chǔ)器令牌),則存儲(chǔ)體/IOIF類型字段206指示需要哪個(gè)存儲(chǔ)器令牌。然而,如果該命令不需要存儲(chǔ)器令牌而是需要第二IOIF令牌,則存儲(chǔ)體/IOIF類型字段206的一部分指示對(duì)于第二IOIF令牌,需要哪種類型的IOIF令牌。在一個(gè)實(shí)施例中,存儲(chǔ)體/IOIF類型字段206為4位寬。4位的存儲(chǔ)體/IOIF類型字段206可用于指示所需要的存儲(chǔ)器令牌,而2位的存儲(chǔ)體/IOIF類型字段206可用于指示第二需要的IOIF令牌。存儲(chǔ)體/IOIF類型字段206可以為不同的尺寸。
陣列條目144a包括IOIF令牌請(qǐng)求字段208,其指示必須做出的IOIF令牌請(qǐng)求。例如,IOIF令牌請(qǐng)求字段208可以為2位寬,并且每位指示一個(gè)必須做出的IOIF令牌請(qǐng)求。然而,IOIF令牌請(qǐng)求字段208可以為不同的尺寸。此外,陣列條目144a包括“缺少的IOIF令牌”字段210,其指示必須獲得的IOIF令牌。在一個(gè)實(shí)施例中,“缺少的IOIF令牌”字段210可以為2位寬,并且每位指示一個(gè)必須獲得的IOIF令牌。然而,“缺少的IOIF令牌”字段210可以為不同的尺寸。陣列條目144a包括存儲(chǔ)器令牌請(qǐng)求字段212,其指示要做出的存儲(chǔ)器令牌請(qǐng)求。例如,存儲(chǔ)器令牌請(qǐng)求字段212可以為2位寬,并且每位指示一個(gè)要做出的存儲(chǔ)器令牌請(qǐng)求。然而,存儲(chǔ)器令牌請(qǐng)求字段212可以為不同的尺寸。此外,陣列條目144a可以包括“缺少的存儲(chǔ)器令牌”字段214,其指示必須為命令獲得的存儲(chǔ)器令牌。在一個(gè)實(shí)施例中,“缺少的存儲(chǔ)器令牌”字段214可以為2位寬,并且每位可以指示一個(gè)要獲得的存儲(chǔ)器令牌。然而,“缺少的存儲(chǔ)器令牌”字段214可以為不同的尺寸。
現(xiàn)在,參考圖1和2、并參考示出根據(jù)本發(fā)明實(shí)施例的用于管理系統(tǒng)資源分配的第一示例方法的圖3,來(lái)描述用于管理系統(tǒng)資源分配的設(shè)備100的操作。更具體地說(shuō),圖3圖示了一種用于管理系統(tǒng)資源分配的方法,其允許將為第一命令請(qǐng)求的系統(tǒng)資源賦予(例如借給)第二命令。參考圖3,在步驟302,方法300開始。在步驟304,接收需要系統(tǒng)資源的第一命令。更具體地說(shuō),IOC 142可以從設(shè)備100的一個(gè)組件如第三方處理器110-112接收第一命令。如上所述,當(dāng)IOC 142接收到第一命令時(shí),IOC 142使該第一命令與來(lái)自索引庫(kù)(pool)的可用索引相關(guān)聯(lián)。該索引對(duì)應(yīng)于陣列144中的條目144a。用來(lái)自第一命令的信息填充陣列條目的各字段。例如,如果第一命令需要訪問(wèn)存儲(chǔ)體106a以及耦接到第一個(gè)第三方處理器110的出站總線118,則各字段中,可以設(shè)置(例如,聲明(assert))存儲(chǔ)體/IOIF類型206、IOIF令牌請(qǐng)求208、“缺少的IOIF令牌”210、存儲(chǔ)器令牌請(qǐng)求212和“缺少的存儲(chǔ)器令牌”字段214中的位。更具體地說(shuō),聲明存儲(chǔ)體/IOIF類型字段206中的位,以指示第一命令需要存儲(chǔ)體1的存儲(chǔ)器令牌。此外,設(shè)置IOIF令牌請(qǐng)求字段208中的一個(gè)或多個(gè)位,以指示尚未做出對(duì)所需要的IOIF令牌(例如,對(duì)應(yīng)于耦接到第一個(gè)第三方處理器110的出站總線180的令牌)的請(qǐng)求。類似地,設(shè)置“缺少的IOIF令牌”字段210中的位,以指示尚未獲得一個(gè)或多個(gè)所需要的IOIF令牌。此外,設(shè)置存儲(chǔ)器令牌請(qǐng)求字段212中的一個(gè)或多個(gè)位,以指示尚未做出對(duì)所需要的存儲(chǔ)器令牌(例如對(duì)應(yīng)于存儲(chǔ)體1的令牌)的請(qǐng)求。類似地,設(shè)置“缺少的存儲(chǔ)器令牌”字段214中的一個(gè)或多個(gè)位,以指示尚未獲得一個(gè)或多個(gè)所需要的存儲(chǔ)器令牌。命令可包括RAID字段202中指示發(fā)布該命令的組件110-112所屬的RAG的位。以這一方式,IOC 142可以接收多個(gè)命令,并將其存儲(chǔ)在主芯片102的陣列144中。陣列144充當(dāng)所述命令的等待隊(duì)列。
ITR 148掃描陣列條目,以確定需要請(qǐng)求系統(tǒng)資源(例如,對(duì)應(yīng)于該系統(tǒng)資源的令牌)的命令。更具體地說(shuō),在第一時(shí)間周期(例如,第一個(gè)處理器循環(huán)(cycle))期間,ITR 148可以訪問(wèn)第一陣列條目144a,以確定對(duì)應(yīng)于第一個(gè)陣列條目144a的命令是否需要令牌請(qǐng)求。在下一時(shí)間周期(例如,第二個(gè)處理器循環(huán))期間,ITR 148可訪問(wèn)第二個(gè)陣列條目144b,以確定對(duì)應(yīng)于第二個(gè)陣列條目144b的命令是否需要令牌請(qǐng)求。類似地,ITR 148在隨后的時(shí)間周期期間掃描剩余的陣列條目。如果ITR 148在某時(shí)間周期期間訪問(wèn)最后一個(gè)陣列條目,則在下一時(shí)間周期期間,ITR 148訪問(wèn)第一個(gè)陣列條目144a。一旦ITR 148確定命令需要對(duì)系統(tǒng)資源(例如,對(duì)應(yīng)于該系統(tǒng)資源的令牌)的請(qǐng)求,ITR 148就確定命令先前對(duì)相同系統(tǒng)資源的請(qǐng)求是否未決(pending)。ITR 148包括被適配為確定先前對(duì)每個(gè)系統(tǒng)資源的請(qǐng)求是否未決的邏輯。如果ITR 148確定先前對(duì)系統(tǒng)的請(qǐng)求不是未決,則ITR 148請(qǐng)求所需要的系統(tǒng)資源。更具體地說(shuō),ITR 148向TM 150發(fā)出對(duì)所需要的系統(tǒng)資源的請(qǐng)求(例如,第一請(qǐng)求)。ITR 148可以在ITR 148訪問(wèn)對(duì)應(yīng)于該命令的陣列條目的相同時(shí)間周期期間請(qǐng)求該命令所需要的系統(tǒng)資源?;蛘?,ITR 148可以在另一時(shí)間周期期間請(qǐng)求所需要的系統(tǒng)資源。
在步驟306,接收為第一命令做出的對(duì)系統(tǒng)資源的第一請(qǐng)求(例如,可以接收來(lái)自第一命令或代表第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求)。例如,ITR 148做出對(duì)第一命令所需的系統(tǒng)資源的第一請(qǐng)求。TM 150從ITR 148接收代表第一命令做出的對(duì)該系統(tǒng)資源(例如,對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌)的請(qǐng)求。TM 150可以將所請(qǐng)求的令牌提供給(例如,賦予)ITR 148。如上所述,TM 150被配置為基于用戶指定的周期生成令牌。因此,TM 150可能在接收到來(lái)自ITR 148的請(qǐng)求之前已經(jīng)生成了所需要的令牌。因此,TM 150可以在接收到令牌請(qǐng)求之后不久(例如,在幾個(gè)時(shí)間周期內(nèi))賦予所需要的令牌。或者,如果尚未生成所請(qǐng)求的令牌,則TM 150在基于TM 150配置的某個(gè)時(shí)間生成該令牌。在TM 150生成所請(qǐng)求的令牌時(shí),可能過(guò)去了多個(gè)時(shí)間周期。一旦TM 150將所請(qǐng)求的令牌賦予ITR 148,對(duì)該令牌的請(qǐng)求就不再是未決的。
在步驟308,接收需要該系統(tǒng)資源的第二命令。因此,第一和第二命令需要相同的系統(tǒng)資源。類似于步驟304,IOC 142可以從設(shè)備的一個(gè)組件(例如第三方芯片110-112)接收第二命令,使第二命令與對(duì)應(yīng)于陣列144中的條目(例如,144b)的索引相關(guān)聯(lián),并用來(lái)自第二命令的信息填充條目144b的字段。例如,可以在接收到第一命令后一個(gè)或多個(gè)時(shí)間周期之后接收第二命令。
在訪問(wèn)對(duì)應(yīng)于第一命令的陣列條目144a之后,ITR 148可以訪問(wèn)對(duì)應(yīng)于第二命令的陣列條目144b,以確定第二命令的狀態(tài)。更具體地說(shuō),ITR 148可以確定第二命令是否需要一個(gè)或多個(gè)令牌、是否需要請(qǐng)求所需要的令牌和/或是否已經(jīng)獲得了所需要的令牌。例如,ITR 148可以在TM 150將ITR 148代表第一命令請(qǐng)求的系統(tǒng)資源(例如,對(duì)應(yīng)于該系統(tǒng)資源的令牌)賦予ITR 148之后的時(shí)間周期期間,訪問(wèn)對(duì)應(yīng)于第二命令的陣列條目144b。如上所述,此時(shí),對(duì)系統(tǒng)資源(例如,對(duì)應(yīng)于該系統(tǒng)資源的令牌)的請(qǐng)求不再是未決的。在此時(shí)間周期期間,ITR 148確定第二命令需要該系統(tǒng)資源(例如,第一命令所需要的相同系統(tǒng)資源)、需要請(qǐng)求該系統(tǒng)資源、并且需要獲得該系統(tǒng)資源。
在步驟310,系統(tǒng)資源被指派給第二命令。更具體地說(shuō),ITR 148將為第一命令請(qǐng)求的系統(tǒng)資源(例如,對(duì)應(yīng)于該系統(tǒng)資源的令牌)指派給第二命令。可以在ITR 148代表第二命令請(qǐng)求系統(tǒng)資源之前將該系統(tǒng)資源指派給第二命令。通過(guò)將為另一命令(例如,第一命令)請(qǐng)求的系統(tǒng)資源指派給第二命令,第二命令從第一命令借用該系統(tǒng)資源。允許一個(gè)命令從其它命令借用系統(tǒng)資源(例如,系統(tǒng)資源借用)提高了系統(tǒng)性能。例如,不是將系統(tǒng)資源賦予該系統(tǒng)資源的請(qǐng)求者(例如,第一命令)——這需要等待(例如,多達(dá)64個(gè)時(shí)間周期)直到ITR 148再次訪問(wèn)對(duì)應(yīng)于第一命令的陣列條目144a為止,而是可以將該系統(tǒng)資源指派給第二命令,從而釋放第二命令(假設(shè)第二命令不需要其它系統(tǒng)資源)。因此,系統(tǒng)資源被更快地分配給命令,這更加高效地(例如,更快地)釋放了命令。此外,系統(tǒng)資源借用消除了使所賦予的系統(tǒng)資源與請(qǐng)求該系統(tǒng)資源的命令相關(guān)聯(lián)的需要,這可以簡(jiǎn)化所述多個(gè)邏輯141的設(shè)計(jì)。因此,在主芯片102上需要更少的空間。
在步驟312,接收為第二命令做出的對(duì)系統(tǒng)資源的第二請(qǐng)求(例如,可以接收來(lái)自第二命令或者代表第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求)。例如,ITR 148做出對(duì)第二命令所需的系統(tǒng)資源的第二請(qǐng)求。TM 150從ITR 148接收代表第二命令做出的對(duì)該系統(tǒng)資源(例如,對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌)的請(qǐng)求。第二命令對(duì)系統(tǒng)資源的第二請(qǐng)求可以在將該系統(tǒng)資源賦予第二命令之后接收。以這一方式,TM 150可以為另一命令(例如,第一命令)生成系統(tǒng)資源(例如,對(duì)應(yīng)于該系統(tǒng)資源的令牌)。此外,因?yàn)橄到y(tǒng)資源已經(jīng)被分配給第二命令,所以一旦ITR 148請(qǐng)求該系統(tǒng)資源,就釋放與第二命令相關(guān)聯(lián)的索引。隨后,進(jìn)行步驟314。在步驟314,方法300結(jié)束。
此外,在一個(gè)或多個(gè)實(shí)施例中,系統(tǒng)資源被賦予第一命令。例如,TM 150生成代表第二命令而請(qǐng)求的系統(tǒng)資源,并將其賦予ITR 148,并且,在訪問(wèn)對(duì)應(yīng)于第一命令的陣列條目144a的同時(shí),ITR 148將該系統(tǒng)資源指派給第一命令。以這一方式,可以釋放與第一命令相關(guān)的索引和/或第一命令。
通過(guò)使用圖3的方法300,可以在所賦予的系統(tǒng)資源被指派給請(qǐng)求該系統(tǒng)資源的第一命令之前,將該系統(tǒng)資源指派給第二命令。此外,在指派該系統(tǒng)資源之前,不需要第二命令對(duì)該系統(tǒng)資源的請(qǐng)求。以這一方式,可以以穩(wěn)定的速度釋放命令,從而提高設(shè)備性能。
在一個(gè)或多個(gè)實(shí)施例中,IOC 142接收的命令可以來(lái)自不同RAG中包括的組件(例如,第三方芯片110-112),并因此有不同的RAID(例如,優(yōu)先級(jí)),在這樣的實(shí)施例中,不只一個(gè)令牌對(duì)應(yīng)于設(shè)備100的一個(gè)系統(tǒng)資源(例如,存儲(chǔ)體106a-p或I/O總線114-120)。例如,用于每個(gè)RAID的令牌對(duì)應(yīng)于一個(gè)系統(tǒng)資源。對(duì)于采用20種令牌類型和4個(gè)RAG的設(shè)備100,采用80個(gè)不同的令牌。此外,IOC 142接收的命令包括RAID,ITR 148將通過(guò)請(qǐng)求用于該RAID的對(duì)應(yīng)于系統(tǒng)資源的令牌來(lái)請(qǐng)求該系統(tǒng)資源,并且,TM 150基于TM150配置生成所請(qǐng)求的令牌。例如,TM 150可被配置為以快于用于第二RAID的對(duì)應(yīng)于系統(tǒng)資源的令牌的速度,生成用于第一RAID的對(duì)應(yīng)于該系統(tǒng)資源的令牌,從而給命令指派對(duì)應(yīng)于RAID的優(yōu)先級(jí),并基于該優(yōu)先級(jí)生成令牌??梢允褂妙愃朴趫D3的方法300的方法來(lái)接收多于一個(gè)優(yōu)先級(jí)的命令,并將系統(tǒng)資源分配給這些命令,同時(shí)允許需要相同令牌(例如,用于某RAID的對(duì)應(yīng)于該系統(tǒng)資源的令牌)的命令互相借用令牌。
現(xiàn)在,參考圖1和2、并參考示出根據(jù)本發(fā)明實(shí)施例的用于管理系統(tǒng)資源分配的第二示例方法的圖4,來(lái)描述用于管理系統(tǒng)資源分配的設(shè)備100的操作。更具體地說(shuō),圖4圖示了一種用于管理需要一個(gè)或多個(gè)系統(tǒng)資源的命令之間的系統(tǒng)資源分配的方法。參考圖4,在步驟402,方法400開始。在步驟404,接收需要多個(gè)低需求系統(tǒng)資源中的第一個(gè)和第二系統(tǒng)資源的第一命令。對(duì)第二系統(tǒng)資源的需求高(例如,高于低需求系統(tǒng)資源)。例如,以類似于上述步驟304的方式,IOC 142從設(shè)備100的組件(例如,第三方芯片110-112)接收第一命令。
ITR 148向TM 150請(qǐng)求低需求(例如,低需求/低利用率)系統(tǒng)資源如存儲(chǔ)體106a-p中的第一個(gè)(例如,對(duì)應(yīng)于低需求系統(tǒng)資源中的第一個(gè)的令牌)。該請(qǐng)求包括與命令相關(guān)聯(lián)的RAID。TM 150接收對(duì)低需求系統(tǒng)資源中的第一個(gè)的請(qǐng)求,并生成所請(qǐng)求的令牌(如果先前沒有生成的話)。TM 150被配置為基于所請(qǐng)求的令牌和與所請(qǐng)求的令牌相關(guān)聯(lián)的RAID來(lái)生成令牌。隨后,TM 150將所生成的令牌賦予ITR 148。
在步驟406,將多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令。更具體地說(shuō),ITR 148將多個(gè)低需求系統(tǒng)資源中的第一個(gè)(例如,對(duì)應(yīng)于多個(gè)低需求系統(tǒng)資源如存儲(chǔ)體106a-p中的第一個(gè)的令牌)指派給第一命令。隨后,ITR148請(qǐng)求第二系統(tǒng)資源(例如,對(duì)應(yīng)于高需求(例如,高需求/高利用率)系統(tǒng)資源如I/O總線114-120帶寬的令牌)。在獲得第一命令所需要的低需求系統(tǒng)資源之前,ITR 148不會(huì)為第一命令請(qǐng)求高需求系統(tǒng)資源。
在步驟408,在將多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令之后,接收第一命令對(duì)第二系統(tǒng)資源的請(qǐng)求(例如,可以接收來(lái)自第一命令或者代表第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求)。更具體地說(shuō),ITR 148可以以上述方式訪問(wèn)與需要多個(gè)低需求系統(tǒng)資源中的第一個(gè)和第二系統(tǒng)資源的命令相對(duì)應(yīng)的陣列條目144a。如果ITR 148確定獲得了低需求系統(tǒng)資源,則ITR 148代表第一命令向TM 150請(qǐng)求第二系統(tǒng)資源。TM 150從ITR 148接收代表第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求。如上所述,TM 150可能需要多個(gè)時(shí)間周期來(lái)生成所需要的系統(tǒng)資源。在此時(shí)間期間,ITR 148繼續(xù)訪問(wèn)對(duì)應(yīng)于命令的陣列條目,以確定是否為了該命令而需要令牌請(qǐng)求、或者是否可以將所賦予的令牌指派給該命令。例如,ITR 148可以在每個(gè)時(shí)間周期訪問(wèn)不同的陣列條目。因此,對(duì)于存儲(chǔ)64個(gè)命令的陣列144,ITR 148每64個(gè)時(shí)間周期訪問(wèn)陣列條目144a一次。然而,ITR 148可以以不同的速率訪問(wèn)陣列條目。
在步驟410,接收需要多個(gè)低需求系統(tǒng)資源中的第二個(gè)和第二系統(tǒng)資源的第二命令。以類似于上述步驟304的方式,IOC 142從設(shè)備100的組件(例如第三方芯片110-112)接收第二命令。第二命令可能需要與第一命令不同的低需求系統(tǒng)資源、以及與第一命令相同的高需求系統(tǒng)資源。對(duì)應(yīng)于第二命令的條目144b被輸入到陣列144中。
以上述方式,ITR 148可以訪問(wèn)對(duì)應(yīng)于第二命令的條目,并向TM 150請(qǐng)求多個(gè)低需求系統(tǒng)資源中的第二個(gè)。更具體地說(shuō),ITR 148向TM 150請(qǐng)求對(duì)應(yīng)于多個(gè)低需求系統(tǒng)資源中的第二個(gè)的令牌。TM 150從ITR 148接收代表第二命令做出的請(qǐng)求,生成所請(qǐng)求的令牌,并將該令牌賦予ITR 148??梢栽趶腎TR 148做出請(qǐng)求的相同時(shí)間周期或者隨后的時(shí)間周期期間將該令牌賦予ITR 148。
在步驟412,多個(gè)低需求系統(tǒng)資源中的第二個(gè)被指派給第二命令。當(dāng)(例如在隨后的時(shí)間周期期間)訪問(wèn)對(duì)應(yīng)于第二命令的陣列條目144b時(shí),ITR 148將確定第二命令需要但尚未獲得多個(gè)低需求系統(tǒng)資源中的第二個(gè)。因此,ITR148將把所需要的系統(tǒng)資源指派給第二命令。
在步驟414,在將多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令之后,第二系統(tǒng)資源被指派給第二命令。例如,在步驟406接收到代表第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求之后,TM 150生成(如果先前未生成的話)第二系統(tǒng)資源,并將其賦予ITR 148。在將第二系統(tǒng)資源賦予ITR 148之后,ITR 148可以在訪問(wèn)對(duì)應(yīng)于第一命令的條目144a之前訪問(wèn)對(duì)應(yīng)于第二命令的條目144b。當(dāng)訪問(wèn)對(duì)應(yīng)于第二命令的陣列條目144b時(shí),ITR 148確定第二命令需要第二系統(tǒng)資源并且尚未請(qǐng)求該第二系統(tǒng)資源。盡管第二命令尚未請(qǐng)求該第二系統(tǒng)資源,但是ITR 148將該第二系統(tǒng)資源指派給第二命令。因此,由TM 150賦予的系統(tǒng)資源不限于請(qǐng)求了該系統(tǒng)資源的命令,而是可以將該系統(tǒng)資源指派給具有比請(qǐng)求了該系統(tǒng)資源的命令更緊急的需要的命令。
在步驟416,接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求(例如,可以接收來(lái)自第二命令或代表第二命令做出的對(duì)系統(tǒng)資源的第二請(qǐng)求)。更具體地說(shuō),ITR 148訪問(wèn)對(duì)應(yīng)于第二命令的陣列條目144b,并確定需要并且尚未做出對(duì)第二系統(tǒng)的請(qǐng)求。因此,第二命令請(qǐng)求該第二系統(tǒng)資源。更具體地說(shuō),ITR 148代表第二命令向TM 150請(qǐng)求該第二系統(tǒng)資源。ITR 148可以在將第二系統(tǒng)資源指派給第二命令的相同時(shí)間周期期間請(qǐng)求該第二系統(tǒng)資源?;蛘?,ITR 148可以在隨后的時(shí)間周期期間請(qǐng)求該第二系統(tǒng)資源。因?yàn)榈诙到y(tǒng)資源可以在第二命令請(qǐng)求第二系統(tǒng)資源之前被指派給第二命令(或者由第二命令獲得),所以代表第二命令向TM 150做出的對(duì)第二系統(tǒng)資源的請(qǐng)求充當(dāng)“替代”請(qǐng)求。該“替代”請(qǐng)求確保對(duì)于對(duì)系統(tǒng)資源的每個(gè)未決需求而言,對(duì)該系統(tǒng)資源的請(qǐng)求是未決的。在本示例中,在給第二命令指派第二系統(tǒng)資源之后接收的、為第二命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求充當(dāng)?shù)谝幻畹摹疤娲闭?qǐng)求。因此,TM 150可以在ITR 148再次訪問(wèn)對(duì)應(yīng)于第一命令的陣列條目144a之前,從ITR 148接收代表第二命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求,生成第二系統(tǒng)資源,并將第二系統(tǒng)資源賦予ITR 148,從而使得第二系統(tǒng)資源對(duì)第一命令可用。
“替代”請(qǐng)求釋放對(duì)應(yīng)于第二命令的索引,從而允許由IOC 142接收的另一命令使用該索引。
在步驟418,方法400結(jié)束。使用圖4的方法400,通過(guò)在既需要高需求系統(tǒng)資源又需要低需求系統(tǒng)資源的命令獲得低需求系統(tǒng)資源之后,將高需求系統(tǒng)資源指派給該命令,命令被周期性更好地釋放。
本方法和設(shè)備允許將系統(tǒng)資源指派給尚未請(qǐng)求該系統(tǒng)資源的命令。因此,本方法和設(shè)備可以管理來(lái)自命令的對(duì)系統(tǒng)資源的請(qǐng)求,以使釋放索引的速率最優(yōu)化,并且/或者管理系統(tǒng)資源向命令的指派,以使釋放命令的速率最優(yōu)化。
前面的描述僅公開了本發(fā)明的示例實(shí)施例。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),對(duì)上面公開的設(shè)備和方法的落在本發(fā)明范圍內(nèi)的修改將是顯而易見的。例如,盡管一個(gè)或多個(gè)上述實(shí)施例描述了一種管理系統(tǒng)資源分配的方法,其中,在命令請(qǐng)求系統(tǒng)資源之前將系統(tǒng)資源指派給該命令,但是,其它實(shí)施例包括更廣泛的方面。例如,本發(fā)明包括用于通過(guò)以下步驟管理系統(tǒng)資源分配的方法和設(shè)備(1)接收需要系統(tǒng)資源的命令;(2)接收為該命令做出的對(duì)與系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求;以及(3)將令牌指派給該命令,從而將系統(tǒng)資源指派給該命令。例如,由該命令或者代表該命令做出對(duì)與系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求。
此外,參考圖3和4描述的命令可以來(lái)自計(jì)算機(jī)系統(tǒng)的相同組件、或者來(lái)自計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)不同組件(例如,一個(gè)或多個(gè)第三方芯片110-112)。
在一個(gè)或多個(gè)實(shí)施例中,由設(shè)備100創(chuàng)建的令牌包括對(duì)應(yīng)于存儲(chǔ)體106a-p的存儲(chǔ)器令牌、對(duì)應(yīng)于耦接到第一個(gè)第三方芯片110的入站總線114和出站I/O總線118的IOIF0令牌、以及對(duì)應(yīng)于耦接到第二個(gè)第三方芯片112的入站總線116和出站I/O總線120的IOIF1令牌。IOIF0令牌可以以高于其它令牌的速率生成,并且可以是高需求的。存儲(chǔ)器令牌比IOIF令牌較不“通用(generic)”,這導(dǎo)致了對(duì)專用(specific)存儲(chǔ)器令牌的競(jìng)爭(zhēng)減少。在一個(gè)實(shí)施例中,ITR 148可以具有(例如,訪問(wèn))來(lái)自一個(gè)第三方芯片的多達(dá)48個(gè)命令。這些命令需要一個(gè)IOIF0令牌,并且還可能需要一個(gè)存儲(chǔ)器令牌。
在一個(gè)實(shí)施例中,使用十六進(jìn)制格式(例如,索引0x1E)稱呼索引和/或令牌,并且可以按順序給可由設(shè)備100創(chuàng)建的令牌編號(hào)(例如,令牌1-20)。更具體地說(shuō),對(duì)應(yīng)于存儲(chǔ)體0-15的令牌可分別稱為令牌0x0-0xF。IOIF0入站總線、IOIF0出站總線、IOIF1入站總線以及IOIF1出站總線可分別稱為0x10-0x13。
如果沒有仔細(xì)地指派令牌,則會(huì)出現(xiàn)問(wèn)題。例如,假設(shè)索引0x1E中的命令獲得了令牌0xB,但是仍然需要IOIF0令牌。陣列144中的其它命令也可能在相同的時(shí)間周期期間需要相同的IOIF0令牌。當(dāng)IOIF0令牌被賦予ITR148時(shí),ITR 148檢查(訪問(wèn))需要該IOIF0令牌和存儲(chǔ)器令牌0x5的索引0x1A。ITR 148可能將IOIF0令牌指派給對(duì)應(yīng)于索引0x1A的命令。然而,因?yàn)樗饕?x1A尚未獲得存儲(chǔ)器令牌0x5,所以該IOIF0令牌被對(duì)應(yīng)于在一定時(shí)間內(nèi)可能不會(huì)被釋放的索引0x1A的命令占用(tie up)。命令索引0x1E仍然需要并且必須等待該IOIF0令牌。因?yàn)槠渌羁赡芤残枰揑OIF0令牌,并且可能在命令索引0x1E之前被賦予該IOIF0令牌,所以在ITR 148用可用于指派的IOIF0令牌來(lái)處理或訪問(wèn)命令索引0x1E之前可能要一定時(shí)間。更具體地說(shuō),因?yàn)樾箩尫诺乃饕豢赡苄枰嗤琁OIF0令牌的新命令充滿,所以該IOIF0令牌被賦予命令索引0x1E的機(jī)會(huì)不會(huì)隨著時(shí)間提高。如上所示,將令牌指派給錯(cuò)誤的命令可能是代價(jià)高昂的。當(dāng)命令占用令牌時(shí),減小了RAM的預(yù)期的調(diào)步效果(pacing effect)。命令被比預(yù)期晚并且周期性較差地釋放。
此外,即使允許錯(cuò)誤的命令請(qǐng)求令牌也會(huì)引發(fā)問(wèn)題。一旦命令做出對(duì)令牌的請(qǐng)求,另一命令就不能請(qǐng)求相同的令牌。如上所述,在做出命令需要的所有請(qǐng)求之前,不能釋放與該命令相關(guān)聯(lián)的索引。然而,可以防止對(duì)應(yīng)于一個(gè)命令的需要被釋放的索引做出請(qǐng)求,這是因?yàn)槊看螢樗饕?wù)時(shí),先前從另一命令對(duì)該令牌的請(qǐng)求都是未決的。先前的請(qǐng)求占用了該索引,并因此降低了IOC 142的效率。
本方法和設(shè)備通過(guò)允許ITR令牌借用(例如,將令牌給予被發(fā)現(xiàn)需要該令牌的符合條件的第一個(gè)命令)避免了上面的問(wèn)題。一個(gè)命令對(duì)高需求、某種程度上通用的令牌的請(qǐng)求和指派僅在該命令獲得了低需求(例如,更加專用的、更低速率的令牌)之后被允許。在一個(gè)實(shí)施例中,默認(rèn)的是,在命令獲得該命令所需的所有其它令牌之前,不會(huì)為該命令請(qǐng)求IOIF0令牌,或?qū)OIF0令牌指派給該命令。
在一個(gè)或多個(gè)實(shí)施例中,在采用RAG的設(shè)備100中,RAM確保在RAG之間適當(dāng)?shù)毓蚕硐到y(tǒng)資源。每個(gè)受管理的系統(tǒng)資源的時(shí)間的一部分被分配給多個(gè)RAG。更具體地說(shuō),每個(gè)RAG可以要求享用一部分受管理的系統(tǒng)資源的帶寬。RAG可以請(qǐng)求比分配給該RAG的系統(tǒng)資源更多的系統(tǒng)資源。然而,僅僅在另一RAG沒有充分使用分配給該RAG的系統(tǒng)資源,并被配置為共享這樣的系統(tǒng)資源時(shí),才同意這樣的請(qǐng)求。
在一個(gè)或多個(gè)實(shí)施例中,RAG是稱為請(qǐng)求器的一個(gè)或多個(gè)硬件單元的群組,其中,所述硬件單元是可發(fā)起加載或存儲(chǔ)請(qǐng)求、或者DMA讀取或?qū)懭朐L問(wèn)的物理的或虛擬的單元。諸如主處理器和協(xié)處理器的請(qǐng)求器位于單個(gè)RAG中。然而,這些請(qǐng)求器所屬的RAG可隨著時(shí)間變化。此外,IOC 142具有用于每個(gè)RAG的虛擬信道。更具體地說(shuō),4個(gè)RAG可以與IOIF0相關(guān)聯(lián),而4個(gè)RAG可以與IOIF1相關(guān)聯(lián)。因此,設(shè)備100可包括17個(gè)請(qǐng)求器。
在一個(gè)實(shí)施例中,一個(gè)命令可能需要2個(gè)令牌、一個(gè)總線令牌(基于該命令的操作碼(opcode))以及一個(gè)存儲(chǔ)器令牌(基于該命令中的存儲(chǔ)器地址)。在一個(gè)或多個(gè)實(shí)施例中,只為訪問(wèn)受管理的系統(tǒng)資源而需要令牌;對(duì)于不受管理的資源則不需要令牌。
因此,盡管結(jié)合本發(fā)明的示例實(shí)施例公開了本發(fā)明,但是應(yīng)當(dāng)理解,其它實(shí)施例可以落在如所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)。
權(quán)利要求
1.一種用于管理系統(tǒng)資源分配的方法,包括接收需要系統(tǒng)資源的第一命令;接收為第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求;接收需要該系統(tǒng)資源的第二命令;將該系統(tǒng)資源指派給第二命令;以及接收為第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求。
2.如權(quán)利要求1所述的方法,其中,接收為第二命令做出的對(duì)系統(tǒng)資源的第二請(qǐng)求的步驟包括在該系統(tǒng)資源被指派給第二命令之后,接收為第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求。
3.如權(quán)利要求1所述的方法,還包括將該系統(tǒng)資源指派給第一命令。
4.如權(quán)利要求1所述的方法,其中接收為第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求的步驟包括接收為第一命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的第一請(qǐng)求;將該系統(tǒng)資源指派給第二命令的步驟包括將與該系統(tǒng)資源相對(duì)應(yīng)的令牌指派給第二命令;并且接收為第二命令做出的對(duì)系統(tǒng)資源的第二請(qǐng)求的步驟包括接收為第二命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的第二請(qǐng)求。
5.如權(quán)利要求1所述的方法,其中,系統(tǒng)資源包括存儲(chǔ)器或總線帶寬中的至少一個(gè)。
6.一種用于管理系統(tǒng)資源分配的方法,包括接收需要第一系統(tǒng)資源的第一命令,其中,該第一命令具有第一優(yōu)先級(jí);接收為第一命令做出的對(duì)第一系統(tǒng)資源的第一請(qǐng)求;接收需要第一系統(tǒng)資源的第二命令,其中,該第二命令具有第一優(yōu)先級(jí)基于第一優(yōu)先級(jí),將第一系統(tǒng)資源指派給第二命令;以及接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求。
7.如權(quán)利要求6所述的方法,還包括接收需要第一系統(tǒng)資源或第二系統(tǒng)資源中的至少一個(gè)的第三命令,其中,第三命令具有第二優(yōu)先級(jí)。
8.如權(quán)利要求7所述的方法,還包括接收為第三命令做出的對(duì)所需要的系統(tǒng)資源的請(qǐng)求;以及基于第二優(yōu)先級(jí),將所需要的系統(tǒng)資源指派給第三命令。
9.如權(quán)利要求6所述的方法,其中,接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求的步驟包括在第一系統(tǒng)資源被指派給第二命令后,接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求。
10.如權(quán)利要求6所述的方法,還包括將第一系統(tǒng)資源指派給第一命令。
11.如權(quán)利要求6所述的方法,其中接收為第一命令做出的對(duì)第一系統(tǒng)資源的第一請(qǐng)求的步驟包括接收為第一命令做出的對(duì)與第一系統(tǒng)資源相對(duì)應(yīng)的令牌的第一請(qǐng)求;將第一系統(tǒng)資源指派給第二命令的步驟包括將與第一系統(tǒng)資源相對(duì)應(yīng)的令牌指派給第二命令;并且接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求的步驟包括接收為第二命令做出的對(duì)與第一系統(tǒng)資源相對(duì)應(yīng)的令牌的第二請(qǐng)求。
12.如權(quán)利要求6所述的方法,其中,第一系統(tǒng)資源包括存儲(chǔ)器或總線帶寬中的至少一個(gè)。
13.一種用于管理系統(tǒng)資源分配的方法,包括接收需要多個(gè)低需求系統(tǒng)資源中的第一個(gè)和第二系統(tǒng)資源的第一命令,其中,對(duì)第二系統(tǒng)資源的需求高;將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令;在將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令之后,接收為第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求;接收需要所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)和第二系統(tǒng)資源的第二命令;將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令;在將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令之后,將第二系統(tǒng)資源指派給第二命令;以及接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求。
14.如權(quán)利要求13所述的方法,其中,接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求的步驟包括在第二系統(tǒng)資源被指派給第二命令之后,接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求。
15.如權(quán)利要求13所述的方法,還包括將第二系統(tǒng)資源指派給第一命令。
16.如權(quán)利要求13所述的方法,其中將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令的步驟包括將與所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)相對(duì)應(yīng)的令牌指派給第一命令;接收為第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求的步驟包括接收為第一命令做出的對(duì)與第二系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求;將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令的步驟包括將與所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)相對(duì)應(yīng)的令牌指派給第二命令;并且將第二系統(tǒng)資源指派給第二命令的步驟包括將與第二系統(tǒng)資源相對(duì)應(yīng)的令牌指派給第二命令。
17.如權(quán)利要求13所述的方法,其中所述多個(gè)低需求系統(tǒng)資源包括存儲(chǔ)器;并且第二系統(tǒng)資源包括總線帶寬。
18.一種用于管理系統(tǒng)資源分配的方法,包括接收需要系統(tǒng)資源的命令;接收為該命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求;以及將該令牌指派給該命令,從而將該系統(tǒng)資源指派給該命令。
19.一種用于管理系統(tǒng)資源分配的設(shè)備,包括多個(gè)邏輯電路,被適配為接收需要系統(tǒng)資源的第一命令;接收為第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求;接收需要該系統(tǒng)資源的第二命令;將該系統(tǒng)資源指派給第二命令;以及接收為第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求。
20.如權(quán)利要求19所述的設(shè)備,其中,所述多個(gè)邏輯電路還被適配為接收為第一命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的第一請(qǐng)求;將與該系統(tǒng)資源相對(duì)應(yīng)的令牌指派給第二命令;以及接收為第二命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的第二請(qǐng)求。
21.如權(quán)利要求19所述的設(shè)備,其中,所述多個(gè)邏輯電路包括輸入/輸出控制器(IOC),該輸入/輸出控制器(IOC)被適配為接收需要系統(tǒng)資源的第一命令;以及接收需要該系統(tǒng)資源的第二命令。
22.如權(quán)利要求19所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌管理器,該令牌管理器被適配為接收為第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求;以及接收為第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求。
23.如權(quán)利要求22所述的設(shè)備,其中,令牌管理器還被適配為在該系統(tǒng)資源被指派給第二命令之后,接收為第二命令做出的對(duì)該系統(tǒng)資源的第二請(qǐng)求。
24.如權(quán)利要求19所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌請(qǐng)求器,該令牌請(qǐng)求器被適配為將該系統(tǒng)資源指派給第二命令。
25.如權(quán)利要求24所述的設(shè)備,其中,令牌請(qǐng)求器還被適配為將該系統(tǒng)資源指派給第一命令。
26.一種用于管理系統(tǒng)資源分配的設(shè)備,包括多個(gè)邏輯電路,被適配為接收需要第一系統(tǒng)資源的第一命令,其中,第一命令具有第一優(yōu)先級(jí);接收為第一命令做出的對(duì)第一系統(tǒng)資源的第一請(qǐng)求;接收需要第一系統(tǒng)資源的第二命令,其中,第二命令具有第一優(yōu)先級(jí);基于第一優(yōu)先級(jí),將第一系統(tǒng)資源指派給第二命令;以及接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求。
27.如權(quán)利要求26所述的設(shè)備,其中,所述多個(gè)邏輯電路還被適配為接收為第一命令做出的對(duì)與第一系統(tǒng)資源相對(duì)應(yīng)的令牌的第一請(qǐng)求;將與第一系統(tǒng)資源相對(duì)應(yīng)的令牌指派給第二命令;以及接收為第二命令做出的對(duì)與第一系統(tǒng)資源相對(duì)應(yīng)的令牌的第二請(qǐng)求。
28.如權(quán)利要求26所述的設(shè)備,其中,所述多個(gè)邏輯電路包括輸入/輸出控制器(IOC),該輸入/輸出控制器(IOC)被適配為接收需要第一系統(tǒng)資源的第一命令,其中,第一命令具有第一優(yōu)先級(jí);以及接收需要第一系統(tǒng)資源的第二命令,其中,第二命令具有第一優(yōu)先級(jí)。
29.如權(quán)利要求28所述的設(shè)備,其中,IOC還被適配為接收需要第一系統(tǒng)資源或第二系統(tǒng)資源中的至少一個(gè)的第三命令,其中,第三命令具有第二優(yōu)先級(jí)。
30.如權(quán)利要求29所述的設(shè)備,其中,所述多個(gè)邏輯電路還被適配為接收為第三命令做出的對(duì)所需要的系統(tǒng)資源的請(qǐng)求;以及基于第二優(yōu)先級(jí),將所需要的系統(tǒng)資源指派給第三命令。
31.如權(quán)利要求26所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌管理器,該令牌管理器被適配為接收為第一命令做出的對(duì)第一系統(tǒng)資源的第一請(qǐng)求;以及接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求。
32.如權(quán)利要求31所述的設(shè)備,其中,令牌管理器還被適配為在第一系統(tǒng)資源被指派給第二命令之后,接收為第二命令做出的對(duì)第一系統(tǒng)資源的第二請(qǐng)求。
33.如權(quán)利要求26所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌請(qǐng)求器,該令牌請(qǐng)求器被適配為基于第一優(yōu)先級(jí)將第一系統(tǒng)資源指派給第二命令。
34.如權(quán)利要求33所述的設(shè)備,其中,令牌請(qǐng)求器還被適配為將第一系統(tǒng)資源指派給第一命令。
35.一種用于管理系統(tǒng)資源分配的設(shè)備,包括多個(gè)邏輯電路,被適配為接收需要多個(gè)低需求系統(tǒng)資源中的第一個(gè)和第二系統(tǒng)資源的第一命令,其中,對(duì)第二系統(tǒng)資源的需求高;將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令;在將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令之后,接收為第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求;接收需要所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)和第二系統(tǒng)資源的第二命令;將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令;在將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令之后,將第二系統(tǒng)資源指派給第二命令;以及接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求。
36.如權(quán)利要求35所述的設(shè)備,其中,所述多個(gè)邏輯電路還被適配為將對(duì)應(yīng)于所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)的令牌指派給第一命令;接收為第一命令做出的對(duì)與第二系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求;將對(duì)應(yīng)于所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)的令牌指派給第二命令;以及將對(duì)應(yīng)于第二系統(tǒng)資源的令牌指派給第二命令。
37.如權(quán)利要求35所述的設(shè)備,其中,所述多個(gè)邏輯電路包括輸入/輸出控制器(IOC),該輸入/輸出控制器(IOC)被適配為接收需要所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)和第二系統(tǒng)資源的第一命令,其中,對(duì)第二系統(tǒng)資源的需求高;以及接收需要所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)和第二系統(tǒng)資源的第二命令。
38.如權(quán)利要求35所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌管理器,該令牌管理器被適配為接收為第一命令做出的對(duì)第二系統(tǒng)資源的請(qǐng)求;以及接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求。
39.如權(quán)利要求38所述的設(shè)備,其中,該令牌管理器還被適配為在第二系統(tǒng)資源被指派給第二命令之后,接收為第二命令做出的對(duì)第二系統(tǒng)資源的第二請(qǐng)求。
40.如權(quán)利要求35所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌請(qǐng)求器,該令牌請(qǐng)求器被適配為將所述多個(gè)低需求系統(tǒng)資源中的第一個(gè)指派給第一命令;將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令;以及在將所述多個(gè)低需求系統(tǒng)資源中的第二個(gè)指派給第二命令之后,將第二系統(tǒng)資源指派給第二命令。
41.如權(quán)利要求40所述的設(shè)備,其中,令牌請(qǐng)求器還被適配為將第二系統(tǒng)資源指派給第一命令。
42.如權(quán)利要求35所述的設(shè)備,其中所述多個(gè)低需求系統(tǒng)資源包括存儲(chǔ)器;以及第二系統(tǒng)資源包括總線帶寬。
43.一種用于管理系統(tǒng)資源分配的設(shè)備,包括多個(gè)邏輯電路,被適配為接收需要系統(tǒng)資源的命令;接收為該命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求;以及將該令牌指派給該命令,從而將該系統(tǒng)資源指派給該命令。
44.如權(quán)利要求43所述的設(shè)備,其中,所述多個(gè)邏輯電路包括輸入/輸出控制器(IOC),該輸入/輸出控制器(IOC)被適配為接收需要系統(tǒng)資源的命令。
45.如權(quán)利要求43所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌管理器,該令牌管理器被適配為接收為所述命令做出的對(duì)與該系統(tǒng)資源相對(duì)應(yīng)的令牌的請(qǐng)求。
46.如權(quán)利要求43所述的設(shè)備,其中,所述多個(gè)邏輯電路包括令牌請(qǐng)求器,該令牌請(qǐng)求器被適配為將該令牌指派給該命令,從而將該系統(tǒng)資源指派給該命令。
全文摘要
在第一方面,提供了用于管理系統(tǒng)資源分配的第一種方法。該第一種方法包括以下步驟(1)接收需要系統(tǒng)資源的第一命令;(2)接收為第一命令做出的對(duì)該系統(tǒng)資源的第一請(qǐng)求;(3)接收需要該系統(tǒng)資源的第二命令;(4)將該系統(tǒng)資源指派給第二命令;以及(5)接收為第二命令做出的對(duì)系統(tǒng)資源的第二請(qǐng)求。還提供了很多其它方面。
文檔編號(hào)G06F13/36GK1728118SQ20051005445
公開日2006年2月1日 申請(qǐng)日期2005年3月10日 優(yōu)先權(quán)日2004年7月29日
發(fā)明者格倫·H·漢德洛格滕, 約翰·D·艾里什 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万安县| 临邑县| 太仓市| 宝坻区| 抚州市| 昭觉县| 沁水县| 辉南县| 长沙县| 安化县| 四会市| 丰都县| 疏附县| 丹凤县| 永仁县| 乳山市| 汉沽区| 邵东县| 石景山区| 龙州县| 济阳县| 托克逊县| 阳西县| 克拉玛依市| 邢台县| 凤山市| 盈江县| 泾源县| 玉龙| 高碑店市| 南充市| 广州市| 平邑县| 延边| 南召县| 定远县| 乐至县| 乐东| 安西县| 五指山市| 潮安县|