模式改變?yōu)榈诙糠謱挾燃虞d模式。
[0147] 示例13是由處理器執(zhí)行的方法。該方法包括接收部分寬度加載指令。部分寬度加 載指令將存儲器的存儲器位置指示為源操作數(shù),并且將寄存器指示為目的地操作數(shù)。該方 法包括:響應(yīng)于部分寬度加載指令而將數(shù)據(jù)從所指示的存儲器位置加載到處理器。該方法 包括:響應(yīng)于部分寬度加載指令而將所加載數(shù)據(jù)的至少部分寫入到寄存器的部分寬度。該 方法包括:利用存儲在寄存器的其余寬度中的、具有依賴于處理器的部分寬度加載模式的 位值的位組來完成向寄存器寫入。部分寬度加載指令不指示部分寬度加載模式。
[0148] 示例14包括示例13的方法,并且可任選地在其中,完成向寄存器寫入包括:在所述 部分寬度加載模式中,將零作為所述位組寫入到寄存器的其余寬度??扇芜x地,在第二不同 的部分寬度加載模式中,將符號擴展位而非所述零寫入到寄存器的其余寬度。
[0149] 示例15包括示例13的方法,并且可任選地在其中,完成向寄存器寫入包括:在所述 部分寬度加載模式中,將零作為所述位組寫入到寄存器的其余寬度??扇芜x地,在第二不同 的部分寬度加載模式中,將最初位于其余寬度中的位組存儲在寄存器的其余寬度中。
[0150] 示例16包括任一前述示例的方法,并且可任選地進一步包括訪問至少一個位W確 定部分寬度加載模式。該方法還可W任選地包括選擇對應(yīng)于確定位組的位值的部分寬度加 載模式的方法。
[0151] 示例17包括任一前述示例的方法,并且可任選地在其中,訪問至少一個位包括:訪 問處理器的應(yīng)用可見的寄存器中的至少一個位。
[0152] 示例18包括任一前述示例的方法,并且可任選地在其中,向寄存器的部分寬度寫 入包括:向寄存器的寬度的僅子集(例如,一半)寫入??扇芜x地,寄存器至少與由處理器用 來訪問存儲器的存儲器地址一樣寬。
[0153] 示例19包括任一前述示例的方法,并且可任選地在其中,向寄存器的部分寬度寫 入包括下列各項中的一項:可任選地,在寄存器的其余部分,利用零寫入到寄存器的32位, 并且其中,由處理器用來訪問存儲器的存儲器地址為64位;或可任選地,在寄存器的其余部 分,利用零寫入到寄存器的64位,并且其中,由處理器用來訪問存儲器的存儲器地址為128 位。
[0154] 示例20包括任一前述示例的方法,并且可任選地進一步包括:接收來自用戶級應(yīng) 用的、用于改變所述部分寬度加載模式的控制信號;W及在接收到所述控制信號之后,改變 所述部分寬度加載模式。
[0155] 示例21包括任一前述示例的方法,并且可任選地進一步包括:接收來自操作系統(tǒng) 和虛擬機監(jiān)視器中的一者的、用于改變所述部分寬度加載模式的控制信號;W及在接收到 來自操作系統(tǒng)和虛擬機監(jiān)視器中的所述一者的控制信號之后,改變所述部分寬度加載模 式。該方法還可W任選地包括:防止用戶級應(yīng)用改變所述部分寬度加載模式。
[0156] 示例22包括任一前述示例的方法,并且可任選地進一步包括:響應(yīng)于處理器的指 令集的用戶級指令而改變所述部分寬度加載模式。
[0157] 示例23是制品,該制品包括存儲一組指令的非暫態(tài)機器可讀存儲介質(zhì),所述一組 指令如果由機器執(zhí)行,則可操作W使所述機器執(zhí)行操作。運些操作包括檢查軟件模塊的元 數(shù)據(jù),其中包括,檢查將由處理器用來執(zhí)行部分寬度加載指令的處理器的部分寬度加載模 式的指示。部分寬度加載指令用于將存儲器位置指示為源操作數(shù),并且將寄存器指示為目 的地操作數(shù)。操作還包括:將處理器的所述部分寬度加載模式改變?yōu)樗甘镜牟糠謱挾燃?載模式。其中,改變部分寬度加載模式W便控制將由處理器存儲在所指示的寄存器的、不被 用于存儲從存儲器加載的數(shù)據(jù)的部分寬度的部分中的位值的改變。
[0158] 示例24包括示例23的制品,并且可任選地在其中,所述一組指令進一步包括指令, 所述指令如果由所述機器執(zhí)行,則可操作W使所述機器執(zhí)行操作,所述操作包括:維護元數(shù) 據(jù),所述元數(shù)據(jù)指示哪些不同的軟件模塊將使用哪些不同的部分寬度加載模式,其中包括, 所述軟件模塊將使用所述部分寬度加載模式,W及在處理了中斷之后,結(jié)合往回過渡到對 來自軟件模塊的代碼的執(zhí)行而將處理器的所述部分寬度加載模式改變?yōu)樗甘镜牟糠謱?度加載模式。
[0159] 示例25是用于處理指令的系統(tǒng),該系統(tǒng)包括互連、與該互連禪合的動態(tài)隨機存取 存儲器(DRAM), W及與該互連禪合的處理器。處理器包括具有寬度的寄存器、用于接收指令 的解碼單元。指令用于將DRAM的存儲器位置指示為源操作數(shù),并且將寄存器指示為目的地 操作數(shù)。處理器還包括與解碼單元禪合的存儲器子系統(tǒng)。存儲器子系統(tǒng)用于:響應(yīng)于該指令 而從所指示的存儲器位置加載數(shù)據(jù)。處理器還包括與存儲器子系統(tǒng)W及寄存器禪合的單 元。該單元響應(yīng)于該指令而用于將所加載數(shù)據(jù)的至少部分寫入到寄存器的部分寬度,并且 用于利用存儲在寄存器的其余寬度中的、具有依賴于處理器的模式的位值的位組來完成向 寄存器寫入。可任選地,指令不指示模式。
[0160] 示例26包括示例25的系統(tǒng),并且可任選地在其中,所述單元用于:在所述部分寬度 加載模式中,將零作為所述位組寫入到寄存器的其余寬度??扇芜x地,在第二部分寬度加載 模式中,該單元不將零作為所述位組寫入到寄存器的其余寬度。
[0161] 示例27是處理器,該處理器包括用于接收部分寬度加載指令的裝置。部分寬度加 載指令用于將存儲器的存儲器位置指示為源操作數(shù),并且將寄存器指示為目的地操作數(shù)。 該處理器還包括用于響應(yīng)于部分寬度加載指令而將數(shù)據(jù)從所指示的存儲器位置加載到處 理器的裝置。該處理器還包括用于響應(yīng)于部分寬度加載指令而將所加載數(shù)據(jù)的至少部分寫 入到寄存器的部分寬度的裝置。該處理器還包括用于利用存儲在寄存器的其余寬度中的、 具有依賴于處理器的部分寬度加載模式的位值的位組來完成向寄存器寫入的裝置??扇芜x 地,部分寬度加載指令不指示部分寬度加載模式。
[0162] 示例28包括示例27的處理器,并且可任選地在其中,用于完成向寄存器寫入的裝 置包括:用于在所述部分寬度加載模式中將零作為所述位組寫入到寄存器的其余寬度的裝 置。
[0163] 示例29是存儲指令的機器可讀存儲介質(zhì),所述指令如果由機器執(zhí)行,則使該機器 執(zhí)行示例13-22中任一項的方法。
[0164] 示例30是用于執(zhí)行示例13-22中的任一項的方法的處理器。
[0165] 示例31是處理器,該處理器包括用于執(zhí)行示例13-22中的任一項的方法的裝置。
[0166] 示例32是處理器,該處理器包括用于執(zhí)行示例13-22中的任一項的方法的集成電 路和/或邏輯和/或單元和/或組件和/或模塊,或上述各項的任何組合。
[0167] 示例33是計算機系統(tǒng),該計算機系統(tǒng)包括動態(tài)隨機存取存儲器(DRAM)和處理器, 所述計算機系統(tǒng)用于執(zhí)行示例13-22中的任一項的方法。
[0168] 示例34是用于執(zhí)行基本上如本文中所描述的至少一個操作或方法的處理器。
[0169] 示例35是處理器,該處理器包括用于執(zhí)行基本上如本文中所描述的至少一個操作 或方法的裝置。
[0170] 示例36是用于實行或執(zhí)行基本上如本文中所描述的指令的處理器。
[0171] 示例37是處理器,該處理器包括用于執(zhí)行基本上如本文中所描述的指令的裝置。
【主權(quán)項】
1. 一種處理器,包括: 寄存器,所述寄存器具有寬度; 解碼單元,所述解碼單元用于接收部分寬度加載指令,所述部分寬度加載指令用于將 存儲器的存儲器位置指示為源操作數(shù),并且將所述寄存器指示為目的地操作數(shù); 存儲器子系統(tǒng),所述存儲器子系統(tǒng)與所述解碼單元耦合,所述存儲器子系統(tǒng)用于響應(yīng) 于所述部分寬度加載指令而將數(shù)據(jù)從所指示的存儲器位置加載到所述處理器;以及 寄存器寫入單元,所述寄存器寫入單元與所述存儲器子系統(tǒng)和所述寄存器耦合,所述 寄存器寫入單元響應(yīng)于所述部分寬度加載指令而用于將所加載數(shù)據(jù)的至少部分寫入到所 述寄存器的部分寬度,并且用于利用存儲在所述寄存器的其余寬度中的、具有依賴于所述 處理器的部分寬度加載模式的位值的位組來完成向所述寄存器寫入,所述部分寬度加載指 令不指示所述部分寬度加載模式。2. 如權(quán)利要求1所述的處理器,其特征在于,所述寄存器寫入單元用于:在所述部分寬 度加載模式中,將全零作為所述位組寫入到所述寄存器的所述其余寬度;以及在第二部分 寬度加載模式中,不將全零作為所述位組寫入到所述寄存器的所述其余寬度。3. 如權(quán)利要求2所述的處理器,其特征在于,所述寄存器寫入單元用于:在所述第二部 分寬度加載模式中,將符號擴展位作為所述位組寫入到所述寄存器的所述其余寬度。4. 如權(quán)利要求2所述的處理器,其特征在于,所述寄存器寫入單元用于:在所述第二部 分寬度加載模式中,利用在所述解碼器接收到所述部分寬度加載指令之前被存儲為所述寄 存器的所述其余寬度中的所述位組的、最初位于所述其余寬度中的位組來完成向所述寄存 器寫入。5. 如權(quán)利要求1所述的處理器,進一步包括用于指示所述部分寬度加載模式的至少一 個位,其中,所述處理器用于訪問所述至少一個位以確定所述部分寬度加載模式,從而選擇 確定所述位組的所述位值的對應(yīng)方法。6. 如權(quán)利要求5所述的處理器,其特征在于,所述至少一個位在所述處理器的寄存器 中,并且是應(yīng)用可見的。7. 如權(quán)利要求1所述的處理器,其特征在于,所述寄存器的所述寬度至少與所述處理器 用來訪問存儲器的存儲器地址一樣寬,并且其中,所述寄存器的所述部分寬度僅是所述寄 存器的所述寬度的部分。8. 如權(quán)利要求7所述的處理器,其特征在于,從下列各項中選擇一項: 所述處理器是使用64位存儲器地址的64位架構(gòu)處理器,并且其中,所述寄存器的部分 寬度為32位;以及 所述處理器是使用128位存儲器地址的128位架構(gòu)處理器,并且其中,所述寄存器的部 分寬度為64位。9. 如權(quán)利要求1-8中任一項所述的處理器,其特征在于,所述處理器允許用戶級應(yīng)用改 變所述部分寬度加載模式。10. 如權(quán)利要求1-8中任一項所述的處理器,其特征在于,所述處理器允許操作系統(tǒng)和 虛擬機監(jiān)視器中的至少一者改變所述部分寬度加載模式,但是不允許用戶級應(yīng)用改變所述 部分寬度加載模式。11. 如權(quán)利要求1-8中任一項所述的處理器,其特征在于,所述處理器具有包括用于改 變所述部分寬度加載模式的指令的指令集。12. 如權(quán)利要求1所述的處理器,其特征在于,所述寄存器寫入單元用于:在所述部分寬 度加載模式中,將全零作為所述位組寫入到所述寄存器的所述其余寬度,并且所述處理器 進一步包括: 所述處理器的單元,所述處理器的單元用于在中斷以及從應(yīng)用向操作系統(tǒng)過渡中的一 者時將所述部分寬度加載模式改變?yōu)榈诙糠謱挾燃虞d模式。13. -種由處理器執(zhí)行的方法,包括: 接收部分寬度加載指令,所述部分寬度加載指令將存儲器的存儲器位置指示為源操作 數(shù),并且將寄存器指示為目的地操作數(shù); 響應(yīng)于所述部分寬度加載指令,將數(shù)據(jù)從所指示的存儲器位置加載到所述處理器; 響應(yīng)于所述部分寬度加載指令,將所加載數(shù)據(jù)的至少部分寫入到所述寄存器的部分寬 度;以及 利用存儲在所述寄存器的其余寬度中的、具有依賴于所述處理器的部分寬度加載模式 的位值的位組來完成向所述寄存器寫入,所述部分寬度加載指令不指示所述部分寬度加載 模式。14. 如權(quán)利要求13所述的方法,其特征在于,完成向所述寄存器寫入包括:在所述部分 寬度加載模式中,將零作為所述位組寫入到所述寄存器的所述其余寬度,并且其中,在第二 不同的部分寬度加載模式種,將符號擴展位而非所述零寫入到所述寄存器的所述其余寬 度。15. 如權(quán)利要求13所述的方法,其特征在于,完成向所述寄存器寫入包括:在所述部分 寬度加載模式中,將零作為所述位組寫入到所述寄存器的所述其余寬度,并且其中,在第二 不同的部分寬度加載模式中,將最初位于所述其余寬度中的位組存儲在所述寄存器的所述 其余寬度中。16.如權(quán)利要求13所述的方法,進一步包括: 訪問至少一個位以確定所述部分寬度加載模式;以及 選擇對應(yīng)于確定所述位組的所述位值的所述部分寬度加載模式的方法。17. 如權(quán)利要求16所述的方法,其特征在于,訪問所述至少一個位包括:訪問所述處理 器的應(yīng)用可見的寄存器中的至少一個位。18.如權(quán)利要求13所述的方法,其特征在于,向所述寄存器的所述部分寬度寫入包括: 向所述寄存器的寬度的僅子集寫入,并且其中,所述寄存器至少與所述處理器用來訪問所 述存儲器的存儲器地址一樣寬。19. 如權(quán)利要求18所述的方法,其特征在于,向所述寄存器的所述部分寬度寫入包括下 列各項中的一項: 在所述寄存器的其余部分,利用零向所述寄存器的32位寫入,并且其中,由所述處理器 用來訪問所述存儲器的所述存儲器地址為64位;以及 在所述寄存器的其余部分,利用零向所述寄存器的64位寫入,并且其中,由所述處理器 用來訪問所述存儲器的所述存儲器地址為128位。20.如權(quán)利要求13所述的方法,進一步包括: 接收來自用戶級應(yīng)用的、用于改變所述部分寬度加載模式的控制信號;以及 在接收到所述控制信號之后,改變所述部分寬度加載模式。21. 如權(quán)利要求13所述的方法,進一步包括: 接收來自操作系統(tǒng)和虛擬機監(jiān)視器中的一者的、用于改變所述部分寬度加載模式的控 制信號; 在接收到來自所述操作系統(tǒng)和所述虛擬機監(jiān)視器中的所述一者的所述控制信號之后, 改變所述部分寬度加載模式;以及 防止用戶級應(yīng)用改變所述部分寬度加載模式。22. -種制品,所述制品包括存儲一組指令的非暫態(tài)機器可讀存儲介質(zhì),所述指令如果 由機器執(zhí)行,則可操作以使所述機器執(zhí)行包括下列各項的操作: 檢查軟件模塊的元數(shù)據(jù),包括檢查要由處理器用來執(zhí)行部分寬度加載指令的處理器的 部分寬度加載模式的指示,所述部分寬度加載指令用于將存儲器位置指示為源操作數(shù),并 且將寄存器指示為目的地操作數(shù);以及 將所述處理器的所述部分寬度加載模式改變?yōu)樗甘镜牟糠謱挾燃虞d模式,其中,改 變所述部分寬度加載模式以便控制將由所述處理器存儲在所指示的寄存器的、不被用于存 儲從存儲器加載的數(shù)據(jù)的部分寬度的部分中的位值的改變。23. 如權(quán)利要求23所述的制品,其特征在于,所述一組指令進一步包括指令,所述指令 如果由所述機器執(zhí)行時,可操作以使所述機器執(zhí)行包括下列各項的操作: 維護元數(shù)據(jù),所述元數(shù)據(jù)指示哪些不同的軟件模塊將使用哪些不同的部分寬度加載模 式,其中包括所述軟件模塊將使用所述部分寬度加載模式;以及 在處理了中斷之后,結(jié)合往回過渡到對來自所述軟件模塊的代碼的執(zhí)行而將所述處理 器的所述部分寬度加載模式改變?yōu)樗甘镜牟糠謱挾燃虞d模式。24. -種存儲指令的機器可讀存儲介質(zhì),所述指令如果由機器執(zhí)行,則使所述機器執(zhí)行 如權(quán)利要求13-21中任一項所述的方法。25. -種處理器,所述處理器包括用于執(zhí)行如權(quán)利要求13-21中的任一項所述的方法的 裝置。
【專利摘要】一方面的方法由處理器執(zhí)行。該方法包括接收部分寬度加載指令。部分寬度加載指令將存儲器的存儲器位置指示為源操作數(shù),并且將寄存器指示為目的地操作數(shù)。該方法包括:響應(yīng)于部分寬度加載指令而將數(shù)據(jù)從所指示的存儲器位置加載到處理器。該方法包括:響應(yīng)于部分寬度加載指令而將所加載數(shù)據(jù)的至少部分寫入到寄存器的部分寬度。該方法包括:利用存儲在寄存器的其余寬度中的、具有依賴于處理器的部分寬度加載模式的位值的位組來完成向寄存器寫入。部分寬度加載指令不指示部分寬度加載模式。還公開了其他方法、處理器以及系統(tǒng)。
【IPC分類】G06F9/312
【公開號】CN105453030
【申請?zhí)枴緾N201480030091
【發(fā)明人】W·C·拉什, Y·A·圣地亞哥, M·G·迪克森
【申請人】英特爾公司
【公開日】2016年3月30日
【申請日】2014年6月19日
【公告號】EP3014422A1, US9395990, US20150006856, WO2014209747A1