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

用于支持由多個引擎執(zhí)行指令序列的互連結(jié)構(gòu)的制作方法

文檔序號:6495879閱讀:149來源:國知局
用于支持由多個引擎執(zhí)行指令序列的互連結(jié)構(gòu)的制作方法
【專利摘要】一種全局互連系統(tǒng)。該全局互連系統(tǒng)包括具有用于支持多個代碼序列的執(zhí)行的數(shù)據(jù)的多個資源以及用于實施多個代碼序列的執(zhí)行的多個引擎。多個資源消費方處于多個引擎中的每個引擎之內(nèi)。全局互連結(jié)構(gòu)耦合至多個資源消費方并且耦合至多個資源,以實現(xiàn)數(shù)據(jù)訪問和多個代碼序列的執(zhí)行,其中資源消費方通過對全局互連結(jié)構(gòu)的每周期利用來訪問資源。
【專利說明】用于支持由多個引擎執(zhí)行指令序列的互連結(jié)構(gòu)
[0001]本申請要求由Mohammad A.Abdallah于2011年5月20日提交的題為“ANINTERCONNECT STRUCTURE TO SUPPORT THE EXECUTION OF INSTRUCTION SEQUENCES BY APLURALITY OF ENGINES”的共同未決的被共同轉(zhuǎn)讓的第61/488683號美國臨時專利申請的權(quán)益,并且其全文結(jié)合于此。
_2] 相關(guān)申請的交叉引用
[0003]本申請涉及由Mohammad A.Abdallah于2010年I月5日提交的題為“APPARATUSAND METHOD FOR PROCESSING COMPLEX INSTRUCTION FORMATS IN A MULTITHREADEDARCHITECTURE SUPPORTING VARIOUS ⑶NTEXT SWITCH MODES AND VIRTUALIZATIONSCHEMES”的共同未決的被共同轉(zhuǎn)讓的第12/514,303號美國專利申請,并且其全文結(jié)合于此。
[0004]本申請涉及由Mohammad A.Abdallah于2008年12月19日提交的題為“APPARATUSAND METHOD FOR PROCESSING AN INSTRUCTION MATRIX SPECIFYING PARALLEL INDEPENDENT OPERATIONS”的共同未決的被共同轉(zhuǎn)讓的第12/296,919號美國專利申請,并且
其全文結(jié)合于此。
【技術(shù)領(lǐng)域】
[0005]本發(fā)明總體上涉及數(shù)字計算機系統(tǒng),更特別地涉及一種用于選擇包括指令序列的指令的系統(tǒng)和方法。
【背景技術(shù)】
[0006]需要處理器來處理相依賴的或者完全獨立的多個任務(wù)。這樣的處理器的內(nèi)部狀態(tài)通常由寄存器構(gòu)成,該寄存器在程序執(zhí)行的每個特定瞬間可能保存有不同的數(shù)值。在程序執(zhí)行的每個瞬間,內(nèi)部狀態(tài)圖像被稱作處理器的架構(gòu)狀態(tài)。
[0007]當(dāng)代碼執(zhí)行被切換而運行另一功能(例如,另一線程、處理或程序)時,則機器/處理器的狀態(tài)必須被保存,以使得新的功能能夠利用內(nèi)部寄存器來構(gòu)建其新的狀態(tài)。一旦新的功能終止,則其狀態(tài)能夠被丟棄并且之前環(huán)境的狀態(tài)將被恢復(fù)并繼續(xù)執(zhí)行。這樣的切換處理被稱作環(huán)境切換(context switch)并且通常包括數(shù)十個或數(shù)百個周期,尤其是利用采用大量寄存器(例如,64個、128個、256個)和/或亂序執(zhí)行的現(xiàn)代架構(gòu)的情況下。
[0008]在線程感知(thread-aware)的硬件架構(gòu)中,對于硬件而言,針對有限數(shù)量的硬件支持的線程而支持多種環(huán)境狀態(tài)是正常的。在這種情況下,硬件針對每個所支持的線程復(fù)制所有架構(gòu)狀態(tài)單元。這使得在執(zhí)行新線程時無需進行環(huán)境切換。然而,這仍然具有多種缺陷,即針對以硬件形式所支持的每個附加線程復(fù)制所有架構(gòu)狀態(tài)單元(即,寄存器)的面積、功率和復(fù)雜度。此外,如果軟件線程的數(shù)量超過了被明確支持的硬件線程的數(shù)量,則仍然必須執(zhí)行環(huán)境切換。
[0009]由于在需要大量線程的精細粒度的基礎(chǔ)上需要并行性,所以這變得很常見。具有重復(fù)的環(huán)境狀態(tài)硬件存儲器的硬件線程感知架構(gòu)對非線程化的軟件代碼并沒有幫助,而僅僅是減少了被線程化的軟件的環(huán)境切換的數(shù)量。然而,那些線程通常針對粗粒度并行化進行構(gòu)建,并且導(dǎo)致針對發(fā)起和同步的繁重軟件開銷,讓諸如函數(shù)調(diào)用和循環(huán)并行執(zhí)行之類的細粒度并行性沒有有效的線程化發(fā)起/自動生成。這樣描述的開銷伴隨著難以使用用于非明確/易于并行化/線程化的軟件代碼的現(xiàn)有技術(shù)編譯器或用戶并行化技術(shù)對這樣的代碼進行自動并行化。

【發(fā)明內(nèi)容】

[0010]在一個實施例中,本發(fā)明被實施為一種全局互連系統(tǒng)。該全局互連系統(tǒng)包括具有用于支持多個代碼序列的執(zhí)行的數(shù)據(jù)的多個資源以及用于實施多個代碼序列的執(zhí)行的多個引擎。多個資源消費方處于多個引擎中的每個引擎之內(nèi)。全局互連結(jié)構(gòu)耦合至多個資源消費方并且耦合至多個資源,以實現(xiàn)數(shù)據(jù)訪問和多個代碼序列的執(zhí)行,其中資源消費方通過對全局互連結(jié)構(gòu)的每周期利用來訪問資源。
[0011]以上是概述并且因此必然包含了細節(jié)的簡化、概括以及省略;因此,本領(lǐng)域技術(shù)人員將會意識到,該概述僅是說明性的而并非意在以任何方式進行限制。僅由權(quán)利要求所限定的本發(fā)明的其它方面、發(fā)明特征以及優(yōu)勢,將在以下所給出的非限制性的詳細描述中變得顯而易見。
【專利附圖】

【附圖說明】
[0012]在附圖的圖示中通過示例而非限制對本發(fā)明進行圖示,并且其中同樣的附圖標(biāo)記指代相似的單元。
[0013]圖1A示出了全局前端生成代碼塊和繼承向量以支持代碼序列在其相應(yīng)引擎上執(zhí)行的方式的概覽。
[0014]圖1B示出了依據(jù)本發(fā)明的一個實施例的引擎及其組件的概覽示圖,包括用于多核處理器的分段調(diào)度器和寄存器文件、互連和分片存儲器子系統(tǒng)。
[0015]圖2示出了依據(jù)本發(fā)明的一個實施例的描繪圖1A和圖1B的討論中所描述的互連以及多個局部互連的附加特征的概覽示圖。
[0016]圖3示出了依據(jù)本發(fā)明的一個實施例的包括對爭議資源實施有效訪問的資源預(yù)約機制的組件。
[0017]圖4示出了依據(jù)本發(fā)明的一個實施例的互連以及到存儲器片段之中的端口。
[0018]圖5示出了依據(jù)本發(fā)明的一個實施例的互連以及到分段之中的端口。
[0019]圖6示出了依據(jù)本發(fā)明的一個實施例的描繪分段互連的示圖。
[0020]圖7示出了依據(jù)本發(fā)明的一個實施例的圖示對針對互連分段的請求進行競爭和分配的方式的表格。
[0021]圖8示出了依據(jù)本發(fā)明的一個實施例的圖示對針對點對點總線的請求進行處置的方式的表格。
[0022]圖9示出了依據(jù)本發(fā)明的一個實施例的實施圖7的表格的功能的示例性邏輯實施方式的示圖。
[0023]圖10示出了依據(jù)本發(fā)明的一個實施例的實施對針對點對點總線的請求進行處置的方式的功能的示例性邏輯實施方式的示圖。[0024]圖11示出了依據(jù)本發(fā)明的一個實施例的互連的示圖。
[0025]圖12示出了依據(jù)本發(fā)明的一個實施例的圖示圖11的發(fā)送器模型互連結(jié)構(gòu)運行的方式的表格。
[0026]圖13示出了依據(jù)本發(fā)明的一個實施例的實施對針對共享總線互連結(jié)構(gòu)的請求進行處置的方式的功能的示例性邏輯實施方式的示圖。
[0027]圖14示出了依據(jù)本發(fā)明的一個實施例的示例性微處理器流水線的示圖。
【具體實施方式】
[0028]雖然已經(jīng)結(jié)合一個實施例對本發(fā)明進行了描述,但是本發(fā)明并非意在被局限于這里所給出的具體形式。與之相反,由于能夠被合理包括在如所附權(quán)利要求所限定的本發(fā)明的范圍之內(nèi),所以其意在覆蓋這樣的替換、修改和等同形式。
[0029]在以下詳細描述中,已經(jīng)給出了諸如具體方法順序、結(jié)構(gòu)、單元和連接之類的眾多具體細節(jié)。然而,所要理解的是,這些和其它具體細節(jié)無需被用來實踐本發(fā)明的實施例。在其它情況下,已經(jīng)省略了公知的結(jié)構(gòu)、單元或連接,或者沒有對其進行特別詳細的描述,以避免不必要地對該描述造成混淆。
[0030]說明書中對“一個實施例”或“實施例”的引用意在表明結(jié)合該實施例所描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。在說明書中各處出現(xiàn)的短語“在一個實施例中”并非必然全部都指代相同的實施例,也并非是與其它實施例互相排斥的單獨或可替換的實施例。此外,描述了可以由一些實施例而并非由其它實施例所表現(xiàn)的各種特征。類似地,描述了可能是針對一些實施例而非其它實施例的要求的各種要求。
[0031]隨后的詳細描述的一些部分以過程、步驟、邏輯框、處理以及對計算機存儲器內(nèi)的數(shù)據(jù)比特的運算的其它符號表示的形式進行呈現(xiàn)。這些描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員用來最為有效地向本領(lǐng)域的其它技術(shù)人員傳遞其工作實質(zhì)的手段。過程、計算機執(zhí)行的步驟、邏輯框、處理等在這里且一般地被理解為是導(dǎo)致所期望結(jié)果的步驟或指令的自相一致的序列。步驟是需要對物理量進行物理操控的那些步驟。通常,雖然并非必然如此,這些量采用計算機可讀存儲介質(zhì)的電或磁信號的形式并且能夠在計算機系統(tǒng)中存儲、傳輸、組合、比較以及以其它方式操控。已經(jīng)證明,主要出于一般使用的原因,將這些信號稱為比特、數(shù)值、單元、符號、字符、項、數(shù)字等有時是方便的。
[0032]然而,應(yīng)當(dāng)記住的是,所有這些和類似術(shù)語是與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)并且僅是應(yīng)用于這些量的便利標(biāo)記。除非從以下討論中明顯地另外特別指出,否則要意識到的是,貫穿本發(fā)明,利用諸如“處理”或“訪問”或“寫入”或“存儲”或“復(fù)制”等術(shù)語進行的討論指代計算機系統(tǒng)或類似電子計算設(shè)備的動作和處理,其對計算機系統(tǒng)的寄存器和存儲器以及其它計算機可讀介質(zhì)內(nèi)被表示為物理(電子)量的數(shù)據(jù)進行操控并將其變換為被類似表示為計算機系統(tǒng)的存儲器或寄存器或者其它這樣的信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其它數(shù)據(jù)。
[0033]本發(fā)明的實施例利用前端調(diào)度器、多個分段寄存器文件或者單個寄存器文件以及存儲器子系統(tǒng)來實現(xiàn)用于多核處理器的多個核心的分片地址空間。在一個實施例中,分片(fragmentation)通過允許另外的虛擬核心(例如,軟核心)協(xié)同執(zhí)行包括一個或多個線程的指令序列而使得能夠?qū)Χ嗵幚砥鞯男阅苓M行縮放。分片層級同樣跨每個高速緩存層級(例如,LI高速緩存、L2高速緩存)。分片層級使用地址比特將地址空間劃分為片段,其中地址比特被使用以使得片段通過處于高速緩存行界限以上和頁面界限以下的比特來識別。每個片段被配置為利用多端口組結(jié)構(gòu)進行存儲。以下在圖1A和圖1B中對本發(fā)明的實施例進一步進行描述。
[0034]圖1A示出了依據(jù)本發(fā)明的一個實施例的處理器的概覽示圖。如圖1A中所描述的,處理器包括全局前端取回和調(diào)度器10以及多個可劃分引擎11-14。
[0035]圖1A示出了全局前端生成代碼塊和繼承向量以支持代碼序列在其相應(yīng)引擎上執(zhí)行的方式的概覽。根據(jù)特定的虛擬核心執(zhí)行模式,代碼序列20-23中的每個代碼序列可以屬于相同的邏輯核心/線程或者不同的邏輯核心/線程。全局前端取回和調(diào)度器將對代碼序列20-23進行處理以生成代碼塊和繼承向量。如所示出的,這些代碼塊和繼承向量被分配給特定的可劃分引擎。
[0036]引擎依據(jù)所選擇的模式實施虛擬核心。引擎包括分段、片段以及多個執(zhí)行單元。引擎內(nèi)的資源可以被用來實施具有多種模式的虛擬核心。如由虛擬核心模式所提供的,能夠?qū)嵤┮粋€軟核心或許多軟核心以支持一個邏輯核心/線程。在圖1A的實施例中,根據(jù)所選擇的模式,虛擬核心可以支持一個邏輯核心/線程或者四個邏輯核心/線程。在虛擬核心支持四個邏輯核心/線程的實施例中,每個虛擬核心的資源跨每個可劃分引擎分布。在虛擬核心支持一個邏輯核心/線程的實施例中,所有引擎的資源專用于該核心/線程。對引擎進行劃分,以使得每個引擎提供包括每個虛擬核心的資源的子集。換句話說,虛擬核心將包括引擎11-14中每個引擎的資源的子集。引擎11-14中每個引擎的資源之間的通信由全局互連結(jié)構(gòu)30提供,以便促成該處理??商鎿Q地,引擎11-14能夠被用來實施物理模式,其中引擎11-14的資源專用于支持專用核心/線程的執(zhí)行。以這種方式,由引擎實施的軟核心包括具有跨每個引擎分布的資源的虛擬核心。在以下附圖中進一步對虛擬核心的執(zhí)行模式進行描述。
[0037]應(yīng)當(dāng)注意的是,在常規(guī)核心實施方式中,一個核心/引擎內(nèi)的資源僅被分配給一個邏輯線程/核心。與之相比,在本發(fā)明的實施例中,任意引擎/核心的資源能夠連同其它引擎/核心劃分一起被劃分,以例示出被分配給一個邏輯線程/核心的虛擬核心。本發(fā)明的實施例還能夠?qū)嵤┢渲心切┫嗤囊婺軌虮粍澐忠灾С衷S多專用核心/線程或者許多動態(tài)分配的核心/線程的多種虛擬執(zhí)行模式,以及其中所有引擎的所有資源都支持單個核心/線程的執(zhí)行的配置。以下進一步對一些代表性實施例進行描述。在當(dāng)前發(fā)明的其它實施例中,當(dāng)前發(fā)明的技術(shù)能夠直接被應(yīng)用于常規(guī)的多核實施方式,以使得能夠?qū)Χ嗪斯蚕淼馁Y源和互連進行有效的競爭、預(yù)約和分配。類似地,當(dāng)前發(fā)明能夠在單核或計算引擎內(nèi)被應(yīng)用,以使得能夠?qū)υ摵诵膬?nèi)任意的共享資源或互連(即,端口、總線、執(zhí)行單元、高速緩存、結(jié)構(gòu))進行有效的競爭、預(yù)約和分配。
[0038]例如,圖1A、圖1B和圖5中所示的實施例能夠被典型的多核設(shè)計所替代,該設(shè)計沒有全局前端或繼承向量,但是具有例示對諸如高速緩存、共享互連(例如,網(wǎng)或網(wǎng)格)或共享多向總線之類的資源進行訪問的多個核心或多個線程的引擎。在這樣的實施例中,當(dāng)前發(fā)明仍然能夠被直接應(yīng)用,以允許有效的資源和互連的競爭、預(yù)約和分配。類似地,當(dāng)前發(fā)明的實施例能夠被應(yīng)用于每個核心或引擎,以便競爭、預(yù)約和分配資源或互連。
[0039]圖1B示出了依據(jù)本發(fā)明的一個實施例的可劃分引擎及其組件的概覽視圖,包括用于多核處理器的分段調(diào)度器和寄存器文件、全局互連以及分片存儲器子系統(tǒng)。如圖1中所描繪的,示出了四個片段101-104。分片層級同樣跨每個高速緩存層級(例如,LI高速緩存、L2高速緩存和負(fù)載存儲緩沖器)。數(shù)據(jù)能夠通過存儲器全局互連IlOa在每個LI高速緩存、每個L2高速緩存以及每個負(fù)載存儲緩沖器之間進行交換。
[0040]存儲器全局互連包括路由矩陣,其允許多個核心(例如,地址計算和執(zhí)行單元121-124)訪問可以被存儲在分片高速緩存層級(例如,LI高速緩存、負(fù)載存儲緩沖器和L2高速緩存)中的任意點的數(shù)據(jù)。圖1還描繪了每個片段101-104由此能夠通過存儲器全局互連IlOa被地址計算和執(zhí)行單元121-124訪問的方式。
[0041]執(zhí)行全局互連IlOb類似地包括路由矩陣,其允許多個核心(例如,地址計算和執(zhí)行單元121-124)訪問可以被存儲在任意分段寄存器文件的數(shù)據(jù)。因此,核心通過存儲器全局互連I IOa或執(zhí)行全局互連I IOb對存儲在任意片段中的數(shù)據(jù)以及存儲在任意分段中的數(shù)據(jù)進行訪問。
[0042]圖1B進一步示出了全局前端取回和調(diào)度器150,其具有整個機器的視野并且對寄存器文件分段和分片存儲器子系統(tǒng)的利用進行管理。地址生成包括片段定義的基礎(chǔ)。全局前端取回和調(diào)度器通過向每個分段的劃分調(diào)度器分配指令序列而運行。公共劃分調(diào)度器隨后分派那些指令序列以用于在地址計算和執(zhí)行單元121-124上執(zhí)行。
[0043]此外,應(yīng)當(dāng)注意的是,圖1A中所示的可劃分引擎能夠以層級方式進行嵌套。在這樣的實施例中,第一級可劃分引擎將包括局部前端取回和調(diào)度器以及與之連接的多個二級可劃分引擎。
[0044]圖2示出了描繪依據(jù)本發(fā)明的一個實施例的以上在圖1A和圖1B的討論中所描述的互連30以及多個局部互連40-42的附加特征的概覽視圖。圖2的結(jié)構(gòu)圖示了互連結(jié)構(gòu)的協(xié)調(diào)(orchestrating)模型。圖2示出了被連接至相對應(yīng)的多個消費方的多個資源。該資源是每個可劃分引擎的數(shù)據(jù)存儲資源(例如,寄存器文件、負(fù)載存儲緩沖器、LI高速緩存和L2高速緩存)。消費方是每個可劃分引擎的執(zhí)行單元和地址計算單元。圖2進一步示出了 多個協(xié)調(diào)器(orchestrator) 21-23。
[0045]如上所述,每個引擎11-14的資源之間的通信由互連結(jié)構(gòu)來提供。通過示例,在圖2的實施例中,互連結(jié)構(gòu)30是專用的點對點總線。在圖2的實施例中,存在范圍跨每個引擎的資源的六條總線。每個周期僅一個消費方/資源對能夠利用六條總線之一。消費方/資源對通過圖10的或-與(OR-AND)和閾值檢測邏輯針對六條總線的使用互相競爭。然而,如在圖9的討論中進一步描述的,能夠使用預(yù)約加法器和閾值限制或處理來實現(xiàn)針對共享多點總線配置的相同協(xié)調(diào)。
[0046]協(xié)調(diào)器21-23包括將資源的路由指向消費方的受控實體。例如,在一個實施例中,協(xié)調(diào)器可以是線程調(diào)度器,其對資源進行調(diào)度以便通過互連傳輸至準(zhǔn)備執(zhí)行的消費方。協(xié)調(diào)器(例如線程調(diào)度器)識別正確的資源,預(yù)約必要的總線,并且使得該資源傳輸至所選擇的消費方。以這種方式,協(xié)調(diào)器監(jiān)視指令的準(zhǔn)備狀態(tài)并且選擇將被用來執(zhí)行該指令的執(zhí)行單元。該信息被用來通過使用如圖9或圖10所示的預(yù)約和分配邏輯競爭互連處的請求來對資源跨互連向所選擇的執(zhí)行單元(例如,所選擇的消費方)的傳輸進行協(xié)調(diào)。以這種方式,消費方自身的執(zhí)行單元被視為需要由協(xié)調(diào)器使用與針對互連所圖示的類似的資源預(yù)約和分配方法進行競爭的資源。其中通過使用圖9或圖10之一的預(yù)約和分配邏輯來競爭來自所有協(xié)調(diào)器的請求而預(yù)約和分配執(zhí)行單元。
[0047]互連包括路由矩陣,其允許多個資源消費方(在這種情況下為多個核心(例如,地址計算和執(zhí)行單元121-124))訪問可以被存儲在分片高速緩存層級(例如,LI高速緩存、負(fù)載存儲緩沖器和L2高速緩存)中的任意點處的資源(在這種情況下為數(shù)據(jù))。核心能夠類似地訪問可以存儲在任意分段寄存器文件處的數(shù)據(jù)。因此,核心通過互連結(jié)構(gòu)30對存儲在任意片段中的數(shù)據(jù)以及存儲在任意分段中的數(shù)據(jù)進行訪問。在一個實施例中,如以上在圖1B的討論中所示出并描述的,該互連結(jié)構(gòu)包括兩個結(jié)構(gòu),存儲器互連IlOa和執(zhí)行互連110b。
[0048]圖2還示出了多個局部互連40-42。局部互連40_42包括路由矩陣,其允許來自相鄰的可劃分引擎的資源消費方快速訪問緊鄰的可劃分引擎的資源。例如,一個核心能夠使用局部互連40快速訪問相鄰的可劃分引擎的資源(例如,寄存器文件、負(fù)載存儲緩沖器等)。
[0049]因此,互連結(jié)構(gòu)自身包括必須由每個可劃分引擎的每個核心所共享的資源。互連結(jié)構(gòu)30和局部互連結(jié)構(gòu)40-42實施了允許來自任意可劃分引擎的核心訪問任意其它可劃分引擎的資源的互連結(jié)構(gòu)。該互連結(jié)構(gòu)包括在互連結(jié)構(gòu)的情況下范圍跨集成電路設(shè)備的所有可劃分引擎以及在局部互連結(jié)構(gòu)的情況下范圍介于集成電路設(shè)備的引擎之間的傳輸線路。
[0050]本發(fā)明的實施例實施了用于使用互連和局部互連的非集中化的訪問處理。有限數(shù)量的全局總線和局部總線包括必須由協(xié)調(diào)器有效共享的資源。此外,非集中化的訪問處理被協(xié)調(diào)器用來有效地共享向每個可劃分引擎的資源提供讀/寫訪問的有限數(shù)量的端口。在一個實施例中,非集中化的訪問處理由預(yù)約總線(例如,局部互連總線或互連總線)以及到所期望的資源中的端口的協(xié)調(diào)器來實施。例如,協(xié)調(diào)器21需要預(yù)約互連和端口以便消費方I訪問資源3,而協(xié)調(diào)器22則需要預(yù)約互連和端口以便消費方訪問資源2。
[0051]圖3示出了依據(jù)本發(fā)明的一個實施例的包括對競爭資源實施有效訪問的資源預(yù)約機制的組件。如圖3所示,示出了耦合至控制對三個資源中的每個資源的四個端口中的每個端口的訪問的閾值限制器311-313的三個預(yù)約加法器301-303。每個加法器輸出和值(如果未被取消)還用作每個訪問的端口選擇器,以使得每個成功的請求能夠使用由該請求加法器的輸出處的和值指示的端口號。應(yīng)當(dāng)注意的是,如圖3的示圖中所指示的,每個所描繪的加法器的和值也是未被取消的相對應(yīng)請求所分配的端口號。
[0052]應(yīng)當(dāng)注意的是,該端口分配和預(yù)約問題能夠類似于圖7的總線分段分配表格進行圖示,并且因此其實施邏輯也能夠與圖9相類似,其中每個分段在這種情況下反映寄存器文件分段而不是總線分段。利用在這種情況下的相同類比,與圖7中對總線分段的圖示相類似地,試圖訪問多個寄存器文件分段的指令僅在其能夠預(yù)約其所有寄存器分段請求的情況下能夠成功,并且在針對該指令的任何寄存器分段訪問被取消的情況下將失敗。
[0053]本發(fā)明的實施例實施了用于使用互連和局部互連的非集中化的訪問處理。能夠由多個非集中化的取回器、發(fā)送器、協(xié)調(diào)器或代理器針對共享的互連、資源或消費方發(fā)起請求、訪問和控制。那些非集中化的請求、訪問和控制根據(jù)那些共享資源的拓?fù)浜徒Y(jié)構(gòu)而使用如本發(fā)明中所描述的方法和邏輯實施方式的變化形式在共享資源處進行競爭。通過示例,引擎及其讀/寫端口的資源需要被核心有效共享。此外,有限數(shù)量的全局總線和局部總線包括需要被有效共享的資源。在圖3的實施例中,非集中化的訪問處理通過預(yù)約加法器和閾值限制器來實施。在一個實施例中,在每個競爭資源處,預(yù)約加法器樹和閾值限制器控制對該競爭資源的訪問。如本文所使用的,術(shù)語競爭資源是指負(fù)載存儲緩沖器、存儲器/高速緩存片段、寄存器文件分段或L2高速緩存的讀寫端口、全局總線預(yù)約或局部總線預(yù)約。
[0054]預(yù)約加法器和閾值限制器控制對每個競爭資源的訪問。如以上所描述的,為了訪問資源,核心需要預(yù)約必要總線并預(yù)約必要端口。在每個周期期間,協(xié)調(diào)器試圖預(yù)約執(zhí)行其未決指令所必需的資源。例如,對于對圖3中所示的指令I(lǐng)l進行調(diào)度的協(xié)調(diào)器而言,該協(xié)調(diào)器將在其所需要的資源的預(yù)約加法器中設(shè)置標(biāo)志或比特。在這樣的情況下,在寄存器文件I中和寄存器文件3中對比特進行設(shè)置。其它協(xié)調(diào)器將類似地在其所需要的資源的預(yù)約加法器中設(shè)置比特。例如,針對指令12的不同協(xié)調(diào)器針對寄存器文件2設(shè)置兩個比特。在協(xié)調(diào)器請求其所需要的資源時,預(yù)約加法器對請求求和直至它們達到閾值限制器。在圖4的實施例中,針對每個資源存在四個端口。因此,預(yù)約加法器將接受來自預(yù)約請求的標(biāo)志直至四個端口都被預(yù)約。將不接受其它標(biāo)志。
[0055]協(xié)調(diào)器將不接受對執(zhí)行其指令的確認(rèn),除非其執(zhí)行指令所必需的所有標(biāo)志都被設(shè)置。因此,協(xié)調(diào)器將在必需總線的標(biāo)志被設(shè)置以及必需讀寫端口的標(biāo)志被設(shè)置的情況下接受對執(zhí)行指令的確認(rèn)。如果針對任何標(biāo)志接收到取消信號,則該協(xié)調(diào)器的請求的所有標(biāo)志都被清除,并且對該請求進行排隊直至下一個周期。
[0056]以這種方式,每個協(xié)調(diào)器以逐個周期為基礎(chǔ)針對資源互相競爭。對被取消的請求進行排隊并且在下一個周期中被給予優(yōu)先級。這確保了一個特定核心不會在大量周期內(nèi)被排除在資源訪問之外。應(yīng)當(dāng)注意的是,所提出的實施方式中的資源自動分配到資源,例如,如果請求成功獲得了資源(例如,其沒有被加法器和閾值邏輯所取消),則對應(yīng)于該請求的加法器和值輸出表示分配給該請求的資源編號,因此在不需要任何來自協(xié)調(diào)器的進一步參與的情況下完成了資源分配。該預(yù)約和分配加法器以及閾值限制器公平地以分散方式(例如,無需請求方/協(xié)調(diào)器主動參與任何集中化仲裁)平衡對競爭資源的訪問。每個遠程協(xié)調(diào)器向共享資源發(fā)送其請求,成功的那些請求將自動被給予資源/總線。
[0057]圖4示出了依據(jù)本發(fā)明的一個實施例的互連和到存儲器片段之中的端口。如圖4中所描繪的,每個存儲器片段被示為具有四個讀寫端口,其提供對負(fù)載存儲緩沖器、LI高速緩存和L2高速緩存的讀/寫訪問。負(fù)載存儲緩沖器包括多個條目(entry),并且LI高速緩存包括多條通路。
[0058]如以上所描述的,本發(fā)明的實施例實施了用于使用互連和局部互連的非集中化的訪問處理。有限數(shù)量的全局總線和局部總線包括必須被核心有效共享的資源。因此,預(yù)約加法器和閾值限制器控制對每個競爭資源(在這種情況下為到每個片段之中的端口)的訪問。如以上所描述的,為了訪問資源,核心需要預(yù)約必需的總線并且預(yù)約必需的端口。
[0059]圖5示出了依據(jù)本發(fā)明的一個實施例的互連和到分段之中的端口。如圖5中所描繪的,每個分段被示為具有4個讀寫端口,其提供對操作數(shù)/結(jié)果緩沖器、線程化寄存器文件以及公共劃分(common partition)或調(diào)度器的讀/寫訪問。圖5的實施例被示為在每個分段中包括公共劃分或調(diào)度器。在該實施例中,共同劃分調(diào)度器被配置為與圖1B中所示的全局前端取回和調(diào)度器一起協(xié)同工作。
[0060]用于使用互連和局部互連的非集中化訪問處理采用預(yù)約加法器和閾值限制器來控制對每個競爭資源(在這種情況下為到每個分段之中的端口)的訪問。如以上所描述的,為了訪問資源,核心需要預(yù)約必需的總線并且預(yù)約必需的端口。[0061]圖6示出了依據(jù)本發(fā)明的一個實施例的描繪分段互連601的示圖。如圖6所示,互連601被示為將資源1-4連接至消費方1-4?;ミB601還被示為包括分段1、分段2和分段3。
[0062]圖6示出了取回模型互連結(jié)構(gòu)的示例。在圖6的實施例中,沒有協(xié)調(diào)器。在該實施例中,資源由消費方在它們試圖取回必需的資源以支持消費(例如,執(zhí)行單元)時進行競爭。消費方向預(yù)約加法器和閾值限制器發(fā)送必要的取回請求。
[0063]該互連結(jié)構(gòu)包括多個全局分段總線。局部互連結(jié)構(gòu)包括多個局部連接的引擎至引擎總線。因此,為了平衡在性能和構(gòu)造兩方面的成本,存在有限數(shù)量的全局總線和有限數(shù)量的局部總線。在圖6的實施例中,示出了四個全局分段的總線。
[0064]在一個實施例中,全局總線能夠被分段成3個部分。分段允許全局總線的總長度依據(jù)全局訪問的距離進行調(diào)節(jié)。例如,由消費方I對資源4的訪問將跨越整個總線,并且因此不進行分段。然而,由消費方I對資源3的訪問不會跨越整個總線,并且因此全局總線能夠在資源3和資源4之間進行分段。
[0065]在圖6的實施例中,互連601被示為具有4條總線。例如能夠經(jīng)由三態(tài)緩沖器來實施分段。分段導(dǎo)致了總線的更快且更功率有效的傳輸特性。在圖6的實施例中,總線各自包括單向三態(tài)緩沖器(例如,緩沖器602)和雙向三態(tài)緩沖器(例如,緩沖器603)。雙向三態(tài)緩沖器在圖6的示圖中以陰影示出。該緩沖器使得互連能夠被分段以改善其信號傳輸特性。這些分段還包括必須由資源消費方進行競爭并為其分配的資源。以下在圖7的示圖中圖示了該處理。
[0066]圖7示出了依據(jù)本發(fā)明的一個實施例的圖示對針對互連601的分段的請求進行競爭和分配的方式的表格。圖7的表格的左側(cè)示出了當(dāng)請求在周期內(nèi)被接收時它們?nèi)绾芜M行排序。在這種情況下,示出了八個請求。當(dāng)來自資源消費方的請求想要預(yù)約分段時,該消費方在所請求分段的預(yù)約表格中置I。例如,針對請求1,消費方I想要預(yù)約分段I和分段2以便訪問資源3。因此,消費方I在分段I和分段2的請求欄中設(shè)置標(biāo)志或比特,而分段3的欄則保持為零。以這種方式,在欄內(nèi)添加請求。對請求進行分配,直至它們超過了全局總線的數(shù)量(在該情況下為4)。當(dāng)請求超過全局總線的數(shù)量時,它們被取消。這由因為超過了限制而被取消的請求編號6和請求編號7所示出。
[0067]圖8示出了依據(jù)本發(fā)明的一個實施例的圖示對針對點對點總線的請求進行處置的方式的表格。與圖7的表格相反,圖8的表格不出了僅一個消費方以及僅一個資源如何能夠使用點對點總線(例如,圖2中圖示的互連)。請求來自想要通過點對點總線對資源進行路由的多個協(xié)調(diào)器。在這種情況下,點對點總線示出了可能的消費方資源對的數(shù)量(例如,從左至右的六個欄)以及從上到下的請求1-8的數(shù)量。由于在任何給定時間僅有一個資源消費方對能夠使用總線,所以該欄在所有請求由于超過限制而被取消之前僅能夠具有一個請求標(biāo)志。因此,在每一欄中,第一請求被許可,而所有后續(xù)請求由于超過限制而被取消。由于存在六條全局點對點總線,所以存在能夠在每個周期中容納六個不同請求的六個欄。
[0068]圖9示出了依據(jù)本發(fā)明的一個實施例的實施圖7的表格的功能的示例性邏輯實施方式的示圖。如以上所描述的,圖7的表格圖示了依據(jù)本發(fā)明的一個實施例的對針對互連601的分段的請求進行競爭和分配的方式。特別地,圖9示出了用于分配與來自圖7的表格的總線分段2相關(guān)聯(lián)的欄的邏輯。[0069]圖9的實施例示出了多個并行加法器901-905。如果超出限制,則兩個請求都被取消。如以上所描述的,存在能夠被用來實施分段2的4條總線。前四個請求能夠被處理并獲得許可,因為即使它們?nèi)客ㄟ^使用邏輯I標(biāo)記請求而被加以標(biāo)志,它們也不會超出限制。其余請求則需要檢查它們是否會超出限制。這是由并行加法器901-905來完成的。前三行之后的每個加法器將其自身與所有之前的行相加并且相對限制進行檢查。如果加法器超出了限制,則如所示出的,請求被取消。加法器和值輸出還確定向每個請求分配哪個特定總線分段。在圖9的實施例中,這是通過如所示出的總線分段編號來完成的。
[0070]圖10示出了依據(jù)本發(fā)明的一個實施例的實施對針對點對點總線的請求進行處置的方式的功能的示例性邏輯實施方式的示圖。圖8的表格示出了僅一個消費方以及僅一個資源如何能夠使用點對點總線。具體地,圖10示出了用于分配與來自圖8的表格的總線欄2-4相關(guān)聯(lián)的欄的邏輯。
[0071]如所示出的,圖10的實施例示出了耦合至與(AND)門的多個多輸入或(OR)門。如以上所描述的,一個消費方以及僅一個資源能夠使用點對點總線。由于在任意給定時間僅有一個資源/消費方對能夠使用總線,所以該欄在所有后續(xù)請求因為超過限制而被取消之前僅能夠具有一個請求標(biāo)志。因此,在每個欄中,第一請求獲得許可,而所有后續(xù)請求由于超過限制而被取消。在圖10的實施例中,該欄的每行通過或(OR)運算與該欄的所有之前的行進行邏輯組合并且隨后通過與(AND)運算與其自身進行邏輯組合。因此,如所示出的,如果任何之前的行預(yù)約了該欄,則所有后續(xù)請求被取消。
[0072]圖11示出了依據(jù)本發(fā)明的一個實施例的互連1101的示圖?;ミB1101包括由每個發(fā)送器和每個接收器所共享的五個共享互連結(jié)構(gòu)。
[0073]圖11的實施例示出了發(fā)送模型互連結(jié)構(gòu)的示例。例如,發(fā)送器包括引擎的執(zhí)行單元。接收器包括引擎的存儲器片段和寄存器分段。在該模型中,發(fā)送器向預(yù)約加法器和閾值限制器發(fā)出必要的請求以預(yù)約用于實施其傳輸?shù)馁Y源。這些資源包括到接收器中的端口以及互連1101的多個共享總線。
[0074]圖12示出了依據(jù)本發(fā)明的一個實施例的圖示圖11的發(fā)送器模型互連結(jié)構(gòu)運行的方式的表格。該表格示出了接收自所有發(fā)送器的請求。該表格的右側(cè)示出了互連分配。由于互連1101包括五個共享總線,所以前五個請求獲得了許可,而任何另外的請求由于超過限制而被取消。因此,請求1、請求3、請求4、請求5和請求6獲得了許可。然而,請求7由于已經(jīng)超過了限制而被取消。
[0075]圖13示出了依據(jù)本發(fā)明的一個實施例的實施對針對共享總線互連結(jié)構(gòu)的請求進行處置的方式的功能的示例性邏輯實施方式的示圖。
[0076]圖13示出了如何由加法器901-905處置互連總線的分配。該邏輯實施圖12的表格。當(dāng)請求被接收時,設(shè)置相對應(yīng)的標(biāo)志。加法器將其各自的標(biāo)志與所有之前的標(biāo)志相加。標(biāo)志將連同其總線編號一起被加法器許可,只要它們并未超過限制(該限制在這種情況下為5)。如以上所描述的,超過限制的任何請求都被取消。
[0077]應(yīng)當(dāng)注意的是,互連的發(fā)送器模型和取回模型能夠使用公共互連結(jié)構(gòu)和公共競爭機制而同時得到支持。這由類似于圖9的示圖的圖13的示圖所示出。
[0078]應(yīng)當(dāng)注意的是,當(dāng)前發(fā)明中不同通信模型(發(fā)送器、取回、協(xié)調(diào)器等)和不同互連拓?fù)?點對點總線、多總線和分段總線等)的當(dāng)前表現(xiàn)形式不應(yīng)當(dāng)被解釋為可應(yīng)用于當(dāng)前發(fā)明的僅有的通信模式或僅有的互連拓?fù)洹Ec之相反,本領(lǐng)域技術(shù)人員能夠輕易地將當(dāng)前發(fā)明的不同競爭、預(yù)約和分配技術(shù)與任意通信模式或總線拓?fù)溥M行混合和匹配。
[0079]應(yīng)當(dāng)進一步注意的是,當(dāng)前發(fā)明的所描述的實施例與資源一起呈現(xiàn)互連。這應(yīng)當(dāng)被理解為意在示出用于實施當(dāng)前發(fā)明的較為寬泛的可能性集合的一般化說明,但是應(yīng)當(dāng)注意的是,如當(dāng)前發(fā)明中所使用的互連的含義并不局限于不同核心或計算引擎之間或者寄存器文件或存儲器片段之間的數(shù)據(jù)互連,而是還指代承載針對資源的請求的控制互連以及承載來自結(jié)構(gòu)(即,寄存器文件端口、存儲器端口、陣列解碼器總線等)的數(shù)據(jù)的物理互連。該較為寬泛的含義例如在圖3中進行了圖示,其將互連僅示為來自每個寄存器文件的端口。
[0080]圖14示出了依據(jù)本發(fā)明的一個實施例的示例性微處理器流水線1400的示圖。微處理器流水線1400包括實施用于識別和取回包括如以上所描述的執(zhí)行的指令的處理的功能的取回模塊1401。在圖14的實施例中,該取回模塊后跟有解碼模塊1402、分配模塊1403、分派模塊1404、執(zhí)行模塊1405和引退模塊1406。應(yīng)當(dāng)注意的是,微處理器流水線1400僅是實施以上所描述的本發(fā)明實施例的功能的流水線的一個示例。本領(lǐng)域技術(shù)人員將會認(rèn)識至IJ,能夠?qū)嵤┌ㄒ陨纤枋龅慕獯a模塊的功能的其它微處理器流水線。
[0081]出于解釋的目的,以上描述參考了并非意在作為窮舉或者對當(dāng)前發(fā)明進行限制的具體實施例??赡苡性S多與以上教導(dǎo)相符的修改和變化。選擇和描述實施例,以便對本發(fā)明的原理及其實際應(yīng)用進行最佳解釋,從而使得本領(lǐng)域其他技術(shù)人員能夠利用可以適用于其特定用途的各種修改形式對本發(fā)明及其各個實施例最佳地加以利用。
【權(quán)利要求】
1.一種互連系統(tǒng),包括 具有用于支持多個代碼序列的執(zhí)行的數(shù)據(jù)的多個資源, 用于實施所述多個代碼序列的所述執(zhí)行的多個引擎; 在所述多個引擎中的每個引擎之內(nèi)的多個資源消費方, 互連結(jié)構(gòu),用于將所述多個資源消費方與所述多個資源耦合,以訪問所述數(shù)據(jù)并且執(zhí)行所述多個代碼序列,其中所述資源消費方通過對所述互連結(jié)構(gòu)的每周期利用來訪問所述資源。
2.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述資源消費方包括所述引擎的執(zhí)行單元。
3.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述資源包括存儲器片段。
4.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述資源包括寄存器文件分段。
5.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述互連結(jié)構(gòu)包括資源消費方通過所述每周期利用來對資源進行訪問的多個點對點總線。
6.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述互連結(jié)構(gòu)包括資源消費方通過所述每周期利用來對資源進行訪問的多個分段總線。
7.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述互連結(jié)構(gòu)包括存儲器互連結(jié)構(gòu)和執(zhí)行互連結(jié)構(gòu)。
8.根據(jù)權(quán)利要求1所述的互連系統(tǒng),其中所述系統(tǒng)進一步包括使得相鄰引擎能夠直接訪問來自相鄰資源的數(shù)據(jù)的多個局部互連結(jié)構(gòu)。
9.一種微處理器,包括:` 具有用于支持多個代碼序列的執(zhí)行的數(shù)據(jù)的多個資源, 用于實施所述多個代碼序列的所述執(zhí)行的多個引擎, 在所述多個引擎中的每個引擎之內(nèi)的多個資源消費方, 互連結(jié)構(gòu),用于將所述多個資源消費方與所述多個資源耦合,以訪問所述數(shù)據(jù)并且執(zhí)行所述多個代碼序列,其中所述資源消費方通過對所述互連結(jié)構(gòu)的每周期利用來訪問所述資源。
10.根據(jù)權(quán)利要求9所述的微處理器,其中所述資源消費方包括所述引擎的執(zhí)行單元。
11.根據(jù)權(quán)利要求9所述的微處理器,其中所述資源包括存儲器片段。
12.根據(jù)權(quán)利要求9所述的微處理器,其中所述資源包括寄存器文件分段。
13.根據(jù)權(quán)利要求9所述的微處理器,其中所述互連結(jié)構(gòu)包括資源消費方通過所述每周期利用來對資源進行訪問的多個點對點總線。
14.根據(jù)權(quán)利要求9所述的微處理器,其中所述互連結(jié)構(gòu)包括資源消費方通過所述每周期利用來對資源進行訪問的多個分段總線。
15.根據(jù)權(quán)利要求9所述的微處理器,其中所述互連結(jié)構(gòu)包括存儲器互連結(jié)構(gòu)和執(zhí)行互連結(jié)構(gòu)。
16.根據(jù)權(quán)利要求9所述的微處理器,其中所述系統(tǒng)進一步包括使得相鄰引擎能夠直接訪問來自相鄰資源的數(shù)據(jù)的多個局部互連結(jié)構(gòu)。
17.一種具有耦合到計算機可讀存儲器的微處理器的計算機系統(tǒng),其中所述微處理器包括: 具有用于支持多個代碼序列的執(zhí)行的數(shù)據(jù)的多個資源,用于實施所述多個代碼序列的所述執(zhí)行的多個引擎, 在所述多個引擎中的每個引擎之內(nèi)的多個資源消費方, 互連結(jié)構(gòu),用于將所述多個資源消費方與所述多個資源耦合,以訪問所述數(shù)據(jù)并且執(zhí)行所述多個代碼序列,其中所述資源消費方通過對所述互連結(jié)構(gòu)的每周期利用來訪問所述資源,并且其中所述資源消費方包括所述引擎的執(zhí)行單元。
18.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述資源包括存儲器片段。
19.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述資源包括寄存器文件分段。
20.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述互連結(jié)構(gòu)包括資源消費方通過所述每周期利用來對資源進行訪問的多個點對點總線。
21.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述互連結(jié)構(gòu)包括資源消費方通過所述每周期利用來對資源進行訪問的多個分段總線。
22.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述互連結(jié)構(gòu)包括存儲器互連結(jié)構(gòu)和執(zhí)行互連結(jié)構(gòu)。
23.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述系統(tǒng)進一步包括使得相鄰引擎能夠直接訪問來自相鄰資源的數(shù)據(jù)的多個局部互連結(jié)構(gòu)。
24.根據(jù)權(quán)利要求17所 述的計算機系統(tǒng),其中互連結(jié)構(gòu)包括取回模型互連結(jié)構(gòu)。
25.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述互連結(jié)構(gòu)包括發(fā)送模型互連結(jié)構(gòu)。
26.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),其中所述互連結(jié)構(gòu)包括協(xié)調(diào)模型互連結(jié)構(gòu)。
27.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),進一步包括: 加法器結(jié)構(gòu),其對針對訪問所述多個資源的請求求和,并且依據(jù)加法器結(jié)構(gòu)輸出和值來為每個成功的請求特別分配唯一的端口。
28.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),進一步包括: 加法器結(jié)構(gòu),其對針對訪問所述多個資源的請求求和,并且依據(jù)用于在每周期的基礎(chǔ)上仲裁和分配多個資源的加法器結(jié)構(gòu)輸出和值來為每個成功的請求特別分配唯一的總線和唯一的端口。
29.根據(jù)權(quán)利要求17所述的計算機系統(tǒng),進一步包括: 加法器結(jié)構(gòu),其依據(jù)取回模型、發(fā)送模型或協(xié)調(diào)模型來運行,并且對針對訪問所述多個資源的請求求和,并且依據(jù)用于在每周期的基礎(chǔ)上仲裁和分配多個資源的加法器結(jié)構(gòu)輸出和值以及依據(jù)所述取回模型、所述發(fā)送模型或所述協(xié)調(diào)模型來為每個成功的請求特別分配唯一的總線和唯一的端口。
【文檔編號】G06F13/38GK103649931SQ201280034725
【公開日】2014年3月19日 申請日期:2012年5月18日 優(yōu)先權(quán)日:2011年5月20日
【發(fā)明者】M·阿布達拉 申請人:索夫特機械公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
灵台县| 长子县| 修水县| 陆丰市| 桦南县| 昭苏县| 亚东县| 乐清市| 沐川县| 东源县| 青铜峡市| 攀枝花市| 万宁市| 崇明县| 赤水市| 鄂托克旗| 山西省| 洱源县| 彭山县| 繁昌县| 白玉县| 三门峡市| 花垣县| 都兰县| 游戏| 常熟市| 定兴县| 乌拉特前旗| 遂昌县| 杭州市| 高密市| 虞城县| 梨树县| 穆棱市| 济阳县| 若尔盖县| 麻栗坡县| 布尔津县| 台中市| 汨罗市| 长武县|