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

多發(fā)布處理器的制作方法

文檔序號(hào):6406794閱讀:151來源:國(guó)知局
專利名稱:多發(fā)布處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一個(gè)多發(fā)布(multi-issue)處理器,包括多個(gè)發(fā)布槽(issue slots),多個(gè)發(fā)布槽中的每個(gè)包括多個(gè)功能單元和多個(gè)可保持寄存器,所述的多個(gè)發(fā)布槽包括第一組發(fā)布槽和第二組發(fā)布槽;以及可以由多個(gè)發(fā)布槽訪問的一個(gè)寄存器文件。
背景技術(shù)
多發(fā)布處理器呈現(xiàn)出了大量并行硬件,以便在一個(gè)處理器周期中允許多個(gè)操作的并行執(zhí)行,從而利用程序中的指令級(jí)并行度。多發(fā)布處理器的例子是VLIW(超長(zhǎng)指令字)處理器和超標(biāo)量(superscalar)處理器。在VLIW處理器的情形下,軟件程序包含與將被并行執(zhí)行的操作有關(guān)的全部信息,并且這些操作被組裝成為一個(gè)很長(zhǎng)的指令。編譯器確??紤]到操作之間的全部相關(guān)性,并確保不會(huì)發(fā)生資源沖突。除了這一程序信息,硬件不需要任何附加信息就可以正確地執(zhí)行程序,這導(dǎo)致硬件相對(duì)簡(jiǎn)單。在超標(biāo)量處理器的情形下,將被執(zhí)行的軟件作為一個(gè)由連續(xù)的一系列操作組成的程序而被提供。在運(yùn)行時(shí)間,處理器硬件自身確定存在哪些操作相關(guān)性,并且根據(jù)這些相關(guān)性決定并行執(zhí)行哪些操作,同時(shí)確保不會(huì)發(fā)生資源沖突。一個(gè)相對(duì)簡(jiǎn)單的編譯器足以將高級(jí)編程語(yǔ)言翻譯為順序代碼,但是處理器硬件是很復(fù)雜的。
在多發(fā)布處理器中,在發(fā)布槽中組織負(fù)責(zé)執(zhí)行這些操作的并行硬件。每個(gè)發(fā)布槽都包含一個(gè)或多個(gè)執(zhí)行實(shí)際操作的功能單元。通常,在每個(gè)處理器周期中,在每個(gè)發(fā)布槽中的一個(gè)功能單元上開始一個(gè)操作。在一些處理器中,在一個(gè)發(fā)布槽中設(shè)置多個(gè)功能單元,以作為最大可用并行度和指令寬度成本(在VLIW處理器情形下)或硬件復(fù)雜度(在超標(biāo)量處理器情形下)之間的折衷。
因?yàn)樵诿總€(gè)時(shí)鐘周期中,最多可以在每個(gè)發(fā)布槽的一個(gè)功能單元上開始一個(gè)操作,所以在該發(fā)布槽中在給定的處理器周期內(nèi)沒有被使用的功能單元可能會(huì)浪費(fèi)功率。即使在這些功能單元的輸出無關(guān)緊要的情況下,如果這些功能單元的輸入在它們未被使用的時(shí)間內(nèi)改變,則比起被使用時(shí),它們?nèi)詫⑾目捎^的功率。
可以通過在發(fā)布槽內(nèi)的所用功能單元的輸入端處設(shè)置可保持寄存器(即在不同輸入的情況下其狀態(tài)保持不變的寄存器)來消除功率浪費(fèi)。在不使用這些功能單元的時(shí)候,這些可保持寄存器將使功能單元的輸入不變。因?yàn)檫@些功能單元的輸入保持不變,沒有任何組合門被進(jìn)行切換并且不會(huì)發(fā)生動(dòng)態(tài)功率損耗。這些可保持寄存器例如可以通過時(shí)鐘選通來實(shí)現(xiàn)。這些寄存器另一個(gè)優(yōu)點(diǎn)是,它們形成的附加的流水線級(jí)(pipeline stage)允許以較高的時(shí)鐘頻率運(yùn)行處理器。將寄存器添加到功能單元輸入的全部的輸入端處的一個(gè)缺點(diǎn)是增加了在中斷期間必須保存的狀態(tài)的數(shù)量。一個(gè)中斷允許處理器很快地響應(yīng)外部事件,并且它使處理器暫時(shí)推遲當(dāng)前程序跟蹤的進(jìn)一步執(zhí)行,并且替代地執(zhí)行另一個(gè)跟蹤。被推遲的跟蹤的狀態(tài)必須被保存,這樣,當(dāng)已經(jīng)服務(wù)了中斷后,處理器可以恢復(fù)它的原始狀態(tài)并且可以正確地繼續(xù)進(jìn)行原始跟蹤。為了獲得可預(yù)測(cè)的并且短的中斷延遲,必須總是能夠在需要時(shí)中斷處理器。這在實(shí)時(shí)應(yīng)用程序中是尤其重要的。在該程序中的任意點(diǎn)中斷處理器可能意味著必須保存大量的狀態(tài)。
于2000年10月18日提交的非預(yù)先公開的歐洲專利申請(qǐng)00203591.3[代理人文檔PHNL000576]提供了用于減少在中斷期間必須保存的狀態(tài)的數(shù)量的解決方案。應(yīng)用了第二壓縮指令組,其被使用于中斷服務(wù)例程,并且僅使用處理器資源的有限集合。在中斷的情形下,僅僅保存由第二壓縮指令組使用的處理器資源的有限集合的狀態(tài)就足夠了,同時(shí)簡(jiǎn)單地凍結(jié)全部其它資源的狀態(tài)。然而,當(dāng)寄存器被設(shè)置在該有限資源集合中的每個(gè)功能單元的全部輸入端處的時(shí)候,由第二壓縮指令組使用的資源仍然具有大量在中斷期間必須保存和恢復(fù)的狀態(tài)。
發(fā)明的公開本發(fā)明的一個(gè)目的是提供一個(gè)解決方案,以便更進(jìn)一步降低在多發(fā)布處理器中斷處理期間必須保存的狀態(tài)的數(shù)量,同時(shí)保持功耗的顯著降低和改善的性能。
這個(gè)目的利用所述的這種多發(fā)布處理器實(shí)現(xiàn),該處理器的特征在于,在第一組發(fā)布槽中的多個(gè)可保持寄存器的至少一部分的位置與在第二組發(fā)布槽中的多個(gè)可保持寄存器的至少一個(gè)對(duì)應(yīng)部分的位置不同。
理想地,所述的可保持寄存器被設(shè)置在發(fā)布槽的內(nèi)的每個(gè)功能單元的全部的輸入端處。這樣保證沒有使用的功能單元的每個(gè)輸入將保持不變,并且不會(huì)發(fā)生不必要的功率耗損。然而,這會(huì)增加在中斷處理期間必須保存的狀態(tài)的數(shù)量。通過改變用于不同發(fā)布槽的可保持寄存器的位置,并且不在每個(gè)功能單元的全部輸入端的前面設(shè)置可保持寄存器,只需要在中斷處理期間保存較少狀態(tài)。這可能導(dǎo)致功率消耗的較少的降低或減少在性能方面的提高。根據(jù)應(yīng)用程序的類型可以在這些需求之間做出一個(gè)最佳的選擇。
本發(fā)明的一個(gè)實(shí)施例的特征在于,多發(fā)布處理器還包括一個(gè)第一指令組裝置,該裝置可以訪問第一組發(fā)布槽,和第二指令組裝置,該裝置可以訪問第二組發(fā)布槽。這個(gè)實(shí)施例的一個(gè)優(yōu)點(diǎn)是可以使發(fā)布槽中的可保持寄存器的位置依賴于控制這個(gè)發(fā)布槽的指令組裝置。如果第二指令組裝置被用于一個(gè)中斷服務(wù)例程,在第二組發(fā)布槽中的可保持寄存器可以被定位成最佳地降低在中斷處理期間必須被保存的狀態(tài)的數(shù)量。然而,這個(gè)解決方案不是降低功率消耗的最佳的解決方案。可保持寄存器的定位仍然產(chǎn)生能夠提高處理器的時(shí)鐘頻率一個(gè)附加的流水線級(jí)。許多中斷需要非常簡(jiǎn)單的中斷服務(wù)例程,因此使用一組有限的發(fā)布槽的壓縮的第二指令組就足夠了。所以非最佳的功率消耗降低僅僅適用于多發(fā)布處理器內(nèi)部的一小組發(fā)布槽。在中斷處理期間不使用第一組發(fā)布槽,并且作為結(jié)果,不必保存它們的狀態(tài)??杀3旨拇嫫骺梢员辉O(shè)置成最佳地降低功率消耗,并且通過產(chǎn)生一個(gè)附加的流水線級(jí)提高時(shí)鐘頻率。對(duì)于整個(gè)處理器,這將導(dǎo)致在提高性能、降低功率消耗和減少狀態(tài)保存開銷之間的平衡考慮。
本發(fā)明的一個(gè)實(shí)施例的特征在于,在第一組發(fā)布槽中,多個(gè)可保持?jǐn)?shù)據(jù)寄存器的位置是在諸功能單元的各自的數(shù)據(jù)輸入端處,同時(shí)在第二組發(fā)布槽中,多個(gè)可保持?jǐn)?shù)據(jù)寄存器的位置是在諸功能單元的公共數(shù)據(jù)輸入端處。這個(gè)實(shí)施例的一個(gè)優(yōu)點(diǎn)是大大降低了在中斷處理期間必須被保存的狀態(tài)的數(shù)量,因?yàn)榭杀3旨拇嫫鞑皇俏挥诘诙M發(fā)布槽的諸功能單元的所有單獨(dú)輸入端處,而是僅僅在它們的公共輸入端處。然而,使用第二組發(fā)布槽的一個(gè)發(fā)布槽的一個(gè)功能單元會(huì)導(dǎo)致該發(fā)布槽的其它功能單元的輸入的改變,因此導(dǎo)致不必要的功率耗損。如果整個(gè)發(fā)布槽都沒有被使用,諸功能單元將不消耗功率。在第一組發(fā)布槽中,可保持寄存器被定位在諸功能單元的全部輸入端處,以便最佳地降低功率消耗,這導(dǎo)致功率消耗的整體的顯著降低。此外,在第一和第二組發(fā)布槽中的可保持寄存器在體系結(jié)構(gòu)中形成一個(gè)附加的流水線級(jí),這允許處理器運(yùn)行于一個(gè)較高的時(shí)鐘頻率。結(jié)果,在降低功率消耗、提高性能和減少中斷處理期間所必須保存的狀態(tài)的數(shù)量之間獲得一個(gè)很好的折衷。
附圖的簡(jiǎn)要說明所說明的實(shí)施例的特征將進(jìn)一步被闡述,并且參考附圖而被說明

圖1是一個(gè)VLIW處理器的示意圖。
圖2是一個(gè)僅由第一指令組使用的發(fā)布槽UC1、UC2和UC3的示意圖。
圖3是在中斷處理期間由第二指令組使用的發(fā)布槽UC0的示意圖。
優(yōu)選實(shí)施例的說明參考圖1,示意方框圖說明了一個(gè)VLIW處理器,該處理器包括多個(gè)發(fā)布槽(包括發(fā)布槽UC0、UC1、UC2和UC3)和一個(gè)包括寄存器文件部分RF0和RF1的分布式寄存器文件。所述的處理器具有一個(gè)控制器SQ和一個(gè)用于耦合寄存器文件部分RF0和RF1以及發(fā)布槽UC0、UC1、UC2和UC3的連接網(wǎng)絡(luò)CN。所述的發(fā)布槽UC0、UC1、UC2和UC3由第一指令組使用,并且該第一指令組包括通常的VLIW指令。發(fā)布槽UC0是唯一的由第二指令組使用的發(fā)布槽。該第二指令組被用于中斷服務(wù)例程。
參考圖2,示意方框圖說明了發(fā)布槽UC1、UC2和UC3。參考圖3,示意方框圖說明了發(fā)布槽UC0?,F(xiàn)在參考圖2和圖3,每個(gè)發(fā)布槽包括一個(gè)解碼器DEC、一個(gè)時(shí)間形態(tài)(time shape)控制器TSC、一個(gè)輸入路由網(wǎng)絡(luò)IRN、一個(gè)輸出路由網(wǎng)絡(luò)ORN和多個(gè)功能單元,所述的多個(gè)功能單元包括功能單元FU0、FU1和FU2。解碼器DEC被耦合到時(shí)間形態(tài)控制器TSC和功能單元FU0、FU1和FU2。輸入路由網(wǎng)絡(luò)IRN被耦合到功能單元FU0、FU1和FU2。輸出網(wǎng)絡(luò)網(wǎng)絡(luò)ORN也被耦合到功能單元FU0、FU1和FU2。解碼器DEC對(duì)在每個(gè)時(shí)鐘周期中被加到發(fā)布槽的操作0進(jìn)行解碼。解碼步驟的結(jié)果是操作數(shù)寄存器索引ORI,并且解碼器DEC將這些索引傳遞到連接網(wǎng)絡(luò)CN,如圖1所示。解碼步驟的更進(jìn)一步結(jié)果是結(jié)果文件索引RFI和寄存器索引RI。解碼器DEC將這些索引傳遞到時(shí)間形態(tài)控制器TSC。按照必須在其上執(zhí)行所述操作的功能單元的輸入/輸出行為,時(shí)間形態(tài)控制器TSC將結(jié)果文件索引RFI和寄存器索引RI延遲適當(dāng)?shù)臄?shù)量。隨后,時(shí)間形態(tài)控制器TSC將結(jié)果文件索引RFI和寄存器索引RI傳遞到連接網(wǎng)絡(luò)CN,如圖1所示。解碼器DEC也利用耦合SEL選擇功能單元FU0、FU1和FU2中的一個(gè)。此外,解碼器DEC利用耦合OPT將有關(guān)必須被執(zhí)行的操作的信息傳遞到功能單元FU0、FU1和FU2。輸入路由網(wǎng)絡(luò)IRN將用于發(fā)布槽UC1、UC2和UC3的操作數(shù)數(shù)據(jù)OD傳遞到功能單元FU0,F(xiàn)U1和FU2的輸入端。功能單元FU0、FU1和FU2將它們的輸出數(shù)據(jù)傳送到輸出路由網(wǎng)絡(luò)ORN,并且隨后輸出路由網(wǎng)絡(luò)ORN將結(jié)果數(shù)據(jù)RD傳送到通信網(wǎng)絡(luò)CN,參見圖1。
參考圖2,在功能單元FU0、FU1和FU2的數(shù)據(jù)和控制輸入端處直接提供了可保持寄存器1-27??杀3旨拇嫫?-5、11-15、21和23被稱為可保持?jǐn)?shù)據(jù)寄存器,因?yàn)樗鼈儽欢ㄎ挥诠δ軉卧狥U0、FU1和FU2的數(shù)據(jù)輸入端處。當(dāng)功能單元沒有被使用的時(shí)候,可保持寄存器1-27將使功能單元FU0,F(xiàn)U1和FU2的輸入不變。結(jié)果,沒有組合門被切換并且不會(huì)發(fā)生功率耗損。此外,為了防止結(jié)果文件索引RFI和寄存器索引RI發(fā)生不必要的改變并從而導(dǎo)致不必要的功率耗損,可保持寄存器29、31和33被直接放置在時(shí)間形態(tài)控制器TSC之后。這個(gè)實(shí)施例的一個(gè)優(yōu)點(diǎn)是它降低了功率消耗。在每個(gè)時(shí)鐘周期中,最多可以在功能單元FU0、FU1和FU2其中之一上開始一個(gè)操作,并且大多數(shù)的功能單元在一個(gè)單一處理器周期中結(jié)束它們的操作。如果由于通過輸入路由網(wǎng)絡(luò)IRN或解碼器DEC被傳送的數(shù)據(jù)而使未被使用的功能單元的輸入發(fā)生改變,則當(dāng)它們沒有被使用的時(shí)候這些功能單元仍將消耗可觀的功率,盡管它們的輸出是無關(guān)緊要的。添加可保持寄存器1-33會(huì)產(chǎn)生附加狀態(tài),但是這對(duì)于發(fā)布槽UC1、UC2和UC3來講是無關(guān)緊要的。在中斷期間,只要凍結(jié)它們的狀態(tài)即可。所述的可保持寄存器1-33僅承擔(dān)附加的區(qū)域。在相應(yīng)的功能單元沒有被使用的情形下,由于使用時(shí)鐘選通來將寄存器保持在它們的不活動(dòng)狀態(tài),這些寄存器不浪費(fèi)附加功率。
參考圖3,發(fā)布槽UC0是唯一由第二指令組使用的發(fā)布槽,其被用于中斷服務(wù)例程。為了保證快速的中斷響應(yīng),最小化在中斷處理期間必須被保存的狀態(tài)的數(shù)量是重要的。這可以通過將可保持寄存器放置在功能單元FU0、FU1和FU2的公共輸入端處來實(shí)現(xiàn)。因此,可保持寄存器101、103和105被直接地放置在發(fā)布槽UC0的輸入端處,而不是在發(fā)布槽UC0中的每個(gè)功能單元FU0、FU1和FU2的數(shù)據(jù)輸入端處。此外,可保持寄存器117被放置在解碼器DEC的輸出端處(而不是在發(fā)布槽UC0中的每個(gè)功能單元FU0、FU1和FU2的輸入端處),以用于傳送必須被執(zhí)行的操作OPT的類型的信息。在時(shí)間形態(tài)控制器TSC的結(jié)果文件索引輸入和寄存器索引輸入終端處同樣定位了可保持寄存器113和115,而不是在它們的輸出端處,這節(jié)省了一個(gè)可保持寄存器。在每個(gè)功能單元FU0、FU1和FU2的輸入端處的可保持寄存器107,109和111的定位保持不變,因?yàn)檫@些功能單元輸入沒有被耦合到解碼器DEC的公共的輸出端。
在發(fā)布槽UC0中的可保持寄存器的定位的一個(gè)優(yōu)點(diǎn)是,與由于發(fā)布槽UC1、UC2和UC3中的可保持寄存器而呈現(xiàn)的狀態(tài)的數(shù)量相比,在中斷期間必須被保存的狀態(tài)的數(shù)量被大大減少。使用發(fā)布槽UC0中的功能單元FU0、FU1和FU2其中之一,導(dǎo)致發(fā)布槽UC0的其它功能單元的輸入改變,并因此在這個(gè)發(fā)布槽中產(chǎn)生不必要的功率耗損。如果整個(gè)發(fā)布槽都沒有被使用,可保持寄存器10-111和117將防止發(fā)布槽UC0的功能單元FU0、FU1和FU2的功率消耗。
對(duì)于發(fā)布槽UC0、UC1、UC2和UC3,可保持寄存器的位置導(dǎo)致在提高性能、降低功率消耗和減少狀態(tài)開銷之間的平衡考慮。許多中斷需要非常簡(jiǎn)單的中斷服務(wù)例程,因此只需要使用有限的第二組發(fā)布槽的的壓縮第二指令組就足夠了。在發(fā)布槽的較大的子集中,所述的可保持寄存器可以如圖2所示地被定位,以便最佳地降低功率消耗,這導(dǎo)致功率消耗的整體的顯著降低。通過如圖3所示地在發(fā)布槽中定位由第二指令組使用的可保持寄存器,在中斷處理期間必須被保存的狀態(tài)的數(shù)量被大大降低。此外,被添加到發(fā)布槽UC0、UC1、UC2和UC3的可保持寄存器在體系結(jié)構(gòu)中形成一個(gè)附加的流水線級(jí),這允許處理器以較高的時(shí)鐘頻率運(yùn)行。再參考圖1,在發(fā)布槽UC0、UC1,UC2和UC3中被定位的可保持寄存器將現(xiàn)有的數(shù)據(jù)通路分成兩部分,這減少了執(zhí)行一個(gè)部分的數(shù)據(jù)通路所需的時(shí)間,并且允許提高處理器的時(shí)鐘頻率。
一個(gè)超標(biāo)量處理器還包括可以并行執(zhí)行多個(gè)操作的多個(gè)發(fā)布槽,和VLIW處理器的情況一樣。因此,在這個(gè)部分中描述的VLIW處理器的實(shí)施例的原則也可以應(yīng)用于超標(biāo)量處理器。通常,當(dāng)與超標(biāo)量處理器相比的時(shí)候,VLIW處理器可能具有更多發(fā)布槽。VLIW處理器的硬件與超標(biāo)量處理器相比簡(jiǎn)單一些,這導(dǎo)致較好的可擴(kuò)展的體系結(jié)構(gòu)。由于本發(fā)明,尤其是發(fā)布槽的數(shù)量和每個(gè)發(fā)布槽中的功能單元的數(shù)量將決定功率消耗的相對(duì)的降低。
應(yīng)當(dāng)注意到上述實(shí)施例是說明性的,而不是對(duì)本發(fā)明的限定,并且對(duì)本領(lǐng)域的普通技術(shù)人員來講,在沒有脫離所附權(quán)利要求書的范圍的情況下,將能設(shè)計(jì)出許多替換實(shí)施例。在權(quán)利要求書中,括號(hào)中的任何附圖標(biāo)記都不是對(duì)權(quán)利要求的限定。術(shù)語(yǔ)″包括″不排除存在除了在權(quán)利要求中列出的以外的元件或步驟。元件前面的術(shù)語(yǔ)″一個(gè)″不排除存在多個(gè)這樣的元件。在列舉了若干設(shè)備的裝置權(quán)利要求中,若干這些設(shè)備可以被包含在同一個(gè)硬件項(xiàng)中。在互相不同的從屬權(quán)利要求中引用某些手段這一事實(shí)并不表示這些手段不能被組合使用以獲益。
權(quán)利要求
1.一個(gè)多發(fā)布處理器,包括多個(gè)發(fā)布槽,所述的多個(gè)發(fā)布槽中的每個(gè)都包括多個(gè)功能單元和多個(gè)可保持寄存器,所述多個(gè)發(fā)布槽包括第一組發(fā)布槽和第二組發(fā)布槽;和一個(gè)可由多個(gè)發(fā)布槽訪問的寄存器文件;其特征在于,在第一組發(fā)布槽中的多個(gè)可保持寄存器的至少一部分的位置與在第二組發(fā)布槽中的多個(gè)可保持寄存器的至少一個(gè)對(duì)應(yīng)部分的位置不同。
2.根據(jù)權(quán)利要求1的多發(fā)布處理器,包括可以訪問至少該第一組發(fā)布槽的第一指令組裝置;可以訪問該第二組發(fā)布槽的第二指令組裝置。
3.根據(jù)權(quán)利要求1或2的多發(fā)布處理器,其中在第一組發(fā)布槽中,多個(gè)可保持?jǐn)?shù)據(jù)寄存器的位置是在諸功能單元各自的數(shù)據(jù)輸入端處,同時(shí)在第二組發(fā)布槽中,多個(gè)可保持?jǐn)?shù)據(jù)寄存器的位置是在諸功能單元的公共數(shù)據(jù)輸入端處。
全文摘要
一個(gè)多發(fā)布處理器,包括多個(gè)發(fā)布槽(UC0、UC1、UC2和UC3)(多個(gè)發(fā)布槽中的每個(gè)都具有多個(gè)功能單元(FU0、FU1和FU2))和多個(gè)可保持寄存器(1-33和101-117)。所述的多個(gè)發(fā)布槽包括第一組發(fā)布槽(UC1、UC2和UC3)和第二組發(fā)布槽(UC0),并且寄存器文件(RF0和RF1)可以由多個(gè)發(fā)布槽(UC0、UC1、UC2和UC3)訪問。在第一組發(fā)布槽(UC1、UC2和UC3)中的多個(gè)可保持寄存器(1-33)中的至少一部分的位置與在第二組發(fā)布槽(UC0)中的多個(gè)可保持寄存器(101-117)中的至少一個(gè)對(duì)應(yīng)部分的位置不同。所述的可保持寄存器可以防止未使用的功能單元的輸入變化,該變化將導(dǎo)致不必要的功率耗損。然而,這樣會(huì)增加在中斷處理期間必須保存的狀態(tài)的數(shù)量。通過改變用于不同發(fā)布槽的可保持寄存器的位置,在中斷處理期間可能只需要保存較少的狀態(tài),同時(shí)保持顯著的功耗降低和改善的性能。
文檔編號(hào)G06F9/38GK1647032SQ03808679
公開日2005年7月27日 申請(qǐng)日期2003年4月1日 優(yōu)先權(quán)日2002年4月18日
發(fā)明者J·A·J·雷坦 申請(qǐng)人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安顺市| 丹寨县| 新兴县| 湖州市| 龙里县| 正蓝旗| 巨野县| 武胜县| 剑河县| 兴海县| 广平县| 潞城市| 湘潭县| 岫岩| 龙州县| 济源市| 佛学| 永兴县| 成安县| 临颍县| 东乡族自治县| 西安市| 宝应县| 松滋市| 通化县| 定南县| 志丹县| 石景山区| 阿拉善盟| 左权县| 怀安县| 乌兰县| 冕宁县| 清新县| 武陟县| 花莲市| 昔阳县| 新和县| 平利县| 平利县| 凌云县|