多核架構中的混合路由器的制造方法
【專利說明】
【背景技術】
[0001]除非本文另外指示,否則在此部分中描述的材料對于本申請中的權利要求而言不是現(xiàn)有技術,并且不通過包括在此部分中被承認是現(xiàn)有技術。
[0002]在多核架構中,可以將多個處理器核包括在單個集成電路管芯中或在被布置在單個芯片封裝中的多個集成電路管芯上。高速緩存(cache)可以被用來存儲數(shù)據(jù)以供由處理器核中的一個或更多個訪問。數(shù)據(jù)可以是存儲在通常位于管芯外部的更大存儲器中的數(shù)據(jù)的子集。各個處理器可以提供有為處理器存儲數(shù)據(jù)的高速緩存。各個處理器可以提供有可以便于在處理器當中移動數(shù)據(jù)并且緩存在管芯中的路由器。
【發(fā)明內(nèi)容】
[0003]在一些示例中,一般地描述了多核架構。所述多核架構可以包括網(wǎng)絡、第一片(tile)和/或第二片,該第二片被配置為通過所述網(wǎng)絡與所述第一片通信。在一些示例中,所述第一片可以包括處理器核以及被配置為與所述處理器核通信的高速緩存。在一些示例中,所述第一片可以包括被配置為與所述高速緩存通信的路由器。所述路由器可以實現(xiàn)來利用分組交換通道或電路交換通道來移動數(shù)據(jù)。所述第一片還可以包括被配置為與所述高速緩存和所述路由器通信的交換邏輯。所述交換邏輯可以實現(xiàn)來接收路由目標。所述路由目標可能與通過所述網(wǎng)絡路由數(shù)據(jù)時的能量或延遲成本有關。所述交換邏輯可以實現(xiàn)來基于所述路由目標來選擇所述分組交換通道或所述電路交換通道中的一個以通過所述網(wǎng)絡來移動所述數(shù)據(jù)。
[0004]在一些示例中,一般地描述了在多核架構的網(wǎng)絡中選擇交換通道的方法。所述方法可以包括接收要在所述多核架構中執(zhí)行的程序。所述多核架構可以包括第一片和第二片,該第二片被配置為通過所述網(wǎng)絡與所述第一片通信。所述第一片可以包括處理器核。高速緩存可以被配置為與所述處理器核通信并且路由器可以被配置為與所述高速緩存通信。所述路由器可以實現(xiàn)來利用分組交換通道或電路交換通道來移動數(shù)據(jù)。所述方法可以包括接收用于由所述第一片中的交換邏輯執(zhí)行所述程序的路由目標。所述交換邏輯可以被配置為與所述高速緩存和所述路由器通信。所述方法可以包括由所述交換邏輯基于所述路由目標來選擇所述分組交換通道或所述電路交換通道中的一個以通過所述網(wǎng)絡來移動所述數(shù)據(jù)。
[0005]在一些示例中,一般地描述了系統(tǒng)。示例系統(tǒng)可以包括存儲器、硬件控制器、網(wǎng)絡、第一片和/或第二片。所述存儲器可以包括操作系統(tǒng)。所述操作系統(tǒng)可以實現(xiàn)來發(fā)送指令。所述指令可以包括用于利用路由目標執(zhí)行程序的請求。所述路由目標可能與通過所述網(wǎng)絡路由數(shù)據(jù)時的能量或延遲成本有關。所述第一片可以被配置為與所述存儲器通信。所述第一片可以實現(xiàn)來接收所述指令。所述第二片可以被配置為通過所述網(wǎng)絡與所述第一片通信。所述第一片可以包括處理器核、被配置為與所述處理器核通信的高速緩存以及被配置為與所述高速緩存通信的路由器。所述路由器可以實現(xiàn)來利用分組交換通道或電路交換通道來移動數(shù)據(jù)。交換邏輯可以被配置為與所述高速緩存和所述路由器通信。所述交換邏輯可以實現(xiàn)來接收所述路由目標。所述交換邏輯可以實現(xiàn)來基于所述路由目標來選擇所述分組交換通道或所述電路交換通道中的一個以通過所述網(wǎng)絡將所述數(shù)據(jù)從所述第一片移動到所述第二片。
[0006]以上的
【發(fā)明內(nèi)容】
僅是例示性的,并且并不是旨在以任何方式進行限制。除以上所描述的例示性方面、實施方式和特征之外,另外的方面、實施方式和特征通過參照圖和以下【具體實施方式】將變得顯而易見。
【附圖說明】
[0007]根據(jù)結合附圖進行的以下描述和所附權利要求,本公開的前面和其它特征將變得更加完全顯而易見。理解這些附圖僅描繪根據(jù)本公開的數(shù)個實施方式,并且因此將不被認為限制其范圍,將通過使用附圖以附加特性和細節(jié)描述本公開,附圖中:
[0008]圖1例示了能夠被利用來實現(xiàn)多核架構中的混合路由器的示例系統(tǒng);
[0009]圖2例示了能夠被利用來實現(xiàn)圖1的多核架構中的混合路由器的示例系統(tǒng),圖2示出包括預取器和高速緩存控制器的示例片的更多細節(jié);
[0010]圖3是示出了圖1的路由器300a的附加細節(jié)的系統(tǒng)圖;
[0011]圖4是例示了圖3所示的路由器的示例分組交換操作的系統(tǒng)圖;
[0012]圖5是例示了圖3所示的路由器的示例電路交換操作的系統(tǒng)圖;
[0013]圖6例不了反映被使用圖1的系統(tǒng)來分析的度量的圖;
[0014]圖7是例示了圖1的系統(tǒng)中的示例交換邏輯的框圖;
[0015]圖8描繪了用于實現(xiàn)多核架構中的混合路由器的示例過程的流程圖;
[0016]圖9例示了能夠被利用來實現(xiàn)多核架構中的混合路由器的計算機程序產(chǎn)品;以及
[0017]圖10是例示了被布置為實現(xiàn)多核架構的混合路由器的示例計算裝置的框圖;
[0018]全部根據(jù)本文所描述的至少一些實施方式進行布置。
【具體實施方式】
[0019]在以下詳細描述中,參照形成其一部分的附圖。在附圖中,除非上下文另外規(guī)定,否則類似的符號通常標識類似的組件。在【具體實施方式】、附圖和權利要求中描述的例示性實施方式并不是意在進行限制。在不脫離本文所呈現(xiàn)的主題的精神或范圍的情況下,可以利用其它實施方式,并且可以做出其它改變。應當容易地理解,如本文所一般地描述的和圖中所例示的,能夠按照各式各樣的不同配置來布置、取代、組合、分離并且設計本公開的方面,所述不同配置中的全部在本文中被顯式地設想到。
[0020]本公開一般地(尤其是)被與多核架構中的混合路由器有關的方法、設備、系統(tǒng)、裝置和計算機程序產(chǎn)品所描繪。
[0021]簡單來說,一般地描述了用于實現(xiàn)多核架構中的混合路由器有效的方法和系統(tǒng)的技術。第一片可以包括處理器核、被配置為與處理器核通信的高速緩存以及被配置為與高速緩存通信的路由器。路由器可以實現(xiàn)來利用分組交換通道或電路交換通道來移動數(shù)據(jù)。第一片可以包括被配置為與高速緩存和路由器通信的交換邏輯。交換邏輯可以實現(xiàn)來接收可能與通過網(wǎng)絡路由數(shù)據(jù)時的能量或延遲成本有關的路由目標。交換邏輯可以基于路由目標來選擇分組交換通道或電路交換通道中的一個以通過網(wǎng)絡來移動數(shù)據(jù)。
[0022]圖1例示了根據(jù)本文所描述的至少一些實施方式布置的、能夠被利用來實現(xiàn)多核架構中的混合路由器的示例系統(tǒng)。示例系統(tǒng)100可以包括管芯102、硬件控制器106和/或存儲器108,其中的全部可以被配置為彼此通信。硬件控制器106和/或存儲器108可以物理上位于管芯102內(nèi)部或外部。管芯102可以包括片200,所述片200包括片200a、片200b、片200c和/或片200d。片200可以包括核110 (包括核110a、核110b、核110c、核IlOd)、高速緩存114 (包括高速緩存114a、高速緩存114b、高速緩存114c和/或高速緩存114d)和/或路由器300 (包括路由器300a、路由器300b、路由器300c和/或路由器300d)。高速緩存114例如可以是L2高速緩存或L3高速緩存。片200還可以包括交換邏輯600 (包括交換邏輯600a、交換邏輯600b、交換邏輯600c和/或交換邏輯600d)。
[0023]片200a可以包括核110a、高速緩存114a、路由器300a和/或交換邏輯600a。片200b可以包括核110b、高速緩存114b、路由器300b和/或交換邏輯600b。片200c可以包括核110c、高速緩存114c、路由器300c和/或交換邏輯600c。片200d可以包括核110d、高速緩存114d、路由器300d和/或交換邏輯600d。
[0024]路由器300可以被配置為與網(wǎng)絡150通信。如在下面更詳細地討論的,網(wǎng)絡150和路由器300可以使用兩個或更多種交換技術來移動數(shù)據(jù)、數(shù)據(jù)塊或代碼(以下稱為“數(shù)據(jù)”)。網(wǎng)絡150可以包括用于完成數(shù)據(jù)的移動的總線和相關元件。例如,網(wǎng)絡150和路由器300可以使用電路交換通道或分組交換通道來移動數(shù)據(jù)。
[0025]硬件控制器106可以從操作系統(tǒng)104接收指令90以執(zhí)行包括與程序80相關聯(lián)的路由目標92的程序80。路由目標92可能與通過網(wǎng)絡150路由數(shù)據(jù)時的能量或延遲成本有關。延遲成本可以包括例如時間延遲。硬件控制器106可以位于管芯102外或位于管芯102上,管芯102諸如與一個或更多個核相關聯(lián)的一件硬件邏輯。硬件控制器106可以將指令98轉(zhuǎn)發(fā)到管芯102中的關聯(lián)核。然后,關聯(lián)核可以鑒于路由目標92來執(zhí)行程序80。交換邏輯600可以基于路由目標92來選擇交換通道中的一個。在示例中,路由目標92可能與通過網(wǎng)絡150的能量或延遲成本有關,諸如:優(yōu)化的性能(以使時間延遲最小化)、優(yōu)化的能量使用(能量效率)和/或優(yōu)化的能量-延遲結果。
[0026]圖2例示了能夠被利用來實現(xiàn)圖1的多核架構中的混合路由器的示例系統(tǒng),圖2示出包括根據(jù)本文所描述的至少一些實施方式布置的預取器和高速緩存控制器的示例片的更多細節(jié)。圖2與圖1的系統(tǒng)100類似,具有附加細節(jié)。出于清楚的目的,將不再描述被同樣地標記于圖1的組件的圖2中的那些組件。
[0027]集中于作為片200b、片200c和片200d的示例的片200a,除圖1中的組件之外,核IlOa可以包括諸如LI高速緩存的高速緩存112a。交換邏輯600a還可以包括預取器116a和/或高速緩存控制器118a。交換邏輯600a可以被配置為與路由器300a和高速緩存114a通信。預取器116a可以被配置為與高速緩存控制器118a和/或路由器300a —起操作以從存儲器108請求數(shù)據(jù)。在一些示例中,預取器116可以被配置為當高速緩存114a經(jīng)歷高速緩存未命中(cache miss)時從存儲器108請求數(shù)據(jù)的多個連續(xù)塊。
[0028]在示例中,當高速緩存114a未存儲塊96時由核IlOa對于數(shù)據(jù)塊96的請求可能在高速緩存114a中導致高速緩存未命中。預取器116a可以被配置為請求數(shù)據(jù)塊X(圖2中未示出),以及在存儲器108中與X鄰接的附加數(shù)量N-1個數(shù)據(jù)塊。數(shù)據(jù)塊的數(shù)量N可以是預取器116a的取回大小。如在下