TWI512468B - 用於位址轉譯之動態及選擇性變化的裝置與方法 - Google Patents
用於位址轉譯之動態及選擇性變化的裝置與方法 Download PDFInfo
- Publication number
- TWI512468B TWI512468B TW099118803A TW99118803A TWI512468B TW I512468 B TWI512468 B TW I512468B TW 099118803 A TW099118803 A TW 099118803A TW 99118803 A TW99118803 A TW 99118803A TW I512468 B TWI512468 B TW I512468B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- address translation
- memory
- subset
- management unit
- Prior art date
Links
Classifications
-
- 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]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
本發明大體上係關於資料處理器,且更特定言之,係關於促進記憶體映射之動態及選擇性變化之處理器實施方案及位址轉譯技術。
本申請案已於2009年6月11日在美國作為專利申請案第12/483051號提出申請。
資料處理系統通常執行程式並且操作可定址記憶體位置(其自身使用虛擬記憶體、分段、分頁或其他相關技術而映射至實體儲存器)中表示的資料。在某些應用或部署中,可期望基於某外部來源或信號變化映射。一此種實例係在使用嵌入型處理器或微控制器型處理器予以實施之控制系統中。在某些控制系統應用中,可採用校準處理程序,藉此調諧一控制系統演算法之參數。因為通常(且有時必須)即時執行校準,所以涉及處理器之中斷之更新技術可(有效)擾動正校準或調諧之閉迴路系統。因此,習知侵入性技術(藉此,暫停或中斷一處理器並(例如)經由除錯或掃描埠設施或使用軟體直接更新記憶體中之參數)可能不適用於所有情形。
已開發非侵入性技術以動態及選擇性變化藉由(或針對)一處理器執行之位址轉譯。例如,在某些實施例中,一記憶體管理單元經組態以自各自有效(或虛擬)位址空間中之有效位址映射至記憶體中之實體位址,其中藉由該記憶體管理單元執行之該等映射係基於一位址轉譯表之位址轉譯項。針對少於所有處理程序之一子集,項選擇邏輯自編碼於該等位址轉譯項之各自者中之複數個替代性映射中選擇。對於針對該子集之一特定處理程序映射之至少某些有效位址,選擇一特定位址轉譯項係基於一外部來源值。在某些實施例中,僅針對特定處理程序映射之有效位址之一子集經受位址轉譯項選擇之動態運行時間(runtime)變化。
針對某些應用、系統及/或處理器實施方案,可使用此等技術(或此等技術之變體)以促進(諸如)在即時閉迴路控制系統中或易基於習知侵入性更新技術遭受擾動之其他系統中之參數的校準或調諧。例如,在某些控制系統應用中,可將控制值或篩選係數之連貫性集儲存於常駐於不同實體頁面位址之記憶體常駐表中。基於本文中描述的動態及選擇性變化位址轉譯技術,可自一連貫性集切換(即時且無處理器介入)至另一連貫性集。例如,當控制系統演算法正使用篩選係數或其他控制系統值之一作用中集執行時,可將硬體除錯及/或測試設施用以修改該等集之一非作用中集中之篩選係數,且接著動態地選擇替代性位址轉譯項以代替性地映射包含經修改之篩選係數之記憶體。一般言之,驅動位址轉譯項中之選擇之外部來源值可包含自一晶片外來源接收之外部信號、可藉由一記憶體管理單元及處理器核心外部之硬體或軟體設定之可程式化值或藉由一除錯設施或電路內測試設施供應之信號、事件或值。
為描述之具體化起見,集中於特定繪示性記憶體、任務及以處理程序為中心的位址空間模型。例如,在本文之多數描述中,有效轉實體位址轉譯係與一頁面導向虛擬記憶體模型相符,且與處理程序導向位址空間相符,處理程序或任務識別符係用作為一標籤之部分以匹配經保持以供一記憶體管理單元使用之位址轉譯表中之特定位址轉譯項。當然,本發明之實施例不限於所繪示的記憶體模型,亦不限於針對自位址(有效、邏輯、虛擬等)或位址部分至以處理程序為中心的位址空間或至任何特定執行模型之一映射之任何特定術語學。
如本文中所使用,處理程序識別符表示一處理程序識別符、任務識別符或位址空間識別符(在基於一外部來源值之變化、變轉或映射之前,其可與一處理程序、任務或執行之執行緒相關聯),而一任務識別符係指用作為用於查詢位址轉譯項之一表或其他表示法之標籤之部分之一識別符。在此方面,術語任務識別符係一略微任意定義建構。任務識別符可為處理程序識別符之經改變、經變換或經映射的對應部分,且如本文中關於本發明之某些實施例所述般,可基於一外部來源值而動態及選擇地變化、變換或映射。因此,處理程序識別符及任務識別符係用於描述一繪示性實施例集之定義建構且絕非意圖關於任何特定處理器技術或指令集架構(其可在一執行模型之描述或文件中使用或強調特定術語學,諸如處理程序識別符(PID)、任務識別符(TID)、位址空間識別符(ASID)或之類似物)禁止隨附申請專利範圍涵蓋範圍。
本文中描述的技術廣泛適用於其中基於一外部來源值(或若干外部來源值)之位址轉譯之動態及選擇性變化可促進設計、除錯、測試、校準、調諧或其他應用或情況(其中可期望或使用經映射記憶體之一動態可選擇重疊)之計算系統。因此,對用於一控制系統(其中,在經由動態可選擇替代性轉譯項實施方案予以映射之實體記憶體頁面中表示參數及/或篩選係數之替代性連貫性集)之校準及/或調諧之應用之參考僅係繪示性。鑒於:以上所述且不限於記憶體模型及位址空間之範圍;位址轉譯之表示及/或快取;及/或可採用之基礎處理器或計算系統架構或其之應用,可描述特定繪示性實施例。
藉由實例且不限於參考隨附圖式繪示本發明,其中相同的元件符號大體上指示相似的元件或特徵。
熟習此項技術者將了解該等圖式中之元件或特徵係為簡單及清楚起見而繪示且不必按比例繪示。例如,可相對於其他元件或特徵放大某些所繪示的元件或特徵之尺寸或突顯物以幫助改良對本發明之實施例的瞭解。
參考圖1,在本發明之某些實施例中,一資料處理系統10包含一積體電路11,該積體電路11具有一處理器12、一記憶體18、一記憶體19、其他功能電路20及外部匯流排控制器(EBC)24,該外部匯流排控制器24係藉由一內部匯流排22而雙向耦合。該內部匯流排22包含控制信號路徑26、位址信號路徑27及資料信號路徑28。該處理器12包含一匯流排介面控制器(BIC)13,匯流排介面控制器(BIC)13將該處理器12雙向耦合至該控制信號路徑26、位址信號路徑27及資料信號路徑28。使用匯流排型互連技術及描繪單一處理器僅係為簡單繪示起見。實際上,基於本文中之描述,一般技術者預期且將瞭解採用多處理器、多核心、單晶片系統(SoC)及多路徑互連結構技術之所有實施例。在某些實施例中,積體電路11可包含與一多核心SoC設計相符之額外特徵。
在圖1之繪示中,記憶體18及19各包含各自記憶體陣列32、33及匯流排介面控制器(BIC)30、31。BIC 30將記憶體18雙向耦合至控制信號路徑26、位址信號路徑27及資料信號路徑28。BIC 31將記憶體19雙向耦合至控制信號路徑26、位址信號路徑27及資料信號路徑28。在某些實施例中,記憶體18及19可組態為晶片上快取記憶體。其他功能電路20亦係雙向耦合至控制信號路徑26、位址信號路徑27及資料信號路徑28。在某些實施例中,其他功能電路20可包含電路內測試、追蹤、模擬及/或除錯電路。外部匯流排控制器(EBC)24亦係雙向耦合至控制信號路徑26、位址信號路徑27及資料信號路徑28。在圖1之繪示中,EBC 24係組態為介接至晶片外記憶體34之一記憶體控制器;然而,更一般言之,藉由EBC 24提供之設施可藉由主機或I/O橋接器及/或互連之額外層延伸、取代,或與主機或I/O橋接器及/或互連之額外層介接。
注意,在本發明之某些實施例中,功能區塊諸如處理器12、記憶體18、記憶體19、其他功能電路20及EBC 24可耦合至內部匯流排22之任何所期望之部分(或耦合至一替代性互連結構之任何所期望之部分或埠),這允許此等區塊執行其各自功能。因此,在某些實施例中,並非所有與元件符號12、18至20及24相關聯的元件皆須耦合至任何特定內部匯流排或互連之所有信號。
處理器12包含代表現代處理器設計之各種邏輯及指令執行單元之任一者。一般言之,處理器12提取指令且自記憶體(例如,在一或多個記憶體18、19及34之可定址儲存位置中)存取資料。為提供繪示之一有用內容背景,分別繪示位址產生邏輯14及一記憶體管理單元(MMU)16以及一或多個相關聯的位址轉譯表。一般言之,在提取指令及存取資料(例如,讀取型及寫入型存取)進程中,處理器12使用的有效記憶體位址係根據任何操作定址模式辛算得出並呈遞至MMU 16用於映射至實體記憶體中之對應記憶體位置。藉由集體繪示為位址產生邏輯14之邏輯(儘管一般技術者應了解,在某些實施例中,此種邏輯可分散於各種功能區塊諸如指令提取邏輯、載入/儲存單元等等中)執行位址運算及相關操作。
一般言之,相對於使用虛擬記憶體、分段、分頁或其他相關技術之自有效(或虛擬)位址至實體儲存器位置之各種習知映射之任一者,有效位址之形式及藉由MMU 16執行之至實體位址之特定映射係實施方案相依的,但一般技術者將瞭解有效位址之該形式及該特定映射。如本文中所使用,術語有效位址係旨在包含無關於任何特定處理器技術或執行集架構(其可在一記憶體模型之描述或文件中使用或強調特定術語學,諸如處理程序、邏輯位址、虛擬位址或類似物)之任何有效、邏輯、虛擬或其他自映射之位址。MMU 16將有效位址轉譯為實體位址用於存取(經由所繪示的匯流排互連設施,包含匯流排介面控制器13)。為描述之具體性起見(且不限於),藉由MMU 16執行之有效轉實體位址轉譯將根據一頁面導向虛擬記憶體模型進行瞭解且與許多現代處理器架構中之處理程序導向位址空間相符,處理程序識別符或任務識別符係用作為一標籤之部分以匹配經保持以供MMU 16使用之一轉譯後備緩衝器(例如,位址轉譯表9)之特定位址轉譯項。
如一般技術者應瞭解般,MMU 16之位置僅係繪示性。儘管對於某些設計而言,處理器12包含MMU 16及位址轉譯表9係合適的及/或方便的,然在其他設計中,可將類似記憶體管理單元及位址轉譯表定位於資料處理系統10中之別處。此外,應了解,在與本發明描述相符之某些設計中,位址轉譯表9可組態為一轉譯後備緩衝器且可在表(自該表可快取一當前作業轉譯集)中(例如,在多級頁表中)表示基礎位址轉譯。在此項技術中,頁表、轉譯後備緩衝器及相關技術係廣為人知的,且基於本文中之描述,一般技術者將瞭解本發明之實現,其中位址轉譯表9組成一較大型記憶體管理架構內之一轉譯後備緩衝器或某些其他位址轉譯項集合體。
一般言之,其他功能電路20可執行各種所期望之功能之任一者,包含I/O及相對於電路內測試、追蹤、模擬及/或除錯技術之其他功能。其他功能電路20可提供的功能之額外實例包含計時器、中斷處置、一輸入/輸出埠、一通信埠(例如,一串列通信埠、一串列周邊介面等等)、驅動器(例如,液晶顯示驅動器)、類比轉數位(A/D)轉換、數位轉類比(D/A)轉換、額外記憶體及直接記憶體存取(DMA)。
在某些實施例中,外部來源信號係供應至積體電路11之一或多個積體電路接針21。一信號路徑係提供於該積體電路接針21與一記憶體管理單元16(其在圖1之圖解中係與處理器12整合)之一輸入端之間。同樣,一雙向信號路徑係提供於該積體電路接針21與其他功能電路20之一輸入/輸出終端之間。在某些實施例中,經由其他功能電路20供應外部來源信號。
外部匯流排控制器(EBC)24係用以雙向耦合內部匯流排22及外部匯流排35。如前,匯流排型互連技術係為簡單而繪示且可將其他互連技術部署於該EBC 24之任一側上,因此,名稱「匯流排控制器」或「匯流排介面」可純粹理解為取決於歷史慣例而非理解為採用匯流排互連技術之一要求。參考圖1,積體電路11係藉由一外部匯流排35而雙向耦合至記憶體34。外部匯流排35包含控制信號路徑36、位址信號路徑37及資料信號路徑38。記憶體34包含一記憶體陣列42及一匯流排介面控制器(BIC)40。BIC 40將記憶體34雙向耦合至外部匯流排35之信號路徑。在某些實施例中,記憶體34及積體電路11係實施於不同積體電路上。一般言之,取決於設計目標,資料處理系統10之各個部分可實施於相同或不同積體電路上。
已將資料處理系統10繪示為具有記憶體18、19及34,且(一般言之)在本發明之某些實施例中經受動態及選擇性變化之位址轉譯可包含自有效位址至一或多個上述記憶體中表示的實體位址之轉譯。為避免懷疑,實施於積體電路11上之所繪示的記憶體集及記憶體組態(例如,記憶體18及19)以及實施於該積體電路11之外部之任一者(例如,記憶體34)純粹係繪示性。根據任何所期望的記憶體階層,可採用其他記憶體及/或額外記憶體(儘管圖式中未明確展示),包含快取記憶體級。例如,儘管圖1中未明確展示,尤其在包含多個處理器及/或核心及多路徑、點對點晶片上互連結構之設計中,資料及指令快取記憶體可與處理器12成一體地提供。最終,記憶體18、記憶體19及記憶體34(以及圖式中未明確展示之任何額外記憶體)可為任何合適的類型,包含(但不限於)靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、唯讀記憶體(ROM)、可擦除可程式化唯讀記憶體(EPROM)、電可擦除可程式化唯讀記憶體(EEPROM)、磁性隨機存取記憶體(MRAM)等等。記憶體18、19及34可為相同類型、相似類型或不同類型。
圖2更詳細地繪示參考圖1先前描述之記憶體管理單元(MMU)16及位址轉譯表9之實施例。當然,儘管圖1如此繪示,然MMU 16及位址轉譯表9可(在其他設計中)沿著其中將有效位址轉譯至實體位址之一位址路徑而常駐於別處。此外,在根據本發明之某些實施例中,用於位址轉譯之動態及選擇性變化之所述技術可用於其他形式或類型的記憶體管理單元,諸如輸入/輸出記憶體管理單元(IOMMU或周邊存取記憶體管理單元PAMU等等)。但是,為清楚起見(但不限於),根據藉由圖1及其隨附描述提供之繪示性內容背景描述MMU 16及位址轉譯表9之操作。
在圖2之圖解中,相對於位址轉譯表9之項中表示的欄位,有效位址值係展示為輸入且實體位址係展示為輸出。如習知,一有效位址之一部分(諸如一有效頁碼)係用以查詢實體位址之一對應部分(諸如一實體頁碼)。為清楚及簡單起見,省略額外細節,諸如用以將一有效位址之一相關頁面位移部分引導至實體位址中之對應位置中之操控(steering)邏輯。在某些實施例中,位址轉譯表9係實施為一轉譯後備緩衝器(TLB)且所實施的TLB使用內容可定址記憶體(CAM)以促進一查詢標籤與位址轉譯表9之個別項之對應部分匹配。在此等實施例中,一有用的查詢標籤匹配可包括一處理程序、任務或位址空間識別符及有效位址之一頁碼部分兩者。
典型地,處理程序、任務或位址空間識別符係來自PID儲存器43,用於在比較有效位址之一頁碼部分與虛擬頁碼欄位54之內容時,與一有效識別符(EID)欄位52之內容比較。一般言之,可基於根據藉此實施之一任務或排程模型自處理器邏輯接收之資訊程式化或保持PID儲存器43。為簡單描述起見(且不失一般性),此種識別符在下文中係稱為一處理程序識別符(PID)。針對位址轉譯之一子集,藉由基於一外部來源值來修改PID值且在與EID欄位52之內容匹配之查詢標籤中代替性地使用該經修改之PID來計算一有效處理程序、任務或位址空間識別符。在每一情形下,基於與一有效識別符(EID)欄位52及虛擬頁碼欄位54之內容的對應關係選擇位址轉譯表9之一特定項。所選擇的一項之實體頁面欄位56經供應用於實體位址中。在某些實施例中,使用經修改之PID值(而非未經修改之PID值)之一位址轉譯項之選擇至少部分係基於該位址轉譯項中之EID欄位之所儲存內容之一或多個預定值。在所繪示的實施例中,可藉由包含於位址轉譯表9項之一子集之個別選擇邏輯81中之邏輯作出此判定。
一般言之,可根據兩組成態樣理解查詢標籤匹配:(1)一PID(或經修改之PID)與一有效識別符(EID)欄位52之內容之匹配;及(2)一有效(或邏輯)位址之一頁碼部分與一虛擬頁碼欄位54之內容之匹配。因此,針對一給定記憶體存取,操作PID及對應頁碼係用作為一有效標籤以識別位址轉譯表9中之一對應項。因為用於頁碼匹配的值比較係簡單的且大體上習知,所以未明確繪示相對於各自頁碼欄位54之內容(61、63、65、67...69...)之比較邏輯。實情係,圖2之圖解代替性地集中於選擇邏輯之執行個體(instance)以在基於一外部來源值(或若干值)選擇性地修改PID值之一子集時匹配EID欄位52內容。
在某些實施例中,選擇邏輯81之執行個體包含用以選擇性地且及部分地過載(overload)(或以其它方式修改)位址轉譯表9之一個別項內之操作PID之較低位序位元以形成一有效PID值之邏輯。選擇可基於儲存於位址轉譯表9之該個別項之EID欄位52中之一或多個預定值。修改可至少部分基於外部來源值。所得之經修改PID係用於與各自EID欄位52之值比較。在某些實施例中,選擇邏輯83省略實施於選擇邏輯81之執行個體中之選擇性部分過載(或其他PID修改)特徵,藉此,提供一未經修改之PID值與各自EID欄位52之內容之一簡單比較。因此,在某些實施例中,位址轉譯項之一第一子集80具有針對選擇性PID修改而提供之相關聯選擇邏輯81之執行個體,而位址轉譯項之一第二子集82具有無需支援選擇性PID修改之相關聯選擇邏輯83之執行個體。
用以編碼可基於若干外部來源值選擇之複數個替代性映射之位址轉譯項應放置於子集80之各自項中。換言之,針對操作位址轉譯之動態變化所期望之處理程序或任務之一子集,應使用常駐於子集80之項中之位址轉譯來編碼替代性映射集。針對不為操作位址轉譯之動態變化所期望或所需之此等處理程序或任務,則無需在子集80之項中編碼映射。
在圖2之圖解中,啟動控制電路44包含外部來源值之複數個輸入向量。例如,啟動控制電路44具有用於接收外部來源值(諸如經由積體電路11之輸入接針21傳遞之信號)之一輸入端。啟動控制電路44亦具有用於經由中間物或自其他來源接收外部來源值之若干額外輸入端。例如,在某些實施例中,啟動控制電路44經由一測試介面或除錯埠或使用除錯控制邏輯來接收寫入至可程式化儲存器57(例如,一暫存器檔案或其他儲存裝置)之值。在某些實施例中,可包含JTAG(聯合測試行動組織)TAP(測試存取埠)介面或NEXUS(針對處理器及數位系統架構之除錯之廣泛使用的IEEE標準)除錯埠以支援除錯控制功能。
在某些實施例中,可自一事件監測器53接收事件輸入及/或可自監測點匹配電路55接收監測點匹配信號。一般言之,來自可程式化儲存器57、事件監測器53之輸入及/或來自監測點匹配電路55之輸入係來自在MMU 16及處理器12兩者外部之來源。在某些實施例中,事件監測器53、監測點匹配電路55及可程式化儲存器57之所有或部分實施方案可常駐於處理器12中,或積體電路11之一組件中之別處。無論來源是哪一種,啟動控制電路44經組態以將外部值供應至選擇邏輯81之執行個體用以(在所選擇的情形下)在與各自EID欄位52之內容比較之前修改PID。
亦提供一啟用信號且(一般言之)可藉由一觸發機制之發生而觸發該啟用信號。例如,可藉由事件偵測器53或監測點匹配電路55產生一事件。一般言之,監測點匹配電路55及/或事件偵測器53為各種習知設計之任一者且支援各種替代性方法之任一者以偵測預定事件(諸如何時存取預定位址或何時發生一預定執行事件)之發生。預定事件可為可基於內部狀態予以偵測或可藉由外部信號(例如,包含經由積體電路11之輸入接針21傳遞之信號)觸發之許多類型事件之一者。來自一外部工具(圖式中未展示)之一信號係事件之一種類型。另一實例係來自一外部ASIC(特定應用積體電路)之一信號。可程式化儲存器57提供啟動控制電路44可使用的外部來源值之額外替代者。一NEXUS除錯埠(圖式中未展示)可用以提供用於將值引進至可程式化儲存器57中之一掃描路徑。基於本文之描述,一般技術者應清楚,為啟動控制電路44提供外部來源值之各種機制之任一者可經提供而包含記憶體映射之暫存器(其可藉由其他功能電路20中之一直接記憶體存取控制器而變化)。一般言之,可預期適用於基於一即時系統事件、一中斷點位址匹配、一監測點匹配及/或任何其他監測功能而觸發啟動之變體。
在某些實施例中,啟動控制電路44亦提供一處理器同步控制信號。該同步控制可與啟用信號或與其他轉變同時經觸發以促進至記憶體之連貫性存取。以此方式,可協調運作中存取之完成,以確保基於一經改變之外部來源值而選擇之位址轉譯項之間之一連貫性轉變或經修改之PID操作與未經修改之PID操作之間之一連貫性轉變。若經實施,同步控制亦可用以清空指令管線級及指令預提取緩衝器。在某些實施例中,可藉由啟動控制電路44觸發包括資料處理系統10中之其他邏輯之額外同步操作。
圖3描繪一種有效位址形式(針對此格式,藉由一記憶體管理單元(MMU)之運行時間位址轉譯可根據本發明之某些實施例及基於一外部來源值進行動態地變化。特定言之,圖3繪示邏輯位址77之一標籤部分73,該邏輯位址77包含一識別符75及有效位址之一頁碼部分74。如在許多處理器設計中習知般,識別符75可對應於該有效位址之一處理程序、任務或位址空間識別符部分(其促進用於個別處理程序或任務之至少部分相異位址空間之實施方案)。
一般言之,邏輯位址77之識別符75係來自如上所述之PID儲存器43且允許相同有效位址值(見有效位址部分76),以在藉由不同處理程序或任務或基於不同位址空間識別符進行存取時解析實體記憶體之不同頁面(經由位址轉譯表9中之不同位址轉譯項)。然而,(例如)藉由其較高位序位元78中之一保留值(諸如1111)予以指示之標籤值編碼空間之一部分可用以引導選擇邏輯81之執行個體以基於(若干)外部來源值來修改來自PID儲存器43之值。因此,如所繪示,在某些實施例中且針對該標籤值編碼空間之某些部分,一部分(例如,繪示為yy之識別符75的較低位序位元)可對應於經由啟動控制電路44供應之外部來源值。
以此方式,可基於外部來源值選擇至多四(4)個替代性轉譯,或如本發明之某些實施例中般,選擇無關於外部來源值而匹配之具有一編碼(yy=11)之三(3)個替代性轉譯。例如,參考圖4,其繪示以有效位址(其包含具有111100yy之EID值及VALUE1之虛擬頁碼之一標籤部分)為目標之一記憶體存取之三個替代性轉譯項(101、102、103)。第一,項101編碼自虛擬頁面VALUE1至實體頁面VALUE2之一轉譯。第二,項102編碼自虛擬頁面VALUE1至實體頁面VALUE3之一轉譯。第三,項103編碼自虛擬頁面VALUE1至實體頁面VALUE4之一轉譯。選擇一合適轉譯係基於外部來源值與編碼於該三個替代性轉譯項之各者中之特定值97之間的對應關係。
以此方式,且與一控制系統校準或調諧實例相符,控制參數及/或篩選係數之一第一作用中集可編碼於實體頁面VALUE2中且經選擇用於具有111100zz之一PID值(來自PID儲存器43)之一處理程序或任務,其中忽略zz且其中00之一值係基於外部來源值而經過載(藉由選擇邏輯81之一執行個體)覆蓋zz。編碼於實體頁面VALUE3中之控制參數及/或篩選係數之一替代性(及非作用中)集可經更新或調諧,且此後藉由改變外部來源值予以啟動以替代性地過載(再次藉由選擇邏輯81之一執行個體之操作)01之一值覆蓋zz。
關於項104及105,98中之一編碼(yy=11)係用以編碼無關於外部來源值之一匹配。因此,為適應無需在具有111100zz之一PID值之處理程序或任務之多個對應部分中複製之指令頁面,項104編碼自虛擬頁面VALUE5至包含可執行碼之一實體頁面VALUE6之一轉譯。類似地,為適應無需在具有111100zz之一PID值之處理程序或任務之多個對應部分中複製之資料頁面,項105編碼自虛擬頁面VALUE7至包含資料之一實體頁面VALUE8之一轉譯。項104及105編碼無關於外部來源值及外部來源值中之改變而匹配之位址轉譯,否則用以在自虛擬頁碼VALUE1轉譯時,自實體頁面VALUE2、實體頁面VALUE3及實體頁面VALUE4中選擇。
再參考圖3之圖解,繪示為xx之識別符75之該等位元不受基於外部來源值之選擇性過載影響。此允許至多四個個別且相異處理程序利用選擇性過載能力,該等選擇處理程序之各者具有獨立的過載能力。在其他實施例中,標籤值編碼空間之更大或更小部分可經受使用外部來源值之過載。例如,識別符75之更小或更大部分可用以編碼一保留值及/或可辨識的額外保留值。在其他實施例中,可支援更大或更小的替代性轉譯次數且可適應外部來源值之更大或更小分集(diversity)。
圖5描繪可用於本發明之某些實施例中以促進自有效位址之特定轉譯之動態及選擇性變化之項選擇邏輯。基於來自位址轉譯表9之個別項、來自PID儲存器43及來自啟動控制電路44之若干值,與位址轉譯表9(實施一TLB)之個別項相關聯之選擇邏輯81之執行個體促成一TLB項命中信號之產生(若合適)。如一般技術者應了解,儘管繪示組合邏輯之一例示性組態,然許多其他功能等效邏輯區塊亦係合適的。
在所繪示的實施方案中,該相關聯TLB項之EID欄位之部分中之一保留值係用以編碼基於外部來源值之操作。因此,閘85係用以偵測該保留值(TLB_ENTRY[EID[0:3]]==1111)且結合來自啟動控制電路44之一EXT_PID_ENABLE信號(見閘92)驅動多工器91之一選擇輸入,藉此選擇來自PID儲存器43之一未經修改部分PID[6:7]或一外部來源EXT_PID[6:7]部分,以包含於一MODIFIED_PID[6:7]中,繼而MODIFIED_PID[6:7](與PID[0:5]一起)經供應至比較器94用於與TLB_ENTRY[EID[0:7]]比較。若比較器94指示一匹配,接著假定一匹配(亦)介於有效位址(EFFECTIVE_ADDRESS[VPN])之虛擬頁碼與一有效項(TLB_ENTRY[V]==TRUE)之TLB_ENTRY[VPN]之間,則在閘96之輸出端用信號發出一TLB項命中。在所繪示的邏輯中,亦偵測yy==11之一保留值(亦即,TLB_ENTRY[EID[6:7]]==11)並發信號通知比較器94以遮罩位元TLB_ENTRY[EID[6:7]]與對應PID之位元(PID[6:7])之比較,藉此實施無關於以上參考項104及105(見圖4)所繪示之基於外部來源值之操作之該匹配。
一額外比較器86支援無關於來自PID儲存器43之PID值之共用頁面(編碼為TLB_ENTRY[EID[0:7]=0000000])匹配。儘管基於上述揭示內容,將了解選擇邏輯83(圖2之邏輯)之各種邏輯實施方案之任一者,然在某些實施例中,選擇邏輯83自更複雜選擇邏輯81實施方案簡單地消除閘85、92及93以及多工器91且在一專用頁面比較器(類似於繪示為94之比較器)直接比較TLB_ENTRY[EID[0:7]]與對應位元(PID[0:7])並使用一比較器(類似於繪示為86之比較器)偵測共用頁面。
如本文所述,在本發明之某些實施例中,選擇邏輯81之個別執行個體可用以促進基於對應EID欄位52之內容之外部來源行為,使得特定保留的EID欄位值(例如,EID值1111xxyy,其中如上述般使用xx及yy)編碼該外部來源行為。因此,在某些實施例中,可代替性地於更複雜選擇邏輯81上型樣化與每一位址轉譯項相關聯之選擇邏輯之執行個體(包含在圖2中繪示為比較簡單的選擇邏輯83之該等者)。因為邏輯81之此等執行個體使外部來源行為基於特定保留EID值之存在,所以當在相關聯位址轉譯項中不編碼選擇性EID值時,該等執行個體大體上根據選擇邏輯83之描述進行操作。因此,針對其中在經複製超過位址轉譯表9之深度時不抑制該選擇邏輯81之額外複雜性之實施方案,選擇邏輯之所有(或大多數)執行個體可視情況地根據選擇邏輯83予以實施。但是,為一般性起見,本文已描述包含選擇邏輯之兩種形式之實施例。
儘管本發明在本文中係參考若干特定實施例進行描述,然在不偏離如以下申請專利範圍中所闡述之本發明範疇的情況下可實行各種修改及改變。例如,儘管本文已描述使用位址轉譯之動態及選擇性變化促進一控制系統應用中之參數及/或篩選係數之校準及/或調諧之技術,所描述的技術亦已廣泛地適用於其他應用。類似地,儘管所描述的技術可用以促進在具有以處理程序為中心的虛擬位址空間之一頁面導向記憶體模型中之虛擬轉實體位址轉譯,然該等技術不限於此。
可使用各種不同資訊處理系統實施本發明之實施例。因此,雖然圖1以及其隨附描述繪示促進本發明技術之描述之簡單資料處理系統實施方案,然該資料處理系統之設計僅係繪示性。更特定言之,雖然繪示具有習知記憶體匯流排之單一處理器設計,但是亦可想像多處理器、多核心及/或多路徑、點對點互連結構。當然,為論述目的,已簡化本文中之架構描述,且熟習此項技術者將了解:邏輯區塊或組件之間之邊界僅係繪示性;且替代性實施例可併入若干邏輯區塊或電路元件及/或將功能性之一替代分解施加於各種邏輯區塊或電路元件。
實施本發明之物件、系統及裝置係(針對多數部分)係由熟習此項技術者已知且本文中功能描述的電子組件、電路及/或程式碼(例如,軟體、韌體及/或微程式碼)組成。因此,為清楚、具體及促進對本發明之基本概念之一理解及瞭解,需依一定的詳細程度說明組件、電路及程式碼細節。在某些情形下,使用此項技術中已知之特徵、結構、組件或實施方案技術之一般描述以便避免模糊或混亂本發明之教示。
一般言之,在本文中使用時,術語「程式」及/或「程式碼」描述經設計用以執行於一電腦系統上之一序列指令或一指令集。同樣,此等術語可包含或包括經設計用以執行於一電腦系統上之副程式、函式、程式、物件方法、軟體方法之實作(implementation)、介面或物件、可執行應用程式、小應用程式(applet)、伺服小程式(servlet)、原始程式碼、物件程式碼(object code)或中間碼(intermediate code)、共用及/或動態載入/連結程式庫及/或其他指令序列或指令群組。
本文中描述的所有或某些程式碼以及本文中描述的資訊處理系統之任何軟體實施功能性可藉由一資訊處理系統之元件(例如)自電腦可讀媒體或經由其他系統存取或接收。一般言之,電腦可讀媒體可永久地、可移除地或遠端地耦合至一資訊處理系統。電腦可讀媒體可包含(例如且不限於)任意數目之以下者:包含磁碟及磁帶儲存媒體之磁性儲存媒體;諸如光碟媒體(例如,CD-ROM、CD-R等等)之光學儲存媒體及數位視訊磁碟儲存媒體;包含基於半導體的記憶體單元(諸如快閃記憶體、EEPROM、EPROM、ROM)之非揮發記憶體儲存媒體;鐵磁性數位元記憶體;MRAM;包含暫存器、緩衝器或快取記憶體、主記憶體、RAM等等之揮發性儲存媒體;及用於附帶於經由電腦網路、點對點電信設施及載波或信號(在此僅舉例一些)之資料傳輸之儲存之實體媒體。
最終,將本說明書及圖式視為繪示性意義而非限制性意義,且與本文中之描述相符,可想像廣泛範圍之變更、修改及擴充。本文中描述之關於特定實施例之問題的任何益處、優點或解決方案不旨在理解為任何或所有申請專利範圍之一關鍵、必需或主要特徵或元件。
9...位址轉譯表
10...資料處理系統
11...積體電路
12...處理器
13...匯流排介面控制器(BIC)
14...位址產生邏輯
16...記憶體管理單元(MMU)
18...記憶體
19...記憶體
20...其他功能電路
21...積體電路接針
22...內部匯流排
24...外部匯流排控制器(EBC)
26...控制信號路徑
27...位址信號路徑
28...資料信號路徑
30...匯流排介面控制器(BIC)
31...匯流排介面控制器(BIC)
32...記憶體陣列
33...記憶體陣列
34...記憶體
35...外部匯流排
36...控制信號路徑
37...位址信號路徑
38...資料信號路徑
40...匯流排介面控制器(BIC)
42...記憶體陣列
43...PID(處理程序識別符)儲存器
44...啟動控制電路
52...有效位址識別符
53...事件監測器
54...虛擬頁碼欄位
55...監測點匹配電路
56...實體頁面欄位
57...可程式化儲存器
73...標籤
74...頁碼
75...處理程序識別符
76...有效位址
77...邏輯位址
78...邏輯位元址之較高位序位元
80...位址轉譯項之第一子集
81...選擇邏輯
82...位址轉譯項之第二子集
83...選擇邏輯
85...閘
86...比較器
87...比較器
91...多工器
92...閘
93...閘
94...比較器
96...閘
97...替代性轉譯項中之特定值
98...替代性轉譯項中之特定值
101...項
102...項
103...項
104...項
105...項
圖1係根據本發明之某些實施例之一資料處理系統之一方塊圖。
圖2係根據本發明之某些實施例之包含適於使用之一位址轉譯表及項選擇邏輯之一記憶體管理單元(MMU)之一方塊圖。
圖3以圖表形式繪示一有效位址形式,其中可根據本發明之某些實施例及基於外部來源值而動態地變化藉由諸如圖2中繪示之一記憶體管理單元(MMU)之運行時間位址轉譯。
圖4以圖表形式繪示在本發明之某些實施例中,可保持於諸如圖2中繪示之一位址轉譯表中之各種位址轉譯項。
圖5係可用於本發明之某些實施例中以促進特定位址轉譯之動態及選擇性變化之項選擇邏輯之一邏輯圖。
9...位址轉譯表
16...記憶體管理單元(MMU)
43...PID(處理程序識別符)儲存器
44...啟動控制電路
52...有效位址識別符
53...事件監測器
54...虛擬頁碼欄位
55...監測點匹配電路
56...實體頁面欄位
57...可程式化儲存器
80...位址轉譯項之第一子集
81...選擇邏輯
82...位址轉譯項之第二子集
83...選擇邏輯
Claims (20)
- 一種用於位址轉譯之選擇性變化的裝置,其包括:至少一處理器核心,該至少一處理器核心適用於執行複數個處理程序,其中該等處理程序之各者具有一各自位址空間;及一記憶體管理單元,其耦合於該至少一核心與至記憶體之一介面之間,該記憶體管理單元經組態以自該等位址空間之各自者中之有效位址映射至該記憶體中之實體位址,其中藉由該記憶體管理單元執行之映射係基於一位址轉譯表之位址轉譯項,該記憶體管理單元包含項選擇邏輯,該項選擇邏輯針對少於所有該等處理程序之一第一子集,自編碼於該等位址轉譯項之各自者中之複數個替代性映射中選擇,其中對於針對該第一子集之一特定處理程序映射之至少某些有效位址,該等位址轉譯項之一特定者之選擇係基於一或多個外部來源值。
- 如請求項1之裝置,其中,針對該第一子集之該特定處理程序,一特定位址轉譯項之該選擇係基於該一或多個外部來源值,但僅針對針對該特定處理程序映射之少於所有有效位址之一第二子集。
- 如請求項1之裝置,其中該項選擇邏輯基於各自處理程序識別符與編碼為該位址轉譯表之各自位址轉譯項中之一查詢標籤之部分 之各自任務識別符之間的對應關係來識別處理程序之該第一子集。
- 如請求項1之裝置,其中,針對處理程序之該第一子集,該項選擇邏輯基於該等外部來源值來修改經呈遞用於與該位址轉譯表之各自位址轉譯項中之查詢標籤匹配之至少某些各自處理程序識別符。
- 如請求項4之裝置,其中藉由該項選擇邏輯執行之該修改包含使經呈遞用於匹配之該等各自處理程序識別符之一子部分過載,其中該過載係使用對應於該等外部來源值之值。
- 如請求項4之裝置,其中針對對應於處理程序之該第一子集之位址轉譯項之至少某些查詢標籤編碼,該項選擇邏輯用信號發出無關於該等外部來源值之一命中。
- 一種用於位址轉譯之選擇性變化的裝置,其包含:至少一處理器核心,該至少一處理器核心適用於執行複數個處理程序,其中該等處連程序之各者具有一各自位址空間;及一記憶體管理單元,其耦合於該至少一核心與至記憶體之一介面之間,該記憶體管理單元經組態以自該等位址空間之各自者中之有效位址映射至該記憶體中之實體位址,其中藉由該記憶體管理單元執行之映射係基於一位址轉譯表之位址轉譯項, 該記憶體管理單元包含項選擇邏輯,該項選擇邏輯針對少於所有該等處理程序之一第一子集,自編碼於該等位址轉譯項之各自者中之複數個替代性映射中選擇,其中對於針對該第一子集之一特定處理程序映射之至少某些有效位址,該等位址轉譯項之一特定者之選擇係基於一或多個外部來源值,其中,針對該第一子集之該特定處理程序,一特定位址轉譯項之該選擇係基於該一或多個外部來源值,但僅針對針對該特定處理程序映射之少於所有有效位址之一第二子集,及其中該項選擇邏輯基於編碼為該位址轉譯表中之一對應查詢標籤之部分之任務識別符值來識別該等位址轉譯項中對應於該第二子集之該等者。
- 如請求項7之裝置,其中藉由該記憶體管理單元相對於(i)處理程序之該第一子集及(ii)藉此經存取之有效位址之一第二子集而執行之操作有效轉實體位址轉譯,係經受根據該等外部來源值之動態運行時間選擇。
- 如請求項7之裝置,其中該等外部來源值係基於以下之一或多者:自一晶片外來源接收之外部信號;可藉由該記憶體管理單元及處理器核心外部之硬體或軟體設定之可程式化值;及藉由一除錯設施或電路內測試設施供應之信號、事件或值。
- 如請求項7之裝置,其中該等有效位址對應於虛擬記憶體頁面,其中該位址轉譯表係組態為快取虛擬轉實體頁面映射之一轉譯後備緩衝器,及其中,相對於少於所有該等虛擬轉實體頁面映射,該項選擇邏輯至少部分基於一查詢標籤與根據該等外部供應值進行修改之一處理程序識別符之間的對應關係而用信號發出一命中於該轉譯後備緩衝器中。
- 如請求項7之裝置,其進一步包括:該記憶體之至少一部分。
- 一種針對執行於一計算系統中之處理程序之一子集動態地變化記憶體映射之一子集之方法,該方法包括:保持複數個位址轉譯項,其中該等位址轉譯項之個別者係與各自標籤相關聯,該等各自標籤之至少一部分對應於針對執行於該計算系統中之該等處理程序之一各自者之一處理程序識別符;使用一記憶體管理單元且基於該等位址轉譯項之各自者,自由該等處理程序參照之有效位址映射至記憶體中之對應實體位址,其中針對少於所有該等標籤及對應處理程序之一子集,該記憶體管理單元基於外部供應值自該等位址轉譯項之替代者中選擇。
- 如請求項12之方法,其進一步包括:將該等標籤之編碼空間分割成至少第一部分及第二部 分,其中僅該第一部分經受基於該等外部供應值之自該等位址轉譯項之替代者中之該選擇。
- 如請求項13之方法,其中該第二部分組成一大體上剩餘的整個標籤編碼空間。
- 一種針對執行於一計算系統中之處理程序之一子集動態地變化記憶體映射之一子集之方法,該方法包括:保持複數個位址轉譯項,其中該等位址轉譯項之個別者係與各自標籤相關聯,該等各自標籤之至少一部分對應於針對執行於該計算系統中之該等處理程序之一各自者之一處理程序識別符;使用一記憶體管理單元且基於該等位址轉譯項之各自者,自由該等處理程序參照之有效位址映射至記憶體中之對應實體位址,其中針對少於所有該等標籤及對應處理程序之一子集,該記憶體管理單元基於外部供應值自該等位址轉譯項之替代者中選擇;及將該等標籤之編碼空間分割成至少第一部分及第二部分,其中僅該第一部分經受基於該等外部供應值之自該等位址轉譯項之替代者中之該選擇,其中甚至在該標籤編碼空間之該第一部分內,針對該第一部分內之該等標籤值之至少一子集,藉由該記憶體管理單元執行之一位址轉譯項之該選擇係無關於該等外部供應值而執行。
- 如請求項15之方法,其中使用複數N個位元位置編碼對應於各自處理程序之該等標籤部分,其中基於編碼於該等N個位元位置之M個位元位置中之一預定義型樣來指定該標籤編碼空間之該第一部分,及其中藉由使用對應於該等外部供應值之值使該N個位元位置之Y個位元位置過載來執行自該等位址轉譯項之替代者中之該選擇。
- 一種操作一計算系統之方法,該方法包括:於該計算系統之一或多個核心上執行複數個處理程序,該等處理程序之各者根據藉由該計算系統保持之一對應位址轉譯集來定址記憶體;針對該複數個處理程序之至少一第一者及針對少於對應於該第一處理程序之該集之所有位址轉譯,提供可在運行時間期間基於一外部來源值而動態地選擇之至少一對替代性位址映射;及針對該複數個處理程序之至少一第二者,映射無關於該外部來源值之位址。
- 如請求項17之方法,其進一步包括:針對對應於該第一處理程序之該集之至少某些該等位址轉譯,映射無關於該外部來源值之位址。
- 如請求項17之方法,其進一步包括:針對該第一處理程序及該第二處理程序兩者,基於一位址轉譯表之各自位址轉譯項映射各自位址,及 其中,相對於藉由該第一處理程序執行之至少某些記憶體存取,一記憶體管理單元之項選擇邏輯基於該外部來源值來修改經呈遞用於與編碼於該位址轉譯表之各自位址轉譯項中之查詢標籤匹配之一對應處理程序識別符。
- 如請求項19之方法,其中藉由該項選擇邏輯執行之該修改包含使經呈遞用於匹配之一處理程序識別符之一子部分過載,其中該過載係使用對應於該外部來源值之一值,及其中針對對應於藉由該第一處理程序執行之記憶體存取之位址轉譯項之至少某些查詢標籤編碼,該項選擇邏輯用信號發出無關於該外部來源值之一命中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/483,051 US8386747B2 (en) | 2009-06-11 | 2009-06-11 | Processor and method for dynamic and selective alteration of address translation |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201104427A TW201104427A (en) | 2011-02-01 |
TWI512468B true TWI512468B (zh) | 2015-12-11 |
Family
ID=43307402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099118803A TWI512468B (zh) | 2009-06-11 | 2010-06-09 | 用於位址轉譯之動態及選擇性變化的裝置與方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8386747B2 (zh) |
EP (1) | EP2441006A4 (zh) |
CN (1) | CN102460403B (zh) |
TW (1) | TWI512468B (zh) |
WO (1) | WO2010144216A2 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124329A1 (en) * | 2010-11-17 | 2012-05-17 | Mccombs Edward M | Translation Lookaside Buffer Structure Including a Data Array Having an Integrated Multiplexer |
US8732431B2 (en) | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
WO2012141695A1 (en) * | 2011-04-13 | 2012-10-18 | Hewlett-Packard Development Company, L.P. | Input/output processing |
US20140032796A1 (en) * | 2011-04-13 | 2014-01-30 | Michael R. Krause | Input/output processing |
WO2012141694A1 (en) * | 2011-04-13 | 2012-10-18 | Hewlett-Packard Development Company, L.P. | Input/output processing |
US8572345B2 (en) | 2011-09-16 | 2013-10-29 | Freescale Semiconductor, Inc. | Memory management unit (MMU) having region descriptor globalization controls and method of operation |
WO2013067375A1 (en) * | 2011-11-02 | 2013-05-10 | Huawei Technologies, Co., Ltd. | Uncached static short address translation table in the cache coherent computer system |
US8726244B2 (en) * | 2011-11-09 | 2014-05-13 | Mediatek Singapore Pte. Ltd. | Software breakpoint handling by eliminating instruction replacement and execution under certain conditions |
WO2013101214A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Optional logging of debug activities in a real time instruction tracing log |
US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
US9740624B2 (en) * | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
US9280488B2 (en) | 2012-10-08 | 2016-03-08 | International Business Machines Corporation | Asymmetric co-existent address translation structure formats |
US9355040B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
US9355032B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Supporting multiple types of guests by a hypervisor |
US9329900B2 (en) | 2012-12-28 | 2016-05-03 | Intel Corporation | Hetergeneous processor apparatus and method |
US9448829B2 (en) | 2012-12-28 | 2016-09-20 | Intel Corporation | Hetergeneous processor apparatus and method |
US9639372B2 (en) | 2012-12-28 | 2017-05-02 | Intel Corporation | Apparatus and method for heterogeneous processors mapping to virtual cores |
US9672046B2 (en) | 2012-12-28 | 2017-06-06 | Intel Corporation | Apparatus and method for intelligently powering heterogeneous processor components |
US9727345B2 (en) | 2013-03-15 | 2017-08-08 | Intel Corporation | Method for booting a heterogeneous system and presenting a symmetric core view |
WO2016085463A1 (en) | 2014-11-25 | 2016-06-02 | Hewlett Packard Enterprise Development Lp | Memory controller with memory resource memory management |
US20170255565A1 (en) * | 2016-03-02 | 2017-09-07 | Intel Corporation | Method and apparatus for providing a contiguously addressable memory region by remapping an address space |
US10678702B2 (en) * | 2016-05-27 | 2020-06-09 | Advanced Micro Devices, Inc. | Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations |
CN107479860B (zh) * | 2016-06-07 | 2020-10-09 | 华为技术有限公司 | 一种处理器芯片以及指令缓存的预取方法 |
US10754872B2 (en) * | 2016-12-28 | 2020-08-25 | Palantir Technologies Inc. | Automatically executing tasks and configuring access control lists in a data transformation system |
US10169185B1 (en) * | 2017-08-12 | 2019-01-01 | International Business Machines Corporation | Efficient testing of direct memory address translation |
GB2570665B (en) * | 2018-01-31 | 2020-08-26 | Advanced Risc Mach Ltd | Address translation in a data processing apparatus |
KR102540964B1 (ko) | 2018-02-12 | 2023-06-07 | 삼성전자주식회사 | 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작 |
US11743253B2 (en) * | 2018-05-08 | 2023-08-29 | Roche Diabetes Care, Inc. | Methods and systems for bidirectional device authentication |
US10776046B1 (en) * | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11968843B2 (en) * | 2018-06-28 | 2024-04-23 | Taiwan Semiconductor Manufacturing Co., Ltd. | Processing core and MRAM memory unit integrated on a single chip |
WO2020093654A1 (en) * | 2018-11-06 | 2020-05-14 | Genesys Logic, Inc. | Multichip system and data processing method adapted to the same for implementing neural network application |
TWI706250B (zh) * | 2019-02-26 | 2020-10-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11262946B2 (en) * | 2019-11-25 | 2022-03-01 | Micron Technology, Inc. | Cache-based memory read commands |
US10979054B1 (en) * | 2020-01-14 | 2021-04-13 | Nuvotonn Technology Corporation | Coupling of combinational logic circuits for protection against side-channel attacks |
CN111813451B (zh) * | 2020-06-05 | 2023-03-24 | 上海赛昉科技有限公司 | 一种cpu数据读取装置及方法 |
CN112243269B (zh) * | 2020-10-15 | 2023-09-19 | 青岛乾程科技股份有限公司 | 下载数据方法及其装置、移动终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198805A1 (en) * | 2006-02-23 | 2007-08-23 | Richard Soja | Non-intrusive address mapping having a modified address space identifier and circuitry therefor |
US20070283123A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Function-based virtual-to-physical address translation |
TW200912643A (en) * | 2007-05-30 | 2009-03-16 | Schooner Information Technology | System including a fine-grained memory and a less-fine-grained memory |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4373179A (en) * | 1978-06-26 | 1983-02-08 | Fujitsu Limited | Dynamic address translation system |
US4888688A (en) * | 1987-09-18 | 1989-12-19 | Motorola, Inc. | Dynamic disable mechanism for a memory management unit |
US5564052A (en) * | 1991-06-27 | 1996-10-08 | Integrated Device Technology, Inc. | Logically disconnectable virtual-to-physical address translation unit and method for such disconnection |
US6581130B1 (en) * | 2000-04-04 | 2003-06-17 | Hewlett Packard Development Company, L.P. | Dynamic remapping of address registers for address translation between multiple busses |
US7073173B1 (en) * | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
US6725289B1 (en) * | 2002-04-17 | 2004-04-20 | Vmware, Inc. | Transparent address remapping for high-speed I/O |
US20030204702A1 (en) * | 2002-04-30 | 2003-10-30 | Adc Dsl Systems, Inc. | Flexible memory architecture for an embedded processor |
US7484043B2 (en) * | 2003-06-25 | 2009-01-27 | International Business Machines Corporation | Multiprocessor system with dynamic cache coherency regions |
US7401201B2 (en) * | 2006-04-28 | 2008-07-15 | Freescale Semiconductor, Inc. | Processor and method for altering address translation |
-
2009
- 2009-06-11 US US12/483,051 patent/US8386747B2/en active Active
-
2010
- 2010-05-17 CN CN201080025392.7A patent/CN102460403B/zh active Active
- 2010-05-17 EP EP10786554.5A patent/EP2441006A4/en not_active Withdrawn
- 2010-05-17 WO PCT/US2010/035101 patent/WO2010144216A2/en active Application Filing
- 2010-06-09 TW TW099118803A patent/TWI512468B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198805A1 (en) * | 2006-02-23 | 2007-08-23 | Richard Soja | Non-intrusive address mapping having a modified address space identifier and circuitry therefor |
US20070283123A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Function-based virtual-to-physical address translation |
TW200912643A (en) * | 2007-05-30 | 2009-03-16 | Schooner Information Technology | System including a fine-grained memory and a less-fine-grained memory |
Also Published As
Publication number | Publication date |
---|---|
EP2441006A2 (en) | 2012-04-18 |
EP2441006A4 (en) | 2014-04-23 |
WO2010144216A3 (en) | 2011-03-10 |
CN102460403A (zh) | 2012-05-16 |
WO2010144216A2 (en) | 2010-12-16 |
US20100318761A1 (en) | 2010-12-16 |
CN102460403B (zh) | 2016-01-27 |
TW201104427A (en) | 2011-02-01 |
US8386747B2 (en) | 2013-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI512468B (zh) | 用於位址轉譯之動態及選擇性變化的裝置與方法 | |
US8261047B2 (en) | Qualification of conditional debug instructions based on address | |
CN106575218B (zh) | 持久性存储屏障处理器、方法、系统和指令 | |
JP5027669B2 (ja) | マイクロプロセッサ、集積回路、システム及び方法 | |
JP7483950B2 (ja) | バイナリ変換を実行するためのシステム及び方法 | |
AU2019294141B2 (en) | Cache-based trace replay breakpoints using reserved tag field bits | |
US20130179642A1 (en) | Non-Allocating Memory Access with Physical Address | |
US20160092371A1 (en) | Method and Apparatus For Deterministic Translation Lookaside Buffer (TLB) Miss Handling | |
JP5922317B2 (ja) | 変換索引バッファ(tlb)のための重複検査 | |
CN112639750B (zh) | 用于控制存储器存取的装置及方法 | |
TW201346567A (zh) | 結構存取處理器、方法、系統及指令 | |
US20190205061A1 (en) | Processor, method, and system for reducing latency in accessing remote registers | |
IL263204A (en) | Confirmation control for teaching conditional memory access software | |
TW201941063A (zh) | 記憶體存取中的守衛標籤檢查的控制 | |
JP2001034537A (ja) | アドレス変換回路 | |
TWI801622B (zh) | 用於處理保護標籤損失的裝置、方法、電腦程式、與儲存媒體 | |
KR20180103977A (ko) | 메모리 어드레스 변환 관리 | |
US9280492B2 (en) | System and method for a load instruction with code conversion having access permissions to indicate failure of load content from registers | |
WO2011048442A1 (en) | Integrated circuits and methods for debugging | |
Mahmood et al. | Pipelined MIPS processor with cache controller using VHDL implementation for educational purposes | |
US20150186140A1 (en) | Opcode trapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |