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

在多核心處理器中并行功能的高效率硬件分派及相關(guān)的處理器系統(tǒng)、方法及計算機(jī)可讀媒體的制作方法_2

文檔序號:9916543閱讀:來源:國知局
令。指令處理電路經(jīng)另外配置以將對程控的并行轉(zhuǎn)移的請求自硬件FIFO隊列移出。指令處理電路也經(jīng)配置以在第二硬件線程執(zhí)行程控的并行轉(zhuǎn)移。
[0023]就此來說,圖1為用于并行功能的高效率硬件分派的示范性多核心處理器10的框圖。尤其,多核心處理器10提供用于將對程控的并行轉(zhuǎn)移的請求排入隊列及分派所述請求的指令處理電路12。多核心處理器10包括任何已知數(shù)字邏輯組件、半導(dǎo)體電路、處理核心和/或存儲器結(jié)構(gòu)以及其它元件中的一或多者或其組合。本文中所描述的實施例并不限于組件的任何特定布置,且所揭示的技術(shù)可容易地擴(kuò)展至半導(dǎo)體晶?;蚍庋b上的各種結(jié)構(gòu)及布局。多核心處理器10可經(jīng)由系統(tǒng)總線16可通信地耦合至一或多個處理器外組件14(例如,作為非限制性實例,存儲器、輸入裝置、輸出裝置、網(wǎng)絡(luò)接口裝置和/或顯示控制器)。
[0024]圖1的多核心處理器10包含多個處理器核心18(0)至18(Z)。處理器核心18中的每一者為可獨立于其它處理器核心18及與其它處理器核心18并行地讀取及處理計算機(jī)程序指令(圖中未展示)的處理單元。如圖1中所見,多核心處理器10包含兩個處理器核心18(0)及IS(Z)。然而,應(yīng)理解,一些實施例可包含比圖1中所說明的兩個處理器核心18(0)及IS(Z)多的處理器核心18。
[0025]多核心處理器10的處理器核心18(0)及IS(Z)分別包含硬件線程20(0)至20(X)及硬件線程22(0)至22(Y)。硬件線程20、22中的每一者獨立執(zhí)行,且多核心處理器10和/或正由多核心處理器10執(zhí)行的操作系統(tǒng)或其它軟件(圖中未展示)可將所述硬件線程中的每一者視為邏輯核心。以此方式,處理器核心18及硬件線程20、22可提供準(zhǔn)許程序指令的并行多線程執(zhí)行的超純量架構(gòu)。在一些實施例中,處理器核心18可包含比圖1中所展示少或多的硬件線程20、22。硬件線程20、22中的每一者可包含用于存儲程序執(zhí)行的當(dāng)前狀態(tài)的專用資源,例如,通用寄存器(GPR)和/或控制寄存器。在圖1的實例中,硬件線程20(0)及20(Χ)分別包含寄存器24及26,而硬件線程22(0)及22(Υ)分別包含寄存器28及30。在一些實施例中,硬件線程20、22也可與正在同一處理器核心18上執(zhí)行的其它硬件線程20、22共享其它存儲或執(zhí)行資源。
[0026]硬件線程20、22的獨立執(zhí)行能力使多核心處理器10能夠?qū)⒉还蚕頂?shù)據(jù)相依性的功能(即,純功能)分派至硬件線程20、22以用于并行執(zhí)行。一種用于最大化硬件線程20、22的利用的方法為異步地將功能分派至隊列中以用于評估。然而,此方法可能需要共享數(shù)據(jù)區(qū)域或數(shù)據(jù)結(jié)構(gòu),例如,圖1的共享存儲器32 ο由多個硬件線程20、22使用共享存儲器32可導(dǎo)致競爭問題,所述競爭問題的數(shù)目可隨著硬件線程20、22的數(shù)目增加而指數(shù)式地增加。結(jié)果,由處置所述競爭問題所引發(fā)的管理額外開銷可超過由硬件線程20、22進(jìn)行的功能的并行執(zhí)行的所實現(xiàn)益處。
[0027]就此來說,圖1的指令處理電路12由多核心處理器10提供以用于并行功能的高效率硬件分派。指令處理電路12可包含處理器核心18,且進(jìn)一步包含硬件FIFO隊列34。如本文中所使用,“硬件FIFO隊列”包含任何FIFO裝置,針對所述FIFO裝置,競爭管理在硬件中和/或在微碼中加以處置。在一些實施例中,硬件FIFO隊列34可完全在晶粒上實施,和/或使用由專用寄存器(圖中未展示)管理的存儲器實施。
[0028]指令處理電路12定義用于將來自硬件線程20、22中的一者的對程控的并行轉(zhuǎn)移的請求排入硬件FIFO隊列34中的機(jī)器指令(圖中未展示)。指令處理電路12進(jìn)一步定義用于將請求自硬件FIFO隊列34移出及在硬件線程20、22中的當(dāng)前正執(zhí)行的一者中執(zhí)行程控的所請求轉(zhuǎn)移的機(jī)器指令(圖中未展示)。通過提供用于將對程控的并行轉(zhuǎn)移的請求排入硬件FIFO隊列34及將所述請求自硬件FIFO隊列34移出的機(jī)器指令,指令處理電路12可實現(xiàn)多個硬件線程20、22在多核心處理環(huán)境中的更高效利用。
[0029]根據(jù)本文中所描述的一些實施例,單一硬件FIFO隊列34可經(jīng)提供以用于將對程控的并行轉(zhuǎn)移的請求排入隊列以供在硬件線程20、22中的任一者中執(zhí)行。一些實施例可提供多個硬件FIFO隊列34,其中一個硬件FIFO隊列34專用于硬件線程20、22中的每一者。在所述實施例中,可將對硬件線程20、22中的指定者中的功能的并行執(zhí)行的請求排入對應(yīng)于硬件線程20、22中的指定者的硬件FIFO隊列34中。在一些實施例中,額外硬件FIFO隊列也可經(jīng)提供以用于將對程控的并行轉(zhuǎn)移的請求排入隊列,所述請求不針對硬件線程20、22中的特定者,和/或可在硬件線程20、22中的任一者中執(zhí)行。
[0030]為了說明由圖1的指令處理電路12使用硬件FIFO隊列34進(jìn)行的示范性指令流的處理流,提供圖2。圖2展示指令流36,其包括正在由圖1的硬件線程20(0)執(zhí)行的一系列指令38、40、42及44。類似地,指令流46包含正由硬件線程22(0)執(zhí)行的一系列指令48、50、52及54 ο應(yīng)理解,盡管在下文依序描述指令流36及46的處理流,但指令流36及46正由相應(yīng)硬件線程20(0)及22(0)并行地執(zhí)行。將進(jìn)一步理解,指令流36及46中的每一者可在硬件線程20、22中的任一者中執(zhí)行。
[0031]如圖2中所見,指令流36中的指令的執(zhí)行自指令38進(jìn)行至指令40,且接著進(jìn)行至指令42。在此實例中,指令38及40分別標(biāo)明為InstrO及Instrl,且可表示可由多核心處理器10執(zhí)行的任何指令。執(zhí)行接著繼續(xù)至指令42,指令42為包含參數(shù)<addr>的排入隊列(Enqueue)指令。排入隊列指令42指示向由參數(shù)<addr>指定的地址請求程控的并行轉(zhuǎn)移的操作。換句話說,排入隊列指令42請求使其第一指令存儲于由參數(shù)<addr>指定的地址處的功能在硬件線程20 (O)中的處理繼續(xù)時并行地執(zhí)行。
[0032]響應(yīng)于檢測排入隊列指令42,指令處理電路12將請求56排入硬件FIFO隊列34中。請求56包含由排入隊列指令42的參數(shù)<addr>指定的地址。在將請求56排入隊列后,硬件線程20(0)中的指令流36的處理繼續(xù)在排入隊列指令42之后的下一指令44(標(biāo)明為Instr2)。
[0033]硬件線程22(0)的指令流46中的指令執(zhí)行與上文所描述的硬件線程20(0)中的指令流36的程序流并行地自指令48進(jìn)行至指令50,且接著進(jìn)行至指令52。指令48及50分別標(biāo)明為Instr3及Instr4,且可表示可由多核心處理器10執(zhí)行的任何指令。指令52為使硬件FIFO隊列34中的最舊請求(在此個例中為請求56)自硬件FIFO隊列34分派的移出隊列(Dequeue)指令。移出隊列指令52也使硬件線程22(0)中的程控轉(zhuǎn)移至由請求56指定的地址<addr>。如圖2中所見,移出隊列指令52因此將硬件線程22(0)中的程控轉(zhuǎn)移至地址<addr>處的指令54(標(biāo)明為Instr5)。硬件線程22(0)中的指令流46的處理接著繼續(xù)在指令54之后的下一指令(圖中未展示)。以此方式,以指令54開始的功能可與硬件線程20(0)中的指令流36的執(zhí)行并行地在硬件線程22(0)中執(zhí)行。
[0034]圖3為說明用于高效率地分派并行功能的圖1的指令處理電路12的示范性操作的流程圖。為了清晰起見,在描述圖3時參考圖1及2的組件。圖3中的處理開始于指令處理電路12在多核心處理器10的第一硬件線程20中檢測指示請求程控的并行轉(zhuǎn)移的操作的第一指令42(塊58)。在一些實施例中,第一指令42可為由多核心處理器10提供的繼續(xù)(CONTINUE)指令。第一指令42可指定程控將并行地轉(zhuǎn)移至的目標(biāo)地址。如下文更詳細(xì)論述,第一指令42可視情況包含指示可轉(zhuǎn)移一或多個寄存器(例如,寄存器24、26、28、30)的內(nèi)容的寄存器屏蔽。一些實施例可提供,可視情況包含目標(biāo)硬件線程的識別符,以指示將進(jìn)行程控的并行轉(zhuǎn)移所至的硬件線程20、22。
[0035]指令處理電路12接著將對程控的并行轉(zhuǎn)移的請求56排入硬件FIFO隊列34中(塊60)。請求56可包含指示程控將并行地轉(zhuǎn)移至的地址的地址參數(shù)。如下文進(jìn)一步論述,請求56在一些實施例中可包含對應(yīng)于由第一指令42的可選寄存器屏蔽指定的一或多個寄存器的一或多個寄存器標(biāo)識及一或多個寄存器內(nèi)容。
[0036]指令處理電路12接下來在多核心處理器10的第二硬件線程22中檢測指示分派硬件FIFO隊列34中的對程控的并行轉(zhuǎn)移的請求56的操作的第二指令52(塊62)。在一些實施例中,第二指令52可為由多核心處理器10提供的分派(DISPATCH)指令。指令處理電路12將對程控的并行轉(zhuǎn)移的請求56自硬件FIFO隊列34移出(塊64)。接
當(dāng)前第2頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大渡口区| 隆德县| 宝应县| 黄平县| 嘉荫县| 新乡市| 涟水县| 漳州市| 鄂伦春自治旗| 瑞丽市| 突泉县| 得荣县| 建德市| 雷波县| 云和县| 屯留县| 虎林市| 炎陵县| 闽侯县| 平塘县| 容城县| 方正县| 连州市| 中山市| 南昌县| 澜沧| 龙海市| 寿阳县| 基隆市| 吉木萨尔县| 车险| 大名县| 新乡县| 达日县| 乐业县| 银川市| 新邵县| 莫力| 吴堡县| 安宁市| 巴中市|