CN104598398B - 使用用于转换并存储数据值的指令来配置替代存储器存取代理 - Google Patents

使用用于转换并存储数据值的指令来配置替代存储器存取代理 Download PDF

Info

Publication number
CN104598398B
CN104598398B CN201510062160.3A CN201510062160A CN104598398B CN 104598398 B CN104598398 B CN 104598398B CN 201510062160 A CN201510062160 A CN 201510062160A CN 104598398 B CN104598398 B CN 104598398B
Authority
CN
China
Prior art keywords
instruction
physical address
memory access
register
operand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510062160.3A
Other languages
English (en)
Other versions
CN104598398A (zh
Inventor
托马斯·安德鲁·萨托里乌斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104598398A publication Critical patent/CN104598398A/zh
Application granted granted Critical
Publication of CN104598398B publication Critical patent/CN104598398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Storage Device Security (AREA)
  • Bus Control (AREA)

Abstract

本发明描述使用用于转换并存储数据值的指令来配置替代存储器存取代理。在一个实施例中,接收所述指令,所述指令包括第一操作数及第二操作数,所述第一操作数指定待转换的数据值,所述第二操作数指定与待存储所述数据值的替代存储器存取代理寄存器的位置相关联的虚拟地址。可将所述数据值转换为第一物理地址。可将所述虚拟地址转换为第二物理地址。基于所述第二物理地址而将所述第一物理地址存储于所述替代存储器存取代理寄存器中。

Description

使用用于转换并存储数据值的指令来配置替代存储器存取 代理
分案申请的相关信息
本案是分案申请。该分案的母案是申请日为2011年4月27日、申请号为201180023081.1、发明名称为“使用用于转换并存储数据值的指令来配置替代存储器存取代理”的发明专利申请案。
技术领域
本文中所揭示的发明性概念的实施例大体上涉及数据处理系统的领域。更明确地说,本文中所揭示的发明性概念的实施例涉及使用用于转换并存储数据值的指令来配置替代存储器存取代理。
背景技术
数据处理系统可包括彼此交互以处理指令的各种组件。一个组件可为可管理存储于物理存储器中的值的替代存储器存取代理。替代存储器存取代理的实例为直接存储器存取(DMA)通道。替代存储器存取代理可用以存取存储器,例如用于对存储于存储器中的值执行计算,或通过致使值在物理存储器中复制或移动到第二位置来改变所述值在物理存储器中的位置。举例来说,替代存储器存取代理可包括两个寄存器。一个寄存器可存储作为待移动或复制的存储器值的存储器位置的物理地址的数据值。另一寄存器可存储作为所述存储器值移动或复制到的存储器位置的物理地址的数据值。随后,例如当用数据值填充所述寄存器时,所述替代存储器存取代理可提供来自所述寄存器的数据值以致使在物理存储器位置中的存储器值得以移动或复制。
由处理器所执行的软件来配置替代存储器存取代理,例如通过在替代存储器存取代理的寄存器中存储作为待存取的在存储器中的位置的物理地址的数据值。由所述替代存储器存取代理从处理器接收由所述数据值表示的物理地址,所述处理器以特权模式进行操作且执行“存储”指令。所述“存储”指令指定由待存储于由寄存器的所指定地址识别的寄存器中的数据值所表示的物理地址。所述处理器以特权模式进行操作以存取、获得及写入所述物理地址。以非特权模式进行操作的处理器无法存取物理地址以保护物理地址的完整性。
如果处理器正以非特权模式进行操作,则所述处理器首先暂停非特权进程的执行且切换到特权模式。一旦处于特权模式中,所述处理器便接着确定待存取且由数据值表示的在存储器中的位置的物理地址。将表示物理地址的数据值存储于所述替代存储器存取代理的寄存器中。
暂停执行可能会造成处理低效且消耗功率。因此,需要可降低处理延迟、功率消耗且/或以其它方式提供较高效处理的用于配置替代存储器存取代理的系统及过程。另外,需要在不要求处理器以特权模式进行操作但保护物理地址免于暴露于在非特权模式中的操作的情况下配置替代存储器存取代理。
发明内容
在一实施例中,接收指令,所述指令包括第一操作数及第二操作数,所述第一操作数指定待转换的数据值,所述第二操作数指定与待存储所述数据值的替代存储器存取代理寄存器的位置相关联的虚拟地址。所述数据值可经转换为第一物理地址。所述虚拟地址可经转换为第二物理地址。基于所述第二物理地址而将第一物理地址存储于所述替代存储器存取代理寄存器中。
提及此说明性实施例并不是为了限制或界定本文中所揭示的发明性概念,而是为了提供实例以辅助对其的理解。在审阅整个申请案之后,本发明的其它方面、优点及特征将变得显而易见,所述整个申请案包括以下部分:附图说明、具体实施方式及权利要求书。
附图说明
本文中所揭示的发明性概念的这些及其它特征、方面及优点在参考附图阅读以下具体实施方式时得以更好地理解,其中:
图1为说明根据某些实施例的能够使用指令来配置替代存储器存取代理的数据处理系统的实例的总图,所述指令能够由以非特权模式或特权模式进行操作的处理器来处理。
图2为说明根据某些实施例的用于使用指令来配置替代存储器存取代理的示范性数据处理系统的总图,所述指令能够由以非特权模式或特权模式进行操作的处理器来处理。
图3为说明根据某些实施例的用于使用指令来配置替代存储器存取代理的示范性过程的流程图,所述指令能够由以非特权模式或特权模式进行操作的处理器来处理。
图4为根据某些实施例的用于使用指令来配置替代存储器存取代理的第二示范性数据处理系统的总图,所述指令能够由以非特权模式或特权模式进行操作的处理器来处理。
图5为说明根据某些实施例的可包括能够使用指令来配置替代存储器存取代理的处理器单元的实例便携式通信装置的总图。
图6为说明根据某些实施例的可包括能够使用指令来配置替代存储器存取代理的处理器单元的实例蜂窝式电话的总图。
图7为说明根据某些实施例的可包括能够使用指令来配置替代存储器存取代理的处理器单元的实例无线因特网协议电话的总图。
图8为说明根据某些实施例的可包括能够使用指令来配置替代存储器存取代理的处理器单元的实例便携式数字助理的总图。
图9为说明根据某些实施例的可包括能够使用指令来配置替代存储器存取代理的处理器单元的实例音频文件播放器的总图。
具体实施方式
贯穿描述,出于解释的目的,阐述众多特定细节以便提供对本文中所揭示的发明性概念的彻底理解。然而,对于所属领域的技术人员来说将显而易见,可在没有这些特定细节中的一些的情况下实践本文中所揭示的发明性概念。在其它例子中,以框图形式展示众所周知的结构及装置以避免混淆本文中所揭示的发明性概念的基本原理。
本文中所揭示的发明性概念的实施例涉及数据处理系统,所述数据处理系统可使用指令来配置替代存储器存取代理,所述指令能够由以非特权模式或特权模式进行操作的处理器来处理。所述指令可为用于转换并存储数据值以配置替代存储器存取代理的指令。可在提供一个或一个以上数据值以供存储于替代存储器存取代理中时配置所述替代存储器存取代理。所述替代存储器存取代理可为能够代表另一组件(例如处理器)直接存取物理存储器的任何组件或进程。替代存储器存取代理的实例为直接存储器存取(DMA)通道,所述DMA通道能够将存储器值从第一物理存储器位置移动或复制到第二物理存储器位置,或存取存储器值以执行计算或其它目的。所述替代存储器存取代理可包括一个或一个以上寄存器,所述一个或一个以上寄存器各自可存储指定待存取的存储器值的位置的数据值。
可从进程接收指令且所述指令可用以配置所述替代存储器存取代理。所述指令可包括一个操作数及另一操作数,所述一个操作数指定表示待转换的虚拟地址的数据值,所述另一操作数指定对应于替代存储器存取代理的寄存器的位置的虚拟地址。以非特权模式或特权模式进行操作的处理器可处理所述指令以致使对应于所述寄存器的位置的虚拟地址由存储器管理单元(MMU)(例如包括转换旁视缓冲器(TLB)的MMU)转换为所述寄存器的物理地址。所述处理器单元可致使由所述数据值表示的所述虚拟地址由所述MMU转换为由所述数据值表示的物理地址。由所述数据值表示的所述物理地址可存储于由所述寄存器的物理地址所识别的寄存器中。
在一些实施例中,所述替代存储器存取代理可使用所存储的数据值来在由所述数据值表示的物理地址处存取存储器值,例如用于对所述存储器值执行计算或其它目的。在一个实施例中,所述替代存储器存取代理包括两个寄存器。可使用根据某些实施例的指令来配置所述两个寄存器中的每一者。在将数据值存储于所述两个寄存器中的每一者中之后,所述替代存储器存取代理可使用所述所存储的数据值来致使在物理存储器中的数据值得以移动或复制。举例来说,在第一寄存器中的数据值可为待复制或移动的存储器值的物理地址,且在第二寄存器中的数据值可为所述存储器值复制或移动到的存储器位置的物理地址。
使用用于转换并存储数据值的指令来配置替代存储器存取代理可提高处理速度,降低延迟,降低功率消耗,且/或以其它方式提供较高效处理。图1展示使用用于转换并存储数据值的指令来配置替代存储器存取代理的一个实施例的总图。进程100(例如软件程序)与处理器单元102通信,且可为可由用户控制的一个或一个以上用户级软件进程,而非已限制用户不能直接操纵的监管级进程。进程100可提供指令,所述指令识别可由MMU 108(例如具有TLB 110的MMU 108)转换为物理地址供存储于替代存储器存取代理112中的虚拟地址。在图1中所展示的实施例中,替代存储器存取代理112为与MMU108分离的组件。
进程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的流程图。然而,其它实施方案也是可能的。
所述方法在框302中在处理器单元102接收指令时开始,所述指令指定表示待转换的虚拟地址的数据值且指定用以存储所转换的数据值的寄存器的虚拟地址。可从进程(例如以用户模式进行操作的软件)接收所述指令。指定寄存器的虚拟地址的操作数可包括对应于替代存储器存取代理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将来自TLB210的所转换的值提供给替代存储器存取代理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。另外,编码器/解码器(编解码器)514可耦合到DSP 504。扬声器516及麦克风518可耦合到编解码器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的总图中进一步说明,立体声音频编解码器630可耦合到模拟基带处理器606。此外,音频放大器632可耦合到立体声音频编解码器630。在示范性实施例中,第一立体声扬声器634及第二立体声扬声器636耦合到音频放大器632。麦克风放大器638也可耦合到立体声音频编解码器630。另外,麦克风640可耦合到麦克风放大器638。在特定实施例中,调频(FM)无线电调谐器642可耦合到立体声音频编解码器630。FM天线644可耦合到FM无线电调谐器642。另外,立体声耳机646可耦合到立体声音频编解码器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。另外,在特定实施例中,语音编解码器722可耦合到DSP 704。放大器724可耦合到语音编解码器722,且单声道扬声器726可耦合到放大器724。图7的总图进一步说明耦合到语音编解码器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。
在特定实施例中,立体声音频编解码器826可耦合到DSP 804。第一立体声放大器828可耦合到立体声音频编解码器826,且第一立体声扬声器830可耦合到第一立体声放大器828。另外,麦克风放大器832可耦合到立体声音频编解码器826,且麦克风834可耦合到麦克风放大器832。图8的总图进一步展示可耦合到立体声音频编解码器826的第二立体声放大器836及可耦合到第二立体声放大器836的第二立体声扬声器838。在特定实施例中,立体声耳机840也可耦合到立体声音频编解码器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,且可将电力提供给PDA800的各种组件。
如在图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。另外,在特定实施例中,音频编解码器916可耦合到DSP 904。放大器918可耦合到音频编解码器916,且单声道扬声器920可耦合到放大器918。图9的总图进一步指示麦克风输入922及立体声输入924也可耦合到音频编解码器916。在特定实施例中,立体声耳机926也可耦合到音频编解码器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可经配置以处理包括一个操作数及第二操作数的指令,所述一个操作数指定与替代存储器存取代理的寄存器的位置相关联的虚拟地址,所述第二操作数指定由待转换为物理地址且存储于寄存器中的数据值所表示的第二虚拟地址。
已仅出于说明及描述的目的来呈现了本文中所揭示的发明性概念的实施例的前述描述,且其不希望为详尽的或将本文中所揭示的发明性概念限于所揭示的精确形式。在不偏离本文中所揭示的发明性概念的精神及范围的情况下,众多修改及调适对所属领域的技术人员来说为显而易见的。

Claims (2)

1.一种处理系统,其包含:
替代存储器存取代理;
处理器;
用于接收指令的装置,所述指令包含第一操作数及第二操作数,当所述处理器以非特权模式处理所述指令时,所述第一操作数指定待转换为第一物理地址的数据值,当所述处理器以非特权模式处理所述指令时,所述第二操作数指定与所述替代存储器存取代理中的第一寄存器的位置相关联的虚拟地址,当所述处理器以特权模式处理所述指令时,所述第一操作数指定所述第一物理地址,且当所述处理器以特权模式处理所述指令时,所述第二操作数指定与所述替代存储器存取代理中的所述第一寄存器的所述位置相关联的第二物理地址;
用于当所述处理器以非特权模式处理所述指令时,将所述数据值转换为所述第一物理地址的装置;
用于当所述处理器以非特权模式处理所述指令时,将所述虚拟地址转换为与所述替代存储器存取代理中的所述第一寄存器的所述位置相关联的所述第二物理地址的装置;
用于多路复用的装置,其中当所述处理器以特权模式处理所述指令时,所述处理器将所述第一物理地址和第二物理地址作为输入提供给所述用于多路复用的装置,其中所述用于多路复用的装置将从所述处理器处接收到的所述输入提供至所述替代存储器存取代理;及
用于将所述第一物理地址存储于与所述第二物理地址相关联的所述替代存储器存取代理中的所述第一寄存器中的装置。
2.根据权利要求1所述的处理系统,其进一步包含:
用于接收第二指令的装置,所述第二指令包含第三操作数及第四操作数,所述第三操作数指定待转换的第二数据值至第三物理地址,所述第四操作数指定与所述替代存储器存取代理中的第二寄存器的位置相关联的第二虚拟地址;
用于将所述第二数据值转换为所述第三物理地址的装置;
用于将所述第二虚拟地址转换为与所述替代存储器存取代理中的所述第二寄存器的所述位置相关联的第四物理地址的装置;
用于将所述第三物理地址存储于与所述第四物理地址相关联的所述替代存储器存取代理中的所述第二寄存器中的装置;
用于使用所述第一物理地址来识别待移动的的存储器值的位置的装置;及
用于将所述存储器值移动至与所述第三物理地址相关联的第二位置的装置。
CN201510062160.3A 2010-05-11 2011-04-27 使用用于转换并存储数据值的指令来配置替代存储器存取代理 Active CN104598398B (zh)

Applications Claiming Priority (3)

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
US12/777,324 2010-05-11
CN201180023081.1A CN102884506B (zh) 2010-05-11 2011-04-27 使用用于转换并存储数据值的指令来配置替代存储器存取代理

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180023081.1A Division CN102884506B (zh) 2010-05-11 2011-04-27 使用用于转换并存储数据值的指令来配置替代存储器存取代理

Publications (2)

Publication Number Publication Date
CN104598398A CN104598398A (zh) 2015-05-06
CN104598398B true CN104598398B (zh) 2017-10-31

Family

ID=44121064

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201180023081.1A Active CN102884506B (zh) 2010-05-11 2011-04-27 使用用于转换并存储数据值的指令来配置替代存储器存取代理
CN201510062160.3A Active CN104598398B (zh) 2010-05-11 2011-04-27 使用用于转换并存储数据值的指令来配置替代存储器存取代理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201180023081.1A Active CN102884506B (zh) 2010-05-11 2011-04-27 使用用于转换并存储数据值的指令来配置替代存储器存取代理

Country Status (8)

Country Link
US (1) US8924685B2 (zh)
EP (1) EP2569695B1 (zh)
JP (2) JP5685643B2 (zh)
KR (1) KR101429969B1 (zh)
CN (2) CN102884506B (zh)
BR (1) BR112012028622B1 (zh)
TW (1) TWI448893B (zh)
WO (1) WO2011142967A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN100377117C (zh) * 2005-07-14 2008-03-26 中国科学院计算技术研究所 用于虚实地址变换及读写高速缓冲存储器的方法及装置
CN101556565A (zh) * 2009-01-22 2009-10-14 杭州中天微系统有限公司 嵌入式处理器的片上高性能dma

Family Cites Families (12)

* Cited by examiner, † Cited by third party
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
DE602005003987T2 (de) * 2004-07-23 2008-12-11 Stmicroelectronics S.A. Verfahren zur Programmierung einer System auf Chip DMA Steuerung, sowie ein System auf Chip dafür.
JP2007087177A (ja) 2005-09-22 2007-04-05 Canon Inc 情報処理装置
JP2008102850A (ja) * 2006-10-20 2008-05-01 Toshiba Corp 情報処理装置及び情報処理方法
US7827383B2 (en) * 2007-03-09 2010-11-02 Oracle America, Inc. Efficient on-chip accelerator interfaces to reduce software overhead
US8166276B2 (en) * 2009-02-27 2012-04-24 Advanced Micro Devices, Inc. Translate and verify instruction for a processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
CN100377117C (zh) * 2005-07-14 2008-03-26 中国科学院计算技术研究所 用于虚实地址变换及读写高速缓冲存储器的方法及装置
CN101556565A (zh) * 2009-01-22 2009-10-14 杭州中天微系统有限公司 嵌入式处理器的片上高性能dma

Also Published As

Publication number Publication date
JP2013530452A (ja) 2013-07-25
TW201209583A (en) 2012-03-01
CN102884506B (zh) 2015-04-15
KR101429969B1 (ko) 2014-08-14
WO2011142967A1 (en) 2011-11-17
CN104598398A (zh) 2015-05-06
TWI448893B (zh) 2014-08-11
US8924685B2 (en) 2014-12-30
KR20130018323A (ko) 2013-02-20
EP2569695A1 (en) 2013-03-20
CN102884506A (zh) 2013-01-16
BR112012028622B1 (pt) 2020-10-13
US20110283083A1 (en) 2011-11-17
EP2569695B1 (en) 2017-10-25
BR112012028622A2 (pt) 2018-05-15
JP5685643B2 (ja) 2015-03-18
JP2015043235A (ja) 2015-03-05

Similar Documents

Publication Publication Date Title
CN105700852B (zh) 用于在交错的多线程环境中操作的数字信号处理器的寄存器堆
US7584233B2 (en) System and method of counting leading zeros and counting leading ones in a digital signal processor
CN104598398B (zh) 使用用于转换并存储数据值的指令来配置替代存储器存取代理
EP2304551B1 (en) Multi-mode register file for use in branch prediction
KR101832983B1 (ko) 통합된 pcie 제어기에 대한 개선된 전력 제어 기법
CN101960433B (zh) 用于高速缓冲存储器线替代的系统和方法
GB2437684B (en) Data processor adapted for efficient digital signal processing and method therefor
TW201106165A (en) Direct communication with a processor internal to a memory device
CN104182027B (zh) 一种移动终端的nfc时钟控制装置及其方法
CN102591619B (zh) 用于处理器中的算术逻辑和移位装置
CN107864140A (zh) 多媒体处理系统及其操作方法
TWI351863B (en) Method and system for digital rights management in
CN205721745U (zh) 内置蓝牙固件升级电路、装置及数字对讲机
JP2018512813A (ja) イヤホンステータス検出方法および端末
CN104917511B (zh) 一种能兼容mipi和gpio控制的射频功放模组的接口电路
CN203761430U (zh) 一种基于安卓系统的通讯终端
CN105988589A (zh) 用于可穿戴设备的装置和方法
CN102868809A (zh) 一种手机播放音乐的方法及手机
WO2023051178A1 (zh) 一种任务调度方法、电子设备、芯片系统及存储介质
CN206850832U (zh) 一种多麦克风移动终端
CN206178831U (zh) 双指纹识别键的智能移动终端
KR101340589B1 (ko) 오디오 신호 처리 장치 및 방법, 통신 단말 장치
CN110096468A (zh) 一种基于fpga架构手机模块及其与手机的连接方法
CN106714276A (zh) 一种加快无线保真连接速度的方法、装置及用户终端
CN102169475A (zh) 一种处理器及实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant