本申請實施例涉及芯片,尤其涉及一種總線互聯(lián)模塊、計算設(shè)備、片上系統(tǒng)和總線通信方法。
背景技術(shù):
1、高級可擴展接口(advanced?extensible?interface,axi)總線協(xié)議是一種高性能、高帶寬的片上總線協(xié)議,在片上系統(tǒng)(system-on-chip,soc)中被廣泛使用。axi總線采用讀寫分離、地址/控制與數(shù)據(jù)分離的傳輸機制,通過讀地址通道(ar)、讀數(shù)據(jù)通道(r)、寫地址通道(aw)、寫數(shù)據(jù)通道(w)和寫響應(yīng)通道(b)五個獨立的傳輸通道,提高傳輸效率。在多個主設(shè)備(master)和多個從設(shè)備(slave)之間通過總線互聯(lián)模塊進行數(shù)據(jù)交換。由于總線互聯(lián)模塊支持亂序(out-of-order,ooo)訪問機制,容易導(dǎo)致axi總線發(fā)生反向通道死鎖。
2、目前,通過單個從設(shè)備或相同事務(wù)標識僅可用于單一從設(shè)備(single?slave?perid,spi)機制對反向通道死鎖進行規(guī)避。
3、然而,spi機制被觸發(fā)會,會阻塞主設(shè)備的整根總線,導(dǎo)致后續(xù)無死鎖產(chǎn)生可能性的事務(wù)(transaction)也被堵住,導(dǎo)致總線利用率較低。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請實施例提供一種總線互聯(lián)模塊、計算設(shè)備、片上系統(tǒng)和總線通信方法,以至少解決或緩解上述問題。
2、根據(jù)本申請實施例的第一方面,提供了一種總線互聯(lián)模塊,包括:多個主控制單元和多個從控制單元;所述主控制單元,用于在接收到地址讀寫請求后,若所述地址讀寫請求滿足反向通道死鎖條件,則對所述地址讀寫請求進行暫存,并在確定所述地址讀寫請求不滿足所述反向通道死鎖條件后,將所述地址讀寫請求發(fā)送給對應(yīng)的所述從控制單元;所述從控制單元,用于在接收到所述地址讀寫請求后,將所述地址讀寫請求下發(fā)。
3、根據(jù)本申請實施例的第二方面,提供了一種多個主設(shè)備、多個從設(shè)備和根據(jù)上述第一方面所述的總線互聯(lián)模塊;所述主設(shè)備,用于通過所述總線互聯(lián)模塊向所述從設(shè)備發(fā)送地址讀寫請求;所述從設(shè)備,用于響應(yīng)于所述地址讀寫請求,通過所述總線互聯(lián)模塊將存儲的待讀取數(shù)據(jù)發(fā)送給所述主設(shè)備,或者通過所述總線互聯(lián)模塊接收所述主設(shè)備發(fā)送的待寫入數(shù)據(jù)。
4、根據(jù)本申請實施例的第三方面,提供了一種片上系統(tǒng),包括:多個主設(shè)備和根據(jù)上述第一方面所述的總線互聯(lián)模塊;所述主設(shè)備,用于通過所述總線互聯(lián)模塊向從設(shè)備發(fā)送地址讀寫請求,所述從設(shè)備包括于所述片上系統(tǒng)或通過所述片上系統(tǒng)上的i/o接口與所述片上系統(tǒng)連接;所述從設(shè)備,用于響應(yīng)于所述地址讀寫請求,通過所述總線互聯(lián)模塊將存儲的待讀取數(shù)據(jù)發(fā)送給所述主設(shè)備,或者通過所述總線互聯(lián)模塊接收所述主設(shè)備發(fā)送的待寫入數(shù)據(jù)。
5、根據(jù)本申請實施例的第四方面,提供了一種總線通信方法,包括:主控制單元在接收到地址讀寫請求后,若所述地址讀寫請求滿足反向通道死鎖條件,則對所述地址讀寫請求進行暫存,并在確定所述地址讀寫請求不滿足所述反向通道死鎖條件后,將所述地址讀寫請求發(fā)送給對應(yīng)的從控制單元;所述從控制單元在接收到所述地址讀寫請求后,將所述地址讀寫請求下發(fā)。
6、根據(jù)本申請實施例提供的總線互聯(lián)模塊,主控制單元在接收到地址讀寫請求后,可以判斷該地址讀寫請求是否滿足反向通道死鎖條件,如果改地址讀寫請求滿足反向通道死鎖條件,則對該地址讀寫請求進行暫存,并在該地址讀寫請求不再滿足反向通道死鎖條件后,將該地址讀寫請求發(fā)送給從控制單元,由從控制單元對該地址讀寫請求進行下發(fā)。通過對可能導(dǎo)致反向通道死鎖的地址讀寫請求進行暫存,可以避免反向通道死鎖的發(fā)生,在對可能導(dǎo)致反向通道死鎖的地址讀寫請求進行暫存后,后續(xù)無死鎖產(chǎn)生可能性的地址讀寫請求仍可以被正常傳輸,從而在規(guī)避反向通道死鎖的同時,可以提高總線利用率。
1.一種總線互聯(lián)模塊,包括:多個主控制單元和多個從控制單元;
2.根據(jù)權(quán)利要求1所述的總線互聯(lián)模塊,其中,所述主控制單元包括:第一檢測子單元、第二檢測子單元、第一緩沖區(qū)、第一輸出子單元和第一仲裁子單元;
3.根據(jù)權(quán)利要求2所述的總線互聯(lián)模塊,其中,所述主控制單元還包括:第三檢測子單元、第二緩沖區(qū)、第三緩沖區(qū)和第二輸出子單元;
4.根據(jù)權(quán)利要求3所述的總線互聯(lián)模塊,所述總線互聯(lián)模塊還包括:時序維護模塊;
5.根據(jù)權(quán)利要求4所述的總線互聯(lián)模塊,其中,所述從控制單元包括:第一選擇子單元、第二選擇子單元和第五緩沖區(qū);
6.根據(jù)權(quán)利要求5所述的總線互聯(lián)模塊,其中,所述時序信息包括全量隊列;
7.根據(jù)權(quán)利要求6所述的總線互聯(lián)模塊,其中,所述時序信息還包括優(yōu)先隊列,所述時序維護模塊用于執(zhí)行如下操作:
8.根據(jù)權(quán)利要求1所述的總線互聯(lián)模塊,其中,所述主控制單元包括:第四檢測子單元、第五檢測子單元、第四緩沖區(qū)、第三輸出子單元和第二仲裁子單元;
9.根據(jù)權(quán)利要求8所述的總線互聯(lián)模塊,其中,所述從控制單元包括:
10.根據(jù)權(quán)利要求1-9中任一所述的總線互聯(lián)模塊,其中,
11.一種計算設(shè)備,包括:多個主設(shè)備、多個從設(shè)備和根據(jù)權(quán)利要求1-9中任一所述的總線互聯(lián)模塊;
12.一種片上系統(tǒng),包括:多個主設(shè)備和根據(jù)權(quán)利要求1-9中任一所述的總線互聯(lián)模塊;
13.根據(jù)權(quán)利要求12所述的片上系統(tǒng),其中,所述主設(shè)備包括處理單元,所述從設(shè)備包括i/o設(shè)備。
14.一種總線通信方法,包括: