專利名稱:管理多周期數(shù)據(jù)傳送請(qǐng)求的分布式仲裁的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及處理器和計(jì)算系統(tǒng),尤其涉及處理器內(nèi)有關(guān)多個(gè)位片(slice)之間具有不同等待時(shí)間(latency)的請(qǐng)求和數(shù)據(jù)路徑的分布式總線仲裁。
背景技術(shù):
現(xiàn)在的高速處理器包括高級(jí)集成和異步設(shè)計(jì),其容許在各種資源和一個(gè)或多個(gè)處理器核心,高速緩存以及存儲(chǔ)器之間以高效率的方式通信,使得以接近處理器中數(shù)字信號(hào)傳播極限的速率進(jìn)行數(shù)據(jù)傳送和其它的通信。
尤其,允許高速處理器的內(nèi)部總線在具有不同等待時(shí)間的路徑上傳送數(shù)據(jù)和命令,并提供了保證送數(shù)據(jù)和命令被正確確認(rèn)和按序傳遞,而不需要受限于最大傳播時(shí)間的長(zhǎng)同步周期的邏輯。在當(dāng)今的處理器中尤其如此,其中數(shù)據(jù)值,程序指令和命令,以及控制信號(hào)可以通過許多邏輯級(jí)(logic stages)進(jìn)行管道(pipeline)傳送,其中以上信號(hào)穿過的邏輯級(jí)的數(shù)量極大地依賴于芯片布局。
處理系統(tǒng)中這樣的一個(gè)邏輯實(shí)現(xiàn)是分布式仲裁方案,其包括處理器核心仲裁器和一個(gè)或多個(gè)位片仲裁器。分布式方案容許早期的從資源到處理器核心的數(shù)據(jù)傳送請(qǐng)求指示。在分布式仲裁實(shí)例中,早期指示的定時(shí)依賴于數(shù)據(jù)所處的物理位置,而集中式仲裁方案通常只在進(jìn)行以下操作所需的附加周期之后提供這樣的指示向中心點(diǎn)傳遞請(qǐng)求,作出仲裁決定以及之后向處理器核心傳遞決定。因此,在向處理器核心提供關(guān)于數(shù)據(jù)可用性的指示時(shí),集中式仲裁導(dǎo)致太大的延遲。
在這樣的分布式仲裁方案中,當(dāng)連接到位片仲裁器的資源準(zhǔn)備好從一個(gè)或多個(gè)位片向處理器核心傳送數(shù)據(jù)時(shí),位片仲裁器確定傳送所需總線的分配,從而向位片指示其何時(shí)可以將自身的數(shù)據(jù)放置在總線上。同時(shí)并且并行地,向核心仲裁器發(fā)送請(qǐng)求,使得處理器核心接收數(shù)據(jù)傳送操作的早期指示。在經(jīng)過請(qǐng)求方位片的各個(gè)數(shù)據(jù)等待時(shí)間之后,核心仲裁器接收請(qǐng)求,在位片仲裁器上并行方式執(zhí)行相同的仲裁判定,向處理器核心提供有關(guān)數(shù)據(jù)將要到達(dá)的早期指示,并隨后確保在位片數(shù)據(jù)可供鎖存(或加載)于處理器核心的適當(dāng)?shù)臅r(shí)機(jī),傳送位片的有效數(shù)據(jù)。
通常,處理單周期數(shù)據(jù)傳送操作序列所需的邏輯不很復(fù)雜,因?yàn)橐阎總€(gè)請(qǐng)求方的等待時(shí)間,并且當(dāng)根據(jù)每個(gè)位片的已知等待時(shí)間批準(zhǔn)另一個(gè)位片的請(qǐng)求之后,可以在特定周期中阻塞位片仲裁器(以及以并行方式的核心仲裁器)上的其它批準(zhǔn)。此外,根本不需要阻塞最長(zhǎng)等待時(shí)間的位片的請(qǐng)求,并且在這樣的周期中阻塞較快位片的請(qǐng)求,其中數(shù)據(jù)會(huì)被發(fā)送到核心,但未被任何一個(gè)位片仲裁器或者核心仲裁器選擇加載,因?yàn)楫?dāng)前已經(jīng)選擇從先前所仲裁的請(qǐng)求到達(dá)的數(shù)據(jù)。
如上所述,核心仲裁器象位片仲裁器一樣進(jìn)行同樣的仲裁判定,但由于從位片到核心仲裁器的不同等待時(shí)間,不必按照與位片仲裁器一樣的順序進(jìn)行批準(zhǔn)。然而位片仲裁器批準(zhǔn)的相同請(qǐng)求均被核心仲裁器批準(zhǔn)。因?yàn)槲黄俨闷骱秃诵闹俨闷鞯呐鷾?zhǔn)順序不一定匹配,數(shù)據(jù)在處理器核心重新同步(例如,通過使用所返回?cái)?shù)據(jù)的地址或標(biāo)記)。核心仲裁器確定經(jīng)由多路復(fù)用器將位片連接到核心的各個(gè)總線的選擇。核心仲裁器確定在給定周期中批準(zhǔn)的適當(dāng)位片,并因此能產(chǎn)生適當(dāng)?shù)亩嗦窂?fù)用器選擇器以將數(shù)據(jù)加載進(jìn)適當(dāng)?shù)暮诵募拇嫫鳌?br>
如上所述,根據(jù)每個(gè)位片的等待時(shí)間的已知周期差,核心仲裁器根據(jù)與位片仲裁器的判定批準(zhǔn)邏輯相一致的邏輯作出判定。通過知道位片仲裁器何時(shí)批準(zhǔn)相關(guān)總線給每個(gè)位片,可以使用從位片提供的全部數(shù)據(jù),并且不必通知位片有關(guān)數(shù)據(jù)傳輸失敗的情況(由于在給定周期里對(duì)多路復(fù)用器的爭(zhēng)用),因?yàn)榉植际街俨梅桨笇?shí)現(xiàn)了位片仲裁器批準(zhǔn)的所有傳送的成功完成。
然而,如果這樣的系統(tǒng)遇到多周期請(qǐng)求,數(shù)據(jù)會(huì)不正確地提供給處理器核心,迫使執(zhí)行重試操作或不正確的數(shù)據(jù)傳送。例如,在最低等待時(shí)間位片的緊隨后面的請(qǐng)求之前,位片仲裁器將批準(zhǔn)涉及最高等待時(shí)間位片的請(qǐng)求。但是,核心仲裁器將首先批準(zhǔn)來自最低等待時(shí)間位片的請(qǐng)求,因?yàn)樽罡叩却龝r(shí)間位片請(qǐng)求更遲才會(huì)到達(dá)。對(duì)于單周期請(qǐng)求,以上所述的阻塞足夠防止這種失序判定之間的多路復(fù)用器爭(zhēng)用,但是當(dāng)已經(jīng)批準(zhǔn)多周期請(qǐng)求時(shí),已有的阻塞方案不足以避免爭(zhēng)用。
因此希望提供一種仲裁系統(tǒng)和方法,其在分布式仲裁系統(tǒng)中提供改進(jìn)的多周期數(shù)據(jù)傳送操作。
發(fā)明內(nèi)容
通過一種方法和裝置實(shí)現(xiàn)了提供分布式仲裁方案中的改進(jìn)多周期數(shù)據(jù)傳送操作的目的。該方法確定數(shù)據(jù)傳送操作是否是多周期請(qǐng)求,并響應(yīng)有關(guān)請(qǐng)求是多周期請(qǐng)求的確定,只將相關(guān)總線批準(zhǔn)給第一位片。該方法還阻塞與第一位片相比具有更低等待時(shí)間的另一請(qǐng)求方位片的任何請(qǐng)求,直到已經(jīng)過在其它請(qǐng)求方位片和最長(zhǎng)等待時(shí)間位片之間的等待時(shí)間差加上預(yù)定周期計(jì)數(shù)。該方法還阻塞第一位片的進(jìn)一步請(qǐng)求,直到已經(jīng)過預(yù)定周期計(jì)數(shù)。該方法還阻塞與第一位片相比具有更高等待時(shí)間的位片的請(qǐng)求,直到已經(jīng)過預(yù)定周期計(jì)數(shù)器數(shù)值,該數(shù)值小于第一位片和較高等待時(shí)間位片的等待時(shí)間差。該裝置包括用于在根據(jù)本發(fā)明實(shí)施例的處理器中執(zhí)行本發(fā)明方法的邏輯。
通過下面結(jié)合附圖對(duì)本發(fā)明優(yōu)選實(shí)施例的詳細(xì)描述可以理解本發(fā)明的上述和其它目的,特征及優(yōu)點(diǎn)。
所附權(quán)利要求中闡明了被認(rèn)為是本發(fā)明特點(diǎn)的新穎特征。然而,在閱讀時(shí)結(jié)合附圖(其中同樣的引用編號(hào)指明同樣的部分)并參照以下圖解實(shí)施例的具體說明,將會(huì)對(duì)本發(fā)明本身,以及優(yōu)選使用模式,進(jìn)一步的目的,及其優(yōu)點(diǎn),獲得最好的理解,并且圖1是根據(jù)本發(fā)明的實(shí)施例的處理器的模塊圖。
圖2是示出圖1的處理器10內(nèi)的進(jìn)一步細(xì)節(jié)的模塊圖。
圖3根據(jù)本發(fā)明的實(shí)施例示出了處理器內(nèi)的數(shù)據(jù)傳送操作的時(shí)序圖。
圖4和圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的方法的流程圖。
具體實(shí)施例方式
現(xiàn)在參照?qǐng)D,尤其參照?qǐng)D1,其描述了處理器10的模塊圖,處理器10體現(xiàn)化了根據(jù)本發(fā)明的方法和裝置。處理器10通常是被使用在對(duì)稱多處理系統(tǒng)(SMP)中處理器,在SMP中,其它處理器執(zhí)行的指令可涉及高速緩存中或者加載到處理器10內(nèi)的資源的值。然而,本發(fā)明的技術(shù)適用于具有數(shù)據(jù)傳送機(jī)制的任何處理器,在數(shù)據(jù)傳送機(jī)制中,從傳送提供方(其可以是最終響應(yīng)傳送接受方所發(fā)起的命令的完成請(qǐng)求)提供傳送請(qǐng)求。單處理器系統(tǒng)可以包括這樣的數(shù)據(jù)傳送機(jī)制,例如,當(dāng)從存儲(chǔ)器或其它資源向處理器核心重新加載數(shù)值時(shí)。術(shù)語數(shù)據(jù)傳送在本發(fā)明的上下文中指這樣的操作,其中在數(shù)據(jù)提供方發(fā)起傳送數(shù)據(jù)的立即請(qǐng)求,并在特定的示例中,該術(shù)語是指從請(qǐng)求數(shù)據(jù)傳送的資源到處理器核心的操作。“數(shù)據(jù)傳送”規(guī)定的傳送類型也不僅僅局限于“數(shù)據(jù)值”的傳送(例如,程序使用的變量或常數(shù)),而且包括程序指令,內(nèi)部命令,地址值,標(biāo)記等等。
處理器10包括核心執(zhí)行單元14,其控制處理器10中程序指令的執(zhí)行和數(shù)據(jù)的移動(dòng)。核心執(zhí)行單元14被連接到各種資源,例如指令定序器單元12,預(yù)取單元13,高速緩存接口單元16,板上(on-board)L1高速緩存17和L2高速緩存18,以及浮點(diǎn)單元15。一些數(shù)據(jù)傳送指令用于單數(shù)據(jù)值,其能在單周期內(nèi)從特定請(qǐng)求方位片獲得,但核心執(zhí)行單元14也支持多周期數(shù)據(jù)傳送指令,但需要協(xié)調(diào)多個(gè)總線周期以獲得多個(gè)數(shù)據(jù)值,例如,這些數(shù)據(jù)值可以是L2高速緩存18的一個(gè)或多個(gè)高速緩存線。
在其它到核心執(zhí)行單元14的資源連接以及除了核心執(zhí)行單元14之外的設(shè)備之間的連接中,也可以實(shí)現(xiàn)數(shù)據(jù)傳送指令。在這里公開的總線仲裁技術(shù)可應(yīng)用于處理系統(tǒng)的任何部分,只要其需要數(shù)據(jù)傳送操作,并且具有連接到共享總線的多個(gè)位片(數(shù)據(jù)提供方),用于向處理系統(tǒng)中的另一個(gè)單元(傳送接收單元)傳遞數(shù)據(jù),程序指令或命令。
現(xiàn)在參考圖2,其描述了處理器10中的具體電路。使用L2高速緩存18和核心執(zhí)行單元14之間的連接圖解本發(fā)明的技術(shù),但可以理解,本發(fā)明可擴(kuò)展到如上所述處理器10中其它單元間的連接,并且也可以應(yīng)用于通常的仲裁方案,例如在高速互聯(lián)總線上的多個(gè)處理器之間,其中接收單元需要早期數(shù)據(jù)傳遞指示,并因此在接口中實(shí)現(xiàn)分布式仲裁。
位片M1,M2和M3是L2高速緩存18中的存儲(chǔ)單元,其到核心執(zhí)行單元14具有不同的等待時(shí)間,不同的等待時(shí)間可以是由于L2高速緩存18的結(jié)構(gòu),或者由于處理器10中位片M1,M2和M3的物理位置引起的。三個(gè)位片的圖示是示例性的,并且本發(fā)明的技術(shù)延及任意數(shù)量的位片,或者通常延及任何類型的數(shù)據(jù)提供方。通過將核心執(zhí)行單元14連接到L2高速緩存18的相關(guān)總線28A-28C,位片M1,M2和M3被連接到核心執(zhí)行單元14。針對(duì)核心執(zhí)行單元14的傳遞或數(shù)據(jù)也是示例性的,并且本發(fā)明的技術(shù)適用于任何數(shù)據(jù)接受方。請(qǐng)求路徑26可以是單獨(dú)的控制路徑,也可以實(shí)際是總線28A-28C,其中可以通過總線28A-28C向核心仲裁器22發(fā)送數(shù)據(jù)傳送請(qǐng)求指示。位片仲裁器24被連接到位片M1,M2和M3,并接收來自位片M1,M2和M3的每個(gè)的請(qǐng)求指示。位片仲裁器24的任務(wù)是避免從位片M1,M2和M3到核心執(zhí)行單元14中的多路復(fù)用器20的數(shù)據(jù)傳遞爭(zhēng)用和失序。由于多路復(fù)用器20每個(gè)周期只能從總線28A-28C中的一個(gè)總線選擇數(shù)據(jù),位片仲裁器的任務(wù)是避免從位片M1,M2和M3發(fā)送會(huì)在同一周期到達(dá)多路復(fù)用器20的數(shù)據(jù),以避免丟失從多個(gè)位片同時(shí)到達(dá)的數(shù)據(jù)。核心仲裁器22的任務(wù)是確定在任何給定的周期中什么數(shù)據(jù)(如果有)源于多路復(fù)用器20。多路復(fù)用器20作為處理器核心中的集中式多路復(fù)用器示出,但根據(jù)本發(fā)明其它實(shí)施例的系統(tǒng)的多路復(fù)用器可以引入分布式多路復(fù)用器,其中數(shù)據(jù)傳送操作的數(shù)據(jù)目的地依賴于多路復(fù)用器地址,并且可以調(diào)整數(shù)據(jù)有效信號(hào)的定時(shí)以便和不同多路復(fù)用器等待時(shí)間相一致。
核心仲裁器22的任務(wù)是確定與位片仲裁器24批準(zhǔn)的請(qǐng)求相關(guān)的數(shù)據(jù)的順序和周期定時(shí),使得到達(dá)核心執(zhí)行單元14的數(shù)據(jù)的順序和周期定時(shí)(其受位片仲裁器24作出的判定的控制)被正確地確定,以便向核心執(zhí)行單元14正確地加載數(shù)據(jù)。對(duì)于在這里給出的示例,來自位片M1,M2和M3的請(qǐng)求等待時(shí)間L1,L2和L3不相同,并且從最高等待時(shí)間L3到最低等待時(shí)間L1進(jìn)行排序。核心仲裁器22還傳遞具有L4等待時(shí)間的數(shù)據(jù)有效信號(hào),其操作多路復(fù)用器/鎖存器20以便向核心執(zhí)行單元14中的寄存器傳遞適當(dāng)?shù)臄?shù)據(jù)。數(shù)據(jù)有效信號(hào)的聲明(assertion)的附加等待時(shí)間允許殺死/阻塞請(qǐng)求,該請(qǐng)求因?yàn)闆]有被位片仲裁器24批準(zhǔn)而隨后已經(jīng)無效。同樣地,從位片M1,M2和M3的請(qǐng)求開始數(shù)據(jù)被延遲L4,使得數(shù)據(jù)有效聲明與所提供的數(shù)據(jù)對(duì)齊。如果數(shù)據(jù)和數(shù)據(jù)有效信號(hào)沒有被延遲(例如,同時(shí)從位片M1,M2和M3發(fā)送的請(qǐng)求和數(shù)據(jù)),位片仲裁器24會(huì)沒有時(shí)間阻塞到總線28A-28C的數(shù)據(jù)加載,其之后會(huì)在多路復(fù)用器20被拒絕,從而消耗不必要的處理能力,并使位片忙于不必要的任務(wù)。沒有與延遲相關(guān)的帶寬懲罰,因?yàn)閿?shù)據(jù)有效/數(shù)據(jù)延遲只代表請(qǐng)求和數(shù)據(jù)之間的固定周期偏移。
在本發(fā)明的上下文中,對(duì)于多周期操作,重要的是核心仲裁器22能夠在重新加載總線已經(jīng)被位片仲裁器24批準(zhǔn)給較高等待時(shí)間位片用于多周期操作時(shí),殺死從處于傳送中的位片M1和M2向核心仲裁器22傳遞的請(qǐng)求。以上所描述的操作在核心仲裁器22上執(zhí)行位片仲裁器24確定的批準(zhǔn),使得位片仲裁器24沒有批準(zhǔn),但被核心仲裁器22接收的請(qǐng)求不會(huì)被核心仲裁器22錯(cuò)誤地批準(zhǔn)。數(shù)據(jù)有效L4>=L3-L1等待時(shí)間關(guān)系提供實(shí)現(xiàn)殺死這種請(qǐng)求的能力所需的時(shí)間。對(duì)于單周期操作,表1描述了位片仲裁器24的操作。
表1表1的左三列示出了來自位片M1,M2和M3的每個(gè)、提供給核心仲裁器22的請(qǐng)求,其中以邏輯“1”代表請(qǐng)求狀態(tài),以邏輯“0 ”代表非請(qǐng)求狀態(tài)。在周期1中針對(duì)位片請(qǐng)求的所有組合批準(zhǔn)全部請(qǐng)求的位片,假定沒有任何周期已經(jīng)處于到周期1的核心的進(jìn)程中,即周期1是位片仲裁器24已經(jīng)批準(zhǔn)任何請(qǐng)求之前的初始狀態(tài)。在請(qǐng)求已被批準(zhǔn)后,必須在由與傳輸?shù)胶诵膱?zhí)行單元14的數(shù)據(jù)相關(guān)的較長(zhǎng)等待時(shí)間所決定的周期中,阻塞來自位片M1和M2的進(jìn)一步的請(qǐng)求。
例如,如果全部三個(gè)位片M1,M2和M3被容許在周期1開始傳送數(shù)據(jù),位片仲裁器24不必阻塞來自位片M3的進(jìn)一步請(qǐng)求,因?yàn)樵谖黄琈3的下一個(gè)請(qǐng)求廣播到核心仲裁器22(在周期L3+1)之前,第一傳送周期將已經(jīng)完成(在周期L3)。然而,在請(qǐng)求會(huì)引起其數(shù)據(jù)到達(dá)與位片M3的請(qǐng)求的數(shù)據(jù)到達(dá)之間的沖突的周期中,必須阻塞來自位片M1和M2的進(jìn)一步請(qǐng)求。因?yàn)樵谡?qǐng)求后數(shù)據(jù)被延遲了L4周期,另一個(gè)位片的數(shù)據(jù)會(huì)與位片M3的數(shù)據(jù)在同一周期到達(dá),并且多路復(fù)用器20將不能加載兩個(gè)位片的數(shù)據(jù)。在請(qǐng)求會(huì)與位片M2的請(qǐng)求同時(shí)到達(dá)的周期中,即在數(shù)據(jù)會(huì)在周期L2到達(dá)的周期中(其對(duì)于位片M1是周期1+L2-L1),位片M1的請(qǐng)求必須也被阻塞。通常,該表反映了特定周期的請(qǐng)求的阻塞,其中位片仲裁器24批準(zhǔn)的先前的請(qǐng)求將到達(dá)核心仲裁器22,從而阻止?jié)M足多個(gè)位片的請(qǐng)求的數(shù)據(jù)同時(shí)到達(dá)。
以上描述假定請(qǐng)求等待時(shí)間等于位片的數(shù)據(jù)等待時(shí)間。如果數(shù)據(jù)等待時(shí)間與請(qǐng)求等待時(shí)間相差固定數(shù)量的周期(除了已經(jīng)提及的數(shù)據(jù)/數(shù)據(jù)有效等待時(shí)間之外),批準(zhǔn)周期必須被延遲一個(gè)等于超出的數(shù)據(jù)等待時(shí)間的量(例如,如果數(shù)據(jù)等待時(shí)間比請(qǐng)求等待時(shí)間長(zhǎng)4個(gè)周期,該表將被示出在周期4批準(zhǔn),而不是周期1)。如果數(shù)據(jù)等待時(shí)間差發(fā)生變化,系統(tǒng)會(huì)或者等待最大數(shù)據(jù)等待時(shí)間,或者執(zhí)行復(fù)雜邏輯以延遲涉及將至周期的最大數(shù)據(jù)等待時(shí)間。
以上仲裁方案可以無差錯(cuò)地實(shí)施,即使核心仲裁器22和位片仲裁器24在不同時(shí)間批準(zhǔn)請(qǐng)求,因?yàn)檎?qǐng)求類型被傳送到核心執(zhí)行單元14,具有與數(shù)據(jù)一樣的等待時(shí)間,即,偏移L4周期。位片仲裁器24以一個(gè)順序批準(zhǔn)請(qǐng)求,核心仲裁器22以不同順序批準(zhǔn)請(qǐng)求(如果請(qǐng)求在位片的不同等待時(shí)間之內(nèi)),但數(shù)據(jù)能始終被分類到適當(dāng)?shù)哪康牡?,因?yàn)檎?qǐng)求和數(shù)據(jù)的等待時(shí)間對(duì)于每個(gè)位片是相同的,因此數(shù)據(jù)相對(duì)每個(gè)請(qǐng)求偏移L4周期。根據(jù)表1,如果請(qǐng)求同時(shí)到達(dá)核心仲裁器22,首先批準(zhǔn)最長(zhǎng)等待時(shí)間位片的請(qǐng)求,其與位片仲裁器24的批準(zhǔn)相一致。于是根據(jù)以上所描述的過程,通過批準(zhǔn)請(qǐng)求,核心仲裁器22能始終使總線28A-28C上提供的數(shù)據(jù)與提供方位片相關(guān)聯(lián)。
然而,當(dāng)實(shí)施多周期請(qǐng)求時(shí)(即,對(duì)于那些周期類型,需要多周期以便滿足數(shù)據(jù)傳送操作),在表1中概述的仲裁方案失敗,因?yàn)闀?huì)批準(zhǔn)各個(gè)位片的請(qǐng)求,同時(shí)仍然滿足另一個(gè)位片的多周期請(qǐng)求,單周期請(qǐng)求的阻塞不會(huì)阻止多周期操作與其它多周期或單周期操作之間的多路復(fù)用器爭(zhēng)用。為了阻止多周期操作和其它操作的數(shù)據(jù)之間的爭(zhēng)用,分布式仲裁系統(tǒng)可以被更新成將進(jìn)一步操作的請(qǐng)求阻塞一段足夠保證將發(fā)生的多周期數(shù)據(jù)傳送操作能夠完成的時(shí)間。為了完成有效的操作,位片仲裁器24和核心仲裁器22使用多周期操作的指示,其通常是可根據(jù)請(qǐng)求指示解碼的操作類型,但可選地,可以通過單獨(dú)的控制路徑傳遞。
表2示出了當(dāng)全部請(qǐng)求是多周期類型時(shí),位片仲裁器24的動(dòng)作。
表2首先批準(zhǔn)具有最長(zhǎng)等待時(shí)間的請(qǐng)求方位片。在隨后的所有周期中阻塞其它位片的請(qǐng)求,直到經(jīng)過預(yù)先確定的周期計(jì)數(shù)器值“K”,其中K至少是完成多周期數(shù)據(jù)傳送操作所需的最小周期數(shù)量。可以發(fā)現(xiàn),在批準(zhǔn)最長(zhǎng)等待時(shí)間位片請(qǐng)求之后,位片被阻塞,直到當(dāng)經(jīng)過K個(gè)周期時(shí)的周期1+K。另外,較低等待時(shí)間位片的多周期請(qǐng)求被阻塞,直到周期1+K,并且也經(jīng)過了等于其等待時(shí)間差的若干周期,以保證多周期傳送完成,并且在多周期傳送請(qǐng)求傳播到核心執(zhí)行單元14之前,核心仲裁器22不會(huì)接收來自較低等待時(shí)間位片的多周期請(qǐng)求。
另外,來自較高等待時(shí)間位片的多周期請(qǐng)求被阻塞若干周期,這些周期少于K周期完成間隔并且相差所批準(zhǔn)位片和每個(gè)較高等待時(shí)間位片之間的等待時(shí)間差。例如,當(dāng)位片M1是被批準(zhǔn)執(zhí)行多周期傳送的位片時(shí),位片M2的請(qǐng)求被阻塞,直到周期1+K-(L2-L1),并且位片M3的請(qǐng)求被阻塞,直到周期1+K-(L3-L1),從而延遲來自較高等待時(shí)間位片的請(qǐng)求,直到避免與傳播到核心執(zhí)行單元14的多周期請(qǐng)求的可能數(shù)據(jù)沖突。
當(dāng)位片仲裁器24接收的請(qǐng)求是單周期和多周期請(qǐng)求的混合時(shí),以下規(guī)則提供了處理方案的選擇(表1方案或者表2方案),以響應(yīng)請(qǐng)求而阻塞和批準(zhǔn)總線28A-28C。
1)如果任何較低等待時(shí)間請(qǐng)求是針對(duì)多周期操作的,根據(jù)表2的規(guī)則,此請(qǐng)求不被批準(zhǔn),不管最高等待時(shí)間請(qǐng)求是單周期還是多周期的。
2)如果最高等待時(shí)間請(qǐng)求是針對(duì)單周期操作的,根據(jù)表1的規(guī)則,批準(zhǔn)其它較低等待時(shí)間單周期請(qǐng)求。
3)如果最高等待時(shí)間請(qǐng)求是針對(duì)多周期操作的,在其它請(qǐng)求發(fā)生在周期1的情況下,或者在表1針對(duì)請(qǐng)求方位片所示的阻塞周期之前,根據(jù)表1的規(guī)則批準(zhǔn)其它較低等待時(shí)間單周期請(qǐng)求。在針對(duì)位片的特定阻塞周期之后,根據(jù)表2的規(guī)則,阻塞此位片發(fā)出的任何請(qǐng)求。
例如,如果位片M1,M2和M3全在周期1請(qǐng)求,并且來自位片M1和M3的請(qǐng)求是多周期請(qǐng)求,但來自位片M2的請(qǐng)求是單周期請(qǐng)求,根據(jù)以上規(guī)則1和規(guī)則2,位片M3和M2被批準(zhǔn)其總線,但根據(jù)規(guī)則1,M1沒有被批準(zhǔn)其總線。在周期2,如果位片M1發(fā)出單周期請(qǐng)求,則位片M1被批準(zhǔn)其總線,因?yàn)楦鶕?jù)規(guī)則3和表1,周期2中的請(qǐng)求小于1+(L3-L1)=3,因此請(qǐng)求不被阻塞。
除了對(duì)位片仲裁器24的改變外,也修改核心仲裁器22以糾正當(dāng)來自較高等待時(shí)間位片的單周期或多周期傳送到達(dá)時(shí)(其在位片仲裁器24根據(jù)表1或者表2,以及以上混合單周期或多周期請(qǐng)求的規(guī)則得到批準(zhǔn)),不正確地批準(zhǔn)較低等待時(shí)間位片的多周期操作的情況。表3示出了核心仲裁器22必須“殺死”的多周期請(qǐng)求。“殺死”的實(shí)施不影響位片仲裁器24或位片M1,M2和M3,但阻止核心仲裁器22批準(zhǔn)已被位片仲裁器24拒絕的請(qǐng)求,并且阻止先前所拒絕的請(qǐng)求的數(shù)據(jù)有效信號(hào)的聲明(否則會(huì)在核心執(zhí)行單元14多路復(fù)用和/或鎖存無效或不正確的數(shù)據(jù))。
表3在表3中可以看到,核心仲裁器22“殺死”了先前在周期1之前的周期中批準(zhǔn)的請(qǐng)求,其中殺死操作有效地導(dǎo)致到達(dá)的被拒絕請(qǐng)求被忽略。表3根據(jù)在周期1中針對(duì)執(zhí)行多周期重新加載操作的位片的批準(zhǔn),示出了請(qǐng)求的殺死。對(duì)于位片仲裁器24在周期1之前批準(zhǔn)的較低等待時(shí)間位片的多周期請(qǐng)求,如果其在多周期重新加載位片和請(qǐng)求方位片之間的等待時(shí)間差內(nèi)被批準(zhǔn),則該請(qǐng)求被殺死。因此,產(chǎn)生數(shù)據(jù)有效所需要的時(shí)間必須比位片之間的最長(zhǎng)等待時(shí)間差要長(zhǎng)。例如,在圖解實(shí)施例中,L4>=L3-L1。
與位片仲裁器24中的周期計(jì)數(shù)器類似,核心仲裁器22也使用計(jì)數(shù)器來阻塞隨后的單周期和多周期操作。在批準(zhǔn)多周期操作之后,計(jì)數(shù)器將后續(xù)操作的批準(zhǔn)阻塞從批準(zhǔn)周期開始的K+1個(gè)周期。
如表4所示,由于先前的多周期傳送而會(huì)被核心仲裁器22阻塞的某些多周期請(qǐng)求也必須允許仲裁。
表4如果核心仲裁器22針對(duì)多周期請(qǐng)求在周期1批準(zhǔn)較低等待時(shí)間位片,則到達(dá)核心仲裁器22、優(yōu)先于較低等待時(shí)間請(qǐng)求而被位片仲裁器24批準(zhǔn)的較高等待時(shí)間位片請(qǐng)求,必須被容許在核心仲裁器22上進(jìn)行仲裁。表4描述了容許在(較低等待時(shí)間)多周期請(qǐng)求數(shù)據(jù)提供方和先前在位片仲裁器24上批準(zhǔn)總線的(較高等待時(shí)間)位片之間的等待時(shí)間差內(nèi)到達(dá)的請(qǐng)求的情況。
現(xiàn)在參考圖3,其描述了以上所述系統(tǒng)的總線操作。以管道單元的形式(其對(duì)于每個(gè)位片,實(shí)際上可以是單總線)描述了核心執(zhí)行單元14的請(qǐng)求/數(shù)據(jù)傳送,所述管道單元傳遞請(qǐng)求指示29和多路復(fù)用器輸入數(shù)據(jù)29A。請(qǐng)求線RM1,RM2和RM3是針對(duì)位片仲裁器24的數(shù)據(jù)傳送請(qǐng)求的指示。請(qǐng)求管道29和數(shù)據(jù)管道29A的單元對(duì)應(yīng)于周期,最左單元為周期1。在周期1,聲明并批準(zhǔn)全部三個(gè)請(qǐng)求,因?yàn)橹甘径嘀芷诓僮鞯腗ULTI沒有聲明。在周期2,由于單周期等待時(shí)間而從M1傳遞請(qǐng)求。在周期5,從M2傳遞請(qǐng)求,并在周期7,從M3傳遞請(qǐng)求。在周期3再次聲明RM2,但因?yàn)榛谖黄琈3在周期1的批準(zhǔn)(見表1)的、用于阻塞位片M2的批準(zhǔn)的公式是1+(L3-L2)=周期1+6-4=周期3,RM2被阻塞在位片仲裁器24上。以上批準(zhǔn)拒絕保證位片M2的數(shù)據(jù)不會(huì)在核心執(zhí)行單元14上與周期7+L4(在此示例中,L4=6)中位片M3的數(shù)據(jù)爭(zhēng)用多路復(fù)用器20(c1指示潛在的爭(zhēng)用關(guān)系)。注意,兩個(gè)請(qǐng)求均在周期7到達(dá)核心仲裁器22,并且核心仲裁器22優(yōu)選于位片M2地選擇位片M3,因?yàn)槲黄琈3是具有最長(zhǎng)等待時(shí)間的位片。
然后在周期4批準(zhǔn)M2請(qǐng)求,其在周期8到達(dá)核心仲裁器22,并在周期14傳遞數(shù)據(jù)。在周期7產(chǎn)生來自M2的多周期請(qǐng)求,其被批準(zhǔn),并請(qǐng)求在周期11開始到達(dá)核心執(zhí)行單元14。在周期12再次為單周期操作而聲明RM1,RM2和RM3,但RM1被阻塞到7+K+L2-L1=周期20,RM2被阻塞到7+K=周期17,RM3被阻塞到7+K-(6-4)=周期15。只有來自位片仲裁器24批準(zhǔn)的位片的重新加載數(shù)據(jù)實(shí)際被加載到重新加載總線28上,并且所加載的數(shù)據(jù)在由L4延遲(在示例中為6個(gè)周期)和位片的等待時(shí)間確定的周期到達(dá)核心。
通過總線管道M1,M2和29A描述了上述批準(zhǔn)的請(qǐng)求的數(shù)據(jù),所述管道29A代表來自總線28A-28C、在多路復(fù)用器20的輸入上的有效數(shù)據(jù)。數(shù)據(jù)有效信號(hào)將數(shù)據(jù)鎖存進(jìn)核心執(zhí)行單元14內(nèi)的寄存器中(或者多路復(fù)用器20的內(nèi)部鎖存器)。數(shù)據(jù)/數(shù)據(jù)有效信號(hào)和到達(dá)核心仲裁器24的請(qǐng)求之間的延遲是L4,這里描述為6個(gè)周期。在請(qǐng)求到達(dá)之后的L4周期的時(shí)刻,經(jīng)由多路復(fù)用器20,數(shù)據(jù)被加載進(jìn)核心執(zhí)行單元14。因此,通過如上所述根據(jù)表2在位片仲裁器24中阻塞請(qǐng)求,位片仲裁器24能在以上圖解的多周期操作的結(jié)束(周期7+K)之后立即作出的批準(zhǔn)被拒絕,直到已經(jīng)過執(zhí)行剛完成的多周期操作的位片和較高等待時(shí)間位片之間的等待時(shí)間差,從而阻止核心仲裁器22拒絕此種請(qǐng)求,使得核心仲裁器22不會(huì)錯(cuò)誤地拒絕在多周期操作之后得到批準(zhǔn)的請(qǐng)求。
現(xiàn)在參考圖4和圖5,其描述了根據(jù)本發(fā)明實(shí)施例的方法。位片仲裁器24接收數(shù)據(jù)傳送請(qǐng)求(步驟30),并且如果請(qǐng)求還沒有被先前的處理阻塞(判定31),則批準(zhǔn)最高等待時(shí)間請(qǐng)求(步驟32),并且阻塞全部較低等待時(shí)間的多周期請(qǐng)求。如果最高等待時(shí)間請(qǐng)求不是多周期操作(判定33),則默認(rèn)單周期處理批準(zhǔn)全部請(qǐng)求方位片,并且在傳遞對(duì)應(yīng)于先前所批準(zhǔn)的位片數(shù)據(jù)傳遞的周期中,阻塞進(jìn)一步的請(qǐng)求(步驟34)。否則,如果最高等待時(shí)間請(qǐng)求是多周期請(qǐng)求,在請(qǐng)求的發(fā)生先于默認(rèn)單周期處理的阻塞周期的情況下,批準(zhǔn)較低等待時(shí)間單周期請(qǐng)求(步驟35)。然后阻塞較低等待時(shí)間位片的請(qǐng)求,直到已經(jīng)過最高等待時(shí)間和位片等待時(shí)間之間的相應(yīng)差值加上預(yù)先確定的計(jì)數(shù)器值(步驟38)。并且,來自最高等待時(shí)間(所批準(zhǔn)的)位片的進(jìn)一步請(qǐng)求被阻塞,直到已經(jīng)過預(yù)先確定的計(jì)數(shù)器值(步驟40)。最后,來自較高等待時(shí)間位片的請(qǐng)求被阻塞,直到已經(jīng)過預(yù)先確定的計(jì)數(shù)器值減去較高等待時(shí)間和位片等待時(shí)間之間的相應(yīng)差值(步驟42)。
在核心仲裁器22,較低等待時(shí)間多周期請(qǐng)求被殺死,如果其在先前針對(duì)較高等待時(shí)間多周期操作的批準(zhǔn)的計(jì)數(shù)值K內(nèi)到達(dá)(步驟43)??蛇x地,較低等待時(shí)間多周期請(qǐng)求被殺死,如果其與較高等待時(shí)間請(qǐng)求同時(shí)到達(dá),或者在先到達(dá),并且在等于多周期請(qǐng)求方等待時(shí)間和較低等待時(shí)間請(qǐng)求方等待時(shí)間之間的差的若干周期內(nèi)到達(dá)(步驟44)。較高等待時(shí)間多周期請(qǐng)求被容許,如果其與較低等待時(shí)間多周期請(qǐng)求同時(shí)到達(dá),或者在后到達(dá),并且在等于多周期請(qǐng)求方等待時(shí)間和較低等待時(shí)間多周期請(qǐng)求方等待時(shí)間之間的差的若干周期內(nèi)到達(dá)(步驟46)。
通常,當(dāng)位片仲裁器接收請(qǐng)求時(shí),同時(shí)執(zhí)行以上描述的位片仲裁器步驟,并且當(dāng)請(qǐng)求到達(dá)核心仲裁器時(shí),同時(shí)執(zhí)行以上描述的核心仲裁器步驟,其中由于具體邏輯設(shè)計(jì)并且根據(jù)阻塞,殺死和容許操作的具體時(shí)序,可能會(huì)有微小的變化。
雖然已經(jīng)結(jié)合其中的優(yōu)選實(shí)施例具體示出并描述了本發(fā)明,可以理解,對(duì)于那些本領(lǐng)域的技術(shù)人員,可以在不違背本發(fā)明的精神和范圍之內(nèi),在形式上和其中的細(xì)節(jié)上實(shí)現(xiàn)上述的和其它的改變。
權(quán)利要求
1.一種在傳送提供方的多個(gè)位片和傳送接收方之間進(jìn)行仲裁的方法,其中位片經(jīng)由多個(gè)相關(guān)總線連接到傳送接收方,多個(gè)位片中的每個(gè)均具有到傳送接收方的不同等待時(shí)間,并且所述方法包括步驟接收涉及所述多個(gè)位片中的一個(gè)或多個(gè)的傳送請(qǐng)求;確定所述傳送請(qǐng)求是否需要多個(gè)數(shù)據(jù)周期;當(dāng)確定所述傳送請(qǐng)求需要多個(gè)數(shù)據(jù)周期時(shí),只批準(zhǔn)所述總線中的一個(gè)相關(guān)總線給所述多個(gè)位片中的第一位片;以及當(dāng)確定所述傳送請(qǐng)求不需要多個(gè)數(shù)據(jù)周期時(shí),批準(zhǔn)相關(guān)總線給所述傳送請(qǐng)求所涉及的所有所述多個(gè)位片。
2.如權(quán)利要求1所述的方法,還包括選擇所述傳送請(qǐng)求所涉及的所述多個(gè)位片中具有最高等待時(shí)間的位片,以作為所述多個(gè)位片中的所述第一個(gè)位片。
3.如權(quán)利要求1所述的方法,還包括當(dāng)確定所述傳送請(qǐng)求需要多個(gè)數(shù)據(jù)周期時(shí),在所述傳送提供方阻塞第二個(gè)位片的請(qǐng)求,直到經(jīng)過了預(yù)定周期計(jì)數(shù)器值周期,加上所述多個(gè)位片中的所述第一個(gè)位片的所述等待時(shí)間和所述第二個(gè)位片的所述等待時(shí)間之間的差值,其中所述第二個(gè)位片與所述多個(gè)位片中的所述第一個(gè)位片相比,具有較低等待時(shí)間。
4.如權(quán)利要求1所述的方法,還包括當(dāng)確定所述傳送請(qǐng)求需要多個(gè)數(shù)據(jù)周期時(shí),在所述傳送提供方阻塞所述第一個(gè)位片的進(jìn)一步請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值。
5.如權(quán)利要求4所述的方法,還包括當(dāng)確定所述傳送請(qǐng)求需要多個(gè)數(shù)據(jù)周期時(shí),在所述傳送提供方阻塞第二個(gè)位片的請(qǐng)求,直到經(jīng)過所述預(yù)定周期計(jì)數(shù)器值,減去所述第二個(gè)位片的所述等待時(shí)間和所述多個(gè)位片中的所述第一個(gè)位片的所述等待時(shí)間之間的差值,其中與所述多個(gè)位片中的所述第一個(gè)位片相比,所述第二個(gè)位片具有較高等待時(shí)間。
6.如權(quán)利要求5所述的方法,還包括選擇所述傳送請(qǐng)求所涉及的所述多個(gè)位片中的最高等待時(shí)間位片,以作為所述多個(gè)位片中的所述第一個(gè)位片;以及當(dāng)確定所述傳送請(qǐng)求需要多個(gè)數(shù)據(jù)周期時(shí),在所述傳送提供方阻塞第三個(gè)位片的請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值,加上所述多個(gè)位片中的所述第一個(gè)位片的所述等待時(shí)間和所述第三個(gè)位片的所述等待時(shí)間之間的差值,其中與所述多個(gè)位片中的所述第一個(gè)位片相比,所述第三個(gè)位片具有較低等待時(shí)間。
7.如權(quán)利要求6所述的方法,還包括在所述傳送接收方殺死第二個(gè)位片的請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)值,其中所述第二個(gè)位片與所述多個(gè)位片中的所述第一個(gè)位片相比,具有較低等待時(shí)間。
8.如權(quán)利要求6所述的方法,還包括在所述傳送接收方殺死第二個(gè)位片的請(qǐng)求,其中與所述多個(gè)位片中的所述第一個(gè)位片相比,所述第二個(gè)位片具有較低等待時(shí)間,并且所述請(qǐng)求是在所述批準(zhǔn)之后,所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間和所述第二個(gè)位片的所述等待時(shí)間之間的差值內(nèi)作出的;以及當(dāng)經(jīng)過第三個(gè)位片的等待時(shí)間和所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間之間的差值時(shí),在所述傳送接收方上允許仲裁所述第三個(gè)位片的請(qǐng)求,其中與所述多個(gè)位片的所述第一個(gè)位片相比,所述第三個(gè)位片具有較高等待時(shí)間。
9.如權(quán)利要求1所述的方法,還包括當(dāng)確定所述傳送請(qǐng)求需要多個(gè)數(shù)據(jù)周期時(shí),在所述傳送提供方阻塞第二個(gè)位片的請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值,減去所述第二個(gè)位片的所述等待時(shí)間和所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間之間的差值,其中與所述多個(gè)位片的所述第一個(gè)位片相比,所述第二個(gè)位片具有較高等待時(shí)間。
10.如權(quán)利要求1所述的方法,還包括在所述傳送接收方殺死第二個(gè)位片的多周期請(qǐng)求,其中與所述多個(gè)位片的所述第一個(gè)位片相比,所述第二個(gè)位片具有較低等待時(shí)間,并且所述請(qǐng)求是在所述批準(zhǔn)之后,所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間和所述第二個(gè)位片的所述等待時(shí)間之間的差值內(nèi)作出的。
11.如權(quán)利要求1所述的方法,還包括在所述傳送接收方殺死第二個(gè)位片的請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)值,其中與所述多個(gè)位片的所述第一個(gè)位片相比,所述第二個(gè)位片具有較低等待時(shí)間。
12.如權(quán)利要求1所述的方法,還包括當(dāng)經(jīng)過第二個(gè)位片的等待時(shí)間和所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間之間的差值時(shí),在所述傳送接收方允許仲裁所述第二個(gè)位片的多周期請(qǐng)求,其中與所述多個(gè)位片的所述第一個(gè)位片相比,所述第二個(gè)位片具有較高等待時(shí)間。
13.一種處理器,包括在所述處理器內(nèi)的傳送接收單元,其接收與傳送請(qǐng)求相關(guān)的數(shù)據(jù);連接到所述傳送接收單元的資源,其具有多個(gè)位片,每個(gè)位片通過多個(gè)總線中的相關(guān)總線連接到所述傳送接收單元,所述位片具有到所述傳送接收單元的不同請(qǐng)求等待時(shí)間;以及連接到所述多個(gè)位片的位片仲裁器,用于仲裁對(duì)所述總線的請(qǐng)求,其中所述位片仲裁器包括用于產(chǎn)生有關(guān)單個(gè)請(qǐng)求是否多周期傳送請(qǐng)求的指示的電路,借以根據(jù)所述指示的狀態(tài)改變所述位片仲裁器的操作。
14.如權(quán)利要求13所述的處理器,其中當(dāng)所述指示指明多周期傳送請(qǐng)求時(shí),所述位片仲裁器只批準(zhǔn)所述總線中的相關(guān)總線給所述多個(gè)位片的所述第一個(gè)位片,并且在所述請(qǐng)求是單周期傳送請(qǐng)求的情況下,批準(zhǔn)相關(guān)總線給全部所涉及的位片。
15.如權(quán)利要求14所述的處理器,其中所述位片仲裁器選擇請(qǐng)求所涉及的所述多個(gè)位片的最高等待時(shí)間位片,以作為所述多個(gè)位片的所述第一個(gè)位片。
16.如權(quán)利要求14所述的處理器,其中所述位片仲裁器阻塞與所述多個(gè)位片的所述第一個(gè)位片相比具有較低等待時(shí)間的第二個(gè)位片的請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值,加上所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間和所述第二個(gè)位片的所述等待時(shí)間之間的差值。
17.如權(quán)利要求14所述的處理器,其中所述位片仲裁器阻塞所述第一個(gè)位片的進(jìn)一步請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值。
18.如權(quán)利要求14所述的處理器,其中所述位片仲裁器阻塞與所述多個(gè)位片的所述第一個(gè)位片相比具有較高等待時(shí)間的第二個(gè)位片的請(qǐng)求,直到經(jīng)過所述預(yù)定周期計(jì)數(shù)器值,減去所述第二位片的所述等待時(shí)間和所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間之間的差值。
19.如權(quán)利要求14所述的處理器,還包括連接到所述多個(gè)位片的核心仲裁器,用于在所述傳送接收單元執(zhí)行所述位片仲裁器作出的決定,其中所述核心仲裁器包括計(jì)數(shù)器電路,用于殺死與所述多個(gè)位片的所述第一個(gè)位片相比具有較低等待時(shí)間的第二個(gè)位片的、在所述批準(zhǔn)之后作出的多周期請(qǐng)求,直到經(jīng)過預(yù)定計(jì)數(shù)值。
20.如權(quán)利要求14所述的處理器,還包括連接到所述多個(gè)位片的核心仲裁器,用于在所述傳送接收單元執(zhí)行所述位片仲裁器作出的決定,其中所述核心仲裁器包括一電路,用于殺死與所述多個(gè)位片的所述第一個(gè)位片相比具有較低等待時(shí)間的第二個(gè)位片的、在所述批準(zhǔn)之后所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間和所述第二個(gè)位片的所述等待時(shí)間之間的差值內(nèi)作出的多周期請(qǐng)求。
21.如權(quán)利要求14所述的處理器,還包括連接到所述多個(gè)位片的核心仲裁器,用于在所述傳送接收單元執(zhí)行所述位片仲裁器作出的決定,其中所述核心仲裁器包括一電路,用于仲裁與所述多個(gè)位片的所述第一個(gè)位片相比具有較高等待時(shí)間的第二個(gè)位片,當(dāng)經(jīng)過所述第二個(gè)位片的所述等待時(shí)間和所述多個(gè)位片的所述第一個(gè)位片的所述等待時(shí)間之間的差值時(shí)作出的多周期傳送請(qǐng)求。
22.一種處理器,包括在所述處理器內(nèi)的傳送接收單元;連接到所述傳送接收單元的資源,其具有多個(gè)位片,所述多個(gè)位片具有到所述傳送接收單元的不同等待時(shí)間;連接到所述多個(gè)位片的位片仲裁器,用于仲裁針對(duì)將所述多個(gè)位片連接到所述傳送接收單元的總線的請(qǐng)求;以及用于確定單個(gè)請(qǐng)求是否多周期傳送請(qǐng)求的裝置,借以根據(jù)所述指示的狀態(tài)改變所述位片仲裁器的操作。
23.如權(quán)利要求22所述的處理器,還包括連接到所述多個(gè)位片的核心仲裁器,用于在所述傳送接收單元執(zhí)行所述位片仲裁器作出的決定;以及當(dāng)所述確定裝置確定單個(gè)多周期傳送請(qǐng)求時(shí),用于保持從所述位片提供給所述傳送接收單元的數(shù)據(jù)傳送數(shù)據(jù)的到達(dá)順序。
全文摘要
在處理系統(tǒng)中對(duì)多周期數(shù)據(jù)傳送請(qǐng)求進(jìn)行分布式仲裁的方法和系統(tǒng)提供了增強(qiáng)的性能。針對(duì)位片仲裁器提供了多周期請(qǐng)求指示器,并且如果存在多周期請(qǐng)求,只有一個(gè)位片被批準(zhǔn)相關(guān)總線。該方法還阻塞來自其它與第一位片相比具有較低等待時(shí)間的請(qǐng)求方位片的任何請(qǐng)求,直到經(jīng)過其它請(qǐng)求方位片和最長(zhǎng)等待時(shí)間位片之間的等待時(shí)間差加上預(yù)先確定的周期計(jì)數(shù)器值。該方法還阻塞來自第一位片的進(jìn)一步請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值,并且阻塞來自與第一位片相比具有較高等待時(shí)間的位片的請(qǐng)求,直到經(jīng)過預(yù)定周期計(jì)數(shù)器值減去第一位片和較高等待時(shí)間位片的等待時(shí)間的差。
文檔編號(hào)G06F12/00GK1551002SQ20041003351
公開日2004年12月1日 申請(qǐng)日期2004年4月6日 優(yōu)先權(quán)日2003年4月10日
發(fā)明者小羅伯特·H·貝爾, 羅伯特·艾倫·卡格諾尼, 艾倫 卡格諾尼, 小羅伯特 H 貝爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司