TWI448893B - 使用用以轉譯和儲存資料值之指令以組態替代記憶體存取代理器 - Google Patents
使用用以轉譯和儲存資料值之指令以組態替代記憶體存取代理器 Download PDFInfo
- Publication number
- TWI448893B TWI448893B TW100116570A TW100116570A TWI448893B TW I448893 B TWI448893 B TW I448893B TW 100116570 A TW100116570 A TW 100116570A TW 100116570 A TW100116570 A TW 100116570A TW I448893 B TWI448893 B TW I448893B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- memory
- address
- physical address
- processor
- Prior art date
Links
- 238000012545 processing Methods 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 6
- 238000004148 unit process Methods 0.000 claims 5
- 238000007726 management method Methods 0.000 claims 3
- 239000003795 chemical substances by application Substances 0.000 description 78
- 238000010586 diagram Methods 0.000 description 40
- 239000013078 crystal Substances 0.000 description 14
- 238000013519 translation Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- 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
- 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
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
-
- 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/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Bus Control (AREA)
- Storage Device Security (AREA)
Description
本文中所揭示之發明性概念之實施例大體上係關於資料處理系統之領域。更特定言之,本文中所揭示之發明性概念之實施例係關於使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器。
資料處理系統可包括彼此互動來處理指令之各種組件。一組件可為可管理儲存於實體記憶體中的值之替代記憶體存取代理器。替代記憶體存取代理器之一實例為直接記憶體存取(DMA)通道。替代記憶體存取代理器可用以存取記憶體,諸如用於對儲存於記憶體中的值執行計算或藉由使一值在實體記憶體中複製或移動至一第二位置來改變該值在實體記憶體中的位置。舉例而言,替代記憶體存取代理器可包括兩個暫存器。一暫存器可儲存一資料值,該資料值為待移動或複製的記憶體值之記憶體位置的實體位址。另一暫存器可儲存一資料值,該資料值為該記憶體值待移動至或複製至的記憶體位置之實體位址。隨後,諸如當以資料值填充該等暫存器時,該替代記憶體存取代理器可提供來自該等暫存器的資料值以使在一實體記憶體位置中的記憶體值得以移動或複製。
由處理器所執行之軟體來組態替代記憶體存取代理器(諸如藉由在一替代記憶體存取代理器之一暫存器中儲存一資料值,該資料值為待存取的在記憶體中的位置之實體位址)。由該替代記憶體存取代理器自一處理器接收由該資料值表示之實體位址,該處理器以一特權模式操作且執行一「儲存」(STORE)指令。該「儲存」指令指定由待儲存於由暫存器之所指定位址識別的暫存器中之資料值所表示之實體位址。該處理器以一特權模式操作來存取、獲得及寫入該實體位址。以非特權模式操作之處理器無法存取實體位址以保護實體位址之完整性。
若處理器正以非特權模式操作,則該處理器首先暫時中止非特權處理程序之執行且切換至特權模式。一旦處於特權模式中,則該處理器接著判定待存取且由資料值表示之在記憶體中的位置之實體位址。將表示實體位址之資料值儲存於該替代記憶體存取代理器之暫存器中。
暫時中止執行可能會造成處理中之低效且消耗功率。因此,需要可降低處理延遲、功率消耗及/或以其他方式提供更高效處理之用於組態替代記憶體存取代理器之系統及處理程序。另外,需要在不要求處理器以特權模式操作,但保護實體位址免於暴露於在非特權模式中的操作的情況下組態替代記憶體存取代理器。
在一實施例中,接收一指令,該指令包括一第一運算元及一第二運算元,該第一運算元指定待轉譯之一資料值,該第二運算元指定與供儲存該資料值的一替代記憶體存取代理器暫存器之位置相關聯之一虛擬位址。該資料值可經轉譯為一第一實體位址。該虛擬位址可經轉譯為一第二實體位址。基於該第二實體位址而將第一實體位址儲存於該替代記憶體存取代理器暫存器中。
提及此說明性實施例並不為限制或界定本文中所揭示之發明性概念,而提供實例以輔助對其之理解。在審閱整個申請案之後,本發明之其他態樣、優點及特徵將變得顯而易見,該整個申請案包括以下部分:圖式簡單說明、實施方式及申請專利範圍。
本文中所揭示之發明性概念之此等及其他特徵、態樣及優點在參考隨附圖式閱讀以下實施方式時得以更好地理解。
貫穿描述,為達成解釋之目的,闡述眾多特定細節以便提供對本文中所揭示之發明性概念的徹底理解。然而,對於熟習此項技術者而言將顯而易見,可在無此等特定細節中之一些的情況下實踐本文中所揭示之發明性概念。在其他例子中,以方塊圖形式展示熟知結構及器件以避免混淆本文中所揭示之發明性概念的基本原理。
本文中所揭示之發明性概念之實施例係關於資料處理系統,該等資料處理系統可使用一指令來組態一替代記憶體存取代理器,該指令能夠由以非特權模式或特權模式操作之處理器處理。該指令可為用於轉譯及儲存資料值以組態一替代記憶體存取代理器之指令。可在提供一或多個資料值以供儲存於替代記憶體存取代理器中時組態該替代記憶體存取代理器。該替代記憶體存取代理器可為能夠代表另一組件(諸如處理器)直接存取實體記憶體之任何組件或處理程序。替代記憶體存取代理器之一實例為直接記憶體存取(DMA)通道,DMA通道能夠自一第一實體記憶體位置移動或複製記憶體值至一第二實體記憶體位置,或存取一記憶體值以執行計算或其他目的。該替代記憶體存取代理器可包括一或多個暫存器,該一或多個暫存器各自可儲存指定供存取的記憶體值之位置的資料值。
可自一處理程序接收一指令且該指令可用以組態該替代記憶體存取代理器。該指令可包括一運算元及另一運算元,該一運算元指定待轉譯的表示一虛擬位址之資料值,該另一運算元指定對應於替代記憶體存取代理器之一暫存器的位置之一虛擬位址。一處理器(以非特權模式或特權模式操作)可處理該指令以使對應於該暫存器的位置之虛擬位址由一記憶體管理單元(MMU)(諸如包括轉譯後援緩衝器(TLB)之MMU)轉譯為該暫存器的實體位址。該處理器單元可使由該資料值表示之該虛擬位址由該MMU轉譯為由該資料值表示之實體位址。由該資料值表示之該實體位址可儲存於由該暫存器的實體位址所識別之暫存器中。
在一些實施例中,該替代記憶體存取代理器可使用所儲存的資料值來在由該資料值表示之實體位址處存取一記憶體值,諸如用於對該記憶體值執行計算或其他目的。在一實施例中,該替代記憶體存取代理器包括兩個暫存器。可使用根據某些實施例之指令來組態該兩個暫存器中之每一者。在將一資料值儲存於該兩個暫存器中之每一者中之後,該替代記憶體存取代理器可使用該等所儲存之資料值來使在實體記憶體中之一資料值得以移動或複製。舉例而言,在第一暫存器中之資料值可為待複製或移動之記憶體值的實體位址,且在第二暫存器中之資料值可為該記憶體值所複製至或移動至的記憶體位置之實體位址。
使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器可提高處理速度,降低延遲,降低功率消耗及/或以其他方式提供更高效之處理。圖1展示使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器之一實施例之總圖。處理程序100(諸如軟體程式)與處理器單元102相通信,且可為可由使用者控制之一或多個使用者級軟體處理程序,而非限制使用者不能直接操縱之監管級處理程序。處理程序100可提供一指令,該指令識別可由MMU 108(諸如具有TLB 110之MMU 108)轉譯為用於儲存於替代記憶體存取代理器112中的實體位址之虛擬位址。在圖1中所展示之實施例中,替代記憶體存取代理器112為獨立於MMU 108之組件。
處理程序100可經組態以提供該指令給處理器單元102。該指令可包括一第一運算元及一第二運算元,該第一運算元指定由待儲存於替代記憶體存取代理器112之暫存器中的資料值所表示之第一虛擬位址,該第二運算元指定與該暫存器的位置相關聯之一第二虛擬位址。處理器單元102可使用該指令來使第二虛擬位址自位址暫存器104被提供給MMU 108及使第一虛擬位址自資料暫存器106被提供給MMU 108。根據該指令,處理器單元102可使TLB 110將第一虛擬位址轉譯為由待儲存於該暫存器中的資料值所表示之第一實體位址,且將第二虛擬位址轉譯為對應於該暫存器的位置之第二實體位址。該第二實體位址可用以將第一實體位址儲存於替代記憶體存取代理器112之該暫存器中。
替代記憶體存取代理器112能夠存取記憶體114,記憶體114可為一記憶體器件,其用於儲存由處理器單元102存取以供隨後處理之資料。記憶體114包括在記憶體114中的不同實體位址處儲存之記憶體值。記憶體值可儲存於之在記憶體114中的位置之實體位址由PA1、PA2及PAn表示。替代記憶體存取代理器112可使用表示第一實體位址之資料值來存取記憶體114中的位置。
在一實例中,可在對應於PA1之位置處將需要移動至對應於PA2的位置之記憶體值儲存於記憶體114中。替代記憶體存取代理器112可包括至少兩個暫存器,使得表示對應於PA1的實體位址之資料值儲存於第一暫存器中,且表示對應於PA2的實體位址之資料值儲存於第二暫存器中。第一暫存器中之資料值可用以識別待移動或複製之記憶體值的位置(PA1),且第二暫存器中之資料值可用以識別該記憶體值待移動至之位置(PA2)。因而,可使用用於轉譯及儲存由一處理器處理的資料值之指令來將記憶體值自PA1移動至PA2,該處理器以非特權模式或特權模式操作且避免處理低效。
用於轉譯及儲存資料值之各種指令可用以組態替代記憶體存取代理器。圖2為用於使用由處理程序100所提供的指令202來組態替代記憶體存取代理器112之資料處理系統之實施例之總圖。指令202可包括兩個運算元:(a)指定表示待轉譯的虛擬位址(VA)之資料值(204);及(b)指定對應於供儲存所轉譯的資料值之暫存器的位置之虛擬位址(VA)(206)。可由處理程序100指定該等虛擬位址。在一些實施例中,指令202包括一運算元,該運算元指定在處理器單元102中的虛擬位址之位置而非該等虛擬位址。
處理器單元102可經組態以將指令202儲存於指令儲存器208中。指令儲存器208可為一電腦可讀媒體,指令202儲存於其中以供稍後使用、處理或存取。可使用任何適宜程式設計碼來表示指令202。舉例而言,第一運算元可為用於指定表示待轉譯為實體位址之虛擬位址的資料值之程式碼,且第二運算元可為用於指定與供儲存由該資料值表示的實體位址之替代記憶體存取代理器暫存器的位置相關聯之虛擬位址之程式碼。
處理器單元102可在藉由存取指令儲存器208而接收到指令202時隨即處理指令202或在一稍後時間來處理指令202。處理器單元102可藉由提供指定供儲存該資料值之暫存器的位置之虛擬位址及提供表示第二虛擬位址之資料值來處理指令202。暫存器之虛擬位址可對應於替代記憶體存取代理器112中之暫存器。處理器單元102基於指令202可使指定暫存器的位置之虛擬位址及由該資料值表示之虛擬位址由一MMU轉譯(諸如包括TLB 210之MMU)。
TLB 210可將指定暫存器的位置之虛擬位址轉譯為該暫存器之實體位址(PA)。舉例而言,TLB 210可包括一查找表以用於判定與指定暫存器的位置之虛擬位址相關聯之實體位址。此外,TLB 210將由資料值表示之虛擬位址轉譯為由該資料值表示之實體位址(PA)。TLB 210可提供所轉譯的實體位址給替代記憶體存取代理器112。
替代記憶體存取代理器112可包括用於儲存資料值之一或多個暫存器。在圖2中所展示之實施例中,替代記憶體存取代理器112包括兩個暫存器:暫存器一212及暫存器二214。該暫存器之實體位址可用以識別供儲存資料值之替代記憶體存取代理器112的暫存器。舉例而言,該暫存器之實體位址可為暫存器一212之實體位址。在使用該暫存器的實體位址識別暫存器一212之後,將表示實體位址之資料值儲存於暫存器一212中。
在一些實施例中,處理器單元102可接收一第二指令,在第二指令中指定不同虛擬位址以用於轉譯及用於儲存於暫存器二214中。舉例而言,可識別與對應於暫存器二214的位置相關聯之一虛擬位址。可指定表示待轉譯之另一虛擬位址之一資料值,該資料值不同於在第一指令202中的資料值。處理器單元102可大體上根據上文描述之處理程序及組件來處理第二指令,且使由第二指令識別的資料值所表示之實體位址儲存於暫存器二214中。替代記憶體存取代理器112可使用儲存於暫存器一212及暫存器二214中之資料值來存取記憶體114。
記憶體114可為儲存及存取資料以供處理之實體記憶體。圖2中所展示之記憶體114包括在具有實體位址PA1的位置處儲存之一記憶體值,且包括具有實體位址PA2之開放的第二位置(亦即,在彼位置中未儲存記憶體值)。出於說明性目的提供記憶體114。其他記憶體器件可包括與儲存值或能夠儲存值之實體位址相關聯之額外記憶體位置。
根據各種實施例之指令可用以藉由將表示實體位址之所轉譯的資料值儲存於一或多個暫存器中來組態替代記憶體存取代理器。圖3說明用於使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器之方法。參考在圖2中所說明之組件及指令來描述圖3之流程圖。然而,其他實施為可能的。
該方法在處理器單元102接收一指令時開始(在區塊302中),該指令指定表示待轉譯之虛擬位址的一資料值且指定用以儲存所轉譯的資料值之暫存器的虛擬位址。可自一處理程序(諸如以使用者模式操作之軟體)接收該指令。指定暫存器的虛擬位址之運算元可包括對應於替代記憶體存取代理器112之暫存器一212的實體位址之虛擬位址。處理器單元102經組態以處理該指令。舉例而言,處理器單元102可將該指令儲存於一電腦可讀媒體(諸如指令儲存器208)中且執行由該指令指定之操作。
在區塊304中,處理器單元102使該等虛擬位址被TLB 210轉譯成實體位址。處理器單元102可將對應於暫存器一212的位置之虛擬位址及表示另一虛擬位址之資料值提供給TLB 210且使TLB 210轉譯該等虛擬位址。TLB 210可包括藉以判定與該等虛擬位址相關聯之實體位址的查找表或其他機制。舉例而言,TLB 210可使用查找表來判定與對應於暫存器一212的位置之虛擬位址相關聯之實體位址。TLB 210之輸出可為暫存器一212之實體位址及待儲存於暫存器一212中之資料值所表示之另一實體位址。由該資料值所表示之實體位址可對應於待由替代記憶體存取代理器存取之在記憶體中的一位置。
在區塊306中,處理器單元102使用暫存器一212之實體位址來將表示一實體位址之資料值寫入至暫存器一212。舉例而言,暫存器一212之實體位址識別該資料值所寫入之位置,且處理器單元可藉由該暫存器之實體位址基於暫存器一212之識別碼來使該資料值(表示自由處理程序100提供之虛擬位址轉譯出之實體位址)寫入至暫存器一212。
在區塊308中,替代記憶體存取代理器112可使用表示實體位址且儲存於暫存器一212中之資料值來識別用以存取之記憶體值在記憶體114中之位置。在一些實施例中,可出於對記憶體值執行一計算或使用記憶體值之目的來存取記憶體值。舉例而言,由在暫存器一212中之資料值所表示之實體位址可對應於記憶體114之PA1,從而出於計算或其他目的而將其識別為待存取之記憶體值的位置。
在圖3中展示之方法係針對使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器之暫存器。然而,可使用一第二指令或使用一指令經由另一方法以相似方式來組態額外暫存器,且替代記憶體存取代理器可使用儲存於其暫存器中的一個以上資料值來存取記憶體中之記憶體值(諸如出於移動或複製記憶體值之目的)。
根據一些實施例之用於組態替代記憶體存取代理器之處理系統可經調適以使用用於轉譯及儲存資料值之指令或其他類型之指令。圖4為處理系統之第二實施例之總圖,該處理系統可使用用於轉譯及儲存資料值之指令或其他類型之指令(諸如不能夠被以一非特權模式操作之處理器處理之指令)來組態替代記憶體存取代理器112。
由處理程序402提供一指令404。程序402可為能夠提供指定虛擬位址之指令的使用者模式處理程序或能夠提供指定虛擬位址或實體位址之指令的監管級處理程序。若指令404指定虛擬位址,則指令404可包括一運算元及一第二運算元,該一運算元指定由待轉譯之資料值所表示之虛擬位址,該第二運算元指定與供儲存所轉譯的資料值之替代記憶體存取代理器112之暫存器的位置相關聯之第二虛擬位址,如(例如)參考圖1至圖3所描述。
在其他實施例中,指令404來自一監管級處理程序,該監管級處理程序指定實體位址,包括表示一實體位址之資料值及與供儲存該資料值之替代記憶體存取代理器112的暫存器之位置相關聯之一虛擬位址。當指令404指定由該資料值所表示之實體位址時,處理器單元102可提供表示該實體位址之資料值給多工器(MUX)406作為一輸入。處理器單元102可使該虛擬位址由一MMU(諸如包括TLB 210之MMU)轉譯且提供給替代記憶體存取代理器112。TLB 210之輸出可為與供儲存由處理器單元102所提供之資料值的暫存器相關聯之實體位址。
MUX 406可經組態以判定是將自TLB 210接收之輸入或是自處理器單元102接收之輸入供應給替代記憶體存取代理器112。處理器單元102亦可提供一輸出給MUX 406來作為基於所執行的指令之類型的選擇器。若該指令指定表示一實體位址之資料值,則處理器單元102輸出一選擇器以使MUX 406提供來自處理器單元102之資料值。若該指令指定表示一虛擬位址之資料值,則TLB 210轉譯該值,且處理器單元102使MUX 406提供來自TLB 210之所轉譯的值給替代記憶體存取代理器112。
在圖4中所展示之實施例中,替代記憶體存取代理器112可將自MUX 406經由一或多個指令接收之資料值儲存於暫存器一212及/或暫存器二214中。替代記憶體存取代理器112可在暫存器212、214中之一或多者包括資料值時存取記憶體114。舉例而言,儲存於暫存器一212中之資料值可用以將對應於實體位址PA1之記憶體位置識別為在記憶體114中之待移動或複製的記憶體值所在之位置。儲存於暫存器一212中之資料值可用以將對應於實體位址PA2之記憶體位置識別為該記憶體值待移動至或複製至之位置。替代記憶體存取代理器112可使用該等資料值來使該記憶體值移動或複製至所識別之位置。
包括上述特徵的實例器件
能夠使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器之處理器單元可包括於任何類型之處理器中,諸如數位信號處理器。圖5至圖9之總圖說明可併有用於使用用於轉譯及儲存資料值之指令來組態替代記憶體存取代理器之處理器單元的實例器件。
圖5為說明攜帶型通信器件500之例示性實施例之圖。如在圖5之總圖中所說明,該攜帶型通信器件包括包括數位信號處理器(DSP)504之晶載系統502。圖5之總圖亦展示耦合至DSP 504及顯示器508之顯示控制器506。另外,輸入器件510耦合至DSP 504。如展示,記憶體512耦合至DSP 504。另外,編碼器/解碼器(CODEC)514可耦合至DSP 504。揚聲器516及麥克風518可耦合至CODEC 514。
圖5之總圖進一步說明耦合至數位信號處理器504及無線天線522之無線控制器520。在一特定實施例中,電源供應器524耦合至晶載系統502。顯示器508、輸入器件510、揚聲器516、麥克風518、無線天線522及電源供應器524可在晶載系統502外部。然而,各自可耦合至晶載系統502之一組件。
在一特定實施例中,DSP 504包括處理器單元562(參考圖1、圖2或圖4描述其實例),處理器單元562可使用用於轉譯及儲存資料值之指令來組態一替代記憶體存取代理器(諸如DMA通道)以降低處理延遲、功率消耗及/或以其他方式提供更高效之處理。舉例而言,處理器單元562可經組態以處理包括一運算元及一第二運算元之一指令,該一運算元指定與替代記憶體存取代理器之暫存器的位置相關聯之虛擬位址,該第二運算元指定由待轉譯為實體位址且儲存於暫存器中之資料值所表示之第二虛擬位址。
圖6為說明蜂巢式電話600之例示性實施例之圖式。如所展示,蜂巢式電話600包括晶載系統602,晶載系統602包括耦合在一起的數位基頻處理器604及類比基頻處理器606。在一特定實施例中,數位基頻處理器604為數位信號處理器。如圖6之總圖中所說明,顯示控制器608及觸控螢幕控制器610耦合至數位基頻處理器604。在晶載系統602外部之觸控螢幕顯示器612又耦合至顯示控制器608及觸控螢幕控制器610。
圖6之總圖進一步說明視訊編碼器614(例如,相位交變線(PAL)編碼器、順序彩色記憶(sequential couleur a memoire,SECAM)編碼器或國家電視系統委員會(NTSC)編碼器)耦合至數位基頻處理器604。另外,視訊放大器616耦合至視訊編碼器614及觸控螢幕顯示器612。又,視訊埠618耦合至視訊放大器616。通用串列匯流排(USB)控制器620耦合至數位基頻處理器604。又,USB埠622耦合至USB控制器620。記憶體624及用戶識別模組(SIM)卡626亦可耦合至數位基頻處理器604。另外,如圖6之總圖中所展示,數位相機628可耦合至數位基頻處理器604。在一例示性實施例中,數位相機628為電荷耦合器件(CCD)相機或互補金屬氧化物半導體(CMOS)相機。
如圖6之總圖中進一步說明,立體聲音訊CODEC 630可耦合至類比基頻處理器606。另外,音訊放大器632可耦合至立體聲音訊CODEC 630。在一例示性實施例中,第一立體聲揚聲器634及第二立體聲揚聲器636耦合至音訊放大器632。麥克風放大器638亦可耦合至立體聲音訊CODEC 630。此外,麥克風640可耦合至麥克風放大器638。在一特定實施例中,調頻(FM)無線電調諧器642可耦合至立體聲音訊CODEC 630。FM天線644可耦合至FM無線電調諧器642。另外,立體聲耳機646可耦合至立體聲音訊CODEC 630。
圖6之總圖進一步說明射頻(RF)收發器648,其可耦合至類比基頻處理器606。RF開關650可耦合至RF收發器648及RF天線652。小鍵盤654可耦合至類比基頻處理器606。又,具有麥克風之單聲道頭戴式耳機656可耦合至類比基頻處理器606。另外,振動器器件658可耦合至類比基頻處理器606。圖6之總圖亦展示可耦合至晶載系統602之電源供應器660。在一特定實施例中,電源供應器660為提供電力給蜂巢式電話600的各種組件之直流(DC)電源供應器。另外,在一特定實施例中,該電源供應器為可再充電DC電池或自耦合至交流(AC)電源之AC至DC變壓器所得出的DC電源供應器。
如在圖6之總圖中所描繪,觸控螢幕顯示器612、視訊埠618、USB埠622、相機628、第一立體聲揚聲器634、第二立體聲揚聲器636、麥克風640、FM天線644、立體聲耳機646、RF開關650、RF天線652、小鍵盤654、具有麥克風的單聲道頭戴式耳機656、振動器658及電源供應器660可在晶載系統602外部。在一特定實施例中,DSP 604包括處理器單元662(參考圖1、圖2或圖4描述其實例),處理器單元662可使用用於轉譯及儲存資料值之指令來組態一替代記憶體存取代理器(諸如DMA通道)以降低處理延遲、功率消耗及/或以其他方式提供更高效之處理。舉例而言,處理器單元662可經組態以處理包括一運算元及一第二運算元之指令,該一運算元指定與替代記憶體存取代理器的暫存器之位置相關聯之虛擬位址,該第二運算元指定由待轉譯為實體位址且儲存於暫存器中的資料值所表示之第二虛擬位址。
圖7為說明無線網際網路協定(IP)電話700之例示性實施例之圖。如所展示,無線IP電話700包括包括數位信號處理器(DSP)704之晶載系統702。顯示控制器706可耦合至DSP 704,且顯示器708耦合至顯示控制器706。在一例示性實施例中,顯示器708為液晶顯示器(LCD)。圖7進一步展示小鍵盤710可耦合至DSP 704。
快閃記憶體712可耦合至DSP 704。同步動態隨機存取記憶體(SDRAM)714、靜態隨機存取記憶體(SRAM)716及電可抹除可程式化唯讀記憶體(EEPROM)718亦可耦合至DSP 704。圖7之總圖亦展示發光二極體(LED)720可耦合至DSP 704。此外,在一特定實施例中,語音CODEC 722可耦合至DSP 704。放大器724可耦合至語音CODEC 722,且單聲道揚聲器726可耦合至放大器724。圖7之總圖進一步說明耦合至語音CODEC 722之單聲道頭戴式耳機728。在一特定實施例中,單聲道頭戴式耳機728包括麥克風。
無線區域網路(WLAN)基頻處理器730可耦合至DSP 704。RF收發器732可耦合至WLAN基頻處理器730,且RF天線734可耦合至RF收發器732。在一特定實施例中,藍芽控制器736亦可耦合至DSP 704,且藍芽天線738可耦合至控制器736。圖7之總圖亦展示USB埠740亦可耦合至DSP 704。另外,電源供應器742耦合至晶載系統702,且提供電力給無線IP電話700之各種組件。
如在圖7之總圖中所指示,顯示器708、小鍵盤710、LED 720、單聲道揚聲器726、單聲道頭戴式耳機728、RF天線734、藍芽天線738、USB埠740及電源供應器742可在晶載系統702外部,且耦合至晶載系統702之一或多個組件。在一特定實施例中,DSP 704包括處理器單元762(參考圖1、圖2或圖4描述其實例),處理器單元762可使用用於轉譯及儲存資料值之指令來組態一替代記憶體存取代理器(諸如DMA通道)以降低處理延遲、功率消耗及/或以其他方式提供更高效之處理。舉例而言,處理器單元762可經組態以處理包括一運算元及一第二運算元之指令,該一運算元指定與替代記憶體存取代理器的暫存器之位置相關聯之虛擬位址,該第二運算元指定由待轉譯為實體位址且儲存於暫存器中的資料值所表示之第二虛擬位址。
圖8為說明攜帶型數位助理(PDA)800之例示性實施例之圖。如所展示,PDA 800包括包括數位信號處理器(DSP)804之晶載系統802。觸控螢幕控制器806及顯示控制器808耦合至DSP 804。另外,觸控螢幕顯示器810耦合至觸控螢幕控制器806且耦合至顯示控制器808。圖8之總圖亦指示小鍵盤812可耦合至DSP 804。
在一特定實施例中,立體聲音訊CODEC 826可耦合至DSP 804。第一立體聲放大器828可耦合至立體聲音訊CODEC 826,且第一立體聲揚聲器830可耦合至第一立體聲放大器828。另外,麥克風放大器832可耦合至立體聲音訊CODEC 826,且麥克風834可耦合至麥克風放大器832。圖8之總圖進一步展示可耦合至立體聲音訊CODEC 826之第二立體聲放大器836及可耦合至第二立體聲放大器836之第二立體聲揚聲器838。在一特定實施例中,立體聲耳機840亦可耦合至立體聲音訊CODEC 826。
圖8之總圖亦說明可耦合至DSP 804之802.11控制器842及可耦合至802.11控制器842之802.11天線844。另外,藍芽控制器846可耦合至DSP 804,且藍芽天線848可耦合至藍芽控制器846。USB控制器850可耦合至DSP 804,且USB埠852可耦合至USB控制器850。另外,智慧卡854(例如,多媒體卡(MMC)或安全數位卡(SD))可耦合至DSP 804。另外,電源供應器856可耦合至晶載系統802,且可提供電力給PDA 800之各種組件。
如在圖8之總圖中所指示,顯示器810、小鍵盤812、IrDA埠822、數位相機824、第一立體聲揚聲器830、麥克風834、第二立體聲揚聲器838、立體聲耳機840、802.11天線844、藍芽天線848、USB埠852及電源供應器856可在晶載系統802外部,且耦合至晶載系統802上之一或多個組件。在一特定實施例中,DSP 804包括處理器單元862(參考圖1、圖2或圖4描述其實例),處理器單元862可使用用於轉譯及儲存資料值之指令來組態一替代記憶體存取代理器(諸如DMA通道)以降低處理延遲、功率消耗及/或以其他方式提供更高效之處理。舉例而言,處理器單元862可經組態以處理包括一運算元及一第二運算元之指令,該一運算元指定與替代記憶體存取代理器的暫存器之位置相關聯之虛擬位址,該第二運算元指定由待轉譯為實體位址且儲存於暫存器中的資料值所表示之第二虛擬位址。
圖9為說明音訊檔案播放器(例如,MP3播放器)900之例示性實施例之圖。如所展示,音訊檔案播放器900包括包括數位信號處理器(DSP)904之晶載系統902。顯示控制器906可耦合至DSP 904,且顯示器908耦合至顯示控制器906。在一例示性實施例中,顯示器908為液晶顯示器(LCD)。小鍵盤910可耦合至DSP 904。
如在圖9之總圖中進一步描繪,快閃記憶體912及唯讀記憶體(ROM)914可耦合至DSP 904。另外,在一特定實施例中,音訊CODEC 916可耦合至DSP 904。放大器918可耦合至音訊CODEC 916,且單聲道揚聲器920可耦合至放大器918。圖9之總圖進一步指示麥克風輸入端922及立體聲輸入端924亦可耦合至音訊CODEC 916。在一特定實施例中,立體聲耳機926亦可耦合至音訊CODEC 916。
USB埠928及智慧卡930可耦合至DSP 904。另外,電源供應器932可耦合至晶載系統902,且可提供電力給音訊檔案播放器900之各種組件。
如在圖9之總圖中所指示,顯示器908、小鍵盤910、單聲道揚聲器920、麥克風輸入端922、立體聲輸入端924、立體聲耳機926、USB埠928及電源供應器932在晶載系統902外部,且耦合至晶載系統902上之一或多個組件。在一特定實施例中,DSP 904包括處理器單元962(參考圖1、圖2或圖4描述其實例),處理器單元962可使用用於轉譯及儲存資料值之指令來組態一替代記憶體存取代理器(諸如DMA通道)以降低處理延遲、功率消耗及/或以其他方式提供更高效之處理。舉例而言,處理器單元962可經組態以處理包括一運算元及一第二運算元之指令,該一運算元指定與替代記憶體存取代理器的暫存器之位置相關聯之虛擬位址,該第二運算元指定由待轉譯為實體位址且儲存於暫存器中的資料值所表示之第二虛擬位址。
僅出於說明及描述之目的呈現本文中所揭示的發明性概念之實施例之前述描述,且其不意欲為詳盡的或將本文中所揭示的發明性概念限於所揭示之精確形式。在不偏離本文中所揭示的發明性概念之精神及範疇的情況下,眾多修改及調適對熟習此項技術者而言係顯而易見的。
100...處理程序
102...處理器單元
104...位址暫存器
106...資料暫存器
108...記憶體管理單元(MMU)
110...轉譯後援緩衝器(TLB)
112...替代記憶體存取代理器
114...記憶體
202...指令
208...指令儲存器
210...轉譯後援緩衝器(TLB)
212...暫存器一
214...暫存器二
402...處理程序
404...指令
406...多工器(MUX)
500...攜帶型通信器件
502...晶載系統
504...數位信號處理器(DSP)
506...顯示控制器
508...顯示器
510...輸入器件
512...記憶體
514...編碼器/解碼器(CODEC)
516...揚聲器
518...麥克風
520...無線控制器
522...無線天線
524...電源供應器
562...處理器單元
600...蜂巢式電話
602...晶載系統
604...數位基頻處理器
606...類比基頻處理器
608...顯示控制器
610...觸控螢幕控制器
612...觸控螢幕顯示器
614...視訊編碼器
616...視訊放大器
618...視訊埠
620...通用串列匯流排(USB)控制器
622...通用串列匯流排(USB)埠
624...記憶體
626...用戶識別模組(SIM)卡
628...數位相機
630...立體聲音訊編碼器/解碼器(CODEC)
632...音訊放大器
634...第一立體聲揚聲器
636...第二立體聲揚聲器
638...麥克風放大器
640...麥克風
642...調頻(FM)無線電調諧器
644...調頻(FM)天線
646...立體聲耳機
648...射頻(RF)收發器
650...射頻(RF)開關
652...射頻(RF)天線
654...小鍵盤
656...具有麥克風之單聲道頭戴式耳機
658...振動器
660...電源供應器
662...處理器單元
700...無線網際網路協定(IP)電話
702...晶載系統
704...數位信號處理器(DSP)
706...顯示控制器
708...顯示器
710...小鍵盤
712...快閃記憶體
714...同步動態隨機存取記憶體(SDRAM)
716...靜態隨機存取記憶體(SRAM)
718...電可抹除可程式化唯讀記憶體(EEPROM)
720...發光二極體(LED)
722...語音編碼器/解碼器(CODEC)
724...放大器
726...單聲道揚聲器
728...具有麥克風之單聲道頭戴式耳機
730...無線區域網路(WLAN)基頻處理器
732...射頻(RF)收發器
734...射頻(RF)天線
736...藍芽控制器
738...藍芽天線
740...通用串列匯流排(USB)埠
742...電源供應器
762...處理器單元
800...攜帶型數位助理(PDA)
802...晶載系統
804...數位信號處理器(DSP)
806...觸控螢幕控制器
808...顯示控制器
810...觸控螢幕顯示器
812...小鍵盤
822...IrDA埠
824...數位相機
826...立體聲音訊編碼器/解碼器(CODEC)
828...第一立體聲放大器
830...第一立體聲揚聲器
832...麥克風放大器
834...麥克風
836...第二立體聲放大器
838...第二立體聲揚聲器
840...立體聲耳機
842...802.11控制器
844...802.11天線
846...藍芽控制器
848...藍芽天線
850...通用串列匯流排(USB)控制器
852...通用串列匯流排(USB)埠
854...智慧卡
856...電源供應器
862...處理器單元
900...音訊檔案播放器
902...晶載系統
904...數位信號處理器(DSP)
906...顯示控制器
908...顯示器
910...小鍵盤
912...快閃記憶體
914...唯讀記憶體(ROM)
916...音訊編碼器/解碼器(CODEC)
918...放大器
920...單聲道揚聲器
922...麥克風輸入端
924...立體聲輸入端
926...立體聲耳機
928...通用串列匯流排(USB)埠
930...智慧卡
932...電源供應器
962...處理器單元
圖1為說明根據某些實施例之能夠使用一指令來組態替代記憶體存取代理器之資料處理系統的實例之總圖,該指令能夠由以非特權模式或特權模式操作之處理器處理;
圖2為說明根據某些實施例之用於使用一指令來組態替代記憶體存取代理器之例示性資料處理系統之總圖,該指令能夠由以非特權模式或特權模式操作之處理器處理;
圖3為說明根據某些實施例之用於使用一指令來組態替代記憶體存取代理器之例示性程序之流程圖,該指令能夠由以非特權模式或特權模式操作之處理器處理;
圖4為根據某些實施例之用於使用一指令來組態替代記憶體存取代理器之一第二例示性資料處理系統之總圖,該指令能夠由以非特權模式或特權模式操作之處理器處理;
圖5為說明根據某些實施例之可包括能夠使用一指令來組態替代記憶體存取代理器之處理器單元的實例攜帶型通信器件之總圖;
圖6為說明根據某些實施例之可包括能夠使用一指令來組態替代記憶體存取代理器之處理器單元的實例蜂巢式電話之總圖;
圖7為說明根據某些實施例之可包括能夠使用一指令來組態替代記憶體存取代理器之處理器單元的實例無線網際網路協定電話之總圖;
圖8為說明根據某些實施例之可包括能夠使用一指令來組態替代記憶體存取代理器之處理器單元的實例攜帶型數位助理之總圖;及
圖9為說明根據某些實施例之可包括能夠使用一指令來組態替代記憶體存取代理器之處理器單元的實例音訊檔案播放器之總圖。
100...處理程序
102...處理器單元
104...位址暫存器
106...資料暫存器
108...記憶體管理單元(MMU)
110...轉譯後援緩衝器(TLB)
112...替代記憶體存取代理器
114...記憶體
Claims (9)
- 一種方法,其包含:接收一指令,該指令包含一第一運算元及一第二運算元,當一處理器以非特權模式處理該指令時該第一運算元指定待轉譯至一第一實體位址之一資料值,當該處理器以非特權模式處理該指令時該第二運算元指定與一替代記憶體存取代理器中的一第一暫存器的一位置相關聯之一虛擬位址,當該處理器以特權模式處理該指令時該第一運算元指定該第一實體位址,且當該處理器以特權模式處理該指令時該第二運算元指定與該替代記憶體存取代理器中的該第一暫存器的該位置相關聯之一第二實體位址;當該處理器以非特權模式處理該指令時由一記憶體管理單元將該資料值轉譯為該第一實體位址;當該處理器以非特權模式處理該指令時由該記憶體管理單元將該虛擬位址轉譯為與該替代記憶體存取代理器中的該第一暫存器的該位置相關聯之該第二實體位址;當該處理器以特權模式處理該指令時,提供該第一實體位址及該第二實體位址作為對一多工器之輸入,其中該多工器提供該輸入係從該處理器接收至該替代記憶體存取代理器;及將該第一實體位址儲存於與該第二實體位置相關聯之該替代記憶體存取代理器之一第一暫存器中。
- 如請求項1之方法,其進一步包含: 接收一第二指令,該第二指令包含指定待轉譯至一第三實體位址之一第二資料值之一第三運算元,及指定與該替代記憶體存取代理器中之一第二暫存器的一位置相關聯之一第二虛擬位址之一第四運算元;將該第二資料值轉譯為該第三實體位址;將該第二虛擬位址轉譯為與該替代記憶體存取代理器中之該第二暫存器的該位置相關聯之一第四實體位址;將該第三實體位址儲存於與該第四實體位址相關聯之該替代記憶體存取代理器中之該第二暫存器中;識別與該第一實體位址相關聯之一記憶體值的一位置;及將該記憶體值移動至與該第三實體位址相關聯之一第二位置。
- 如請求項1之方法,其進一步包含:使用該第一實體位址來管理在一實體記憶體位置處儲存之一記憶體值。
- 一種處理系統,其包含:一替代記憶體存取代理器;一處理器單元,其經組態以處理自一處理程序接收之一指令,該指令包含一第一運算元及一第二運算元,當該處理器單元以非特權模式處理該指令時該第一運算元指定待轉譯至一第一實體位址之一資料值,當該處理器單元以非特權模式處理該指令時該第二運算元指定與該替代記憶體存取代理器中的一第一暫存器的一位置相關 聯之一虛擬位址,當該處理器單元以特權模式處理該指令時該第一運算元指定該第一實體位址,且當該處理器單元以特權模式處理該指令時該第二運算元指定與該替代記憶體存取代理器中的該第一暫存器的該位置相關聯之一第二實體位址;一記憶體管理單元,其經組態以當該處理器單元以非特權模式處理該指令時將該資料值轉譯為該第一實體位址且當該處理器單元以非特權模式處理該指令時將該虛擬位址轉譯為該第二實體位址;一多工器,其具有耦合至該處理器單元之一輸入埠及耦合至該替代記憶體存取代理器之一輸出埠;且其中該處理器單元經組態以當該處理器以特權模式處理該指令時,提供該第一實體位址及該第二實體位址作為對該多工器之輸入,其中該多工器提供該輸入係從該處理器接收至該替代記憶體存取代理器,及基於該第二實體位址而將該第一實體位址儲存於該替代記憶體存取代理器中之暫存器中。
- 如請求項4之處理系統,其中該處理系統安置於一攜帶型通信器件中。
- 如請求項4之處理系統,其中該替代記憶體存取代理器經組態以使用該第一實體位址來管理在一實體記憶體位置處儲存之一記憶體值。
- 如請求項6之處理系統,其中該替代記憶體存取代理器為一直接記憶體存取(DMA)通道。
- 一種處理系統,其包含:一替代記憶體存取代理器;一處理器;用於接收一指令之構件,該指令包含一第一運算元及一第二運算元,當一處理器以非特權模式處理該指令時該第一運算元指定待轉譯至一第一實體位址之一資料值,當該處理器以非特權模式處理該指令時該第二運算元指定與該替代記憶體存取代理器中的一第一暫存器的一位置相關聯之一虛擬位址,當該處理器以特權模式處理該指令時該第一運算元指定該第一實體位址,且當該處理器以特權模式處理該指令時該第二運算元指定與該替代記憶體存取代理器中的該第一暫存器的該位置相關聯之一第二實體位址;用於當該處理器以非特權模式處理該指令時將該資料值轉譯為該第一實體位址之構件;用於當該處理器以非特權模式處理該指令時將該虛擬位址轉譯為與該替代記憶體存取代理器中的該第一暫存器的該位置相關聯之該第二實體位址之構件;用於多工之構件,當該處理器以特權模式處理該指令時,提供該第一實體位址及該第二實體位址作為對該用於多工之構件之輸入,其中該用於多工之構件提供該輸入係從該處理器接收至該替代記憶體存取代理器;及用於將該第一實體位址儲存於與該第二實體位置相關聯之該替代記憶體存取代理器中之一第一暫存器中之構 件。
- 如請求項8之處理系統,其進一步包含:用於接收一第二指令之構件,該第二指令包含指定待轉譯至一第三實體位址之一第二資料值之一第三運算元,及指定與該替代記憶體存取代理器中之一第二暫存器的一位置相關聯之一第二虛擬位址之一第四運算元;用於將該第二資料值轉譯為該第三實體位址之構件;用於將該第二虛擬位址轉譯為與該替代記憶體存取代理器之該第二暫存器的該位置相關聯之一第四實體位址之構件;用於將該第三實體位址儲存於與該第四實體位址相關聯之該替代記憶體存取代理器之該第二暫存器中之構件;用於識別與該第一實體位址相關聯之一記憶體值的一位置之構件;及用於將該記憶體值移動至與該第三實體位址相關聯之一第二位置之構件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/777,324 US8924685B2 (en) | 2010-05-11 | 2010-05-11 | Configuring surrogate memory accessing agents using non-priviledged processes |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201209583A TW201209583A (en) | 2012-03-01 |
TWI448893B true TWI448893B (zh) | 2014-08-11 |
Family
ID=44121064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100116570A TWI448893B (zh) | 2010-05-11 | 2011-05-11 | 使用用以轉譯和儲存資料值之指令以組態替代記憶體存取代理器 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8924685B2 (zh) |
EP (1) | EP2569695B1 (zh) |
JP (2) | JP5685643B2 (zh) |
KR (1) | KR101429969B1 (zh) |
CN (2) | CN104598398B (zh) |
BR (1) | BR112012028622B1 (zh) |
TW (1) | TWI448893B (zh) |
WO (1) | WO2011142967A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542333B2 (en) * | 2014-12-04 | 2017-01-10 | Qualcomm Incorporated | Systems and methods for providing improved latency in a non-uniform memory architecture |
US20160246712A1 (en) * | 2015-02-25 | 2016-08-25 | HGST Netherlands B.V. | Indirection data structures implemented as reconfigurable hardware |
US10725689B2 (en) * | 2015-08-31 | 2020-07-28 | Hewlett Packard Enterprise Development Lp | Physical memory region backup of a volatile memory to a non-volatile memory |
CN114385529A (zh) * | 2020-10-16 | 2022-04-22 | 瑞昱半导体股份有限公司 | 直接记忆体存取控制器、使用其之电子装置以及操作其的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662289B1 (en) * | 2001-05-15 | 2003-12-09 | Hewlett-Packard Development Company, Lp. | Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems |
US20060168365A1 (en) * | 2004-07-23 | 2006-07-27 | Stmicroelectronics Sa | Method for programming a DMA controller in a system on a chip and associated system on a chip |
US20080222383A1 (en) * | 2007-03-09 | 2008-09-11 | Spracklen Lawrence A | Efficient On-Chip Accelerator Interfaces to Reduce Software Overhead |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216809A (ja) | 1992-02-06 | 1993-08-27 | Nec Corp | Dma転送方式 |
JP3219826B2 (ja) * | 1992-02-21 | 2001-10-15 | 日本電気株式会社 | 情報処理装置 |
JPH05250260A (ja) * | 1992-03-04 | 1993-09-28 | Toshiba Corp | 物理アドレス読出し機能を持つ仮想記憶制御方式の情報処理装置 |
US5765022A (en) * | 1995-09-29 | 1998-06-09 | International Business Machines Corporation | System for transferring data from a source device to a target device in which the address of data movement engine is determined |
US6470437B1 (en) * | 1999-12-17 | 2002-10-22 | Hewlett-Packard Company | Updating and invalidating store data and removing stale cache lines in a prevalidated tag cache design |
US6681346B2 (en) * | 2000-05-11 | 2004-01-20 | Goodrich Corporation | Digital processing system including a DMA controller operating in the virtual address domain and a method for operating the same |
US7200691B2 (en) * | 2003-12-22 | 2007-04-03 | National Instruments Corp. | System and method for efficient DMA transfer and buffering of captured data events from a nondeterministic data bus |
CN100377117C (zh) | 2005-07-14 | 2008-03-26 | 中国科学院计算技术研究所 | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 |
JP2007087177A (ja) | 2005-09-22 | 2007-04-05 | Canon Inc | 情報処理装置 |
JP2008102850A (ja) * | 2006-10-20 | 2008-05-01 | Toshiba Corp | 情報処理装置及び情報処理方法 |
CN101556565B (zh) | 2009-01-22 | 2010-09-29 | 杭州中天微系统有限公司 | 嵌入式处理器的片上高性能dma |
US8166276B2 (en) * | 2009-02-27 | 2012-04-24 | Advanced Micro Devices, Inc. | Translate and verify instruction for a processor |
-
2010
- 2010-05-11 US US12/777,324 patent/US8924685B2/en active Active
-
2011
- 2011-04-27 EP EP11722646.4A patent/EP2569695B1/en active Active
- 2011-04-27 CN CN201510062160.3A patent/CN104598398B/zh active Active
- 2011-04-27 JP JP2013510119A patent/JP5685643B2/ja active Active
- 2011-04-27 BR BR112012028622-6A patent/BR112012028622B1/pt active IP Right Grant
- 2011-04-27 KR KR1020127032413A patent/KR101429969B1/ko active IP Right Grant
- 2011-04-27 WO PCT/US2011/034095 patent/WO2011142967A1/en active Application Filing
- 2011-04-27 CN CN201180023081.1A patent/CN102884506B/zh active Active
- 2011-05-11 TW TW100116570A patent/TWI448893B/zh active
-
2014
- 2014-11-14 JP JP2014231747A patent/JP2015043235A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662289B1 (en) * | 2001-05-15 | 2003-12-09 | Hewlett-Packard Development Company, Lp. | Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems |
US20060168365A1 (en) * | 2004-07-23 | 2006-07-27 | Stmicroelectronics Sa | Method for programming a DMA controller in a system on a chip and associated system on a chip |
US20080222383A1 (en) * | 2007-03-09 | 2008-09-11 | Spracklen Lawrence A | Efficient On-Chip Accelerator Interfaces to Reduce Software Overhead |
Also Published As
Publication number | Publication date |
---|---|
JP2013530452A (ja) | 2013-07-25 |
JP5685643B2 (ja) | 2015-03-18 |
US20110283083A1 (en) | 2011-11-17 |
TW201209583A (en) | 2012-03-01 |
CN104598398B (zh) | 2017-10-31 |
BR112012028622B1 (pt) | 2020-10-13 |
JP2015043235A (ja) | 2015-03-05 |
WO2011142967A1 (en) | 2011-11-17 |
CN102884506B (zh) | 2015-04-15 |
CN102884506A (zh) | 2013-01-16 |
CN104598398A (zh) | 2015-05-06 |
KR101429969B1 (ko) | 2014-08-14 |
BR112012028622A2 (pt) | 2018-05-15 |
EP2569695A1 (en) | 2013-03-20 |
US8924685B2 (en) | 2014-12-30 |
KR20130018323A (ko) | 2013-02-20 |
EP2569695B1 (en) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2972834B1 (en) | Systems and methods of executing multiple hypervisors | |
RU2633151C2 (ru) | Способ и устройство для обновления микропрограммного обеспечения | |
EP2591420B1 (en) | System and method to manage a translation lookaside buffer | |
JP6305905B2 (ja) | システムインターフェースへダイレクトアクセスするメモリマネージメントユニット | |
US20150261686A1 (en) | Systems and methods for supporting demand paging for subsystems in a portable computing environment with restricted memory resources | |
KR101302611B1 (ko) | 분기 예측에 이용하기 위한 다중-모드 레지스터 파일 | |
US20140122820A1 (en) | System-on-chip processing secure contents and mobile device comprising the same | |
TWI448893B (zh) | 使用用以轉譯和儲存資料值之指令以組態替代記憶體存取代理器 | |
JP2016524257A (ja) | グラフィックス処理装置への安全なアクセス制御を提供するためのシステムおよび方法 | |
KR101239272B1 (ko) | 하드웨어 프리페치 어드레스 및 산술 연산 값을 계산하기 위한 듀얼 함수 가산기 | |
JP2009020776A (ja) | スワップアウト制御装置 | |
TWI408554B (zh) | 檔案讀取方法與應用該方法之嵌入式系統 | |
JP2007280310A (ja) | デジタル信号処理装置 |