[發(fā)明專利]硬件中具有分支計(jì)數(shù)表的指令優(yōu)化處理器無效
| 申請(qǐng)?zhí)枺?/td> | 201310187482.1 | 申請(qǐng)日: | 2013-05-20 |
| 公開(公告)號(hào): | CN103425458A | 公開(公告)日: | 2013-12-04 |
| 發(fā)明(設(shè)計(jì))人: | 魯珀特·布勞赫;馬杜·斯沃爾那;羅斯·澤格爾肯;戴維·鄧恩;本·赫茲伯格 | 申請(qǐng)(專利權(quán))人: | 輝達(dá)公司 |
| 主分類號(hào): | G06F9/30 | 分類號(hào): | G06F9/30 |
| 代理公司: | 北京市磐華律師事務(wù)所 11336 | 代理人: | 徐丁峰;魏寧 |
| 地址: | 美國(guó)加利*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬件 具有 分支 數(shù)表 指令 優(yōu)化 處理器 | ||
背景技術(shù)
計(jì)算機(jī)的中央處理單元(CPU)或圖形處理單元(GPU)可包括微處理器。微處理器可配置為執(zhí)行被編譯到除某些非本地(non-native)指令集架構(gòu)(ISA)之外還被編譯到其本地ISA的代碼。
當(dāng)微處理器遇到非本地指令時(shí),非本地指令塊可轉(zhuǎn)換為本地指令并且還可以得到優(yōu)化—例如增加執(zhí)行速度。與原始非本地指令相對(duì)應(yīng)的經(jīng)優(yōu)化的本地指令塊可存儲(chǔ)在指令高速緩存中用于將來使用。然而,代碼優(yōu)化可能要求大量計(jì)算工作量。在一些系統(tǒng)中,優(yōu)化微處理器所遇到的每個(gè)代碼塊可能表現(xiàn)出令人無法接受的性能開銷。
發(fā)明內(nèi)容
一個(gè)實(shí)施例提供了具有微處理器內(nèi)核、硬件解碼器、轉(zhuǎn)譯器以及配置為跟蹤硬件解碼器的使用的專用邏輯結(jié)構(gòu)的處理系統(tǒng)。硬件解碼器布置在微處理器核心內(nèi),配置為選擇性地解碼指令用于在微處理器核心中執(zhí)行。轉(zhuǎn)譯器可操作地耦連到邏輯結(jié)構(gòu)并配置為基于由邏輯結(jié)構(gòu)所確定的硬件解碼器的使用來選擇性地轉(zhuǎn)譯指令用于在微處理器核心中執(zhí)行。
以上概述被提供來以簡(jiǎn)化的形式介紹該公開的所選擇的部分,而非確定關(guān)鍵或基礎(chǔ)的特征。由權(quán)利要求所定義的要求保護(hù)的主題既不限于該概述的內(nèi)容也不限于解決本文所提到的任何問題或缺點(diǎn)的實(shí)現(xiàn)方案。
附圖說明
圖1示意性地示出了根據(jù)本公開的實(shí)施例的示范性的處理系統(tǒng)。
圖2示意性地示出了根據(jù)本公開的實(shí)施例的示范性的處理管線。
圖3示出了根據(jù)本公開的實(shí)施例的用于執(zhí)行非本地指令代碼的方法。
圖4示意性地示出了根據(jù)本公開的實(shí)施例的示范性的分支計(jì)數(shù)管理器。
圖5和6示意性地示出了根據(jù)本公開的實(shí)施例的示范性的分支計(jì)數(shù)表。
圖7示出了根據(jù)本公開的實(shí)施例的用于執(zhí)行非本地指令代碼的另一個(gè)方法。
具體實(shí)施方式
現(xiàn)在將通過示例和參考上文列出的示例性實(shí)施例來描述本公開的各方面。在一個(gè)或多個(gè)實(shí)施例中可能大體上相同的部件被同等標(biāo)識(shí)并以最小的重復(fù)性來加以描述。然而,應(yīng)該注意,被同等標(biāo)識(shí)的元件也可能在某種程度上有所不同。附加到本說明書的權(quán)利要求書唯一地定義了本文所要求的主題。權(quán)利要求不限于下文闡述的示范性結(jié)構(gòu)和數(shù)值范圍,也不限于解決本文所述的本領(lǐng)域現(xiàn)狀中的問題或缺點(diǎn)的實(shí)現(xiàn)方案。
圖1示出了示范性的處理系統(tǒng)10的方面—例如個(gè)人計(jì)算機(jī)、游戲系統(tǒng)或智能手機(jī)的中央處理單元或圖形處理單元。所示出的處理系統(tǒng)包括微處理器12,其可操作地耦連到指令存儲(chǔ)器14和耦連到數(shù)據(jù)存儲(chǔ)器16。圖1的微處理器包括核心18。雖然附圖僅示出一個(gè)微處理器核心,但該公開的每個(gè)方面符合多核處理器和處理系統(tǒng)。
指令存儲(chǔ)器14和數(shù)據(jù)存儲(chǔ)器16每個(gè)可由微處理器通過分層存儲(chǔ)器高速緩存系統(tǒng)可讀和可寫。在所示出的實(shí)施例中,存儲(chǔ)器高速緩存系統(tǒng)除指令專用和數(shù)據(jù)專用的一級(jí)(L1)高速緩存之外,還包括核外(off-core)三級(jí)(L3)高速緩存20和核上(on-core)二級(jí)(L2)高速緩存22,如下所述。在其他實(shí)施例中,存儲(chǔ)器高速緩存系統(tǒng)可包括任意數(shù)目的駐留在片上或片外的級(jí)。存儲(chǔ)器高速緩存系統(tǒng)可以可操作地耦連到存儲(chǔ)器控制器(圖中未示出),該存儲(chǔ)器控制器也可以在片上或片外。體現(xiàn)在隨機(jī)存取存儲(chǔ)器的任意合適的變形中,指令和數(shù)據(jù)存儲(chǔ)器可對(duì)應(yīng)于不同物理存儲(chǔ)器結(jié)構(gòu)或?qū)?yīng)于相同物理存儲(chǔ)器結(jié)構(gòu)的不同部分。在一些實(shí)施例中,指令和數(shù)據(jù)存儲(chǔ)器還可包括只讀存儲(chǔ)器(ROM)。
在圖1中繼續(xù),核心18包括指令獲取單元(IFU)24,配置為從指令存儲(chǔ)器14檢索指令。可由例如當(dāng)前的指令指針(IP)來確定要在任意給定的時(shí)間所檢索的指令。在圖1中所示出的實(shí)施例中,IFU包括用于對(duì)所檢索的指令進(jìn)行高速緩存的L1指令高速緩存30。IFU還可包括在下文加以描述的轉(zhuǎn)譯地址高速緩存(THASH)32。
IFU24可配置為檢索各種形式的指令代碼。除由核心18的執(zhí)行單元可本地執(zhí)行的指令之外,指令獲取單元還可檢索被編譯到非本地指令集架構(gòu)(ISA)的指令。這種非本地指令可要求解碼或轉(zhuǎn)譯為將由執(zhí)行單元所識(shí)別的本地ISA。為此,處理系統(tǒng)10包括硬件解碼器34。當(dāng)IFU檢索非本地指令時(shí),它通過硬件解碼器將該指令路由到執(zhí)行單元40。當(dāng)它檢索本地指令時(shí),該指令繞過硬件解碼器而被直接路由到執(zhí)行單元。執(zhí)行單元可包括例如整數(shù)和/或浮點(diǎn)部件部分。
硬件解碼器34是布置在核心18中的邏輯結(jié)構(gòu),并配置為選擇性地解碼指令用于在核心中執(zhí)行。具體來講,硬件解碼器解碼由IFU24所檢索的非本地指令。硬件解碼器解析非本地指令的操作碼、操作數(shù)以及尋址模式,并創(chuàng)建功能上等同、但未經(jīng)優(yōu)化的本地指令集。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于輝達(dá)公司,未經(jīng)輝達(dá)公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310187482.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。





