国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于源同步電路交換片上網(wǎng)絡(luò)(NoC)的方法、裝置和系統(tǒng)的制作方法

      文檔序號:9493960閱讀:530來源:國知局
      用于源同步電路交換片上網(wǎng)絡(luò)(NoC)的方法、裝置和系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001] 本公開涉及計算系統(tǒng),特別(但非排外地)涉及經(jīng)由網(wǎng)絡(luò)來對信息進(jìn)行通信。
      【附圖說明】
      [0002] 圖1是包括多核心處理器的計算系統(tǒng)的框圖。
      [0003] 圖2是根據(jù)本發(fā)明的實施例的NoC的框圖。
      [0004] 圖3是根據(jù)本發(fā)明的實施例的針對流控制的信用跟蹤的狀態(tài)圖。
      [0005] 圖4是根據(jù)本發(fā)明的實施例的有限狀態(tài)機(jī)的框圖。
      [0006] 圖5是根據(jù)本發(fā)明的實施例的信用跟蹤電路的框圖。
      [0007] 圖6是根據(jù)本發(fā)明的實施例的分組路由器輸入端口的框圖。
      [0008] 圖7是根據(jù)本發(fā)明的實施例的分組路由器輸出端口的框圖。
      [0009] 圖8是根據(jù)本發(fā)明的實施例的方法的流程圖。
      [0010] 圖9是根據(jù)本發(fā)明的實施例的包括多個路由器的NoC的框圖。
      [0011] 圖IOA-D是根據(jù)本發(fā)明的一個實施例的路由器的輸入端口和輸出端口的細(xì)節(jié)的 框圖。
      [0012] 圖11是根據(jù)本發(fā)明的實施例的先進(jìn)先出(FIFO)緩沖器的框圖。
      [0013] 圖12是根據(jù)本發(fā)明的實施例的示例NoC的框圖。
      [0014] 圖13是根據(jù)本發(fā)明的實施例的片上系統(tǒng)(SOC)設(shè)計的實施例的框圖。
      【具體實施方式】
      [0015] 參考圖1,描繪了包括多核心處理器的計算系統(tǒng)的框圖的實施例。處理器100包括 任意的處理器或處理設(shè)備,例如微處理器、嵌入式處理器、數(shù)字信號處理器(DSP)、網(wǎng)絡(luò)處理 器、手持式處理器、應(yīng)用處理器、協(xié)同處理器、片上系統(tǒng)(SOC)、或用于執(zhí)行代碼的其它設(shè)備。 在一個實施例中,處理器100包括至少兩個核心一核心101和102,其可以包括不對稱核心 或?qū)ΨQ核心(圖示實施例)。然而,處理器100可以包括可以是對稱或不對稱的任意數(shù)量的 處理元件。
      [0016] 在一個實施例中,處理元件指的是支持軟件線程的硬件或邏輯。硬件處理元件的 示例包括:線程單元、線程槽、線程、處理單元、上下文、上下文單元、邏輯處理器、硬件線程、 核心、和/或能夠保持處理器的狀態(tài)(例如,執(zhí)行狀態(tài)或架構(gòu)狀態(tài))的任意其它元件。換句 話說,在一個實施例中,處理元件指的是能夠獨(dú)立地與代碼(例如,軟件線程、操作系統(tǒng)、應(yīng) 用程序或其它代碼)相關(guān)聯(lián)的任意硬件。物理處理器(或處理器插座)通常指的是集成電 路,其可能包括任意數(shù)量的其它處理元件,例如核心或硬件線程。
      [0017] 核心通常指的是位于集成電路上的能夠維持獨(dú)立架構(gòu)狀態(tài)的邏輯,其中每一個被 獨(dú)立維持的架構(gòu)狀態(tài)與至少一些專用執(zhí)行資源相關(guān)聯(lián)。與核心相反,硬件線程通常指的是 位于集成電路上的能夠維持獨(dú)立架構(gòu)狀態(tài)的任意邏輯,其中被獨(dú)立維持的架構(gòu)狀態(tài)共享對 執(zhí)行資源的訪問。如可以看出的,當(dāng)某些資源被共享并且其它資源專用于架構(gòu)狀態(tài)時,硬件 線程和核心的術(shù)語間的界限重疊。然而通常,操作系統(tǒng)將核心和硬件線程視為單獨(dú)的邏輯 處理器,其中,操作系統(tǒng)能夠單獨(dú)調(diào)度每一個邏輯處理器上的操作。
      [0018] 如圖1所示,物理處理器100包括兩個核心一核心101和102。這里,核心101和 102被認(rèn)為是對稱核心,即具有相同的配置、功能單元、和/或邏輯的核心。在另一實施例 中,核心101包括亂序處理器核心,而核心102包括有序處理器核心。然而,核心101和102 可以單獨(dú)地從任意類型的核心中選出,例如本地核心、軟件管理核心、適于執(zhí)行本地指令集 架構(gòu)(ISA)的核心、適于執(zhí)行轉(zhuǎn)換指令集架構(gòu)(ISA)的核心、協(xié)同設(shè)計的核心、或者其它已 知的核心。在異構(gòu)核心環(huán)境中(即,不對稱核心),可以利用某種形式的轉(zhuǎn)換(例如,二進(jìn)制 轉(zhuǎn)換)來調(diào)度或執(zhí)行一個或兩個核心上的代碼。然而為進(jìn)一步討論,在下文將更加詳細(xì)地 描述核心101中示出的功能單元,如核心102中的單元在所描繪的實施例中以類似的方式 進(jìn)行操作。
      [0019] 如所描繪的,核心101包括兩個硬件線程IOla和101b,其還可以稱作硬件線程槽 IOla和101b。因此,在一個實施例中,諸如操作系統(tǒng)等軟件實體可能將處理器100視為四個 單獨(dú)的處理器,即,能夠并發(fā)執(zhí)行四個軟件線程的四個邏輯處理器或處理元件。如上所暗指 的,第一線程與架構(gòu)狀態(tài)寄存器IOla相關(guān)聯(lián),第二線程與架構(gòu)狀態(tài)寄存器IOlb相關(guān)聯(lián),第 三線程可以與架構(gòu)狀態(tài)寄存器102a相關(guān)聯(lián),以及第四線程可以與架構(gòu)狀態(tài)寄存器102b相 關(guān)聯(lián)。這里,架構(gòu)狀態(tài)寄存器(101a、101b、102a和102b)中的每一個可以如上所述指的是 處理元件、線程槽或線程單元。如圖所示,架構(gòu)狀態(tài)寄存器IOla在架構(gòu)狀態(tài)寄存器IOlb中 被復(fù)制,因此單獨(dú)的架構(gòu)狀態(tài)/上下文能夠存儲用于邏輯處理器IOla和邏輯處理器101b。 在核心101中,例如在分配器和重命名器框130中的指令指針和重命名邏輯之類的其它較 小資源也被復(fù)制用于線程IOla和101b。諸如重排序/引退單元135中的重排序緩沖器、 ILTB120、加載/存儲緩沖器、以及隊列等的一些資源可以通過分區(qū)被共享。諸如通用內(nèi)部 寄存器、頁-表基址寄存器、低級數(shù)據(jù)高速緩存和數(shù)據(jù)-TLB 115、執(zhí)行單元140以及亂序單 元135的一部分等的其它資源可能被完全共享。
      [0020] 處理器100通常包括可以被完全共享、通過分區(qū)共享、或者專用于處理元件的其 它資源。在圖1中,示出了具有處理器的說明性邏輯單元/資源的純示例性處理器的實施 例。注意,處理器可以包括或省略這些功能單元中的任一個,以及包括沒有繪出的任意其它 已知的功能單元、邏輯、或固件。如所示的,核心101包括簡化的、代表性的亂序(〇〇〇)處 理器核心。但是在不同實施例中可以使用有序處理器。000核心包括用于預(yù)測將被執(zhí)行/ 采用的分支的分支目標(biāo)緩沖器102,以及用于存儲指令的地址轉(zhuǎn)換條目的指令轉(zhuǎn)換緩沖器 (I-TLB)120〇
      [0021] 核心101還包括解碼模塊125,其被耦合到提取單元120以對所提取的元件進(jìn)行解 碼。在一個實施例中,提取邏輯包括分別與線程槽IOlaUOlb相關(guān)聯(lián)的單獨(dú)的定序器。通 常,核心101與定義/指定能在處理器100上執(zhí)行的指令的第一 ISA相關(guān)聯(lián)。通常,作為第 一 ISA的一部分的機(jī)器代碼指令包括引用/指定將被執(zhí)行的指令或操作的指令的一部分 (稱作操作碼)。解碼邏輯125包括根據(jù)其操作碼識別這些指令并且將解碼后的指令傳遞 到管線中以用于如由第一 ISA定義的進(jìn)行處理的電路。例如,如下文更詳細(xì)討論的,在一個 實施例中,解碼器125包括被設(shè)計成或適于識別諸如事務(wù)性指令等的具體指令的邏輯。作 為解碼器125識別的結(jié)果,架構(gòu)或核心101采取具體的、預(yù)先定義的動作來執(zhí)行與適當(dāng)指令 相關(guān)聯(lián)的任務(wù)。重要的是,應(yīng)注意到,本文所描述的任務(wù)、框、操作和方法的任一個可以響應(yīng) 于單個指令或多個指令而被執(zhí)行;這些指令中的一些可以是新的或舊的指令。注意,在一個 實施例中,解碼器126識別同一 ISA(或者其子集)??商鎿Q地,在異構(gòu)核心環(huán)境中,解碼器 126識別第二ISA (第一 ISA的子集或不同的ISA)。
      [0022] 在一個示例中,分配器和重命名器框130包括用于儲備資源的分配器,所述資源 例如是用于存儲指令處理結(jié)果的寄存器文件。然而,線程IOla和IOlb可能能夠亂序執(zhí)行, 其中分配器和重命名器塊130還儲備其它資源,例如用于跟蹤指令結(jié)果的重排序緩沖器。 單元130還可以包括寄存器重命名器,其用于將程序/指令參考寄存器重命名為處理器100 內(nèi)部的其它寄存器。重排序/引退單元135包括用于支持亂序執(zhí)行以及后來的被亂序執(zhí)行 的指令的有序引退的部件,例如,上述重排序緩沖器、加載緩沖器以及存儲緩沖器。
      [0023] 在一個實施例中,調(diào)度器和執(zhí)行單元塊140包括用于對執(zhí)行單元上的指令/操作 進(jìn)行調(diào)度的調(diào)度器單元。例如,在具有可用的浮點(diǎn)執(zhí)行單元的執(zhí)行單元的端口上來對浮點(diǎn) 指令進(jìn)行調(diào)度。與執(zhí)行單元相關(guān)聯(lián)的寄存器文件也被包含以存儲信息指令處理結(jié)果。示例 性的執(zhí)行單元包括浮點(diǎn)執(zhí)行單元、整數(shù)執(zhí)行單元、跳轉(zhuǎn)執(zhí)行單元、加載執(zhí)行單元、存儲執(zhí)行 單元、以及其它已知的執(zhí)行單元。
      [0024] 較低級別的數(shù)據(jù)高速緩存和數(shù)據(jù)轉(zhuǎn)換緩沖器(D-TLB) 150耦合到執(zhí)行單元140。數(shù) 據(jù)高速緩存用于存儲諸如數(shù)據(jù)操作數(shù)等的近期使用/操作的元素,這些元素可能保持在存 儲器一致性狀態(tài)。D-TLB用于存儲近期的虛擬地址/線性地址到物理地址的轉(zhuǎn)換。作為具 體示例,處理器可以包括頁表結(jié)構(gòu),其用于將物理存儲器分解為多個虛擬頁面。
      [0025] 這里,核心101和102共享對較高級別或較遠(yuǎn)的高速緩存的訪問,所述較高級別 或較遠(yuǎn)的高速緩存例如是與片上接口 110相關(guān)聯(lián)的第二級高速緩存。注意,較高級別或較 遠(yuǎn)指的是提高的或變得更遠(yuǎn)離執(zhí)行單元的高速緩存級別。在一個實施例中,較高級別的高 速緩存是最后一級數(shù)據(jù)高速緩存一在處理器100上的存儲器層次中的最后一級的高速緩 存一例如,第二或第三級數(shù)據(jù)高速緩存。然而,較高級別的高速緩存并不如此受限,因為它 可以與指令尚速緩存相關(guān)聯(lián)或包括指令尚速緩存。跟蹤尚速緩存(一種類型的指令尚速 緩存)可以在解碼器125之后被耦合以存儲近期解碼的軌跡。這里,指令可以是指宏指令 (即,解碼器識別出的通用指令),其可以解碼為多個微指令(微操作)。
      [0026] 在所描繪的配置中,處理器100還包括片上接口模塊110。在歷史上,下文將更詳 細(xì)地描述的存儲器控制器已經(jīng)被包含于處理器100外部的計算系統(tǒng)。在該場景中,片上接 口 110用于與處理器100外部的設(shè)備進(jìn)行通信,所述設(shè)備例如是系統(tǒng)存儲器175、芯片組 (通常包括用于連接到存儲器175的存儲器控制器中心以及用于連接外圍設(shè)備的I/O控制 器中心)、存儲器控制器中心、北橋、或者其它集成電路。并且在該場景中,總線105可以包 括任意已知的互連,例如多點(diǎn)總線、點(diǎn)對點(diǎn)互連、串行互連、并行總線、一致性(例如,高速 緩存一致性)總線、分層協(xié)議架構(gòu)、差分總線、以及GTL總線。
      [0027] 存儲器175可以專用于處理器100或與系統(tǒng)中其它設(shè)備共享。存儲器175的類型 的普通示例包括DRAM、SRAM、非易失性存儲器(NV存儲器)、以及其它已知的存儲設(shè)備。注 意,設(shè)備180可以包括圖形加速器、處理器或耦合到存儲器控制器中心的卡、耦合到I/O控 制器中心的數(shù)據(jù)存儲設(shè)備、無線收發(fā)器、閃速設(shè)備、音頻控制器、網(wǎng)絡(luò)控制器,或者其它已知 的設(shè)備。
      [0028] 然而,最近,隨著更多的邏輯和設(shè)備正在被集成到單個管芯上(例如S0C),這些設(shè) 備的每一個可以被合并到處理器100上。例如,在一個實施例中,存儲器控制器中心與處理 器100在同一封裝和/或管芯上。這里,核心的一部分(核心上(on-core)部分)110包括一 個或多個控制器,其用于與諸如存儲器175或圖形設(shè)備180等的其它設(shè)備進(jìn)行連接。包括互 連和用于與這種設(shè)備進(jìn)行連接的控制器的配置通常被稱作核心上(或者非核心(un-core) 配置)。作為示例,片上接口 110包括用于片上通信的環(huán)形互連以及用于片外通信的高速串 行點(diǎn)對點(diǎn)鏈接105。但是,在SOC環(huán)境中,甚至更多的設(shè)備(例如,網(wǎng)絡(luò)接口、協(xié)同處理器、存 儲器175、圖形處理器180以及任意其它已知的計算機(jī)設(shè)備/接口)可以被集成到單個的管 芯或集成電路上,以提供小形狀因子以及具有高功能和低功率消耗。
      [0029] 在一個實施例中,處理器100能夠執(zhí)行編譯器、優(yōu)化、和/或轉(zhuǎn)換器代碼177,以對 應(yīng)用程序代碼176進(jìn)行編譯、轉(zhuǎn)換、和/或優(yōu)化以支持本文描述的裝置和方法或者與其進(jìn)行 連接。編譯器通常包括用于將源文本/代碼轉(zhuǎn)換為目標(biāo)文本/代碼的程序或程序的集合。 通常,利用編譯器的對程序/應(yīng)用程序代碼的編譯在多個階段和多遍中完成,以將高級編 程語言代碼變換為低級機(jī)器或匯編語言代碼。
      當(dāng)前第1頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1