专利摘要:
本發明提供一種微處理器,包括一轉譯查詢緩衝器、一第一載入請求信號以及一預取單元。第一載入請求信號用以載入一分頁表項目至微處理器,其中第一載入請求信號相應於轉譯查詢緩衝器之中的一虛擬位址發生遺失而產生。預取單元用以接收一第一快取線的一實體位址,其中第一快取線包括被請求的分頁表項目,預取單元更對應地產生一第二載入請求信號以預取一第二快取線至微處理器,其中第二快取線係為第一快取線的下一條快取線。
公开号:TW201312461A
申请号:TW101143382
申请日:2010-03-12
公开日:2013-03-16
发明作者:Colin Eddy;Rodney E Hooker
申请人:Via Tech Inc;
IPC主号:G06F12-00
专利说明:
微處理器及縮短尋訪時間之方法
本發明係關於微處理器,特別是關於微處理器之預取(prefetch)資料的方法。
現今許多微處理器具有使用虛擬記憶體的能力,特別是能夠運用一記憶體分頁機制(memory paging mechanism)。熟知本領域技藝者應能理解,作業系統在系統記憶體中所建立之分頁表(page tables)係用來將虛擬位址轉譯成實體位址。根據《IA-32英特爾®架構軟體開發者手冊,第3A冊:系統程式設計導引,第1篇,2006年6月》中所描述之x86架構處理器技術(該參考文獻全文係以引用方式併入本文中),分頁表可採取階層方式(hierarchical fashion)排列。具體說來,分頁表包含複數分頁表項目(page table entries;PTE),各個分頁表項目儲存一實體記憶體分頁之實體分頁位址與實體記憶體分頁之屬性。所謂的分頁表尋訪(tablewalk)係指提取一虛擬記憶體分頁位址並使用此虛擬記憶體分頁位址來尋訪(traverse)分頁表階層,用以取得與此虛擬記憶體分頁位址對應之分頁表項目以便將虛擬位址轉譯成實體位址。
由於實體記憶體存取之延遲時間相對較長,加上在分頁表尋訪過程中可能要對實體記憶體進行多重存取,因此執行分頁表尋訪十分耗時。為了避免因執行分頁表尋訪而造成的時耗,處理器通常會包含一轉譯查詢緩衝器(Translation Lookaside Buffer;TLB)用以儲存虛擬位址及由虛擬位址轉譯成之實體位址。然而,轉譯查詢緩衝器之大小有限,並且當轉譯查詢緩衝器發生遺失(miss)時還是需要執行分頁表尋訪。因此,我們需要一種能夠縮短分頁表尋訪之執行時間的方法。
本發明提供一種微處理器,包括一轉譯查詢緩衝器、一第一載入請求信號以及一預取單元。第一載入請求信號用以載入一分頁表項目至微處理器,其中第一載入請求信號相應於轉譯查詢緩衝器之中的一虛擬位址發生遺失而產生。預取單元用以接收一第一快取線的一實體位址,其中第一快取線包括被請求的分頁表項目,預取單元更對應地產生一第二載入請求信號以預取一第二快取線至微處理器,其中第二快取線係為第一快取線的下一條快取線。
本發明提供一種縮短尋訪時間的方法,適用於具有一轉譯查詢緩衝器的一微處理器,包括請求載入一分頁表項目至微處理器,以對應於轉譯查詢緩衝器之中的一虛擬位址的遺失;接收一第一快取線的一實體位址,並且第一快取線包括被請求的分頁表項目;以及產生一載入信號以將一第二快取線預取至微處理器,以對應於接收到第一快取線的實體位址,其中第二快取線係為第一快取線的下一條快取線,並且第一快取線包括被請求的分頁表項目。
本發明提供另一種微處理器,包括一轉譯查詢緩衝器、一第一載入請求信號以及一預取單元。第一載入請求信號用以載入一分頁表項目至微處理器,其中第一載入請求信號相應於轉譯查詢緩衝器之中的一虛擬位址發生遺失而產生。預取單元用以接收一第一快取線的一實體位址,其中第一快取線包括被請求的分頁表項目,預取單元更對應地產生一第二載入請求信號以預取一第二快取線至微處理器,其中第二快取線係為第一快取線的上一條快取線。
本發明提供另一種縮短尋訪時間的方法,適用於具有一轉譯查詢緩衝器的一微處理器,包括請求載入一分頁表項目至微處理器,以對應於轉譯查詢緩衝器之中的一虛擬位址的遺失;接收一第一快取線的一實體位址,並且第一快取線包括被請求的分頁表項目;以及產生一載入信號以將一第二快取線預取至微處理器,以對應於接收到第一快取線的實體位址,其中第二快取線係為第一快取線的上一條快取線,並且第一快取線包括被請求的分頁表項目。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
請參考第1圖,第1圖係為本發明實施例之微處理器100的方塊圖,此微處理器100係為一管線式微處理器(pipelined microprocessor)。微處理器100包括一指令快取102用以提供複數指令至一指令轉譯器104,並且指令轉譯器104將所接收之指令轉譯並將轉譯後之指令提供至一指令配送器(instruction dispatcher)106。指令配送器106將指令提供至一載入單元108,其中上述指令可包括記憶體存取指令(例如載入指令或儲存指令)。載入單元108將一記憶體存取指令所指定之虛擬位址132提供至一轉譯查詢緩衝器116,並且轉譯查詢緩衝器116對虛擬位址132進行查找(lookup)。若虛擬位址132有出現在轉譯查詢緩衝器116中,則轉譯查詢緩衝器116將虛擬位址132轉譯後之實體位址144傳送回載入單元108。若虛擬位址132未出現在轉譯查詢緩衝器116中,則轉譯查詢緩衝器116產生一遺失信號(miss signal)134並傳送至一分頁表尋訪引擎(tablewalk engine)118。分頁表尋訪引擎118耦接至載入單元108以及轉譯查詢緩衝器116。
如第1圖所示,預取單元122與資料快取112也耦接至載入單元108,並且匯流排介面單元114耦接至資料快取112。匯流排介面單元114將微處理器100耦接至一處理器匯流排,上述處理器匯流排耦接至具有微處理器100之電腦系統中的實體記憶體128。具體說來,實體記憶體128儲存複數分頁表,其中一分頁表包括位於實體位址P之一第一快取線124以及位於實體位址P+64之一第二快取線126,並且第一快取線124與第二快取線126分別儲存八個分頁表項目。在本實施例中一條快取線之大小係為64位元組(bytes),並且一個分頁表項目之大小係為8位元組,因此每條快取線可儲存八個分頁表項目。
請參考第2圖,第2圖係為第1圖中之微處理器100的操作流程圖,用以說明如何預取下一條快取線,其中此快取線與一載入至載入單元之分頁表項目有關。流程從步驟202開始。
在步驟202中,當虛擬位址132未出現在轉譯查詢緩衝器116中,轉譯查詢緩衝器116產生一遺失信號134並傳送至分頁表尋訪引擎118。分頁表尋訪引擎118在接收遺失信號134後即執行分頁表尋訪以便取得遺失在轉譯查詢緩衝器116中之虛擬位址132所轉譯成的實體位址。分頁表尋訪引擎118藉由產生一分頁表項目載入請求信號(PTE load request)136來執行分頁表尋訪動作,其中分頁表尋訪引擎118將分頁表項目載入請求信號136傳送至載入單元108,用以載入執行位址轉譯所需之分頁表項目。流程前進至步驟204。
在步驟204中,載入單元108偵測分頁表項目載入請求信號136並且載入位於實體記憶體128中之分頁表項目。此外,載入單元108透過一確認信號138告知預取單元122已經查見(seen)分頁表項目載入請求信號136,並且將第一快取線124之實體位址提供至轉譯查詢緩衝器116,在第1圖的實施例中,該實體位址為P,其中此第一快取線124具有載入單元108所載入之分頁表項目。流程前進至步驟206。
在步驟206中,預取單元122產生一預取請求信號142並傳送至載入單元108。預取請求信號142命令載入單元108將位於實體位址P+64之第二快取線126預取至資料快取112。換言之,載入單元108將位於第一快取線124(具有載入至載入單元108之分頁表項目)之後的下一條快取線(第二快取線126)預取至資料快取112。流程前進至步驟208。
在步驟208中,載入單元108根據預取請求信號142將下一條快取線(第二快取線126)預取至資料快取112。然而在某些情況下,微處理器100中之載入單元108並不會執行載入第二快取線126的動作。舉例而言,上述情況可為一功能性需求(functional requirement)情況,例如快取線落在一非快取記憶體區(non-cacheable memory region)。上述情況也可為微處理器100要執行非推測性配置(non-speculative allocations)。若載入單元108決定載入來自實體記憶體128中之第二快取線126,則載入單元108命令匯流排介面單元114執行此載入動作。流程結束於步驟208。
雖然本發明實施例係描述預取下一條快取線,但在其他實施例中,預取單元122會產生一請求信號用以命令載入單元108預取上一條快取線,或者是命令載入單元108預取下一條與上一條快取線。此實施例適用於程式在記憶體分頁中以另一方向行進的情況。
此外,雖然本發明實施例係描述預取具有分頁表項目之下一條快取線,但在其他實施例中,預取單元122會產生一請求信號用以命令載入單元108預取具有其他層級(level)的分頁資訊階層之下一條快取線,例如分頁描述符項目(Page Descriptor Entries;PDE)。值得注意的是,雖然使用此方法的某些程式之存取樣本(access pattern)是有助益的,但由於將大量實體記憶體設置於單一分頁描述符項目下方的情況不常見,並且程式尋訪記憶體的速度會變得很慢,因此上述方法不但效率不彰也會帶來風險。此外,在其他實施例中,預取單元122會產生一請求信號用以命令載入單元108預取具有另一分頁表階層(不同於上述分頁描述符項目/分頁表項目階層)之下一條快取線。
如前文所述,預取單元122會產生一請求信號用以命令載入單元108預取下一條快取線至具有需要完成分頁表尋訪之分頁表項目的快取線。假設各個分頁表之大小為4千位元組(KB),各個分頁表項目之大小為8位元組,並且各條快取線之大小為64位元組,所以一個分頁表中會具有64條分別具有八個分頁表項目之快取線。因此,於步驟208中所預取之下一條快取線中具有分頁表中緊鄰的(next)八個分頁表項目的可能性相當高,特別是在作業系統將分頁表配置為實體連續分頁表的情況下。
在使用小型分頁(通常為4千位元組)的情況下,程式在最後會存取記憶體之八個分頁中的其中幾個,而這些所存取的分頁有很大的可能性係超過於步驟202中轉譯查詢緩沖器116所存取之分頁。在另一實施例中可將額外的邏輯電路加入至預取單元122與載入單元108,使得預取單元122產生一請求信號用以命令載入單元108預取八個分頁表項目,此舉會大大地減少執行一分頁表尋訪用以將八個記憶體分頁儲存至轉譯查詢緩衝器116所需的時脈週期,其中這八個記憶體分頁的實體位址係儲存在八個分頁表項目中。具體說來,當分頁表尋訪引擎118必須執行分頁表尋訪(包括載入位於第二快取線126之八個分頁表項目中的任意一個)時,這些所載入之分頁表項目將會位於資料快取112中(除非他們依序從資料快取112中移除),此舉會縮短讀取實體記憶體128用以取得分頁表項目所需的延遲時間。
習知預取機制係用以偵測程式記憶體存取之記憶體存取樣本(pattern)(即載入指令與儲存指令)。若預取器所偵測到之程式係藉由一樣本來存取記憶體,則預取器會預期之後載入指令或儲存指令的位址,並且從此位址執行預取動作。若程式依序地存取記憶體,則預取器通常會根據載入指令或儲存指令的虛擬位址來預取下一條快取線。在一作業系統執行分頁表尋訪之處理器架構中,以載入指令或儲存指令為基礎之預取器(program load/store-based prefetcher)會在載入分頁表項目之後預取下一條快取線。然而,在以硬體方式執行分頁表尋訪而不是軟體進行載入指令或儲存指令之處理器中,以載入指令或儲存指令為基礎之預取器並不會觸發(trigger off)分頁表項目之載入動作(因為這不是一個載入指令),也因此不會在載入分頁表項目之後預取下一條快取線。相反地,在本發明之以硬體方式執行分頁表尋訪之處理器中,預取單元122可觸發一非程式化之分頁表項目載入動作,也就是藉由分頁表尋訪引擎118所觸發之實體記憶體存取動作。因此,不同於以載入指令或儲存指令為基礎的機制,本發明之預取單元122會命令載入單元108預取下一條快取線,並且此快取線可能包含分頁表中之數個分頁表項目。
本發明雖以各種實施例揭露如上,然其僅為範例參考而非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾。舉例而言,可使用軟體來實現本發明所述之裝置與方法的功能、構造、模組、模擬、描述及/或測試。此目的可透過使用一般程式語言(例如C、C++)、硬體描述語言(包括Verilog或VHDL硬體描述語言等等)、或其他可用的程式來實現。該軟體可被設置在任何電腦可用的媒體,例如半導體、磁碟、光碟(例如CD-ROM、DVD-ROM等等)中。本發明實施例中所述之裝置與方法可被包括在一半導體智慧財產權核心(semiconductor intellectual property core),例如以硬體描述語言(HDL)實現之微處理器核心中,並被轉換為硬體型態的積體電路產品。此外,本發明所描述之裝置與方法可透過結合硬體與軟體的方式來實現。因此,本發明不應該被本文中之任一實施例所限定,而當視後附之申請專利範圍與其等效物所界定者為準。特別是,本發明係實現於一般用途電腦之微處理器裝置中。最後,任何熟知技藝者,在不脫離本發明之精神和範圍內,當可作些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧微處理器
102‧‧‧指令快取
104‧‧‧指令轉譯器
106‧‧‧指令配送器
108‧‧‧載入單元
112‧‧‧資料快取
114‧‧‧匯流排介面單元
116‧‧‧轉譯查詢緩衝器
118‧‧‧分頁表尋訪引擎
122‧‧‧預取單元
124‧‧‧第一快取線
126‧‧‧第二快取線
128‧‧‧實體記憶體
132‧‧‧虛擬位址
134‧‧‧遺失信號
136‧‧‧分頁表項目載入請求信號
138‧‧‧確認信號
142‧‧‧預取請求信號
144‧‧‧實體位址
第1圖係為本發明實施例之微處理器的方塊圖;第2圖係為第1圖中之微處理器的操作流程圖。
权利要求:
Claims (20)
[1] 一種微處理器,包括:一轉譯查詢緩衝器;一第一載入請求信號,用以載入一分頁表項目至該微處理器,其中該第一載入請求信號相應於該轉譯查詢緩衝器之中的一虛擬位址發生遺失而產生;以及一預取單元,用以接收一第一快取線的一實體位址,其中該第一快取線包括被請求的該分頁表項目,該預取單元更對應地產生一第二載入請求信號以預取一第二快取線至該微處理器,其中該第二快取線係為該第一快取線的下一條快取線。
[2] 如申請專利範圍第1項所述之微處理器,其中該轉譯查詢緩衝器之中的該虛擬位址發生遺失所相關的該第二快取線不位於該分頁表項目之中。
[3] 如申請專利範圍第1項所述之微處理器,更包括:一分頁表尋訪引擎,用以相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而執行一分頁尋訪,其中該分頁尋訪不存取所預取的該第二快取線的任一分頁表項目。
[4] 如申請專利範圍第1項所述之微處理器,更包括:一分頁表尋訪引擎,用以相應於該轉譯查詢緩衝器之中的一第二虛擬位址發生遺失而執行一分頁尋訪,其中該第二虛擬位址係關於所預取的該第二快取線之中的一分頁表項目,並且該分頁表尋訪引擎自該微處理器之中將一實體頁面位址載入該轉譯查詢緩衝器以執行該分頁尋訪,其中該一實體頁面位址並非來自一系統記憶體,並且該實體頁面位址儲存在發生遺失的該第二虛擬位址所相關的該分頁表項目之中。
[5] 如申請專利範圍第1項所述之微處理器,其中用以載入該分頁表項目的該第一載入請求信號係為該微處理器相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而在內部所產生,而非該微處理器所執行的一程式的一載入請求信號,並且該預取單元係相應於該第一載入請求信號預取該第二快取線。
[6] 如申請專利範圍第1項所述之微處理器,更包括:一第三載入請求信號,用以載入一分頁表目錄至該微處理器,其中該第三載入請求信號相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而產生;其中該預取單元更用以接收一第三快取線的一實體位址,並且該第三快取線包括被請求的該分頁表目錄;該預取單元更對應地產生一第四載入請求信號,以將一第四快取線預取至該微處理器,其中該第四快取線係為該第三快取線的下一條快取線。
[7] 一種縮短尋訪時間的方法,上述方法適用於具有一轉譯查詢緩衝器的一微處理器,包括:請求載入一分頁表項目至該微處理器,以對應於該轉譯查詢緩衝器之中的一虛擬位址的遺失;接收一第一快取線的一實體位址,並且該第一快取線包括被請求的該分頁表項目;以及產生一載入信號以將一第二快取線預取至該微處理器,以對應於接收到該第一快取線的該實體位址,其中該第二快取線係為該第一快取線的下一條快取線,並且該第一快取線包括被請求的該分頁表項目。
[8] 如申請專利範圍第7項所述之縮短尋訪時間的方法,其中該轉譯查詢緩衝器之中的該虛擬位址發生遺失所相關的該第二快取線不位於該分頁表項目之中。
[9] 如申請專利範圍第7項所述之縮短尋訪時間的方法,更包括:相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而執行一分頁尋訪,其中該分頁尋訪不存取所預取的該第二快取線的任一分頁表項目。
[10] 如申請專利範圍第7項所述之縮短尋訪時間的方法,更包括:相應於該轉譯查詢緩衝器之中的一第二虛擬位址發生遺失而執行一分頁尋訪,其中該第二虛擬位址係關於所預取的該第二快取線之中的一分頁表項目;其中執行該分頁尋訪的步驟包括自該微處理器之中將一實體頁面位址載入至該轉譯查詢緩衝器,並且該實體頁面位址並非來自一系統記憶體,並且該實體頁面位址係儲存在發生遺失之該第二虛擬位址所相關的該分頁表項目之中。
[11] 一種微處理器,包括:一轉譯查詢緩衝器;一第一載入請求信號,用以載入一分頁表項目至該微處理器,其中該第一載入請求信號相應於該轉譯查詢緩衝器之中的一虛擬位址發生遺失而產生;以及一預取單元,用以接收一第一快取線的一實體位址,其中該第一快取線包括被請求的該分頁表項目,該預取單元更對應地產生一第二載入請求信號以預取一第二快取線至該微處理器,其中該第二快取線係為該第一快取線的上一條快取線。
[12] 如申請專利範圍第11項所述之微處理器,其中該轉譯查詢緩衝器之中的該虛擬位址發生遺失所相關的該第二快取線不位於該分頁表項目之中。
[13] 如申請專利範圍第11項所述之微處理器,更包括:一分頁表尋訪引擎,用以相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而執行一分頁尋訪,其中該分頁尋訪不存取所預取的該第二快取線的任一分頁表項目。
[14] 如申請專利範圍第11項所述之微處理器,更包括:一分頁表尋訪引擎,用以相應於該轉譯查詢緩衝器之中的一第二虛擬位址發生遺失而執行一分頁尋訪,其中該第二虛擬位址係關於所預取的該第二快取線之中的一分頁表項目,並且該分頁表尋訪引擎自該微處理器之中將一實體頁面位址載入該轉譯查詢緩衝器以執行該分頁尋訪,其中該一實體頁面位址並非來自一系統記憶體,並且該實體頁面位址儲存在發生遺失的該第二虛擬位址所相關的該分頁表項目之中。
[15] 如申請專利範圍第11項所述之微處理器,其中用以載入該分頁表項目的該第一載入請求信號係為該微處理器相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而在內部所產生,而非該微處理器所執行的一程式的一載入請求信號,並且該預取單元係相應於該第一載入請求信號預取該第二快取線。
[16] 如申請專利範圍第11項所述之微處理器,更包括:一第三載入請求信號,用以載入一分頁表目錄至該微處理器,其中該第三載入請求信號相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而產生;其中該預取單元更用以接收一第三快取線的一實體位址,並且該第三快取線包括被請求的該分頁表目錄;該預取單元更對應地產生一第四載入請求信號,以將一第四快取線預取至該微處理器,其中該第四快取線係為該第三快取線的上一條快取線。
[17] 一種縮短尋訪時間的方法,上述方法適用於具有一轉譯查詢緩衝器的一微處理器,包括:請求載入一分頁表項目至該微處理器,以對應於該轉譯查詢緩衝器之中的一虛擬位址的遺失;接收一第一快取線的一實體位址,並且該第一快取線包括被請求的該分頁表項目;以及產生一載入信號以將一第二快取線預取至該微處理器,以對應於接收到該第一快取線的該實體位址,其中該第二快取線係為該第一快取線的上一條快取線,並且該第一快取線包括被請求的該分頁表項目。
[18] 如申請專利範圍第17項所述之縮短尋訪時間的方法,其中該轉譯查詢緩衝器之中的該虛擬位址發生遺失所相關的該第二快取線不位於該分頁表項目之中。
[19] 如申請專利範圍第17項所述之縮短尋訪時間的方法,更包括:相應於該轉譯查詢緩衝器之中的該虛擬位址發生遺失而執行一分頁尋訪,其中該分頁尋訪不存取所預取的該第二快取線的任一分頁表項目。
[20] 如申請專利範圍第17項所述之縮短尋訪時間的方法,更包括:相應於該轉譯查詢緩衝器之中的一第二虛擬位址發生遺失而執行一分頁尋訪,其中該第二虛擬位址係關於所預取的該第二快取線之中的一分頁表項目;其中執行該分頁尋訪的步驟包括自該微處理器之中將一實體頁面位址載入至該轉譯查詢緩衝器,並且該實體頁面位址並非來自一系統記憶體,並且該實體頁面位址係儲存在發生遺失之該第二虛擬位址所相關的該分頁表項目之中。
类似技术:
公开号 | 公开日 | 专利标题
TWI451334B|2014-09-01|微處理器及縮短尋訪時間之方法
CN106537362B|2020-10-30|数据处理装置和在数据处理装置中处理地址转换的方法
US7739477B2|2010-06-15|Multiple page size address translation incorporating page size prediction
US8151085B2|2012-04-03|Method for address translation in virtual machines
JP4160589B2|2008-10-01|演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法
US7716424B2|2010-05-11|Victim prefetching in a cache hierarchy
US20170161194A1|2017-06-08|Page-based prefetching triggered by tlb activity
KR102268601B1|2021-06-24|데이터 포워딩을 위한 프로세서, 그것의 동작 방법 및 그것을 포함하는 시스템
KR20190013538A|2019-02-11|메모리 압축을 수행하기 위한 시스템 및 방법
TWI590053B|2017-07-01|選擇性預取實體接續快取線至包含被載入分頁表之快取線
KR20080063512A|2008-07-04|변환 색인 버퍼들| 필드의 다중 레벨 갱신
US9569363B2|2017-02-14|Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry
US8019968B2|2011-09-13|3-dimensional L2/L3 cache array to hide translation | delays
CN105975405A|2016-09-28|处理器和使处理器进行工作的方法
US7984263B2|2011-07-19|Structure for a memory-centric page table walker
US8019969B2|2011-09-13|Self prefetching L3/L4 cache mechanism
Bhattacharjee2018|Breaking the address translation wall by accelerating memory replays
CN108874691B|2021-04-30|数据预取方法和内存控制器
CN110941565A|2020-03-31|用于芯片存储访问的内存管理方法和装置
KR20190087500A|2019-07-24|메모리 어드레스 변환
CN113641403A|2021-11-12|微处理器和在微处理器中实现的方法
CN113760783A|2021-12-07|联合偏移预取方法、装置、计算设备和可读存储介质
CN112416817A|2021-02-26|预取方法、信息处理装置、设备以及存储介质
CN111198827A|2020-05-26|页表预取方法及装置
MX2008005091A|2008-09-02|Caching memory attribute indicators with cached memory data
同族专利:
公开号 | 公开日
CN102999440A|2013-03-27|
US20100250859A1|2010-09-30|
US8161246B2|2012-04-17|
US20140013058A1|2014-01-09|
CN102999440B|2016-08-24|
TWI437490B|2014-05-11|
US20120198176A1|2012-08-02|
TW201035867A|2010-10-01|
TWI451334B|2014-09-01|
CN101833515A|2010-09-15|
US8433853B2|2013-04-30|
CN101833515B|2013-01-02|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US5666509A|1994-03-24|1997-09-09|Motorola, Inc.|Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof|
US5613083A|1994-09-30|1997-03-18|Intel Corporation|Translation lookaside buffer that is non-blocking in response to a miss for use within a microprocessor capable of processing speculative instructions|
US5963984A|1994-11-08|1999-10-05|National Semiconductor Corporation|Address translation unit employing programmable page size|
US5752274A|1994-11-08|1998-05-12|Cyrix Corporation|Address translation unit employing a victim TLB|
CA2280441A1|1998-09-16|2000-03-16|Morton International, Inc.|Combination of an organothio compound and a zinc mercapto ester as heat stabilizer in pvc processing|
US6681311B2|2001-07-18|2004-01-20|Ip-First, Llc|Translation lookaside buffer that caches memory type information|
US6832296B2|2002-04-09|2004-12-14|Ip-First, Llc|Microprocessor with repeat prefetch instruction|
US7194582B1|2003-05-30|2007-03-20|Mips Technologies, Inc.|Microprocessor with improved data stream prefetching|
US7099999B2|2003-09-30|2006-08-29|International Business Machines Corporation|Apparatus and method for pre-fetching data to cached memory using persistent historical page table data|
US20070186048A1|2004-03-24|2007-08-09|Matsushita Electric Industrial Co., Ltd.|Cache memory and control method thereof|
US7383418B2|2004-09-01|2008-06-03|Intel Corporation|Method and apparatus for prefetching data to a lower level cache memory|
US20060136696A1|2004-12-16|2006-06-22|Grayson Brian C|Method and apparatus for address translation|
US7383391B2|2005-05-18|2008-06-03|International Business Machines Corporation|Prefetch mechanism based on page table attributes|
US7409524B2|2005-08-17|2008-08-05|Hewlett-Packard Development Company, L.P.|System and method for responding to TLB misses|
US7822941B2|2006-06-05|2010-10-26|Oracle America, Inc.|Function-based virtual-to-physical address translation|
US7949834B2|2007-01-24|2011-05-24|Qualcomm Incorporated|Method and apparatus for setting cache policies in a processor|
US8103832B2|2007-06-26|2012-01-24|International Business Machines Corporation|Method and apparatus of prefetching streams of varying prefetch depth|
US8078827B2|2007-07-05|2011-12-13|International Business Machines Corporation|Method and apparatus for caching of page translations for virtual machines|
US7793070B2|2007-07-12|2010-09-07|Qnx Software Systems Gmbh & Co. Kg|Processing system implementing multiple page size memory organization with multiple translation lookaside buffers having differing characteristics|
US7958316B2|2008-02-01|2011-06-07|International Business Machines Corporation|Dynamic adjustment of prefetch stream priority|
US7996650B2|2008-07-14|2011-08-09|Via Technologies, Inc.|Microprocessor that performs speculative tablewalks|
US7958317B2|2008-08-04|2011-06-07|International Business Machines Corporation|Cache directed sequential prefetch|
US8291202B2|2008-08-08|2012-10-16|Qualcomm Incorporated|Apparatus and methods for speculative interrupt vector prefetching|US8442059B1|2008-09-30|2013-05-14|Gridiron Systems, Inc.|Storage proxy with virtual ports configuration|
US8417895B1|2008-09-30|2013-04-09|Violin Memory Inc.|System for maintaining coherency during offline changes to storage media|
US8443150B1|2008-11-04|2013-05-14|Violin Memory Inc.|Efficient reloading of data into cache resource|
US8788758B1|2008-11-04|2014-07-22|Violin Memory Inc|Least profitability used caching scheme|
US8838850B2|2008-11-17|2014-09-16|Violin Memory, Inc.|Cluster control protocol|
US9569363B2|2009-03-30|2017-02-14|Via Technologies, Inc.|Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry|
TWI590053B|2015-07-02|2017-07-01|威盛電子股份有限公司|選擇性預取實體接續快取線至包含被載入分頁表之快取線|
US8650362B2|2009-04-17|2014-02-11|Violin Memory Inc.|System for increasing utilization of storage media|
US8667366B1|2009-04-17|2014-03-04|Violin Memory, Inc.|Efficient use of physical address space for data overflow and validation|
US8713252B1|2009-05-06|2014-04-29|Violin Memory, Inc.|Transactional consistency scheme|
US8402198B1|2009-06-03|2013-03-19|Violin Memory, Inc.|Mapping engine for a storage device|
US9069676B2|2009-06-03|2015-06-30|Violin Memory, Inc.|Mapping engine for a storage device|
US8402246B1|2009-08-28|2013-03-19|Violin Memory, Inc.|Alignment adjustment in a tiered storage system|
US9418011B2|2010-06-23|2016-08-16|Intel Corporation|Region based technique for accurately predicting memory accesses|
US8832384B1|2010-07-29|2014-09-09|Violin Memory, Inc.|Reassembling abstracted memory accesses for prefetching|
US8959288B1|2010-07-29|2015-02-17|Violin Memory, Inc.|Identifying invalid cache data|
US8972689B1|2011-02-02|2015-03-03|Violin Memory, Inc.|Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media|
US8635416B1|2011-03-02|2014-01-21|Violin Memory Inc.|Apparatus, method and system for using shadow drives for alternative drive commands|
WO2013095401A1|2011-12-20|2013-06-27|Intel Corporation|System and method for out-of-order prefetch instructions in an in-order pipeline|
US20130262779A1|2012-03-30|2013-10-03|Jayaram Bobba|Profile-based hardware prefetching|
CN102722451B|2012-06-25|2015-04-15|杭州中天微系统有限公司|采用物理地址预测访问高速缓存的装置|
US20140108766A1|2012-10-17|2014-04-17|Advanced Micro Devices, Inc.|Prefetching tablewalk address translations|
US9201806B2|2013-01-04|2015-12-01|International Business Machines Corporation|Anticipatorily loading a page of memory|
KR102069273B1|2013-03-11|2020-01-22|삼성전자주식회사|시스템 온 칩 및 그 동작방법|
US9483406B2|2013-03-11|2016-11-01|Via Technologies, Inc.|Communicating prefetchers that throttle one another|
US9251083B2|2013-03-11|2016-02-02|Via Technologies, Inc.|Communicating prefetchers in a microprocessor|
US9880842B2|2013-03-15|2018-01-30|Intel Corporation|Using control flow data structures to direct and track instruction execution|
CN107608912B|2013-08-20|2020-10-16|华为技术有限公司|内存物理地址查询方法和装置|
US9645934B2|2013-09-13|2017-05-09|Samsung Electronics Co., Ltd.|System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer|
GB2528842B|2014-07-29|2021-06-02|Advanced Risc Mach Ltd|A data processing apparatus, and a method of handling address translation within a data processing apparatus|
US9910780B2|2015-10-28|2018-03-06|International Business Machines Corporation|Pre-loading page table cache lines of a virtual machine|
US10175987B2|2016-03-17|2019-01-08|International Business Machines Corporation|Instruction prefetching in a computer processor using a prefetch prediction vector|
US10386933B2|2016-08-30|2019-08-20|International Business Machines Corporation|Controlling navigation of a visual aid during a presentation|
CN111198827A|2018-11-16|2020-05-26|展讯通信(上海)有限公司|页表预取方法及装置|
US10936281B2|2018-12-19|2021-03-02|International Business Machines Corporation|Automatic slide page progression based on verbal and visual cues|
US10909045B2|2018-12-20|2021-02-02|Arm Limited|System, method and apparatus for fine granularity access protection|
WO2021184141A1|2020-03-15|2021-09-23|Micron Technology, Inc.|Pre-load techniques for improved sequential read|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US16458809P| true| 2009-03-30|2009-03-30||
US12/604,998|US8161246B2|2009-03-30|2009-10-23|Prefetching of next physically sequential cache line after cache line that includes loaded page table entry|
[返回顶部]