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

具有多個(gè)核、共享的核擴(kuò)展邏輯及共享的核擴(kuò)展利用指令的處理器的制造方法

文檔序號(hào):8287848閱讀:273來源:國(guó)知局
具有多個(gè)核、共享的核擴(kuò)展邏輯及共享的核擴(kuò)展利用指令的處理器的制造方法
【專利說明】具有多個(gè)核、共享的核擴(kuò)展邏輯及共享的核擴(kuò)展利用指令 的處理器
【背景技術(shù)】
[0001] 領(lǐng)域
[0002] 各實(shí)施例涉及處理器。具體而言,各實(shí)施例涉及具有多個(gè)核的處理器。
[0003] 背景信息
[0004] 圖1是現(xiàn)有技術(shù)的處理器100的框圖。處理器具有多個(gè)核101。具體而言,所示 出的處理器具有核0101-0、核1101-1到核M 101-M。作為示例,可以有兩個(gè)、四個(gè)、七個(gè)、十 個(gè)、十六個(gè)或任何其他合適的核數(shù)量。核中的每一個(gè)都包括對(duì)應(yīng)的單指令多數(shù)據(jù)(SIMD)執(zhí) 行邏輯102。具體而言,核0包括SMD執(zhí)行邏輯102-0、核1包括SMD執(zhí)行邏輯102-1,核 M包括SMD執(zhí)行邏輯102-M。即,每個(gè)核地復(fù)制SMD執(zhí)行邏輯。每一 SMD執(zhí)行邏輯都可 操作,以處理SMD、矢量或緊縮的數(shù)據(jù)操作數(shù)。操作數(shù)中的每一個(gè)都可以具有多個(gè)較小數(shù)據(jù) 元素,諸如8比特、16比特、32比特或64比特?cái)?shù)據(jù)元素,它們?cè)诓僮鲾?shù)中被緊縮在一起并由 SMD執(zhí)行邏輯并行地處理。
[0005] 在某些處理器中,SMD執(zhí)行邏輯中的每一個(gè)都可以表示相對(duì)大量的邏輯。例如, 這可以是當(dāng)SMD執(zhí)行邏輯中的每一個(gè)都將處理寬的SMD操作數(shù)時(shí)的情況。某些處理器能 夠處理具有相對(duì)寬的寬度的矢量或緊縮的數(shù)據(jù)操作數(shù),諸如,例如,128比特操作數(shù)、256比 特操作數(shù)、512比特操作數(shù)、1024比特操作數(shù)等等。通常,處理這樣寬的操作數(shù)所需的SMD 執(zhí)行邏輯往往相對(duì)來說大,消耗相對(duì)來說大量的管芯面積,增大制造處理器的成本,在使用 過程中消耗相對(duì)來說大量的功率。每個(gè)核地復(fù)制相對(duì)大的SIMD執(zhí)行邏輯會(huì)加劇這樣的問 題。此外,在許多應(yīng)用或工作負(fù)荷情況下,每個(gè)核地復(fù)制的SIMD執(zhí)行邏輯傾向于至少某些 時(shí)間未被充分使用。如果核的數(shù)量在未來持續(xù)增大,則這樣的問題可能會(huì)變得越來越嚴(yán)重。
[0006] 更進(jìn)一步,在圖1的現(xiàn)有技術(shù)處理器中,每一個(gè)核還具有常規(guī)流控制邏輯。具體而 言,核〇具有流控制邏輯103-0,核1具有流控制邏輯103-1,而核M具有流控制邏輯103-M。 通常,流控制邏輯可以被設(shè)計(jì)或優(yōu)化以涵蓋范圍廣泛的使用模型,例如,引入推理性執(zhí)行。 然而,這一般傾向于具有相對(duì)較小的對(duì)于SMD和各種其他高吞吐量計(jì)算的優(yōu)點(diǎn),而是傾向 于伴隨有比較高的功率消耗。
[0007] 附圖簡(jiǎn)述
[0008] 可以通過參考用來說明本發(fā)明的各實(shí)施例的下列描述和附圖來理解本發(fā)明。在附 圖中:
[0009] 圖1是現(xiàn)有技術(shù)的處理器的框圖。
[0010] 圖2是具有處理器的實(shí)施例和存儲(chǔ)器的實(shí)施例的系統(tǒng)的實(shí)施例的框圖。
[0011] 圖3是具有核0(包括共享的核擴(kuò)展接口邏輯的實(shí)施例)并具有共享的核擴(kuò)展邏 輯(包括核接口邏輯的實(shí)施例)的實(shí)施例的處理器的實(shí)施例的框圖。
[0012] 圖4是處理共享的核擴(kuò)展調(diào)用指令的實(shí)施例的方法的實(shí)施例的方框流程圖。
[0013] 圖5是共享的核擴(kuò)展命令寄存器的示例實(shí)施例的框圖。
[0014] 圖6是處理共享的核擴(kuò)展讀取指令的實(shí)施例的方法的實(shí)施例的方框流程圖。
[0015] 圖7是處理共享的核擴(kuò)展中止指令的實(shí)施例的方法的實(shí)施例的方框流程圖。
[0016] 圖8A是示出了根據(jù)本發(fā)明的各實(shí)施例的示例性有序流水線和示例性寄存器重命 名、無序發(fā)出/執(zhí)行流水線的框圖。
[0017] 圖8B是示出了根據(jù)本發(fā)明的各實(shí)施例的要包括在處理器中的有序架構(gòu)核和示例 性寄存器重命名,無序發(fā)出/執(zhí)行架構(gòu)核的示例性實(shí)施例的框圖。
[0018] 圖9A是根據(jù)本發(fā)明的各實(shí)施例的單個(gè)處理器核的框圖,以及其與管芯上的互連 網(wǎng)絡(luò)的連接以及其第2級(jí)(L2)緩存904的本地子集。
[0019] 圖9B是根據(jù)本發(fā)明的各實(shí)施例的圖9A中的處理器核的一部分的展開圖。
[0020] 圖10是根據(jù)本發(fā)明的各實(shí)施例的可以具有一個(gè)以上的核,可以具有集成的存儲(chǔ) 器控制器,并可以具有集成的圖形的處理器的框圖。
[0021] 所示出的圖11是根據(jù)本發(fā)明一實(shí)施例的系統(tǒng)的框圖。
[0022] 所示出的圖12是根據(jù)本發(fā)明的一個(gè)實(shí)施例的第一更具體的示例性系統(tǒng)的框圖。
[0023] 所示出的圖13是根據(jù)本發(fā)明的一個(gè)實(shí)施例的第二更具體的示例性系統(tǒng)的框圖。
[0024] 所示出的圖14是根據(jù)本發(fā)明一實(shí)施例的SoC的框圖。
[0025] 圖15是根據(jù)本發(fā)明的各實(shí)施例的比較使用軟件指令轉(zhuǎn)換器來將源指令集中的二 進(jìn)制指令轉(zhuǎn)換為目標(biāo)指令集中的二進(jìn)制指令的框圖。
[0026] 詳細(xì)描述
[0027] 此處公開了具有多個(gè)核和由多個(gè)核共享的核擴(kuò)展邏輯(例如,可操作用于對(duì)每一 個(gè)核執(zhí)行數(shù)據(jù)處理)的處理器的各實(shí)施例。此處還公開了共享的核擴(kuò)展利用指令、執(zhí)行共 享的核擴(kuò)展利用指令的處理器、當(dāng)處理或執(zhí)行共享的核擴(kuò)展利用指令時(shí)由處理器執(zhí)行的方 法,以及包括一個(gè)或多個(gè)處理或執(zhí)行共享的核擴(kuò)展利用指令的處理器的系統(tǒng)。
[0028] 在下面的描述中,闡述了很多具體細(xì)節(jié),諸如特定微架構(gòu)細(xì)節(jié)、特定命令寄存器格 式、特定共享的核擴(kuò)展利用指令功能、共享的核擴(kuò)展利用指令的特定組、系統(tǒng)組件的特定類 型和相互關(guān)系,以及特定邏輯分區(qū)/集成細(xì)節(jié)。然而,應(yīng)該理解,本發(fā)明的各實(shí)施例可以在 沒有這些具體細(xì)節(jié)的情況下實(shí)施。在其他情況下,沒有詳細(xì)示出已知的電路、結(jié)構(gòu)以及技 術(shù),以便不至于使對(duì)本描述的理解變得模糊。
[0029] 圖2是具有處理器210的實(shí)施例和存儲(chǔ)器218的實(shí)施例的系統(tǒng)209的實(shí)施例的框 圖。處理器和存儲(chǔ)器通過一個(gè)或多個(gè)總線或其他互連219彼此耦合,或以別的方式彼此通 信。在各實(shí)施例中,系統(tǒng)209可以表示臺(tái)式計(jì)算機(jī)系統(tǒng)、膝上型計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī) 系統(tǒng)、網(wǎng)絡(luò)元件、蜂窩電話,或具有多核處理器和存儲(chǔ)器的另一種類型的電子設(shè)備。
[0030] 處理器210具有多個(gè)核211。所示出的處理器具有核0 211-0到核M211-M。作 為示例,可以有兩個(gè)、四個(gè)、七個(gè)、十個(gè)、十六個(gè)、三十二個(gè)、六十四個(gè)、一百二十八個(gè),或更多 核,或特定實(shí)現(xiàn)所需的任何其他合理地合適的核數(shù)。在某些實(shí)施例中,每一個(gè)核都能夠基本 上獨(dú)立于其他核地操作。每一個(gè)核都能夠處理至少一個(gè)線程。如例圖所示,核0具有線程 0 212-0,并可以可任選地包括直到線程P 212-P。類似地,核M具有線程0 212-0,并可以 可任選地包括直到線程P 212-P。線程P的數(shù)量可以是任何合理地合適的數(shù)量的線程。本 發(fā)明的范圍不僅限于任何已知數(shù)量的核或那些核能夠處理的任何已知數(shù)量的線程。
[0031] 處理器可以是各種復(fù)雜指令集計(jì)算(CISC)處理器、各種精簡(jiǎn)指令集計(jì)算(RISC) 處理器、各種超長(zhǎng)指令字(VLIW)處理器中的任何一種,其各種混合型,或其他類型的處理 器。在某些實(shí)施例中,核可以是用于臺(tái)式機(jī)、膝上型計(jì)算機(jī)、服務(wù)器等計(jì)算機(jī)系統(tǒng)的類型的 通用處理器的通用核。在某些實(shí)施例中,核可以是特殊用途的核。合適的特殊用途的核的 示例包括,但不僅限于,圖形處理器核、數(shù)字信號(hào)處理器(DSP)核,以及網(wǎng)絡(luò)處理器核,僅舉 幾個(gè)例子而已。在某些實(shí)施例中,處理器可以是具有多個(gè)通用或特殊用途的核以及圖形單 元、媒體塊、與核集成在芯片上的系統(tǒng)存儲(chǔ)器中的一個(gè)或多個(gè)的片上系統(tǒng)(SoC)。
[0032] 處理器還包括共享的核擴(kuò)展邏輯214的實(shí)施例。共享的核擴(kuò)展邏輯由核211中的 每一個(gè)(例如,可操作以對(duì)于核中的每一個(gè),執(zhí)行數(shù)據(jù)處理)共享。共享的核擴(kuò)展邏輯包括 可操作以對(duì)于每一個(gè)核執(zhí)行數(shù)據(jù)處理的共享的數(shù)據(jù)處理邏輯216。共享的核擴(kuò)展邏輯和核 通過一個(gè)或多個(gè)總線或處理器的其他互連217彼此耦合。核和共享的核擴(kuò)展邏輯包括對(duì)應(yīng) 的接口邏輯213、215以允許核和共享的核擴(kuò)展邏輯中的每一個(gè)上的一個(gè)或多個(gè)物理線程 彼此連接或交互(例如用于核的線程以調(diào)用共享的核擴(kuò)展邏輯,以執(zhí)行數(shù)據(jù)處理,檢查數(shù) 據(jù)處理的狀態(tài),中止數(shù)據(jù)處理,同步上下文切換時(shí)的虛擬存儲(chǔ)器屬性,路由在數(shù)據(jù)處理過程 中產(chǎn)生的頁(yè)面錯(cuò)誤,等等)。由共享的核擴(kuò)展邏輯代表每一物理線程執(zhí)行的計(jì)算任務(wù)可以在 該特定的物理線程的邏輯進(jìn)程下運(yùn)行。如下文進(jìn)一步描述的,可以每個(gè)物理線程地提供用 于接口的上下文。
[0033] 具體而言,核0包括共享的核擴(kuò)展接口邏輯213-0的一個(gè)實(shí)施例,包括核0上的線 程〇特定的至少某些邏輯和核〇上的線程P特定的至少某些邏輯。同樣,核M包括共享的 核擴(kuò)展接口邏輯213-M的一個(gè)實(shí)施例,包括核M上的線程0特定的至少某些邏輯,和核M上 的線程P特定的至少某些邏輯。其他核中的每一個(gè)(如果有的話)可以類似地包括這樣的 共享的核擴(kuò)展接口邏輯。共享的核擴(kuò)展邏輯214包括對(duì)應(yīng)的核接口邏輯215的實(shí)施例。每 一核211都可以通過其對(duì)應(yīng)的共享的核擴(kuò)展接口邏輯213,與共享的核擴(kuò)展邏輯214的核 接口邏輯215連接或交互。在某些實(shí)施例中,共享的核擴(kuò)展接口邏輯213,以及核接口邏輯 215,可以提供架構(gòu)接口(例如,新的架構(gòu)宏指令和新的架構(gòu)寄存器),以及微架構(gòu)接口或硬 件機(jī)制(例如,數(shù)據(jù)處理調(diào)度邏輯、存儲(chǔ)器管理單元(MMU)同步邏輯、頁(yè)面錯(cuò)誤路由邏輯等 等),以允許核共享該共享的核擴(kuò)展邏輯(例如,共享由該共享的數(shù)據(jù)處理邏輯216作出的 數(shù)據(jù)處理)下面將進(jìn)一步討論共享的核擴(kuò)展接口邏輯213和核接口邏輯215的詳細(xì)的示例 實(shí)施例。
[0034] 在各種不同的實(shí)施例中,共享的數(shù)據(jù)處理邏輯216可以表示不同類型的數(shù)據(jù)處理 邏輯。如上文在背景部分所討論的,某些類型的數(shù)據(jù)處理邏輯(例如,某些寬的SMD執(zhí)行 單元)通常每個(gè)核地被復(fù)制。如上文所提及的,此復(fù)制的邏輯常常傾向于比較大。此外,對(duì) 于許多常見的工作負(fù)荷情況,至少某些時(shí)間,此復(fù)制的邏輯常常被未被充分使用。這樣的邏 輯的復(fù)制一般傾向于消耗相對(duì)大量的管芯面積,增大制造成本,消耗相對(duì)大量的功率。在 某些實(shí)施例中,通常每個(gè)核地復(fù)制的這樣的相對(duì)大的和/或通常未充分使用的數(shù)據(jù)處理邏 輯,可以作為數(shù)據(jù)處理邏輯的單一共享的副本,而從多個(gè)核中提取到共享的核擴(kuò)展邏輯中。 此外,共享的核擴(kuò)展邏輯214可以使用為高吞吐量需要的或優(yōu)化的流控制邏輯,而不是被 設(shè)計(jì)或優(yōu)化以涵蓋范圍廣泛的使用模型,例如,引入推理性執(zhí)行,和圖1的核的常規(guī)流控制 邏輯的情況一樣。這一般傾向于為面向吞吐量的算法提供較高級(jí)別的功率-性能效率。
[0035] 在各實(shí)施例中,共享的數(shù)據(jù)處理邏輯可以表示面向吞吐量的硬件計(jì)算功能邏輯、 高吞吐量計(jì)算引擎、矩陣乘法邏輯、矩陣轉(zhuǎn)置邏輯、有限過濾器邏輯、絕對(duì)差值求和邏輯、 直方圖計(jì)算邏輯、集中-分散指令實(shí)現(xiàn)邏輯、超越矢量執(zhí)行邏輯等等。在某些實(shí)施例中,共 享的數(shù)據(jù)處理邏輯可以包括執(zhí)行單元,諸如,例如,SMD執(zhí)行單元(例如,潛在地相對(duì)寬的 SIMD執(zhí)行單元)。在某些實(shí)施例中,共享的核擴(kuò)展邏輯可以與,例如,存儲(chǔ)器218中的共享 的核擴(kuò)展數(shù)據(jù)結(jié)構(gòu)208 (例如,矩陣、表等等)進(jìn)行交互。
[0036] 有利地,與復(fù)制邏輯相比,共享的核擴(kuò)展邏輯可以幫助縮小實(shí)現(xiàn)邏輯所需的整體 管芯面積、制造邏輯的成本,和/或由邏輯消耗的功率中的一項(xiàng)或多項(xiàng)。即,共享的核擴(kuò)展 邏輯可以允許多個(gè)核共享共同數(shù)據(jù)處理功能評(píng)估硬件資源,而不會(huì)招致每個(gè)核地復(fù)制這樣 的資源的一般高集成成本。為清楚起見,特定共享的數(shù)據(jù)處理邏輯不需要大,雖然當(dāng)相對(duì)來 說大的邏輯由核共享代替每個(gè)核地復(fù)制時(shí),常常將實(shí)現(xiàn)大小、成本,以及功率減小的最大的 優(yōu)點(diǎn)。此外當(dāng)共享的邏輯將以別的方式(如果它被每個(gè)核地復(fù)制)相對(duì)來說未被充分使用 時(shí),將實(shí)現(xiàn)最大的優(yōu)點(diǎn),因?yàn)楣蚕砜赡軆A向于提高邏輯的利用,由此可以合并未充分使用的 或不需要的邏輯,以縮小管芯面積和制造成本。作為進(jìn)一步的優(yōu)點(diǎn),共享的核擴(kuò)展邏輯還可 以潛在地用于允許核針對(duì)一種類型的處理(例如,對(duì)于標(biāo)量工作負(fù)荷性能、功率和面積)自 定義或優(yōu)化,而同時(shí)允許共享的核擴(kuò)展邏輯針對(duì)另一種類型的處理(例如,對(duì)于面向吞吐 量的工作負(fù)荷性能,功率和面積)自定義或優(yōu)化。
[0037] 圖3是具有核0 311-0(包括共享的核擴(kuò)展接口邏輯313的示例實(shí)施例)并具有 共享的核擴(kuò)展邏輯314的實(shí)施例(包括核接口邏輯315的示例實(shí)施例)的處理器310的實(shí) 施例的框圖。如前所述,處理器還可以包括一個(gè)或多個(gè)其他核到核M(未示出)。除共享的 核擴(kuò)展接口邏輯313之外,核0還具有在核中通常發(fā)現(xiàn)的類型的常規(guī)邏輯334(例如,一個(gè) 或多個(gè)執(zhí)行單元、架構(gòu)寄存器、一個(gè)或多個(gè)緩存、微架構(gòu)邏輯等等)。本發(fā)明的范圍不僅限于 任何已知的這樣的常規(guī)邏輯。除核接口邏輯315之外,共享的核擴(kuò)展邏輯314還具有共享 的數(shù)據(jù)處理邏輯316,以及調(diào)度來自共享的數(shù)據(jù)處理邏輯上的多個(gè)核的數(shù)據(jù)處理或任務(wù)的 調(diào)度器344。
[0038] 在核0 311-0上運(yùn)行的一個(gè)或多個(gè)物理線程中的每一個(gè)都可以使用共享的核擴(kuò) 展接口邏輯313,以與共享的核擴(kuò)展邏輯314連接。共享的核擴(kuò)展接口邏輯313包括核0的 指令集322的共享的核擴(kuò)展利用指令323。指令集是核的指令集架構(gòu)(ISA)的一部分。ISA 表示與編程相關(guān)的核的架構(gòu)的一部分。ISA通常包括處理器的原始指令、架構(gòu)寄存器、數(shù)據(jù) 類型、尋址模式、存儲(chǔ)器架構(gòu)、中斷和異常處理,等等。ISA與微架構(gòu)不同,該微架構(gòu)一般表示 選擇用于實(shí)現(xiàn)ISA的特定設(shè)計(jì)技術(shù)。帶有不同的微架構(gòu)的處理器或核可以共享共同的ISA。 指令集的指令,包括共享的核擴(kuò)展利用指令323,表示機(jī)器指令、宏指令,或較高級(jí)別的指令 (例如,提供給核供執(zhí)行的指令),而不是微指令或微操作,或較低級(jí)別的指令(例如,由解 碼邏輯解碼機(jī)器指令或宏指令產(chǎn)生的那些)。
[0039] 共享的核擴(kuò)展接口邏輯313還包括核0,共享的核擴(kuò)展命令寄存器(SCECR) 328的 線程0組。每一物理線程都可以具有一組與它相關(guān)聯(lián)的SCECR寄存器,作為要保存并恢復(fù) 的其上下文的一部分,不管其他線程的進(jìn)度。在某些實(shí)施例中,對(duì)于核0,可以有每個(gè)線程地 為在核0上運(yùn)行的一個(gè)或多個(gè)物理線程中的每一個(gè)提供的多組SCECR。例如,在所示實(shí)施例 中,核0,線程0 SCECR可以屬于線程0。類似地,在核0上運(yùn)行的每一物理線程都可以具有 一組核〇,與共享的核擴(kuò)展邏輯314連接的線程特定的SCECR??闪磉x地,可以有核0的單 組核0 SCECR。在這樣的情況下,在硬件級(jí)別,在物理線程之間,可以有SCECR的時(shí)間共享。 上下文可以在上下文切換時(shí)被換出核O SCECR,并保存和恢復(fù)。
[0040] 在示圖中,示出了 SCECR 0 328-0到SCECR N 328-N。S卩,有N+1個(gè)寄存器。數(shù)量 N+1可以是任何所需的數(shù)量,諸如兩個(gè)、四個(gè)、八個(gè)、十六個(gè)、三十二、六十四,或某種其他數(shù) 量。沒有數(shù)量N+1是2的冪的要求,雖然這一般傾向于提供有效率的寄存器尋址。這些寄存 器中的給定一個(gè)在本文中一般地表示為SCECR X,其中,X可以表示寄存器SCECR 0到SCECR N中的任何一個(gè)。
[0041] 在某些實(shí)施例中,共享的核擴(kuò)展命令寄存器可以是核和/或處理器的ISA的在架 構(gòu)上可見的寄存器。架構(gòu)寄存器一般表示管芯上處理器存儲(chǔ)器位置。架構(gòu)寄存器此處也可 以被簡(jiǎn)稱為寄存器。除非另作說明或顯而易見的,此處使用短語"架構(gòu)寄存器以及寄存器" 來指對(duì)軟件和/或編程器(例如,軟件可見的)可見的寄存器和/或通過宏指令來指定的 寄存器。這些寄存器與給定
當(dāng)前第1頁(yè)1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鲜城| 广饶县| 威海市| 嘉义市| 汶川县| 临洮县| 榕江县| 高青县| 长顺县| 永吉县| 新津县| 普兰县| 武平县| 浙江省| 万年县| 吉木乃县| 卢龙县| 上思县| 呼和浩特市| 广东省| 滨海县| 焉耆| 南开区| 岳池县| 平罗县| 云浮市| 荥经县| 镶黄旗| 桓台县| 赤水市| 新巴尔虎右旗| 灌南县| 峡江县| 太仆寺旗| 波密县| 喀喇| 察哈| 昭苏县| 综艺| 天峻县| 盐边县|