欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于通過(guò)片上網(wǎng)絡(luò)系統(tǒng)來(lái)降低功耗的方法

文檔序號(hào):6341497閱讀:241來(lái)源:國(guó)知局
專利名稱:用于通過(guò)片上網(wǎng)絡(luò)系統(tǒng)來(lái)降低功耗的方法
技術(shù)領(lǐng)域
本發(fā)明涉及片上網(wǎng)絡(luò)(Network-on-Chip,NoC)系統(tǒng)領(lǐng)域,具體地涉及用于通過(guò)片上網(wǎng)絡(luò)系統(tǒng)來(lái)降低功耗的方法。
背景技術(shù)
隨著集成電路或芯片變得更加先進(jìn)和多功能,允許單個(gè)芯片容納多個(gè)模塊的技術(shù)被開(kāi)發(fā)出來(lái)。這些模塊往往涉及復(fù)雜的交互。在這樣的片上系統(tǒng)技術(shù)中,可以通過(guò)利用通信網(wǎng)絡(luò)來(lái)完成在集成于芯片上的多個(gè)模塊之間提供可靠通信的具有挑戰(zhàn)性的任務(wù)。用以互連芯片上的模塊的這樣的網(wǎng)絡(luò)通常被稱為片上網(wǎng)絡(luò)(Network-on-Chip,NoC)。NoC還可以提供芯片上的模塊與芯片外的組件或設(shè)備之間的通信。NoC系統(tǒng)提供可擴(kuò)展并且靈活的通信架構(gòu)。NoC系統(tǒng)通常由用以連接芯片上的諸如處理器、存儲(chǔ)器、輸入/輸出模塊和其他組件之類的不同模塊的互連構(gòu)成。NoC中的每個(gè)互連可包括路由器,其提供到網(wǎng)絡(luò)中的模塊或來(lái)自網(wǎng)絡(luò)中的模塊的數(shù)據(jù)的傳輸;以及網(wǎng)絡(luò)接口(Network hterface,Ni),其擔(dān)當(dāng)?shù)接糜谀K的NoC的接入點(diǎn)??梢越?jīng)由鏈路將構(gòu)成NoC的不同互連連接起來(lái)。相應(yīng)地,在NoC中,可以通過(guò)在路由器上作出路由決策而經(jīng)一個(gè)或更多個(gè)鏈路從任何源模塊向任何目的地模塊傳輸消息。由NoC提供模塊間通信的集成電路的性能可以至少部分地由當(dāng)在網(wǎng)絡(luò)的互連之間傳輸數(shù)據(jù)消息時(shí)消耗的功率來(lái)確定。隨著系統(tǒng)中互連數(shù)量的增加,由NoC所消耗的功率可能會(huì)增加。因此,在采用NoC用于大量模塊之間的通信的系統(tǒng)中,在模塊之間傳輸多個(gè)數(shù)據(jù)消息所需的功率可能會(huì)影響系統(tǒng)的整體性能和成本。例如,包含多個(gè)處理器的NoC系統(tǒng)可能會(huì)消耗大量功率。此外,當(dāng)在網(wǎng)絡(luò)內(nèi)發(fā)送諸如多播或廣播之類的消息時(shí),NoC的功耗會(huì)增加。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種在包括至少一個(gè)處理器的片上網(wǎng)絡(luò)系統(tǒng)中傳輸包括多個(gè)字節(jié)的數(shù)據(jù)消息的方法,該方法包括使用所述至少一個(gè)處理器產(chǎn)生包括多個(gè)位的數(shù)據(jù)結(jié)構(gòu);確定來(lái)自所述數(shù)據(jù)消息的所述多個(gè)字節(jié)的字節(jié)是否被設(shè)置為第一值;當(dāng)確定該字節(jié)被設(shè)置為所述第一值時(shí)在所述數(shù)據(jù)結(jié)構(gòu)中記錄指示出所述字節(jié)被設(shè)置為所述第一值的位,使得所述數(shù)據(jù)結(jié)構(gòu)中的所述多個(gè)位中的每個(gè)位指示所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)的值;以及產(chǎn)生經(jīng)壓縮的消息,其包括所述數(shù)據(jù)結(jié)構(gòu)和來(lái)自所述多個(gè)字節(jié)的未被設(shè)置為所述第一值的字節(jié)部分。根據(jù)另一實(shí)施例,所述多個(gè)位的數(shù)量等于所述多個(gè)字節(jié)的數(shù)量。根據(jù)本發(fā)明的又一實(shí)施例,所述第一值包括零。根據(jù)另一實(shí)施例,所述方法還包括在確定所述字節(jié)被設(shè)置為“O”時(shí),在所述數(shù)據(jù)結(jié)構(gòu)中記錄所述位包括將該位設(shè)置為“1”。根據(jù)又一實(shí)施例,所述方法還包括在確定所述字節(jié)未被設(shè)置為零時(shí),在所述數(shù)據(jù)結(jié)構(gòu)中記錄所述位包括將該位設(shè)置為“0”。根據(jù)另一實(shí)施例,所述多個(gè)位中的位以與所述多個(gè)字節(jié)中的字節(jié)相同的順序來(lái)排序。根據(jù)又一實(shí)施例,所述方法還包括將所述經(jīng)壓縮的消息轉(zhuǎn)換為多個(gè)分組,其中所述多個(gè)分組中的分組具有適合于所述數(shù)據(jù)消息在所述片上網(wǎng)絡(luò)系統(tǒng)中的傳輸?shù)母袷?。根?jù)另一實(shí)施例,所述方法還包括解壓縮所述經(jīng)壓縮的消息以產(chǎn)生解壓縮的消息,所述解壓縮包括處理來(lái)自所述多個(gè)位的位以確定該位是否指示出所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值;當(dāng)該位指示出所述對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值時(shí),在所述解壓縮的消息中記錄零字節(jié);以及當(dāng)該字節(jié)指示出所述對(duì)應(yīng)字節(jié)未被設(shè)置為所述第一值時(shí),從所述未被設(shè)置為第一值的字節(jié)部分讀取字節(jié)并在所述解壓縮的消息中記錄所述讀取的字節(jié)。根據(jù)本發(fā)明的又一實(shí)施例,提供一種用于傳輸至少一個(gè)數(shù)據(jù)消息的系統(tǒng),所述系統(tǒng)包括至少一個(gè)第一模塊,其包括處理器,其被配置成產(chǎn)生數(shù)據(jù)消息,所述數(shù)據(jù)消息包括要發(fā)送到系統(tǒng)中至少一個(gè)第二模塊的多個(gè)字節(jié);組件,其被配置成從所述處理器接收所述數(shù)據(jù)消息;在數(shù)據(jù)結(jié)構(gòu)中為來(lái)自所述多個(gè)字節(jié)的每個(gè)字節(jié)記錄一個(gè)指示符,所述指示符指示出所述字節(jié)的值是否包括第一值;記錄來(lái)自所述多個(gè)字節(jié)的未被設(shè)置為所述第一值的至少一個(gè)字節(jié);以及產(chǎn)生經(jīng)壓縮的數(shù)據(jù)消息,其包括所述數(shù)據(jù)結(jié)構(gòu)和所述至少一個(gè)字節(jié)。根據(jù)另一實(shí)施例,所述方法還包括被配置用以從所述經(jīng)壓縮的數(shù)據(jù)消息形成多個(gè)分組的單元。根據(jù)又一實(shí)施例,所述數(shù)據(jù)結(jié)構(gòu)包括多個(gè)位,并且其中來(lái)自所述多個(gè)位的對(duì)應(yīng)于所述字節(jié)的位包括所述指示符。根據(jù)另一實(shí)施例,所述指示符在所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)的值包括所述第一值時(shí)包括第二值,并且其中所述指示符在所述數(shù)據(jù)消息中的所述對(duì)應(yīng)字節(jié)的值包括與所述第一值不同的值時(shí)包括第三值。根據(jù)又一實(shí)施例,所述第二值包括“ 1,,和所述第三值包括“0”。根據(jù)另一實(shí)施例,所述系統(tǒng)包括片上網(wǎng)絡(luò)系統(tǒng)。根據(jù)又一實(shí)施例,所述組件還被配置成處理來(lái)自所述多個(gè)位的位,以確定所述位是否指示出所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值;在所述位指示出所述對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值時(shí),在所述解壓縮的消息中記錄零字節(jié);在所述位指示出所述對(duì)應(yīng)字節(jié)未被設(shè)置為所述第一值時(shí),從未被設(shè)置為所述第一值的所述字節(jié)部分讀取字節(jié),并在所述解壓縮的消息中記錄所述讀取的字節(jié)。


附圖并非為了按比例繪制。在附圖中,示出于各圖中的每個(gè)相同或近乎相同的組件由相似參考符表示。為了清楚起見(jiàn),可能并未在每幅附圖中標(biāo)記每個(gè)部件。在附圖中圖1為一種可在其中實(shí)施本發(fā)明的一些實(shí)施例的片上網(wǎng)絡(luò)架構(gòu)的高層次局部圖;圖2為一種可在其中實(shí)施本發(fā)明的一些實(shí)施例的片上網(wǎng)絡(luò)架構(gòu)的高層次圖;圖3為一種可在其中實(shí)施本發(fā)明的一些實(shí)施例的計(jì)算機(jī)系統(tǒng)的示意圖;圖4為根據(jù)本發(fā)明的一些實(shí)施例的、包括壓縮/解壓縮單元的另一計(jì)算機(jī)系統(tǒng)的示意圖;圖5為示出根據(jù)本發(fā)明的一些實(shí)施例的、壓縮原始格式的數(shù)據(jù)消息的處理過(guò)程的流程圖;圖6為示出根據(jù)本發(fā)明的一些實(shí)施例的原始數(shù)據(jù)消息和指示出該原始數(shù)據(jù)消息的非零字節(jié)的零字節(jié)向量的示意圖;以及圖7為示出根據(jù)本發(fā)明的一些實(shí)施例的原始數(shù)據(jù)消息和通過(guò)壓縮該原始數(shù)據(jù)消息所產(chǎn)生的經(jīng)壓縮的數(shù)據(jù)消息的示意圖。
具體實(shí)施例方式在片上網(wǎng)絡(luò)(NoC)系統(tǒng)中,可以在系統(tǒng)的模塊之間傳輸多個(gè)數(shù)據(jù)消息。為傳輸數(shù)據(jù)消息而花費(fèi)的NoC系統(tǒng)資源可能消耗大量功率,從而影響系統(tǒng)的整體性能和效率。本申請(qǐng)人因而認(rèn)識(shí)到并且清楚,如果降低了在NoC的互連之間傳輸數(shù)據(jù)消息所需的功率量,那么可在成本、效率和節(jié)能方面提高NoC系統(tǒng)的性能。在NoC系統(tǒng)中,數(shù)據(jù)消息通常以其原始格式跨網(wǎng)絡(luò)傳輸。數(shù)據(jù)消息可包括從一個(gè)模塊向另一模塊傳輸?shù)娜魏魏线m的信息。原始格式的數(shù)據(jù)消息可能包括這樣的字節(jié)其中的一個(gè)或更多個(gè)字節(jié)可能是所謂“零字節(jié)”,意味著這樣的字節(jié)僅包括零位并因此不攜帶信息。例如,包括一定數(shù)量的字節(jié)(例如,64個(gè)字節(jié))的數(shù)據(jù)消息可能僅包括一個(gè)設(shè)置為“1” 的位,而其余位都被設(shè)置為“O”。相應(yīng)地,本申請(qǐng)人明白并且認(rèn)識(shí)到,可以利用在NoC系統(tǒng)中傳輸?shù)臄?shù)據(jù)消息的這種冗余度來(lái)提高系統(tǒng)的性能。具體而言,本申請(qǐng)人明白并且認(rèn)識(shí)到,可以通過(guò)采用數(shù)據(jù)壓縮來(lái)減少冗余度。因此,一些實(shí)施例提供壓縮/解壓縮機(jī)制,其可允許將原始格式的數(shù)據(jù)消息 “壓縮”為經(jīng)壓縮的消息,所述經(jīng)壓縮的消息僅包括數(shù)據(jù)消息的攜帶非零信息的字節(jié)以及關(guān)于數(shù)據(jù)消息中零字節(jié)的位置的信息。由此,可跨NoC傳輸尺寸減小的數(shù)據(jù)消息。這樣可以允許對(duì)NoC系統(tǒng)的硬件資源的高效使用并且?guī)?lái)在NoC系統(tǒng)內(nèi)傳輸數(shù)據(jù)消息所需功耗的降低,這可以改善集成電路的成本和整體性能。此外,因此可以有效地利用NoC系統(tǒng)的優(yōu)點(diǎn), 比如其多功能性、可擴(kuò)展性和可靠性。在一些實(shí)施例中,壓縮/解壓縮機(jī)制可在目的地模塊處解壓縮經(jīng)壓縮的數(shù)據(jù)消息,以提供原始格式的數(shù)據(jù)消息。在一些實(shí)施例中,壓縮/解壓縮機(jī)制可以允許通過(guò)僅傳輸數(shù)據(jù)消息的非零字節(jié) (可定義為包括設(shè)置為“O”和“1”的位的任何組合的字節(jié))以及關(guān)于數(shù)據(jù)消息的零字節(jié)的信息而減小跨NoC傳輸?shù)臄?shù)據(jù)消息的尺寸。關(guān)于零字節(jié)的信息可以作為一組指示符的一部分傳輸,所述指示符為數(shù)據(jù)消息的各字節(jié)指定該字節(jié)是否為零字節(jié)。這樣的信息可以用任何合適的形式記錄。例如,可以在由一些實(shí)施例所提供的壓縮/解壓縮技術(shù)所產(chǎn)生的合適格式的數(shù)據(jù)結(jié)構(gòu)中記錄所述信息。在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)可包括數(shù)量與原始格式的數(shù)據(jù)消息中的字節(jié)數(shù)量相同的條目。因此,數(shù)據(jù)結(jié)構(gòu)的每個(gè)條目可以指示出數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)是否為零字節(jié)(即, 設(shè)置為“O”的字節(jié))。應(yīng)當(dāng)明白,可以用任何合適的方式來(lái)記錄關(guān)于數(shù)據(jù)消息的字節(jié)是否為零字節(jié)的信息,因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。在一些實(shí)施例中,可以用與要被壓縮的數(shù)據(jù)消息中的字節(jié)相同的順序來(lái)排序數(shù)據(jù)結(jié)構(gòu)中的位。例如,如果數(shù)據(jù)消息被記錄為一系列字節(jié)使得其最高有效字節(jié)為最左側(cè)字節(jié) (即,如果使用大尾數(shù)格式),那么數(shù)據(jù)結(jié)構(gòu)可以也在最左側(cè)位置中包括其最高有效位,該最高有效位指示數(shù)據(jù)消息的最左側(cè)字節(jié)的值。類似地,如果數(shù)據(jù)消息被記錄為一系列字節(jié)使得其最低有效字節(jié)為最左側(cè)字節(jié)(即,如果使用小尾數(shù)格式),那么數(shù)據(jù)結(jié)構(gòu)可以也在最左側(cè)位置中包括其最低有效位。盡管如此,但在一些實(shí)施例中,可以在不同的方向上記錄數(shù)據(jù)消息中的字節(jié)和數(shù)據(jù)結(jié)構(gòu)中包括關(guān)于字節(jié)的信息的位,只要在經(jīng)壓縮的消息中記錄了關(guān)于數(shù)據(jù)消息中的字節(jié)和數(shù)據(jù)結(jié)構(gòu)中的位的順序的信息,這在之后用于解壓縮經(jīng)壓縮的消肩、ο在一些實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)可被稱為向量,其包括數(shù)量與原始格式的數(shù)據(jù)消息中的字節(jié)的數(shù)量相同的位。在一個(gè)實(shí)施例中,這樣的向量可通過(guò)僅舉例的方式被稱為“零字節(jié)向量”,意味著該向量指示出數(shù)據(jù)消息的字節(jié)中的哪個(gè)字節(jié)是零字節(jié)。應(yīng)當(dāng)明白,所述向量可以為任何合適的長(zhǎng)度并且可以包括任何額外的信息,因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。在已檢驗(yàn)了原始格式的數(shù)據(jù)消息的各字節(jié)并且已產(chǎn)生了指示出該數(shù)據(jù)消息的字節(jié)中的哪個(gè)字節(jié)為零字節(jié)的數(shù)據(jù)結(jié)構(gòu)之后,可將該數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)消息的非零字節(jié)相關(guān)聯(lián),以由此提供原始格式的數(shù)據(jù)消息的經(jīng)壓縮的版本。數(shù)據(jù)結(jié)構(gòu)與非零字節(jié)可以用任何合適的方式相關(guān)聯(lián)。例如,數(shù)據(jù)結(jié)構(gòu)可以附加到非零字節(jié)。無(wú)論數(shù)據(jù)結(jié)構(gòu)與非零字節(jié)相關(guān)聯(lián)的方式是什么,由此產(chǎn)生的經(jīng)壓縮的數(shù)據(jù)消息都可以被轉(zhuǎn)換為適合于在NoC中傳輸?shù)姆纸M。在一些實(shí)施例中,在將經(jīng)壓縮的數(shù)據(jù)消息轉(zhuǎn)換為分組之前,可將經(jīng)壓縮的數(shù)據(jù)消息進(jìn)一步分割成塊。隨后可以向各塊添加額外的分組信息,以用分組格式跨NoC傳輸所述塊。在一些實(shí)施例中,可將分組分割為所謂數(shù)據(jù)片(flit) (“控制數(shù)字流”),其可被視為較小尺寸的分組。應(yīng)該明白,可以用任何合適的格式在NoC 中傳輸數(shù)據(jù)消息,因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。如上所述產(chǎn)生的經(jīng)壓縮的數(shù)據(jù)消息的尺寸可小于原始數(shù)據(jù)消息??梢杂妙愃频姆绞絹?lái)壓縮要在NoC中傳輸?shù)娜魏螖?shù)據(jù)消息。相應(yīng)地,可以跨NoC傳輸較小尺寸的數(shù)據(jù)消息, 其可帶來(lái)由在網(wǎng)絡(luò)中傳輸消息所產(chǎn)生的功耗的下降。這可以提高NoC系統(tǒng)的整體性能。依據(jù)一些實(shí)施例壓縮數(shù)據(jù)消息并從而減少在NoC系統(tǒng)中傳輸?shù)臄?shù)據(jù)消息量可以節(jié)省與跨NoC傳輸消息相關(guān)的功率成本。舉例而言,要從NoC中的源模塊傳輸?shù)脑紨?shù)據(jù)消息可能包括64個(gè)字節(jié)??赡苄枰藗€(gè)分組來(lái)在NoC中傳輸該原始數(shù)據(jù)消息。如果原始數(shù)據(jù)消息的64個(gè)字節(jié)中的M個(gè)字節(jié)為零字節(jié),那么該數(shù)據(jù)消息的非零字節(jié)可包括40個(gè)字節(jié)。記錄關(guān)于原始格式的數(shù)據(jù)消息的各字節(jié)是否為零字節(jié)的數(shù)據(jù)結(jié)構(gòu)的尺寸例如可以為八個(gè)字節(jié)。相應(yīng)地,原始數(shù)據(jù)消息的經(jīng)壓縮的形式的長(zhǎng)度可以為40個(gè)非零字節(jié)加上數(shù)據(jù)結(jié)構(gòu)的八個(gè)字節(jié),因而為48個(gè)字節(jié)。這一包括48個(gè)字節(jié)的經(jīng)壓縮的消息可于隨后在NoC內(nèi)從源模塊傳輸?shù)侥康牡啬K。在以上示例中,相比于在對(duì)原始數(shù)據(jù)消息進(jìn)行壓縮之前傳輸該數(shù)據(jù)消息所需的八個(gè)分組,在為了于NoC中傳輸經(jīng)壓縮的數(shù)據(jù)消息而添加一些額外信息之后,六個(gè)分組可能就足以傳輸攜帶有原始數(shù)據(jù)消息中所包括的所有信息的經(jīng)壓縮的數(shù)據(jù)消息。結(jié)果是,可將 NoC中傳輸?shù)姆纸M的數(shù)量減少25%。應(yīng)當(dāng)明白,根據(jù)原始數(shù)據(jù)消息中的零字節(jié)的數(shù)量,可以實(shí)現(xiàn)在NoC中傳輸?shù)姆纸M數(shù)量的任何適當(dāng)?shù)臏p少。
圖1示意性地示出了具有NoC基礎(chǔ)結(jié)構(gòu)的系統(tǒng)100的片段。示出的是二維系統(tǒng) 100,但本發(fā)明的實(shí)施例在這方面并無(wú)限制。在這一示例中,標(biāo)記了系統(tǒng)100的一個(gè)互連的組件。然而,應(yīng)當(dāng)明白,系統(tǒng)100可以包括任何適當(dāng)數(shù)量的包含類似組件的互連。各互連可以與諸如處理器或者存儲(chǔ)器之類的相應(yīng)模塊關(guān)聯(lián),并且可以提供這一模塊與NoC中其他模塊之間的通信。在所示示例中,系統(tǒng)100的各互連可包括路由節(jié)點(diǎn)102(“R”)、處理節(jié)點(diǎn)104(“P”) 以及網(wǎng)絡(luò)接口 106( “Ni”),所述網(wǎng)絡(luò)接口 106擔(dān)當(dāng)路由節(jié)點(diǎn)102與處理節(jié)點(diǎn)104之間的橋梁。系統(tǒng)100可以提供處理節(jié)點(diǎn)104與NoC上的其他模塊之間的通信。盡管在這一示例中經(jīng)由NoC與其他模塊通信的模塊僅舉例而言為處理節(jié)點(diǎn)104,但應(yīng)當(dāng)明白,NoC可以為諸如存儲(chǔ)器、數(shù)字信號(hào)處理器以及其他等之類的任何其他合適的模塊提供相互通信。路由節(jié)點(diǎn)102可以對(duì)作為分組或者以任何其他適當(dāng)格式發(fā)送到處理節(jié)點(diǎn)104或從處理節(jié)點(diǎn)104發(fā)送的數(shù)據(jù)消息進(jìn)行路由,這可以依據(jù)任何合適的路由算法來(lái)執(zhí)行。路由節(jié)點(diǎn)102可以包括或者以其他方式關(guān)聯(lián)于一個(gè)或更多個(gè)緩沖存儲(chǔ)裝置,所述緩沖存儲(chǔ)裝置可以暫時(shí)存儲(chǔ)分組、數(shù)據(jù)片或者其他合適的數(shù)據(jù)。該存儲(chǔ)裝置可以包括一個(gè)或更多個(gè)任何合適類型的存儲(chǔ)器。網(wǎng)絡(luò)接口 106例如可以為網(wǎng)絡(luò)適配器,其在節(jié)點(diǎn)102與節(jié)點(diǎn)104之間傳送數(shù)據(jù)消息??梢酝ㄟ^(guò)鏈路來(lái)連接互連,所述鏈路中的兩條鏈路108和110僅通過(guò)舉例的方式在圖1 中示出。應(yīng)當(dāng)明白,系統(tǒng)100和各個(gè)單獨(dú)的互連可包括任何為了易于表示而未在本文中示出的任何其它合適的組件。圖2示意性地示出了其片段示出于圖1之中的系統(tǒng)100。系統(tǒng)100可具有形成于一個(gè)或更多個(gè)芯片上的NoC基礎(chǔ)結(jié)構(gòu)。系統(tǒng)100可包括可經(jīng)由NoC通信的多個(gè)模塊,比如處理節(jié)點(diǎn)。在這一示例中,系統(tǒng)100具有5x5 二維QD)網(wǎng)狀拓?fù)?,包?5個(gè)互連,各互連具有坐標(biāo)Un,ym),其中η = 1···5,并且m= 1···5。應(yīng)當(dāng)明白,可以用任何其他合適的NoC拓?fù)鋪?lái)替換,因?yàn)閷?shí)施例在這方面并無(wú)限制。這些互連中的每個(gè)互連僅通過(guò)舉例的方式可以包括處理節(jié)點(diǎn)、路由節(jié)點(diǎn)和網(wǎng)絡(luò)接口。在所示示例中,互連可包括與圖1中所示的那些相類似的組件。相應(yīng)地,圖2示出了包括與圖1中所示相同的組件102、104和106的互連。為了易于表示而未標(biāo)記系統(tǒng)100 的其他互連的組件。盡管如此,但應(yīng)當(dāng)明白,系統(tǒng)100中的各互連可包括與組件102、104和 106相類似的組件。此外,應(yīng)當(dāng)明白,只是通過(guò)舉例的方式示出了具有25個(gè)互連的2D網(wǎng)狀網(wǎng)絡(luò),并且可以用包括任何數(shù)量的合適互連的任何合適拓?fù)涞腘oC來(lái)替換。在一些實(shí)施例,系統(tǒng)100可具有芯片多處理器(Chip-Multiprocessor,CMP)架構(gòu)。 盡管如此,但應(yīng)當(dāng)明白,可以用形成于單個(gè)或多個(gè)芯片上的任何合適的系統(tǒng)類型來(lái)替換。在圖2中,路由節(jié)點(diǎn)102經(jīng)由鏈路110連接到路由節(jié)點(diǎn)114。路由節(jié)點(diǎn)102還經(jīng)由鏈路108連接到路由節(jié)點(diǎn)112。在2D互連網(wǎng)中,通過(guò)舉例的方式將相關(guān)于路由節(jié)點(diǎn)102、 112、114和202的相應(yīng)處理器的坐標(biāo)相應(yīng)地示為(Xl,Y1)、(X1, y2)、(x2, Y1)和0q,y5)。應(yīng)當(dāng)明白,盡管為了便于表示而未示出,但在各互連處可以使用反映出互連在網(wǎng)絡(luò)中的位置的相同坐標(biāo)來(lái)標(biāo)識(shí)路由器、網(wǎng)絡(luò)接口和處理器。NoC系統(tǒng)可以包括大量模塊或者互連,并且從一個(gè)模塊發(fā)送的消息可在通過(guò)一個(gè)或更多個(gè)中間模塊傳輸之后到達(dá)其目的地。為了將性能維持在期望的水平并避免死鎖,可將消息分割為兩個(gè)或更多個(gè)分組,而分組可以進(jìn)一步分割為幾個(gè)數(shù)據(jù)片,以提高數(shù)據(jù)傳輸速度。此外,在NoC系統(tǒng)中,網(wǎng)絡(luò)帶寬可能是有限的,而跨網(wǎng)絡(luò)傳輸?shù)南⒖赡鼙染W(wǎng)絡(luò)帶寬更寬。因此,為了跨NoC傳輸數(shù)據(jù)消息,可將數(shù)據(jù)消息分為可被稱為“塊”的較小片段,以適應(yīng)網(wǎng)絡(luò)帶寬。例如,可能需要將64字節(jié)長(zhǎng)的原始格式數(shù)據(jù)消息利用具有9字節(jié)寬的信道 (即,相鄰互連之間的接線的寬度為9字節(jié))多播到2D網(wǎng)狀網(wǎng)絡(luò)上的幾個(gè)目的地。在這樣的場(chǎng)景中,可將原始數(shù)據(jù)消息分割(例如,通過(guò)網(wǎng)絡(luò)接口或其他適合的組件)為八個(gè)塊,且各塊為8字節(jié)長(zhǎng)。另外,也可以將諸如分組類型、分組編號(hào)、分組目的地、分組是否為頭分組以及其他信息之類的額外信息添加到各塊,以助于在NoC中傳輸消息。這樣的信息可被稱為分組信息。分組信息可包括一個(gè)字節(jié)或者任何其他適當(dāng)數(shù)量的字節(jié)。具有添加的分組信息的塊在本文中可被稱為分組。相應(yīng)地,64字節(jié)長(zhǎng)的數(shù)據(jù)消息可以分割為八個(gè)分組,而這些分組可于隨后以每次一個(gè)分組,或者以任何其他合適的方式發(fā)送。應(yīng)當(dāng)明白,雖然在這一示例中描述了 64字節(jié)長(zhǎng)的消息,但可以用任何適當(dāng)尺寸的數(shù)據(jù)消息來(lái)替換。在如上所述產(chǎn)生分組之后,可將其跨NoC發(fā)送。原始格式的數(shù)據(jù)消息的字節(jié)中的一個(gè)或更多個(gè)字節(jié)可能設(shè)置為“O”。結(jié)果是,當(dāng)原始格式的數(shù)據(jù)消息被分割成分組時(shí),分組中的一個(gè)或更多個(gè)分組可能基本上不攜帶任何信息。因此,在本發(fā)明的一些實(shí)施例中,傳輸原始格式的數(shù)據(jù)消息可能效率不高。在圖2的示例中,當(dāng)數(shù)據(jù)消息要從處理器(Xl,Y1)向處理器(Xl,y5)傳輸時(shí),處理器(X1, Y1)可以首先將數(shù)據(jù)消息傳輸?shù)絅I (X1, Y1)。NI (X1, Y1)可于隨后將數(shù)據(jù)消息從其原始格式變換為適合于在NoC中傳輸?shù)姆纸M,并且所述分組可于隨后由路由器(Xl,Y1)發(fā)出。 在NoC中若干跳的傳輸之后,分組可以到達(dá)它們的目的地路由器(Xl,y5)。在接收到從處理器(Xl,Y1)發(fā)送的分組之后,分組可在路由器(Xl,y5)上恢復(fù)為原始格式的數(shù)據(jù)消息,接著可將這一產(chǎn)生的數(shù)據(jù)消息傳輸?shù)教幚砥?Xl,y5)。圖3概念性地示出了系統(tǒng)300,比如NoC系統(tǒng)中的互連,包括將處理節(jié)點(diǎn)或者處理器104耦合到路由節(jié)點(diǎn)102的網(wǎng)絡(luò)接口 106。在這一示例中,網(wǎng)絡(luò)接口 106包括消息緩沖器304,其可以為任何合適的存儲(chǔ)裝置;以及分組處理單元302。應(yīng)當(dāng)明白,網(wǎng)絡(luò)接口 106可包括任何其他合適的組件。消息緩沖器304可以用任何合適的方式來(lái)存儲(chǔ)數(shù)據(jù)。例如,消息緩沖器304可包括一個(gè)或更多個(gè)高速緩存線。高速緩存線的寬度例如可以為64字節(jié)。盡管如此,但應(yīng)當(dāng)明白,本發(fā)明在這方面并無(wú)限制并且可以利用任何合適尺寸的高速緩存線。另外,網(wǎng)絡(luò)接口 106可以關(guān)聯(lián)于任何其他合適的存儲(chǔ)裝置。在一些實(shí)施例中,從NoC中的一個(gè)互連的處理器向另一互連的處理器發(fā)送的數(shù)據(jù)消息例如可以是對(duì)于由另一處理器產(chǎn)生的數(shù)據(jù)的請(qǐng)求。該請(qǐng)求可以為讀取請(qǐng)求。另外,數(shù)據(jù)消息可以是對(duì)于在數(shù)據(jù)已發(fā)送至另一處理器后的反饋的請(qǐng)求。如箭頭301所示,當(dāng)數(shù)據(jù)消息要由處理器104發(fā)送時(shí),處理器104可將數(shù)據(jù)消息寫入到消息緩沖器304。如箭頭303 示意性所示,耦合到消息緩沖器304的分組處理單元302可以讀取存儲(chǔ)于消息緩沖器304 中的數(shù)據(jù)消息,并且如箭頭309所示,將數(shù)據(jù)消息從其原始格式變換為分組格式。由此,可以產(chǎn)生適合于跨NoC傳輸?shù)姆纸M。分組處理單元302可從消息緩沖器304中讀取存儲(chǔ)了數(shù)據(jù)消息的高速緩存線。高速緩存線的寬度例如可以為64字節(jié)。相應(yīng)地,64字節(jié)高速緩存線可以存儲(chǔ)64字節(jié)長(zhǎng)度數(shù)據(jù)消息,該數(shù)據(jù)消息為原始格式的數(shù)據(jù)消息。然而,在NoC中,信道寬度可能小于高速緩存線的長(zhǎng)度。相應(yīng)地,為了將原始格式的數(shù)據(jù)消息轉(zhuǎn)換為適合于跨NoC傳輸?shù)男问?,分組處理單元302可將數(shù)據(jù)消息分割為適當(dāng)數(shù)量的塊。各塊可于隨后被補(bǔ)充有在NoC中傳輸這些塊所需的額外信息。額外信息可包括關(guān)于數(shù)據(jù)消息的類型、數(shù)據(jù)消息的目的地以及任何其他合適信息的信息。所產(chǎn)生的分組在圖3中被示意性地示為組件306。被轉(zhuǎn)換為分組格式的數(shù)據(jù)消息可包括一個(gè)或多個(gè)主體分組,其攜帶數(shù)據(jù)消息的信息;以及頭分組和尾分組,其包括用于在NoC中傳輸主體分組的信息。在這一示例中,分組306僅通過(guò)舉例的方式被示為包括頭分組308、主體分組310-312以及尾分組314。然而應(yīng)當(dāng)明白,分組可以包括任何適當(dāng)數(shù)量和類型的字段。在所示示例中,各分組306包括這樣的字段,其包括指示出分組是否為頭分組、主體分組或者尾分組的指示符。因此,頭分組308包括分組報(bào)頭“Head”,其指示出該分組為眾分組306中的頭分組。主體分組310可包括報(bào)頭“idx:0”,其指示出這一分組的序號(hào)。該序號(hào)可以指示出該分組在一系列攜帶數(shù)據(jù)消息的信息的分組306中的編號(hào)(例如,順序)。來(lái)自分組306的分組可以以任何適當(dāng)?shù)捻樞蚩鏝oC傳輸,而各分組的序號(hào)可用于將分組在目的地模塊重組為數(shù)據(jù)消息。在一些實(shí)施例中,可以使用硬件計(jì)數(shù)器(未示出) 來(lái)產(chǎn)生用于分組的序號(hào)。盡管如此,但任何合適的方法都可以用來(lái)產(chǎn)生用于分組的序號(hào),因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。在圖3中,主體分組310是攜帶信息的分組中的第一主體分組,并因此具有序號(hào) “O”。可以利用任何適當(dāng)數(shù)量的主體分組來(lái)傳輸數(shù)據(jù)消息。在這一示例中,主體分組的數(shù)量為N+1,而最后一個(gè)主體分組312因此具有序號(hào)“N”,在圖3中示為“idx:N”。頭分組308還可包含字段“Dest”,其標(biāo)識(shí)分組306的路由路徑的目的地地址;以及示意性地示為兩個(gè)字段“Info”的其他字段,其可包括關(guān)于在NoC中傳輸分組306時(shí)所使用的數(shù)據(jù)消息的任何合適信息。例如,該信息可以包括數(shù)據(jù)消息的類型、數(shù)據(jù)消息的總長(zhǎng)度、流量控制信息以及任何其他合適的信息。應(yīng)當(dāng)明白,頭分組308可以包括任何適當(dāng)數(shù)量的任何適當(dāng)尺寸的字段,因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。并且,在一些場(chǎng)景中,可能不使用頭分組308的字段中的一個(gè)或更多個(gè)字段。主體分組310和312,以及任何其他具有在“0”與“N”之間的序號(hào)的主體分組(在圖3中示意性地示為主體分組310與312之間的“…”),可以包括“Data”字段,其攜帶數(shù)
據(jù)消息的信息。如圖3中所示,尾分組314包括報(bào)頭“Tail”,其指示出這是分組306的最后一個(gè)分組。尾分組314還包括目的地字段“Dest”,其標(biāo)識(shí)分組306的路由路徑的目的地地址;以及合適的信息字段“ hfo”。應(yīng)當(dāng)明白,本發(fā)明的實(shí)施例并不限于用以在NoC中傳輸數(shù)據(jù)消息的任何特定分組格式。在一些實(shí)施例中,所產(chǎn)生的分組可以進(jìn)一步分為更小的單元,比如數(shù)據(jù)片。如箭頭 313示意性所示,可將所產(chǎn)生的分組或者其他合適的單元發(fā)送到路由節(jié)點(diǎn)102,在此它們可以在被發(fā)往NoC中的另一處理器之前被暫時(shí)存儲(chǔ)(例如,在緩沖器中)。在網(wǎng)絡(luò)接口 106中,數(shù)據(jù)可以在向內(nèi)和向外兩個(gè)方向上流動(dòng)。因此,圖3包括箭頭 301,303,309和313,所述箭頭示出包含數(shù)據(jù)消息的向外數(shù)據(jù)流,該數(shù)據(jù)流在分組處理單元 302中轉(zhuǎn)換為分組306。類似地,箭頭315、311、307和305示出向內(nèi)數(shù)據(jù)流。在向內(nèi)流中, 分組處理單元302以合適的順序接收并處理諸如分組306之類的分組,以提取數(shù)據(jù)消息。傳輸于NoC中的數(shù)據(jù)消息可能包括零字節(jié),其在不攜帶任何信息的情況下消耗 NoC的功率資源。相應(yīng)地,以僅允許傳輸非零信息的高效方式傳輸數(shù)據(jù)消息可以節(jié)省NoC的寶貴資源,從而降低其成本并提高其效率和性能。在一些實(shí)施例中,互連的網(wǎng)絡(luò)接口可包括這樣的組件其對(duì)相應(yīng)地由該網(wǎng)絡(luò)接口發(fā)送和接收的數(shù)據(jù)消息執(zhí)行壓縮和解壓縮。原始格式的數(shù)據(jù)消息可被壓縮,使得僅有數(shù)據(jù)消息的非零字節(jié)跨NoC傳輸。非零字節(jié)可以補(bǔ)充有關(guān)于數(shù)據(jù)消息的各字節(jié)是否為零字節(jié)的信息。相應(yīng)地,當(dāng)在目的地模塊解壓縮經(jīng)如此壓縮的數(shù)據(jù)消息時(shí),可以查詢這一信息來(lái)確定是否將數(shù)據(jù)消息的各字節(jié)重建為零字節(jié),或者當(dāng)該信息做出這樣的指示時(shí),是否使用來(lái)自非零字節(jié)的字節(jié)。在一些實(shí)施例中,可將關(guān)于數(shù)據(jù)消息的各字節(jié)是否為零字節(jié)的信息記錄為合適數(shù)據(jù)結(jié)構(gòu)的相應(yīng)位。圖4示出了根據(jù)本發(fā)明的一些實(shí)施例的系統(tǒng)400,比如NoC系統(tǒng)中的互連,其可包括與系統(tǒng)300(圖幻中所包括的那些相類似的組件。然而,除了圖3中所示的組件之外,包括有將處理器104耦合到路由節(jié)點(diǎn)102的網(wǎng)絡(luò)接口 402的系統(tǒng)400還包括壓縮 /解壓縮單元404。在所示示例中,壓縮/解壓縮單元404可以耦合消息緩沖器304與分組處理單元 302。壓縮/解壓縮單元404可從消息緩沖器304接收原始格式的數(shù)據(jù)消息,并執(zhí)行對(duì)該數(shù)據(jù)消息的壓縮,使其成為經(jīng)壓縮的數(shù)據(jù)消息。如箭頭405所示,隨后可將經(jīng)壓縮的數(shù)據(jù)消息提供給分組處理單元302,分組處理單元302可以形成要跨NoC傳輸?shù)姆纸M406。分組406 可以用任何合適的方式形成,并且與分組306(圖幻相類似,可以例如包括頭分組308、主體分組310-312以及尾分組314。然而,相比分組306,由于壓縮/解壓縮單元404對(duì)數(shù)據(jù)消息的壓縮,所以可以形成數(shù)量較少的分組。壓縮/解壓縮單元404還可以執(zhí)行對(duì)由網(wǎng)絡(luò)接口 402從路由節(jié)點(diǎn)102接收到的經(jīng)壓縮的數(shù)據(jù)消息執(zhí)行解壓縮。解壓縮過(guò)程可包括與壓縮相反的處理,并且將經(jīng)壓縮的消息恢復(fù)為其原始格式。如圖4中的箭頭315所示,根據(jù)本發(fā)明的一些實(shí)施例壓縮的數(shù)據(jù)消息作為分組,比如分組406,由網(wǎng)絡(luò)接口 402從路由節(jié)點(diǎn)102接收。隨后可將接收到的分組 406發(fā)送(311)到分組處理單元302,其將分組406組裝為經(jīng)壓縮的數(shù)據(jù)消息。這樣重組的經(jīng)壓縮數(shù)據(jù)消息隨后可由壓縮/解壓縮單元404解壓縮,以提供原始(即,解壓縮)格式的數(shù)據(jù)消息。在一些實(shí)施例中,壓縮/解壓縮單元404可于硬件、軟件或者其任何組合中實(shí)施, 因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。此外,壓縮/解壓縮單元404可包括一個(gè)以上的組件。圖5示出了壓縮原始數(shù)據(jù)消息的過(guò)程500,所述原始數(shù)據(jù)消息可以是任何合適的原始格式的數(shù)據(jù)消息。過(guò)程500可于任何合適的時(shí)間開(kāi)始。例如,過(guò)程500可在合適的組件,比如壓縮/解壓縮單元404(圖4),從網(wǎng)絡(luò)接口(例如,網(wǎng)絡(luò)接口 402)中的消息緩沖器(例如,消息緩沖器304)接收到數(shù)據(jù)消息用于壓縮時(shí)開(kāi)始。例如,壓縮/解壓縮單元404可以讀取消息緩沖器304的高速緩存線。在框502,可以確定未經(jīng)壓縮的數(shù)據(jù)消息的字節(jié)的值。在過(guò)程502開(kāi)始時(shí),該值可以是未經(jīng)壓縮的數(shù)據(jù)消息的第一字節(jié)的值。接下來(lái),在決策框504,可以確定在框502確定的字節(jié)的值是否被設(shè)置為“0”。在一些實(shí)施例中,可以使用合適的存儲(chǔ)裝置,比如數(shù)據(jù)結(jié)構(gòu),來(lái)記錄關(guān)于原始數(shù)據(jù)消息中的各字節(jié)是否被設(shè)置為“0”并因而被稱為零字節(jié)的信息。數(shù)據(jù)結(jié)構(gòu)例如可以是向量或者任何其它合適的數(shù)據(jù)結(jié)構(gòu)。在一些實(shí)施例中,該數(shù)據(jù)結(jié)構(gòu)可被稱為零字節(jié)向量。數(shù)據(jù)結(jié)構(gòu)可以包括數(shù)量與原始數(shù)據(jù)消息中的字節(jié)的數(shù)量相等的位。例如,如果原始數(shù)據(jù)消息的尺寸為64字節(jié),那么數(shù)據(jù)結(jié)構(gòu)的尺寸可以是64位。在一些實(shí)施例中,原始數(shù)據(jù)消息的尺寸可能取決于高速緩存線的尺寸,該尺寸例如可能為64字節(jié)。盡管如此,但也可以利用其他實(shí)現(xiàn)方案,因?yàn)楸景l(fā)明的實(shí)施例并不限于特定尺寸的高速緩存線。如果在決策框504確定了字節(jié)的值被設(shè)置為“0”,那么過(guò)程500可跳轉(zhuǎn)到框506, 在此可在數(shù)據(jù)結(jié)構(gòu)中記錄指示出字節(jié)的值被設(shè)置為“0”的指示符。在這一示例中,可將數(shù)據(jù)結(jié)構(gòu)中的相應(yīng)位設(shè)置為“ 1 ”。盡管如此,但應(yīng)當(dāng)明白,也可以使用任何其它合適的指示符來(lái)指示原始數(shù)據(jù)消息的字節(jié)的值被設(shè)置為“0”。另外,如果在決策框504確定了字節(jié)的值未被設(shè)置為“0”(意味著該字節(jié)為非零字節(jié)),那么過(guò)程500可跳轉(zhuǎn)到框508,在此刻在數(shù)據(jù)結(jié)構(gòu)中記錄指示出字節(jié)的值未被設(shè)置為 “0”的指示符。在這一示例中,可將數(shù)據(jù)結(jié)構(gòu)的相應(yīng)位設(shè)置為“0”。盡管如此,但應(yīng)當(dāng)明白, 也可以使用任何其它合適的指示符來(lái)指示原始數(shù)據(jù)消息的字節(jié)的值未被設(shè)置為“0”。不論在數(shù)據(jù)結(jié)構(gòu)中記錄了 “1”還是“0”,過(guò)程500都可在決策框510繼續(xù)處理,在此可以確定其值已在框502確定的字節(jié)是否為原始數(shù)據(jù)消息的最后一個(gè)字節(jié)。應(yīng)當(dāng)明白, 可以用任何適當(dāng)順序來(lái)處理原始數(shù)據(jù)消息的字節(jié),并且相應(yīng)的位值可以記錄在數(shù)據(jù)結(jié)構(gòu)的與原始數(shù)據(jù)消息中的字節(jié)的位置相對(duì)應(yīng)的位置中。相應(yīng)地,最后一個(gè)字節(jié)表示原始數(shù)據(jù)消息中距首先如過(guò)程500中所述那樣被處理的字節(jié)最遠(yuǎn)的字節(jié)。如果該字節(jié)不是原始數(shù)據(jù)消息中的最后一個(gè)字節(jié)-即,有更多字節(jié)要處理-那么過(guò)程500可以返回到框502,在此可以確定原始數(shù)據(jù)消的下一字節(jié)的值。在框502-510的處理因而可能是循環(huán)的,直到原始數(shù)據(jù)消息的所有字節(jié)都已被處理。在圖6中示出了原始數(shù)據(jù)消息以及包括作為諸如結(jié)合圖5示出的處理的結(jié)果在內(nèi)的、僅通過(guò)舉例的方式被稱為零字節(jié)向量的數(shù)據(jù)結(jié)構(gòu)的示例。在圖6中,零字節(jié)向量中的位以與原始數(shù)據(jù)消息中的字節(jié)相同的順序排序。原始數(shù)據(jù)消息602(即,原始格式的數(shù)據(jù)消息)包括從0到63連續(xù)標(biāo)記的64個(gè)字節(jié)(由參考標(biāo)號(hào)603表示)。零字節(jié)向量604包括位605,其也從0到63連續(xù)標(biāo)記,其中來(lái)自位605的每個(gè)位包括一個(gè)指示符,其指示出來(lái)自字節(jié)603的對(duì)應(yīng)字節(jié)是否為零字節(jié)。例如,原始數(shù)據(jù)消息602中的字節(jié)63為零字節(jié);因此,零字節(jié)向量604中的相應(yīng)位63被設(shè)置為“ 1 ”。然而,原始數(shù)據(jù)消息602中的字節(jié)60為非零字節(jié),而零字節(jié)向量604中的位60因此被設(shè)置為“0”。如果在決策框510確定了該字節(jié)為原始數(shù)據(jù)消息中的最后一個(gè)字節(jié)(這表示已處理了原始數(shù)據(jù)消息的所有字節(jié)),那么過(guò)程500可以繼續(xù)到框512,在此可以從原始數(shù)據(jù)消息提取出原始消息中被設(shè)置為“0”的字節(jié)。作為結(jié)果,可以產(chǎn)生新的高速緩存線,其僅包括原始數(shù)據(jù)消息的非零字節(jié)。非零字節(jié)中的字節(jié)以與原始數(shù)據(jù)消息中的字節(jié)相同的順序排序。過(guò)程500隨后可以繼續(xù)到框514,在此可將原始數(shù)據(jù)消息的非零字節(jié)附加到或者以其他方式關(guān)聯(lián)于數(shù)據(jù)結(jié)構(gòu),比如零字節(jié)向量,以產(chǎn)生經(jīng)壓縮的數(shù)據(jù)消息。結(jié)合圖7示出了這樣的過(guò)程的一個(gè)示例,其中僅通過(guò)舉例的方式被示為包括八個(gè)字節(jié)的原始數(shù)據(jù)消息702 被壓縮為僅有來(lái)自原始數(shù)據(jù)消息702的四個(gè)非零字節(jié)的其經(jīng)壓縮的版本,即消息708。圖7 中的箭頭709指示出在消息708中記錄了原始數(shù)據(jù)消息702的哪些字節(jié)。應(yīng)當(dāng)明白,在一些實(shí)施例中,原始數(shù)據(jù)消息702中的數(shù)據(jù)是從一個(gè)高速緩存線讀取的,并被記錄在包括非零字節(jié)708的新的高速緩存線中。盡管如此,但也可以用原始數(shù)據(jù)消息及其經(jīng)壓縮的版本的其他實(shí)現(xiàn)方案來(lái)替換,因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。關(guān)于原始數(shù)據(jù)消息702的各字節(jié)是否為零字節(jié)的信息記錄在數(shù)據(jù)結(jié)構(gòu)704(例如, 零字節(jié)向量)中。數(shù)據(jù)結(jié)構(gòu)704中的位數(shù)可等于原始數(shù)據(jù)消息702中的字節(jié)數(shù)。在這一示例中,數(shù)據(jù)結(jié)構(gòu)704包括八個(gè)位。盡管如此,但應(yīng)當(dāng)明白,也可以利用任何合適尺寸的數(shù)據(jù)
結(jié)構(gòu)數(shù)量。與圖6類似,圖7僅通過(guò)舉例的方式示出了記錄于數(shù)據(jù)結(jié)構(gòu)704中的指示符,其指示出原始數(shù)據(jù)消息702中的各字節(jié)是零字節(jié)還是非零字節(jié)。在這一示例中,零字節(jié)向量中的位以與原始數(shù)據(jù)消息中的字節(jié)相同的順序排序。因此,由于原始數(shù)據(jù)消息702中的字節(jié) 711為非零字節(jié),所以數(shù)據(jù)結(jié)構(gòu)704中的相應(yīng)位713被設(shè)置為“0”。然而,原始數(shù)據(jù)消息702 中的字節(jié)715為零字節(jié),而數(shù)據(jù)結(jié)構(gòu)704中的相應(yīng)位717因此被設(shè)置為“1”。數(shù)據(jù)結(jié)構(gòu)704 中的其他位基于原始數(shù)據(jù)消息702中的相應(yīng)字節(jié)的值類似地設(shè)置,這些位為了易于表示而未示出。在一些實(shí)施例中,可以通過(guò)將數(shù)據(jù)結(jié)構(gòu)704與非零字節(jié)708連結(jié)來(lái)(例如,由圖4 中的壓縮/解壓縮邏輯404)產(chǎn)生經(jīng)壓縮的數(shù)據(jù)消息706。經(jīng)壓縮的數(shù)據(jù)消息706可以傳輸?shù)浇M件,比如分組處理單元(例如,圖4中的分組處理單元302),用于進(jìn)一步處理。相應(yīng)地,分組處理單元可將經(jīng)壓縮的數(shù)據(jù)消息706轉(zhuǎn)換為更小的單元,比如塊,并向塊中添加用于在NoC中傳輸所述塊的信息,以從而產(chǎn)生分組(例如,圖4中所示的分組406)。分組可于隨后以任何適當(dāng)順序跨NoC傳輸?shù)侥康牡毓?jié)點(diǎn)。應(yīng)當(dāng)明白,盡管在本文中將數(shù)據(jù)消息描述成了以分組格式在NoC中傳輸,但數(shù)據(jù)消息可以用任何其他合適的方式在NoC中傳輸,因?yàn)楸景l(fā)明的實(shí)施例在這方面并無(wú)限制。在NoC中,如結(jié)合圖4所示出的那樣,互連或者模塊既發(fā)送又接收數(shù)據(jù)消息。由源模塊連同零字節(jié)向量一起發(fā)送的攜帶原始數(shù)據(jù)消息的信息的分組可在目的地模塊處被接收。當(dāng)目的地模塊接收到用經(jīng)壓縮的形式共同攜帶原始數(shù)據(jù)消息的信息的所有分組時(shí),可將所述分組重組為經(jīng)壓縮的數(shù)據(jù)消息。經(jīng)壓縮的消息可由合適的組件,如壓縮/解壓縮單元404(圖4),使用零字節(jié)向量中的信息解壓縮。因?yàn)榱阕止?jié)向量的各位指示出經(jīng)壓縮的消息的對(duì)應(yīng)字節(jié)為零字節(jié)還是非零字節(jié),所以可以利用零字節(jié)向量中的信息來(lái)恢復(fù)原始數(shù)據(jù)消息。例如,重新參考圖7,當(dāng)壓縮/解壓縮單元接收到經(jīng)壓縮的數(shù)據(jù)消息706時(shí),壓縮/解壓縮單元可以確定經(jīng)壓縮的數(shù)據(jù)消息706包括非零字節(jié)708和數(shù)據(jù)結(jié)構(gòu)704。根據(jù)數(shù)據(jù)結(jié)構(gòu)中的位順序,壓縮/解壓縮單元可以首先處理數(shù)據(jù)結(jié)構(gòu)的最左側(cè)位或者最右側(cè)位。當(dāng)經(jīng)壓縮的數(shù)據(jù)消息被產(chǎn)生為圖7中的經(jīng)壓縮的數(shù)據(jù)消息706時(shí),壓縮/解壓縮單元可以首先處理數(shù)據(jù)結(jié)構(gòu)704的位713,并且確定該位713被設(shè)置為“0”。這指示出原始數(shù)據(jù)消息702中的對(duì)應(yīng)字節(jié)是非零的并且因而被記錄為非零字節(jié)的一部分。在這一示例中,來(lái)自原始數(shù)據(jù)消息702的字節(jié)711被示為經(jīng)壓縮的數(shù)據(jù)消息的非零字節(jié)部分708中的字節(jié)719。相應(yīng)地,可將字節(jié)719記錄為解壓縮的消息的第一字節(jié)。字節(jié)719包括與字節(jié) 711相同的信息,但卻被不同地標(biāo)記,以指示非零字節(jié)部分708可以記錄在存儲(chǔ)器中與記錄了原始數(shù)據(jù)消息702的區(qū)域不同的區(qū)域中。而且,盡管在經(jīng)壓縮的數(shù)據(jù)消息的非零字節(jié)部分中保留了原始數(shù)據(jù)消息中的位順序,但由于零字節(jié)未記錄于非零字節(jié)部分之中,所以非零字節(jié)的連續(xù)編號(hào)可能不同。另外,在將字節(jié)719記錄為解壓縮的消息的第一字節(jié)之后,可以處理數(shù)據(jù)結(jié)構(gòu)704 的下一位717。位717被設(shè)置為“1”,其指示出原始數(shù)據(jù)消息702的對(duì)應(yīng)字節(jié)為零字節(jié)(在圖7中示為字節(jié)71 。相應(yīng)地,可將零字節(jié)記錄為解壓縮的消息的下一字節(jié)??梢杂猛瑯拥姆绞絹?lái)處理數(shù)據(jù)結(jié)構(gòu)704的其余位。結(jié)果是,產(chǎn)生包括原始數(shù)據(jù)消息的信息的解壓縮的數(shù)據(jù)消息。盡管以上討論的實(shí)施例涉及壓縮和解壓縮要在NoC系統(tǒng)中傳輸?shù)臄?shù)據(jù)消息,但所述用于壓縮/解壓縮數(shù)據(jù)消息的技術(shù)可以實(shí)施于任何其他合適的系統(tǒng)之中。包含可用縮短的形式傳輸?shù)男畔⒌娜魏魏线m的數(shù)據(jù)消息都可以如依據(jù)一些實(shí)施例所描述的那樣壓縮,并于隨后解壓縮成其原始格式。經(jīng)壓縮的數(shù)據(jù)消息可以在任何合適的介質(zhì)和任何類型的通信信道上傳輸。此外,可以用任何合適的方式記錄并且用任何合適的格式存儲(chǔ)關(guān)于數(shù)據(jù)消息的各字節(jié)是否被設(shè)置為“0”的信息。壓縮/解壓縮單元404的上述實(shí)施例可以使用硬件、軟件或者其組合來(lái)實(shí)施。當(dāng)實(shí)施于軟件中時(shí),軟件代碼可以在提供于單個(gè)計(jì)算機(jī)中或者分布于多個(gè)計(jì)算機(jī)之間的任何合適的處理器或者一批處理器上執(zhí)行。應(yīng)當(dāng)明白,執(zhí)行上述功能的任何組件或者成批組件一般可被視為執(zhí)行以上所討論功能的一個(gè)或更多個(gè)壓縮/解壓縮單元。在一些實(shí)施例中, 獨(dú)立組件可以相應(yīng)地執(zhí)行壓縮和解壓縮功能。一個(gè)或更多個(gè)壓縮/解壓縮單元可以用許多方式實(shí)施,比如使用專用硬件,或者使用被編程用以執(zhí)行上述功能的通用硬件(例如,一個(gè)或更多個(gè)處理器)。另外,應(yīng)當(dāng)明白,計(jì)算機(jī)可以實(shí)施于若干種形式中的任一形式之中,比如機(jī)架式計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)或者任何其他合適的計(jì)算機(jī)等。此外,計(jì)算機(jī)可以嵌入在一般不被視為計(jì)算機(jī)但卻具有適當(dāng)?shù)奶幚砟芰Φ脑O(shè)備之中,這類設(shè)備包括個(gè)人數(shù)字助理(PDA)、智能手機(jī)或者任何其他合適的便攜式或者固定式電子設(shè)備。本文所概述的各種方法或過(guò)程可以編碼為軟件,所述軟件可在采用各種操作系統(tǒng)或平臺(tái)中的任何一種操作系統(tǒng)或平臺(tái)的一個(gè)或多個(gè)處理器上執(zhí)行。此外,這樣的軟件可以使用若干合適的編程語(yǔ)言以及/或者編程或腳本工具中的任一編程語(yǔ)言以及/或者編程或腳本工具來(lái)編寫,并且還可以編譯為在主機(jī)或虛擬機(jī)上執(zhí)行的可執(zhí)行機(jī)器語(yǔ)言代碼或中間代碼。為此,一些實(shí)施例可以實(shí)施為計(jì)算機(jī)可讀存儲(chǔ)設(shè)備(或者多種計(jì)算機(jī)可讀介質(zhì)) (例如,計(jì)算機(jī)存儲(chǔ)器、一個(gè)或多個(gè)軟盤、壓縮盤(CD)、光盤、數(shù)字視頻盤(DVD)、磁帶、閃存存儲(chǔ)器、現(xiàn)場(chǎng)可編程門陣列中的電路配置或者其他半導(dǎo)體設(shè)備,或者其他非暫時(shí)性的有形計(jì)算機(jī)存儲(chǔ)介質(zhì)),所述設(shè)備使用一種或更多種程序編碼,其在執(zhí)行于一個(gè)或更多個(gè)計(jì)算機(jī)或其他處理器之上時(shí),執(zhí)行實(shí)施以上討論的各種實(shí)施例的方法。一種或更多種計(jì)算機(jī)可讀介質(zhì)或媒介可以是可移動(dòng)的,使得其上存儲(chǔ)的一個(gè)或更多個(gè)程序可被加載到一個(gè)或更多個(gè)不同的計(jì)算機(jī)或者其他處理器上,以實(shí)施本發(fā)明如上文所討論的各個(gè)方面。本文在一般意義上使用了術(shù)語(yǔ)“程序”或“軟件”來(lái)指代任何類型的可以用來(lái)編程計(jì)算機(jī)或其他處理器以實(shí)施本發(fā)明如上文所討論的各個(gè)方面的計(jì)算機(jī)代碼或成組計(jì)算機(jī)可執(zhí)行指令。此外,應(yīng)當(dāng)明白,根據(jù)這一實(shí)施例的一個(gè)方面,在被執(zhí)行時(shí)實(shí)施本發(fā)明的方法的一個(gè)或更多個(gè)計(jì)算機(jī)程序并不一定需要駐留于單個(gè)計(jì)算機(jī)或處理器上,而是可以以模塊化的方式分布在若干個(gè)不同計(jì)算機(jī)或處理器之間,以實(shí)施本發(fā)明的各個(gè)方面。計(jì)算機(jī)可執(zhí)行指令可具有許多種形式,比如由一個(gè)或更多個(gè)計(jì)算機(jī)或者其他設(shè)備執(zhí)行的程序模塊。一般而言,程序模塊包括執(zhí)行特定任務(wù)或者實(shí)施特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。在各種實(shí)施例中通??梢愿鶕?jù)需要組合或分布所述程序模塊的功能。并且,數(shù)據(jù)結(jié)構(gòu)可以以任何合適的形式存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中。為了便于說(shuō)明, 可將數(shù)據(jù)結(jié)構(gòu)示為具有通過(guò)數(shù)據(jù)結(jié)構(gòu)中的位置而相關(guān)的字段。這樣的關(guān)系同樣可以通過(guò)使用計(jì)算機(jī)可讀介質(zhì)中表達(dá)字段之間關(guān)系的位置來(lái)為字段分配存儲(chǔ)而實(shí)現(xiàn)。然而,也可以使用任何合適的機(jī)制來(lái)建立數(shù)據(jù)結(jié)構(gòu)的字段中的信息之間的關(guān)系,包括通過(guò)使用建立數(shù)據(jù)元素之間的關(guān)系的指針、標(biāo)簽或者其他機(jī)制。本發(fā)明的各個(gè)方面可以單獨(dú)地、組合地或者在未于前文中的實(shí)施例中特別討論的各種布置中使用,并因此并不限于其對(duì)于在前文描述中闡述的或者在附圖中示例說(shuō)明的組件的詳情和布置的應(yīng)用。例如,在一個(gè)實(shí)施例中描述的方面可以以任何方式與其他實(shí)施例中描述的方面相結(jié)合。并且,本發(fā)明的實(shí)施例可以實(shí)施為已提供了示例的方法。作為方法的一部分執(zhí)行的動(dòng)作可以以任何合適的方式排序。相應(yīng)地,可以用在其中動(dòng)作以不同于所示的順序執(zhí)行的方式來(lái)構(gòu)建實(shí)施例,這可以包括同時(shí)執(zhí)行一些動(dòng)作,盡管這些動(dòng)作在示例說(shuō)明性實(shí)施例中被示為順序動(dòng)作。在權(quán)利要求中為了修改權(quán)利要求要素而使用諸如“第一”、“第二”、“第三”等之類的序詞,其本身并不意味著一個(gè)權(quán)利要求要素對(duì)于另一權(quán)利要求要素或者執(zhí)行方法的動(dòng)作的時(shí)序的任何優(yōu)先、居先或者順序,而僅僅是用作標(biāo)注,以區(qū)分具有特定名稱的一個(gè)權(quán)利要求要素和具有同一名稱的另一權(quán)利要求要素(但用于序詞的使用),以區(qū)分這些權(quán)利要求要素。并且,本文所使用的措辭和術(shù)語(yǔ)是為了描述的目的,而不應(yīng)當(dāng)被視為限制性的?!鞍ā?、“包含”、“具有”、“含有”、“涉及”及其變形等在本文中的使用是為了涵蓋其后所列各項(xiàng)及其等同項(xiàng)以及額外項(xiàng)。
1權(quán)利要求
1.一種在包括至少一個(gè)處理器的片上網(wǎng)絡(luò)系統(tǒng)中傳輸包括多個(gè)字節(jié)的數(shù)據(jù)消息的方法,所述方法包括使用所述至少一個(gè)處理器 產(chǎn)生包括多個(gè)位的數(shù)據(jù)結(jié)構(gòu);確定來(lái)自所述數(shù)據(jù)消息的所述多個(gè)字節(jié)的字節(jié)是否被設(shè)置為第一值; 當(dāng)確定所述字節(jié)被設(shè)置為所述第一值時(shí),在所述數(shù)據(jù)結(jié)構(gòu)中記錄指示出所述字節(jié)被設(shè)置為所述第一值的位,使得所述數(shù)據(jù)結(jié)構(gòu)中的所述多個(gè)位中的每個(gè)位指示所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)的值;以及產(chǎn)生經(jīng)壓縮的消息,其包括所述數(shù)據(jù)結(jié)構(gòu)和來(lái)自所述多個(gè)字節(jié)的未被設(shè)置為所述第一值的字節(jié)部分。
2.根據(jù)權(quán)利要求1的方法,其中所述多個(gè)位的數(shù)量等于所述多個(gè)字節(jié)的數(shù)量。
3.根據(jù)權(quán)利要求1的方法,其中所述第一值包括零。
4.根據(jù)權(quán)利要求3的方法,還包括,當(dāng)確定所述字節(jié)被設(shè)置為“0”時(shí),在所述數(shù)據(jù)結(jié)構(gòu)中記錄所述位包括將所述位設(shè)置為“ 1 ”。
5.根據(jù)權(quán)利要求3的方法,還包括,當(dāng)確定所述字節(jié)未被設(shè)置為零時(shí),在所述數(shù)據(jù)結(jié)構(gòu)中記錄所述位包括將所述位設(shè)置為“0”。
6.根據(jù)權(quán)利要求1的方法,其中所述多個(gè)位中的位以與所述多個(gè)字節(jié)中的字節(jié)相同的順序來(lái)排序。
7.根據(jù)權(quán)利要求1的方法,還包括將所述經(jīng)壓縮的消息轉(zhuǎn)換為多個(gè)分組,其中所述多個(gè)分組中的分組具有適合于所述數(shù)據(jù)消息在所述片上網(wǎng)絡(luò)系統(tǒng)中的傳輸?shù)母袷健?br> 8.根據(jù)權(quán)利要求1的方法,還包括解壓縮所述經(jīng)壓縮的消息,以產(chǎn)生解壓縮的消息,所述解壓縮包括處理來(lái)自所述多個(gè)位的位,以確定所述位是否指示出所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值;當(dāng)所述位指示出所述對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值時(shí),在所述解壓縮的消息中記錄零字節(jié);以及當(dāng)所述位指示出所述對(duì)應(yīng)字節(jié)未被設(shè)置為所述第一值時(shí),從未被設(shè)置為所述第一值的字節(jié)部分讀取字節(jié),并且在所述解壓縮的消息中記錄所述讀取的字節(jié)。
9.一種用于傳輸至少一個(gè)數(shù)據(jù)消息的系統(tǒng),所述系統(tǒng)包括 至少一個(gè)第一模塊,其包括處理器,其被配置成產(chǎn)生數(shù)據(jù)消息,所述數(shù)據(jù)消息包括要發(fā)送到所述系統(tǒng)中的至少一個(gè)第二模塊的多個(gè)字節(jié); 組件,其被配置成 從所述處理器接收所述數(shù)據(jù)消息;在數(shù)據(jù)結(jié)構(gòu)中為來(lái)自所述多個(gè)字節(jié)的每個(gè)字節(jié)記錄一個(gè)指示符,所述指示符指示出所述字節(jié)的值是否包括第一值;記錄來(lái)自所述多個(gè)字節(jié)的未被設(shè)置為所述第一值的至少一個(gè)字節(jié);以及產(chǎn)生經(jīng)壓縮的數(shù)據(jù)消息,其包括所述數(shù)據(jù)結(jié)構(gòu)和所述至少一個(gè)字節(jié)。
10.根據(jù)權(quán)利要求9的系統(tǒng),還包括被配置用以從所述經(jīng)壓縮的數(shù)據(jù)消息形成多個(gè)分組的單元。
11.根據(jù)權(quán)利要求9的系統(tǒng),其中所述數(shù)據(jù)結(jié)構(gòu)包括多個(gè)位,并且其中來(lái)自所述多個(gè)位的對(duì)應(yīng)于所述字節(jié)的位包括所述指示符。
12.根據(jù)權(quán)利要求10的系統(tǒng),其中所述指示符在所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)的值包括所述第一值時(shí)包括第二值,并且其中所述指示符在所述數(shù)據(jù)消息中的所述對(duì)應(yīng)字節(jié)的值包括與所述第一值不同的值時(shí)包括第三值。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中所述第二值包括“1”并且所述第三值包括“0”。
14.根據(jù)權(quán)利要求12的系統(tǒng),其中所述系統(tǒng)包括片上網(wǎng)絡(luò)系統(tǒng)。
15.根據(jù)權(quán)利要求9的系統(tǒng),其中所述組件還被配置成處理來(lái)自所述多個(gè)位的位,以確定所述位是否指示出所述數(shù)據(jù)消息中的對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值;當(dāng)所述位指示出所述對(duì)應(yīng)字節(jié)被設(shè)置為所述第一值時(shí),在所述解壓縮的消息中記錄零字節(jié);以及當(dāng)所述位指示出所述對(duì)應(yīng)字節(jié)未被設(shè)置為所述第一值時(shí),從所述未被設(shè)置為所述第一值的字節(jié)部分讀取字節(jié),并將所述讀取的字節(jié)記錄在所述解壓縮的消息中。
16.一種在包括至少一個(gè)處理器的片上網(wǎng)絡(luò)系統(tǒng)中從經(jīng)壓縮的數(shù)據(jù)消息產(chǎn)生解壓縮的數(shù)據(jù)消息的方法,所述經(jīng)壓縮的數(shù)據(jù)消息包括具有多個(gè)字節(jié)的第一部分和具有多個(gè)位的第二部分,所述方法包括使用所述至少一個(gè)處理器對(duì)于來(lái)自所述多個(gè)位的每個(gè)位確定所述位是否被設(shè)置為第一值;當(dāng)確定所述位被設(shè)置為所述第一值時(shí),在所述解壓縮的消息中記錄來(lái)自所述多個(gè)字節(jié)的對(duì)應(yīng)字節(jié);以及當(dāng)確定所述位未被設(shè)置為所述第一值時(shí),在所述解壓縮的消息中記錄零字節(jié)。
17.根據(jù)權(quán)利要求16的方法,其中所述第一值包括“0”。
18.根據(jù)權(quán)利要求16的方法,其中所述經(jīng)壓縮的數(shù)據(jù)消息是從所述片上網(wǎng)絡(luò)系統(tǒng)中的節(jié)點(diǎn)接收的。
19.根據(jù)權(quán)利要求16的方法,其中所述第一部分中的字節(jié)數(shù)等于所述第二部分中的位數(shù),并且其中所述多個(gè)字節(jié)中的字節(jié)以與所述多個(gè)位中的位相同的順序來(lái)排序。
20.根據(jù)權(quán)利要求16的方法,其中確定所述位未被設(shè)置為所述第一值包括確定所述位被設(shè)置為“1”。
全文摘要
本發(fā)明提供一種用于通過(guò)片上網(wǎng)絡(luò)系統(tǒng)來(lái)降低功耗的方法。在片上網(wǎng)絡(luò)(Network-on-Chip,NoC)系統(tǒng)中,可以在系統(tǒng)的多個(gè)模塊之間傳輸多個(gè)數(shù)據(jù)消息。由于消息的傳輸而產(chǎn)生的功耗可能影響系統(tǒng)的成本和整體性能。所描述的技術(shù)提供通過(guò)利用數(shù)據(jù)消息的冗余度來(lái)減少傳輸于NoC系統(tǒng)中的數(shù)據(jù)量的方式。因此,如果要從NoC中的源發(fā)送的數(shù)據(jù)消息包括所謂“零”字節(jié),即僅包括設(shè)置為“0”的位的字節(jié),那么可以不在NoC中傳輸這樣的零字節(jié)??梢詫㈥P(guān)于數(shù)據(jù)消息的各字節(jié)是否為零字節(jié)的信息記錄在諸如數(shù)據(jù)結(jié)構(gòu)之類的存儲(chǔ)裝置中。這一信息與數(shù)據(jù)消息的非零字節(jié)可以一同形成數(shù)據(jù)消息的經(jīng)壓縮的版本。所述信息可于隨后用于在目的地解壓縮經(jīng)壓縮的數(shù)據(jù)消息。
文檔編號(hào)G06F15/173GK102567277SQ20101062475
公開(kāi)日2012年7月11日 申請(qǐng)日期2010年12月30日 優(yōu)先權(quán)日2010年12月30日
發(fā)明者吳永強(qiáng), 孫紅霞, 朱鵬飛, 王凱峰 申請(qǐng)人:世意法(北京)半導(dǎo)體研發(fā)有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广昌县| 惠东县| 东乌珠穆沁旗| 芦溪县| 乌拉特中旗| 贵港市| 水富县| 永兴县| 西和县| 鄢陵县| 剑河县| 开阳县| 贡山| 兰坪| 津南区| 三原县| 灵丘县| 海兴县| 沙坪坝区| 金乡县| 岳池县| 田阳县| 尚义县| 玛沁县| 乌拉特后旗| 和林格尔县| 连山| 邳州市| 肇庆市| 正镶白旗| 旅游| 蓝田县| 绥芬河市| 老河口市| 长汀县| 竹北市| 曲松县| 乐安县| 武鸣县| 藁城市| 措勤县|