用于模塊式管芯上相干互連的方法、設(shè)備和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本公開內(nèi)容涉及計(jì)算系統(tǒng),并且具體地(但不排他地),涉及管芯上互連。
【附圖說明】
[0002]圖1是用于包括多核處理器的計(jì)算系統(tǒng)的框圖的一實(shí)施例。
[0003]圖2是根據(jù)一實(shí)施例,包括相干結(jié)構(gòu)IP邏輯的系統(tǒng)的一部分的框圖。
[0004]圖3是根據(jù)一實(shí)施例的多個(gè)結(jié)構(gòu)IP邏輯的網(wǎng)狀互連實(shí)現(xiàn)的高級(jí)框圖。
[0005]圖4是示出根據(jù)一實(shí)施例的相干結(jié)構(gòu)IP邏輯塊的另外細(xì)節(jié)的框圖。
[0006]圖5是根據(jù)另一實(shí)施例的相干結(jié)構(gòu)IP邏輯塊的框圖。
[0007]圖6是根據(jù)一實(shí)施例的方法的流程圖。
[0008]圖7是根據(jù)另一實(shí)施例的方法的流程圖。
[0009]圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的SoC的框圖。
【具體實(shí)施方式】
[0010]在下面的描述中,陳述了許多特定的細(xì)節(jié),如特定類型的處理器和系統(tǒng)配置、特定硬件結(jié)構(gòu)、特定架構(gòu)和微架構(gòu)細(xì)節(jié)、特定寄存器配置、特定指令類型、特定系統(tǒng)組件、特定測量/高度、特定處理器管道級(jí)和操作等的示例,以便提供對(duì)本發(fā)明的詳盡理解。但是,對(duì)本領(lǐng)域的技術(shù)人員將顯而易見的是,實(shí)踐本發(fā)明可無需采用這些特定細(xì)節(jié)。在其它實(shí)例中,諸如特定和備選處理器架構(gòu)、用于所述算法的特定邏輯電路/代碼、特定固件代碼、特定互連操作、特定邏輯配置、特定制造技術(shù)和材料、特定編譯器實(shí)現(xiàn)、代碼中算法的特定表述、特定掉電和門控技術(shù)/邏輯及計(jì)算機(jī)系統(tǒng)的其它特定操作細(xì)節(jié)的已知的組件或方法未詳細(xì)描述,以免不必要地混淆本發(fā)明。
[0011]雖然下面的實(shí)施例可參照在特定集成電路中的節(jié)能和能量效率進(jìn)行描述,如在計(jì)算平臺(tái)或微處理器中,但其它實(shí)施例適用于其它類型的集成電路和邏輯裝置。本文中所述實(shí)施例的類似技術(shù)和教導(dǎo)可應(yīng)用到也可從更佳的能量效率和節(jié)能中受益的其它類型的電路或半導(dǎo)體裝置。例如,公開的實(shí)施例不限于臺(tái)式計(jì)算機(jī)系統(tǒng)或Ultrabooks?。而且它也可在諸如手持式裝置、平板、其它薄的筆記本、芯片上系統(tǒng)(SoC)裝置的其它裝置及嵌入式應(yīng)用中使用。手持式裝置的一些示例包括蜂窩電話、因特網(wǎng)協(xié)議裝置、數(shù)碼相機(jī)、個(gè)人數(shù)字助理(PDA)及手持式PC。嵌入式應(yīng)用一般包括微控制器、數(shù)字信號(hào)處理器(DSP)、芯片上系統(tǒng)、網(wǎng)絡(luò)計(jì)算機(jī)(NetPC)、機(jī)頂盒、網(wǎng)絡(luò)集線器、廣域網(wǎng)(WAN)交換器或能夠執(zhí)行下面教導(dǎo)的功能和操作的任何其它系統(tǒng)。另外,本文中所述設(shè)備、方法和系統(tǒng)不限于物理計(jì)算裝置,而是也可涉及用于節(jié)能和能量效率的軟件優(yōu)化。如在下面的描述中將變得容易明白的,本文中所述方法、設(shè)備和系統(tǒng)的實(shí)施例(無論是在硬件、固件、軟件還是其組合的引用中)對(duì)于與性能考慮平衡的“綠色技術(shù)”未來是重要的。
[0012]隨著計(jì)算系統(tǒng)在發(fā)展,其中的組件變得越來越復(fù)雜。因此,在組件之間耦合并且進(jìn)行通信的互連架構(gòu)復(fù)雜性也增大,以確保用于最佳組件操作的帶寬要求得以滿足。此外,不同市場部門要求互連架構(gòu)的不同方面以滿足市場的需要。例如,服務(wù)器要求更高性能,而移動(dòng)生態(tài)系統(tǒng)有時(shí)能夠犧牲總體性能以實(shí)現(xiàn)節(jié)能。然而,大多數(shù)結(jié)構(gòu)的單個(gè)目的是以最大節(jié)能提供最高可能性能。下面討論了多個(gè)互連,這些互連將可能從本文中所述本發(fā)明的方面中受益。
[0013]參照?qǐng)D1,示出了用于包括多核處理器的計(jì)算系統(tǒng)的框圖的一實(shí)施例。處理器100包括任何處理器或處理裝置,如微處理器、嵌入式處理器、數(shù)字信號(hào)處理器(DSP)、網(wǎng)絡(luò)處理器、手持式處理器、應(yīng)用處理器、協(xié)處理器、芯片上系統(tǒng)(SoC)或執(zhí)行代碼的其它裝置。在一個(gè)實(shí)施例中,處理器100包括至少兩個(gè)核——核101和102,其可包括不對(duì)稱核或?qū)ΨQ核(所示實(shí)施例)。然而,處理器100可包括可以是對(duì)稱或不對(duì)稱的任何數(shù)量的處理元件。
[0014]在一個(gè)實(shí)施例中,處理元件指支持軟件線程的硬件或邏輯。硬件處理元件的示例包括:線程單元、線程槽、線程、進(jìn)程單元、上下文、上下文單元、邏輯處理器、硬件線程、核和/或能夠保持處理器的狀態(tài)(諸如執(zhí)行狀態(tài)或架構(gòu)狀態(tài))的任何其它元件。換而言之,在一個(gè)實(shí)施例中,處理元件指能夠與諸如軟件線程、操作系統(tǒng)、應(yīng)用的代碼或其它代碼獨(dú)立關(guān)聯(lián)的任何硬件。物理處理器(或處理器插座)一般指集成電路,它可能包括任何數(shù)量的其它處理元件,如核或硬件線程。
[0015]核經(jīng)常指位于能夠保持獨(dú)立架構(gòu)狀態(tài)的集成電路上的邏輯,其中每個(gè)獨(dú)立保持的架構(gòu)狀態(tài)與至少一些專用執(zhí)行資源相關(guān)聯(lián)。與核相比,硬件線程一般指位于能夠保持獨(dú)立架構(gòu)狀態(tài)的集成電路上的任何邏輯,其中獨(dú)立保持的架構(gòu)狀態(tài)共享對(duì)執(zhí)行資源的訪問。如可看到的,當(dāng)共享某些資源,并且其它資源專用于某種架構(gòu)狀態(tài)時(shí),硬件線程與核的名稱之間的界線重疊。然而,核和硬件線程經(jīng)常被操作系統(tǒng)視為單獨(dú)的邏輯處理器,其中,操作系統(tǒng)能夠單獨(dú)調(diào)度每個(gè)邏輯處理器上的操作。
[0016]如圖1所示的物理處理器100包括兩個(gè)核——核101和102。這里,核101和102被視為對(duì)稱核,即,具有相同配置、功能單元和/或邏輯的核。在另一實(shí)施例中,核101包括無序處理器核,而核102包括有序處理器核。然而,核101和102可從任何類型的核中單獨(dú)選擇,如原生核(native core)、軟件管理的核、適用于執(zhí)行原生指令集架構(gòu)(ISA)的核、適用于執(zhí)行轉(zhuǎn)換的指令集架構(gòu)(ISA)的核、共同設(shè)計(jì)的核或其它已知核。在異構(gòu)核環(huán)境(即,不對(duì)稱核)中,諸如二進(jìn)制轉(zhuǎn)換的某種形式的轉(zhuǎn)換可用于調(diào)度或執(zhí)行在一個(gè)或兩個(gè)核上的代碼。然而為進(jìn)一步進(jìn)行討論,下面進(jìn)一步詳細(xì)描述核101中示出的功能單元,而核102中的單元以所示實(shí)施例中類似方式操作。
[0017]如圖所示,核101包括兩個(gè)硬件線程101a和101b,它們也可稱為硬件線程槽101a和101b。因此,諸如操作系統(tǒng)的軟件實(shí)體在一個(gè)實(shí)施例中可能將處理器100視為四個(gè)單獨(dú)的處理器,即,能夠同時(shí)執(zhí)行四個(gè)軟件線程的四個(gè)邏輯處理器或處理元件。如上面暗示的,第一線程與架構(gòu)狀態(tài)寄存器101a相關(guān)聯(lián),第二線程與架構(gòu)狀態(tài)寄存器101b相關(guān)聯(lián),第三線程可與架構(gòu)狀態(tài)寄存器102a相關(guān)聯(lián),以及第四線程可與架構(gòu)狀態(tài)寄存器102b相關(guān)聯(lián)。這里,如上所述,每個(gè)架構(gòu)狀態(tài)寄存器(101a、101b、102a和102b)可稱為處理元件、線程槽或線程單元。如圖所示,在架構(gòu)狀態(tài)寄存器101b中復(fù)制架構(gòu)狀態(tài)寄存器101a,因此各個(gè)架構(gòu)狀態(tài)/上下文能夠被存儲(chǔ)用于邏輯處理器101a和邏輯處理器101b。在核101中,也可為線程101a和101b復(fù)制諸如分配器和重命名器塊130中的指令指針和重命名邏輯的其它更小的資源。諸如重排序/引退單元135中的重排序緩沖器、ILTB 120、加載/存儲(chǔ)緩沖器及隊(duì)列的一些資源可通過分區(qū)來共享??赡芡耆蚕碇T如通用內(nèi)部寄存器、頁表基址寄存器、低級(jí)數(shù)據(jù)高速緩存和數(shù)據(jù)TLB 115、執(zhí)行單元140及部分無序單元135的其它資源。
[0018]處理器100經(jīng)常包括其它資源,這些資源可完全共享,通過分區(qū)共享或?qū)S糜谔幚碓蛴商幚碓S?。在圖1中,示出了具有處理器的說明性邏輯單元/資源的純示范處理器的一實(shí)施例。注意,處理器可包括或忽略任何這些功能單元以及包括任何其它已知的未示出功能單元、邏輯或固件。如圖所示,核101包括簡化的代表性無序(000)處理器核。但在不同實(shí)施例中可利用有序處理器。000核包括預(yù)測要執(zhí)行/采用的分支的分支目標(biāo)緩沖器120和存儲(chǔ)指令的地址轉(zhuǎn)換條目的指令轉(zhuǎn)換緩沖器(1-TLB) 120。
[0019]核101還包括耦合到獲取單元120以將獲取的元素解碼的解碼模塊125。在一個(gè)實(shí)施例中,獲取邏輯包括分別與線程槽101a、101b相關(guān)聯(lián)的單獨(dú)序列。通常,核101與定義/指定在處理器100上可執(zhí)行指令的第一 ISA相關(guān)聯(lián)。作為第一 ISA的一部分的機(jī)器代碼指令經(jīng)常包括引用/指定要執(zhí)行的指令或操作的部分指令(稱為操作碼)。解碼邏輯125包括從其操作碼識(shí)別這些指令并且在管道中傳遞解碼的指令以便如第一 ISA定義的處理的電路。例如,如下面更詳細(xì)討論的,在一個(gè)實(shí)施例中,解碼器125包括設(shè)計(jì)成或適用于識(shí)別諸如事務(wù)指令的特定指令的邏輯。由于解碼器125進(jìn)行的識(shí)別,架構(gòu)或核101采用特定的預(yù)定義動(dòng)作以執(zhí)行與適當(dāng)指令相關(guān)聯(lián)的任務(wù)。重要的是注意,可響應(yīng)于單個(gè)或多個(gè)指令,執(zhí)行本文中所述任何任務(wù)、塊、操作和方法;一些指令可以是新指令或舊指令。要注意的是,在一個(gè)實(shí)施例中,解碼器126識(shí)別相同ISA(或其子集)。備選地,在異構(gòu)核環(huán)境中,解碼器126識(shí)別第二 ISA (第一 ISA的子集或完全不同的ISA)。
[0020]在一個(gè)示例中,分配器和重命名器塊130包括分配器以保留資源,如存儲(chǔ)指令處理結(jié)果的寄存器文件。然而,線程101a和101b有可能能夠無序執(zhí)行,其中分配器和重命名器塊130也保留其它資源,如跟蹤指令結(jié)果的重排序緩沖器。單元130也可包括寄存器重命名器以將程序/指令引用寄存器重命名為處理器100內(nèi)部的其它寄存器。重排序/引退單元135包括支持無序執(zhí)行和以后無序執(zhí)行指令的有序退引的組件,如上述重排序緩沖器、加載緩沖器和存儲(chǔ)緩沖器。
[0021]在一個(gè)實(shí)施例中,調(diào)度器和執(zhí)行單元塊140包括在執(zhí)行單元上調(diào)度指令/操作的調(diào)度