两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

預(yù)加載指令控制的制作方法

文檔序號:6422866閱讀:190來源:國知局

專利名稱::預(yù)加載指令控制的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域。更具體地說,本發(fā)明涉及支持用于觸發(fā)預(yù)加載操作以準(zhǔn)備隨后存儲器訪問的預(yù)加載指令的數(shù)據(jù)處理系統(tǒng)。
背景技術(shù)
:提供支持預(yù)加載指令的數(shù)據(jù)處理系統(tǒng)是已知的。這種預(yù)加載指令指定要經(jīng)受預(yù)加載操作的存儲器地址以準(zhǔn)備隨后存儲器訪問那個存儲器地址。在那個存儲器地址的數(shù)據(jù)至少有可能在后面訪問,并從而,準(zhǔn)備那個隨后訪問的預(yù)加載操作可加速后面的訪問。然而,預(yù)加載操作消耗能量來執(zhí)行,并且在一些情形下可能減慢它想要執(zhí)行的其它數(shù)據(jù)處理操作,例如,觸發(fā)提取的預(yù)加載操作可以以立即需要其所提取的數(shù)據(jù)值的后面加載操作的方式獲得??蓽p少能耗并改進執(zhí)行效率的措施是有利的。
發(fā)明內(nèi)容從一個方面來看,本發(fā)明提供了一種用于處理數(shù)據(jù)的設(shè)備,所述設(shè)備包括處理電路,配置成響應(yīng)于程序指令來執(zhí)行數(shù)據(jù)處理操作;指令解碼器電路,耦合到所述處理電路,并響應(yīng)于所述程序指令而生成用于控制所述處理電路以執(zhí)行所述數(shù)據(jù)處理操作的控制信號;其中所述指令解碼器響應(yīng)于預(yù)加載指令——所述預(yù)加載指令指定經(jīng)受預(yù)加載操作的存儲器地址位置以準(zhǔn)備隨后存儲器訪問所述存儲器地址——以將所述存儲器地址與空值相比較,并且(i)如果所述存儲器地址不匹配所述空值,則生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的控制信號;以及()如果所述存儲器地址確實匹配所述空值,則不生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的所述控制信號。本技術(shù)認(rèn)識到,對于某些存儲器地址,當(dāng)執(zhí)行尋求預(yù)加載那個存儲器地址的預(yù)加載指令時可能希望抑制預(yù)加載操作。作為一個示例,可能已知的是,某些存儲器地址對應(yīng)于將不被執(zhí)行并且實際上不需要的數(shù)據(jù)訪問。從而,尋求預(yù)加載對應(yīng)于那些存儲器地址的數(shù)據(jù)值的預(yù)加載指令將導(dǎo)致能量浪費,并且可能阻礙其它更有用指令被執(zhí)行。這些存儲器地址可視為空值,并且指令解碼器可將接收的預(yù)加載指令的存儲器地址與這些空值相比較以確定實際上是否要執(zhí)行預(yù)加載操作。如果存儲器地址匹配空值,則不會執(zhí)行預(yù)加載操作。這節(jié)省了能量并提高了效率。將認(rèn)識到,預(yù)加載操作可采取大量不同的形式。在一些系統(tǒng)中,轉(zhuǎn)換后備緩沖器電路存儲指定虛擬地址與物理地址之間轉(zhuǎn)換的地址映射數(shù)據(jù)。如果存儲器地址的地址映射數(shù)據(jù)還未存儲在轉(zhuǎn)換后備緩沖器內(nèi),則預(yù)加載操作在此上下文中可以觸發(fā)該存儲器地址的地址映射數(shù)據(jù)到轉(zhuǎn)換后備緩沖器的加載。由此,當(dāng)需要實際加載操作時,地址轉(zhuǎn)換數(shù)據(jù)將已經(jīng)存在于轉(zhuǎn)換后備緩沖器中,并從而,可以更快速地進行加載操作。將轉(zhuǎn)換數(shù)據(jù)加載到轉(zhuǎn)換后備緩沖器中可以使用頁表遍歷(pagetablewalk)操作。這種頁表遍歷是存儲存儲器地址轉(zhuǎn)換數(shù)據(jù)的高效方式,但是遭受比較慢的缺點。從而,當(dāng)執(zhí)行對存儲器地址的實際訪問操作時,用于使用頁表遍歷操作觸發(fā)存儲那個存儲器地址的轉(zhuǎn)換數(shù)據(jù)的、對那個存儲器地址的預(yù)加載指令將節(jié)省比較大量的時間。在其它實施例中,可以提供高速緩沖存儲器,并且預(yù)加載操作可以將數(shù)據(jù)從存儲器地址加載到高速緩沖存儲器。當(dāng)需要訪問存儲器地址時,這個加載的數(shù)據(jù)然后將更快地可用。空值可以設(shè)置成固定值,諸如0。0存儲器地址正常對應(yīng)于被常規(guī)設(shè)置成許多操作系統(tǒng)不可訪問的存儲器地址空間中的最低頁,作為俘獲錯誤操作的方式。為0的存儲器地址指針值也是指明數(shù)據(jù)訪問的鏈接列表序列的結(jié)尾的通用方式,其中最后的數(shù)據(jù)塊具有指向填充有0空值的下一數(shù)據(jù)塊的指針以指示它是最后一個數(shù)據(jù)塊??罩狄部梢允侵捣秶械娜我恢?,例如存儲器地址范圍內(nèi)的任何存儲器地址都將被視為匹配空值。還有可能,空值可以是在軟件或硬件控制下設(shè)置成對用戶或系統(tǒng)已知的值的可編程值,這指示實際上不需要預(yù)加載操作。例如,如果將另一個預(yù)定值用作指示鏈接列表數(shù)據(jù)結(jié)構(gòu)內(nèi)的最后一個數(shù)據(jù)塊,則可以使用這個技術(shù)??罩悼梢栽谟布刂葡掠膳渲贸蓹z測不經(jīng)受預(yù)加載操作的存儲器地址的檢測電路編程。這種存儲器地址例如可以由返回存儲器地址是不可訪問的結(jié)果的之前的存儲器訪問標(biāo)識。預(yù)加載不可訪問存儲器地址的隨后嘗試是無用的,并從而,可以抑制這種預(yù)加載操作。從另一個方面來看,本發(fā)明提供了一種用于處理數(shù)據(jù)的設(shè)備,所述設(shè)備包括處理部件,用于響應(yīng)于程序指令來執(zhí)行數(shù)據(jù)處理操作;指令解碼器部件,用于響應(yīng)于所述程序指令而生成控制信號,所述控制信號控制所述處理電路以執(zhí)行所述數(shù)據(jù)處理操作;其中所述指令解碼器部件響應(yīng)于預(yù)加載指令——所述預(yù)加載指令指定經(jīng)受預(yù)加載操作的存儲器地址位置以準(zhǔn)備隨后存儲器訪問所述存儲器地址一一以將所述存儲器地址與空值相比較,并且(i)如果所述存儲器地址不匹配所述空值,則生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的控制信號;以及()如果所述存儲器地址確實匹配所述空值,則不生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的所述控制信號。從又一個方面來看,本發(fā)明提供了一種處理數(shù)據(jù)的方法,所述方法包括如下步驟響應(yīng)于程序指令來執(zhí)行數(shù)據(jù)處理操作;解碼程序指令以生成用于控制所述數(shù)據(jù)處理操作的控制信號;其中所述解碼響應(yīng)于預(yù)加載指令——所述預(yù)加載指令指定經(jīng)受預(yù)加載操作的存儲器地址位置以準(zhǔn)備隨后存儲器訪問所述存儲器地址——以將所述存儲器地址與空值相比較,并且(i)如果所述存儲器地址不匹配所述空值,則生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的控制信號;以及()如果所述存儲器地址確實匹配所述空值,則不生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的所述控制信號。本發(fā)明的以上和其它目的、特征和優(yōu)點根據(jù)要結(jié)合附圖閱讀的例證性實施例的如下詳細(xì)描述而將顯而易見。圖1示意性例證了包含預(yù)加載指令支持的數(shù)據(jù)處理系統(tǒng);圖2是示意性例證指令解碼器解碼預(yù)加載指令的流程圖3示意性例證了轉(zhuǎn)換后備緩沖器;圖4示意性例證了通過三級頁表層級結(jié)構(gòu)的頁表遍歷;圖5是示意性例證在頁表遍歷期間遇到不可訪問頁時更新預(yù)加載指令的空值的流程圖6示意性例證了使用空值指示鏈接列表結(jié)尾的鏈接列表數(shù)據(jù)結(jié)構(gòu);以及圖7示意性例證了虛擬機實施例。具體實施例方式圖1例證了包含耦合到存儲器6的處理器4的數(shù)據(jù)處理系統(tǒng)2。處理器4包含具有各種不同形式的處理電路。包括寄存器組8、乘法器10、移位器12和加法器14的數(shù)據(jù)路徑執(zhí)行數(shù)據(jù)處理操作,諸如算術(shù)運算。加載/存儲單元16執(zhí)行訪問存儲在存儲器6內(nèi)的數(shù)據(jù)的加載和存儲操作。處理器4包含合并了轉(zhuǎn)換后備緩沖器20的存儲器管理單元18。存儲器管理單元18接收要訪問的存儲器位置的虛擬地址,并將這變換成物理地址,以及檢查相關(guān)訪問許可。轉(zhuǎn)換后備緩沖器20用于存儲將虛擬地址映射到物理地址的地址映射數(shù)據(jù)的高速緩存,以及存儲與那些物理地址相關(guān)聯(lián)的訪問參數(shù)。從存儲在存儲器6內(nèi)的頁表數(shù)據(jù)22中導(dǎo)出存儲在轉(zhuǎn)換后備緩沖器20內(nèi)的地址映射數(shù)據(jù),其定義整個存儲器地址空間的地址映射數(shù)據(jù)全集以及整個存儲器地址空間的訪問屬性。高速緩沖存儲器M將數(shù)據(jù)值存儲在處理器4內(nèi),使得它們可以比存儲在存儲器6內(nèi)的數(shù)據(jù)值被更快速地訪問。高速緩存對被物理尋址,并且從而,虛擬地址到物理地址的下游轉(zhuǎn)換由存儲器管理單元18使用轉(zhuǎn)換后備緩沖器20(或從存儲器6中檢索的頁表數(shù)據(jù))執(zhí)行。指令提取單元沈用于從存儲在存儲器6內(nèi)的程序觀中提取程序指令。這些所提取的指令被提供給指令流水線30,在此它們沿指令流水線級(例如重新排序、發(fā)出等)繼續(xù),直到它們到達程序指令被提供給指令解碼器32所處的解碼級。指令解碼器32解碼程序指令并生成控制信號,該控制信號被提供給處理器4的其它部分并用于配置和控制處理器4的那些其它部分以執(zhí)行在正在解碼的程序指令中指定的數(shù)據(jù)處理操作。程序指令可包含由加載/存儲單元16執(zhí)行的加載和存儲指令以訪問數(shù)據(jù)值,諸如存儲在存儲器6內(nèi)的媒體數(shù)據(jù)值34。程序指令可包含操控那些訪問數(shù)據(jù)值的算術(shù)指令,諸如相加、相乘等。由指令解碼器32支持的一種指令類型是預(yù)加載指令(PLD[rj。這個預(yù)加載指令用于對由保存在寄存器A內(nèi)的值指定的存儲器地址執(zhí)行預(yù)加載操作。預(yù)加載操作可以采取各種不同的形式。預(yù)加載操作可以觸發(fā)加載存儲單元16向高速緩沖存儲器M預(yù)加載包含由寄存器A中的存儲器地址指定的數(shù)據(jù)值的高速緩存行(cacheline)。如果轉(zhuǎn)換后備緩沖器20還未包含為將由寄存器&中的值指定的虛擬地址轉(zhuǎn)換成物理地址值所必需的轉(zhuǎn)換數(shù)據(jù),則預(yù)加載操作的另一種形式可以是觸發(fā)存儲器管理單元18執(zhí)行通過頁表數(shù)據(jù)22的頁表遍歷。頁表遍歷操作比較慢,并且從而,觸發(fā)存儲器管理單元18在實際需要的該數(shù)據(jù)值之前執(zhí)行這個頁表遍歷確保了轉(zhuǎn)換數(shù)據(jù)在轉(zhuǎn)換后備緩沖器20中將是可用的,之后才實際需要它,由此減少了隨后訪問指令等待時間。指令解碼器32耦合到存儲所用的空值的預(yù)加載空寄存器36,當(dāng)解碼預(yù)加載指令以指示對于其不應(yīng)該執(zhí)行預(yù)加載操作的存儲器地址的空值時,該空值由指令解碼器32解釋。在這個示例實施例中,預(yù)加載空寄存器36在軟件控制下是可編程的。然而,還有可能,預(yù)加載空寄存器36可以存儲固定的預(yù)定值,諸如0,或者可以在硬件控制下設(shè)置,這將在后面描述。還有可能,空值可以是值范圍中的任一值,例如范圍內(nèi)的存儲器地址(其可以是可編程的)將被視為匹配空值。空值對應(yīng)于存儲器地址范圍的實施例在諸如如下情況中是有用的對于轉(zhuǎn)換后備緩沖器情況,將加載不僅對應(yīng)于0x1000而且對應(yīng)于接著的4kB頁的映射,由此隨后PLD[r0,#0x4]可以被丟棄而沒有性能影響(以及潛在的某種性能增益)。這對于執(zhí)行高速緩存行填充的硬件也是有用的,因為高速緩存行長度不是在體系結(jié)構(gòu)上不變的,因此代碼可以寫成使得用于隨后PLD的步伐是在其上可執(zhí)行代碼的所有芯片上存在的高速緩存行長度的最低公分母,并且由此,用更長的高速緩存行長度的實現(xiàn)可以選擇去除有效重復(fù)的PLD(命中同一高速緩存行的那些)。也可以實現(xiàn)條目超時的附加機制以便防止間隔很長時間執(zhí)行的相等預(yù)加載(使得該項目可能變成被逐出),備選是探聽逐出。圖2是示意性例證由指令解碼器32所執(zhí)行的預(yù)加載指令PLD[rJ的解碼的流程圖。在步驟38,該處理等待,直到接收到預(yù)加載指令。當(dāng)接收到預(yù)加載指令時,然后步驟40確定由存儲在寄存器A內(nèi)的值所指定的存儲器地址是否對應(yīng)于存儲在空值寄存器36內(nèi)的空值。如果存在匹配,則該處理終止。如果不存在匹配,則處理繼續(xù)到步驟42,在此執(zhí)行預(yù)加載操作。預(yù)加載操作可包括如果地址轉(zhuǎn)換數(shù)據(jù)還未存儲在轉(zhuǎn)換后備緩沖器20內(nèi)的任何必需的頁表遍歷和/或?qū)Ω咚倬彌_存儲器M的高速緩存行提取操作。圖3示意性例證了轉(zhuǎn)換后備緩沖器20。轉(zhuǎn)換后備緩沖器20存儲地址映射數(shù)據(jù),形式為具有對應(yīng)物理地址轉(zhuǎn)換和訪問屬性的虛擬地址標(biāo)簽。在使用中,虛擬地址由轉(zhuǎn)換后備緩沖器20使用,并與存儲在地址映射數(shù)據(jù)內(nèi)的所有虛擬地址標(biāo)簽進行比較(例如,轉(zhuǎn)換后備緩沖器用作內(nèi)容可尋址存儲器CAM)。如果發(fā)現(xiàn)了匹配,則從地址映射數(shù)據(jù)讀取對應(yīng)的物理轉(zhuǎn)換,連同存儲器那個區(qū)域的訪問屬性。本領(lǐng)域的技術(shù)人員將理解到,存儲器被分成的頁具有諸如4kB的大小,使得只有虛擬地址的最高有效部分需要轉(zhuǎn)換成對應(yīng)的物理地址。對應(yīng)于存儲器頁內(nèi)不同位置的地址內(nèi)的位不需要轉(zhuǎn)換。圖4示意性例證了當(dāng)轉(zhuǎn)換后備緩沖器20內(nèi)存在未命中時發(fā)生的通過頁表數(shù)據(jù)22的頁表遍歷操作。當(dāng)未命中發(fā)生時,則在轉(zhuǎn)換后備緩沖器20內(nèi)不存在所接收虛擬地址的地址映射數(shù)據(jù)。從而,虛擬地址的一部分(例如最高有效部分)首先用于編索引進第一級表44中,在此發(fā)現(xiàn)指針指向第二級表46。虛擬地址的不同部分(例如下一最高有效部分)然后用于形成到那個第二級表46內(nèi)位置的索引,從那讀取另一指針以標(biāo)識第三級表48。虛擬地址的最后一部分(但不是虛擬地址的所有其余部分)被消耗為第三級頁表內(nèi)的、存儲物理地址轉(zhuǎn)換數(shù)據(jù)以及要返回到轉(zhuǎn)換后備緩沖器20的訪問屬性的條目的索引。圖5是示意性例證存儲器管理單元18可如何響應(yīng)于訪問不可訪問頁的頁表遍歷而在硬件控制下設(shè)置空值的流程圖。在步驟50,由存儲器管理單元18處理等待,直到需要頁表遍歷。當(dāng)需要頁表遍歷時,然后步驟52執(zhí)行如圖4中所例證的頁表遍歷,并返回包含指示訪問屬性的數(shù)據(jù)的地址映射數(shù)據(jù)。步驟M根據(jù)返回的訪問屬性確定頁是否被標(biāo)記為不可訪問。如果頁未標(biāo)記為不可訪問,則步驟56向轉(zhuǎn)換后備緩沖器20返回頁表數(shù)據(jù)。如果頁被標(biāo)記為不可訪問,則步驟58用于設(shè)置預(yù)加載空寄存器36內(nèi)的空值,以對應(yīng)于正好已經(jīng)執(zhí)行頁表遍歷的頁的存儲器地址。這個頁表是不可訪問的,并從而,執(zhí)行進一步頁表遍歷到那個不可訪問頁是沒有意義的。由此,指定那個不可訪問頁內(nèi)存儲器地址的預(yù)加載指令隨后被標(biāo)識為對應(yīng)于空值,并且頁表遍歷不會作為這種存儲器地址的預(yù)加載操作的一部分觸發(fā)。圖6是示意性例證鏈接列表數(shù)據(jù)結(jié)構(gòu)的圖解。這種鏈接列表數(shù)據(jù)結(jié)構(gòu)一般用在數(shù)據(jù)處理內(nèi),并且方便用于靈活地存儲預(yù)先不知道那個數(shù)據(jù)的大小的大量數(shù)據(jù)。該數(shù)據(jù)作為要消耗的數(shù)據(jù)值存儲在固定大小的塊內(nèi),其中每個塊中的最后一個條目指向那個鏈接列表數(shù)據(jù)結(jié)構(gòu)內(nèi)的下一數(shù)據(jù)塊。由此,鏈接列表可由可變數(shù)量的塊形成,其中每個塊指向列表中的下一塊。列表中的最后一塊由在發(fā)現(xiàn)指向最后一塊的指針的位置中存在空值指示為最后一塊。為了提高處理效率,當(dāng)?shù)谝淮未蜷_數(shù)據(jù)塊時下一指針值由預(yù)加載指令使用是正常的。當(dāng)首先訪問前一塊時由此關(guān)于下一塊執(zhí)行的預(yù)加載操作給出了在那個下一數(shù)據(jù)塊實際需要為了在數(shù)據(jù)處理中消耗而存在之前要執(zhí)行的操作諸如高速緩存加載、頁表遍歷等的充足時間。然而,當(dāng)遇到最后一個數(shù)據(jù)塊時,執(zhí)行關(guān)于存儲為鏈接列表結(jié)尾的指示符的空值的預(yù)加載操作是能量和處理資源的浪費。從而,本技術(shù)允許標(biāo)識這種空值,并抑制預(yù)加載操作。圖7例證了可以使用的虛擬機實現(xiàn)。雖然較早描述的實施例在用于操作支持所關(guān)注的技術(shù)的特定處理硬件的設(shè)備和方法方面實現(xiàn)了本發(fā)明,但是還有可能提供硬件裝置的所謂虛擬機實現(xiàn)。這些虛擬機實現(xiàn)運行在主機處理器530上,該主機處理器運行支持虛擬機程序510的主機操作系統(tǒng)520。通常,需要功能強大的處理器來提供以合理速度執(zhí)行的虛擬機實現(xiàn),但是這種方法可能在某些情況下證明是好的,諸如當(dāng)出于兼容性或重用原因希望運行對于另一個處理器為本機的代碼時。虛擬機程序510提供到應(yīng)用程序500的應(yīng)用程序接口,該接口與由作為由虛擬機程序510建模的裝置的真實硬件將提供的應(yīng)用程序接口相同。由此,可以使用虛擬機程序510從應(yīng)用程序500內(nèi)執(zhí)行程序指令,包括上面描述的存儲器訪問控制,以對它們與虛擬機硬件的交互作用建模。雖然本文已經(jīng)參考附圖詳細(xì)描述了本發(fā)明的例證性實施例,但要理解到,本發(fā)明不限于那些精確實施例,并且本領(lǐng)域技術(shù)人員可實施其中的各種改變和修改而不脫離所附權(quán)利要求書所定義的本發(fā)明的范圍和精神。權(quán)利要求1.用于處理數(shù)據(jù)的設(shè)備,包括處理電路,配置成響應(yīng)于程序指令來執(zhí)行數(shù)據(jù)處理操作;指令解碼器電路,耦合到所述處理電路,并響應(yīng)于所述程序指令而生成用于控制所述處理電路以執(zhí)行所述數(shù)據(jù)處理操作的控制信號;其中所述指令解碼器響應(yīng)于預(yù)加載指令——所述預(yù)加載指令指定要經(jīng)受預(yù)加載操作的存儲器地址位置以準(zhǔn)備隨后存儲器訪問所述存儲器地址——以將所述存儲器地址與空值相比較,并且(i)如果所述存儲器地址不匹配所述空值,則生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的控制信號;以及()如果所述存儲器地址確實匹配所述空值,則不生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的所述控制信號。2.如權(quán)利要求1所述的設(shè)備,包括轉(zhuǎn)換后備緩沖器電路,配置成存儲指定虛擬地址與物理地址之間轉(zhuǎn)換的地址映射數(shù)據(jù),其中所述存儲器地址是虛擬存儲器地址,并且如果所述地址映射數(shù)據(jù)未指定所述存儲器地址的轉(zhuǎn)換,則所述預(yù)加載操作觸發(fā)所述存儲器地址的地址映射數(shù)據(jù)到所述轉(zhuǎn)換后備緩沖器的加載。3.如權(quán)利要求2所述的設(shè)備,其中使用頁表遍歷操作來訪問所述存儲器地址的所述地址映射數(shù)據(jù)。4.如權(quán)利要求1、2和3中任一項所述的設(shè)備,包括高速緩沖存儲器,并且其中所述預(yù)加載操作將數(shù)據(jù)從所述存儲器地址加載到所述高速緩沖存儲器。5.如以上權(quán)利要求中任一項所述的設(shè)備,其中所述空值是0。6.如權(quán)利要求1至4中任一項所述的設(shè)備,其中所述空值是值范圍中的一個。7.如權(quán)利要求1至4中任一項所述的設(shè)備,其中所述空值是可編程值。8.如權(quán)利要求6所述的設(shè)備,其中所述空值由配置成檢測不經(jīng)受所述預(yù)加載操作的存儲器地址的檢測電路編程。9.如權(quán)利要求1至4中任一項所述的設(shè)備,其中所述存儲器地址在被分成存儲器地址頁的存儲器地址空間內(nèi),并且所述指令解碼器電路將所述空值設(shè)置成對應(yīng)于之前檢測的對不可訪問存儲器頁的存儲器訪問。10.用于處理數(shù)據(jù)的設(shè)備,包括處理部件,用于響應(yīng)于程序指令來執(zhí)行數(shù)據(jù)處理操作;指令解碼器部件,用于響應(yīng)于所述程序指令而生成控制信號,所述控制信號控制所述處理電路以執(zhí)行所述數(shù)據(jù)處理操作;其中所述指令解碼器部件響應(yīng)于預(yù)加載指令一所述預(yù)加載指令指定要經(jīng)受預(yù)加載操作的存儲器地址位置以準(zhǔn)備隨后存儲器訪問所述存儲器地址一以將所述存儲器地址與空值相比較,并且(i)如果所述存儲器地址不匹配所述空值,則生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的控制信號;以及(ii)如果所述存儲器地址確實匹配所述空值,則不生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的所述控制信號。11.一種處理數(shù)據(jù)的方法,包括如下步驟響應(yīng)于程序指令而執(zhí)行數(shù)據(jù)處理操作;解碼程序指令以生成用于控制所述數(shù)據(jù)處理操作的控制信號;其中所述解碼響應(yīng)于預(yù)加載指令——所述預(yù)加載指令指定要經(jīng)受預(yù)加載操作的存儲器地址位置以準(zhǔn)備隨后存儲器訪問所述存儲器地址——以將所述存儲器地址與空值相比較,并且(i)如果所述存儲器地址不匹配所述空值,則生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的控制信號;以及()如果所述存儲器地址確實匹配所述空值,則不生成用于控制所述處理電路以執(zhí)行所述預(yù)加載操作的所述控制信號。12.如權(quán)利要求11所述的方法,存儲指定虛擬地址與物理地址之間轉(zhuǎn)換的地址映射數(shù)據(jù),其中所述存儲器地址是虛擬存儲器地址,并且如果所述地址映射數(shù)據(jù)未指定所述存儲器地址的轉(zhuǎn)換,則所述預(yù)加載操作觸發(fā)所述存儲器地址的地址映射數(shù)據(jù)的加載。13.如權(quán)利要求12所述的方法,其中使用頁表遍歷操作來訪問所述存儲器地址的所述地址映射數(shù)據(jù)。14.如權(quán)利要求11、12和13中任一項所述的方法,其中所述預(yù)加載操作將數(shù)據(jù)從所述存儲器地址加載到所述高速緩沖存儲器。15.如權(quán)利要求11至14中任一項所述的方法,其中所述空值是0。16.如權(quán)利要求11至14中任一項所述的方法,其中所述空值是值范圍中的一個。17.如權(quán)利要求11至14中任一項所述的方法,其中所述空值是可編程值。18.如權(quán)利要求17所述的方法,其中所述空值通過用不經(jīng)受所述預(yù)加載操作的硬件存儲器地址進行檢測來編程。19.如權(quán)利要求11至14中任一項所述的方法,其中所述存儲器地址在被分成存儲器地址頁的存儲器地址空間內(nèi),并且所述空值設(shè)置成對應(yīng)于之前檢測的對不可訪問存儲器頁的存儲器訪問。20.一種虛擬機,由控制計算機以根據(jù)權(quán)利要求11至19中任一項所述的方法操作的計算機程序提供。21.設(shè)備,用于基本上如上文參考附圖所描述的那樣處理數(shù)據(jù)。22.一種方法,用于基本上如上文參考附圖所描述的那樣處理數(shù)據(jù)。23.一種虛擬機,基本上如上文參考附圖所描述的。全文摘要本發(fā)明涉及預(yù)加載指令控制。處理器4提供有指令解碼器32,該指令解碼器響應(yīng)于觸發(fā)預(yù)加載操作諸如頁表遍歷和高速緩存行提取的預(yù)加載指令PLD[r0]。指令解碼器標(biāo)識與預(yù)加載指令相關(guān)聯(lián)的存儲器地址是否匹配空值,并且如果存儲器地址確實匹配空值,則抑制預(yù)加載操作??罩悼梢栽诔绦蚩刂葡略O(shè)置,它可以被預(yù)定為固定值(例如0),或者可以在硬件控制下設(shè)置,諸如對應(yīng)于由存儲器管理單元標(biāo)識為不可訪問的頁的存儲器地址。文檔編號G06F9/30GK102236541SQ20111010083公開日2011年11月9日申請日期2011年4月21日優(yōu)先權(quán)日2010年4月22日發(fā)明者S.J.克拉斯克申請人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宝鸡市| 元氏县| 武清区| 石家庄市| 乌兰浩特市| 霍林郭勒市| 大渡口区| 龙口市| 万年县| 固原市| 八宿县| 玛曲县| 连城县| 澄迈县| 广东省| 阳西县| 扶余县| 民权县| 基隆市| 闽侯县| 石台县| 五家渠市| 台北市| 土默特左旗| 无为县| 东山县| 临安市| 阜城县| 确山县| 银川市| 石城县| 远安县| 宁津县| 嵩明县| 鹿邑县| 兴安盟| 台江县| 外汇| 聂拉木县| 青阳县| 繁峙县|