CN101052952B - 存储器管理单元和用于存储器管理的方法 - Google Patents

存储器管理单元和用于存储器管理的方法 Download PDF

Info

Publication number
CN101052952B
CN101052952B CN2004800443216A CN200480044321A CN101052952B CN 101052952 B CN101052952 B CN 101052952B CN 2004800443216 A CN2004800443216 A CN 2004800443216A CN 200480044321 A CN200480044321 A CN 200480044321A CN 101052952 B CN101052952 B CN 101052952B
Authority
CN
China
Prior art keywords
data
segment descriptor
program
access
descriptor
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.)
Expired - Fee Related
Application number
CN2004800443216A
Other languages
English (en)
Other versions
CN101052952A (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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN101052952A publication Critical patent/CN101052952A/zh
Application granted granted Critical
Publication of CN101052952B publication Critical patent/CN101052952B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

一种存储器管理单元,包括:(i)多个数据段描述符,每个数据段描述符与数据存储器段相关联;(ii)多个程序段描述符,每个程序段描述符与程序存储器段相关联;和(iii)控制器,其适于响应任务切换更换多个数据段描述符和多个程序段描述符的内容。一种用于存储器管理的方法,所述方法包括:(i)提供多个数据段描述符;每个数据段描述符与数据存储器段相关联,并且提供多个程序段描述符,每个程序段描述符与程序存储器段相关联;(ii)接收和存储程序任务标识符和数据任务标识符;(iii)接收数据访问请求并且确定如何响应多个数据段描述符的内容处理数据访问请求;和(iv)接收程序访问请求并且确定如何响应多个程序段描述符的内容处理程序访问请求。

Description

存储器管理单元和用于存储器管理的方法
技术领域
本发明涉及一种存储器管理单元和一种用于存储器管理的方法。
背景技术
在本领域中已知存储器管理单元的多种配置。在Chauvel等人的题为“Priority arbitration based on current task and MMU”的美国专利申请2002/0062427和Chang等人的题为“Parallel access micro-TLB tospeed up address translation”的美国专利5,835,962中说明了某些配置,其在此处并入作为参考。
现代处理器访问缓存存储器模块和所谓的高级或外部存储器模块。通常利用虚拟地址访问缓存存储器模块,同时通过提供物理地址访问外部存储器模块。典型地,由处理器提供的虚拟地址由处理器以外的部件翻译为物理地址。Neiger等人的题为“virtual translationlookaside buffer”的美国专利申请2002/0082824;Arimilli等人的题为“Hardware managed virtual-to-physical address translation mechanism”的美国专利申请2004/0117587和Mansell等人的题为“Apparatus andmethod for controlling access to a memory”的美国专利申请2004/0143720,其在此处并入作为参考,描述了多种地址翻译技术。需要提供一种有效率的存储器管理单元,其能够执行有效的地址翻译。
为了增加系统的可靠性,提出了多种技术,Dahan等人的题为“Secure mode for processors supporting MMU and interrupts”的美国专利申请2003/0140245,其在此处并入作为参考,描述了一种其中实现了安全操作模式的系统和方法。另一技术包括,限制对多种寄存器的访问,并且还通过定义多个特权级别,防止用户表单利用某些指令。典型地,这些级别包括用户特权级别和超级用户特权级别,后者比前者高。需要提供一种能够执行程序保护的有效率的存储器管理单元,并且需要一种存储器管理方法。
现代的处理器通常能够执行任务切换。Joy等人的题为“Multiple-thread processor with single-thread interface shared amongthreads”的美国专利6,542,991,其在此处并入作为参考,描述了一种连接到存储器管理单元的任务切换处理器。典型地,任务切换是耗时的,并且需要在数据和指令总线上交换许多控制信号、信息等。需要提供一种能够执行有效率的任务切换的有效率的存储器管理单元。
发明内容
一种存储器管理单元,其促成了一种快速硬件机制,用于将虚拟地址翻译为物理地址。该存储器管理单元便利地针对多个特权级别(诸如用户特权级别、超级用户特权级别)提供数据和程序访问保护,并且能够拦截错误访问。可以针对每个任务和/或每个数据存储器段或每个指令存储器段,对错误访问的特性编程。该存储器管理单元便利地能够提供多种缓存限定符字段,因此在任务切换的情况中节约了总线带宽。
一种存储器管理单元,包括多个数据段描述符,每个数据段描述符与数据存储器段相关联,以及多个程序段描述符,每个程序段描述符与程序存储器段相关联;和控制器,其适于响应任务切换,更换多个数据段描述符和多个程序段描述符的内容。
附图说明
通过下面的详细描述,结合附图,将更加全面地理解和认识本发明,在附图中:
图1是根据本发明的实施例的装置示意图;
图2是根据本发明的实施例的存储器管理模块的多种部件的示意图;
图3是根据本发明的实施例的存储器管理单元的多个寄存器的示意图;
图4是根据本发明的实施例的用于存储器管理的方法的流程图。
具体实施方式
图1说明了根据本发明的实施例的存储器管理单元(MMU)10及其环境(共同被标注为30)。MMU10便利地是包括一个或多个处理器的片上系统的一部分,并且便利地是蜂窝电话的一部分,但是不限于此。
片上系统通常包括外围总线,其连接到多个外围设备,诸如I/O设备、音频和视频设备、以及存储器模块。
环境30包括处理器18,其具有两个数据总线XA22和XB24以及指令总线P26。每个该数据总线具有数据比特线、地址比特线和控制比特线。
MMU10连接到所有三个总线(XA、XB和P)。MMU10进一步连接到数据通道12,并且连接到指令通道14,并且进一步经由线28连接到处理器18。
数据通道12连接到总线XA22和XB24。包括指令缓存和附加部件的指令信道14连接到总线P26。诸如一级RAM存储器16的内部存储器连接到数据总线XA22和XB24。数据通道12,以及指令通道14经由接口20连接到附加部件,诸如附加存储器模块40。数据通道12包括数据缓存、写通缓冲器、写回缓冲器和用于确定服务哪个部件的数据找取单元。
应当注意,附加存储器模块可以是多级缓存架构的一部分,同时数据通道12包括第一级缓存模块,并且附加存储器是二级缓存存储器。附加存储器模块还可以是外部存储器的一部分,该外部存储器还被称为主存储器。
图2说明了根据本发明的实施例的存储器管理模块10的部件。出于简化的目的,未说明部件之间的连接以及部件同多种内部和外部总线和线之间的连接。
MMU10包括数据存储器属性和翻译表格(DMATT)100、指令存储器属性和翻译表格(IMATT)130、指令/数据标识符支持单元160、扩展核心控制寄存器单元170、保护单元190以及控制该多种部件操作的控制器200。
DMATT100包括20个条目100(S),而索引S是1~20之间的正整数。这20个条目有助于定义高达20个不同的数据存储器区域,每个数据存储器区域具有其唯一的存储器特性和访问权利。应当注意,除了这20个条目以外,DMATT100可以包括附加缺省条目,其可以在MMU禁用或者描述符错失未导致访问拦截时使用。
每个条目100(S)包括虚拟段数据描述符VSD(S)102(S)和相关的物理数据段描述符PSD(S)112(S)。VSD(S)102(S)包括虚拟数据基本地址字段VBAD(S)1021(S)、数据存储器区域尺寸字段VSD1022(S)、至少一个数据访问许可字段,诸如APD(S)1023(S)、系统/共享虚拟数据存储器字段SSVDM(S)1024(S)和描述符使能比特DE1025(S)。SSVDM(S)1024(S)指出数据段是否被定义为共享。例如,当存在两个特权级别时(诸如用户和超级用户),可以存在两个访问许可字段。
PSD(S)112(S)包括关于VSD(S)的物理数据基本地址字段PBAD(S)1121(S)、指出是否允许推测找取操作的数据找取策略指示字段DF(S)1122(S)、数据写策略指示字段DW(S)1123(S)、全局数据字段GD(S)1124(S),其指出利用专用属性将针对该段的数据访问发出到系统(环境),该专用属性使外部系统能够激活其缓存一致性侦测器、以及数据突发字段BDF(S)1125(S),其典型地使用基本数据单位定义数据突发尺寸。数据写策略可以包括可缓存写通、可缓存写回、不可缓存写通以及具有处理器暂停的不可缓存写通。
便利地,虚拟数据基本地址同多个数据存储器区域尺寸对准,其依次等于2的特定的幂。例如,数据存储器区域尺寸的范围为256字节~4GB。
IMATT130包括12个条目130(R),而索引R是1~12之间的正整数。这12个条目有助于定义高达12个不同的指令存储器区域,每个指令存储器区域具有其唯一的存储器特性和访问权利。应当注意,除了这12个条目以外,IMATT130可以包括附加缺省条目,其可以在MMU禁用或者描述符错失未导致访问拦截时使用。
每个条目130(R)包括虚拟段指令描述符VSI(R)132(R)和相关的物理指令段描述符PSI(R)142(R)。VSI(R)132(R)包括虚拟指令基本地址字段VBAI(R)1321(R)、指令存储器区域尺寸字段VSI(R)1022(R)、至少一个指令访问许可字段,诸如API(S)1323(S)、指令可缓存性字段IC(R)1324(R),其指出指令缓存中的存储器段是否是可缓存的、系统/共享虚拟程序存储器字段SSVPM(S)1325(R)和描述符使能比特DE1326(R)。SSVPM(S)1325指出程序段是否被定义为共享。例如,当存在两个特权级别时(诸如用户和超级用户),可以存在两个访问许可字段。
PSI(R)142(R)包括关于VSI(R)的物理指令基本地址字段PBAI(R)1421(R)、全局程序字段GP(R)1422(R),其指出利用专用属性将针对该段的程序访问发出到系统(环境),该专用属性使外部系统能够激活其缓存一致性侦测器、程序预找取线使能字段PPFE(R)1423(R),其使得与指令缓存相关联的找取单元能够执行推测找取操作(其还被称为预找取操作)、以及程序突发字段BPF(R)1424(R),其典型地使用基本数据单位定义程序突发尺寸。
便利地,虚拟指令基本地址同多个存储器区域尺寸对准,其依次等于2的特定的幂。例如,该存储器区域尺寸的范围为256字节~4GB。
每个条目DMATT100和IMATT130便利地由一个或多个寄存器实现。
处理器18具有用户特权级别和超级用户特权级别。超级用户级别允许执行所有指令和针对所有寄存器的访问。实时操作系统(RTOS)内核和服务典型地在该模式下操作。用户特权级别仅允许访问一部分寄存器,并且允许执行无特权指令。用户任务和应用程序典型地在该级别下操作。
数据和指令保护方案利用多个数据访问允许APD1023(S)字段和多个指令访问允许API1323(R)字段以及多种寄存器。在图3和图4中更加详细地进一步说明了该多种寄存器,并且其实现了所述保护,并且定义了保护标准。每个APD(S)1023(S)便利地定义了是否允许针对第s个存储器段的超级用户级别和/或用户级别读和/或写访问。每个API(R)1323(R)便利地定义了是否允许针对第r个指令存储器段的超级用户级别和/或用户级别读访问。
每个任务与数据标识符(DID)和程序标识符(PIF)的对相关联。数据通道12中的数据缓存将该DID用作扩展标签的一部分,而指令通道14中的指令缓存以相同的方式利用该PID。这些PID/DID允许以有效率的方式支持多个任务,并且还定义共享数据和共享指令区域。
便利地,如果MMU10确定特定的数据是共享数据,则其可以强迫数据缓存将与数据相关联的DID改变为预先定义的DID(诸如0),其指出该数据是共享的。对于PID和指令缓存也应用相同的操作。
指令/数据标识符支持单元160包括用于存储PID的指令标识符寄存器162,并且还包括用于存储DID的数据标识符寄存器164。
保护单元190将接收的数据(程序)访问允许字段同关于与接收的数据(程序)访问相关联的特权级别和操作的接收信息比较,并且确定是否发生特权扰乱。
扩展核心控制寄存器单元170包括多个寄存器,诸如MMU控制寄存器171、段描述符控制寄存器172、MMU状态寄存器173、程序保护状态寄存器174、程序保护状态寄存器175、程序扰乱地址寄存器176、两个数据扰乱访问寄存器177和178、以及外围错误状态寄存器182。图3中说明了这些寄存器。
MMU控制寄存器171包括下列字段:不可缓存异常使能字段NCEE1711、写相同字节异常使能字段WSBEE1712、数据未对准存储器异常使能字段DNAMEE1713、调试和测试单元使能字段DPUE1714、存储器保护使能字段MPE1715、地址翻译使能字段ATE1716、清除外围总线错误中断请求字段CPEIR1717和清除MMU中断请求字段CMIR1718。
NCEE1711允许使能(或禁用)不可缓存异常。如果访问在数据缓存或指令缓存中生成了命中(hit),同时地址在其各自的地址段描述符中被定义为不可缓存的,则该异常发生。WSBEE1712允许使能(或禁用)相同存储器字节异常。当两个数据访问(来自XA和XB)在相同的周期中尝试写内部存储器中的相同字节时,该异常发生。DNAMEE1713允许使能(或禁用)未对准存储器异常。当数据地址的最低有效比特未与数据访问的宽度对准时,该异常发生。
DPUE1714使能(或禁用)调试和测试单元,其是环境30的一部分。MPE1715使能(或禁用)所有使能段描述符的保护检查功能。ATE1717使能(或禁用)地址翻译机制。当发生外围总线错误时对CPEIR1718置位。当发生MMU错误时对CMIR1719置位。
段描述符控制寄存器172包括20个数据段描述符使能比特(被共同标注为DSDE)1721,和12个指令段描述符比特(被共同标注为PSDE)1722。每个比特使能(或禁用)特定的段描述符。
MMU状态寄存器173包括字段1730~1749。程序特权级别字段PPL1731指出引起异常的程序访问处于超级用户级别还是用户级别。双程序缓存匹配错误字段PDCME1732、数据双缓存匹配错误B字段DDCMEB1741和数据双缓存匹配错误A字段DDCMEA1746分别指出了,由于指令双缓存匹配、总线XB或总线XA的数据双缓存匹配错误,发生异常。程序不可缓存命中异常字段PNCHE1733、数据不可缓存命中异常B字段DNCHEB1742和数据不可缓存命中异常A字段DNCHEA1747分别指出了,由于指令缓存中的指令不可缓存命中、总线XB或总线XA上的数据不可缓存命中,发生异常。
程序非映射存储器访问字段PNME1734、数据非映射存储器访问错误B字段DNMEB1743和数据非映射存储器访问错误A字段DNMEA1748分别指出了,程序访问、总线XB上的数据访问或总线XA上的数据访问,针对非映射存储器区域。
程序非对准访问错误字段PNAE1735、数据非对准访问异常B字段DNAEB1744和数据非对准访问异常A字段DNAEA1749分别指出了,由于非对准程序访问、总线XB上的非对准数据访问和总线XA上的非对准数据访问,发生异常。
程序MATT错误字段PME1736指出了,在IMATT130中指出了异常。这可以作为程序保护扰乱的结果而发生,或者可以在指令段描述符的编程中发生错误时发生。总线上数据MATT错误B字段DEMB1745和总线上数据MATT错误A字段DEMA1730指出了,在DMATT100中识别到异常。这分别可以包括作为总线XB或XA上的数据访问的结果的数据保护的扰乱。其还可以指出,在指令段描述符的编程中发生错误,或者在DMATT的编程中发生错误。
MMU状态寄存器173还包括数据特权级别字段DPL1737,其指出了引起异常的数据访问的特权级别、数据外围特权级别字段DPPL1738,其指出了引起异常的外围总线上的数据访问的特权级别、数据外围总线错误字段DPBE1739,其指出了在外围总线上发生错误的时间、和写相同字节异常字段WSBE1740,其指出了将内部存储器中的相同的字节写到两个总线或者自两个总线写内部存储器中的相同的字节的时间。
程序保护状态寄存器175包括下列字段:PSM1751、PPV1752、PMSD1753和PVSD1754。当程序访问未与任何使能的程序段描述符匹配时,对程序段错失字段PSM1751置位。当程序访问的地址与存储的程序段地址匹配但是不具有足够的许可时,对程序特权扰乱PPV1752置位。程序多个段描述符命中字段PMSD1753指出了程序地址与多个存储的地址匹配的时间。如果PPV被置位,则将引起扰乱的程序段的序列号存储在PVSD1754处。
数据保护状态寄存器176包括下列字段:DSM1761、DPV1762、DMSD1763、DAVDA1764、DAVDB1765、DAVWA1766、DAVWB1767、DVSDA1768和DVSDB1769。当数据访问未与任何使能的数据段描述符匹配时,对数据段错失字段DSM1761置位。当数据访问的地址与存储的数据段地址匹配但是不具有足够的许可时,对数据特权扰乱字段DPV1762置位。数据多个段描述符命中字段DMSD1763指出了数据地址与多个存储的地址匹配的时间。当XA总线或XB总线上的数据访问扰乱分别牵涉写操作时,对总线XA上数据访问扰乱方向字段DAVDA1764和总线XB上数据访问扰乱方向字段DAVDB1765置位。总线XA上数据访问扰乱宽度字段DAVWA1766和总线XB上数据访问扰乱宽度字段DAVWB1767指出了引起异常的数据访问的宽度。如果DPV被置位,则将引起扰乱的在总线XA或XB上传送的数据段的序列号分别存储在DVSDA1754或DVSDB1755处。
程序扰乱地址寄存器177存储保护-扰乱程序的地址。两个数据扰乱访问寄存器179和178分别存储总线XA和XB上的保护-扰乱数据的地址。
外围错误状态寄存器183存储引起外围总线上的错误的数据地址。
DMATT100接收数据访问请求或者指令访问请求,以及其特权级别,将其同对应的访问许可字段比较,并且能够将异常发送到处理器18,其最终拦截该访问。
如果发生特权扰乱,则MMU可以指出应拦截任务(例如,由处理器拦截)。典型地,在MMU异常开始和处理器18执行服务之间的间隔中,处理器18可以执行某些指令。
图4说明了根据本发明的实施例的用于存储器管理的方法200。本发明的多种实施例包括省略一个或多个步骤,添加一个或多个步骤或者改变每个步骤的内容。
某些步骤是任选的。本领域的技术人员应认识到,步骤的顺序可以改变,并且被说明为顺序执行的两个或更多个步骤可以并行执行。
方法200开始于步骤210,即提供多个数据段描述符;每个数据段描述符与数据存储器段相关联,并且提供多个程序段描述符,每个程序段描述符与程序存储器段相关联。参考前面图2中阐述的示例,步骤210可以包括提供存储器管理单元,其包括IMATT130和DMATT100,其依次包括多个虚拟和物理段描述符。
步骤210之后是步骤220和230,尽管根据所接收的针对进程的输入,步骤210之后可以仅有一个所述步骤。
步骤220包括接收数据访问请求和确定如何响应多个数据段描述符的内容处理数据访问请求。参考前面图中阐述的示例,步骤220可以包括,将关于数据访问的信息(诸如DID、特权级别、读或写数据访问、数据虚拟地址等)同一个或多个数据段描述符的内容比较。该比较可以导致数据访问的接受或否决以及MMU异常的开始。
步骤230包括接收程序访问请求和确定如何响应多个程序段描述符的内容处理程序访问请求。参考前面图中阐述的示例,步骤230可以包括,将关于程序访问的信息(诸如PID、特权级别、程序虚拟地址等)同一个或多个程序段描述符的内容比较。该比较可以导致程序访问的接受或否决以及MMU异常的开始。
步骤220和230可以重复一次或多次,其取决于正在执行的程序,直至步骤240。
步骤240包括响应任务切换更换多个数据段描述符和多个程序段描述符的内容。步骤240之后可以是步骤220和步骤230或者仅其中一个。步骤210~240的序列可以重复一次或多次。
根据本发明的实施例,步骤210包括存储程序任务标识符和数据任务标识符。
步骤230便利地包括存储在程序段描述符中的程序访问许可信息。步骤220便利地包括存储在数据段描述符中的数据访问许可信息。
步骤210可以包括选择性地使能至少一个数据段描述符和至少一个程序段描述符中的至少一个。根据本发明的实施例,步骤220和/或步骤230中执行的确定,响应段描述符的使能。
根据本发明的实施例,步骤210包括将程序地址翻译相关信息存储在程序段描述符处,并且将数据地址翻译相关信息存储在数据段描述符处。便利地,当在步骤220和230中执行地址翻译时,使用所述存储信息。
在不偏离如权利要求所要求的本发明的精神和范围前提下,本领域的普通技术人员将能够想到此处描述的实现方案的变化方案、修改方案和其他实现方案。因此,本发明不应由前面的说明性描述限定,而是由所附权利要求的精神和范围限定。

Claims (15)

1.一种存储器管理单元,包括:
多个数据段描述符,每个数据段描述符与数据存储器段相关联;
多个程序段描述符,每个程序段描述符与程序存储器段相关联;
控制器,其适于:
接收数据访问请求;
比较数据虚拟地址和所述数据段描述符中的一个或多个的内容,所述数据虚拟地址与数据访问相关;
基于所述比较接受或否决数据访问;以及
响应任务切换而更换多个数据段描述符和多个程序段描述符的内容。
2.权利要求1的存储器管理单元,进一步包括指令/数据标识符支持单元,用于存储程序任务标识符和数据任务标识符。
3.权利要求1的存储器管理单元,其中程序段描述符存储程序访问许可信息,而数据段描述符存储数据访问许可信息。
4.权利要求1的存储器管理单元,其中至少一个数据段描述符和至少一个程序段描述符适于被选择性地使能。
5.权利要求1的存储器管理单元,其中数据段描述符存储数据访问许可信息、数据访问写策略、数据预找取相关信息和数据找取突发尺寸。
6.权利要求1的存储器管理单元,其中数据段描述符存储数据地址翻译相关信息,而程序段描述符存储程序地址翻译相关信息。 
7.一种用于存储器管理的方法,所述方法包括:
提供多个数据段描述符,每个数据段描述符与数据存储器段相关联,
提供多个程序段描述符,每个程序段描述符与程序存储器段相关联;
接收数据访问请求并且确定如何响应多个数据段描述符的内容处理数据访问请求;
比较数据虚拟地址和所述数据段描述符中的一个或多个的内容,所述数据虚拟地址与数据访问相关;
基于所述比较接受或否决数据访问;以及
接收程序访问请求并且确定如何响应多个程序段描述符的内容处理程序访问请求;并且
响应任务切换而更换多个数据段描述符和多个程序段描述符的内容。
8.权利要求7的方法,进一步包括存储程序任务标识符和数据任务标识符。
9.权利要求7的方法,其中确定如何处理程序访问请求的步骤包括:检查存储在程序段描述符中的程序访问许可信息;并且其中确定如何处理数据访问请求的步骤包括:检查存储在数据段描述符中的数据访问许可信息。
10.权利要求7的方法,进一步包括:选择性地使能至少一个数据段描述符和至少一个程序段描述符中的至少一个。
11.权利要求7的方法,进一步包括:在程序段描述符处存储程序地址翻译相关信息,并且在数据段描述符处存储数据地址翻译相关信息。 
12.一种用于存储器管理的方法,包括:
提供多个数据段描述符,每个数据段描述符与数据存储器段相关联,
提供多个程序段描述符,每个程序段描述符与程序存储器段相关联;
选择性地使能至少一个数据段描述符和至少一个程序段描述符中的至少一个;
接收数据访问请求并且确定如何响应至少一个使能的数据段描述符的内容处理数据访问请求;
比较数据虚拟地址和所述数据段描述符中的一个或多个的内容,所述数据虚拟地址与数据访问相关;
基于所述比较接受或否决数据访问;并且
接收程序访问请求并且确定如何响应至少一个使能的程序段描述符的内容处理程序访问请求。
13.权利要求12的方法,进一步包括:在程序段描述符处存储程序地址翻译相关信息,并且在数据段描述符处存储数据地址翻译相关信息。
14.权利要求12的方法,进一步包括存储程序任务标识符和数据任务标识符。
15.权利要求12的方法,其中,确定如何处理程序访问请求包括:检查存储在程序段描述符中的程序访问许可信息;并且其中确定如何处理数据访问请求包括:检查存储在数据段描述符中的数据访问许可信息。 
CN2004800443216A 2004-09-10 2004-09-10 存储器管理单元和用于存储器管理的方法 Expired - Fee Related CN101052952B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/011079 WO2006027021A1 (en) 2004-09-10 2004-09-10 Memory management unit and a method for memory management

Publications (2)

Publication Number Publication Date
CN101052952A CN101052952A (zh) 2007-10-10
CN101052952B true CN101052952B (zh) 2011-11-23

Family

ID=34959555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800443216A Expired - Fee Related CN101052952B (zh) 2004-09-10 2004-09-10 存储器管理单元和用于存储器管理的方法

Country Status (4)

Country Link
US (1) US7716453B2 (zh)
EP (1) EP1807768A1 (zh)
CN (1) CN101052952B (zh)
WO (1) WO2006027021A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015201B1 (en) 2007-02-22 2011-09-06 Netapp, Inc. Servicing daemon for live debugging of storage systems
WO2009133536A1 (en) * 2008-05-02 2009-11-05 Nxp B.V. Parallel table lookup using content identifiers
US8095769B2 (en) * 2008-08-19 2012-01-10 Freescale Semiconductor, Inc. Method for address comparison and a device having address comparison capabilities
US8949551B2 (en) * 2011-02-23 2015-02-03 Freescale Semiconductor, Inc. Memory protection unit (MPU) having a shared portion and method of operation
US9116845B2 (en) 2011-02-23 2015-08-25 Freescale Semiconductor, Inc. Remote permissions provisioning for storage in a cache and device therefor
US8639895B2 (en) 2011-07-14 2014-01-28 Freescale Semiconductor, Inc. Systems and methods for memory region descriptor attribute override
US9705964B2 (en) * 2012-05-31 2017-07-11 Intel Corporation Rendering multiple remote graphics applications
US8935775B2 (en) * 2012-06-28 2015-01-13 Intel Corporation Method and apparatus for dishonest hardware policies
US9411600B2 (en) * 2013-12-08 2016-08-09 Intel Corporation Instructions and logic to provide memory access key protection functionality
US9910794B2 (en) 2014-09-26 2018-03-06 Infineon Technologies Ag Processing data
CN104794630A (zh) * 2015-03-12 2015-07-22 杨子武 一种电子商务职业经纪系统
DE102016222695A1 (de) * 2016-11-17 2018-05-17 Continental Teves Ag & Co. Ohg Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit
US10423446B2 (en) * 2016-11-28 2019-09-24 Arm Limited Data processing
EP3792800A1 (en) 2019-09-12 2021-03-17 Nxp B.V. Managing equally sized virtual memory regions and physical memory regions in an electronic device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926841A (en) * 1996-03-13 1999-07-20 Advanced Micro Devices, Inc. Segment descriptor cache for a processor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890223A (en) 1986-01-15 1989-12-26 Motorola, Inc. Paged memory management unit which evaluates access permissions when creating translator
US5053951A (en) * 1986-12-23 1991-10-01 Bull Hn Information Systems Inc. Segment descriptor unit for performing static and dynamic address translation operations
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US5765206A (en) * 1996-02-28 1998-06-09 Sun Microsystems, Inc. System and method for emulating a segmented virtual address space by a microprocessor that provides a non-segmented virtual address space
EP1046998A1 (en) 1999-04-22 2000-10-25 Texas Instruments Incorporated Digital signal processors with virtual addressing
EP1215583A1 (en) 2000-12-15 2002-06-19 Texas Instruments Incorporated Cache with tag entries having additional qualifier fields
GB2396930B (en) 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926841A (en) * 1996-03-13 1999-07-20 Advanced Micro Devices, Inc. Segment descriptor cache for a processor

Also Published As

Publication number Publication date
US7716453B2 (en) 2010-05-11
CN101052952A (zh) 2007-10-10
US20070277009A1 (en) 2007-11-29
EP1807768A1 (en) 2007-07-18
WO2006027021A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
AU596515B2 (en) Multimode expanded memory space addressing system using independently generated dma channel selection and dma page address signals
US4849875A (en) Computer address modification system with optional DMA paging
CA1315007C (en) Virtual input/output commands
CN101052952B (zh) 存储器管理单元和用于存储器管理的方法
US6480941B1 (en) Secure partitioning of shared memory based multiprocessor system
JPH01108650A (ja) ワークステーシヨン
JPH0619794A (ja) データのセット位置の予測装置
US7539840B2 (en) Handling concurrent address translation cache misses and hits under those misses while maintaining command order
US6996693B2 (en) High speed memory cloning facility via a source/destination switching mechanism
US5161162A (en) Method and apparatus for system bus testability through loopback
JPH0260012B2 (zh)
US20040111575A1 (en) Dynamic data routing mechanism for a high speed memory cloner
US5101339A (en) Computer address modification system using writable mapping and page stores
US5339397A (en) Hardware primary directory lock
JP2021507362A (ja) 間接アクセスメモリコントローラ向けの保護機能を追加するための機器
CN116107697B (zh) 一种不同操作系统之间互相通信的方法及系统
CN115640239A (zh) 计算机系统以及可信计算方法
US7502917B2 (en) High speed memory cloning facility via a lockless multiprocessor mechanism
CN112559120B (zh) 定制化pcie总线io虚拟化支撑方法
US6986011B2 (en) High speed memory cloner within a data processing system
US20040111569A1 (en) High speed memory cloning facility via a coherently done mechanism
US11009841B2 (en) Initialising control data for a device
KR960005392B1 (ko) Dma 및 인터럽트로 사용하기 위해 어드레스 수정을 제공하는 컴퓨터 시스템
CN115509964A (zh) 计算机系统以及可信计算方法
WO2023064590A1 (en) Software indirection level for address translation sharing

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

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.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111123

Termination date: 20190910

CF01 Termination of patent right due to non-payment of annual fee