CN102460403A - 用于地址转换的动态和选择性改变的处理器和方法 - Google Patents
用于地址转换的动态和选择性改变的处理器和方法 Download PDFInfo
- Publication number
- CN102460403A CN102460403A CN2010800253927A CN201080025392A CN102460403A CN 102460403 A CN102460403 A CN 102460403A CN 2010800253927 A CN2010800253927 A CN 2010800253927A CN 201080025392 A CN201080025392 A CN 201080025392A CN 102460403 A CN102460403 A CN 102460403A
- Authority
- CN
- China
- Prior art keywords
- value
- address
- address translation
- subclauses
- clauses
- 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.)
- Granted
Links
Images
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)
Abstract
非侵入技术已经被开发成动态地和选择性地改变由处理器(12)所执行的或用于处理器(12)的地址转换。例如,在一些实施例中,存储器管理单元(16)被配置为从相应的有效的(或虚拟的)地址空间中的有效地址映射到存储器中的物理地址,其中,由存储器管理单元所执行的映射基于地址转换表(9)的地址转换条目。对于少于所有进程的子集,条目选择逻辑(81)从地址转换条目中的相应的地址转换条目中所编码的多个替代性映射当中进行选择。对于被映射用于该子集的特定进程的至少一些有效地址,特定地址转换条目的选择基于外部来源的值。在一些实施例中,仅被映射用于特定进程的有效地址中的子集经过地址转换条目选择的动态运行时间改变。
Description
技术领域
本发明大体上涉及数据处理器,并且更特别地涉及有助于存储器映射的动态和选择性改变的处理器实施方式和地址转换技术。
发明背景
数据处理系统通常执行程序,并且对可寻址存储器位置中表示的数据进行操作,可寻址存储器位置本身使用虚拟存储器、段、分页或其它相关技术被映射到物理存贮器。在一些应用或部署中,可能希望基于一些外部信号源或信号来改变映射。一个这样的示例是在使用嵌入式或微控制器型处理实现的控制系统中。在一些控制系统应用中,可以采用校准处理,借此调谐控制系统算法的参数。因为校准通常并且有时必须实时地执行,所以涉及处理器的中断的更新技术实际上可能扰乱正被校准或调谐的闭环系统。因此,其中例如经由调试或扫描端口设施或使用软件来暂停或中断处理器并且直接更新存储器中的参数的常规侵入技术可能不合适所有的情况。
附图说明
通过示例而不是限制的方式参考附图说明了本发明,其中,相同的附图标记一般指示类似的元素或特征。
图1是根据本发明的一些实施例的数据处理系统的方框图。
图2是根据本发明的一些实施例的、包括适合于使用的地址转换表和条目选择逻辑的存储器管理单元(MMU)的方框图。
图3以图表的形式图示了有效地址格式,为其可以根据本发明的一些实施例并且基于外部来源的值,而动态地改变由诸如图2中所图示的存储器管理单元(MMU)进行的运行时间地址转换。
图4以图表的形式图示了在本发明的一些实施例中可以在诸如图2中所图示的地址转换表中维持的各种地址转换条目。
图5是可以在本发明的一些实施例中被采用以帮助特定地址转换的动态和选择性改变的条目选择逻辑的逻辑图。
技术人员将了解,图中的元素或特征是为简单和清楚而图示的并且不必按比例绘制。例如,所图示的元素或特征中的一些的尺寸和突出相对于其它元素或特征可以被放大,企图帮助改善对本发明的实施例的理解。
具体实施方式
已经开发非侵入技术来动态地和选择性地改变由处理器所执行的或用于处理器的地址转换。例如,在一些实施例中,存储器管理单元被配置为从相应的有效(或虚拟)地址空间中的有效地址映射到存储器中的物理地址,其中,由存储器管理单元所执行的映射基于地址转换表的地址转换条目。对于少于所有进程的子集,条目选择逻辑从地址转换条目中的相应地址转换条目中所编码的多个替代性映射当中进行选择。对于被映射用于该子集的特定进程的至少一些有效地址,特定地址转换条目的选择基于外部来源的值。在一些实施例中,仅仅被映射用于特定进程的有效地址中的子集经过地址转换条目选择的动态运行时间改变。
对于一些应用、系统和/或处理器实施方式,这样的技术(或其上的变化)能够被使用,以帮助参数的校准或调谐,诸如在基于常规侵入更新技术的实时闭环控制系统中或在易受扰乱的影响的其它系统中。例如,在一些控制系统应用中,控制值或滤波系数中的相干集合可以被存储在驻留在不同的物理页面地址的存储器驻留表中。为动态地和选择性地改变地址转换而建立在本文中所描述的技术,其能够从一个相干集合切换(实时地,并且无需处理器干预)到另一个。例如,在正使用滤波系数或其它控制系统值中的激活集合来执行控制系统算法,硬件调试和/或测试设备可以用于修改在集合中的非激活集合中的滤波系数,并且然后动态地选择替代性地址转换条目以代替包含所修改的滤波系统的映射存储器。一般而言,驱动在地址转换条目之中的选择的外部来源的值可以包括从芯片外信号源所接收的外部信号、可通过在存储器管理单元和处理器核外部的硬件或软件设置的可编程值、或由调试设备或在线测试(in-circuit test)设备所提供的信号、事件或值。
为了描述的具体,我们集中于特定的说明性存储器、任务分配、以及以进程为中心的地址空间模型。例如,在本文中的描述的大部分中,有效地址到物理地址转换与面向页面的虚拟存储器模型一致,并且与面向进程的地址空间一致,进程或任务标识符被用作标签的一部分,以与被维持以供存储器管理单元使用的其表中的特定地址转换条目进行匹配。当然,本发明的实施例不局限于所图示的存储器模型,不局限于用于从地址(为有效的、逻辑的、虚拟的等)或地址部分映射到以进程为中心的地址空间的任何特定的专门术语,或不局限于任何特定的执行模型。
如在本文中所使用,进程标识符表示进程、任务或地址空间标识符,其在基于外部来源的值的改变、变换或映射之前可以与执行的进程、任务或线程相关联,而任务标识符指的是用作用于在地址转换条目的表或其它表示中进行查找的标签的一部分的标识符。在这点上,术语任务标识符有点具有任意的定义性结构的意思。任务标识符可以是进程标识符的改变的、变换的或映射的相应物,并且如在本文中参考本发明的一些实施例所描述的,可以被基于外部来源的值动态地并且选择性地进行改变、变换或映射。因此,进程标识符和任务标识符是用于描述一组说明性实施例的定义性结构,并且决不旨在排斥有关可以使用或强调特定专门术语的任何特定处理器技术或指令集架构的所附权利要求的覆盖范围,所述特定术语诸如在执行模型的其描述或文献中的进程标识符(PID)、任务标识符(TID)、地址空间标识符(ASID)等等。
对于其中基于外部来源的值(或多个值)的地址转换的动态或选择性改变可以有助于设计、调试、测试、校准、调谐或其它应用的计算系统,或其中映射的存储器的动态可选择重叠是所希望的或有用的情形而言,本文中所描述的技术具有广泛的适用性。因此,对于用于其中参数和/或滤波系数中的可替换地相干集合被表示在经由动态地可选择的替代性转换条目实施方式所映射的物理存储器页面中的控制系统的校准和/或调谐的应用的引用仅仅是说明性的。基于以上考虑,以及不对存储器模型和地址空间;地址转换的表示和/或高速缓存;和/或可以被采用的下层处理器或计算系统架构及其应用进行限制,我们描述了特定的说明性实施例。
系统和集成电路实现,概述
参考图1,在本发明的一些实施例中,数据处理系统10包括集成电路11,其具有通过内部总线22双向耦合的处理器12、存储器18、存储器19、其它功能电路20、以及外部总线控制器(EBC)24。内部总线22包括控制信号通路26、地址信号通路27、以及数据信号通路28。处理器12包括双向地将处理器12耦合到控制信号通路26、地址信号通路27、以及数据信号通路28的总线接口控制器(BIC)13。总线型互连技术的使用和单处理器的描述仅仅是为了说明的简单。事实上,采用多处理器、多核、片上系统(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以及存储器管理单元(MU)16和一个或多个相关的地址转换表。一般而言,在指令取出和数据访问(例如,读取和写入型访问)过程中,由处理器12所使用的有效存储器地址根据任何生效寻址模式被计算,并且呈现给MMU 16以便映射到物理存储器中的对应的存储器位置。地址算法和相关操作由共同地图示为地址生成逻辑14的逻辑来执行(尽管本领域的普通技术人员应当了解,在一些实施例中,这样的逻辑可以分布在各种功能块当中,诸如指令取出逻辑、加载/存储单元等)。
一般而言,虽然有效地址的形式和由MMU 16所执行的到物理地址的特定映射是实施方式相关的,但是相对于使用虚拟存储器、段、分页或其它相关技术的从有效(或虚拟)地址到物理存贮器位置的各种常规映射中的任何一个,应当由本领域的普通技术人员所理解。如本文中所使用,术语有效地址旨在包括任何有效的、逻辑的、虚拟的或其它映射成(mapped-from)的地址,而不考虑任何特定处理器技术或指令集架构,该特定处理器技术或指令集架构可能在其存储器模型的描述或文档中使用或强调诸如进程、逻辑地址、虚拟地址等等的特定专门术语。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的条目中所表示的字段,有效地址值被示出为输入,而物理地址值被示出为输出。如常规的,有效地址的一部分(诸如有效页号)用于查找物理地址的对应的部分(诸如物理页号)。为了简单和清楚,省略了诸如用于将有效地址的相关页偏移部分指向到物理地址中的对应的位置中的操纵逻辑的额外细节。在一些实施例中,地址转换表9被实现为转换后援缓冲器(TLB),并且所实现的TLB使用内容可寻址存储器(CAM)来帮助相对于地址转换表9的各个条目的对应部分的查找标签匹配。在这样的实施例中,有用的查找标签匹配能够既涉及进程、任务或地址空间标识符,又涉及有效地址的页号部分。
通常,进程、任务或地址空间标识符来源于PID存贮器43,用于与有效标识符(EID)字段52的内容进行比较,而有效地址的页号部分与虚拟页号字段54的内容进行比较。一般而言,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的图示替代地集中在用于在基于外部来源的值(或多个值)选择性地修改PID值中的子集时匹配EID字段52的内容的选择逻辑的实例上。
在一些实施例中,选择逻辑81的实例包括用于选择性地并且部分地过载(或以别的方式修改)地址转换表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还提供了处理器同步控制信号。可以与使能信号或与有助于对存储器的相干访问的其它转换一致地触发同步控制。因此,可以协调飞行访问(flight access)的完成,以确保在基于改变的外部来源的值所选择的地址转换条目之间或在修改的与未修改的PID操作之间的相干转换。如果实现了的话,同步控制还可以用于刷新指令流水线级和/或指令预先取出缓冲器。在一些实施例中,涉及数据处理系统10内的其它逻辑的额外的同步操作可以由激活控制电路44来触发。
图3描绘了如下的有效地址格式,对于其可以根据本发明的一些实施例并且基于外部来源的值,动态地改变通过存储器管理单元(MMU)进行的运行时间地址转换。特别地,图3图示了包括有效地址的标识符75和页号部分74的逻辑地址77的标签部分73。如常规的在许多处理器设计中,标识符75可以对应于有效地址的进程、任务或地址空间的标识符部分,其有助于用于各个进程或任务的至少部分地不同的地址空间的实现。
一般而言,逻辑地址77的标识符75来源于如先前所描述的PID存贮器43,并且允许当由不同的进程或任务或基于不同的地址空间标识符来访问相同的有效地址值时,该相同的有效地址值(见有效地址部分76)解析成物理存储器的不同的页面(经由地址转换表9中的不同的地址转换条目)。然而,例如由其高阶位78中诸如1111的保留值所指示的标签值编码空间的部分能够被用来命令选择逻辑81的实例基于外部来源的值修改来自PID存贮器43的值。因此,如所图示,在一些实施例中并且对于标签值编码空间中的一些部分而言,一部分(例如,图示为yy的标识符75的低阶位)可以对应于经由激活控制电路44所提供的外部来源的值。
因此,可以基于外部来源的值选择多达四个(4)替代性转换,或如在本发明的一些实施例中,为三个(3)替代性转换,其具有不考虑外部来源的值的匹配的一个编码(yy=11)。例如,参考图4,针对目标为包括具有EID值111100yy和虚拟页号“值1”的标签部分的有效地址的存储器访问,图示了三个替代性转换条目(101、102、103)。第一条目101对从虚拟页面“值1”到物理页面“值2”的转换进行编码。第二条目102对从虚拟页面“值1”到物理页面“值3”的转换进行编码。第三条目103对从虚拟页面“值1”到物理页面“值4”的转换进行编码。对适当转换的选择基于在外部来源的值与在三个替代性转换条目中的每一个中编码的特定值97之间的对应性。
这样,并且与控制系统校准或调谐示例一致,控制参数和/或滤波系数中的第一激活集合可以被编码在物理页“值2”中,并且被选择用于具有PID值(来自PID存贮器43)111100zz的进程或任务,其中zz被忽略,并且其中(通过选择逻辑81的实例)基于外部来源的值而将值00过载在zz上。可以更新或调谐在物理页面“值3”中编码的控制参数和/或滤波系数中的替代性(或不活动的)集合,并且其后通过改变外部来源的值以作为替代将值01过载在zz之上(再次通过选择逻辑81的实例的操作)来激活该替代性(或不活动的)集合。
关于条目104和105,98中的编码(yy=11)用于对匹配进行编码,而不考虑外部来源的值。因此,为了适应于不需要在用于具有PID值111100zz的进程或任务的多个相应物中被复制的指令页面,条目104对从虚拟页面“值5”到包含可执行代码的物理页面“值6”的转换进行编码。类似地,为了适应于不需要在用于具有PID值111100zz的进程或任务的多个相应物中被复制的数据页面,条目105对从虚拟页面“值7”到包含数据的物理页面“值8”的转换进行编码。条目104和105对匹配的地址转换进行编码,而不考虑当从虚拟页号“值1”转换时的外部来源的值,并且不考虑以别的方式用来在物理页面“值2”、物理页面“值3”以及物理页面“值4”当中进行选择的外部来源的值的改变。
再次参考图3的图示,图示为xx的标识符75的那些位不受基于外部来源的值的选择性过载的影响。这允许多达四个的独立的和不同的进程使用具有用于进程中的每一个进程的独立重叠能力的选择性过载能力。在其它实施例中,标签值编码空间的更大或更小部分可以使用外部来源的值来进行过载。例如,标识符75的更少或更多部分可以用于对保留值进行编码,和/或可以识别额外的保留值。在其它实施例中,可以支持更多或更少数量的替代性转换,并且可以适应于更多或更少种类的外部来源的值。
图5描绘了可以在本发明的一些实施例中被采用的条目选择逻辑,以帮助进行从有效地址的特定转换的动态和选择性改变。基于来自地址转换表9的各个条目、来自PID存贮器43、以及来自激活控制电路44的值,与地址转换表9(实现TLB)的各个条目相关联的选择逻辑81的实例促成生成TLB条目命中(hit)信号(如果适当的话)。如将由本领域的普通技术人员所了解的,尽管图示了组合逻辑的一个示例性配置,但是多个其它在功能上等价的逻辑块也是可以适用的。
在所图示的实施方式中,在相关的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_ID[6:7]中,该MODIFIED_ID[6:7]进而(与PID[0:5]一起)被提供给比较器94以用于与TLB_ENTRY[EID[0:7]]进行比较。如果比较器94指示匹配,则那么(还)假定在有效地址(EFFECTIVE_ADDRESS[VPN])的虚拟页号与有效条目的TLB_ENTRY[VPN]之间的匹配(TLB_ENTRY[V]==TRUE),在门电路96的输出端用信号通知TLB条目命中。在所图示的逻辑中,也检测到了yy==11(即,TLB_ENTRY[EID[6:7]]==11)的保留值,并且用信号通知比较器94来屏蔽位TLB_ENTRY[EID[6:7]]与PID的对应位(PID[6:7])的比较,从而实现上文中参考条目104和105(见图4)所描述的不考虑基于外部来源的值的操作的匹配。
额外的比较器86支持共享页面(编码为TLB_ENTRY[EID[0:7]=0000000])的匹配而不考虑来自PID存贮器43的PID值。尽管基于前述公开将了解到用于选择逻辑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值的使用和上文中所描述的一样)对外部源发的行为进行编码。因此,在一些实施例中,与每个地址转换条目(包括图2中图示为较为简单的选择逻辑83的那些)相关联的选择逻辑的实例可以代替根据更复杂的选择逻辑81来形成。由于选择逻辑81的这样的实例根据特定保留的EID值的存在来预测外部源发的行为,所以当无选择性EID值被编码在相关的地址转换条目中时那些实例通常与选择逻辑83的描述相符合地进行操作。因此,对于其中当在地址转换表9的深度之上被复制时,选择逻辑81的额外复杂性不受抑制的实施方式而言,选择逻辑的所有(或基本上大部分的)实例可以被可选地与选择逻辑83相符合地实现。尽管如此,概括地讲,在本文中已经描述了包括两种形式的选择逻辑的实施例。
其它实施例
尽管在本文中参考特定实施例描述了本发明,但是在不背离所附权利要求中所陈述的本发明的范围的情况下能够做出各种修改和变化。例如,虽然已经描述的技术在使用地址转换的动态和选择性改变的控制系统应用中有助于参数和/或滤波系数的校准和/或调谐,但是所描述的技术还具有对其它应用的广泛适用性。类似地,尽管所描述的技术可以被采用来帮助在具有以进程为中心的虚拟地址空间的面向页面的存储器模型中的虚拟到物理地址转换,但是技术不限于此。
可以使用各种不同的信息处理系统中的任何一个来实现本发明的实施例。因此,虽然图1以及其附图描述图示了有助于本发明技术的描述的简单数据处理系统实施方式,但是该数据处理系统的设计仅仅是说明性的。更具体地,虽然图示了具有常规存储器总线的单个处理器设计,但是还预想了多处理器、多核和/或多路、点到点互连结构。当然,为了讨论的目的已经简化了本文中的结构描述,并且本领域的技术人员将认识到逻辑块或部件之间的图示边界仅仅是说明性的,并且替代性实施例可以合并逻辑块或电路元件和/或把功能性的替换分解施加到各种逻辑块或电路元件上。
实现本发明的物品、系统以及装置主要由本领域的技术人员所熟知的和本文中就其功能所描述的电子部件、电路和/或代码(例如,软件、固件和/或微码)来组成。因此,以出于清晰、出于具体并且出于帮助对本发明的基本概念的理解和了解的目的所需的详细的水平描述了部件、电路和代码细节。在一些情况下,使用了本领域熟知的特征、结构、部件或实现技术的概括描述,以便于避免来自本发明的讲授的混淆或困惑。
一般而言,术语“程序”和/或“程序代码”当在本文中使用时描述了一系列或一组被设计用于在计算机系统上执行的指令。同样地,这样的术语可以包括或包含子例程、函数、程序、对象方法、软件方法的实施方式、接口或对象、可执行应用、小程序(applet)、伺服小程序(servlet)、源码、对象或中间代码、共享和/或动态加载/链接库、和/或设计用于在计算机系统上执行的指令的其它系列或组。
本文中所描述的程序代码中的所有或一些、以及实现本文中所描述的信息处理系统的功能的任何软件可以由信息处理系统的元件例如从计算机可读介质或经由其它系统来访问或接收。一般而言,计算机可读介质可以永久地、可移除地或远程地耦合到信息处理系统。计算机可读介质可以包括(例如但不作限制)以下的任何数量:包括磁盘和磁带存储介质的磁性存储介质;诸如紧致磁盘介质(例如,CD-ROM、CD-R等)、和数字视频盘存储介质的光学存储介质;包括诸如闪存、EEPROM、EPROM、ROM的基于半导体存储单元的非易失性存储器存储介质;铁磁数字存储器;MRAM;包括寄存器、缓存器或高速缓存、主存储器、RAM等的易失性存储介质;以及关联于经由计算机网络、点到点通信设备、以及载波或信号的数据传输的用于存储的有形介质、等等。
最后,描述和图将要被认为是说明性的而不是限制性的意义,并且与本文中的描述一致,预想了广泛范围的变化、修改和扩展。在本文中参考特定实施例所描述的任何有益效果、优点、或对问题的解决方法不旨在被解释为任何或所有权利要求的关键的、必须的或基本的特征或元素。
Claims (20)
1.一种装置,包括:
至少一个处理器核,所述至少一个处理器核适合于执行多个进程,其中,所述进程中的每一个进程都具有相应的地址空间;和
存储器管理单元,耦合在所述至少一个核与到存储器的接口之间,所述存储器管理单元被配置为从所述地址空间中的相应的地址空间中的有效地址映射到所述存储器中的物理地址,其中,由所述存储器管理单元所执行的映射基于地址转换表的地址转换条目,
所述存储器管理单元包括条目选择逻辑,对于少于所有进程的第一子集,所述条目选择逻辑从所述地址转换条目中的相应的地址转换条目中所编码的多个替代性映射当中进行选择,其中,对于被映射用于所述第一子集的特定进程的至少一些有效地址,对所述地址转换条目中的特定一个地址转换条目的选择基于一个或多个外部来源的值。
2.根据权利要求1所述的装置,
其中,对于所述第一子集的所述特定进程,对特定地址转换条目的所述选择基于所述一个或多个外部来源的值,但仅对于少于被映射用于所述特定进程的所有有效地址的第二子集而言是如此。
3.根据权利要求1所述的装置,
其中,所述条目选择逻辑基于相应进程标识符与编码成所述地址转换表的相应地址转换条目中的查找标记的一部分的相应任务标识符的对应性,来识别进程的所述第一子集。
4.根据权利要求1所述的装置,
其中,对于进程的所述第一子集,所述条目选择逻辑基于所述外部来源的值来修改至少一些相应进程标识符,所述至少一些相应进程标识符被呈现以相对于所述地址转换表的相应地址转换条目中的查找标签进行匹配。
5.根据权利要求4所述的装置,
其中,由所述条目选择逻辑所执行的所述修改包括过载被呈现以进行匹配的所述相应进程标识符的子部分,其中,所述过载利用对应于所述外部来源的值的值。
6.根据权利要求4所述的装置,
其中,对于用于与进程的所述第一子集相对应的地址转换条目的至少一些查找标签编码,所述条目选择逻辑用信号通知命中,而不考虑所述外部来源的值。
7.根据权利要求2所述的装置,
其中,所述条目选择逻辑基于编码为所述地址转换表中的对应的查找标签的一部分的任务标识符值,来识别与所述第二子集相对应的所述地址转换条目中的那些地址转换条目。
8.根据权利要求1所述的装置,
其中,相对于(i)进程的所述第一子集和(ii)由此所访问的有效地址的第二子集、由所述存储器管理单元所执行的生效的有效地址到物理地址转换经过根据所述外部来源的值的动态运行时间选择。
9.根据权利要求1所述的装置,其中,所述外部来源的值基于以下各项中的一个或多个:
从芯片外的源所接收的外部信号;
可由在所述存储器管理单元和处理器核的外部的硬件或软件设置的可编程值;以及
由调试设备或在线测试设备所提供的信号、事件或值。
10.根据权利要求1所述的装置,
其中,所述有效地址对应于虚拟存储器页面,
其中,所述地址转换表被配置为高速缓存虚拟到物理页面映射的转换后援缓冲器,并且
其中,相对于少于所有的所述虚拟到物理页面映射,所述条目选择逻辑至少部分地基于查找标签与根据外部提供的值所修改的进程标识符的对应性,来用信号通知所述转换后援缓冲器中的命中。
11.根据权利要求1所述的装置,进一步包括:
所述存储器的至少一部分。
12.一种为在计算系统中执行的进程的子集动态地改变用于存储器映射的子集的方法,所述方法包括:
维持多个地址转换条目,其中,所述地址转换条目中的各个地址转换条目与相应标签相关联,所述标签的至少一部分对应于在所述计算系统中执行的所述进程中的相应的一个进程的进程标识符;
使用存储器管理单元,并且基于所述地址转换条目中的相应地址转换条目,从由所述进程所引用的有效地址映射到存储器中的对应的物理地址,
其中,对于少于所有标签和对应的进程的子集,所述存储器管理单元基于外部提供的值从所述地址转换条目中的替代性地址转换条目当中进行选择。
13.根据权利要求12所述的方法,进一步包括:
将用于所述标签的编码空间分割成至少第一部分和第二部分,其中,仅仅所述第一部分经过基于所述外部提供的值从所述地址转换条目中的替代性地址转换条目当中进行的选择。
14.根据权利要求13所述的方法,
其中,所述第二部分构成所述标签编码空间的基本剩余的全部。
15.根据权利要求13所述的方法,
其中,即使在所述标签编码空间的所述第一部分内,对于所述第一部分内的所述标签值中的至少一子集,执行由所述存储器管理单元进行的地址转换条目的选择,而不考虑所述外部提供的值。
16.根据权利要求13所述的方法,
其中,使用多个的N位位置来对对应于相应的进程的所述标签部分进行编码,
其中,基于在N位位置中的M个位置中编码的预定义图案来指定所述标签编码空间的所述第一部分,以及,
其中,通过利用对应于所述外部提供的值的值来过载所述N位位置中的Y个位置,来执行从在地址转换条目中的替代性地址转换条目当中进行的所述选择。
17.一种操作计算系统的方法,所述方法包括:
在所述计算系统中的一个或多个核上执行多个进程,所述进程中的每一个都根据由所述计算系统所维持的地址转换的对应集合来寻址存储器;
对于所述多个进程中的至少第一进程,并且对于比与所述第一进程相对应的所述集合中的所有地址转换少的地址转换,基于外部来源的值来至少提供在运行时间可动态选择的替代性地址映射的对;以及
对于所述多个进程中的至少第二进程,映射地址,而不考虑所述外部来源的值。
18.根据权利要求17所述的方法,进一步包括:
对于与所述第一进程相对应的所述集合的所述地址转换中的至少一些,映射地址,而不考虑所述外部来源的值。
19.根据权利要求17所述的方法,进一步包括:
对于所述第一进程和第二进程两者,基于地址转换表的相应的地址转换条目来映射相应的地址,并且
其中,相对于由所述第一进程所执行的存储器访问中的至少一些,存储器管理单元的条目选择逻辑基于所述外部来源的值来修改对应的进程标识符,该对应的进程标识符被呈现以相对于所述地址转换表的相应的地址转换条目中所编码的查找标签进行匹配。
20.根据权利要求19所述的方法,
其中,由所述条目选择逻辑所执行的所述修改包括过载被呈现以进行匹配的进程标识符的子部分,其中,所述过载利用对应于所述外部来源的值的值,并且
其中,对于用于与由所述第一进程所执行的存储器访问相对应的地址转换条目的至少一些查找标签编码,所述条目选择逻辑用信号通知命中,而不考虑所述外部来源的值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/483,051 | 2009-06-11 | ||
US12/483,051 US8386747B2 (en) | 2009-06-11 | 2009-06-11 | Processor and method for dynamic and selective alteration of address translation |
PCT/US2010/035101 WO2010144216A2 (en) | 2009-06-11 | 2010-05-17 | Processor and method for dynamic and selective alteration of address translation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102460403A true CN102460403A (zh) | 2012-05-16 |
CN102460403B CN102460403B (zh) | 2016-01-27 |
Family
ID=43307402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080025392.7A Active CN102460403B (zh) | 2009-06-11 | 2010-05-17 | 用于地址转换的动态和选择性改变的处理器和方法 |
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) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479860A (zh) * | 2016-06-07 | 2017-12-15 | 华为技术有限公司 | 一种处理器芯片以及指令缓存的预取方法 |
CN108701086A (zh) * | 2016-03-02 | 2018-10-23 | 英特尔公司 | 用于通过重新映射地址空间来提供连续可寻址存储器区域的方法和设备 |
CN110945485A (zh) * | 2017-08-12 | 2020-03-31 | 国际商业机器公司 | 直接内存地址转换的有效测试 |
CN111527480A (zh) * | 2018-01-31 | 2020-08-11 | Arm有限公司 | 数据处理装置中的地址转换 |
CN111813451A (zh) * | 2020-06-05 | 2020-10-23 | 上海赛昉科技有限公司 | 一种cpu数据读取装置及方法 |
CN112074833A (zh) * | 2018-05-08 | 2020-12-11 | 豪夫迈·罗氏有限公司 | 用于双向设备认证的方法和系统 |
CN112243269A (zh) * | 2020-10-15 | 2021-01-19 | Tcl通讯(宁波)有限公司 | 下载数据方法及其装置、移动终端 |
CN113127938A (zh) * | 2020-01-14 | 2021-07-16 | 新唐科技股份有限公司 | 安全集成电路及其方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120124327A1 (en) * | 2010-11-17 | 2012-05-17 | Mccombs Edward M | Translation Lookaside Buffer Structure Including a Data Array Storing an Address Selection Signal |
US8732431B2 (en) | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
WO2012141694A1 (en) * | 2011-04-13 | 2012-10-18 | Hewlett-Packard Development Company, L.P. | Input/output processing |
WO2012141696A1 (en) * | 2011-04-13 | 2012-10-18 | Hewlett-Packard Development Company, L.P. | Input/output processing |
WO2012141695A1 (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 |
US9003375B2 (en) * | 2011-12-30 | 2015-04-07 | Intel Corporation | Optional logging of debug activities in a real time instruction tracing log |
US9740624B2 (en) * | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
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 |
US9355040B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
US9280488B2 (en) | 2012-10-08 | 2016-03-08 | International Business Machines Corporation | Asymmetric co-existent address translation structure formats |
US9448829B2 (en) | 2012-12-28 | 2016-09-20 | Intel Corporation | Hetergeneous processor apparatus and method |
US9672046B2 (en) | 2012-12-28 | 2017-06-06 | Intel Corporation | Apparatus and method for intelligently powering heterogeneous processor components |
US9329900B2 (en) | 2012-12-28 | 2016-05-03 | 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 |
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 |
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 |
US10754872B2 (en) * | 2016-12-28 | 2020-08-25 | Palantir Technologies Inc. | Automatically executing tasks and configuring access control lists in a data transformation system |
KR102540964B1 (ko) | 2018-02-12 | 2023-06-07 | 삼성전자주식회사 | 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작 |
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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073173B1 (en) * | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
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 |
US20080147988A1 (en) * | 2003-06-25 | 2008-06-19 | International Business Machines Corporation | Multiprocessor System With Dynamic Cache Coherency Regions |
Family Cites Families (8)
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 |
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 |
US7401201B2 (en) | 2006-04-28 | 2008-07-15 | Freescale Semiconductor, Inc. | Processor and method for altering address translation |
WO2008150927A2 (en) * | 2007-05-30 | 2008-12-11 | Schooner Information Technology | System including a fine-grained memory and a less-fine-grained memory |
-
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 WO PCT/US2010/035101 patent/WO2010144216A2/en active Application Filing
- 2010-05-17 EP EP10786554.5A patent/EP2441006A4/en not_active Withdrawn
- 2010-06-09 TW TW099118803A patent/TWI512468B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073173B1 (en) * | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
US20080147988A1 (en) * | 2003-06-25 | 2008-06-19 | International Business Machines Corporation | Multiprocessor System With Dynamic Cache Coherency Regions |
US20070198805A1 (en) * | 2006-02-23 | 2007-08-23 | Richard Soja | Non-intrusive address mapping having a modified address space identifier and circuitry therefor |
CN101390062A (zh) * | 2006-02-23 | 2009-03-18 | 飞思卡尔半导体公司 | 具有地址转换旁路的数据处理系统及其方法 |
US20070283123A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Function-based virtual-to-physical address translation |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108701086A (zh) * | 2016-03-02 | 2018-10-23 | 英特尔公司 | 用于通过重新映射地址空间来提供连续可寻址存储器区域的方法和设备 |
CN107479860A (zh) * | 2016-06-07 | 2017-12-15 | 华为技术有限公司 | 一种处理器芯片以及指令缓存的预取方法 |
CN107479860B (zh) * | 2016-06-07 | 2020-10-09 | 华为技术有限公司 | 一种处理器芯片以及指令缓存的预取方法 |
CN110945485A (zh) * | 2017-08-12 | 2020-03-31 | 国际商业机器公司 | 直接内存地址转换的有效测试 |
CN110945485B (zh) * | 2017-08-12 | 2023-08-29 | 国际商业机器公司 | 直接内存地址转换的有效测试 |
CN111527480A (zh) * | 2018-01-31 | 2020-08-11 | Arm有限公司 | 数据处理装置中的地址转换 |
CN112074833A (zh) * | 2018-05-08 | 2020-12-11 | 豪夫迈·罗氏有限公司 | 用于双向设备认证的方法和系统 |
CN112074833B (zh) * | 2018-05-08 | 2024-05-14 | 豪夫迈·罗氏有限公司 | 用于双向设备认证的方法和系统 |
CN113127938A (zh) * | 2020-01-14 | 2021-07-16 | 新唐科技股份有限公司 | 安全集成电路及其方法 |
CN113127938B (zh) * | 2020-01-14 | 2023-05-12 | 新唐科技股份有限公司 | 安全集成电路及其方法 |
CN111813451A (zh) * | 2020-06-05 | 2020-10-23 | 上海赛昉科技有限公司 | 一种cpu数据读取装置及方法 |
CN112243269A (zh) * | 2020-10-15 | 2021-01-19 | Tcl通讯(宁波)有限公司 | 下载数据方法及其装置、移动终端 |
CN112243269B (zh) * | 2020-10-15 | 2023-09-19 | 青岛乾程科技股份有限公司 | 下载数据方法及其装置、移动终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2010144216A3 (en) | 2011-03-10 |
TW201104427A (en) | 2011-02-01 |
US8386747B2 (en) | 2013-02-26 |
CN102460403B (zh) | 2016-01-27 |
US20100318761A1 (en) | 2010-12-16 |
EP2441006A2 (en) | 2012-04-18 |
TWI512468B (zh) | 2015-12-11 |
EP2441006A4 (en) | 2014-04-23 |
WO2010144216A2 (en) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460403A (zh) | 用于地址转换的动态和选择性改变的处理器和方法 | |
CN104205064B (zh) | 将程序事件记录事件向运行时间检测事件变换的系统及方法 | |
CN101154183B (zh) | 一种微控制器嵌入式在线仿真调试系统 | |
US7533246B2 (en) | Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation | |
CN104380264B (zh) | 运行时间检测报告 | |
CN101371224B (zh) | 高效存储器层级管理的方法及设备 | |
CN105320611A (zh) | 用于细粒存储器保护的方法和设备 | |
CN101189582A (zh) | 为在虚拟机环境中单步执行虚拟机提供支持 | |
DE112013005418T5 (de) | Vorrichtung und Verfahren zur schnellen Befehlsfehlerbehandlung | |
CN104169889A (zh) | 在事务执行模式中的运行时间检测采样 | |
CN101458725B (zh) | 微控制器芯片及其调试方法 | |
CN101251819A (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
CN104364769A (zh) | 处理器特性的运行时间检测监控 | |
CN104704474A (zh) | 用于管理的运行时间的基于硬件的运行时间检测设施 | |
CN102419729A (zh) | 并行测试执行 | |
CN102929796A (zh) | 同时支持软件回填与硬件回填的内存管理模块 | |
CN101299184A (zh) | 修补装置及方法 | |
CN105094910A (zh) | 一种驱动函数用户态调试系统和方法 | |
US9176821B2 (en) | Watchpoint support system for functional simulator | |
US20060184713A1 (en) | Method for operating a virtual machine computer system running guest operating systems on a central processing means virtualized by a host system having register stack engine functionality | |
CN100504761C (zh) | 在不同种类的体系结构中映射调试信息的方法 | |
US7587639B2 (en) | System and method for error injection using a flexible program interface field | |
CN104346247A (zh) | 用于可编程电路的缓存调试系统 | |
CN101286117A (zh) | 微码修补扩充机制、扩充微码修补机制容量的装置及其方法 | |
NL2029030B1 (en) | Device, system and method to determine a structure of a crash log record |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Texas in the United States Patentee after: NXP America Co Ltd Address before: Texas in the United States Patentee before: Fisical Semiconductor Inc. |