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