總線主設備、總線系統以及總線控制方法
【技術領域】
[0001]本發明涉及總線主設備、總線系統以及總線控制方法。
【背景技術】
[0002]近年來,工藝的精細化取得進展,在LSI中內置有CPU (Central Processing Unit:中央處理器)、圖形控制器以及幾百KB (kilobyte)以上的緩沖存儲器的系統LSI搭載于通信設備或圖像處理裝置等中。在這樣的系統LSI中,利用系統總線連接模塊之間,進行數據傳送。
[0003]作為面向系統LSI的片上總線標準,遵照英國ARM公司制定的AXI協議的構造成為主流。在遵照AXI協議的片上總線的構造中,以CPU、圖形控制器、DMA (Dynamic MemoryAccsess:動態隨機存取)控制器等為代表的總線主設備與以緩沖存儲器、DRAM (DynamicRandom Access Memory:動態隨機存取存儲器)等為代表的外部存儲器等的總線從設備經由總線連接體以點對點的方式進行連接。并且,總線主設備為了完成對總線從設備的寫入動作或讀出動作,必須進行等待,直至從總線從設備輸出寫入響應信道信號或讀出數據信道信號。因此,作為總線系統,為了提高數據傳送性能,需要減少總線主設備的等待時間。
[0004]這里,專利文獻I記載了具有在接受表示寫入訪問中的數據寫入結果的寫入響應信號之后進行下一訪問的總線主設備的總線系統。并且,該總線系統具備信號生成部,該信號生成部在檢測到從總線主設備輸出的寫入數據信號的結束時,將虛擬寫入響應信道信號輸出至總線主設備。
[0005]專利文獻I記載的總線系統內的總線主設備在接收原來的寫入響應信道信號之前,接收虛擬寫入響應信道信號,所以,可響應于該虛擬寫入響應信道信號,開始準備下一訪問。因此,能夠并行地處理總線從設備中的寫入和總線主設備中的下一訪問的準備。從而,在規定可同時發行的寫入指令數為I的總線主設備中,能夠削減在寫入訪問之后連續地進行寫入或讀出訪問時的延遲時間。即,在進行寫入訪問時,可提高數據傳送性能。
[0006]現有技術文獻
[0007]專利文獻
[0008]專利文獻1:日本特開2011-95978號公報(段落0032?0052,圖2)
【發明內容】
[0009]發明要解決的課題
[0010]但是,在現有的技術中,因為在從發行虛擬寫入響應信道信號到獲得原來的寫入響應信道信號的期間,屏蔽下一寫入地址信道信號以及讀出地址信道信號,所以無法連續地輸出數據傳送請求。因此,不能通過并行地進行在AXI中規定的無序傳送這樣的多個數據傳送來獲得提高數據傳送性能的效果。
[0011]因此,本發明是為了解決上述這樣的課題而完成的,其目的是通過控制發送傳送請求的指令信息的順序來提高數據傳送性能。
[0012]解決問題的手段
[0013]本發明的一方式的總線主設備的特征是具備:訪問生成部,其生成指令信息,該指令信息包含表示請求傳送數據的傳送請求的類別的傳送類別、以及該傳送請求的送達目的地的總線從設備的傳送對象地址;指令隊列,其存儲多個由所述訪問生成部生成的指令信息;傳送請求輸出順序控制部,其在所述指令隊列所存儲的多個指令信息內,與第I指令信息相比,先選擇第2指令信息作為輸出對象指令信息,該第2指令信息包含第2總線從設備具有的傳送對象地址,該第2總線從設備的響應比具有所述第I指令信息所包含的傳送對象地址的第I總線從設備遲;以及傳送請求輸出部,其將由所述傳送請求輸出順序控制部選擇的指令信息輸出到具有該選擇的指令信息所包含的傳送對象地址的總線從設備。
[0014]本發明的一方式的總線系統具備至少I個總線主設備以及多個總線從設備,其特征在于,所述至少I個總線主設備具備:訪問生成部,其生成指令信息,該指令信息包含表示請求傳送數據的傳送請求的類別的傳送類別、以及該傳送請求的送達目的地的所述多個總線從設備中的一個總線從設備的傳送對象地址;指令隊列,其存儲多個由所述訪問生成部生成的指令信息;傳送請求輸出順序控制部,其在所述指令隊列所存儲的多個指令信息內,與第I指令信息相比,先選擇第2指令信息作為輸出對象指令信息,該第2指令信息包含第2總線從設備具有的傳送對象地址,該第2總線從設備的響應比具有所述第I指令信息所包含的傳送對象地址的第I總線從設備遲;以及傳送請求輸出部,其將由所述傳送請求輸出順序控制部選擇的指令信息輸出到具有該選擇的指令信息所包含的傳送對象地址的總線從設備。
[0015]本發明的一方式的總線控制方法的特征是,包括以下的步驟:訪問生成步驟,生成指令信息,該指令信息包含表示請求數據傳送的傳送請求的類別的傳送類別、以及該傳送請求的送達目的地的總線從設備的傳送對象地址;指令排隊步驟,存儲多個在所述訪問生成步驟中生成的指令信息;傳送請求輸出順序控制步驟,在所述指令排隊步驟中存儲的多個指令信息內,與第I指令信息相比,先選擇第2指令信息作為輸出對象指令信息,該第2指令信息包含第2總線從設備具有的傳送對象地址,該第2總線從設備的響應比具有所述第I指令信息所包含的傳送對象地址的第I總線從設備遲;以及傳送請求輸出步驟,其將在所述傳送請求輸出順序控制步驟中選擇的指令信息輸出到具有該選擇的指令信息所包含的傳送對象地址的總線從設備。
[0016]發明效果
[0017]根據本發明的一個方式,可通過控制發送傳送請求的指令信息的順序,來提高數據傳送性能。
【附圖說明】
[0018]圖1是概括地示出實施方式I?3的總線系統的結構的框圖。
[0019]圖2是概括地示出實施方式I的總線主設備110的結構的框圖。
[0020]圖3是示出實施方式I的指令隊列中存儲的信息的概略圖。
[0021]圖4是示出實施方式I的地址映射信息的一例的概略圖。
[0022]圖5是示出實施方式I的傳送順序匹配信息的一例的概略圖。
[0023]圖6是示出實施方式I的指令隊列滯留時間比較部更新傳送順序匹配信息的處理的流程圖。
[0024]圖7是示出實施方式I的傳送請求輸出順序控制部參照傳送順序匹配信息來選擇指令隊列中存儲的任意一個隊列編號的指令信息時的處理的流程圖。
[0025]圖8是示出更新實施方式I的傳送順序匹配信息之前的動作的時序圖。
[0026]圖9是示出更新實施方式I的傳送順序匹配信息之后的動作的時序圖。
[0027]圖10是概括地示出實施方式2的總線主設備的結構的框圖。
[0028]圖11是示出實施方式2的傳送響應輸入時間存儲部所存儲的傳送響應輸入時間信息的一例的概略圖。
[0029]圖12是概括地示出實施方式3的總線主設備的結構的框圖。
[0030]圖13是示出實施方式3的總線主設備的動作的時序圖。
[0031]圖14是概括地示出實施方式4的總線系統的結構的框圖。
[0032]圖15是概括地示出實施方式4的總線主設備的結構的框圖。
[0033]圖16是示出在實施方式4中隊列數控制部從總線主設備獲得傳送響應輸入時間信號而對總線主設備施加輸出隊列數控制信號時的處理的流程圖(之一)。
[0034]圖17是示出在實施方式4中隊列數控制部從總線主設備獲得傳送響應輸入時間信號而對總線主設備施加輸出隊列數控制信號時的處理的流程圖(之二)。
[0035]圖18是示出實施方式4的傳送請求輸出順序控制部抑制對總線從設備輸出的傳送請求數的上限時的總線主設備的動作的時序圖。
[0036]圖19是概括地示出實施方式5的總線系統的結構的框圖。
[0037]圖20是概括地示出實施方式5的總線主設備的結構的框圖。
[0038]圖21是示出實施方式5的傳送請求輸出順序控制部參照傳送順序匹配信息和總線從設備的最大傳送請求數來選擇指令隊列中存儲的任意一個隊列編號的指令信息時的處理的流程圖(之一)。
[0039]圖22是示出實施方式5的傳送請求輸出順序控制部參照傳送順序匹配信息和總線從設備的最大傳送請求數來選擇指令隊列中存儲的任意一個隊列編號的指令信息時的處理的流程圖(之二)。
【具體實施方式】
[0040]實施方式1.
[0041]圖1是概括地示出實施方式I的總線系統100的結構的框圖。總線系統100經由總線連接體150連接總線主設備IlOA?I1C (在無需特意地區分彼此時,稱為總線主設備110)與總線從設備130A?130C(在無需特意地區分彼此時,稱為總線從設備130)。總線系統100是基于AXI協議的片上總線。此外,圖1的括弧內的符號表示實施方式2以及3中的結構。
[0042]在圖1所示的總線主設備110中,“#”之后記載的數字是總線主設備編號,該總線主設備編號作為用于識別總線主設備110的總線主設備識別信息。另外,在圖1所示的總線從設備130中,之后記載的數字是總線從設備編號,該總線從設備編號作為用于識別總線從設備130的總線從設備識別信息。
[0043]總線主設備110是CPU、圖形控制器或DMA控制器等。另外,總線從設備130是緩沖存儲器或DRAM等。
[0044]首先,采用圖1來說明AXI協議。
[0045]在AXI協議中,可按照每個路徑獨立地進行總線主設備110與總線從設備130之間的傳送。例如,在圖1中,可獨立地進行總線主設備IlOA和總線從設備130A之間的數據傳送、總線主設備IlOB和總線從設備130B之間的數據傳送。
[0046]另外,在AXI協議中規定了寫入地址信道、寫入數據信道、寫入響應信道、讀出地址信道、讀出數據信道這5個信道。并且,各個信道即使是同一路徑內也能夠獨立地進行動作。例如,可多次連續地發行寫入地址信道信號,或者可同時進行寫入信道信號的收發和讀出信道信號的收發。即,在AXI協議中,可并行地進行多個數據傳送。
[0047]此外,對各個信道賦予按照每次傳送而不同的傳送ID。例如,當總線主設備IlOA使用不同的傳送ID將讀出地址信道信號輸出到總線從設備130A?130C的2個以上時,2個以上的數據傳送并行地由總線從設備130A?130C執行。
[0048]這里,總線從設備130A?130C處理從總線主設備IlOA輸入的傳送請求所需的時間取決于每個總線從設備130A?130C的動作頻率以及構成總線從設備130A?130C的存儲器等的讀出周期數。因此,總線從設備130A?130C經由總線連接體150向總線主設備IlOA輸出傳送響應的順序未必與從總線主設備IlOA接收到傳送請求的順序一致。在AXI協議中,支持這樣的無序傳送,能夠并行地高效進行多個數據傳送。
[0049]在各個信道中,在總線主設備110與總線從設備130之間,使用Valid信號以及Ready信號進行信號交換。總線主設備110輸出寫入地址信道、寫入數據信道以及讀出地址信道的Valid信號,總線從設備130輸出與各自對應的Ready信號。另外,總線從設備130輸出寫入響應信道以及讀出數據信道的Valid信號,總線主設備110輸出對各自作出響應的Ready信號。此外,為了各自進行區分,按照每個信道對Valid信號以及Ready信號賦予單獨的名稱。
[0050]例如,在從總線主設備IlOA向總線從設備130A的數據寫入中,總線主設備IlOA將寫入地址信道信號以及寫入數據信道信號分別與Valid信號一起輸出。總線從設備130A輸出Ready信號后取入從總線主設備IlOA輸入的寫入地址信道信號以及寫入數據信道信號,開始寫入處理。
[0051]根據驅動總線從設備130的動作頻率以及數據的寫入流程等,總線從設備130寫入所需的時間按照每個總線從設備130而不同。例如,在總線從設備130A是由SRAM (StaticRandom Access Memory:靜態隨機存儲器)構成的可高速訪問的緩沖存儲器的情況下,動作頻率與總線連接體150相同或者是其以上,總線從設備130A最快以I個時鐘周期結束寫入處理。
[0052]另一方面,在總線從設備130A是與外部的串行接口等的情況下,不僅接口中的處理速度比較低,而且需要將總線信號分割為多次,所以,在結束寫入處理之前,需要大量的周期數。
[0053]結束寫入處理后,總線從設備130A將寫入響應信道信號與Valid信號一起輸出至總線主設備110A。總線主設備IlOA輸出Ready信號后,取入寫入響應信道信號,結束一系列的寫入動作。
[0054]在從總線主設備IlOA向總線從設備130A的數據讀出中,總線主設備IlOA將讀出地址信道信號與Valid信號一起輸出。總線從設備130A輸出Ready信號后,取入從總線主設備11OA輸入的讀出地址信道信號,開始讀出處理。
[0055]總線從設備130A讀出所需的時間與上述同樣地,按照每個總線從設備130A而不同。結束讀出處理后,總線從設備130A將讀出數據信道信號與Valid信號一起輸出至總線主設備110A。總線主設備IlOA輸出Ready信號后,取入讀出數據信道信號,結束一系列的讀出動作。
[0056]圖2是概括地示出實施方式I的總線主設備110的結構的框圖。總線主設備110具備訪問生成部111、指令隊列112、數據隊列113、傳送請求輸出順序控制部114、傳送請求輸出部115、傳送響應輸入部116、地址映射存儲部117、指令隊列滯留時間比較部118和傳送順序匹配信息存儲部119。
[0057]總線主設備110例如是CPU或DMA控制器那樣向存儲器或周邊設備進行數據傳送的模塊。因此,訪問生成部111生成數據的傳送請求,向指令隊列112以及數據隊列113輸出該傳送請求。該傳送請求包含由寫入或讀出的傳送類別、傳送對象地址以及傳送數據長度(還稱為突發長度)構成的指令信息、在傳送類別為寫入的情況下的寫入數據。訪問生成部111將包含傳送類別、傳送對象地址以及傳送數據長度的指令信息存儲到指令隊列112內,將寫入數據存儲到數據隊列113內。換言之,訪問生成部111生成指令信息,將該指令信息存儲到指令隊列112內,該指令信息包含表示請求數據傳送的傳送請求的類別的傳送類別、以及該傳送請求的送達目的地的總線從設備的傳送對象地址。
[0058]指令隊列112存儲由訪問生成部111生成的指令信息。此外,指令隊列112除了指令信息之外,還存儲用于管理指令信息的管理信息。圖3是示出指令隊列112所存儲的信息的概略圖。此外,在圖3中示出使指令隊列112的隊列構成數成為“4”、向被分配了隊列編號“O”?“3”的區域存儲信息的例子,但還以根據總線主設備110的動作速度或傳送數據量等,由任意的隊列數構成。
[0059]指令信息分別包含從訪問生成部111輸出的傳送類別、傳送對象地址以及傳送數據長度。
[0060]傳送類別是表示請求數據傳送的傳送請求的類別的信息。這里,作為傳送類別,存在向總線從設備130寫入數據的“寫入”和從總線從設備130讀出數據的“讀出”。
[0061]傳送對象地址是傳送請求的送達目的地的總線從設備130的地址。
[0062]傳送數據長度是表示進行傳送的數據的大小的信息。
[0063]管理信息按照每個指令信息而包含隊列有效無效信息、傳送請求輸出信息以及傳送ID0
[0064]隊列有效