專利名稱:系統總線控制裝置、集成電路和數據處理系統的制作方法
技術領域:
本發明涉及一種系統總線控制裝置、集成電路,和有效利用系統總線來實現高效的數據傳送的數據處理系統。
背景技術:
已知一種技術,通過有效地利用LSI(大規模集成電路)的系統總線、個人電腦或圖像處理裝置的系統總線、或者各種數據處理裝置的系統總線,來執行總線仲裁以便執行高效的數據傳送。例如,日本未審查的專利公開第11(1999)-345196號中公開了一種技術,其中地址/數據總線被分成多個位寬度,在多個塊的每一塊的地址值中,只傳送變化的塊的地址值。日本未審查的專利公開第09(1997)-319699號中公開了一種技術,其中系統總線被分成多位,并且可以異步使用。在日本未審查的專利公開第5(1993)-282242號中公開了一種技術,其中總線被分成多個總線線路單位,并且與數據傳送量對應地使用總線,因而提高了總線的使用效率。日本未審查的專利公開第2004-110224號中公開了一種技術,其中數據總線被分成預定總線寬度,設定每個數據總線的總線使用權,以此方式進行仲裁,即,響應數據傳送請求發出分割的總線的使用權。
日本未審查的專利公開第11(1999)-345196號中所公開的技術可提高傳送速度。日本未審查的專利公開第09(1997)-319699號中所公開的技術使異步傳送成為可能。日本未審查的專利公開第5(1993)-282242號中所公開的技術,由于總線被分成多條總線線路,所以可更加有效地使用總線。日本未審查的專利公開第2004-110224號中公開的技術使得能夠分割使用總線,即,將一半的總線用作發射器,另一半總線用作接收器。
然而,當傳送請求數據的總線寬度大于允許使用的總線寬度時,不可能進行數據傳送,因此,應該使數據傳送進入待機狀態。
圖13是用來解釋傳送請求數據的總線寬度大于允許使用的總線寬度,因此數據傳送處于待機狀態情況下的時間圖。圖13所示圖表的縱向代表系統總線的總線寬度,而圖表的橫向代表傳送計時。圖13示出了總線寬度為8位單位的四條系統總線。圖13示出了從時刻t1至時刻t8,總線主控器A(8位)和總線主控器B(16位)執行數據傳送。在此情況下,有8位總線寬度是自由的。
由于在系統總線中只有8位自由總線寬度,所以在時刻t1到時刻t8期間從總線主控器C發出16位數據的傳送請求時,總線主控器C應該等到總線主控器A或總線主控器B的傳送完成時才執行數據傳送。由于在總線主控器A或B的傳送完成之后在系統總線中產生16位的自由總線寬度,所以總線主控器C可以從時刻t9開始傳送數據。在如圖13所示的實例中,在時刻t9從總線主控器A或B的傳送完成之后,在系統總線中產生對應于32位的自由總線寬度,但是使用的是對應于16位的總線寬度,而對應于另16位的總線寬度自由。
發明內容
考慮到當總線寬度小于傳送請求數據的總線寬度時,即使系統總線具有自由總線,數據傳送也應該等待的情況;或者即使系統總線中存在自由總線,也只有對應于傳送請求數據的總線寬度的總線被使用的情況,實現了本發明。具體地,本發明提供一種系統總線控制裝置,其使得即使在傳送請求數據的總線寬度大于允許使用的總線寬度的情況下也能夠傳送數據。而且,本發明提供了一種系統總線控制裝置,其使得在允許使用的總線寬度大于請求傳送的數據的總線寬度時,能夠通過使用可使用的大的總線寬度進行數據傳送。
因而,本發明的目的在于提供一種系統總線控制裝置,其有效地利用系統總線來實現高效的數據傳送。
為解決上述問題,根據本發明的系統總線控制裝置包括系統總線,其是從總線主控器傳送的數據的路徑;總線狀況監控部,其監控系統總線的使用狀況或非使用狀況;總線分配部,其在總線主控器發出傳送請求時,基于總線狀況監控部所監控到的系統總線的使用狀況或非使用狀況,分配總線主控器允許傳送的總線寬度;總線寬度可變部,其根據分配的總線寬度,改變從總線主控器傳送的數據的總線寬度。因此,根據允許使用的總線寬度改變待傳送的數據的總線寬度,由此使傳送請求不進入待機狀態。
圖1是根據本發明的系統總線控制裝置的框圖;圖2是構成根據本發明的系統總線控制裝置的總線主控器側控制部的框圖;圖3是構成根據發明的系統總線控制裝置的總線仲裁器的框圖;圖4是根據本發明的系統總線控制裝置的分割傳送的時間圖;圖5是根據本發明的系統總線控制裝置的組合傳送的時間圖;圖6是根據本發明的系統總線控制裝置的優先傳送的時間圖;圖7是根據本發明的系統總線控制裝置的分割傳送的流程圖;圖8是根據本發明的系統總線控制裝置的組合傳送的流程圖;圖9是根據本發明的系統總線控制裝置的優先傳送的流程圖;圖10是根據本發明的系統總線控制裝置的正常傳送的時間圖;圖11是根據本發明的系統總線控制裝置的分割傳送的時間圖;圖12是根據本發明的系統總線控制裝置的組合傳送的時間圖;和圖13是常規的時間圖。
具體實施例方式
在根據本發明的系統總線控制裝置中,優選的是,總線狀況監控部檢測系統總線中的每條總線的使用狀況或非使用狀況,或根據總線主控器請求傳送的數據的總線寬度和數據量,保持系統總線的使用狀況或非使用狀況。因此,可以傳送請求傳送的數據,以便與系統總線的使用狀況或非使用狀況相對應。
在根據本發明的系統總線控制裝置中,優選的是,總線寬度可變部具有以下功能在總線主控器請求傳送的數據的總線寬度大于總線分配部所分配的總線寬度時,根據所分配的總線寬度分割來自總線主控器的數據,而在總線主控器請求傳送的數據的總線寬度小于總線分配部所分配的總線寬度時,根據所分配的總線寬度組合來自總線主控器的數據。因此,傳送請求不進入待機狀態。
根據本發明的系統總線控制裝置優選地還包括數據存儲部,其在總線主控器請求傳送的數據不能被傳送時存儲該數據,其中當總線狀況監控部在數據被存儲在數據存儲部的事件中檢測到總線沒有被使用時,或者當總線狀況監控部從所保持的使用狀況或非使用狀況推斷出總線沒有被使用時,總線寬度可變部改變存儲在數據存儲部中數據的總線寬度,以便與對應于非使用總線寬度的總線寬度相一致。因此,當整個系統總線被使用時,將數據暫時存儲在緩沖器中,然而當總線進入可使用狀況時,根據可使用的總線寬度來組合數據,由此可縮短傳送時間。
在根據本發明的系統總線控制裝置中,優選的是,總線分配部所分配的總線寬度是請求傳送的數據總線寬度的2的階乘倍或者1/(2的階乘)。因此,不會產生自由總線的奇數和。
在根據本發明的系統總線控制裝置中,優選的是,總線狀況監控部具有完成預期部,完成預期部根據總線主控器傳送的數據的總線寬度和數據量,計算數據傳送的預期完成時刻。因此,可以系統地使用系統總線。
在根據本發明的系統總線控制裝置中,優選的是,當從總線主控器發出具有高優先順序的傳送請求時,總線分配部將當前正在傳送的數據的總線寬度減少具有高優先順序的請求傳送的數據的總線寬度,并將系統總線分配給發出具有高優先順序的傳送請求的總線主控器。因此,可以提高系統性能。
優選地,將優先順序預先分配給總線主控器或分配給對應于總線主控器的總線寬度可變部。因此,根據優先順序執行傳送。
而且,優選的是,根據總線主控器請求傳送的數據的量來分配優先順序。因此,可以按照數據量的順序來按順序傳送數據。
從不同的觀點來看,本發明提供了一種集成電路,包括系統總線,其是從總線主控器傳送的數據的路徑;總線狀況監控部,其監控系統總線的使用狀況或非使用狀況;總線分配部,其在總線主控器發出傳送請求時,基于總線狀況監控部所監控到的系統總線的使用狀況或非使用狀況,分配允許總線主控器傳送的總線寬度;總線寬度可變部,其根據所分配的總線寬度,改變從總線主控器傳送的數據的總線寬度。因此,可以獲得作為集成電路的系統總線控制裝置。
而且,從另一個不同的觀點來看,本發明提供了一種數據處理系統,包括傳送數據的系統總線;多個總線主控器,其連接到系統總線,并帶有暫時存儲待傳送的數據的緩沖器和改變總線寬度的總線寬度可變部;和總線仲裁器,其連接到系統總線,并具有總線狀況監控部和總線分配部,其中總線狀況監控部監控系統總線的使用狀況或非使用狀況,總線分配部在總線主控器發出傳送請求時,基于總線狀況監控部所監控到的系統總線的使用狀況或非使用狀況,分配允許總線主控器傳送的總線寬度。
根據本發明所述,當系統總線中存在自由空間時,根據自由總線的總線寬度改變請求傳送的數據的總線寬度,由此可以有效地使用所有總線。因此,請求傳送的數據不進入待機狀態,或者可以縮短待機時間。因此,可以有效地使用系統總線,并實現高效的數據傳送。
而且,具有較高優先順序的待傳送的數據可以優先于具有較低優先順序的數據而被傳送。
本發明提供一種系統總線控制裝置,其有效利用通過ASIC技術形成的LSI的系統總線、個人計算機或圖像形成裝置的系統總線,或者用于高效地傳送數據的各種數據處理裝置的系統總線。
下面將參考圖1的框圖說明本發明,其中本發明的系統總線控制裝置被應用于LSI。
如圖1所示,通過總線主控器側控制部2,總線主控器1被連接到系統總線3。存在多個總線主控器1和多個總線主控器側控制部2。圖1示出了五個總線主控器1和五個總線主控器側控制部2。總線主控器1和總線主控器側控制部2的數量可以不少于五個或者不多于五個。當分別說明每個總線主控器1和總線主控器側控制部2時,添加了下標a至e。
每個總線主控器1a和1d發射或接收8位數據信號,并通過8位數據線分別連接到總線主控器側控制部2a和2b。每個總線主控器1b、1c和1e發射或接收16位數據信號,并通過16位數據線分別連接到總線主控器側控制部2b、2c和2e。
系統總線3通過目標側控制部4連接到目標5。存在多個目標側控制部4和多個目標5。圖1示出了三個目標側控制部4和三個目標5。目標側控制部4和目標5的數量可以不少于三個或不多于三個。
盡管圖1中僅示出了用于數據傳送的系統總線3,在圖1中沒有示出地址線和命令線,但是獨立地設置了用來連接總線主控器側控制部2和目標側控制部4的地址線和命令線。
總線仲裁器6連接到系統總線3。下面將參考圖2說明總線主控器側控制部2和目標側控制部4,隨后將參考圖3說明總線仲裁器6。
總線主控器1是,例如,CPU、DMA控制器的輸入部或輸出部、或RAM。CPU可以直接讀取或寫入目標數據。DMA控制器是代替CPU控制目標之間的數據傳送的模塊。它們是輸入或輸出數據的雙向裝置,優選地由DMA構成。
目標5是從總線主控器1接收地址或命令并解碼接收到的地址或命令的裝置。諸如硬盤、ROM、或RAM、或者I/O等裝置的外部存儲器裝置被連接到目標5的外側。圖1中由框架圍起的部分示出了LSI或板中的配置。LSI可以以下方式構成,即可以根據LSI的尺寸而不包括總線主控器1和目標5中的至少一些。
從總線主控器1發出的命令和數據通過總線主控器側控制部2、系統總線3和目標側控制部4發射到目標5。目標5輸入數據并且在來自總線主控器1的命令為寫入命令時將數據保持在指定地址。如果來自總線主控器1的命令為讀取命令,目標5將指定地址的數據輸出到總線主控器。
可選地,來自總線主控器1中的一個的命令和數據通過系統總線3被發射到另一個總線主控器1。目標5通常只從總線主控器1接收數據。
圖2是總線主控器側控制部2的框圖。總線主控器側控制部2包括從總線主控器1接收地址信號MADR的地址線11,從總線主控器1接收包括請求傳送的數據的總線寬度和數據量(或突發(burst)的數量)的命令線12,從總線主控器1發射或接收數據信號MDATA的數據線13,和從總線主控器1接收有效信號MVLD的有效信號線14。各條線連接到緩沖器15。緩沖器15具有以單位突發的量(例如,8個突發)存儲從每條線接收的信號或者發射到每條線的信號的能力。緩沖器15還連接到總線寬度可變部16。總線寬度可變部16具有將地址信號SADR發射到目標5的地址線21,將命令信號SCMD發射到目標5的命令線22,通過系統總線3發射數據信號SDATA的數據線23,和將有效信號SVLD發射到目標5的有效信號線24。這些線21至24連接到系統總線3。
總線寬度可變部16具有分割或組合總線寬度以改變從總線主控器1發射的數據的總線寬度以便與從總線仲裁器6命令的總線尺寸信號BSIZE相對應的功能。例如,將從總線主控器1發射的16位寬度的數據分成2個周期,每個周期的寬度為8位。數據寬度可變部16組合兩個具有8位寬度的數據以形成具有16位寬度的數據。在組合數據的情況下,以如下方式組合數據使得從總線主控器1發射的數據的位寬度變成2的階乘倍或整數倍。以使從總線主控器1發射的數據的位寬度變成1/(2的階乘)的方式分割數據。而且,總線寬度可變部16連接到檢測部17,檢測部17檢測來自總線主控器1的傳送請求MREQ并將傳送請求SREQ輸出到總線仲裁器6。而且,檢測部17檢測來自總線仲裁器6的傳送許可信號SGNT,并將傳送許可信號MGNT輸出到總線主控器1。
并且,總線寬度可變部16連接到操作部18,操作部18接收來自總線仲裁器6的允許尺寸信號BSIZE,并操作從總線主控器1發射的數據的總線寬度的分割或者組合。
上面是對總線主控器側控制部2的描述。目標側控制部4具有相同的配置。應注意,目標5連接到目標側控制部4而不是連接到總線主控器1,以處理目標5與系統總線3之間的數據。
圖3是總線仲裁器6的框圖。如圖3所示,總線仲裁器6包括仲裁部31和操作部32。仲裁部31連接到每個總線主控器側控制部2a至2e,并分別從總線主控器側控制部2a至2e接收傳送請求信號REQ-A至REQ-E。A至E代表被發射到總線主控器1a至1e的信號或從總線主控器1a至1e接收的信號。下面的說明也同樣成立。傳送請求信號REQ-A至REQ-E與圖2中所示的每個總線主控器側控制部2的傳送請求SREQ相對應。仲裁部31與操作部32通信以執行總線仲裁,并且仲裁的結果是,將總線使用許可信號GNT-A至GNT-E發射到每個總線主控器側控制部2a至2e。使用許可信號GNT-A至GNT-E與圖2中所示的每個總線主控器側控制部2的傳送許可信號SGNT相對應。
當仲裁部3 1接收到傳送請求信號REQ-A至REQ-E時,操作部32通過狀態信號BSTS-A至BSTS-D檢查總線A至D的狀況。該檢查在權利要求中被稱為監控或監控部。檢查每條總線A至D的狀況是指將系統總線3分成四條,檢測每條分割出的總線的使用或非使用狀況。而且,檢查每條總線A至D的狀況是根據允許總線仲裁器6傳送數據的總線寬度和數據量(或突發的數量),保持總線的使用狀況或非使用狀況。如上所述保持總線的使用狀況或非使用狀況,由此可以形成系統總線的使用計劃。由于將系統總線3分成四條,每條為8位,因此在此實施例中有四個狀態信號BSTS-A至BSTS-D,然而狀態信號的數量可以根據系統總線的尺寸或者分割的總線寬度而不同。
操作部32從每個總線主控器側控制部2a至2e接收命令信號SCMD-A至SCMD-E。命令信號SCMD-A至SCMD-E與圖2中所示的總線主控器側控制部2的命令信號SCMD相對應,并包括關于總線寬度和數據量的信息。操作部32在允許傳送數據時,根據包含在命令信號SCMD-A至SCMD-E中的總線寬度和數據量,以及指示每條總線的使用狀況或非使用狀況的狀態信號BSTS-A至BSTS-D,操作數據的總線寬度。在此操作中,獲得將使用的總線的位置以及總線寬度。將該操作的結果提供給總線主控器側控制部2,請求傳送允許傳送總線寬度信號BSIZE-A至BSIZE-E,和總線使用許可信號GNT-A至GNT-E。操作允許傳送的數據的總線寬度和發射允許傳送總線寬度信號在權利要求中被稱為分配總線寬度或總線分配部。
允許傳送總線寬度信號BSIZE-A至BSIZE-E與圖2中所示的總線主控器側控制部2的允許尺寸信號BSIZE相對應。使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E不僅可以被發射給請求傳送的總線主控器側控制部2,還可以被發射到作為傳送目的地的目標側控制部4。可替代地,接收傳送許可的總線主控器側控制部2可以將使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E傳送給作為傳送目的地的目標側控制部4或者傳送給作為傳送目的地的總線主控器側控制部2。總線仲裁器6不僅可以包括使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E,還可以包括數據量(或者突發的數量)和總線線路的位置信號。
如上配置根據本發明的總線系統控制裝置,并操作如下。
圖4示出了在利用根據本發明的系統總線控制裝置所分割的總線寬度來傳送數據時的時間圖。圖4示出了當存在四個8位單位系統總線時,從時刻t1到時刻t8傳送總線主控器1a(8位)和總線主控器1b(16位)的數據。在圖4中,A1至A8表示總線主控器1a的數據,B1至B8表示總線主控器1b的數據。在下面的說明中也同樣。
在從時刻t1到t8期間內,當從總線主控器1c發出16位數據的傳送請求時,由于系統總線3有8位自由空間,因此總線仲裁器6將傳送許可提供給總線主控器1c。應注意,允許傳送數據的總線寬度是8位。因此,總線主控器1c的數據寬度可變部16將16位數據分成信號C1a、C1b、C2a、C2b,......,它們是分別為8位的兩個周期的信號。
總線仲裁器6的使用許可信號GNT-C和允許傳送總線寬度信號BSIZE-C以及關于總線線路的位置信息,不僅可以被發射給總線主控器1的總線主控器側控制部2c,還可以被發射給作為傳送目的地或目標的總線主控器。可替代地,它們可以包含在將從接收傳送許可的總線主控器1c發射的命令MCMD中被發射。因而數據被分成8位寬度進行傳送,由此可有效利用系統總線3的自由空間。因此,可提高系統總線的使用效率。
圖5示出了以通過根據本發明的系統總線控制裝置組合的總線寬度傳送數據時的時間圖。圖5示出了當存在四條8位單位系統總線時,總線主控器1a(寬度為8位的數據A)、總線主控器1b(寬度為16位的數據B),和總線主控器1c(寬度為8位的數據C)分別從時刻t1至t8傳送數據。在從時刻t1至t8期間內,當從總線主控器1d的總線主控器側控制部2d發出寬度為8位的數據D的傳送請求時,由于在系統總線3中不存在自由空間,所以總線仲裁器6向總線主控器1d的總線主控器側控制部2d發出待機命令。可替代地,總線仲裁器6可以發出使用許可信號GNT-D,但是此時的允許傳送總線寬度信號BSIZE-D指示允許的總線寬度為零。因此,來自總線主控器1d的數據被暫時存儲在緩沖器15d中。
在時刻t9,從總線主控器1a、1b和1c的數據傳送完成,這樣,獲得32位的自由空間。因此,總線仲裁器6向總線主控器1d發射使用許可信號GNT-D和寬度為32位的允許傳送總線寬度信號BSIZE-D。然后,總線主控器1d的數據寬度可變部16d組合四個寬度為8位的數據以形成寬度為32位的數據。在這種情況下,總線主控器1d可以不使用所有的32位,而只使用16位或24位。
數據被如此組合并作為寬度為32位的數據被傳送。因此,可以縮短數據傳送時間,由此可以實現高效的數據傳送。
圖6示出了本發明的系統總線控制裝置優先傳送具有高優先順序的數據的情況。圖6示出了在存在四條8位單位系統總線時,從時刻t1至t4傳送來自總線主控器1a(寬度為8位的數據A)和總線主控器1b(寬度為16位的數據B)的數據。當在時刻t5從具有高優先順序的總線主控器1e發出寬度為16位數據的傳送請求時,由于在系統總線3中只存在8位自由空間,所以總線仲裁器6使具有低優先順序的總線主控器1b的允許傳送總線寬度信號BSIZE-B的總線寬度從16位減小到8位。因此,總線主控器1b的總線寬度可變部16b的總線寬度變成8位。從而,從時刻t5到時刻t8,以8位總線寬度來傳送數據。
因而,自由總線寬度變成16位,由此,向總線主控器1e發出16位寬度的允許傳送總線寬度信號BSIZE-B。因此,總線主控器1a和1b所使用的總線寬度變成8位,而總線主控器1e所使用的總線寬度變成16位。然后,在時刻t9,從總線主控器1a的傳送完成,從而總線主控器1b和1e分別使用16位的系統總線重新開始數據傳送。在此情況下,由于使用的總線的位置改變了,所以總線仲裁器6向總線主控器側控制部2發射有關總線位置的改變信息。
在此實例中,總線主控器1b傳送的寬度為16位的數據變成寬度為8位的數據。然而,根據情況,不再有自由總線寬度。在此情況下,對于總線主控器1b,將允許傳送總線寬度信號BSIZE-B的總線寬度設置成零,將傳送許可提供給總線主控器1b。將允許傳送總線寬度信號BSIZE-B的總線寬度設置成零指示對總線主控器1b的傳送暫時停止,而不是中止傳送。當獲得自由總線寬度時,重新開始繼續傳送。
當在從總線主控器1a和1b傳送期間從具有高優先順序的總線主控器1e發出傳送請求時,如上所述,來自具有低優先順序的總線主控器1b的傳送請求釋放出響應來自總線主控器1e的傳送請求所必要的總線寬度,由此可以保證總線主控器1e的傳送帶寬。可以預先為每個總線主控器設置優先順序,或者在相應總線主控器的總線寬度可變部中設置優先順序。可替代地,可根據數據量來設置優先順序。當數據量過大時,數據量較小的數據可以具有順序上的優先,以使數據量較小的另一數據優先傳送。例如,用單位突發(例如8個突發)分割的數據,即使在此情況下,如果數據中的單位突發為連續的,這樣的數據可以被確定為數據量過大。當激光打印機的多棱鏡旋轉并且感光部件在成像裝置中被掃描時,打印數據具有優先權。當感光部件不被掃描時,其它數據可具有優先權。可替代地,在預定的時間優先傳送其傳送時間已被確定的數據。
下面將參考圖7所示的總線仲裁器6的流程圖,來說明實現上述的圖4中時間圖的處理方法。
在第一步S1,系統總線控制裝置檢測是否發出傳送請求。通過由總線仲裁器6的仲裁部31檢測是否存在傳送請求信號REQ-A至REQ-E,來檢測是否發出傳送請求。如果沒有傳送請求,則處理返回到步驟S1。當發出傳送請求時,總線仲裁器6前進到步驟S2,以通過命令信號CMD-A至CMD-E,檢查由總線仲裁器6的操作部32請求傳送的數據的總線寬度。然后,在步驟S3中,操作部32從狀態信號BSTS-A至BSTS-D檢查系統總線3中的當前自由總線寬度。在下一個步驟S4中,確定自由總線寬度是否大于請求傳送的數據的總線寬度。當自由總線寬度大于請求傳送的數據的總線寬度時,可以進行傳送。因此,在步驟S5中,將使用許可信號GNT-A至GNT-E和包括有關自由總線寬度信息的允許傳送總線寬度信號BSIZE-A至BSIZE-E提供給請求傳送的總線主控器1。
在步驟S6中,如果自由總線寬度小于請求傳送的數據的總線寬度,則總線仲裁器6給出使用自由總線寬度的傳送許可,作為使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E。接收使用自由總線寬度的傳送許可的總線主控器1的總線寬度可變部16,將數據的數據寬度分割成自由總線寬度,以執行傳送。
在如上所述完成傳送之后,處理返回到步驟S1。
圖8中的流程圖示出了圖5中所示的組合傳送的情況。
步驟S11至S13與圖7中S1至S3相同。
在步驟S14中,確定在系統總線3中是否存在自由總線寬度。當不存在自由總線寬度時,處理前進到步驟S17。當系統總線3中存在自由總線寬度時,處理前進到步驟S15,以確定自由總線寬度是否大于請求傳送的數據的總線寬度。當自由總線寬度大于請求傳送的數據的總線寬度時,可以傳送數據。因此,在步驟S16中,總線仲裁器6向請求傳送的總線主控器發射使用自由總線寬度的傳送許可,作為使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E。因此,總線主控器組合總線寬度,以使總線寬度與自由總線寬度相匹配。
如果在步驟15中自由總線寬度小于請求傳送的數據的總線寬度,則處理前進到步驟S17,以發射使用自由總線寬度的傳送許可,作為使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E。因此,總線主控器分割總線寬度以便匹配自由總線寬度,以執行傳送。
圖9中所示的流程圖示出了圖6中所示的優先傳送的情況。
步驟S21至S24與圖7的流程圖中的步驟S1至S4相同。在步驟S24中,當自由總線寬度大于請求傳送的數據的總線寬度時(S24中為Y),處理前進到步驟S32,以給出使用請求傳送的數據的總線寬度的傳送許可,與圖7中的步驟S5相同。
然而,在步驟S24中,當自由總線寬度小于請求傳送的數據的總線寬度時(S24中為N),處理前進到步驟S25,確定新請求傳送的數據的優先順序是否高于當前正在傳送的數據的優先順序。當新請求傳送的數據的優先順序較低時(S25中為N),執行正常的傳送。因此,處理前進到步驟S31,將使用系統總線的自由總線寬度的傳送許可提供給請求傳送的總線主控器。傳送許可被提供給的總線主控器分割總線寬度,以便匹配允許傳送的總線寬度,以執行傳送。
當請求傳送的數據的優先順序較高時(S25中為Y),處理前進到步驟S26,命令優先順序低的總線主控器改變總線寬度,以減少具有高優先順序的總線主控器傳送數據時所不足的總線寬度。被命令的總線主控器分割總線寬度,以便于改變總線寬度并執行傳送。在下一個步驟S27中,使用許可信號GNT-A至GNT-E和允許傳送總線寬度信號BSIZE-A至BSIZE-E被發射到請求傳送的總線主控器。在下一步驟S28中,確定是否完成傳送。如果傳送沒有完成,處理返回到步驟S28。當傳送已經完成,則在步驟S29中確定從減少總線寬度的總線主控器的傳送是否已經完成。如果已經完成(S29中為Y),處理返回到步驟S21。如果沒有完成(S29中為N),處理前進到步驟S30,允許總線主控器使用被減少之前的總線寬度進行傳送。接收使用原始總線寬度的傳送許可的總線主控器,將總線寬度改變成原始總線寬度并執行傳送。
如上所述,當系統總線的使用狀況根據數據傳送的完成或新的傳送請求而改變時,總線仲裁器6的仲裁部31和操作部32重新分配允許使用的總線寬度和總線位置,由此可以有效利用系統總線,并可實現高效的數據傳送。
接下來將參考時間圖說明本發明。
圖10示出了正常傳送的時間圖。圖10(a)示出了總線主控器1的時間圖,其中第一條線上的CLK代表時鐘。該時鐘對本發明的整個系統總線控制裝置是公用的。第二條線上的MREQ代表總線主控器1的傳送請求信號。其高電平指示存在傳送請求,而其低電平指示不存在傳送請求。在第三條線上,MGNT代表從總線仲裁器6接收的傳送許可信號。其高電平指示允許傳送,而其電平指示不允許傳送。在第四條線上,MADR代表總線主控器1的地址信號。在第五條線上,MCMD指示總線主控器1的命令信號。在此,它指示存在四個16位數據。在第六條線上,MVLD代表傳送許可的有效期。其高電平指示傳送許可有效的時期,而其低電平指示沒有傳送許可的時期。在第七條線上,MDATA代表總線主控器執行數據傳送。因此,圖10(a)示出了在總線主控器1發出傳送請求信號MREQ時,給出傳送許可信號MGNT并使用16位總線寬度進行4次傳送。
圖10(b)示出了系統總線3關于圖10(a)所示的總線主控器的傳送請求和傳送的執行的時間圖。在第一條線上,SREQ代表來自總線主控器1的傳送請求信號,其中其高電平指示存在傳送請求,而其低電平指示不存在傳送請求。在第二條線上,SGNT代表從總線仲裁器6發射的傳送許可信號。其高電平指示允許傳送,而其低電平指示不允許傳送。在第三條線上,SADR代表總線主控器1的地址信號。在第四條線上,SCMD代表總線主控器1的命令信號。在第五條線上,SVLD代表傳送許可的有效期。其高電平指示傳送許可有效的時期,而其低電平指示不允許傳送的時期。在第六條線上,SDATA代表總線主控器1執行數據傳送。在第七條線上,BSIZE代表總線主控器1執行數據傳送的時期。在此,它指示傳送四次16位數據。因此,圖10(b)示出了當總線主控器發出傳送請求信號SREQ時,給出傳送許可信號SGNT,并執行數據傳送。
圖11示出了分割傳送的時間圖。
圖11與圖10基本相同。不同點在于,圖11(b)中第五條線上的SVLD、第六條線上的SDATA,和第七條線上的BSIZE。具體地,第五條線上的SLVD代表八個時鐘周期。第六條線上的SDATA示出了總線寬度被分成8位,并且八次傳送數據。第六條線上的SDATA示出了八次傳送8位數據。
圖12是組合傳送的時間圖。
圖12(a)示出了總線主控器的時間圖,與圖10(a)和圖11(a)相同。
圖12(b)示出了系統總線的時間圖。在第一條線上,SREQ代表來自總線主控器的傳送請求信號,其中其高電平指示存在傳送請求,而其低電平指示不存在傳送請求。在此,該圖示出了在11個時鐘期間有傳送請求發出。在第二條線上,SGNT代表從總線仲裁器6發射的傳送許可信號。在此情況下,該圖示出了在發出傳送請求時在周期開始時不存在自由總線寬度,所以傳送許可信號成為低電平。然后,該圖指示,在從發出傳送請求的第十個時鐘發出傳送許可信號SGNT。在該時期內,總線主控器側控制部將數據存儲在緩沖器中。在第五條線上,SVLD在從發出傳送請求信號SREQ的第十個時鐘和第十一個時鐘時變為高電平,表示傳送許可有效的時期。在第六條線上,SDATA表示總線主控器組合四個8位數據以形成32位數據并兩次傳送得到的數據。在第七條線上,BSIZE表示兩次傳送32位數據,指示數據量。
上述實施例描述了LSI的系統總線。然而,本發明適于個人計算機或圖像形成裝置的系統總線,或者各種數據處理裝置的系統總線。
本發明技術領域內的普通技術人員應該清楚,本發明可以包括多種其它具體形式,而不脫離本發明的精神或保護范圍。因此,本發明并不局限于本文給出的細節,而是可以在所附的權利要求的保護范圍和等效體之內進行修改。
權利要求
1.一種系統總線控制裝置,包括系統總線,其是從總線主控器傳送的數據的路徑;總線狀況監控部,其監控所述系統總線的使用狀況或非使用狀況;總線分配部,其在所述總線主控器發出傳送請求時,基于由所述總線狀況監控部所監控到的所述系統總線的使用狀況或非使用狀況,分配允許所述總線主控器傳送的總線寬度;和總線寬度可變部,其根據所分配的總線寬度,改變從所述總線主控器傳送的數據的總線寬度。
2.如權利要求1所述的系統總線控制裝置,其中所述總線狀況監控部檢測所述系統總線中每條總線的使用狀況或非使用狀況,或者根據所述總線主控器請求傳送的數據的總線寬度和數據量,保持所述系統總線的使用狀況或非使用狀況。
3.如權利要求1所述的系統總線控制裝置,其中所述總線寬度可變部具有以下功能在所述總線主控器請求傳送的數據的總線寬度大于所述總線分配部所分配的總線寬度時,根據所分配的總線寬度分割來自所述總線主控器的數據,而在所述總線主控器請求傳送的數據的總線寬度小于所述總線分配部所分配的總線寬度時,根據所分配的總線寬度組合來自所述總線主控器的數據。
4.如權利要求1所述的系統總線控制裝置,還包括數據存儲部,其在所述總線主控器請求傳送的數據不能被傳送時存儲所述數據,其中當所述總線狀況監控部在數據被存儲在所述數據存儲部中的事件中檢測到總線沒有被使用時,或者當所述總線狀況監控部從所保持的使用狀況或非使用狀況推斷出總線沒有被使用時,所述總線寬度可變部改變存儲在所述數據存儲部中的數據的總線寬度,以便與對應于非使用總線寬度的總線寬度相一致。
5.如權利要求1所述的系統總線控制裝置,其中所述總線分配部所分配的總線寬度是請求傳送的數據的總線寬度的2的階乘倍或者2的階乘分之一。
6.如權利要求1所述的系統總線控制裝置,其中所述總線狀況監控部具有完成預期部,其根據所述總線主控器請求傳送的數據的總線寬度和數據量,計算數據傳送的預期完成時刻。
7.如權利要求1所述的系統總線控制裝置,其中,當從所述總線主控器發出具有高優先順序的傳送請求時,所述總線分配部將當前正在傳送的數據的總線寬度減少所述具有高優先順序的請求傳送的數據的總線寬度,并將所述系統總線分配給發出所述具有高優先順序的傳送請求的總線主控器。
8.如權利要求7所述的系統總線控制裝置,其中將優先順序預先分配給所述總線主控器或分配給對應于所述總線主控器的所述總線寬度可變部。
9.如權利要求7所述的系統總線控制裝置,其中根據所述總線主控器請求傳送的數據的量來分配優先順序。
10.一種集成電路,包括系統總線,其是從總線主控器傳送的數據的路徑;總線狀況監控部,其監控所述系統總線的使用狀況或非使用狀況;總線分配部,其在所述總線主控器發出傳送請求時,基于所述總線狀況監控部所監控到的所述系統總線的使用狀況或非使用狀況,分配允許所述總線主控器傳送的總線寬度;和總線寬度可變部,其根據所分配的總線寬度,改變從所述總線主控器傳送的數據的總線寬度。
11.一種數據處理系統,包括傳送數據的系統總線;多個總線主控器,其連接到所述系統總線,并具有暫時存儲待傳送的數據的緩沖器和改變總線寬度的總線寬度可變部;和總線仲裁器,其連接到所述系統總線,并具有總線狀況監控部和總線分配部,所述總線狀況監控部監控所述系統總線的使用狀況或非使用狀況,所述總線分配部在所述總線主控器發出傳送請求時,基于所述總線狀況監控部所監控到的所述系統總線的使用狀況或非使用狀況,分配允許所述總線主控器傳送的總線寬度。
全文摘要
本發明提供了一種有效地充分利用系統總線并實現高效的數據傳送的系統總線控制裝置。一種系統總線控制裝置,包括系統總線,其是從總線主控器傳送的數據的路徑;總線狀況監控部,其監控系統總線的使用狀況或非使用狀況;總線分配部,其在總線主控器發出傳送請求時,基于總線狀況監控部所監控到的系統總線的使用狀況或非使用狀況,分配允許總線主控器傳送的總線寬度;以及總線寬度可變部,其根據所分配的總線寬度,改變從總線主控器傳送的數據的總線寬度。因此,根據允許使用的總線寬度來改變傳送數據的總線寬度,由此使傳送請求不進入待機狀態。
文檔編號G06F13/36GK101013411SQ20071000690
公開日2007年8月8日 申請日期2007年1月30日 優先權日2006年1月30日
發明者入佐直喜 申請人:夏普株式會社