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

用于在中央處理單元中執(zhí)行機(jī)器指令的方法和系統(tǒng)與流程

文檔序號(hào):11170785閱讀:472來(lái)源:國(guó)知局
用于在中央處理單元中執(zhí)行機(jī)器指令的方法和系統(tǒng)與流程
本發(fā)明總體涉及數(shù)據(jù)處理,尤其涉及包括存儲(chǔ)器邊界的處理。

背景技術(shù):
數(shù)據(jù)處理包括各種類型的處理,包括文本處理或者其他類型的處理。在數(shù)據(jù)處理期間,當(dāng)被處理的數(shù)據(jù)正在接近指定存儲(chǔ)器邊界時(shí),經(jīng)常需要執(zhí)行特殊處理。與接近存儲(chǔ)器邊界的處理相關(guān)聯(lián)的當(dāng)前指令和/或技術(shù)傾向于效率低下或有問(wèn)題。

技術(shù)實(shí)現(xiàn)要素:
經(jīng)由提供用于執(zhí)行機(jī)器指令的計(jì)算機(jī)程序產(chǎn)品來(lái)克服現(xiàn)有技術(shù)的缺點(diǎn)并提供優(yōu)勢(shì)。該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其可由處理電路讀取且存儲(chǔ)用于由該處理電路執(zhí)行以用于執(zhí)行方法的指令。該方法包括(例如):由處理器獲得用于執(zhí)行的機(jī)器指令,該機(jī)器指令根據(jù)計(jì)算機(jī)架構(gòu)定義以用于計(jì)算機(jī)執(zhí)行,該機(jī)器指令包含:至少一個(gè)操作碼字段,其提供操作碼,該操作碼識(shí)別“對(duì)塊邊界載入計(jì)數(shù)”操作;寄存器字段,其用以指明寄存器,該寄存器包含第一操作數(shù);以及用于指示第二操作數(shù)的位置的至少一個(gè)字段,該第二操作數(shù)至少包括主存儲(chǔ)器的塊的一部分;以及執(zhí)行該機(jī)器指令,該執(zhí)行包含:確定從第二操作數(shù)的位置到主存儲(chǔ)器的塊的邊界的距離;以及將表示該距離的值放置在第一操作數(shù)中。本文中也描述和主張關(guān)于本發(fā)明的一個(gè)或多個(gè)方面的方法和系統(tǒng)。另外,本文中也描述且可主張關(guān)于本發(fā)明的一個(gè)或多個(gè)方面的服務(wù)。經(jīng)由本發(fā)明的技術(shù)實(shí)現(xiàn)額外特征和優(yōu)勢(shì)。本發(fā)明的其他實(shí)施例和方面在本文中得以詳細(xì)描述且被視為所主張的本發(fā)明的一部分。附圖說(shuō)明現(xiàn)在將參考附圖僅通過(guò)示例方式描述本發(fā)明的實(shí)施例,在附圖中:圖1描繪并入且使用本發(fā)明的一個(gè)或者多個(gè)方面的計(jì)算環(huán)境的實(shí)例;圖2A描繪并入且使用本發(fā)明的一個(gè)或者多個(gè)方面的計(jì)算環(huán)境的另一實(shí)例;圖2B描繪根據(jù)本發(fā)明的一個(gè)方面的圖2A的存儲(chǔ)器的進(jìn)一步細(xì)節(jié);圖3描繪根據(jù)本發(fā)明的一個(gè)方面的“對(duì)塊邊界載入計(jì)數(shù)”指令的格式的一個(gè)實(shí)施例;圖4描繪根據(jù)本發(fā)明的一個(gè)方面的與“對(duì)塊邊界載入計(jì)數(shù)”指令相關(guān)聯(lián)的邏輯;圖5A描繪根據(jù)本發(fā)明的一個(gè)方面的對(duì)于其提供計(jì)數(shù)的存儲(chǔ)器塊的至少一部分的一個(gè)實(shí)例;圖5B描繪根據(jù)本發(fā)明的一個(gè)方面的包括計(jì)數(shù)的通用寄存器的一個(gè)實(shí)例;圖6描繪根據(jù)本發(fā)明的一個(gè)方面的寄存器文件的一個(gè)實(shí)施例;圖7描繪并入本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算機(jī)程序產(chǎn)品的實(shí)施例;圖8描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的主機(jī)計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例;圖9描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的計(jì)算機(jī)系統(tǒng)的另一實(shí)例;圖10描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的包含計(jì)算機(jī)網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)的另一實(shí)例;圖11描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的計(jì)算機(jī)系統(tǒng)的各種元件的一個(gè)實(shí)施例;圖12A描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的圖11的計(jì)算機(jī)系統(tǒng)的執(zhí)行單元的一個(gè)實(shí)施例;圖12B描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的圖11的計(jì)算機(jī)系統(tǒng)的分支單元的一個(gè)實(shí)施例;圖12C描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的圖11的計(jì)算機(jī)系統(tǒng)的載入/存儲(chǔ)單元的一個(gè)實(shí)施例;以及圖13描繪并入且使用本發(fā)明一個(gè)或多個(gè)方面的仿真主機(jī)計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例。具體實(shí)施方式根據(jù)本發(fā)明的一個(gè)方面,提供用于確定從指定位置(例如,存儲(chǔ)器地址)到指定存儲(chǔ)器邊界的距離的能力。存儲(chǔ)器邊界例如是主存儲(chǔ)器(也稱為主儲(chǔ)存器)的塊的末尾。主存儲(chǔ)器的塊是指定大小的存儲(chǔ)器的任何塊。指定大小也稱為塊的邊界。主存儲(chǔ)器的塊包括諸如字符數(shù)據(jù)、整數(shù)數(shù)據(jù)或者任何其他類型的數(shù)據(jù)之類的數(shù)據(jù)。字符數(shù)據(jù)包括(但不限于)任何語(yǔ)言中的字母字符;數(shù)字;標(biāo)點(diǎn)符號(hào);和/或其他符號(hào)。字符數(shù)據(jù)可為或可不為數(shù)據(jù)的串。標(biāo)準(zhǔn)與字符數(shù)據(jù)相關(guān)聯(lián),標(biāo)準(zhǔn)的實(shí)例包括(但不限于):ASCII(美國(guó)信息交換標(biāo)準(zhǔn)碼);Unicode,包括(但不限于)UTF(Unicode變換格式)8;UTF16;等。在一個(gè)具體實(shí)例中,提供“對(duì)塊邊界載入計(jì)數(shù)”(LCBB)指令,其提供從存儲(chǔ)器中的指定地址到指定存儲(chǔ)器邊界的數(shù)據(jù)的字節(jié)的數(shù)目。在計(jì)算字節(jié)的數(shù)目(本文稱為計(jì)數(shù))時(shí),使用邊界大小??梢酝ㄟ^(guò)該指令(例如,指令文本中的可變值、以操作碼編碼的固定指令文本值、指令中指定的基于寄存器的邊界等)明確指定邊界大??;或者可以通過(guò)機(jī)器動(dòng)態(tài)確定邊界大小。例如,該指令指定邊界(諸如頁(yè)或者高速緩沖存儲(chǔ)器邊界)的類型,并且該機(jī)器要么通過(guò)預(yù)指定值要么動(dòng)態(tài)基于信息(例如,例如在翻譯后備緩沖器中用以確定頁(yè)大小的查找),確定高速緩沖存儲(chǔ)器線或者頁(yè)大小。作為一個(gè)實(shí)例,“對(duì)塊邊界載入計(jì)數(shù)”指令提供可以從或者已經(jīng)從存儲(chǔ)器載入至例如寄存器而沒(méi)有跨越存儲(chǔ)器的指定邊界的數(shù)據(jù)的字節(jié)的數(shù)目。存儲(chǔ)器可以是向量寄存器或者任何其他類型的寄存器。向量寄存器(也被稱作向量)包括一個(gè)或多個(gè)元素,且作為實(shí)例,向量寄存器(也稱為向量)的每個(gè)元素的長(zhǎng)度為一個(gè)、兩個(gè)或四個(gè)字節(jié)。另外,向量操作數(shù)(例如)為具有多個(gè)元素的SIMD(單指令多數(shù)據(jù))操作數(shù)。在其他實(shí)施例中,元素可以是其他大小的;且向量操作數(shù)不需要為SIMD,和/或可包括一個(gè)元素。參看圖1描述并入且使用本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算環(huán)境的一個(gè)實(shí)施例。計(jì)算環(huán)境100包括(例如)經(jīng)由(例如)一個(gè)或多個(gè)總線108和/或其他連接耦接至彼此的處理器102(例如,中央處理單元)、存儲(chǔ)器104(例如,主存儲(chǔ)器)和或多個(gè)輸入/輸出(I/O)器件和/或接口106。在一個(gè)實(shí)例中,處理器102基于由InternationalBusinessMachinesCorporation供應(yīng)的z/Architecture,且為服務(wù)器的一部分,諸如也由InternationalBusinessMachinesCorporation供應(yīng)且實(shí)施z/Architecture的Systemz服務(wù)器。z/Architecture的一個(gè)實(shí)施例描述于題為“z/ArchitecturePrinciplesofOperation”的公開(kāi)號(hào)(SA22-7832-08號(hào),第九版,2010年8月)中,該公開(kāi)號(hào)在此以其全文引用的方式并入本文中。在一個(gè)實(shí)例中,該處理器執(zhí)行操作系統(tǒng),諸如,也由InternationalBusinessMachinesCorporation供應(yīng)的z/OS。Z/和Z/為InternationalBusinessMachinesCorporation(Armonk,NewYork,USA)的注冊(cè)商標(biāo)。本文中使用的其他名稱可為InternationalBusinessMachinesCorporation或其他公司的注冊(cè)商標(biāo)、商標(biāo)或產(chǎn)品名稱。在另一實(shí)施例中,處理器102基于由InternationalBusinessMachinesCorporation供應(yīng)的Power架構(gòu)。Power架構(gòu)的一個(gè)實(shí)施例描述于“PowerISATM第2.06版修訂B”(InternationalBusinessMachinesCorporation,2010年7月23日)中,該文件在此以其全文引用的方式并入本文中。POWER為InternationalBusinessMachinesCorporation的注冊(cè)商標(biāo)。在另一實(shí)施例中,處理器102基于由IntelCorporation供應(yīng)的Intel架構(gòu)。Intel架構(gòu)的一個(gè)實(shí)施例描述于“64andIA-32ArchitecturesDeveloper'sManual:第2B卷,InstructionsSetReference,A-L”(序號(hào)253666-041US,2011年12月)和“64andIA-32ArchitecturesDeveloper'sManual:第2B卷,InstructionsSetReference,M-Z”(序號(hào)253667-041US,2011年12月)中,這些文件中的每一個(gè)在此以其全文引用的方式并入本文中。為IntelCorporation(SantaClara,California)的注冊(cè)商標(biāo)。參看圖2A描述并入且使用本發(fā)明的一個(gè)或多個(gè)實(shí)施例的計(jì)算環(huán)境的另一實(shí)施例。在此實(shí)例中,計(jì)算環(huán)境200包括(例如)經(jīng)由(例如)一個(gè)或多個(gè)總線208和/或其他連接耦接至彼此的本地中央處理單元202、存儲(chǔ)器204和一個(gè)或多個(gè)輸入/輸出器件和/或接口206。作為實(shí)例,計(jì)算環(huán)境200可包括:由InternationalBusinessMachinesCorporation(Armonk,NewYork)供應(yīng)的PowerPC處理器、pSeries服務(wù)器或xSeries服務(wù)器;由HewlettPackardCo.(PaloAlto,California)供應(yīng)的具有IntelItaniumII處理器的HPSuperdome;和/或基于由InternationalBusinessMachinesCorporation、HewlettPackard、Intel、Oracle或其他供應(yīng)的架構(gòu)的其他機(jī)器。本地中央處理單元202包括在該環(huán)境內(nèi)的處理期間使用的一個(gè)或多個(gè)本地寄存器210,諸如,一個(gè)或多個(gè)通用寄存器和/或一個(gè)或多個(gè)專用寄存器。這些寄存器包括表示在任何特定時(shí)間點(diǎn)的環(huán)境狀態(tài)的信息。此外,本地中央處理單元202執(zhí)行存儲(chǔ)于存儲(chǔ)器204中的指令和程序代碼。在一個(gè)特定實(shí)例中,中央處理單元執(zhí)行存儲(chǔ)于存儲(chǔ)器204中的仿真器代碼212。此代碼使得以一個(gè)架構(gòu)中配置的處理環(huán)境能夠仿真另一架構(gòu)。舉例而言,仿真器代碼212允許基于不同于z/Architecture的架構(gòu)的機(jī)器(諸如,PowerPC處理器、pSeries服務(wù)器、xSeries服務(wù)器、HPSuperdome服務(wù)器或其他)仿真z/Architecture和執(zhí)行基于z/Architecture開(kāi)發(fā)的軟件和指令。參看圖2B描述關(guān)于仿真器代碼212的進(jìn)一步細(xì)節(jié)??蛻糁噶?50包含經(jīng)開(kāi)發(fā)以欲于不同于本地CPU202的架構(gòu)的架構(gòu)中執(zhí)行的軟件指令(例如,機(jī)器指令)。舉例而言,客戶指令250可能已經(jīng)設(shè)計(jì)以在z/Architecture處理器102上執(zhí)行,但相反,正在本地CPU202(其可為(例如)IntelItaniumII處理器)上仿真客戶指令250。在一個(gè)實(shí)例中,仿真器代碼212包括指令取得單元252以自存儲(chǔ)器204獲得一個(gè)或多個(gè)客戶指令250,并且可選地提供用于所獲得的指令的本地緩沖。仿真器代碼212也包括指令翻譯例程254以確定已獲得的客戶指令的類型且將客戶指令翻譯成一個(gè)或多個(gè)對(duì)應(yīng)本地指令256。此翻譯包括(例如)識(shí)別要由客戶指令執(zhí)行的功能并選擇(多個(gè))本地指令以執(zhí)行該功能。另外,仿真器212包括仿真控制例程260以使得執(zhí)行本地指令。仿真控制例程260可使得本地CPU202執(zhí)行仿真一個(gè)或多個(gè)先前所獲得的客戶指令的本地指令的例程,并且,在這種執(zhí)行完成時(shí),將控制返回至指令取得例程以仿真下一個(gè)客戶指令或群客戶指令的獲得。本地指令256的執(zhí)行可包括將數(shù)據(jù)自存儲(chǔ)器204載入至寄存器中;將數(shù)據(jù)自寄存器存儲(chǔ)回至存儲(chǔ)器;或執(zhí)行某類型的算術(shù)或邏輯運(yùn)算(如由翻譯例程確定那樣)。每個(gè)例程(例如)以軟件來(lái)實(shí)施,該軟件存儲(chǔ)于存儲(chǔ)器中且由本地中央處理單元202來(lái)執(zhí)行。在其他實(shí)例中,例程或運(yùn)算中的一個(gè)或多個(gè)以固件、硬件、軟件或其某組合來(lái)實(shí)施??墒褂帽镜谻PU的寄存器210或通過(guò)使用存儲(chǔ)器204中的位置仿真仿真處理器的寄存器。在實(shí)施例中,客戶指令250、本地指令256和仿真器代碼212可常駐于相同存儲(chǔ)器中或可在不同存儲(chǔ)器器件間分配。如本文中所使用,固件包括(例如)處理器的微碼、毫碼和/或宏碼。固件包括(例如)在高級(jí)機(jī)器碼的實(shí)施中使用的硬件級(jí)指令和/或數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,固件包括(例如)通常作為微碼遞送的專屬碼,該微碼包括受信任軟件或基礎(chǔ)硬件所特有的微碼且控制操作系統(tǒng)對(duì)系統(tǒng)硬件的存取。在一個(gè)實(shí)例中,所獲得的、經(jīng)翻譯并經(jīng)執(zhí)行的客戶指令250為本文中所描述的指令。自存儲(chǔ)器取得是一個(gè)架構(gòu)(例如,z/Architecture)的指令,將該指令翻譯且表示為另一架構(gòu)(例如,PowerPC、pSeries、xSeries、Intel等)的本地指令256的序列。然后執(zhí)行這些本地指令。如本文中所描述,可將“對(duì)塊邊界載入計(jì)數(shù)”指令實(shí)施為包括(但不限于)z/Architecture、Power、Intel等的各種架構(gòu)的一部分。盡管本文中所描述的實(shí)施例針對(duì)z/Architecture,但指令和本發(fā)明的一個(gè)或多個(gè)實(shí)施例可基于許多其他架構(gòu)。z/Architecture僅為實(shí)例。在圖3中描繪“對(duì)塊邊界載入計(jì)數(shù)”指令的一個(gè)實(shí)施例。在一個(gè)實(shí)例中,“對(duì)塊邊界載入計(jì)數(shù)”指令300包括:操作碼字段302a(例如,位0至7)、302b(例如,位40至47),其指示“對(duì)塊邊界載入計(jì)數(shù)”操作;寄存器字段304(例如,位8至11),其用以指明通用寄存器(R1);索引字段(X2)306(例如,位12至15);基本字段(B2)308(例如,位16至19);位移(displacement)字段(D2)310(例如,位20至31);和掩碼字段(M3)312(例如,位32至35)。在一個(gè)實(shí)例中,字段304至312中的每一個(gè)分開(kāi)且獨(dú)立于(多個(gè))操作碼字段。另外,在一個(gè)實(shí)施例中,這些字段分開(kāi)且獨(dú)立于彼此;然而,在其他實(shí)施例中,可組合一個(gè)以上字段。下文描述關(guān)于這些字段的使用的其他信息。在一個(gè)實(shí)例中,由操作碼字段302a指明的操作碼的選定位(例如,前兩個(gè)位)指定指令的長(zhǎng)度和格式。在此特定實(shí)例中,長(zhǎng)度為三個(gè)半字,且格式為具有擴(kuò)展操作碼字段的“寄存器和索引儲(chǔ)存器運(yùn)算”。與指令的字段相關(guān)聯(lián)的下標(biāo)編號(hào)表示該字段適用的操作數(shù)。舉例而言,與R1相關(guān)聯(lián)的下標(biāo)編號(hào)1表示第一操作數(shù),等等。寄存器操作數(shù)的長(zhǎng)度為一個(gè)寄存器,其為(例如)128個(gè)位。在一個(gè)實(shí)例中,在“寄存器和索引儲(chǔ)存器運(yùn)算”指令中,將由X2和B2字段指明的通用寄存器的內(nèi)容添加至D2字段的內(nèi)容以形成第二操作數(shù)地址。在一個(gè)實(shí)例中,將針對(duì)“對(duì)塊邊界載入計(jì)數(shù)”指令的位移D2作為12-位無(wú)符號(hào)整數(shù)對(duì)待。第二操作數(shù)地址用以指示主存儲(chǔ)器中的位置;然而,在該實(shí)施例中不用于尋址數(shù)據(jù)。在一個(gè)實(shí)施例中,M3字段指定用以用信號(hào)向CPU通知關(guān)于塊邊界大小,以計(jì)算在不跨越寄存器邊界的情況下載入的可能字節(jié)的數(shù)目。若指定保留值,則看作為指定例外。實(shí)例碼和對(duì)應(yīng)值如下:在另一實(shí)例中,邊界大小不包括在該指令中,而相反,該邊界大小由執(zhí)行該指令的處理器動(dòng)態(tài)確定。例如,M3字段指定邊界的類型(例如,高速緩沖存儲(chǔ)器線、頁(yè)等),并且基于該類型和處理器的一個(gè)或者多個(gè)特性(例如,處理器的高速緩沖存儲(chǔ)器線大小、處理器的頁(yè)大小等),處理器確定該邊界。作為實(shí)例,基于該類型,處理器使用邊界的固定大小(例如,處理器的預(yù)定義固定高速緩沖存儲(chǔ)器線或者頁(yè)大小),或者基于該類型,處理器確定邊界。例如,如果該類型是頁(yè)邊界,則處理器在翻譯后備緩沖器(TLB)中查找開(kāi)始地址,并且從其確定頁(yè)邊界。也存在其他實(shí)例。例如,可以由指令的另一字段或者依據(jù)指令的外部的控制提供該類型。在“對(duì)塊邊界載入計(jì)數(shù)”指令的一個(gè)實(shí)施例的執(zhí)行中,在第一操作數(shù)中指定的通用寄存器中放置含有可能自第二操作數(shù)位置載入而不跨越指定塊邊界(例如覆蓋于要載入的向量寄存器大小(例如,16)處)的字節(jié)的數(shù)目的無(wú)符號(hào)的二進(jìn)制整數(shù)(例如,64位)。由于在指令的執(zhí)行,可選條件碼設(shè)定諸如例如:0操作數(shù)一是十六123操作數(shù)一小于十六在上述實(shí)例指令中,開(kāi)始地址通過(guò)索引寄存器值(X2)+基寄存器值(B2)+位移(D2)來(lái)確定;然而,在其他實(shí)施例中,通過(guò)以下來(lái)提供開(kāi)始地址:寄存器值;指令地址+指令文本指定偏移(offset);寄存器值+位移;或寄存器值+索引寄存器值;(僅作為一些實(shí)例)。參看圖4描述處理“對(duì)塊邊界載入計(jì)數(shù)”指令的一個(gè)實(shí)施例的進(jìn)一步細(xì)節(jié)。在一個(gè)實(shí)例中,計(jì)算環(huán)境的處理器正執(zhí)行此邏輯。在一個(gè)實(shí)施例中,最初,建立邊界掩碼(BdyMask),其用以確定與指定邊界的靠近性(步驟400)。為了建立該掩碼,在一個(gè)實(shí)例中,采用邊界大小(BdySize)(402)的2的補(bǔ)數(shù)否定數(shù)(complementnegation),建立邊界掩碼404(例如,BdyMask=0-BdySize)。在一個(gè)實(shí)例中,通過(guò)指令(例如,M3字段)提供邊界大?。换蛟诹硪粚?shí)例中,由機(jī)器確定邊界大小,如本文中所描述。此后,計(jì)算開(kāi)始地址,其指示從其計(jì)數(shù)將開(kāi)始的存儲(chǔ)器中的位置(步驟410)。作為實(shí)例,可通過(guò)以下數(shù)據(jù)來(lái)提供開(kāi)始地址412:寄存器值;指令地址加上指令文本指定偏移;寄存器值加上位移;寄存器值加上索引寄存器值;或寄存器值加上索引寄存器值加上位移。在本文中提供的指令中,由X2字段、B2字段和D2字段來(lái)提供開(kāi)始地址。即,將通過(guò)X2和B2指明的寄存器的內(nèi)容添加至通過(guò)D2指示的位移以提供開(kāi)始地址。計(jì)算開(kāi)始地址的上文所指示的方式僅為實(shí)例;其他實(shí)例也可能。接下來(lái),計(jì)算結(jié)束地址,其指示停止計(jì)數(shù)的位置(步驟420)。此計(jì)算的輸入(例如)為邊界大小402、開(kāi)始地址412、向量大小414(vec_size)414和邊界掩碼404。向量大小是選定向量寄存器或者其他寄存器的大小(例如,以字節(jié);例如,16)。寄存器例如是其中可以載入數(shù)據(jù)的寄存器。在一個(gè)實(shí)例中,如下計(jì)算結(jié)束地址422:EndAddress=min(StartAddress+(BdySize-(StartAddress&BdyMask)),StartAddress+vec_size)。此后,計(jì)算計(jì)數(shù)(步驟40)。例如,count=EndAddress422-StartAddress412。在另一實(shí)例中,可以依據(jù)開(kāi)始地址而不是用結(jié)束地址計(jì)算該計(jì)數(shù)。在該實(shí)例中,count=min(16,BdySize-(StartAddressANDBdyMask)),其中,16是字節(jié)的向量寄存器(或者其他寄存器)的大小。在其他實(shí)例中,可以使用其他寄存器大小。在圖5A中描繪存儲(chǔ)器塊500的至少一部分的一個(gè)實(shí)例。存儲(chǔ)器塊500包括從選定地址502到指定邊界504的數(shù)據(jù)。如所指示,無(wú)數(shù)據(jù)經(jīng)過(guò)由虛垂直線504指明的邊界計(jì)數(shù)或者載入。經(jīng)過(guò)邊界的位置不可存取且沒(méi)有例外發(fā)生。另外,根據(jù)本發(fā)明的一個(gè)方面確定的從選定地址到指定邊界的距離的計(jì)數(shù)存儲(chǔ)在通用寄存器510中,其示例在圖5B中描繪。如所示,在該實(shí)例中,計(jì)數(shù)是13十六進(jìn)制,因此0D存儲(chǔ)在通用寄存器510中,以指示數(shù)據(jù)的13個(gè)字節(jié)已經(jīng)被計(jì)數(shù)并且可以存儲(chǔ)在向量寄存器中。上面描述用于確定從指定地址到指定邊界的距離的計(jì)數(shù)指令。如果指定地址在邊界附近,可以提供警報(bào),由此可能需要特殊處理。作為一個(gè)實(shí)例,“對(duì)塊邊界載入計(jì)數(shù)”指令用于確定有多少個(gè)數(shù)據(jù)的字節(jié)被載入至寄存器,諸如向量寄存器。然后該計(jì)數(shù)可以用在其他處理中。在一個(gè)實(shí)施例中,被載入并且對(duì)于其獲取計(jì)數(shù)的寄存器是作為向量工具的一部分的向量寄存器。該向量工具例如提供范圍從一個(gè)到十六個(gè)元素的固定大小的向量。每個(gè)向量包括由該工具中定義的向量指令在其上操作的數(shù)據(jù)。在一個(gè)實(shí)施例中,如果向量由多個(gè)元素組成,則每個(gè)元素與其他元素并行處理。直至所有元素的處理完成,不出現(xiàn)指令完成。作為一個(gè)實(shí)例,存在32個(gè)向量寄存器,且其他類型的寄存器可映射至該向量寄存器的象限。舉例而言,如圖6中所展示,若存在包括32個(gè)向量寄存器602的寄存器文件600且每寄存器的長(zhǎng)度為128個(gè)位,則長(zhǎng)度為64個(gè)位的16個(gè)浮點(diǎn)寄存器604可重疊這些向量寄存器。因此,作為實(shí)例,當(dāng)修改浮點(diǎn)寄存器2時(shí),然后也修改向量寄存器2。用于其他類型的寄存器的其他映射也可能。本文中,除非另有明確注釋或由上下文注釋,否則可互換地使用存儲(chǔ)器、主存儲(chǔ)器、儲(chǔ)存器與主儲(chǔ)存器。作為下文進(jìn)一步描述的此實(shí)施方式的一部分提供關(guān)于向量工具的額外細(xì)節(jié)(包括其他指令的實(shí)例)。如本領(lǐng)域技術(shù)人員將了解,本發(fā)明的一個(gè)或多個(gè)實(shí)施例可體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的一個(gè)或多個(gè)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、常駐軟件、微碼等)或組合軟件與硬件實(shí)施例的實(shí)施例的形式,這些實(shí)施例在本文中大體上皆可被稱作“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的一個(gè)或多個(gè)實(shí)施例可采用體現(xiàn)于一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)(其具有體現(xiàn)于其上的計(jì)算機(jī)可讀程序代碼)中的計(jì)算機(jī)程序產(chǎn)品的形式。可利用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。舉例而言,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可為(但不限于)電子、磁性、光學(xué)、電磁、紅外線或半導(dǎo)體系統(tǒng)、裝置或器件或前述中的任何合適組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更特定實(shí)例(非詳盡清單)包括以下:具有一個(gè)或多個(gè)電線的電連接、便攜型計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPROM或快閃存儲(chǔ)器)、光纖、便攜型光盤-只讀存儲(chǔ)器(CD-ROM)、光學(xué)存儲(chǔ)器件、磁性存儲(chǔ)器件或前述的任何合適組合。在此文件的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可為可含有或存儲(chǔ)供指令執(zhí)行系統(tǒng)、裝置或器件使用或結(jié)合指令執(zhí)行系統(tǒng)、裝置或器件而使用的程序的任何有形介質(zhì)。現(xiàn)參看圖7,在一個(gè)實(shí)例中,計(jì)算機(jī)程序產(chǎn)品700包括(例如)一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)702以在其上存儲(chǔ)計(jì)算機(jī)可讀程序代碼構(gòu)件或邏輯704,以提供和促進(jìn)本發(fā)明的一個(gè)或多個(gè)實(shí)施例??墒褂眠m當(dāng)介質(zhì)(包括(但不限于)無(wú)線、有線、光纖纜線、RF等或前述的任何合適組合)傳輸體現(xiàn)于計(jì)算機(jī)可讀介質(zhì)上的程序代碼??梢砸粋€(gè)或多個(gè)程序設(shè)計(jì)語(yǔ)言的任何組合來(lái)編寫用于進(jìn)行本發(fā)明的一個(gè)或多個(gè)方面的操作的計(jì)算機(jī)程序代碼,該一個(gè)或多個(gè)程序設(shè)計(jì)語(yǔ)言包括諸如Java、Smalltalk、C++等的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,和諸如“C”程序設(shè)計(jì)語(yǔ)言、組譯器或類似程序設(shè)計(jì)語(yǔ)言的常規(guī)程序性程序設(shè)計(jì)語(yǔ)言。程序代碼可完全在用戶的計(jì)算機(jī)上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為獨(dú)立軟件包而執(zhí)行、部分地在用戶的計(jì)算機(jī)上且部分地在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行,或完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后者情形下,遠(yuǎn)程計(jì)算機(jī)可經(jīng)由任一類型的網(wǎng)絡(luò)連接至用戶的計(jì)算機(jī),該任一類型的網(wǎng)絡(luò)包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),或可進(jìn)行至外部計(jì)算機(jī)的連接(例如,使用因特網(wǎng)服務(wù)提供者經(jīng)由因特網(wǎng))。本文中參考根據(jù)本發(fā)明的實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖說(shuō)明和/或方塊圖描述本發(fā)明的一個(gè)或多個(gè)方面。應(yīng)理解,可由計(jì)算機(jī)程序指令來(lái)實(shí)施流程圖說(shuō)明和/或方塊圖的每個(gè)塊和這些流程圖說(shuō)明和/或方塊圖中的塊的組合。可將這些計(jì)算機(jī)程序指令提供至通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生機(jī)器,以使得經(jīng)由該計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令產(chǎn)生用于實(shí)施流程圖和/或方塊圖塊中所指定的功能/動(dòng)作的構(gòu)件。這些計(jì)算機(jī)程序指令也可存儲(chǔ)于計(jì)算機(jī)可讀介質(zhì)中,該計(jì)算機(jī)可讀介質(zhì)可指導(dǎo)計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他器件以特定方式起作用,使得存儲(chǔ)于該計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生制造物件,其包括實(shí)施流程圖和/或方塊圖方塊中所指定的功能/動(dòng)作的指令。也可將這些計(jì)算機(jī)程序指令載入至計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他器件上以使得在該計(jì)算機(jī)、其他可編程裝置或其他器件上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)施的處理程序,使得在該計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實(shí)施流程圖和/或方塊圖塊中所指定的功能/動(dòng)作的處理程序。這些圖中的流程圖和方塊圖說(shuō)明根據(jù)本發(fā)明的一個(gè)或多個(gè)方面的各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)施的架構(gòu)、功能性和操作。就此而言,流程圖或方塊圖中的每個(gè)塊可表示模塊、區(qū)段或代碼的一部分,其包含用于實(shí)施(多個(gè))指定邏輯功能的一個(gè)或多個(gè)可執(zhí)行指令。也應(yīng)注意,在一些替代實(shí)施中,塊中所注釋的功能可能不以諸圖中所注釋的次序發(fā)生。舉例而言,取決于所涉及的功能性,...
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
罗田县| 昆明市| 黔江区| 万宁市| 雅江县| 泌阳县| 平泉县| 来凤县| 建瓯市| 郯城县| 伽师县| 乐清市| 永宁县| 衡阳县| 会宁县| 奉新县| 宝兴县| 仁寿县| 南郑县| 麟游县| 旬阳县| 铜川市| 黄石市| 巩义市| 商河县| 江川县| 宝丰县| 大厂| 醴陵市| 石棉县| 曲沃县| 尉氏县| 崇仁县| 桓台县| 滁州市| 南通市| 徐州市| 新蔡县| 津南区| 堆龙德庆县| 遂宁市|