專利名稱:允許多頻域的請(qǐng)求方設(shè)備的仲裁方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及處理器中的資源分配,尤其涉及允許多頻域的請(qǐng)求方設(shè)備和允許同時(shí)許可低頻請(qǐng)求方設(shè)備的仲裁方法。
背景技術(shù):
當(dāng)幾個(gè)設(shè)備對(duì)共享資源作出有沖突的請(qǐng)求時(shí),請(qǐng)求必須被仲裁以決定資源分配。例如,當(dāng)總線被連接到高速緩存時(shí),對(duì)于某些應(yīng)用和設(shè)計(jì),高速緩存分配和窺探請(qǐng)求可以被給予優(yōu)先級(jí)。對(duì)一些這樣的設(shè)計(jì),它們的請(qǐng)求可以同時(shí)到達(dá)。這種仲裁優(yōu)先級(jí)是特定于應(yīng)用的,其他設(shè)計(jì)可以選擇具有不同的優(yōu)先級(jí)。
自仲裁能夠用于在高優(yōu)先級(jí)請(qǐng)求中進(jìn)行選擇。例如,當(dāng)在總線上有再裝入和窺探請(qǐng)求時(shí),一個(gè)請(qǐng)求能夠被選擇。這個(gè)方法延遲另一個(gè)請(qǐng)求,直到可能需要幾個(gè)周期的第一個(gè)請(qǐng)求完成為止。另外,一個(gè)自仲裁方法將增加一個(gè)附加仲裁點(diǎn)并且使請(qǐng)求方設(shè)備了解到仲裁。
因此,需要提供一種為高優(yōu)先級(jí)請(qǐng)求提供優(yōu)先權(quán),但對(duì)沒有被選擇的高優(yōu)先級(jí)請(qǐng)求只提供較少延遲的仲裁方法。
發(fā)明內(nèi)容
本發(fā)明提供一種允許多頻域的請(qǐng)求方設(shè)備的資源仲裁方法。大多數(shù)請(qǐng)求方設(shè)備全速產(chǎn)生請(qǐng)求,一小部分請(qǐng)求方設(shè)備每?jī)蓚€(gè)全速周期產(chǎn)生請(qǐng)求,并且在兩個(gè)全速周期內(nèi)維持其請(qǐng)求。本仲裁方法對(duì)來自低優(yōu)先級(jí)請(qǐng)求方設(shè)備的請(qǐng)求給予優(yōu)先級(jí),并且保證在低速周期開始處由半速請(qǐng)求方設(shè)備發(fā)出的請(qǐng)求會(huì)在低速周期過程中得到許可。
為了更徹底地理解本發(fā)明和它的優(yōu)點(diǎn),參照下面結(jié)合附圖所進(jìn)行的描述,其中圖1是舉例說明對(duì)來自高速請(qǐng)求方設(shè)備和低速請(qǐng)求方設(shè)備的仲裁請(qǐng)求的處理的流程圖;圖2A是舉例說明當(dāng)在一個(gè)低速周期內(nèi)有兩個(gè)低速請(qǐng)求時(shí)仲裁請(qǐng)求處理的時(shí)序的流程圖;而圖2B是舉例說明當(dāng)在第一個(gè)低速周期內(nèi)有一個(gè)低速請(qǐng)求時(shí)仲裁請(qǐng)求處理的時(shí)序的流程圖。
具體實(shí)施例方式
在下面的討論中,為了對(duì)本發(fā)明有詳盡的理解,闡述了許多具體的細(xì)節(jié)。但是,本領(lǐng)域技術(shù)人員明白,可以在沒有這些細(xì)節(jié)的情況下具體實(shí)施本發(fā)明。在其他情況中,為了不使本發(fā)明被不必要的細(xì)節(jié)所掩蓋,許多眾所周知的要素都以示意圖或框圖的形式進(jìn)行說明。
還應(yīng)注意,除非另外說明,這里描述的所有功能均可通過硬件、軟件或二者結(jié)合來執(zhí)行。然而在優(yōu)選實(shí)施例中,除非另外說明,這些功能都由例如計(jì)算機(jī)或電子數(shù)據(jù)處理器的處理器根據(jù)例如計(jì)算機(jī)程序、軟件和/或被編碼以執(zhí)行這樣功能的集成電路的代碼來執(zhí)行。
圖1是舉例說明對(duì)來自高速請(qǐng)求方設(shè)備和低速請(qǐng)求方設(shè)備的仲裁請(qǐng)求的處理的流程圖。半速請(qǐng)求方設(shè)備每?jī)蓚€(gè)全速周期產(chǎn)生請(qǐng)求。請(qǐng)求A 102,B 104和C 106到N 108到達(dá)以進(jìn)行仲裁。請(qǐng)求A 102和B104來自于半速請(qǐng)求方設(shè)備。這些請(qǐng)求在兩個(gè)全速周期中是活躍的,并且由兩個(gè)階段(phase)組成,每一周期一個(gè)階段。在第一個(gè)全速周期內(nèi),第一階段是低優(yōu)先級(jí)請(qǐng)求。在第二個(gè)全速周期內(nèi),第二階段是高優(yōu)先級(jí)請(qǐng)求。如果在前一個(gè)周期內(nèi)低優(yōu)先級(jí)請(qǐng)求被許可,則該請(qǐng)求被阻塞。
請(qǐng)求A 102和B 104傳送至請(qǐng)求阻塞邏輯110和112。請(qǐng)求阻塞邏輯110和112在請(qǐng)求的第一個(gè)全速周期內(nèi)把低優(yōu)先級(jí)請(qǐng)求傳送到仲裁器114。請(qǐng)求A 102在低優(yōu)先級(jí)階段內(nèi)被許可。在請(qǐng)求的第二個(gè)全速周期內(nèi),請(qǐng)求阻塞邏輯110不發(fā)出請(qǐng)求102的高優(yōu)先級(jí)請(qǐng)求。在低優(yōu)先級(jí)階段內(nèi),請(qǐng)求B 104不被許可。在請(qǐng)求的第二個(gè)全速周期內(nèi),請(qǐng)求阻塞邏輯112發(fā)出請(qǐng)求102的高優(yōu)先級(jí)請(qǐng)求階段,并且仲裁器114許可它。
仲裁器114始終優(yōu)選許可低速請(qǐng)求方設(shè)備。如果在兩階段低速請(qǐng)求周期的第一階段內(nèi)有兩個(gè)低優(yōu)先級(jí)請(qǐng)求,則仲裁器114許可它們之一。如果有一個(gè)來自低速請(qǐng)求方設(shè)備的請(qǐng)求,即在兩階段低速請(qǐng)求周期的第一階段內(nèi)的低優(yōu)先級(jí)請(qǐng)求,或在兩階段低速請(qǐng)求周期的第二階段內(nèi)的高優(yōu)先級(jí)請(qǐng)求,則仲裁器114許可該請(qǐng)求。如果有來自高速請(qǐng)求方設(shè)備但沒有來自低速請(qǐng)求方設(shè)備的請(qǐng)求,則仲裁器114許可來自高速請(qǐng)求方設(shè)備的請(qǐng)求之一。
這種仲裁方法保證來自低速請(qǐng)求方設(shè)備的兩個(gè)請(qǐng)求A 102和B104贏得仲裁,即使它們二者同時(shí)發(fā)出。請(qǐng)求A 102和B 104之一作為低優(yōu)先級(jí)請(qǐng)求將在兩階段低速請(qǐng)求周期的第一階段內(nèi)得到許可。外一個(gè)請(qǐng)求將在這個(gè)周期的第二階段內(nèi)作為高速請(qǐng)求發(fā)出,并且被許可。在兩階段周期的第一階段許可的請(qǐng)求不會(huì)在第二周期內(nèi)作為高速請(qǐng)求發(fā)出。
這種仲裁方法進(jìn)一步保證所有的請(qǐng)求在一個(gè)低速周期內(nèi)得到許可。另外,只有一個(gè)仲裁點(diǎn),而且這種仲裁方法允許高優(yōu)先級(jí)請(qǐng)求方設(shè)備完全不知道任何仲裁點(diǎn)。如果在請(qǐng)求方設(shè)備贏得仲裁的任何時(shí)候資源均是可用的,則請(qǐng)求A 102和B 104不需要許可,因?yàn)樗鼈儽槐WC在其半速域內(nèi)總是贏得仲裁,并且總是具有可用資源。因?yàn)樗鼈兛偸谴_保贏得仲裁,所以這些高優(yōu)先級(jí)請(qǐng)求方設(shè)備能夠被設(shè)計(jì)成不用等待仲裁許可即發(fā)出它們的請(qǐng)求。
圖2A是舉例說明在一個(gè)低速周期內(nèi)有兩個(gè)低速請(qǐng)求時(shí)的仲裁請(qǐng)求處理的時(shí)序的流程圖。在第一個(gè)全速周期內(nèi),低速請(qǐng)求方設(shè)備發(fā)出請(qǐng)求A和B,而高速請(qǐng)求方設(shè)備發(fā)出請(qǐng)求C和D。請(qǐng)求A和B分別到達(dá)阻塞邏輯110和112并產(chǎn)生低優(yōu)先級(jí)請(qǐng)求,仲裁器114許可它們之一,在本圖情況下為請(qǐng)求A。在全速周期2內(nèi),請(qǐng)求B到達(dá)阻塞邏輯112,被產(chǎn)生為高優(yōu)先級(jí)請(qǐng)求,并被仲裁器114許可。阻塞邏輯110阻塞來自請(qǐng)求A的高優(yōu)先級(jí)請(qǐng)求階段。在周期3內(nèi),仲裁器許可來自高速請(qǐng)求方設(shè)備的請(qǐng)求C。在周期4內(nèi),仲裁器許可來自高速請(qǐng)求方設(shè)備的請(qǐng)求d。在這種仲裁方法中,來自低速請(qǐng)求方設(shè)備的請(qǐng)求被給予比來自高速請(qǐng)求方設(shè)備的請(qǐng)求更高的優(yōu)先級(jí)。來自低速請(qǐng)求方設(shè)備的請(qǐng)求A和B在來自高速請(qǐng)求方設(shè)備的請(qǐng)求C和D之前得到許可。而且兩個(gè)來自低速請(qǐng)求方設(shè)備的請(qǐng)求A和B在單個(gè)低速周期內(nèi)得到許可。
圖2B是舉例說明當(dāng)在第一個(gè)低速周期內(nèi)有一個(gè)慢速請(qǐng)求時(shí)仲裁請(qǐng)求處理的時(shí)序的流程圖。在第一個(gè)全速周期內(nèi),低速請(qǐng)求方設(shè)備發(fā)出請(qǐng)求A,而高速請(qǐng)求方設(shè)備發(fā)出請(qǐng)求C和D。請(qǐng)求A到達(dá)阻塞邏輯,它產(chǎn)生被仲裁器114許可的低優(yōu)先級(jí)請(qǐng)求。在第二個(gè)全速周期內(nèi),也就是在此半速周期的第二半內(nèi),阻塞邏輯阻塞請(qǐng)求A的高優(yōu)先級(jí)階段。仲裁器許可來自高速請(qǐng)求方設(shè)備的請(qǐng)求C。在周期3內(nèi),來自低速請(qǐng)求方設(shè)備的請(qǐng)求B作為低優(yōu)先級(jí)請(qǐng)求被阻塞邏輯發(fā)出并且被仲裁器114許可。在周期4內(nèi),仲裁器114許可來自高速請(qǐng)求方設(shè)備的請(qǐng)求D。阻塞邏輯阻塞請(qǐng)求B的高優(yōu)先級(jí)階段,因?yàn)樵谶@個(gè)低速周期的第一階段發(fā)出的低優(yōu)先級(jí)請(qǐng)求被許可。因此,請(qǐng)求A、C、B、D按順序被許可。當(dāng)在同一周期內(nèi)有來自兩種速度的請(qǐng)求方設(shè)備的請(qǐng)求時(shí),來自低速請(qǐng)求方設(shè)備的請(qǐng)求被給予比來自高速請(qǐng)求方設(shè)備的請(qǐng)求更高的優(yōu)先級(jí)。
在可選實(shí)施例中,低速請(qǐng)求方設(shè)備以三分之一的速度操作。低速請(qǐng)求每三個(gè)高速周期被發(fā)出,并且維持3個(gè)高速周期。低速請(qǐng)求由3個(gè)階段組成。當(dāng)請(qǐng)求已經(jīng)在前面的階段被許可時(shí),阻塞邏輯在后面的階段把該請(qǐng)求阻塞。此外,來自低速請(qǐng)求方設(shè)備的請(qǐng)求被給予比來自高速請(qǐng)求方設(shè)備的請(qǐng)求更高的優(yōu)先級(jí)。在低速周期內(nèi)發(fā)出的三個(gè)請(qǐng)求被保證得到許可。
根據(jù)上面提到的一些優(yōu)選實(shí)施例已描述了本發(fā)明,應(yīng)注意的是,揭示的實(shí)施例在性質(zhì)上是說明性的,而不是限制性的,而且在上述的說明中考慮到各種變化、修改、改變和替代,而且在一些實(shí)例中,本發(fā)明的一些特性的使用并不需要使用對(duì)應(yīng)的其他特性。本領(lǐng)域技術(shù)人員根據(jù)上面對(duì)優(yōu)選實(shí)施例的描述可考慮到許多這樣的變化和修改。因此,應(yīng)當(dāng)理解,應(yīng)當(dāng)以廣義以及與本發(fā)明范圍相一致的方式解釋附加權(quán)利要求。
權(quán)利要求
1.一種允許多頻域的資源請(qǐng)求方設(shè)備的系統(tǒng),包括被配置成以第一頻率產(chǎn)生請(qǐng)求的高速請(qǐng)求方設(shè)備;被配置成以較低的第二頻率產(chǎn)生請(qǐng)求的低速請(qǐng)求方設(shè)備;和仲裁器,其中仲裁器被配置成仲裁高速請(qǐng)求方設(shè)備和低速請(qǐng)求方設(shè)備的請(qǐng)求。
2.根據(jù)權(quán)利要求1的系統(tǒng),還包含連接到低速請(qǐng)求方設(shè)備的阻塞邏輯裝置,其中由低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求按階段發(fā)出,并且當(dāng)在請(qǐng)求周期的較早階段已經(jīng)許可來自低速請(qǐng)求方設(shè)備之一的請(qǐng)求時(shí),阻塞邏輯在請(qǐng)求周期的較后階段阻塞該請(qǐng)求。
3.根據(jù)權(quán)利要求2的系統(tǒng),還包含連接到阻塞邏輯裝置的階段信號(hào)裝置,其中響應(yīng)于階段信號(hào)裝置,阻塞邏輯識(shí)別低速周期的階段。
4.根據(jù)權(quán)利要求1的系統(tǒng),其中高速請(qǐng)求方設(shè)備的頻率是低速請(qǐng)求方設(shè)備的頻率的整數(shù)n倍。
5.根據(jù)權(quán)利要求4的系統(tǒng),其中正好有整數(shù)n個(gè)低速請(qǐng)求方設(shè)備。
6.根據(jù)權(quán)利要求1的系統(tǒng),其中仲裁器給予來自低速請(qǐng)求方設(shè)備的請(qǐng)求比來自高速請(qǐng)求方設(shè)備的請(qǐng)求更高的優(yōu)先級(jí)。
7.根據(jù)權(quán)利要求1的系統(tǒng),還包含能夠同時(shí)滿足來自低速請(qǐng)求方設(shè)備的請(qǐng)求的足夠資源。
8.一種允許兩個(gè)頻域的請(qǐng)求方設(shè)備的資源仲裁方法,該方法包括步驟由高速請(qǐng)求方設(shè)備以一個(gè)頻率產(chǎn)生資源請(qǐng)求;由低速請(qǐng)求方設(shè)備以較低的第二頻率產(chǎn)生資源請(qǐng)求;以及仲裁高速請(qǐng)求方設(shè)備和低速請(qǐng)求方設(shè)備產(chǎn)生的資源請(qǐng)求。
9.根據(jù)權(quán)利要求8的方法,其中仲裁給予來自低速請(qǐng)求方設(shè)備的請(qǐng)求比來自高速請(qǐng)求方設(shè)備的請(qǐng)求更高的優(yōu)先級(jí)。
10.根據(jù)權(quán)利要求8的方法,還包含步驟分多個(gè)階段發(fā)出由低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求;以及當(dāng)?shù)退僬?qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求在較早階段得到許可時(shí),阻塞該請(qǐng)求的多個(gè)階段中較后階段的發(fā)出。
11.根據(jù)權(quán)利要求10的方法,其中由低速請(qǐng)求方設(shè)備產(chǎn)生的資源請(qǐng)求由兩個(gè)階段組成,而且低速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率是高速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率的一半。
12.根據(jù)權(quán)利要求10的方法,其中低速請(qǐng)求方設(shè)備產(chǎn)生的資源請(qǐng)求由三個(gè)階段組成,而且低速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率是高速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率的三分之一。
13.根據(jù)權(quán)利要求10的方法,還包含步驟發(fā)出允許仲裁以識(shí)別低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求的階段的信號(hào)。
14.根據(jù)權(quán)利要求11的方法,其中正好有2個(gè)高優(yōu)先級(jí)請(qǐng)求方設(shè)備,而且仲裁許可高優(yōu)先級(jí)請(qǐng)求方設(shè)備產(chǎn)生的所有請(qǐng)求。
15.根據(jù)權(quán)利要求12的方法,其中正好有3個(gè)高優(yōu)先級(jí)請(qǐng)求方設(shè)備,而且仲裁許可高優(yōu)先級(jí)請(qǐng)求方設(shè)備產(chǎn)生的所有請(qǐng)求。
16.一種允許兩個(gè)頻域的請(qǐng)求方設(shè)備的用于資源仲裁的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品具有在其上體現(xiàn)有計(jì)算機(jī)程序的介質(zhì),該計(jì)算機(jī)程序包括用于由高速請(qǐng)求方設(shè)備以一個(gè)頻率產(chǎn)生資源請(qǐng)求的計(jì)算機(jī)代碼;用于由低速請(qǐng)求方設(shè)備以較低的第二頻率產(chǎn)生資源請(qǐng)求的計(jì)算機(jī)代碼;以及用于仲裁高速請(qǐng)求方設(shè)備和低速請(qǐng)求方設(shè)備產(chǎn)生的資源請(qǐng)求的計(jì)算機(jī)代碼。
17.根據(jù)權(quán)利要求16的方法,其中仲裁給予來自低速請(qǐng)求方設(shè)備的請(qǐng)求比來自高速請(qǐng)求方設(shè)備的請(qǐng)求更高的優(yōu)先級(jí)。
18.根據(jù)權(quán)利要求16的方法,還包括用于分多個(gè)階段發(fā)出由低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求的計(jì)算機(jī)代碼;以及用于當(dāng)?shù)退僬?qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求在較早階段得到許可時(shí),阻塞該請(qǐng)求的多個(gè)階段中較后階段的發(fā)出的計(jì)算機(jī)代碼。
19.根據(jù)權(quán)利要求18的方法,其中低速請(qǐng)求方設(shè)備產(chǎn)生的資源請(qǐng)求由兩個(gè)階段組成,而且低速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率是高速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率的一半。
20.根據(jù)權(quán)利要求18的方法,低速請(qǐng)求方設(shè)備產(chǎn)生的資源請(qǐng)求由三個(gè)階段組成,而且低速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率是高速請(qǐng)求方設(shè)備產(chǎn)生請(qǐng)求的頻率的三分之一。
21.根據(jù)權(quán)利要求10的方法,還包括用于發(fā)出允許仲裁以識(shí)別低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求的階段的信號(hào)的計(jì)算機(jī)代碼。
22.根據(jù)權(quán)利要求19的方法,其中正好有2個(gè)高優(yōu)先級(jí)請(qǐng)求方設(shè)備,而且仲裁許可高優(yōu)先級(jí)請(qǐng)求方設(shè)備產(chǎn)生的所有請(qǐng)求。
23.根據(jù)權(quán)利要求20的方法,其中正好有3個(gè)高優(yōu)先級(jí)請(qǐng)求方設(shè)備,而且仲裁許可高優(yōu)先級(jí)請(qǐng)求方設(shè)備產(chǎn)生的所有請(qǐng)求。
全文摘要
本發(fā)明提供了允許多頻域的請(qǐng)求方設(shè)備的資源仲裁方法。大多數(shù)請(qǐng)求方設(shè)備以高速產(chǎn)生請(qǐng)求。一小部分低速請(qǐng)求方設(shè)備每?jī)蓚€(gè)全速周期產(chǎn)生請(qǐng)求,并且保持它們的請(qǐng)求兩個(gè)全速周期。本仲裁方法給低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求以優(yōu)先級(jí)并保證半速請(qǐng)求方設(shè)備在低速周期開始產(chǎn)生的請(qǐng)求在整個(gè)低速周期過程都許可。低速請(qǐng)求方設(shè)備產(chǎn)生的請(qǐng)求分階段發(fā)出。當(dāng)請(qǐng)求在前面的階段已經(jīng)許可時(shí),這個(gè)請(qǐng)求在后面的階段是被阻塞的。
文檔編號(hào)G06F13/00GK1694072SQ20051000931
公開日2005年11月9日 申請(qǐng)日期2005年2月18日 優(yōu)先權(quán)日2004年4月29日
發(fā)明者布賴恩·大衛(wèi)·巴利克 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司