TW201439764A - 系統晶片 - Google Patents
系統晶片 Download PDFInfo
- Publication number
- TW201439764A TW201439764A TW103107120A TW103107120A TW201439764A TW 201439764 A TW201439764 A TW 201439764A TW 103107120 A TW103107120 A TW 103107120A TW 103107120 A TW103107120 A TW 103107120A TW 201439764 A TW201439764 A TW 201439764A
- Authority
- TW
- Taiwan
- Prior art keywords
- page table
- prefetch
- memory management
- management unit
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/654—Look-ahead translation
Abstract
一種系統晶片包括中央處理單元、智慧財產方塊以及記憶體管理單元。中央處理單元經組態以設定與資料工作組相對應的預取方向。智慧財產方塊經組態以處理此資料工作組。記憶體管理單元經組態以便在資料工作組的虛擬位址與實體位址之間的位址轉譯過程中基於預取方向從分頁表中預取下一分頁表條目。
Description
本申請案主張2013年3月11日提出申請的韓國專利申請案第10-2013-0025727號的優先權,其揭露的內容已全部併入本文作為參考。
本發明是有關於一種包括記憶體管理單元(memory management unit,MMU)的系統晶片(system-on-chip,SoC),且特別是有關於一種包括對多個資料工作組(working sets of data)進行操作的記憶體管理單元的系統晶片及其操作方法。
記憶體管理單元是一種用以處理智慧財產(intellectual property,IP)方塊(block)(如,以中央處理單元(central processing unit,CPU)或圖形處理單元(graphics processing unit,GPU)為代表的直接記憶體存取單元)所發出的記憶體存取請求的硬體元件。
發出記憶體存取請求的一個實例是關於顯示元件的旋轉
操作(如,人像模式(portrait mode)與風景模式(landscape mode)之間的切換),其包括:再存取和讀取源影像(source image);以及基於此旋轉來產生目標影像(如,旋轉影像)。當源影像被再存取時,用於資料存取的虛擬位址不會依序增加。
當再存取源影像時,記憶體管理單元會先搜尋轉譯後備
緩衝區(translation lookaside buffer,TLB),若轉譯後備緩衝區缺失則執行分頁表走道(page table walk,PTW)。在此情形下,當轉譯後備緩衝區缺失的數量因設備中不依序增加的虛擬位址而增大時,巨大的缺失損失會導致設備的效能降低。
依照本發明之一實施例,一種系統晶片包括:中央處理單元,其經組態以設定預取(prefetch)方向;智慧財產方塊,其經組態以處理至少一個工作組;以及至少一個記憶體管理單元,其經組態以便在工作組的虛擬位址與實體位址之間的位址轉譯過程中基於預取方向來預取下一分頁表條目(page table entry)。
依照本發明之一實施例,一種記憶體管理單元包括:轉譯後備緩衝區,其經組態以將智慧財產方塊所請求的多個工作組中每個工作組的虛擬位址轉譯成實體位址;特殊功能暫存器(special function register,SFR),其經組態以儲存每個工作組的預定預取方向;以及預取緩衝區,其經組態以便在分頁表走道過程中基於預取方向從記憶元件中預取下一分頁表條目。
依照本發明之一實施例,一種系統晶片操作方法,其中系統晶片包括中央處理單元、至少一個智慧財產方塊以及記憶體
管理單元,此操作方法包括:中央處理單元設定預取方向和記憶體管理單元分配資訊;智慧財產方塊向記憶體管理單元發出關於多個工作組中每個工作組的資料存取請求;記憶體管理單元在分頁表走道過程中基於預取方向來提取下一分頁表條目以便進行位址轉譯以回應於該請求;以及記憶體管理單元基於分頁表條目將每個工作組的虛擬位址轉譯成實體位址,且存取資料。
依照本發明之一實施例,一種系統晶片包括:中央處理單元,其經組態以設定預取方向資訊和記憶體管理單元分配資訊;智慧財產方塊,其經組態以處理至少一個工作組;至少一個記憶體管理單元,其經組態以儲存預取方向資訊,被分配給工作組,以及將智慧財產方塊之請求所對應的工作組的虛擬位址轉譯成實體位址;位址分配器,其經組態以儲存記憶體管理單元分配資訊,且基於此記憶體管理單元分配資訊來分配記憶體管理單元以便進行位址轉譯;以及記憶元件,其經組態以包括含有多個分頁表條目的分頁表,且儲存資料和此資料的實體位址資訊。
記憶體管理單元可基於預取方向資訊從分頁表中預取下次要存取的下一分頁表條目。
依照本發明之一實施例,一種系統晶片包括:中央處理單元,其經組態以設定與資料工作組相對應的預取方向;智慧財產方塊,其經組態以處理此資料工作組;以及記憶體管理單元,其經組態以便在資料工作組的虛擬位址與實體位址之間的位址轉譯過程中基於預取方向從分頁表中預取下一分頁表條目。
依照本發明之一實施例,一種記憶體管理單元包括:轉譯後備緩衝區,其經組態以將智慧財產方塊所請求的多個資料工
作組中每個資料工作組的虛擬位址轉譯成對應的實體位址;特殊功能暫存器,其經組態以儲存每個資料工作組的預定預取方向;以及預取緩衝區,其經組態以便在分頁表走道過程中基於預取方向從記憶元件的分頁表中預取下一分頁表條目。
依照本發明之一實施例,一種系統晶片操作方法包括:
由系統晶片的中央處理單元來設定預取方向和記憶體管理單元分配資訊;由系統晶片的智慧財產方塊向系統晶片的記憶體管理單元發出關於多個資料工作組中每個資料工作組的資料存取請求;由記憶體管理單元在分頁表走道過程中基於預取方向從分頁表中提取下一分頁表條目,以便進行位址轉譯以回應於資料存取請求;以及由記憶體管理單元基於下一分頁表條目將每個資料工作組的虛擬位址轉譯成實體位址,且存取此實體位址所對應的資料。
依照本發明之一實施例,一種系統晶片包括:中央處理
單元,其經組態以設定預取方向資訊和記憶體管理單元分配資訊;智慧財產方塊,其經組態以處理至少一個資料工作組;記憶體管理單元,其經組態以儲存預取方向資訊,被分配給至少一個資料工作組,且將智慧財產方塊之請求所對應的至少一個資料工作組的虛擬位址轉譯成實體位址;位址分配器,其經組態以儲存記憶體管理單元分配資訊,且基於此記憶體管理單元分配資訊來分配記憶體管理單元以便進行虛擬位址轉譯;以及記憶元件,其經組態以儲存資料和此資料的實體位址資訊,其中記憶元件包括含有多個分頁表條目的分頁表,其中記憶體管理單元又經組態以基於預取方向資訊從分頁表中預取下次要存取的下一分頁表條目。
依照本發明之一實施例,一種系統晶片包括:中央處理單元,其經組態以設定對應於第一資料工作組的第一預取方向資訊和對應於第二資料工作組的第二預取方向資訊;智慧財產方塊,其經組態以發出對應於第一或第二資料工作組的資料存取請求;第一記憶體管理單元,其經組態以便在第一資料工作組的虛擬位址與第一資料工作組的虛擬位址所對應的實體位址之間的位址轉譯過程中基於第一預取方向資訊從分頁表中預取第一個下一分頁表條目;第二記憶體管理單元,其經組態以便在第二資料工作組的虛擬位址與第二資料工作組的虛擬位址所對應的實體位址之間的位址轉譯過程中基於第二預取方向資訊從分頁表中預取第二個下一分頁表條目;以及位址分配器,其經組態以將第一記憶體管理單元分配給第一資料工作組或將第二記憶體管理單元分配給第二資料工作組以回應於智慧財產方塊所發出的資料存取請求。
1‧‧‧系統晶片
3‧‧‧中央處理單元
4‧‧‧智慧財產方塊
5‧‧‧快取記憶體
10、10’、11A、11B‧‧‧記憶體管理單元
12、12’、12A、12B‧‧‧轉譯後備緩衝區
40、41、42‧‧‧匯流排
43、44‧‧‧匯流排互連
45‧‧‧位址分配器
50‧‧‧系統周邊單元
60‧‧‧多媒體加速單元
61‧‧‧相機介面
62‧‧‧圖形引擎
63‧‧‧高畫質多媒體介面
70‧‧‧連通單元
80‧‧‧顯示控制器
90‧‧‧記憶體介面單元
100、400、500‧‧‧電子設備
110、410、520‧‧‧記憶元件
115‧‧‧分頁表
117‧‧‧資料/指令儲存方塊
120、430‧‧‧輸入元件
130、440、530‧‧‧顯示器
201、302‧‧‧預取緩衝區A
202、312‧‧‧預取緩衝區B
203‧‧‧特殊功能暫存器
303‧‧‧特殊功能暫存器A
313‧‧‧特殊功能暫存器B
420‧‧‧無線電收發器
510‧‧‧影像感測器
NextVPN‧‧‧下次要存取的頁面資訊
PA‧‧‧實體位址
PPN‧‧‧實體頁面編號
pte1~pte16‧‧‧分頁表條目
S11~S20‧‧‧操作
VA‧‧‧虛擬位址
#1、#2、#3、#N‧‧‧分頁表條目
為讓本發明之上述和其他特徵能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
圖1是依照本發明之一實施例的源影像和沿著預定方向來旋轉源影像而得到的旋轉/目標影像。
圖2是依照本發明之一實施例的一種包括記憶體管理單元的電子設備的方塊圖。
圖3是依照本發明之一實施例的圖2所示之系統晶片的方塊圖。
圖4是依照本發明之一實施例的圖2所示之記憶體管理單元的方塊圖。
圖5是依照本發明之一實施例基於圖4所示之分頁表來闡釋虛擬位址與實體位址之間對映關係的圖式。
圖6是依照本發明之一實施例的圖2所示之記憶體管理單元的圖式。
圖7是依照本發明之一實施例的圖2所示之記憶體管理單元的圖式。
圖8是依照本發明之一實施例的圖4所示之分頁表的欄位結構的圖式。
圖9是依照本發明之各實施例的一種記憶體管理單元操作方法的流程圖。
圖10是依照本發明之一實施例的一種包括圖2所示之系統晶片的電子設備。
圖11是依照本發明之一實施例的一種包括圖2所示之系統晶片1的電子設備500。
下面將配合所附圖式來全面闡述本發明的各實施例。在整個附圖中,相同的元件符號可代表相同的元件。
容易理解的是,當提到一元件「連接」或「耦接」到另一元件時,此元件可直接連接或耦接到另一元件,也可能存在著介入元件。如本文所用的術語「及/或」包括一個或一個以上的相關列舉項的任意及全部組合。
更容易理解的是,雖然本文會使用術語「第一」、「第二」等來敍述各種元件,但這些元件不應被這些術語所限制。這些術語僅用以區別一個元件與另一元件。舉例而言,在不脫離本發明之教示的前提下,第一訊號可稱為第二訊號,同理,第二訊號也可稱為第一訊號。
圖1繪示為依照本發明之一實施例的源影像和沿著預定
方向來旋轉源影像而得到的旋轉影像(也稱為目標影像)。源影像可依據(例如)顯示元件的設定、使用者的設定或系統設定來以各種方式旋轉。在本文,術語「旋轉影像」和「目標影像」可互換使用。
如圖1所示,源影像可相對於X軸旋轉到相反位置(X
翻轉),相對於Y軸旋轉到相反位置(Y翻轉),或相對於XY軸旋轉到相反位置(XY翻轉(180’))。此外,源影像可順時針旋轉90度(90’),可相對於X軸旋轉到相反位置,然後逆時針旋轉90度(90’+X翻轉)或270度(270’+X翻轉),或者可順時針旋轉270度(270’)。
如上所述,旋轉影像便是目標影像。每次旋轉所用的位
址存取型樣(address access pattern)可如上文所述來定義。
圖2是依照本發明之一實施例的一種包括記憶體管理單
元10的電子設備100的方塊圖。舉例而言,此電子系統100可以是諸如智慧型手機、個人電腦(personal computer,PC)、平板電腦(tablet PC)、輕省筆電(netbook)、電子書閱讀器(e-reader)、個人數位助理(personal digital assistant,PDA)、可攜式多媒體播放器(portable multimedia player,PMP)、MP3播放器或MP4播放
器等資料處理設備。然而,電子系統100並不限於這些。電子系統100包括系統晶片(SoC)1,其控制著電子系統100的整體操作。
舉例而言,系統晶片1可以是能夠讀取和執行程式指令
的處理器。系統晶片1可包括記憶體管理單元10。系統晶片1執行程式指令,例如,藉由輸入元件120而輸入的輸入訊號所產生的程式指令。系統晶片1從記憶元件110讀取資料,且藉由顯示器130來顯示此資料。記憶元件110根據從系統晶片1接收的請求來處理資料。
記憶元件110可包括分頁表115,用來將虛擬位址轉譯成
實體位址。雖然圖2繪示為記憶元件110與系統晶片1分開放置,但記憶元件110的位置並不限於此。舉例而言,在一實施例中,記憶元件110可組態在系統晶片1內。舉例而言,輸入元件120可以是鍵區(keypad)、鍵盤或者諸如觸摸墊或電腦滑鼠等指向元件。
圖3是依照本發明之一實施例的圖2所示之系統晶片1
的方塊圖。請參照圖2與圖3,系統晶片1可包括中央處理單元3、快取記憶體(cache)5以及記憶體管理單元10。
中央處理單元3可以是系統晶片1中讀取和執行程式指
令的部分。記憶體管理單元10可用來將顯示控制器80所輸出的虛擬位址轉譯成實體位址。
快取記憶體5是一種能夠儲存資料以便對記憶元件110
進行快速資料讀寫的元件。中央處理單元3可從記憶元件110讀取頁面的內容,且將其儲存到快取記憶體5中。此過程可稱之為
執行頁入過程(page-in process)。中央處理單元3也可將已經儲存在快取記憶體5中的頁面的內容寫入到記憶元件110。此過程可稱之為執行頁出過程(page-out process)。
記憶體管理單元10是在收到中央處理單元3的請求時對記憶元件110執行存取操作的硬體元件。舉例而言,記憶體管理單元10的功能可包括:將中央處理單元3、圖形處理單元(graphics processing unit,GPU)、顯示控制器80或包含在多媒體加速單元60中的圖形引擎62所發出的請求所對應的虛擬位址轉譯成實體位址;記憶體保護;控制快取記憶體5;匯流排仲裁(bus arbitration)及/或記憶庫切換(bank switching)。
系統晶片1也可包括系統周邊單元50、多媒體加速單元60、連通單元70、顯示控制器80以及記憶體介面單元90。系統周邊單元50、多媒體加速單元60、連通單元70、顯示控制器80和記憶體介面單元90藉由系統匯流排40來傳送和接收資料或指令。系統匯流排40可包括多個通道(channels)。舉例而言,根據AXI協定,這些通道可包括讀取資料通道(R)、讀取位址通道(AR)、寫入位址通道(WR)、寫入回應通道(B)以及寫入資料通道(W)。
系統周邊單元50可包括即時時鐘(real-time clock,RTC)、鎖相迴路(phase-locked loop,PLL)以及監視計時器(watch dog timer)。多媒體加速單元60可包括圖形引擎62。多媒體加速單元60可更包括:相機介面(interface,IF)61;圖形引擎62,可與訊框緩衝區(frame buffer)或其他視訊顯示電路整合在一起以便進行圖形計算;以及高畫質多媒體介面(high-definition
multimedia interface,HDMI)63,它是一種用以傳送未壓縮數位資料的音訊/視訊介面。記憶體管理單元10可用來將圖形引擎62所輸出的工作組的虛擬位址轉譯成實體位址。在各實施例中,除高畫質多媒體介面63外或取而代之的是,多媒體加速單元60可包括類比電視編碼系統,例如,國家電視系統委員會(national television system committee,NTSC)/相替用線(phase alternate line,PAL)系統。
連通單元70可包括音訊介面、儲存介面(例如,先進技
術附接(advanced technology attachment,ATA)介面)以及連通介面。連通單元70與輸入元件120相通。
顯示控制器80控制著要顯示在顯示器130上的資料。記
憶體管理單元10可用來將顯示控制器80所輸出的虛擬位址轉譯成實體位址。
記憶體介面單元90根據記憶元件110的記憶體類型(例
如,快閃記憶體(flash memory)、動態隨機存取記憶體(dynamic random access memory,DRAM),等等)來啟用要存取的記憶元件110。
為便於說明,諸如中央處理單元3、圖形引擎62和顯示
控制器80等以工作組為單位來進行資料處理的處理器在本文均可稱為智慧財產方塊。這些智慧財產方塊可對每個工作組進行操作,且可一次處理多個工作組。工作組是指儲存在記憶元件110中的資料組。工作組表示記憶元件110中常被智慧財產方塊提及的一組頁面,或者可從智慧財產方塊被載入到記憶元件110的頁面數量。智慧財產方塊中的每個工作組可獨立於其他工作組來進
行管理。舉例而言,單個工作組可以是連續虛擬位址的資料。
圖4是依照本發明之一實施例的圖2所示之記憶體管理
單元10的方塊圖。請參照圖2至圖4,記憶體管理單元10可包括轉譯後備表(translation lookaside table,TLB)12,且可藉由多條通道(例如,讀取資料通道(R)、讀取位址通道(AR)、寫入位址通道(AW)、寫入回應通道(B)以及寫入資料通道(W))來與智慧財產方塊60和記憶元件110相連接。在本文,圖4所示之智慧財產方塊60可稱為主智慧財產方塊60。
智慧財產方塊60請求執行資料存取操作以處理多個工作
組。為執行資料存取操作,智慧財產方塊60輸出與每個工作組相對應的請求給記憶體管理單元10或快取記憶體5。此時,智慧財產方塊60所輸出的請求包括與要存取的資料有關的資訊,例如,工作組在記憶元件110中的虛擬位址VA。
收到主智慧財產方塊60的請求後,記憶體管理單元10
利用虛擬位址VA來計算和輸出實體頁面位址PA。實體頁面位址PA是虛擬位址VA的頁面編號和虛擬位址VA的位移量(offset)(例如,分頁表指標)的組合,它是一種作為指標來存取分頁表115的位址。
轉譯後備緩衝區12是用以提高虛擬位址轉譯速度的記憶
體管理硬體。頁面編號和訊框編號被對映(mapped)在轉譯後備緩衝區12中。舉例而言,轉譯後備緩衝區12儲存表示智慧財產方塊60所提及的頁面的虛擬位址VA與實體位址PA之間對映關係的對映資訊。將虛擬位址VA轉譯成實體位址PA時,記憶體管理單元10先查核轉譯後備緩衝區12。當與智慧財產方塊60的請
求相對應的虛擬位址VA的對映資訊存在於轉譯後備緩衝區12時,記憶體管理單元10直接進行轉譯,而無需存取記憶元件110(本文稱為轉譯後備緩衝區命中(TLB hit))。
當與智慧財產方塊60的請求相對應的虛擬位址VA的對
映資訊不存在於轉譯後備緩衝區12時(本文稱為轉譯後備緩衝區缺失(TLB miss)),執行分頁表走道(page table walk,PTW)。分頁表走道是指存取分頁表115且在轉譯後備緩衝區缺失的情形下(也就是說,當轉譯後備緩衝區12中沒有與虛擬位址VA相互對映的實體位址PA的資訊時)判斷虛擬位址VA的頁面編號和訊框編號是否存在於分頁表115的過程。分頁表115為記憶元件110中的資料儲存關於虛擬位址VA與實體位址PA之間對映關係的資訊。
當智慧財產方塊60試圖利用實體位址PA來讀取指令或
資料且此實體位址PA所對應的指令或資料存在於快取記憶體5中時,快取記憶體5直接將指令或資料輸出給智慧財產方塊60(本文稱為快取記憶體命中(cache hit)),而無需存取記憶元件110。
當指令或資料不存在於快取記憶體5中時,快取記憶體5存取資料/指令儲存方塊117來讀取指令或資料(本文稱為快取記憶體缺失(cache miss))。資料/指令儲存方塊117儲存與記憶元件110中的每個資料/指令有關的資訊。
圖5是依照本發明之一實施例基於圖4所示之分頁表115
來闡釋虛擬位址VA與實體位址PA之間對映關係的圖式。在本實施例中,假定記憶體管理單元10是在轉譯後備緩衝區缺失後執行分頁表走道。
請參照圖5,對於讀取源影像的第一工作組,智慧財產方塊發出讀取虛擬位址VA(6)至VA(9)所對應的源影像區的請求。當與虛擬位址VA(6)至VA(9)相對應的實體位址資訊不存在於轉譯後備緩衝區12時(例如,在轉譯後備緩衝區缺失的情形下),記憶體管理單元10存取分頁表115且執行分頁表走道。
分頁表115包括與頁面的虛擬位址VA相對映的實體位址資訊,例如,多個分頁表條目。記憶元件110將分頁表115的有關資訊儲存在實體位址PA(1)。
分頁表115透過分頁表條目pte6至pte9向記憶體管理單元10表明與第一工作組的虛擬位址VA(6)至VA(9)相對應的實體位址資訊。記憶體管理單元10根據從分頁表115接收的實體位址資訊來存取實體位址PA(8)、PA(11)、PA(9)和PA(6),讀取儲存在實體位址PA(8)、PA(11)、PA(9)和PA(6)的資料,且將資料傳送給發出源影像區讀取請求的智慧財產方塊。
與源影像所用的方式相同的是,對於讀取目標影像的第二工作組,智慧財產方塊發出讀取虛擬位址VA(12)至VA(15)所對應的目標影像區的請求。當與虛擬位址VA(12)至VA(15)相對應的實體位址資訊不存在於轉譯後備緩衝區12時(例如,在轉譯後備緩衝區缺失的情形下),記憶體管理單元10存取分頁表115且執行分頁表走道。
分頁表115透過分頁表條目pte12至pte15向記憶體管理單元10表明與第二工作組的虛擬位址VA(12)至VA(15)相對應的實體位址資訊。記憶體管理單元10根據從分頁表115接收的實體位址資訊來存取實體位址PA(14)、PA(5)、PA(10)和PA(12),讀取
儲存在實體位址PA(14)、PA(5)、PA(10)和PA(12)的資料,且將資料傳送給發出目標影像區讀取請求的智慧財產方塊。
圖6是依照本發明之一實施例的一種記憶體管理單元10’
的圖式。為便於說明,僅繪示了中央處理單元3、智慧財產方塊4、匯流排41以及記憶元件110。然而,容易理解的是,也可包括額外的元件,例如,圖3所示的一些元件。智慧財產方塊4在本文可稱為主智慧財產方塊4。
智慧財產方塊4以工作組為單位來進行操作,且對多個工作組執行操作。在記憶元件110中,工作組可相互獨立,且智慧財產方塊4可獨立地操作每個工作組。舉例而言,智慧財產方塊4可以是圖形處理單元、圖形引擎62或者任何能夠進行直接記憶體存取的處理單元。在處理每個工作組時,智慧財產方塊4會輸出資料存取請求給記憶體管理單元10’。
本文將參照圖6來闡述智慧財產方塊4從記憶元件110讀取資料的實例。此處,智慧財產方塊4處理工作組A和工作組B。在本例中,假定工作組A對應於旋轉源影像90度,且工作組B對應於旋轉源影像180度,如圖1所示。
在智慧財產方塊4發出資料存取請求前,中央處理單元3將分頁表115寫入到記憶元件110。分頁表115包括多個將虛擬位址與實體位址相互對映的分頁表條目。
中央處理單元3設定預取方向資訊。在圖6所示之實施例中,中央處理單元3在特殊功能暫存器203中設定對應於工作組A的預取方向資訊和對應於工作組B的預取方向資訊B。依照各實施例,預取方向資訊可用來指示下一分頁表條目在分頁表115
中所處的位置。提供預取方向資訊給記憶體管理單元10’(例如,將預取方向告知於記憶體管理單元10’)可提高記憶體管理單元10’預取下一分頁表條目的效率,這樣可提高預取命中率,從而改善記憶體管理單元10’的效能。舉例而言,預取方向可包括根據對應的資料工作組來存取實體位址所採用的型樣的相關資訊(舉例而言,請參見圖5)。
當記憶體管理單元10’從智慧財產方塊4收到資料存取請
求時,記憶體管理單元10’根據資料存取請求所包含的虛擬位址來識別工作組。記憶體管理單元10’查核轉譯後備緩衝區12’中是否存在與虛擬位址相對應的實體位址資訊,若轉譯後備緩衝區缺失則執行分頁表走道。
記憶體管理單元10’可包括分配給工作組的預取緩衝區。舉例而言,在圖6所示之實施例中,記憶體管理單元10’包括預取緩衝區A 201和預取緩衝區B 202。預取緩衝區A 201和預取緩衝區B 202提取或預取將會被記憶體管理單元10’存取的分頁表條目,且暫時儲存所提取/預取的分頁表條目。
對於工作組A,記憶體管理單元10’基於特殊功能暫存器
203中所設定的預取方向資訊A從分頁表115中提取分頁表條目,對工作組A進行位址轉譯,且基於特殊功能暫存器203中所設定的預取方向資訊A將隨後要存取的分頁表條目儲存在預取緩衝區A 201中。基於所提取的分頁表條目對工作組A執行位址轉譯後,記憶體管理單元10’基於所預取的分頁表條目來進行位址轉譯。與工作組A所用的方式相同,對於工作組B,記憶體管理單元10’基於特殊功能暫存器203中的預取方向資訊設定B來提取和預取
分頁表條目,且進行位址轉譯。記憶體管理單元10’存取藉由工作組A和B的位址轉譯而得到的實體位址,且從記憶元件110中讀取工作組資料A和工作組資料B。由於特殊功能暫存器203中設定有存取方向,故提取操作後用以查找預取方向的時間可減少。
因此,可改善系統晶片1的效能和處理速度。
雖然本文僅闡述了讀取操作,但本發明的各實施例也同
樣適用於寫入操作和抹除操作。
圖7是依照本發明之一實施例的圖2所示之記憶體管理
單元10的圖式。為便於說明,僅繪示了中央處理單元3、匯流排42、智慧財產方塊4、記憶體管理單元11A和11B、匯流排互連43和44以及記憶元件110。然而,容易理解的是,也可包括額外的元件,例如,圖3及/或圖6所示的一些元件。智慧財產方塊4在本文可稱為主智慧財產方塊4。
請參照圖7,智慧財產方塊4是以工作組為單位來操作,
且對多個工作組進行操作。在記憶元件110中,工作組可相互獨立,且智慧財產方塊4可獨立地操作每個工作組。智慧財產方塊4輸出關於每個工作組的資料存取請求給記憶體管理單元11A或記憶體管理單元11B。
本文將參照圖7來闡述智慧財產方塊4從記憶元件110
讀取資料的實例。此處,智慧財產方塊4處理工作組A和工作組B。在本例中,假定工作組A對應於旋轉源影像90度,且工作組B對應於旋轉源影像180度,如圖1所示。
在智慧財產方塊4發出資料存取請求前,中央處理單元3將分頁表115寫入到記憶元件110。分頁表115包括多個分別對應
於實體位址的分頁表條目。
中央處理單元3設定預取方向資訊。在圖7所示之實施
例中,中央處理單元3在特殊功能暫存器A 303中設定對應於工作組A的預取方向資訊A,且在特殊功能暫存器B 313中設定對應於工作組B的預取方向資訊B。
中央處理單元3分別將記憶體管理單元11A和11B分配
給工作組A和B。在圖7所示之實施例中,中央處理單元3為每個工作組A和B設定位址資訊,使得記憶體管理單元11A對工作組A進行位址轉譯,而記憶體管理單元11B對工作組B進行位址轉譯。舉例而言,中央處理單元3在位址分配器45中為每個工作組設定記憶體管理單元分配資訊。此位址分配器可包括表示工作組的開始虛擬位址和結束虛擬位址的指標資訊。
當智慧財產方塊4發出資料存取請求時,位址分配器45
會發送與記憶體管理單元11A或11B相對應的識別(ID)資訊給(第一)匯流排互連43,其中記憶體管理單元11A或11B被分配給與資料存取請求所包含的虛擬位址VA相對應的工作組。(第一)匯流排互連43將與識別資訊相對應的記憶體管理單元11A或11B連接到智慧財產方塊4,且傳送資料存取請求給記憶體管理單元11A或11B。舉例而言,當智慧財產方塊4發出關於工作組A的資料存取請求時,位址分配器45將分配給工作組B的記憶體管理單元11A的識別資訊傳送給(第一)匯流排互連43。(第一)匯流排互連43打開通道A,且將智慧財產方塊4發來的資料存取請求傳送給記憶體管理單元11A。
當記憶體管理單元11A和11R從智慧財產方塊4收到資
料存取請求時,記憶體管理單元11A和11B分別判斷與虛擬位址VA相對應的實體位址資訊是否存在於轉譯後備緩衝區12A和12B,若轉譯後備緩衝區缺失則執行分頁表走道。
在圖7所示之實施例中,中央處理單元3在每個特殊功
能暫存器303和313中僅設定一個預取方向。舉例而言,特殊功能暫存器303僅儲存預取方向資訊A而不儲存預取方向資訊B,而特殊功能暫存器313僅儲存預取方向資訊B而不儲存預取方向資訊A。類似地,預取緩衝區A 302和預取緩衝區B 312都僅儲存相關工作組的隨後將被提取的下一分頁表條目,其中相關工作組是指被分配以每個預取緩衝區A 302或預取緩衝區B 312所屬之記憶體管理單元11A或11B的工作組。
舉例而言,當發出關於工作組A的資料存取請求時,記
憶體管理單元11A基於特殊功能暫存器303中所設定的預取方向資訊A從分頁表115中提取分頁表條目,對工作組A進行位址轉譯,且將隨後要存取的分頁表條目儲存在預取緩衝區A 302中。
基於所提取的分頁表條目對工作組A執行位址轉譯後,記憶體管理單元11A基於所預取的分頁表條目來進行位址轉譯。同理,記憶體管理單元11B基於特殊功能暫存器313中所設定的預取方向資訊B來提取和預取分頁表條目,且進行位址轉譯。
記憶體管理單元11A和11B分別存取藉由工作組A和B
的位址轉譯而得到的實體位址,且從記憶元件110分別讀取工作組資料A和工作組資料B。
雖然本文僅闡述了讀取操作,但本發明的各實施例也同
樣適用於寫入操作和抹除操作。
圖8是依照本發明之一實施例的分頁表的欄位結構的圖式。請參照圖8,分頁表包括多個分頁表條目#1至#N,舉例而言,每個分頁表條目可包括64位元。然而,各實施例並不限於此情形。
在每個分頁表條目#1至#N中,第一組高位元[31:12]代表與虛擬頁面位址相對應的實體頁面編號PPN;低位元[11:0]可表示頁面最近是否被存取過、存取權、讀/寫可用性(read/write availability)以及該頁面是否已被載入到實體位址;以及第二組高位元[31:12]代表下次要存取的頁面資訊NextVPN。
第二組高位元[31:12]可構成預取方向欄位。舉例而言,當記憶體管理單元10在分頁表走道過程中提取分頁表條目時,可基於第二組高位元[31:12](例如,所提取的分頁表條目所包含的預取方向欄位)來偵測應執行下一個預取操作的位置。
或者,第二組高位元[31:12]可構成預取目標條目編號欄位。舉例而言,當記憶體管理單元10在分頁表走道過程中提取分頁表條目時,可基於第二組高位元[31:12](例如,所提取的分頁表條目所包含的預取目標條目編號欄位)來存取下一分頁表條目。
預取方向欄位或預取目標條目編號欄位可被中央處理單元3寫入到分頁表115。
圖9是依照本發明之各實施例的一種記憶體管理單元操作方法的流程圖。請參照圖9,在操作S11中,中央處理單元3(在本文可稱為主處理器3)將分頁表寫入到記憶元件110。舉例而言,如圖5所示,主處理器3控制著要被寫入到實體位址PA(1)的分頁表資訊。
在操作S12中,主處理器3設定記憶體管理單元分配資
訊。舉例而言,當智慧財產方塊4對至少一個工作組進行操作時,需設定至少一個記憶體管理單元10當中的記憶體管理單元10的分配資訊,以便進行工作組位址轉譯。舉例而言,如圖7所示,當智慧財產方塊4對兩個工作組操作時,主處理器3會在位址分配器45中設定記憶體管理單元分配資訊,以便基於每個工作組的虛擬位址來分配記憶體管理單元10以進行位址轉譯。位址分配器45可包括位址暫存器。在此情形下,主處理器3可在位址暫存器中設定與工作組的虛擬位址有關的記憶體管理單元對映資訊。
在操作S13中,主處理器3為每個記憶體管理單元10設
定預取方向。舉例而言,當記憶體管理單元10被分配給90度旋轉的工作組時,主處理器3會在記憶體管理單元10中設定預取方向,用以預測下次要存取的資料的虛擬位址,以便讀取旋轉90度的源影像。如上文所述,預取方向可設定在特殊功能暫存器中,可定義為分頁表115中的分頁表條目的預取方向欄位,或者可定義為分頁表條目的預取目標條目編號欄位。
當僅有一個記憶體管理單元10時,主處理器3可在記憶
體管理單元10所包含的唯一一個特殊功能暫存器中設定和儲存與工作組數量相同的預取方向。當存在多個記憶體管理單元10時,主處理器3可在每個記憶體管理單元10所包含的特殊功能暫存器中設定和儲存工作組的預取方向。
當智慧財產方塊4對至少一個工作組執行操作時,在操
作S14中,藉由記憶體管理單元10來請求存取與工作組相對應的資料。舉例而言,智慧財產方塊4傳送讀取命令和要讀取的資料的虛擬位址給記憶體管理單元10。
在操作S15中,記憶體管理單元10在收到智慧財產方塊4的存取請求後對工作組進行位址轉譯。舉例而言,記憶體管理單元10判斷與工作組的虛擬位址有關的對映資訊是否存在於轉譯後備緩衝區12。當對映資訊存在於轉譯後備緩衝區12時,在操作S16中,記憶體管理單元10存取記憶元件10中與此虛擬位址相對應的實體位址,且讀取資料。當對映資訊不存在於轉譯後備緩衝區12時,在操作S17中,記憶體管理單元10存取分頁表115,且執行分頁表走道。
在操作S18中,記憶體管理單元10存取分頁表115,提
取分頁表條目(例如,當前分頁表條目),根據預取方向來預取下一分頁表條目,且將下一分頁表條目儲存在預取緩衝區內。在操作S19中,記憶體管理單元10基於所提取的分頁表條目和所預取的下一分頁表條目來將工作組的虛擬位址轉譯成實體位址,且存取此實體位址的資料。在操作S20中,記憶體管理單元10將資料傳送給智慧財產方塊4。
圖10是依照本發明之一實施例的一種包括圖2所示之系
統晶片1的電子設備400。請參照圖10,舉例而言,此電子設備400可以是行動電話、智慧型手機、平板電腦、個人數位助理、可攜式多媒體播放器或無線電通訊系統,然而,電子設備400並不限於這些。
電子設備400包括用以儲存資料的記憶元件410。舉例而
言,此記憶元件410可包括非揮發性(non-volatile)記憶體和記憶體控制器。記憶體控制器可根據系統晶片1的控制來控制非揮發性記憶體的資料存取操作(例如,編程操作、抹除操作或讀取
操作)。
無線電收發器420透過天線來傳送或接收無線電訊號。
舉例而言,無線電收發器420可將透過天線而收到的無線電訊號轉換成能夠被系統晶片1處理的訊號。因此,系統晶片1可處理無線電收發器420輸出的訊號,且將處理後的訊號傳送給記憶元件410或顯示器440。記憶體控制器可將系統晶片1處理後的訊號編程或寫入到非揮發性記憶體。無線電收發器420也可將系統晶片1輸出的訊號轉換成無線電訊號,且透過天線將無線電訊號輸出至外部設備。
輸入元件430啟用用以控制系統晶片1之操作的控制訊
號,或要被系統晶片1處理的資料,以便輸入到電子設備400。舉例而言,此輸入元件430可以是鍵區、鍵盤或者諸如觸摸墊或電腦滑鼠等指向元件,然而,輸入元件430並不限於這些。
系統晶片1可控制顯示器440的操作以顯示從記憶元件
410輸出的資料、從無線電收發器420輸出的資料或從輸入元件430輸出的資料。
在各實施例中,用以控制非揮發性記憶體之操作的記憶
體控制器可作為系統晶片1的一部分來實施,也可在系統晶片1外的晶片上實施。
圖11是依照本發明之一實施例的一種包括圖2所示之系
統晶片1的電子設備500。請參照圖11,舉例而言,此電子設備500可以是諸如數位相機、裝有數位相機的行動電話、裝有數位相機的智慧型手機或裝有數位相機的平板電腦等影像處理設備,然而,影像處理設備並不限於這些。
電子設備500包括記憶元件520。此記憶元件可包括非揮發性記憶體和用以控制非揮發性記憶體之資料處理操作(例如,編程操作、抹除操作以及讀取操作)的記憶體控制器。包含在電子設備500中的影像感測器510將光學影像轉換成數位訊號,且將數位訊號輸出至系統晶片1或記憶元件520。數位訊號可經系統晶片1控制,以便顯示在顯示器530上或儲存在記憶元件520中。
根據系統晶片1或記憶體控制器的控制,儲存在記憶元件520中的資料可顯示在顯示器530上。用以控制非揮發性記憶體之操作的記憶體控制器可作為系統晶片1的一部分也可作為獨立的晶片來實施。
如上所述,依照本發明的各實施例,記憶體管理單元被告知預取方向,且根據預取方向來預取分頁表條目。如此一來,可提高預取命中率,且可改善記憶體管理單元的效能。
雖然本發明已參照各實施例做了詳細繪示和闡述,然而容易為本領域中具有通常知識者所理解的是,在不脫離本發明之精神和範圍的前提下,當可做各種形式和細節上的更動,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
3‧‧‧中央處理單元
4‧‧‧智慧財產方塊
11A、11B‧‧‧記憶體管理單元
12A、12B‧‧‧轉譯後備緩衝區
42‧‧‧匯流排
43、44‧‧‧匯流排互連
45‧‧‧位址分配器
110‧‧‧記憶元件
115‧‧‧分頁表
302‧‧‧預取緩衝區A
312‧‧‧預取緩衝區B
303‧‧‧特殊功能暫存器A
313‧‧‧特殊功能暫存器B
VA‧‧‧虛擬位址
Claims (10)
- 一種系統晶片,包括:中央處理單元,其經組態以設定與資料工作組相對應的預取方向;智慧財產方塊,其經組態以處理所述資料工作組;以及記憶體管理單元,其經組態以便在所述資料工作組的虛擬位址與實體位址之間的位址轉譯過程中基於所述預取方向從分頁表中預取下一分頁表條目。
- 如申請專利範圍第1項所述的系統晶片,更包括:記憶元件,其包括所述分頁表,其中所述分頁表包括含有所述下一分頁表條目在內的多個分頁表條目,其中所述記憶體管理單元包括:轉譯後備緩衝區,其經組態以儲存所述虛擬位址與所述實體位址之間的對映資訊;儲存單元,其經組態以儲存所述預取方向;以及預取緩衝區,其經組態以儲存所述下一分頁表條目。
- 如申請專利範圍第1項所述的系統晶片,其中所述中央處理單元經組態以設定關於所述記憶體管理單元的分配資訊,其中根據所述分配資訊來為所述資料工作組分配所述記憶體管理單元,且所述記憶體管理單元經組態以便在收到來自所述智慧財產方塊的資料請求時執行所述位址轉譯。
- 如申請專利範圍第1項所述的系統晶片,更包括:位址分配器,其經組態以儲存所述中央處理單元為將所述記憶體管理單元分配給所述資料工作組而設定的分配資訊,且基於 所述分配資訊來分配所述記憶體管理單元以回應於從所述智慧財產方塊接收的請求。
- 如申請專利範圍第1項所述的系統晶片,更包括:記憶元件,其包括所述分頁表,其中所述分頁表包括含有所述下一分頁表條目在內的多個分頁表條目,其中每個分頁表條目包括實體頁面位址、位移量以及用以儲存所述預取方向的預取方向欄位。
- 如申請專利範圍第1項所述的系統晶片,更包括:記憶元件,其包括所述分頁表,其中所述分頁表包括含有所述下一分頁表條目在內的多個分頁表條目,其中每個分頁表條目包括實體頁面位址、位移量以及預取目標條目編號欄位,所述預取目標條目編號欄位根據所述預取方向來儲存要被存取的所述下一分頁表條目。
- 如申請專利範圍第1項所述的系統晶片,其中所述預取方向包括根據所述資料工作組來存取所述實體位址所用的型樣的相關資訊。
- 一種系統晶片,包括:中央處理單元,其經組態以設定預取方向資訊和記憶體管理單元分配資訊;智慧財產方塊,其經組態以處理至少一個資料工作組;記憶體管理單元,其經組態以儲存要分配給所述至少一個資料工作組的所述預取方向資訊,且將所述智慧財產方塊之請求所 對應的所述至少一個資料工作組的虛擬位址轉譯成實體位址;位址分配器,其經組態以儲存所述記憶體管理單元分配資訊,且基於所述記憶體管理單元分配資訊來分配所述記憶體管理單元,以便對所述虛擬位址進行轉譯;以及記憶元件,其經組態以儲存資料和所述資料的實體位址資訊,其中所述記憶元件包括含有多個分頁表條目的分頁表,其中所述記憶體管理單元又經組態以基於所述預取方向資訊從所述分頁表中預取下次要存取的下一分頁表條目,其中所述記憶體管理單元包括:轉譯後備緩衝區,其經組態以儲存所述虛擬位址與所述實體位址之間的對映資訊;特殊功能暫存器,其經組態以儲存所述預取方向資訊;以及預取緩衝區,其經組態以基於所述預取方向資訊從所述分頁表中預取所述下一分頁表條目,且儲存所述下一分頁表條目。
- 如申請專利範圍第8項所述的系統晶片,其中所述多個分頁表條目中的每個分頁表條目包括實體頁面位址、位移量以及用以儲存所述預取方向的預取方向欄位,且所述記憶體管理單元經組態以基於所述預取方向欄位來預取所述下一分頁表條目。
- 如申請專利範圍第8項所述的系統晶片,其中所述多個分頁表條目中的每個分頁表條目包括實體頁面編號、位移量以及預取目標條目編號欄位,且所述記憶體管理單元經組態以預取與所述預取目標條目編號欄位相對應的所述下一分頁表條目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130025727A KR102069273B1 (ko) | 2013-03-11 | 2013-03-11 | 시스템 온 칩 및 그 동작방법 |
??10-2013-0025727 | 2013-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201439764A true TW201439764A (zh) | 2014-10-16 |
TWI621945B TWI621945B (zh) | 2018-04-21 |
Family
ID=51385722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103107120A TWI621945B (zh) | 2013-03-11 | 2014-03-04 | 系統晶片 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9880940B2 (zh) |
JP (1) | JP6370065B2 (zh) |
KR (1) | KR102069273B1 (zh) |
CN (1) | CN104050089B (zh) |
AU (1) | AU2014201012A1 (zh) |
DE (1) | DE102014103056A1 (zh) |
NL (1) | NL2012387B1 (zh) |
TW (1) | TWI621945B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI575380B (zh) * | 2015-02-03 | 2017-03-21 | 英特爾股份有限公司 | 用於虛擬化之細粒度位址重新映射 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9741150B2 (en) | 2013-07-25 | 2017-08-22 | Duelight Llc | Systems and methods for displaying representative images |
US9542332B2 (en) * | 2014-11-13 | 2017-01-10 | Via Alliance Semiconductor Co., Ltd. | System and method for performing hardware prefetch tablewalks having lowest tablewalk priority |
US9792215B2 (en) | 2015-03-28 | 2017-10-17 | Qualcomm Incorporated | Command-driven translation pre-fetch for memory management units |
KR102491622B1 (ko) * | 2015-11-17 | 2023-01-25 | 삼성전자주식회사 | 가상 어드레스 생성기의 동작 방법과 이를 포함하는 시스템의 동작 방법 |
US10402332B2 (en) * | 2016-05-24 | 2019-09-03 | Xilinx, Inc. | Memory pre-fetch for virtual memory |
US10303621B1 (en) * | 2017-03-07 | 2019-05-28 | Amazon Technologies, Inc. | Data protection through address modification |
WO2020167459A1 (en) | 2019-02-13 | 2020-08-20 | Google Llc | Caching streams of memory requests |
CN110046106B (zh) * | 2019-03-29 | 2021-06-29 | 海光信息技术股份有限公司 | 一种地址转换方法、地址转换模块及系统 |
US11327757B2 (en) * | 2020-05-04 | 2022-05-10 | International Business Machines Corporation | Processor providing intelligent management of values buffered in overlaid architected and non-architected register files |
CN111800625B (zh) * | 2020-07-06 | 2021-12-03 | 安徽文香科技有限公司 | 一种hdmi端口摄像头连接检测方法、装置及设备 |
CN112000592B (zh) * | 2020-07-27 | 2023-08-22 | 瑞芯微电子股份有限公司 | 一种模块间数据交互的方法和装置 |
CN113722246B (zh) * | 2021-11-02 | 2022-02-08 | 超验信息科技(长沙)有限公司 | 处理器中物理内存保护机制的实现方法及装置 |
CN114238167B (zh) * | 2021-12-14 | 2022-09-09 | 海光信息技术股份有限公司 | 信息预取方法、处理器、电子设备 |
CN114281720B (zh) * | 2021-12-14 | 2022-09-02 | 海光信息技术股份有限公司 | 处理器、用于处理器的地址翻译方法、电子设备 |
CN117349204B (zh) * | 2023-12-04 | 2024-02-09 | 中科亿海微电子科技(苏州)有限公司 | 一种用于提高axi总线读效率的装置及方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149680A (ja) * | 1992-11-12 | 1994-05-31 | Nec Corp | アドレス変換装置 |
EP0752644A3 (en) | 1995-07-07 | 2001-08-22 | Sun Microsystems, Inc. | Memory management unit incorporating prefetch control |
JP2000035918A (ja) * | 1998-07-16 | 2000-02-02 | Fujitsu Ltd | キャッシュメモリ装置 |
US6628294B1 (en) * | 1999-12-31 | 2003-09-30 | Intel Corporation | Prefetching of virtual-to-physical address translation for display data |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6931494B2 (en) * | 2002-09-09 | 2005-08-16 | Broadcom Corporation | System and method for directional prefetching |
KR20040038548A (ko) | 2002-11-01 | 2004-05-08 | 삼성전자주식회사 | 높은 히트율을 갖는 캐쉬 메모리 시스템 및 그의 데이터캐슁 방법 |
US7519791B2 (en) * | 2004-02-06 | 2009-04-14 | Intel Corporation | Address conversion technique in a context switching environment |
US20050198439A1 (en) * | 2004-03-04 | 2005-09-08 | Fredy Lange | Cache memory prefetcher |
US7277991B2 (en) * | 2004-04-12 | 2007-10-02 | International Business Machines Corporation | Method, system, and program for prefetching data into cache |
US20060136696A1 (en) | 2004-12-16 | 2006-06-22 | Grayson Brian C | Method and apparatus for address translation |
US7886126B2 (en) * | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
US20060168432A1 (en) | 2005-01-24 | 2006-07-27 | Paul Caprioli | Branch prediction accuracy in a processor that supports speculative execution |
KR100699656B1 (ko) | 2005-03-15 | 2007-03-23 | 미쓰비시덴키 가부시키가이샤 | 제어 회로 및 제어 방법 |
US7447869B2 (en) * | 2005-04-07 | 2008-11-04 | Ati Technologies, Inc. | Method and apparatus for fragment processing in a virtual memory system |
US7395406B2 (en) | 2005-05-12 | 2008-07-01 | International Business Machines Corporation | System and method of large page handling in a virtual memory system |
US7793067B2 (en) | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
US8024547B2 (en) * | 2007-05-01 | 2011-09-20 | Vivante Corporation | Virtual memory translation with pre-fetch prediction |
US7584394B2 (en) | 2007-07-18 | 2009-09-01 | International Business Machines Corporation | System and method for pseudo-random test pattern memory allocation for processor design verification and validation |
KR100981884B1 (ko) | 2008-01-08 | 2010-09-14 | 한국과학기술원 | 컴퓨터 저장장치에서의 프리페칭 데이터 관리 방법 |
US8161264B2 (en) * | 2008-02-01 | 2012-04-17 | International Business Machines Corporation | Techniques for data prefetching using indirect addressing with offset |
KR20100005539A (ko) | 2008-07-07 | 2010-01-15 | 삼성전자주식회사 | 캐시 메모리 시스템 및 캐시의 프리페칭 방법 |
KR101598828B1 (ko) * | 2008-12-22 | 2016-03-02 | 삼성전자주식회사 | 메모리 장치의 페이지 오픈 시간 조절 방법 및 이를 이용한메모리 시스템 |
US8161246B2 (en) | 2009-03-30 | 2012-04-17 | Via Technologies, Inc. | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry |
US8397049B2 (en) * | 2009-07-13 | 2013-03-12 | Apple Inc. | TLB prefetching |
US9092358B2 (en) * | 2011-03-03 | 2015-07-28 | Qualcomm Incorporated | Memory management unit with pre-filling capability |
KR20120127108A (ko) * | 2011-05-13 | 2012-11-21 | 삼성전자주식회사 | 메모리 시스템 |
KR101299767B1 (ko) | 2011-09-02 | 2013-08-23 | 주식회사 포스코 | 원료 투입용 벨트 컨베이어 |
US9251083B2 (en) * | 2013-03-11 | 2016-02-02 | Via Technologies, Inc. | Communicating prefetchers in a microprocessor |
-
2013
- 2013-03-11 KR KR1020130025727A patent/KR102069273B1/ko active IP Right Grant
-
2014
- 2014-02-26 AU AU2014201012A patent/AU2014201012A1/en not_active Abandoned
- 2014-03-04 TW TW103107120A patent/TWI621945B/zh active
- 2014-03-07 DE DE102014103056.7A patent/DE102014103056A1/de not_active Withdrawn
- 2014-03-10 NL NL2012387A patent/NL2012387B1/en active
- 2014-03-11 US US14/203,799 patent/US9880940B2/en active Active
- 2014-03-11 CN CN201410088744.3A patent/CN104050089B/zh active Active
- 2014-03-11 JP JP2014047411A patent/JP6370065B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI575380B (zh) * | 2015-02-03 | 2017-03-21 | 英特爾股份有限公司 | 用於虛擬化之細粒度位址重新映射 |
Also Published As
Publication number | Publication date |
---|---|
JP2014175017A (ja) | 2014-09-22 |
CN104050089B (zh) | 2019-06-07 |
TWI621945B (zh) | 2018-04-21 |
NL2012387A (en) | 2014-09-15 |
DE102014103056A1 (de) | 2014-09-11 |
AU2014201012A1 (en) | 2014-09-25 |
NL2012387B1 (en) | 2018-05-23 |
CN104050089A (zh) | 2014-09-17 |
US9880940B2 (en) | 2018-01-30 |
KR20140111499A (ko) | 2014-09-19 |
JP6370065B2 (ja) | 2018-08-08 |
KR102069273B1 (ko) | 2020-01-22 |
US20140258674A1 (en) | 2014-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI621945B (zh) | 系統晶片 | |
US9348764B2 (en) | System on chip including memory management unit and memory address translation method thereof | |
KR101667772B1 (ko) | 프리페칭을 갖는 변환 색인 버퍼 | |
US8405668B2 (en) | Streaming translation in display pipe | |
US20140089602A1 (en) | System cache with partial write valid states | |
US11216385B2 (en) | Application processor, system-on chip and method of operating memory management unit | |
TWI787129B (zh) | 記憶體請求之快取串流 | |
US9037831B2 (en) | Memory management unit and apparatuses having same | |
US10725928B1 (en) | Translation lookaside buffer invalidation by range | |
US10228991B2 (en) | Providing hardware-based translation lookaside buffer (TLB) conflict resolution in processor-based systems | |
TW202111545A (zh) | 統一位址轉譯 | |
JP6209573B2 (ja) | 情報処理装置および情報処理方法 | |
TW202238389A (zh) | 經由頁重映射和旋轉增加位址空間佈局隨機化熵 |