TWI262393B - Bus arbiter for integrated circuit systems - Google Patents
Bus arbiter for integrated circuit systems Download PDFInfo
- Publication number
- TWI262393B TWI262393B TW092113558A TW92113558A TWI262393B TW I262393 B TWI262393 B TW I262393B TW 092113558 A TW092113558 A TW 092113558A TW 92113558 A TW92113558 A TW 92113558A TW I262393 B TWI262393 B TW I262393B
- Authority
- TW
- Taiwan
- Prior art keywords
- bus
- master
- busbar
- masters
- closest
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
1262393 玖、發明說明: 本申請案主張申請於2002年5月21日之韓國專利申 請案第2002-28061號的優先權。在此合併上述案之全部 揭露內容以爲參考。 發Μ所屬之枝術領域 本發明是有關於一種積體電路裝置的匯流排系統,且 特別是有關於一種在積體電路系統內控制匯流排之佔用的 匯流排仲裁器(bus arbiter)。 先前技術 匯流排系統本質上是在計算及資料處理裝置的不同功 能元件間,管理介面操作的資料及控制訊號,理想上是希 望有更簡單的架構與更便宜。特定來說,單一晶片系統 (system-on-a-chips簡稱SOCs)常常採用匯流排系統以在運 作中互聯功能方塊。 一種典型的匯流排系統,如第1圖所示,基本上是由 匯流排1、匯流排仲裁器2、以及複數個匯流排主控器(bus maSter)BM0〜BMn-1 與匯流排僕從器(bus 所建構而成。匯流排主控器在對匯流排仲裁器2發出匯流 排要求(bus request)後,並從匯流排仲裁器2獲得匯流排 擁有權之情況下,從/至-個想要的匯流排僕從器讀與寫 資料。在佔有使麵流排i時有—個_就是—個要求給 一次。匯流排僕從器不能有匯流排擁有權,伸可因應匯流 排主控器誠寫_求,通供__㈣丨。匯流排 仲裁器2在所有要求匯流排擁有權以容許進人匯流排i的 匯流排主控器中’授予給最有優先權的一個。 11431pif.doc/008 5 1262393 匯流排主控器l/n。但是,在包括有複數個匯流排主控器 及僕從器的SOC系統中,(b)的方法其缺點在不能對特定 的匯流排主控器增加匯流排使用率,而此特定的匯流排主 控器比其他匯流排主控器需要更多的匯流排使用時間。 循環可調整(d),補償(a)或(c)方法的缺失,將匯流排 主控器分成如第2圖(請參考由Tom Shanley及Don Anderson所提出之”PCI系統架構”;Addision-Wesley出版 公司,第四版)所示的群組,來仲裁匯流排之使用。參考 到第二圖,匯流排主控器A,B,X,Y,及Z被分成兩個群組, 亦即,高優先權群組HPG以及低優先權群組LPG。HPG 群組包括匯流排主控器A與B,而LPG群組包括匯流排 主控器X,Y,及Z。假設從匯流排主控器引起有匯流排要 求,則匯流排擁有權之順序可能就被安排成A-B-X-A-B-Y-A-B-Z-A-B-X-·..。如果從匯流排主控器而來有9次匯流 排要求,匯流排佔用率會安定在例如A=3/9=l/3, B=3/9=l/3, X=l〈9,Y=l/9,Z=l/9。此第二圖之仲裁機制也具有在調整 匯流排主控器之匯流排佔用率的限制。 在表一中所總結的仲裁方法是可適用於大部分有高頻 率操作需求的匯流排系統。當系統使用在資料通訊或遠端 通訊時,其應用可程式化匯流排佔用率於某一想要値而沒 有限制的匯流排仲裁方式。例如,被選擇的匯流排主控器 之匯流排佔有的一段區間被程式化成保持在設定給此被選 擇的匯流排主控器預定的資料率。但是,這種資料通訊系 統的仲裁方法在使用到如SOCs類的系統時會有困難,此 類SOCs系統處之匯流排要求非常動態地發生在每一時脈 11431pif.doc/008 7 1262393 週期’並且需要複雜的演算法及硬體架構。 控制匯流排主控器之匯流排佔用率的設施具有以下的 事實需要:(1)功能性地區別之匯流排主控器可能互相要求 不同的匯流排佔用率,特定的匯流排主控器比其他想要有 高一點的佔有率(例如:具有100Mbps的乙太功能區塊想 要比具有120Mbps之USB有不同的佔有率);(2)可能會藉 由特定的匯流排主控器發生衡平(equitable)匯流排要求(例 如:具有即時匯流排要求之多通道DMA控制器可能比其 他有較低的匯流排佔用率,此即時匯流排要求是經由其中 有的通道仲裁器,或在獲得匯流排擁有權後,由每一匯流 排主控器分配的處理資料之資料數量或形式爲變動的,例 如爲單一或齊發(burst)型式);(3)根據現有的應用系統, 有需要爲特定的匯流排主控器增加或減少匯流排佔用率。 發明內容 因此本發明的目的就是在提供一種匯流排仲裁器,其 能因應單一晶片系統上之複數個功能區塊的匯流排要求之 現在狀態,做到可靠的匯流排佔用仲裁,以及程式化匯流 排主控器之匯流排佔用率。 爲了獲得之前所述之目的,根據此發明案之觀點,在 此提供一種匯流排仲裁器,其用於積體電路系統中,此積 體電路系統包含複數個匯流排主控器,此匯流排仲裁器包 括:複數個程式暫存器(program registers)之程式列(program file),其中之每一均可儲存分派給每一匯流排主控器之匯 流排佔用率的値;複數個暫存器之暫時列(temporary file), 其中之每一均可提供對應每一匯流排主控器的匯流排佔用 11431pif.doc/008 8 1262393 率之現狀値,以及指標暫存器(point register),其可指出在 這些匯流排主控器之間最接近(most prior)的匯流排主控 器。 匯流排主控器應用匯流排要求信號(bus request signal) 至匯流排仲裁器,且從匯流排仲裁器接收匯流排授與信號 (bus grant signal)。當暫時暫存器之値已經用完(spent out) 時,此暫時暫存器所儲存之匯流排佔用率之値將以上述程 式暫存器之値來儲存。 在包含複數個匯流排主控器之積體電路系統的仲裁匯 流排佔用中,本方法包括下列步驟:程式化這些匯流排主 控器之匯流排佔用數字(bus occupation numbers)及在這些 匯流排主控器中指定最接近的匯流排主控器;當現行要求 之匯流排主控器與最接近的匯流排主,控器相同時,降低對 應最接近的匯流排主控器之匯流排佔用數字且授與匯流排 擁有權給最接近的匯流排主控器;以及當現行要求之匯流 排主控器爲最接近的匯流排主控器之其他者時,降低對應 最接近的匯流排主控器之匯流排佔有數字,以及降低對應 現行要求之匯流排主控器的匯流排佔有數字,且授與現行 要求之匯流排主控器該匯流排擁有權。 當這些匯流排仲裁器之一爲中央處理單元,此中央處 理單元有比其他中央處理單元較高之匯流排佔用率,此中 央處理單元分派到多於至少半數之全部匯流排佔用率。 爲讓本發明之上述描述能更明顯易懂,下文特舉一較 佳實施例,並配合所附圖式,且此發明案的範圍將會在附 加的申請專利範圍(claim)中指出。 11431pif.doc/008 9 1262393 一個完整的發明案之鑑賞,其中有許多附加的優點, 將根據參考接著的詳細描述,會像較易閱讀般十分容易了 解,田考慮相伴隨之圖的連接,其中類似參考符號表示相 同或相似的元件。 實施方式: 熟悉此藝者將了解較佳實施例之描述只是用以說明, 不應將其限制於此意義中。在下面詳細描述中,數個特殊 細節將會提供,此目的是爲提供此發明案更通透了解。但 是’顯而易見的,熟悉此藝者若無這些特殊細節也可將此 發明實踐。 現在’本發明將配合第3至7圖作此實際應用例的說 明。本發明之匯流排仲裁器適合放置於單一晶片系統上。 第3圖顯示出匯流排仲裁器與匯流排主控器間的相互 連結特徵。匯流排主控器BMO〜BMn-1分別使用匯流排要 求信號(bus request signal)HBGO〜HBGn-Ι給予匯流排仲裁 器10,並且分別接收來自匯流排仲裁器10的匯流排授與 信號(bus grant signal)HG〜HGn-Ι。匯流排仲裁器10是由: 包含有對匯流排主控器之匯流排佔用率的已程式化資料的 程式暫存器列(program register file)ll,提供在匯流排仲裁 時的匯流排佔用率之資料的暫時暫存器列(temporary register file)13,以及可指出目前最接近的匯流ί#主控器 (the most prior bus master)(BMptr)之指標暫存器(point register)15所組成。程式暫存器列11是由對應匯流排主控 器ΒΜ0〜BMn-1的數量之程式暫存器(program register) P0〜Ρη-l所組成,且暫時暫存器列13中的暫時暫存器 11431pif.doc/008 10 1262393 (temporary register)TO〜Tn-1也對應匯流排主控器之數量。 在指標暫存器15指出最接近的匯流排主控器(BMptr)與對 應地寫入程式暫存器中匯流排佔用率之後,對指標暫存器 10所指出之匯流排主控器匯流排仲裁被完成,並調整指定 給其之匯流排佔有率。存在程式暫存器P〇〜Pn-1內之已程 式化的値,換言之,匯流排主控器的匯流排佔用率,決定 匯流排主控器之匯流排佔有的可允許數字(在下文中,參 照爲”匯流排佔用時間(bus occupation times)”)。例如,若 一指標暫存器15之現行値(PTR)爲”0”並且將暫存器P〇存 入”2”,匯流排主控器ΒΜ0將被設定爲最接近的匯流排主 控器三次。下面將會有更多細節描述。 對於匯流排主控器ΒΜ0〜BMn-1,假設程式暫存器列 11具有X位元之程式資料,某些匯流排主控器BMi(i是 1〜η-1的其中之一)的匯流排佔用率在其所對應的程式暫存 器Pi中將被設定在〇〜2X-1之値。而且,匯流排仲裁器藉 由參考已程式化之暫存器列11之値,來控制著每個匯流 排主控器當中的每個匯流排佔用率。對於某個匯流排仲裁 器BMi、BORi的匯流排佔用率之値係由下列方程式來決 定: BORi=(P[i] + l)/I(P[i] + i) 方程式 1 ;其中的P[i]指的是程式暫存器Pi的値。 第4圖解釋藉匯流排仲裁器10的手段來控制匯流排 佔用率以及優先權的程序,圖中假設匯流排主控器的數値 爲三(n=4)。若這三個匯流排主控器ΒΜ0〜BM2被指定的程 式暫存器之値爲Ρ[〇]=2,ρ[ΐ] = ι,與p[2]=〇,則依照方程 11431pif.doc/008 11 1262393 式1爲它們預測之匯流排佔用率將會分別是 BOR[0] = (2+l)/(3+2+l)=3/6,BOR[l]=(l + l)/(3+2+l)=2/6, BOR[2] = (0+l)/(3+2+l)二1/6。在第4圖中,匯流排主控器 BMO〜BM2的優先權轉換依次序爲經過BMO BMO -> BMO -> BM1 -> BM1 -> BM2 -> BMO -〉BMO 此八個步驟, 也就像此例子會對PTR之轉換有如0->0->0->1->1->2->0->〇的反應。因此,一般而言,假如此刻指標暫存器15, PTR, 的値爲”Γ時,則匯流排主控器的優先權將會被依照次序設 定爲 BMi -> BMi+1 ->.·-> BMn-2 -> BMO -> BM1 -〉BMi- 1,這些每個匯流排主控器已用完建立於程式暫存器中之 他們自己的佔有率。 另一方面,也可能會發生當匯流排主控器沒有每一次 產生匯流排要求時,實際(actual)以及預知(predicted)之匯 流排佔用率的値之間會產生差異。舉例而言,在PTR指向 匯流排主控器ΒΜ0的狀況下,假如匯流排主控器ΒΜ0不 行形成匯流排要求和已程式化之匯流排佔用率P[〇]=3 — 樣多時,則匯流排主控器BM1之匯流排佔有率會在下一 次擁有優先權時增加(例:BORl>2/6),而導致結果並不與 動態佔有率一致。 考慮匯流排佔用率有差異的情況,其降低了對應於佔 用匯流排之匯流排主控器的暫時暫存器之値,甚至此匯流 排主控器沒有被指標暫存器15指定爲最接近的匯流排主 控器(BMptr)。另外,當沒有要求匯流排擁有權之最接近 的匯流排主控器(BMptr)並無佔用匯流排時,則降低對應 最接近的匯流排主控器的暫時暫存器之値。由於實際以及 11431pif.doc/008 12 1262393 被建立的(或預測的)匯流排佔用率之間的差異,這些匯流 排佔用率之調節消除了匯流排餓斃或是對特別的匯流排主 控器不合宜地過度佔用匯流排。 從現在開始,將要解釋本匯流排仲裁過程之操作流程 圖,見第5圖。 參照第5圖,步驟S1檢驗從匯流排主控器BMO〜BMn-1 是否出現匯流排要求。若無匯流排要求,將會到步驟S2, 以允許匯流排擁有權至一個預設之匯流排主控器(例:微 處理機單元)。若至少從上述匯流排主控器BMO〜BMn-1之 一出現匯流排要求,則跳至步驟S3。 步驟S3中,第一個現行要求之匯流排主控器(current-requesting bus master)(例: BMi) 取得匯流排擁有權 。接下 來到步驟S4,檢驗是否目前之PTR指定現在正佔用匯流 排的匯流排主控器BMi。(換言之,BMi與跟建立在指標 暫存器15中之最接近的匯流排主控器BMptr相同)。若PTR 爲”i”(現行要求之匯流排主控器=最接近匯流排主控器), 則到步驟S7。若PTR不爲”i”(現行要求之匯流排主控器# 最接近匯流排主控器),則繼續進行到步驟S5。 步驟S5中,現在最接近的匯流排主控器(BMptr)並沒 有匯流排擁有權(或者並沒有發出匯流排需求),則檢驗對 應現行要求之匯流排主控器BMi的暫時暫存器之値T[i]是 否爲”0”。T[i]爲從程式暫存區之値P[i]取回的値,P[i]也 對應到匯流排主控器BMi,且含有BMi之已程式化匯流排 佔用(bus occupation)數字。(例如:若BMi爲BM1時,第 4圖中之BM1便爲”2”)。如果T[i]不爲”0”,則至步驟S6 11431pif.doc/008 13 1262393 將T[i]減一,因爲匯流排主控器BMi事實上已經佔用匯流 排一次了。若ΤΠ]爲”0”,則將跳至步驟S7。 步驟S7中,現在最接近的匯流排主控器與該現行要 求之匯流排主控器是相同的,或是對於BMi之匯流排佔用 數字已經完全的用完,則檢驗對應最接近的匯流排主控器 BMptr的暫時暫存器之値T[PTR]是否爲”0”。若T[PTR] 爲”〇”,則前往步驟S8。若T[PTR]不爲”0”,將跳至步驟S9。 步驟S8中,對於最接近的匯流排主控器(BMptr)之匯 流排佔用率之値已經用完,則要在經過步驟S10之前將 P[PTR]之値回存至T[PTR]。相對地,在步驟S9中,T[PTR] 因爲對於BMptr之匯流排佔用之數字仍然存在,所以T[PTR] 持續減一,以持續BMptr•之匯流排佔用直到T[PTR]降至 零爲止。同時,若T[PTR]現在爲”〇”,步驟S9就必須於該 現行要求之匯流排主控器BMi與該最接近的匯流排主控器 BMptr仍然相同之此時先行完成。此理由由以下述所形成: (1)當該現行要求之匯流排主控器BMi與該最接近的匯流 排主控器BMptr不相同時,爲了防止BMptr之匯流排佔用 的差異,需要用預估値與T[PTR]相稱。(2)當該現行要求 之匯流排主控器BMi與該最接近的匯流排主控器BMptr 完全相同時,T[PTR]就取決過程必須減一,因爲實際上已 經會有一次BMptr之匯流排佔用。 步驟10中,爲了下次接近(the next prior)的匯流排主 控器之目的,檢驗PTR之現行値是否爲n_i。若PTR=n-l, 則說明全部的匯流排主控器之匯流排佔用已結束,繼續進 行步驟S11將PTR重設爲”0”,並回到步驟1以進行一個 11431pif.doc/008 14 1262393 新的匯流排仲裁迴圈。若PTR並不等於η_ι,則說明尙有 部分需要佔用匯流排之匯流排仲裁器,並回到步驟S1以 開始一個新的匯流排主控器之匯流排仲裁過程。 從第5圖的操作流程圖中,可以看到根據PTR之現行 値與現行要求之匯流排主控器之間的相關狀態,而區別出 兩條連續的路徑。 首先,當由指標暫存器15指定之最接近的匯流排主 控器與現行要求之匯流排主控器BMi相同之狀況下(換言 之’最接近的匯流排主控器BMptr正在要求匯流排之擁有 權),此匯流排主控器係以建立於PTR之優先權順序,憑 藉著每個匯流排佔用數字(換言之,匯流排佔用率),透過 每個連續進行的步驟,例如S1 S3 -> S4 S7 -> S9, 來佔用匯流排。例如第4圖,匯流排佔用率之次序爲BMO BMO -> BMI ->BM1 -〉BM2。 次之,當由指標暫存器15指定之最接近的匯流排主 控器與現行要求之匯流排主控器BMi不相同之狀況下(換 言之,另一個匯流排主控器並非最接近的匯流排主控器 BMptr,正在要求匯流排之擁有權)。若現行要求之匯流排 主控器BMi的匯流排佔用數字,T[i],已經全部用完,此 匯流排仲裁過程將會經由S1->S3-〉S4-〉S5->S7->S9繼續 進行著。若BMi之匯流排佔有數字依然存在,步驟S5會 在實行完步驟S6之後才會進行至步驟S7。 仲裁匯流排主控器的匯流排佔有之特徵可經由第6圖 繪示出的時序圖而變得更加淸楚,第6圖是以第4圖的三 個匯流排BMO〜BM2作爲範例。時脈訊號HCLK被提供來 11431pif.doc/008 15 1262393 控制信號的觸發與資料傳輸,時脈訊號HCLK之上升邊緣 將會與相關的信號同步。CTO〜CT8代表HCLK的時脈週 期。控制訊號HE係用來致能匯流排仲裁,並且在具有匯 流排擁有權的匯流排主控器正連續不斷的佔有匯流排數個 時脈週期之期間,阻止匯流排仲裁操作。 首先,在時脈週期CTO時,所有的匯流排主控器並無 向匯流排仲裁器10要求匯流排擁有權。指標暫存器15之 値,PTR,在CT1至CT4之間維持爲”0”以指定ΒΜ0,在 CT4至CT5間指定BM1,以及在CT5至CT7間指定BM2 以作爲最接近的匯流排主控器(BMptr)。 在時脈週期 CT1 時,PTR=0,T[0]=2,T[l] = l,且 Τ[2]=0,現在匯流排要求信號HBQO,HBQ1,HBQ2均爲 高態,所有的匯流排主控器ΒΜ0〜BM2均正要求匯流排擁 有權。因此,匯流排仲裁器10轉換匯流排授與信號HG0 爲高態此外,而且將T[〇]減去一(τ[0]=2-1 = 1 ;注意匯流排 佔用之動態數字爲3-1=2),以立刻將匯流排控制權授與給 ΒΜ0 〇 在時脈週期CT2時,τ[0]因爲減去一而降爲一。在此 時’控制信號HE在低態的時候不起作用,以阻止匯流排 仲裁操作,並且不理會匯流排要求信號的現在狀態。 在時脈週期CT3時,伴隨著操作信號HE的動態狀態, 正當所指定之最接近的匯流排主控器ΒΜ0並無要求匯流 排佔用(HBQ爲低態)時,則匯流排擁有權將交到正在要求 匯流排擁有權,並且有第二優先權的BM1中。由於ΒΜ0 事實上已沒有佔用匯流排,ΒΜ0被指定之T[0]在爲了阻止 11431pif.doc/008 16 1262393 匯流排佔用率之差異下,將τ[0]減一成爲0。 接下來,在時脈控制CT4時,Τ[0]=0而且隨著高態 的控制訊號HG,匯流排授與信號HGO〜HG2均爲高態。 當最接近的匯流排主控器ΒΜΟ正在要求匯流排佔用時’ 匯流排擁有權將會理所當然的回到ΒΜΟ。現在Τ[0]爲”0” ’ 其將會回存爲ρ[0],也就是,”2”。在當時,ΒΜ1之匯流 排授與信號HG1在PTR=0,T[l]減一(T[l] = l-1=0)之情況 下爲高態。並且,現在ΒΜΟ之Τ[0]爲”0”(換言之,匯流排 佔用數字已用完),PTR增加一(PTR=1)以指定作爲下次最 接近的匯流排主控器BM1。 在時脈週期CT5時,PTR=1,T[0]=2,T[1]=0,並且 HGO與全部的匯流排要求信號HBQO〜HBQ2均爲高態。因 此,匯流排擁有權將會授與正在指標暫存器15上之最接 近的匯流排主控器BM1。當對應BM1之T[l]現在爲”0”, Τ[0]將會回存爲P[l],也就是,”1”。並且,因爲根據ΒΜ1 本身的匯流排佔用率,ΒΜ1用完在暫存器Ρ1中已程式化 之匯流排佔用數字,則PTR加一(PTR=2)以指定ΒΜ2爲最 接近的匯流排主控器以做爲下一個。 在時脈週期CT6時,匯流排控制信號HE降低爲低態, 以阻止匯流排仲裁而爲閒置狀態。 在時脈週期CT7時,現在PTR=2並且最接近的匯流 排主控器BM2正在要求匯流排佔用(HBQ2爲高態)時,回 應匯流排授與信號HG2爲高態,將匯流排擁有權理所當 然的回到BM2。然後,對應BM2之T[2]從P[2]回存爲, 並且將PTR改爲0。 11431pif.doc/008 17 1262393 最後,在時脈週期CT8時,因爲全部的匯流排主控器 並沒有正在要求匯流排擁有權,即使匯流排控制信號HE 正在動作,還是沒有匯流排佔用的產生。 貫穿整個程序,直到時脈週期CT8爲止,匯流排主控 器BMO〜BM2被控制以各自佔用匯流排三次、兩次、與一 次。因爲匯流排主控器BMO並沒有要求佔用至今,儘管 在時脈週期CT3中它已經被指定爲最接近的匯流排主控 器,T[0]之値減一是爲了符合匯流排佔用之實際數目與暫 時暫存器之値。即,對應於被PTR指標暫存器15之値所 指定之最接近的匯流排主控器的暫時暫存器之値,在每個 匯流排佔用時減一,而不管最接近的匯流排主控器有無匯 流排控制權。而並非最接近之匯流排主控器之暫時暫存器 之値,在每次佔用後減一是爲理所當然。 另一方面,偶然的,在並無從其他匯流排主控器來的 每個匯流排要求時,匯流排主控器之一的中央處理單元 (CPUs)是操作在有非常高之匯流排佔用率。這個事例中, 參照第7圖,匯流排佔用的現行方法爲可能指定CPU爲 預設之匯流排主控器,其具有超過50%之匯流排佔用率, 剩餘之匯流排佔用率被指定給其他的匯流排主控器。 前面提及之,此發明案提供了改善的匯流排仲裁技 術,其避免匯流排佔用率的差異以及程式化匯流排佔用率 的値。 雖然本發明已以一較佳實施例揭露如上,然其並非用 以限定本發明,任何熟習此技藝者,在不脫離本發明之精 神和範圍內,當可作些許之更動與潤飾,因此本發明之保 11431pif.doc/008 18 1262393 護範圍當視細之_轉繼晒者爲淮。 圖式簡單說明 十 第1圖是典型匯流排系統的方塊圖。 一第2 _會示變遷循環機制的裝置之匯流排仲载特性的 不意圖。 f 3圖是根據本發明之一種匯流排仲裁器的方塊圖。 第4圖是本發明控制之匯流排仲裁的狀態圖。 第5圖是根據本發明實施匯流排仲裁操作的流程圖。 第~6圖是根據本發明之匯流排仲载器的操作時序圖。 第7圖展示根據本發明之匯流排仲裁方式的一種應用 例。 圖式標記說明: 1匯流排 2,10匯流排仲裁器 Π程式暫存器之程式列 13暫時暫存器之暫時列 15指標暫存器 BMO〜BMn-1匯流排主控器 BSO〜BSn-Ι匯流排僕從器 HCLK時脈週期 PTR指標暫存器之値 T[0]〜T[2]暫時暫存器之値 HBQO〜HBQ2匯流排要求信號 HGO〜HG2匯流排授與信號 HGE控制信號 !1431pif.doc/008 19
Claims (1)
1262393 拾、申請專利範圍: 1.一種匯流排仲裁器,用於一積體電路系統中,該積 體電路系統包含複數個匯流排主控器,包括: 複數個程式暫存器之一程式列,其中之每一均可儲存 指定給每一匯流排主控器之匯流排佔用率的値; 複數個暫時暫存器之暫時列,其中之每一均可提供對 應每一匯流排主控器的匯流排佔用率之一現狀値;以及 一指標暫存器,其可指出在該些匯流排主控器之間最 接近的匯流排主控器(most prior bus master)。 2·如申請專利範圍第i項所述之匯流排仲裁器,其中 該些匯流排主控器使用匯流排要求信號給予該匯流排仲裁 器’並從該匯流排仲裁器接收匯流排授與信號。 3·如申請專利範圍第1項所述之匯流排仲裁器,其中 當該暫時暫存器之値已經用完時,該暫時暫存器所儲存之 匯流排佔用率之値將以該程式暫存器之値來儲存。 4· 一種仲裁匯流排佔用之方法,用於一積體電路系統, 其包含複數個匯流排主控器,包括下列步驟: 程式化該些匯流排主控器之匯流排佔用數字及在該些 匯流排主控器中指定最接近的匯流排主控器; 授與一匯流排擁有權給最接近的匯流排主控器且當現 行要求之匯流排主控器與最接近的匯流排主控器相同時, 降低對應最接近的匯流排主控器之匯流排佔用數字;以及 授與現行要求之匯流排主控器該匯流排擁有權,以及 當現行要求之匯流排主控器爲最接近的匯流排主控器之其 他者時’降低對應最接近的匯流排主控器之匯流排佔有數 11431pif.doc/008 20 1262393 字’以及降低對應現行要求之匯流排主控器的匯流排佔有 數字。 5.如申請專利範圍第4項所述之仲裁匯流排佔用之方 法,其中當該些匯流排主控器之一爲比其他者具有高匯流 排佔用率之一中央處理單元時,該中央處理單元將會分配 到多於至少半數以上之全部佔有率。 6·—種仲裁匯流排佔用之方法,用於一積體電路系統, 其包含複數個匯流排主控器,包括下列步驟: 第一步驟’用以將該些匯流排主控器之匯流排佔用數 字程式化,以及用以在該些匯流排主控器中指定一最接近 的匯流排主控器; 第二步驟,用以檢驗在該些匯流排主控器中是否有現 行要求之匯流排主控器存在; 第三步驟,用以當在第二步驟中沒有現行要求之匯流 排主控器的存在時,授與一預先決定之匯流排主控器; 第四步驟,用以當該些匯流排主控器中有現行要求之 匯流排主控器時,檢驗現行要求之匯流排主控器是否與最 接近的匯流排主控器相同; 第五步驟,用以當現行要求之匯流排主控器與最接近 的匯流排主控器相同時,授與匯流排擁有權至最接近的匯 流排主控器,以及減低對應最接近的匯流排主控器之匯流 排佔用數字;以及 第六步驟,用以當現行要求之匯流排主控器與最接 近的匯流排主控器爲不相同時,授與匯流排擁有權至現行 要求之匯流排主控器,並且減低對應最接近的匯流排主控 11431pif.doc/008 21 1262393 邊之匯流排佔用數字和減低對應現行要求之匯流排主控器 &匯流排佔用數字。 7.如申請專利範圍第6項所述之仲裁匯流排佔用之方 法,其中該預先決定之匯流排主控器爲一中央處理單元。 8·如申請專利範圍第7項所述之仲裁匯流排佔用之方 法,其中該中央處理單元有多於至少半數之全部匯流排佔 用率的佔有率。 9. 如申請專利範圍第6項所述之仲裁匯流排佔用之 方法,其中第五項步驟包括一步驟,此步驟檢驗包含於現 行要求之匯流排主控器的匯流排佔用數字之現行値爲零。 10. 如申請專利範圍第6項所述之仲裁匯流排佔用之方 法,其中第六步驟包括一步驟,此步驟檢驗包含最接近的 匯流排主控器之匯流排佔用數字的現行値爲零。 11. 如申請專利範圍第10項所述之仲裁匯流排佔用之 方法,其中假若包含最接近的匯流排主控器之匯流排佔用 數字的現行値爲零時,該現行値將會由已程式化之値回存 之。 11431pif.doc/008 22
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0028061A KR100456696B1 (ko) | 2002-05-21 | 2002-05-21 | 집적회로장치의 버스중재기 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200400438A TW200400438A (en) | 2004-01-01 |
TWI262393B true TWI262393B (en) | 2006-09-21 |
Family
ID=29546314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092113558A TWI262393B (en) | 2002-05-21 | 2003-05-20 | Bus arbiter for integrated circuit systems |
Country Status (4)
Country | Link |
---|---|
US (1) | US7054970B2 (zh) |
JP (1) | JP4308578B2 (zh) |
KR (1) | KR100456696B1 (zh) |
TW (1) | TWI262393B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100484150B1 (ko) * | 2002-07-31 | 2005-04-18 | 삼성전자주식회사 | 버스 중재방법 및 장치 |
JP2005056067A (ja) * | 2003-08-01 | 2005-03-03 | Matsushita Electric Ind Co Ltd | Dma転送制御装置 |
KR100618823B1 (ko) * | 2004-04-14 | 2006-08-31 | 삼성전자주식회사 | 옵티컬 장치에서의 메모리 중재기 및 메모리 중재 방법 |
US7366811B2 (en) * | 2004-12-23 | 2008-04-29 | International Business Machines Corporation | Bus arbitration system |
US7263566B2 (en) * | 2004-12-30 | 2007-08-28 | Qualcomm Incorporated | Method and apparatus of reducing transfer latency in an SOC interconnect |
JP2007072598A (ja) * | 2005-09-05 | 2007-03-22 | Fujifilm Corp | バス調停方法及びバス調停プログラム |
US7546405B2 (en) * | 2006-09-26 | 2009-06-09 | Sony Computer Entertainment Inc. | Methods and apparatus for dynamic grouping of requestors of resources in a multi-processor system |
US7765351B2 (en) * | 2007-03-12 | 2010-07-27 | International Business Machines Corporation | High bandwidth low-latency semaphore mapped protocol (SMP) for multi-core systems on chips |
US8402181B2 (en) * | 2007-03-14 | 2013-03-19 | Integrated Device Technology, Inc. | Bifurcate arbiter |
JP2011133940A (ja) * | 2009-12-22 | 2011-07-07 | Seiko Epson Corp | アクセス調停装置、集積回路装置、電子機器、アクセス調停方法、及びプログラム |
US9529622B1 (en) * | 2014-12-09 | 2016-12-27 | Parallel Machines Ltd. | Systems and methods for automatic generation of task-splitting code |
US10437479B2 (en) * | 2014-08-19 | 2019-10-08 | Samsung Electronics Co., Ltd. | Unified addressing and hierarchical heterogeneous storage and memory |
US10282100B2 (en) | 2014-08-19 | 2019-05-07 | Samsung Electronics Co., Ltd. | Data management scheme in virtualized hyperscale environments |
CN114647604B (zh) * | 2022-05-18 | 2022-10-28 | 杭州米芯微电子有限公司 | Dma数据传输方法、系统、电子设备及可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5072365A (en) * | 1989-12-27 | 1991-12-10 | Motorola, Inc. | Direct memory access controller using prioritized interrupts for varying bus mastership |
JPH0696014A (ja) * | 1992-09-14 | 1994-04-08 | Fuji Xerox Co Ltd | バス使用優先順位制御装置 |
JPH09265446A (ja) * | 1996-03-27 | 1997-10-07 | Nec Ibaraki Ltd | バス制御装置 |
US5740380A (en) * | 1996-07-15 | 1998-04-14 | Micron Electronics, Inc. | Method and system for apportioning computer bus bandwidth |
US6385678B2 (en) * | 1996-09-19 | 2002-05-07 | Trimedia Technologies, Inc. | Method and apparatus for bus arbitration with weighted bandwidth allocation |
US6092137A (en) * | 1997-11-26 | 2000-07-18 | Industrial Technology Research Institute | Fair data bus arbitration system which assigns adjustable priority values to competing sources |
US6088751A (en) * | 1998-02-12 | 2000-07-11 | Vlsi Technology, Inc. | Highly configurable bus priority arbitration system |
US6363445B1 (en) * | 1998-10-15 | 2002-03-26 | Micron Technology, Inc. | Method of bus arbitration using requesting device bandwidth and priority ranking |
JP2001273248A (ja) * | 2000-03-24 | 2001-10-05 | Canon Inc | バス制御装置及びその制御方法 |
US6622208B2 (en) * | 2001-03-30 | 2003-09-16 | Cirrus Logic, Inc. | System and methods using a system-on-a-chip with soft cache |
-
2002
- 2002-05-21 KR KR10-2002-0028061A patent/KR100456696B1/ko active IP Right Grant
-
2003
- 2003-05-19 US US10/441,387 patent/US7054970B2/en not_active Expired - Lifetime
- 2003-05-20 TW TW092113558A patent/TWI262393B/zh not_active IP Right Cessation
- 2003-05-20 JP JP2003142331A patent/JP4308578B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20030090071A (ko) | 2003-11-28 |
JP4308578B2 (ja) | 2009-08-05 |
KR100456696B1 (ko) | 2004-11-10 |
US7054970B2 (en) | 2006-05-30 |
TW200400438A (en) | 2004-01-01 |
US20030221033A1 (en) | 2003-11-27 |
JP2004005677A (ja) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI262393B (en) | Bus arbiter for integrated circuit systems | |
JP4480427B2 (ja) | リソース管理装置 | |
US6584523B1 (en) | Device for organizing the access to a memory bus | |
US5862355A (en) | Method and apparatus for overriding bus prioritization scheme | |
US6304923B1 (en) | Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values | |
US6266718B1 (en) | Apparatus for controlling data transfer operations between a memory and devices having respective latencies | |
KR960042385A (ko) | 엘알유(lru)에 의한 중재기 | |
US4998030A (en) | Circuit to arbitrate multiple requests for memory access | |
JP4124579B2 (ja) | バス制御システム | |
JPH01279354A (ja) | 共有バスを有するデータ処理システムおよびその優先度決定回路 | |
JP2003030134A (ja) | バスアービタ及びバスアービトレーション方法 | |
JPH04250553A (ja) | プログラマブルコントローラ | |
JP2003006146A (ja) | バス調停回路 | |
JPH09179609A (ja) | 制御装置 | |
JPH05242021A (ja) | バス調停回路 | |
JPH01226063A (ja) | バス優先制御方法および該方法を実施するバス・アービタ | |
JPH0821014B2 (ja) | 多重入出力デ−タ転送装置 | |
JPH09231163A (ja) | Ioブリッジ | |
JPH01205365A (ja) | バス獲得制御方式 | |
JP2002140293A (ja) | 調停回路 | |
JPS6217255B2 (zh) | ||
JPH0247777B2 (zh) | ||
JPH08235107A (ja) | バス調停回路およびバス調停方法 | |
JPH04362760A (ja) | バス調停方式 | |
JPH0789347B2 (ja) | バス優先順位決定回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |