TWI249680B - A multi-device system and the method thereof - Google Patents
A multi-device system and the method thereof Download PDFInfo
- Publication number
- TWI249680B TWI249680B TW93100612A TW93100612A TWI249680B TW I249680 B TWI249680 B TW I249680B TW 93100612 A TW93100612 A TW 93100612A TW 93100612 A TW93100612 A TW 93100612A TW I249680 B TWI249680 B TW I249680B
- Authority
- TW
- Taiwan
- Prior art keywords
- slave
- master
- request
- arbitration
- devices
- Prior art date
Links
Landscapes
- Bus Control (AREA)
Description
1249680 並依頻寬要求的不同分為多個不同層4 , 裝置,與匯流排相連,並依頻寬要以及複數個從屬 層次,且可通過匯流排與主裝置之问分為多個不同 層次較高的主裝置和層次較高的從屬^資料傳送運算。 較高的資料傳送速率;層次較低的1之間的通訊採用 的通訊或主裝置與層次較低的從屬裝置肖從屬裝置之間 較低的資料傳送速率。 1 之間的通訊則採用 另外’根據本發明之上述目的,提一 高層次的主裝置和較高層次的從屬裝置離:::佈局’較 器較近,而較低層次的主裝置和較低眉^ /机排上的仲裁 流排上的仲裁器較遠。 人的彳欠屬裝置離匯 依肤本發明一實施例,此多裝置系 制,例如在仲裁器中進一步設有反向件典,有反向仲裁機 為回應主裝置所發出的讀運算請求而:組,從屬裝置 向反向仲裁模組申請匯流排佔用。反向你讀數據時,可以 依據主裝置和從屬裝置間的資料傳送^中裁的仲裁時機可 因此,并百命面七私 > 迷率來決定。 頻見要求較咼的主裝置和 採用較高的資料傳送速率,能夠很屬裝置之間的通訊 算,同時’從物理佈局上,較高層次的也完成資料傳送運 的從屬裝置離匯流排仲裁器較近,主裝置和較高層次 相對減小,因此能夠充分地滿足此=佈線延遲的影響也 頻寬要求較低的主裝置和從屬裝置雖^置的頻寬要求。而 遠,但採用了較低的資料傳送速率,然離匯流排仲裁器較 間的資料㈣時間受佈線延冑的 主襄置和從屬裝置之 ,使得 /曰同樣有所減少 8 1249680 系統傳輸延遲的不確定性也能相對降低。 【實施方式】
請參照第1圖,本發明實施例的多裝置系統包括一匯流 排1 0 1,與匯流排1 〇 1相連的仲裁器n 4,以及分別與匯流 排101相連的主裝置A 102、主裝置B 103、主裝置C 104、 主裝置D105、主裝置E106、主裝置ρ 1〇7和從屬裝置A 108、從屬裝置B 109、從屬裝置c no、從屬裝置d 111、 從屬裝置E 112、從屬裝置F 113。其中,主裝置可以是 CPU、DSP、ASIC或者是子系統等;從屬裝置可以是同步 動態隨機存取記憶體(SDRAM)或直接記憶體存取(dma) 專裝置。匯流排上的仲舞哭 可 T ^ ^ ’可以對連接在匯流排上的各 裝置所提出的匯流排使用士主七/ Μ史用清求做出仲裁,經仲裁選中的主 裝置佔有匯流排與對庫的"Λ感壯 丁應的從屬裝置進行資料傳送。 主裝置可以分成重要 要主裝置和次要主裝置。本實施例 中,主裝置A 102、主# 工衣置B 103和主裝置c 104為重要 主裝置,而主裝置D 1〇 士狀要广 、主叙置e 1〇6和主裝置F 107 為次要主裝置。一般而+ ㊁’可以把對匯流排回應速度要求 較高的主裝置設為重 ^ 受主衣置,如需進行即時處理的裝置 等,而把對回應速声 X要求不是太高的裝置設為次要主裝 置。同樣地,從屬梦罢 恶 &罝也分成重要從屬裝置和次要從屬裝 置。在本實施例中, 從屬裝置C "0為重:屬裝置A 108、從屬裝置B 109和 屬裝置E U2和從屬:從屬裝置:❿從屬裝置D⑴、從 、置F 113為次要從屬裝置。一般而 9 1249680 口 ,可以把對匯流排回應速度要求較高的從屬裝置設為重 要從屬裝置,如需進行即時處理的裝置等,而把對回應速 度要求不是太高的裝置設為次要從屬裝置。 請參照第2圖,其繪示本實施例之匯流排系統的物理 佈局示意圖。圖中示意性地表示出,在物理佈局上,重要 主裝置A 202、重要主裝置β 203和重要主裝置C 204,離 仲裁器201較近,而次要主裝置D 2〇5、次要主裝置E 2〇6 和次要主裝置F 207離仲裁器2〇1較遠;重要從屬裝置a 2〇8、重要從屬裝置B 209和重要從屬裝置C2l〇離仲裁器 2〇ι較近,而次要從屬裝置D211、次要從屬裝置E2i2: 次要從屬裝置F 213離仲裁器2〇1較遠。匯流排上並對主 裝置和從屬裝置分別設置了兩層多工器。次要主裝置D 205、次要主裝置E 206和次要主裝置F 2〇7,分別有訊 線,接至第二主裝置多工器216的輸入端,第二主裝置^ 工器216的輸出端連接至第一主裝置多工器 二夕 瑞0镇一:t 壯耍夕 口口 的輸入 &弟一主衣置多工益216另有訊號線與仲裁器2 使次要主裝置D 205、次要主裝置E 2〇6和次
207也可以直接向仲裁器2〇1傳送資料。重 、置F 202、重要主奘罢王衣置 A 衣置B 203和重要主裝置c 204各右知& 號線連接至第—主梦晉夕τ抑?彳1 a认 有相應的訊 禾主衣置多工态2 1 4的輸入端,第_ 多工杰2 1 4的輸出端連接至所有從屬裝置。因此,衣置 裝置可以在得到E流排授權後直接向對應的壯2主 資料。同樣地’次要從屬裝置D 2 i】、次要 衣置傳送 和次要從屬裝置F 213,分別有訊 ' E川 <乐一從屬裝 10 1249680 置多工器217的輸入端,第二從屬裝置多工器217的輸出· 端連接至第一從屬裝置多工器2 1 5的輸入端。重要從屬裝· 置A 208、重要從屬裝置B 209和重要從屬裝置C 210各 有相應的訊號線連接至第一從屬裝置多工器215的輸入 端,第一從屬裝置多工器215的輸出端連接至所有主裝 置。因此,在進行讀運算時,所有從屬裝置可以直接向相 應的主裝置回傳資料。在其他實施例中,也可以只使用一 層多工器,或根據實際裝置的數量來選擇多工器的層數。 重要主裝置和重要從屬裝置之間的資料傳送速率較 大,而重要主裝置和次要從屬裝置之間、次要主裝置和重 要從屬裝置之間以及次要主裝置和次要從屬裝置之間的資 料傳送速率較小。在本實施例中,重要主裝置A、重要主 裝置B或重要主裝置C與重要從屬裝置A、重要從屬裝置 B或重要從屬裝置C之間的資料傳送速率為1個資料/時 脈,如匯流排為32位元,匯流排頻率為1兆赫茲(MHz ), 則資料傳送速率為32百萬位元/秒。重要主裝置A、重要 主裝置B或重要主裝置C與次要從屬裝置D、次要從屬裝 置E或次要從屬裝置F之間,或是次要主裝置D、次要主 裝置E或次要主裝置F與重要從屬裝置A、重要從屬裝置 B或重要從屬裝置C之間,以及次要主裝置D、次要主裝 置E或次要主裝置F與次要從屬裝置D、次要從屬裝置E 或次要從屬裝置F之間的資料傳送速率為1個資料/2時 脈,如前述匯流排為3 2位元,匯流排頻率為1兆赫茲,則 資料傳送速率為1 6百萬位元/秒,小於重要主裝置與重要 11 1249680 從屬裝置之間的資料傳送速率32石# Ζ百萬位元/秒。 主裝置發出的匯流排使用請电 ^ 衣刀成不同的級別,本實 施例中,母一主裝置有一 MReq匯、六 ^ 4 L _排請求訊號線與仲裁 器相連,該訊號線傳送的MRea % % 4机唬可用來表示匯流排使 用請求的級別。通過MReq匯流排▲主 ^ ^ , 排4求訊號線發出的MReq 匯流排使用请求訊號分成RE〇、r4 紐派a π矣辦- lrEq和LREQ三類,其 解碼如下表所不。 表1 MReq 訊號 說明 ---Ί 0 0 IDLE ~' —--- 無请求 ^^-——一 0 1 REQ ~~ ~--- 一般讀寫請求 ^-〜 10 LREQ 般和MCmd配人 , ^-— +、 口。如果MCmd為〇,是要 求LOCK的讀運算; 如果MCmd為ί, η如 11 CREQ 強制性碩寫請求,ί Γ7Γ 一-~- 序。 具有比REQ更高的優先順 其中MCmd為讀寫運算請求,低為讀,高為寫。 MReq匯流排使用請求訊號中,creq和lrEq比r叫 馇先順序要高,因此,如果主裝置發出的MReq為creq 戈汉丘Q ’較之R E Q往往能更快速地獲得回應。其中,乙r e q 的請求是一種配對的讀寫運算請求,它請求的是〜個讀寫 運异的配對運算,由於該讀寫運算需要連續進行,而不能 12 1249680 插入其他的運算,因此將其設為一種優先順序別較高的請. 求。 MReq可以在每一次資料傳送時由編寫程式等方式靈 活設定,因此,主裝置發出的匯流排使用請求的優先權等 級可以按實際需求而決定。在其他實施例中,MReq的匯 流排使用請求訊號可以按需要設定一定的等級,其編碼也 可隨之改變,本技術領域人員對此應易於理解和實現。 在本實施例中,匯流排採用流脈衝(Stream Bum ) 形式的資料傳送方式。以流脈衝的形式進行資料傳送,可 傳送的資料包括單一資料及/或脈衝形式的資料。同一個流 脈衝中的單一資料或一個完整的位址連續的脈衝資料可稱 為一個分段脈衝,而分段脈衝之間的位址可以不連續,在 本實施例中,一個流脈衝中的不同分段脈衝還可以發送給 不同的目標從屬裝置。本實施例中規定MLast訊號來代表 主裝置給仲裁器的分段脈衝結束碼,以指示資料傳送的狀
態。MLast訊號有四類值,分別是c〇NT、LAST、SAME 和DIFF。CONT表示一個分段脈衝正在傳送中;LAST表 不一個完整的流脈衝已經結束;SAME表示當前分段脈衝 已經結束,但流脈衝尚未結束’而下—個分段脈衝存取的 從屬裝置與當前分段脈衝相同;DIFF表示一個流脈衝尚未 結束,當前分段脈衝已經結束,而下一個分段脈衝存取 從屬裝置與當前分爲^ Λ>ΓΤ 田⑴刀奴脈衝不同。當MLast訊號為LAST、 SAME、DIFF這三種值時,表示當前分段脈衝已經結束。 在分段脈衝結束時’仲裁器進入可仲裁狀態,下文將對此 13 1249680 作進一步描述。 在一個流脈衝的傳送過裎中, 戈口果沒有其他輕其 的請求提出’當前正在進行資料傳送的主u 二、'、別 匯流排進行資料傳送運算;如果有A他二、丨持、,佔有 使用請求在流脈衝的傳送過程中描ψ 乂向級別的匯流排 可仲裁狀態,m仲裁器將對當前流脈衝的匯"二::入 和其他較高級別的匯流排使用請求一併進行里^求 高級別的匯流排使用請求進行匯流排授權。 ,^中較 當匯流排上的主裝置要求使 I β ^ ^ ^ ^ 定用匯/爪排進行資料傳送運 异%,百先會發出匯流排使用請求給 ^ > τ桃為,由仲裁哭i企 照預設的演算法判斷出可優先進 T甄„。知 疋1丁的研衣。本實施例中, =可進行的仲裁包括正向仲裁和反向仲裁兩個部分。 正向仲裁是指對主裝置發出的匯流排使用tt求進行 反向仲裁是指在讀運算+,對從屬裝置為回傳資料而發出 的匯流排使用請求進行仲裁。而正 T哉又包括兩層仲 裁,分別是第二階段仲裁和第一階段仲裁。 請參照第3圖,圖中麟示的仲裁器包括實現第二階段 仲裁的正向第二階段仲裁模、板306、實現第—階段仲裁的 正向第-階段仲裁模組303和實現反向仲裁的反向仲裁模 組307。正向仲裁後的各訊號經過正向解瑪器⑽解碼後, 达給重要主裝置群302以及次要主裝置群3()ι中之相應的 主裝置與從屬裝置群3〇9中之相應的從屬裝置;反向仲裁 後的各訊號經過反向解碼器3〇8解碼後,&給從屬裝置群 3〇9中之相應的從屬裳置和重要主裝置群如以及次要主 14 1249680 之相應的主裝置。正向第二階段仲裁模組306 將仲裁結出的匯流排使用請求進行仲裁,再 組3〇3則把重== 裁模U3·’第一階段仲裁模 一 要主袭置群3〇2發出的匯流排使用請求和第 一 &段的仲裁結果一起進行仲裁。 心°中裁的第一階段在任何時間都可進行新的仲裁, 斤、Γ管^仲裁演算法可以是熟悉相關技術人員所知曉的各 ^:n在本實施例中’ I向第二階段仲裁模組是採用 口:k先核决算法進行仲裁,即對每一個主裝置設定一個 確:的I:先權等級’在同一時間有兩個或兩個以上的主裝 置提出明求時’則選中優先順序別較高的主裝置進入第一 P白&例如,本實施例中,次要主裝置群3 0丨包括次要主 裝置2、、次要主裝置E和次要主裝置F,其優先權等級分 別没定為1級、2級和3級。這樣,當次要主裝置群3〇丄 提出請求時,仲裁器將選中優先權等級相對較高的次要主 裝置D提出的匯流排請求作為仲裁結果,送入第一階段仲 裁模組303。 請參照第4圖,其繪示了第二階段仲裁一個示範性的 時序圖’其中次要主裝置D發出的匯流排使用請求的訊號 包括MReq3、MLast3和MDstnum3,分別指出請求的級別、 資料傳送狀態和目標從屬裝置的號碼,同樣地,次要主裝 置E發出的匯流排使用請求的訊號包括MReq4、MLast4 和MDstnum4。第二階段仲裁模組發出的仲裁結果訊號包 括 A2Req、A2Last、A2Dstnum 和 A2MNum,這些訊號分 15 1249680 別指出第二級仲裁後得到的請求的級別、資料傳送狀態、 目標從屬裝置的號碼和回應的主裝置的號碼。本實施例 中,對重要主裝置A、重要主裝置B、重要主裝置C、次 要主裝置D、次要主裝置E、次要主裝置F依序編號為〇、 1、2、3、4、5 ;同樣地,對重要從屬裝置A、重要從屬裝 置B、重要從屬裝置C、次要從屬裝置D、次要從屬裝置E、 次要從屬裝置F依序編號為〇、1、2、3、4、5。 當次要主裝置D、次要主裝置E和次要主裝置ρ同時 提出匯流排使用請求時,根據優先等級,仲裁器將優先選 中次要主裝置D提出的匯流排像用請求;若只有次要主裝 置E和次要主裝置F同時提出匯流排使用請求時,根據優 先等級,仲裁器將優先選中次要主裝置E提出的匯流排使 用請求。因此,在第4圖的時序中,第二階段仲裁模組發 出的仲裁結果為優先響應次要主裝置D的匯流排使用請 求。在次要主裝置D的匯流排使用請求響應結束後,仲裁 器才對次要主裝置E此時發出的匯流排使用請求做出回 應。第二階段仲裁模組發出的仲裁結果訊號,包括A2Req、 A2Last、A2Dstnum和A2MNum等,送入第一階段仲裁模 組簽與仲裁。在第4圖的範例中,假定此時無其他匯流排 使用請求參舆仲裁或第二階段仲裁模組被優先選中,則在 第一階段仲裁模組中,匯流排上的仲裁器將發出仲裁訊 號,包括第4圖所示的匯流排授權訊號AGrant和授權主裝 置訊號AMN⑽等。在本實施例中,由於次要主裝置的資 料傳送速率始終為較低的速率,即1個資料/2時脈,因此、, 16 !249680 仲裁器對於次要主裝置送出的杳 的貝枓在兩個時脈只對一個資 料的傳送運算發出AGrant有效$味a 貝 令政Λ 5虎進行回應。 正向第一階段仲裁並不是在 疋在任何時間都可進行新的仲 裁,而只在滿足一定條件而允 Τ 叫允5午仲裁的時候才能進行仲
裁。一般情況下,第一階段可以、* y T 、, 了以進行仲裁的首要條件是當 Μ仲裁器處於閒置狀態。本實 卞仟疋田 Λ ^ 尽Μ方也例中,仲裁器提供了
Arb —state訊號,當該訊號為1〇 ^ 0a LE時,表示仲裁器目前處 於閒置狀態,即當前無正在進行中的仲裁運算。 第-階段仲裁採用了分級仲裁機制,在本實施例中包 括REQ仲裁時機和CREQ仲教眛媸 ϋ & V W萩日寸機。對應於這兩個仲裁時 機,分別設有較低級仲裁時機訊號 风也就AREQ —arb和較高級仲 裁時機訊號ACREQ一arb訊號。針對本實施例流脈衝形式的 資料傳送方式,仲裁狀態機中只有在出現LAST、same和 DIFF這二種分段脈衝結束碼時,才能進入仲裁狀態。在本 實施例中,一個流脈衝過程只能被CREQ級別的其他匯流 排使用請求中斷,而REQ級別的其他匯流排使用請求是不 能中斷一個流脈衝的。因此,在出現LASt訊號時, AREQ —arb说號與ACREQ —arb訊號同時有效;在出現SAME 或DIFF訊號時,只有ACREQ —arb訊號有效。 請參照第5圖,圖中以一個仲裁時機的時序當例子對此 做了說明。在主裝置發出的MLast訊號經仲裁器仲裁後, 仲裁器的正向解碼器會發出ALast訊號,圖中共有三個示 範,分別為LAST、SAME和DIFF。LAST訊號表示一個流 脈衝結束,此時AREQ_arb和ACREQ —arb兩個訊號同時有 17 1249680 效;SAME和DIFF均只表示一個分段脈衝已經結束,而流 脈衝未結束,此時只有ACREQ —arb訊號有效。 請參照第6圖與表2,本實施例的仲裁狀態機共包括三 個片大態·· IDLE、ARBLEVEL1 和 ARBLEVEL2 ° ARBLEVEL1 和ARBLEVEL2分別為前文所述的REQ仲裁時機和CREQ 仲裁時機。以下說明請參照表2。 表2 條件1 沒有一個有效請求是CREQ或LREQ,至少 有1個有效請求是REQ 條件2 在AREQ —arb有效時,且沒有一個有效請求 是 REQ、CREQ 或 LREQ 條件3 至少有1個有效請求是CREQ或LREQ 條件4 在 ACREQ —arb有效時,且沒有一個有效請 求是 REQ、CREQ 或 LREQ 條件5 在ACREQ —arb有效且AREQ —arb無效時, 至少有1個有效請求是CREQ或LREQ,且 記 AEnterST2 為 1 條件6 在ACREQ —arb有效時,且沒有一個有效請 求是 CREQ 或 LREQ,以及 AEnterST2 為 1, 同時把AEnterST2歸零 當 Arb—state 訊號為 IDLE’並且滿足條件 1 ’即 AREQ_arb訊號有效時,只有REQ級別的有效請求而沒有 18 1249680 CREQ 或 LREQ 級別的有效請求,則仲裁器進入 ARBLEVEL1仲裁狀態。在ARBLEVEL1仲裁狀態下,仲裁 器可以對主裝置發出的REQ、CREQ和LREQ級別的匯流 排使用請求進行仲裁。當Arb_state訊號為IDLE,並且滿 足條件3,即 ACREQ_ai*b訊號有效時,只要有CREQ或 LREQ級別的有效請求,而無論是否有REQ級別的有效請 求,則仲裁器進入ARBLEVEL2仲裁狀態。在ARBLEVEL2 仲裁狀態下,仲裁器只對主裝置發出的CREQ或LREQ級 別的匯流排使用請求進行仲裁,而REQ級別的匯流排使用 請求不參與仲裁。 從第6圖也可以看到,仲裁狀態機中ARBLEVEL1和 ARBLEVEL2兩個狀態在一定的條件也可以相互轉換。因 此,在本實施例中,引入了 AEnterST2訊號,用來記錄被 中斷的仲裁狀態。當仲裁器正在ARBLEVEL1狀態下仲裁 時,由於出現較高級別的有效請求,如CREQ或LREQ請 求,需要轉換仲裁狀態到 ARBLEVEL2狀態下,此時記 AEnterST2訊號為1。由於仲裁器從ARBLEVEL 1狀態下轉 換到ARBLEVEL2狀態下時,需記AEnterST2訊號為1, 因此,在AEnterST2訊號為1的情況下,當ARBLEVEL2 狀態下的仲裁運算完成後,若只有rEq級別的匯流排使用 請求而沒有CREQ或LREQ級別的匯流排使用請求,仲裁 ,器將不進行重新仲裁,而是返回到原先的仲裁狀態,並在 返回的同時將AEnterST2訊號歸零。而在轉換仲裁狀態 時’需要保留仲裁器的内部狀態,要保留的訊號量暫時放 19 1249680 在緩衝器中,要保留的訊號量主要有仲裁器送給主裝置以 回應主裝置的訊號AMNum、仲裁器送給從屬裝置以回應 k屬裟置的訊號ASNum和用來指明資料傳送速率的仲^ 器内部訊號ALevel。在本實施例中,ALevel訊號為高表示 使用較高的速率,即1個資料/時脈,而ALevel訊號 表示使用較低的速率,即i個資料/2時脈。而在其# 例中,也可採用更多個不同的資料傳送速率,並相應地對 ALevel訊號進行編碼。 、 在k IDLE狀態直接轉換到ARBLEVEL2狀態下時,卷 仲裁器完成ARBLEVEL2狀態下的仲裁任務後,即使有 REQ級別的有效請求而沒有CREq或lreq級別的有效請 求犄,仲裁器仍將重新對全部的有效請求進行仲裁。 在ARBLEVEL1狀態下,仲裁器採用一般演算法,公 平地對各個主裝置發出的各類匯流排使用請求進行仲裁, 從中遠出一個請求,並對發出該請求的主裝置傳送授權訊 號,則主I置開始貧料傳送。在ARBLEVEL2狀態下,仲 裁裔將採用一般演算法對CREQ級別的匯流排使用請求進 打仲裁,從中選出一個請求,對發出該匯流排使用請求的 主裝置傳送授權訊號’主裝置接到授權訊號後開始佔用匯 流排進行資料傳送運算。在ARBLEVEL2狀態下,REQ級 別的請求將被忽略。這裏的一般演算法,指單迴圈仲裁演 异法(Round Robin)或其他為本技術領域人員公知的仲裁 演算法,在此不再贅述。 請苓照第7圖,在本實施例的另一個示範例中,次要主 20 1249680 裝置D和次要主裝置E需要完成與第4圖的示範例同樣的 資料傳送運算,但在次要主褒置D的傳送過程中,仲裁器 收到了一個较高級別的匯流排使用請求。在第7圖中, 要主裝置A發出了匯流排使用請求,其訊號包括熥〜卟重 MLastO和MDstnumO等。仲裁器收到CREQ級別重要主裝 置A的匯流排使用請求後,仲裁狀態機進入到 ARBLEVEL2,對重要主裝£ A的匯流排使用請求進 裁。在次要主裝置D的第一個分段脈衝結束時,仲裁器 權重要主裝置A進行資料傳送。重要主裝置a的發送 為重要從屬…’因此其資料傳送速率較高,為… 料/時脈。重要主裝置A的資料傳送完成後返回原流脈衝貝 假設此時無其他CREQ級別的匯流排使用請求,則繼續進 打次要主裝置D的資料傳送以及次要主裝置E的 送,貧料傳送速率仍為i個資料/2時脈。 、 本:广:中主U A和主裴置B還具有多執行緒 =;一 t行緒可以是CPU、DSP、繼或者是子 t:二 緒獲得授權使用匯流排時,仲裁器會 毛/I緒所屬主裝置的號碼和該執行緒的號碼。一個 執灯緒的請求未被執行完全時, 從屬裝置還未準備好時,允許同= ; = :料所在的 發出請求,因此可能會有幾個不同置執行緒 同從屬裝置同時回傳的情形。在其他 對庫的不可此出現幾個不同主裝置請求的讀數據,從 α自對應的不同從屬裝置同時回傳的情形。仲裁器的反向 21 1249680 仲裁模組在遑種情形下,可以# 叙# Λ對各個不同從屬裝置回傳嘈 态反向仲裁完成後,仲裁器提# @ 我 疋1,、的ARGrant訊號將置於右 效狀態,授權選中的從屬裝置佔 ^ 一 佔有匯^排進行資料回傳運 异’同時,表示已有從屬裝置驊彳 置獲侍彳又榷並佔有匯流排, ARGrant訊號為各裝置共用。 本實施例巾,仲裁器的反向仲裁也有仲裁時機。在次 要從屬裝置進行反向資料傳送時或是進行反向資料傳送的 目標是次要主裝置時,即正在進行資料傳送速率為丨個資 料/2時脈的資料傳送運算時,仲裁器不進行仲裁。 、 請參照第8圖,圖中對反向仲裁的仲裁時機進行示範性 說明。圖中ARSNum訊號表示進行反向資料傳送的從屬裝 置,ARGrant Λ號表示仲裁器對反向資料傳送的從屬裝置 和對應主裝置發出回應,ARMNum訊號表示反向資料傳送 的目標主裝置’ ARArb一forbid訊號為低時,表示允許對反 向傳送的從屬裝置的有效請求做出仲裁。從第8圖中可以 看出,重要從屬裝置A在對重要主裝置B進行反向資料傳 送時,資料傳送速率為1個資料/時脈,ARArb —forbid訊 號為低,可進行仲裁;重要從屬裝置B向次要主裝置F回 傳資料的反向匯流排使用請求,資料傳送速率為1個資料 /2時脈,ARArb_forbid訊號變高,不可進行反向仲裁;次 要從屬裝置E對重要主裝置B和次要從屬裝置F對次要主 裝置D發出反向匯流排使用請求時,資料傳送速率均為i 個資料/2時脈,ARArb_forbid訊號會變高,不可進行反向 22 !249680 仲裁。 本實施例中,反向請求也分成不同等級,包括SREQ '、及別的反向請求和CSREQ級別的反向請求,其中CSREQ 、另】的反向請求優先順序高於SREQ級別的反向請求。在 仲裁為對反向請求進行仲裁時,首先回應CSREQ級別的反 向清求。同級別的反向匯流排使用請求則按發出反向請求 的攸屬裝置的固定優先順序來決定。例如,可將從屬裝置 A攸屬裝置6、從屬裝置C、從屬裝置D、從屬裝置E和 7屬農置F的固定優先順序由高到低設定,因此,若從屬 ▲ 2 A、從屬裝置B和從屬裝置^同時發出反向匯流排使 1明求’仲裁器將優先響應從屬裝置A的反向匯流排使用 明求,而若只有從屬裝置B和從屬裝置C同時發出同級別 的反向匯流排使用請求時,仲裁器將優先響應從屬裝置B ::向匯流排使用請求。在其他實施例中,也可採用其他 r去對反向匯流排使用請求進行仲裁,同樣應該包含 本發明的實質範圍内。 躍然本發明 太癸昍/ 、丄於丹亚非用以限定 又’任何_習此技藝者’在不脫離本發明 :附::作各種之更動與潤飾,因此本發明之保護範圍:: 後附之申請專利範圍所界定者為準。 田視 【圖式簡單說明】 圖 以下附圖為對本發明實施例的辅 對本發明實施例的闡述,是為進一 助說明,結合 步揭露本發明 以下附 的特徵 23 1249680 所在,但並不限制本發明’圖中相同符號代表實施例中相 應元件或步驟,其中: 第1圖繪示本發明一實施例的多裝置系統結構示意 圖; 第2圖繪示第1圖所示多裝置系統的匯流排結構示意 圖; 第3圖繪示本發明一實施例的仲裁器之結構圖; 第 4圖繪示本發明一實施例之第二階段仲裁的時序 圖, 第5圖繪示本發明一實施例之第一階段仲裁的仲裁時 機時序圖; 第6圖繪示本發明一實施例之仲裁器的仲裁狀態機工 作原理圖; 第7圖繪示本發明一實施例的正向仲裁時序圖;以及 第8圖繪示本發明一實施例的反向仲裁時機時序圖。
102 :主裝置A 104 :主裝置C 106 :主裝置E 108:從屬裝置A 110 :從屬裝置C 112 :從屬裝置E 114 :仲裁器
【元件代表符號簡單說明】 1 0 1 :匯流排 103 :主裝置B 105 :主裝置D 107 :主裝置F 109 :從屬裝置B
I 11 :從屬裝置D
II 3 :從屬裝置F 24 1249680 201 : 203 : 205 : 207 : 209 : 211: 213 : 215 : 216 : 217 : 301 : 303 : 304 : 306 : 307 : 309 : 仲裁器 202 : 重要主裝置A 重要主裝置B 204 : 重要主裝置B 次要主裝置D 206 : 次要主裝置E 次要主裝置F 208 : 重要從屬裝置A 重要從屬裝置 B 210 : 重要從屬裝置C 次要從屬裝置 D 212 : 次要從屬裝置E 次要從屬裝置 F 214 : 第一主裝置多工器 第一從屬裝置多工器 第二主裝置多 工器 第二從屬裝置多工器 次要主裝置群 302 : :重要主裝置群 正向第一階段仲裁模組 仲裁狀態機 305 : 正向解碼器 正向第二階段仲裁模組 反向仲裁模組 308 :反向解碼器 從屬裝置群
25
Claims (1)
1249680 圍 拾、申請專利範 統至少包含: 其中該些主裝置依照 裝置以及複數個低頻 ,通過該匯流排與該 中該些從屬裝置依照 屬裝置以及複數個低 種多裝置系統,該多裝置系 匯减排; ” 并—複數個主裝置與該匯流排相連, 員寬要求可分為複數個高頻寬要求主 寬要求主裝置; 複數個從屬裝置與該匯流排相連 些主裝置次 ^ <間進仃貧料傳送運算,其 頻見要求可分為複數個高頻寬要求從 頻寬要求從屬裝置;以及 一仲裁器,供仲裁該匯流排之資料傳送運算,該仲 為至少包含: 一正向仲裁裝置,至少包含: … 主 用請求進行判斷’選 ;以及 對該候選低頻寬要求 主装置發出的至少一 選擇/授權主裝置’ 由該暖流排對該些從 以及 頻%要求從屬裝置發 ^斷,選擇出一授權 一第二階段仲裁模組,對該些低頻寬要求 裝置發出的至少一匯流排使 擇一候選低頻寬要求主裝置 一第一階段仲裁模組’ 主裝置以及該些高頻寬要求 匯流排使用請求進行判斷’ 其中該授權主裝置被允許經 屬裝置進行資料傳送運算; 一反向仲裁裝置,對該些高 出的至少一匯流排使用請求進行 26 1249680 從屬裝置,其中該授權從屬裝置被允許經由該匯流排 對該些高頻寬要求主裝置進行反向資料傳送運算。 2. 如申請專利範圍第1項所述之多裝置系統,其中該 些高頻寬要求主裝置和該些高頻寬要求從屬裝置之間的資 料傳送速率高於該些低頻寬要求主裝置和任一該些從屬裝 置或任一該些主裝置和該些低頻寬要求從屬裝置之間的資 料傳送速率。 3. 如申請專利範圍第1項所述之多裝置系統,其中該 些高頻寬要求主裝置以及該些高頻寬要求從屬裝置與該仲 裁器之物理距離小於該些低頻寬要求主裝置以及該些低頻 寬從屬裝置與該仲裁器之物理距離。 4. 如申請專利範圍第1項所述之多裝置系統,其中該 些主裝置為具有多執行緒(thread)的主裝置。 5 ·如申請專利範圍第1項所述之多裝置系統,其中該 第二階段仲裁模組係採用固定優先權演算法(fixed priority algorithm)來選擇該候選低頻寬要求主裝置。 6.如申請專利範圍第1項所述之多裝置系統,其中該 第一階段仲裁模組係採用單迴圈仲裁演算法(Round Robin) 來選擇該授權主裝置。 27 1249680 7.如申請專利範圍第1項所述之多裝置系統,其中該 反向仲裁裝置係採用固定優先權演算法(fixed priority algorithm)來選擇該授權從屬裝置。
8 · —種多裝置糸統之操作方法,供仲裁一匯流排之資 料傳送運算,該匯流排連接複數個主裝置以及複數個從屬 裝置,其中該些主裝置依照頻寬要求可分為複數個高頻寬 要求主裝置以及複數個低頻寬要求主裝置,且該些從屬裝 置依照頻寬要求可分為複數個高頻寬要求從屬裝置以及複 數個低頻寬要求從屬裝置,該操作方法包含: 對該些低頻寬要求主裝置發出的至少一匯流排使用請 求進行判斷’選擇一候選低頻寬要求主裝置;
對該候選低頻寬要求主裝置以及該些高頻寬要求主裝 置發出的至少一匯流排使用請求進行判斷,選擇一授權主 裝置,其中該授權主裝置被允許經由該匯流排對該些從屬 穿置進行資料傳送運算;以及 對該些高頻寬要求從屬裝置發出的至少一匯流排使用 请求進行判斷’選擇出一授權從屬裝置’其中該授權從屬 裝置被九許經由該匯流排對該些高頻寬要求主裝置進行反 9.如申請專利範圍第8項所述之操作方法,其中該些 高頻%要求主裝置和該些高頻寬要求從屬裝置之間的資料 28 1249680 傳送速率高於該些低頻寬要求主裝置和任一該些從屬裝置 成任/該些主裝置和該些低頻寬要求從屬裝置之間的資料 傳送速率 I 〇.如申請專利範圍第8項所述之操作方法,其中該些 高頻寬要求主装置以及該些高頻寬要求從屬裝置與該仲裁 弯之物理距離小於該些低頻寬要求主裝置以及該些低頻寬 從屬裝置與該仲裁器之物理距離。 II ·如申請專利範圍第8項所述之操作方法,其中該些 主裝置為具有多執行緒(thread)的主裝置。 1 2 ·如申清專利範圍第8項所述之操作方法,其中係採 用固定優先權演算法(fixed priority algorithm)來選擇該候 選低頻寬要求主裝置。 1 3 ·如申睛專利範圍第8項所述之操作方法,其中係採 用單迴圈仲裁演算法(Round Robin)來選擇該授權主裝置。 用固 如申睛專利範圍第8項所述之操作方法,其中係採 > 疋彳支先權演算法(fixed priority algorithm)來選擇該授 核從屬裝置。 29
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW93100612A TWI249680B (en) | 2004-01-09 | 2004-01-09 | A multi-device system and the method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW93100612A TWI249680B (en) | 2004-01-09 | 2004-01-09 | A multi-device system and the method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200523748A TW200523748A (en) | 2005-07-16 |
TWI249680B true TWI249680B (en) | 2006-02-21 |
Family
ID=37430178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW93100612A TWI249680B (en) | 2004-01-09 | 2004-01-09 | A multi-device system and the method thereof |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI249680B (zh) |
-
2004
- 2004-01-09 TW TW93100612A patent/TWI249680B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW200523748A (en) | 2005-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1027657B1 (en) | A fully-pipelined fixed-latency communications system with a real-time dynamic bandwidth allocation | |
US7275119B2 (en) | Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus | |
TWI309358B (en) | Weighted bus arbitration based on transfer direction and consumed bandwidth | |
US5623672A (en) | Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment | |
US6393506B1 (en) | Virtual channel bus and system architecture | |
CN103543954A (zh) | 一种数据存储管理方法和装置 | |
US20030229742A1 (en) | Methods and structure for state preservation to improve fairness in bus arbitration | |
US20030088722A1 (en) | System and method for managing priorities in a PCI bus system | |
US20080059674A1 (en) | Apparatus and method for chained arbitration of a plurality of inputs | |
Weber et al. | A quality-of-service mechanism for interconnection networks in system-on-chips | |
US7543093B2 (en) | Method and system for stream burst data transfer | |
EP1820109B1 (en) | Time-based weighted round robin arbiter | |
KR100803114B1 (ko) | 메모리 중재 방법 및 시스템 | |
KR100626362B1 (ko) | 고속 대역폭의 시스템 버스를 중재하기 위한 중재기, 중재기를 포함하는 버스 시스템 및 버스 중재 방법 | |
TWI249680B (en) | A multi-device system and the method thereof | |
US6571306B1 (en) | Bus request mechanism for bus master which is parked on a shared bus | |
US6889283B2 (en) | Method and system to promote arbitration priority in a buffer queue | |
US7058742B2 (en) | Method and apparatus for arbitrating common bus by using urgent channel | |
JP2009519524A (ja) | データ伝送バスにアクセスする方法、対応する装置およびシステム | |
KR100973419B1 (ko) | 버스 중재 방법 및 장치 | |
US7130947B2 (en) | Method of arbitration which allows requestors from multiple frequency domains | |
WO2006045216A1 (fr) | Dispositif et procede d'arbitrage | |
US6854036B2 (en) | Method of transferring data in a processing system | |
TWI559228B (zh) | 可變長度仲裁方法及裝置 | |
US20070198730A1 (en) | Embedded system with a bus and arbitration method for same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |