两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種超長(zhǎng)指令字處理的方法和裝置的制作方法

文檔序號(hào):6458075閱讀:216來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種超長(zhǎng)指令字處理的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及電子技術(shù)領(lǐng)域,特別涉及一種超長(zhǎng)指令字處理的方法和裝置。
背景技術(shù)
隨著高性能計(jì)算需求的增長(zhǎng),計(jì)算機(jī)體系結(jié)構(gòu)發(fā)生了很大變化。作為計(jì) 算機(jī)核心部件的處理器,其性能和復(fù)雜性也在增長(zhǎng)。處理器性能的改善在很
大程度上歸功于處理器架構(gòu)的發(fā)展和VLSI (Very Large Scale Intergration,大 規(guī)模集成電路)工藝的改進(jìn)。目前處理器架構(gòu)正在發(fā)生很大的變化,而這種 變化無(wú)不體現(xiàn)出市場(chǎng)需求的強(qiáng)大動(dòng)力。
現(xiàn)代處理器,無(wú)論是通用處理器還是數(shù)字信號(hào)處理器其架構(gòu)正在趨于融 合。通用處理器通過(guò)增加媒體處理指令來(lái)提高數(shù)據(jù)處理器能力;而數(shù)字信號(hào) 處理器也借鑒了通用處理器的體系結(jié)構(gòu),使得數(shù)字信號(hào)處理器的數(shù)據(jù)處理器 能力更加強(qiáng)大、管理更加靈活。目前現(xiàn)代處理器架構(gòu)的發(fā)展主要體現(xiàn)在三個(gè) 方面,即超流水、多指令發(fā)射和多指令操作。
其中,VLIW (Very Long Instruction Word,超長(zhǎng)指令字)架構(gòu)是目前廣泛 采用的數(shù)字信號(hào)處理器架構(gòu)。超長(zhǎng)指令字是指供處理器同時(shí)執(zhí)行的最大指令 條數(shù)超過(guò)1條,超過(guò)1條的指令組合在一起構(gòu)成了一個(gè)超常指令字。該超常 指令字通過(guò)處理器指令獲取,譯碼,分發(fā)和執(zhí)行階段完成指令定義的功能。 為了同時(shí)執(zhí)行多條指令,處理器需要提供特殊的分發(fā)和執(zhí)行單元。分發(fā)單元 是將一條超常指令字中多個(gè)指令分發(fā)給不同的執(zhí)行單元。多個(gè)執(zhí)行單元構(gòu)成 了處理器的執(zhí)行單元組。多個(gè)執(zhí)行單元組構(gòu)成了處理器的執(zhí)行級(jí)。
現(xiàn)有的一種超長(zhǎng)指令處理架構(gòu)中,功能單元被分為兩組,其中,Ll、 Sl、 Wl和Dl四個(gè)功能單元組成第一個(gè)功能單元組;L2、 S2、 W2和D2四個(gè)功 能單元組成第二個(gè)功能單元組。在指令的分發(fā)階段,分發(fā)電路根據(jù)每條指令 中的某一位分發(fā)到第一個(gè)功能單元組或者第二個(gè)功能單元組。如果第一個(gè)功
5能單元組的功能單元要訪問(wèn)第二個(gè)寄存器堆B或者第二個(gè)功能單元組的功能 單元要訪問(wèn)第 一個(gè)寄存器堆A均需要經(jīng)過(guò)一個(gè)交叉訪問(wèn)結(jié)構(gòu)。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題現(xiàn)有 超長(zhǎng)指令處理架構(gòu)對(duì)功能單元進(jìn)行分組,如果第 一個(gè)功能單元組的功能單元 要訪問(wèn)第二個(gè)寄存器堆B或者第二個(gè)功能單元組的功能單元要訪問(wèn)第一個(gè)寄 存器堆A需要經(jīng)過(guò)一個(gè)交叉訪問(wèn)機(jī)制,因此其數(shù)據(jù)吞吐量受限。另外,該處 理架構(gòu)的功能單元和寄存器堆連接是固定的,降低了數(shù)據(jù)訪問(wèn)的靈活性。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種超長(zhǎng)指令字處理的方法和裝置,不對(duì)功能單元進(jìn) 行分組,避免經(jīng)過(guò)交叉訪問(wèn)結(jié)構(gòu)機(jī)制實(shí)現(xiàn)數(shù)據(jù)交換,提高數(shù)據(jù)交換的能力, 增加功能單元的數(shù)據(jù)訪問(wèn)靈活性。
為達(dá)到上述目的,本發(fā)明實(shí)施例一方面提供一種超長(zhǎng)指令字處理的方法,
包括根據(jù)指令編碼中的功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)同類(lèi)型的功能單元,
并向所述功能單元分發(fā)所述指令編碼;將所述指令編碼進(jìn)行譯碼,獲知所述
功能單元所要執(zhí)行的操作指令和所述功能單元所要訪問(wèn)的寄存器堆;根據(jù)所 述操作指令從所述寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
另一方面,本發(fā)明實(shí)施例還提供一種超長(zhǎng)指令字處理的裝置,包括選 擇單元,用于根據(jù)指令編碼中的功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)同類(lèi)型的功 能單元;分發(fā)單元,用于向所述選擇單元選擇的功能單元分發(fā)所述指令編碼; 譯碼單元,用于對(duì)分發(fā)給所述功能單元的指令編碼進(jìn)行譯碼,獲知所述功能 單元所要執(zhí)行的操作指令和所述功能單元所要訪問(wèn)的寄存器堆;功能單元, 用于根據(jù)所述譯碼單元的譯碼出的操作指令從所述譯碼單元譯碼出的所述功 能單元所要訪問(wèn)的寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)本發(fā)明實(shí)施例不對(duì)功能 單元分組,避免了經(jīng)過(guò)交叉訪問(wèn)結(jié)構(gòu)機(jī)制實(shí)現(xiàn)數(shù)據(jù)交換,因此提高了數(shù)據(jù)交 換的能力,增加了功能單元的數(shù)據(jù)訪問(wèn)靈活性。


圖1為本發(fā)明實(shí)施例的方法流程圖2為本發(fā)明實(shí)施例超長(zhǎng)指令處理架構(gòu)圖3為本發(fā)明實(shí)施例的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式
下面就本發(fā)明實(shí)施例的具體實(shí)施方式
作進(jìn)一步的描述,如圖1所示為本 發(fā)明實(shí)施例的方法流程圖,具體包括以下步驟
步驟S101,獲取指令編碼。在指令編碼的獲取階段,處理器從指令編碼 存儲(chǔ)器中,讀取指令編碼包,緩存到指令編碼緩存寄存器中,并根據(jù)指令編 碼并行機(jī)制,把可同時(shí)并行執(zhí)行的指令編碼組成執(zhí)行包。
步驟S102,根據(jù)功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)功能單元,并向其分發(fā) 指令編碼。在指令編碼的分發(fā)階段,處理器根據(jù)各個(gè)執(zhí)行包中的各個(gè)指令編 碼中的功能單元類(lèi)型標(biāo)識(shí),從同類(lèi)型的功能單元中任意選擇一個(gè)功能單元, 并將對(duì)應(yīng)于該類(lèi)型功能單元的指令編碼分發(fā)給該功能單元。
步驟S103,將指令編碼進(jìn)行譯碼,獲取操作指令和所要訪問(wèn)的寄存器堆。 在指令編碼的譯碼階段,處理器通過(guò)將功能單元收到的指令編碼進(jìn)行譯碼, 獲知所述功能單元所要執(zhí)行的操作指令和所述功能單元所要訪問(wèn)的寄存器 堆。
步驟S104,根據(jù)操作指令從所要訪問(wèn)的寄存器堆讀取數(shù)據(jù)進(jìn)行操作。上 述被選中的功能單元根據(jù)譯碼出的操作指令從所述寄存器堆讀取數(shù)據(jù)進(jìn)行操 作。
當(dāng)上述數(shù)據(jù)存放在第一寄存器堆或第二寄存器堆時(shí),根據(jù)操作指令從第 一寄存器堆或第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
當(dāng)上述數(shù)據(jù)分別存放在第一寄存器堆和第二寄存器堆時(shí),所述從所要訪 問(wèn)的寄存器堆中讀取數(shù)據(jù)進(jìn)行操作的操作步驟分三種方式。其中,第一種方 式為從第一寄存器堆讀取數(shù)據(jù)進(jìn)行操作,步驟如下
1、所述功能單元通過(guò)選擇開(kāi)關(guān)將所述數(shù)據(jù)在所述第二寄存器堆的部分轉(zhuǎn)
7移到全局寄存器堆;
2、 所述功能單元通過(guò)選擇開(kāi)關(guān)將所述第二寄存器堆轉(zhuǎn)移到所述全局寄存 器堆的數(shù)據(jù)轉(zhuǎn)移到所述第第 一 寄存器堆;
3、 所述功能單元根據(jù)所述操作指令,通過(guò)選擇開(kāi)關(guān)從所述第一寄存器堆 讀取數(shù)據(jù)進(jìn)行操作。
其中,第二種方式為從第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作,步驟如下
1、 所述功能單元通過(guò)選擇開(kāi)關(guān)將所述數(shù)據(jù)在所述第一寄存器堆的部分移 動(dòng)到所述全局寄存器堆;
2、 所述功能單元通過(guò)選#^開(kāi)關(guān)將所述第一寄存器堆轉(zhuǎn)移到所述全局寄存 器堆的數(shù)據(jù)轉(zhuǎn)移到所述第二寄存器堆;
3、 所述功能單元關(guān)根據(jù)所述操作指令,通過(guò)交叉開(kāi)從所述第二寄存器堆 讀取數(shù)據(jù)進(jìn)行操作。
其中,第三種方式為從全局寄存器堆讀取數(shù)據(jù)進(jìn)行操作,步驟如下
1、 所述功能單元通過(guò)選擇開(kāi)關(guān)將所述數(shù)據(jù)在所述第一寄存器堆的部分和 所述數(shù)據(jù)在所述第二寄存器堆的部分轉(zhuǎn)移到全局寄存器堆;
2、 所述功能單元根據(jù)所述操作指令從所述全局寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
至于上述方式具體采用哪種,根據(jù)具體的操作指令而定。 上述發(fā)明實(shí)施例不對(duì)功能單元分組,只是一個(gè)組,各個(gè)功能單元間只有 類(lèi)型的區(qū)別,如圖2所示,分發(fā)的時(shí)候處理器根據(jù)指令編碼中的功能單元類(lèi) 型標(biāo)識(shí),從同類(lèi)型的功能單元組中任意選擇一個(gè)功能單元分發(fā)指令編碼,將 指令編碼譯碼后,該功能單元根據(jù)譯碼出的操作指令和所要訪問(wèn)的寄存器堆 進(jìn)行操作,從而避免了經(jīng)過(guò)交叉訪問(wèn)結(jié)構(gòu)機(jī)制實(shí)現(xiàn)數(shù)據(jù)交換,提高了數(shù)據(jù)交 換的能力,增加了功能單元的數(shù)據(jù)訪問(wèn)靈活性。
如圖3所示為本發(fā)明實(shí)施例的裝置結(jié)構(gòu)圖,包括選擇單元l,用于根據(jù) 指令編碼中的功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)同類(lèi)型的功能單元4;分發(fā)單元 2,用于向選擇單元1選擇的功能單元4分發(fā)指令編碼;譯碼單元3,用于對(duì) 分發(fā)給功能單元4的指令編碼進(jìn)行譯碼,獲知功能單元4所要執(zhí)行的操作指令和功能單元4所要訪問(wèn)的寄存器堆;功能單元4,用于根據(jù)譯碼單元3的譯 碼出的操作指令從i爭(zhēng)碼單元3譯碼出的功能單元4所要訪問(wèn)的寄存器堆讀取 數(shù)據(jù)進(jìn)行操作。
其中,功能單元4可以包括第一操作功能子單元,用于根據(jù)譯碼單元3 譯碼出的操作指令從第一寄存器堆5讀取數(shù)據(jù)進(jìn)行操作。
或者,功能單元4可以包括第二操作功能子單元,用于根據(jù)譯碼單元3 譯碼出的操作指令從第二寄存器堆6讀取數(shù)據(jù)進(jìn)行操作。
或者,功能單元4可以包括第一轉(zhuǎn)移功能子單元,用于將所述數(shù)據(jù)在 第一寄存器堆5的部分和所述數(shù)據(jù)在第二寄存器堆6的部分轉(zhuǎn)移到全局寄存 器堆7;第三操作功能子單元,用于根據(jù)譯碼單元3譯碼出的操作指令從全局 寄存器堆7讀取數(shù)據(jù)進(jìn)行操作。
或者,功能單元4可以包括第二轉(zhuǎn)移功能子單元,用于將所述數(shù)據(jù)在 第一寄存器堆5的部分轉(zhuǎn)移到全局寄存器堆7,將第一寄存器堆5轉(zhuǎn)移到全局 寄存器堆7的數(shù)據(jù)轉(zhuǎn)移到第二寄存器堆6;第四操作功能子單元,用于根據(jù)所 述操作指令從所述第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
或者,功能單元4可以包括第三轉(zhuǎn)移功能子單元,用于將所述數(shù)據(jù)在 所述第二寄存器堆的部分移動(dòng)到所述全局寄存器堆,將所述第二寄存器堆轉(zhuǎn)
移到所述全局寄存器堆的數(shù)據(jù)轉(zhuǎn)移到所述第一寄存器堆;第五操作功能子單 元,用于根據(jù)所述操作指令從所述第一寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
上述發(fā)明實(shí)施例的裝置還可以包括第一寄存器堆5、第二寄存器堆6和 全局寄存器堆7,用于存儲(chǔ)數(shù)據(jù),其中,各個(gè)寄存器堆中的寄存器的數(shù)量由各 自寄存器堆的端口數(shù)量決定。其中,上述功能單元4通過(guò)一個(gè)選擇開(kāi)關(guān)8訪 問(wèn)第一寄存器堆5或第二寄存器堆6。
上述發(fā)明實(shí)施例的處理器系統(tǒng)分成三個(gè)寄存器堆,其中,端口多的寄存 器堆,其寄存器個(gè)數(shù)可以較少,端口少的寄存器堆,寄存器個(gè)數(shù)較多,這樣 解決了單個(gè)寄存器堆總面積和功耗隨著寄存器的端口數(shù)成3次方指數(shù)增長(zhǎng)的 實(shí)現(xiàn)難題,而且采用全局寄存器堆,各個(gè)功能單元之間能夠更加順暢的交換 數(shù)據(jù)。另外,功能單元訪問(wèn)寄存器堆中的哪一個(gè)寄存器,是在進(jìn)行指令編碼
9的譯碼階段決定的,這樣提高了功能單元訪問(wèn)寄存器堆的靈活性,為編譯器 在進(jìn)行操作指令調(diào)度和寄存器分配時(shí),提供了更加靈活的優(yōu)化空間。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件, 但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案 本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái), 該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算 機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí) 施例所述的方法。
以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種超長(zhǎng)指令處理的方法,其特征在于,包括根據(jù)指令編碼中的功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)同類(lèi)型的功能單元,并向所述功能單元分發(fā)所述指令編碼;將所述指令編碼進(jìn)行譯碼,獲知所述功能單元所要執(zhí)行的操作指令和所述功能單元所要訪問(wèn)的寄存器堆;根據(jù)所述操作指令從所述寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
2、 如權(quán)利要求1所述的超長(zhǎng)指令處理的方法,其特征在于,所述根據(jù)所 述操作指令從所述寄存器堆讀取數(shù)據(jù)進(jìn)行操作,包括根據(jù)所述操作指令從第一寄存器堆,或者第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
3、 如權(quán)利要求1所述超長(zhǎng)指令處理的方法,其特征在于,當(dāng)所述數(shù)據(jù)分 別存放在第一寄存器堆和第二寄存器堆時(shí),所述根據(jù)操作指令從所述寄存器 堆讀取數(shù)據(jù)進(jìn)行操作,包括將所述數(shù)據(jù)在所述第一寄存器堆的部分和所述數(shù)據(jù)在所述第二寄存器堆 的部分轉(zhuǎn)移到全局寄存器堆;根據(jù)所述操作指令從所述全局寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
4、 如權(quán)利要求1所述超長(zhǎng)指令處理的方法,其特征在于,當(dāng)所述數(shù)據(jù)分 別存放在第一寄存器堆和第二寄存器堆時(shí),所述根據(jù)操作指令從所述寄存器 堆讀取數(shù)據(jù)進(jìn)行梯:作,包括將所述數(shù)據(jù)在所述第一寄存器堆的部分轉(zhuǎn)移到全局寄存器堆,將所述第 一寄存器堆轉(zhuǎn)移到所述全局寄存器堆的數(shù)據(jù)轉(zhuǎn)移到所述第二寄存器堆,根據(jù)所述操作指令從所述第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作;或者將所述數(shù)據(jù)在所述第二寄存器堆的部分移動(dòng)到所述全局寄存器堆,將所 述第二寄存器堆轉(zhuǎn)移到所述全局寄存器堆的數(shù)據(jù)轉(zhuǎn)移到所述第一寄存器堆,根據(jù)所述操作指令從所述第 一寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
5、 如權(quán)利要求1所述超長(zhǎng)指令處理的方法,其特征在于,所述第一寄存 器堆,第二寄存器堆和全局寄存器堆中的寄存器的數(shù)量由各自寄存器堆的端 口數(shù)量決定。
6、 一種超長(zhǎng)指令處理的裝置,其特征在,包括選擇單元,用于根據(jù)指令編碼中的功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)同類(lèi) 型的功能單元;分發(fā)單元,用于向所述選擇單元選擇的功能單元分發(fā)所述指令編碼; 譯碼單元,用于對(duì)分發(fā)給所述功能單元的指令編碼進(jìn)行譯碼,獲知所述功能單元所要執(zhí)行的操作指令和所述功能單元所要訪問(wèn)的寄存器堆;功能單元,用于根據(jù)所述譯碼單元的譯碼出的操作指令從所述譯碼單元譯碼出的所述功能單元所要訪問(wèn)的寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
7、 如權(quán)利要求6所述超長(zhǎng)指令處理的裝置,其特征在,所述功能單元包括第一操作功能子單元,用于根據(jù)所述譯碼單元譯碼出的操作指令從所述第一寄存器堆讀取數(shù)據(jù)進(jìn)行操作;或者第二操作功能子單元,用于根據(jù)所述譯碼單元譯碼出的操作指令從所述 第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
8、 如權(quán)利要求6所述超長(zhǎng)指令處理的裝置,其特征在,所述功能單元包括第一轉(zhuǎn)移功能子單元,用于將所述數(shù)據(jù)在所述第一寄存器堆的部分和所 述數(shù)據(jù)在所述第二寄存器堆的部分轉(zhuǎn)移到全局寄存器堆;第三操作功能子單元,用于根據(jù)所述譯碼單元譯碼出的操作指令從所述 全局寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
9、 如權(quán)利要求6所述超長(zhǎng)指令處理的裝置,其特征在,所述功能單元包括第二轉(zhuǎn)移功能子單元,用于將所述數(shù)據(jù)在所述第一寄存器堆的部分轉(zhuǎn)移 到全局寄存器堆,將所述第一寄存器堆轉(zhuǎn)移到所述全局寄存器堆的數(shù)據(jù)轉(zhuǎn)移 到所述第二寄存器堆;第四操作功能子單元,用于根據(jù)所述操作指令從所述第二寄存器堆讀取數(shù)據(jù)進(jìn)行操作。
10、 如權(quán)利要求6所述超長(zhǎng)指令處理的裝置,其特征在,所述功能單元包括第三轉(zhuǎn)移功能子單元,用于將所述數(shù)據(jù)在所述第二寄存器堆的部分移動(dòng) 到所述全局寄存器堆,將所述第二寄存器堆轉(zhuǎn)移到所述全局寄存器堆的數(shù)據(jù) 轉(zhuǎn)移到所述第一寄存器堆;第五操作功能子單元,用于根據(jù)所述操作指令從所迷第一寄存器堆讀取 數(shù)據(jù)進(jìn)行操作。
全文摘要
本發(fā)明公開(kāi)了一種超長(zhǎng)指令處理的方法,包括根據(jù)指令編碼中的功能單元類(lèi)型標(biāo)識(shí)任意選擇一個(gè)同類(lèi)型的功能單元,并向所述功能單元分發(fā)所述指令編碼;將所述指令編碼進(jìn)行譯碼,獲知所述功能單元所要執(zhí)行的操作指令和所述功能單元所要訪問(wèn)的寄存器堆;根據(jù)所述操作指令從所述寄存器堆讀取數(shù)據(jù)進(jìn)行操作。本發(fā)明實(shí)施例不對(duì)功能單元分組,避免經(jīng)過(guò)交叉訪問(wèn)結(jié)構(gòu)訪問(wèn)寄存器堆,提高了數(shù)據(jù)交換的能力,增加了功能單元的數(shù)據(jù)訪問(wèn)靈活性。
文檔編號(hào)G06F9/38GK101470600SQ20081000683
公開(kāi)日2009年7月1日 申請(qǐng)日期2008年2月2日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者虎 何, 程由猛, 范文奇, 震 陳 申請(qǐng)人:華為技術(shù)有限公司;清華大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
甘德县| 汤原县| 老河口市| 三亚市| 蒲江县| 赣榆县| 呼伦贝尔市| 含山县| 邵东县| 马公市| 新沂市| 丰台区| 肇州县| 富源县| 新竹市| 化隆| 兴安盟| 南京市| 临城县| 榕江县| 揭东县| 郎溪县| 运城市| 博野县| 遵义县| 沙坪坝区| 钟祥市| 砚山县| 正镶白旗| 迁西县| 定南县| 紫阳县| 元阳县| 长子县| 紫阳县| 兴文县| 斗六市| 无棣县| 石景山区| 朝阳区| 龙岩市|