存储器访问控制系统技术方案

技术编号:21952186 阅读:56 留言:0更新日期:2019-08-24 17:37
本发明专利技术涉及存储器访问控制系统。一种存储器访问控制系统包括第一电路和第二电路,第一电路支持对存储器的直接访问,第二电路与第一电路相关联且被编程以限制第一电路可访问的存储器区域。

Memory Access Control System

【技术实现步骤摘要】
存储器访问控制系统优先权要求本申请要求于2018年2月14日提交的法国专利申请号1851252的优先权,其内容在法律允许的最大程度上通过整体引用并入于此。
本专利技术涉及处理器的领域,并且更特别地涉及根据执行的任务的对存储器区域的访问权限的领域。
技术介绍
在包括处理器和存储器的系统(例如,计算机、电话等)的上下文中,能够限制对存储器的某些区域的访问是重要的。例如,可能期望限制对机密数据或对系统数据的访问。这可以例如通过在系统中包括与中央处理单元(CPU)(例如,处理器)相关联的存储器保护单元(MPU)来执行。MPU能够拒绝由CPU执行的某些任务对存储器区域的访问。例如,标识符和存储器区域可能与某些任务相关联,并且不具有相关联的标识符的任何任务对该存储器区域的访问可以被拒绝。在这样的系统中,存储器控制由与CPU相关联的MPU来执行。只有可能一个接一个地控制任务。在现有技术中,需要克服存储器访问控制系统的所有或部分缺点。
技术实现思路
在一个实施例中,一种用于控制对存储器的访问的系统包括:具有对存储器的直接访问的至少一个第一电路;以及至少一个第二电路,每个第二电路与第一电路相关联并且被编程为限制所述第一电路可访问的存储器区域。根据一个实施例,系统包括中央处理单元,其能够对第二电路进行编程。根据一个实施例,系统包括存储器保护单元,其能够访问受限制的访问区域的地址。根据一个实施例,系统包括至少八个第一电路。另一实施例提供了一种从如前所述的系统的存储器读取或写入该存储器的方法。根据一个实施例,当开始任务时,第二电路在每次目的地地址改变时验证新地址是否属于该任务可访问的存储器区域,并且如果不属于,则停止该任务。根据一个实施例,先前的方法包括以下步骤:a)将第一电路指派给待执行的任务;b)对第二电路进行编程以限定该任务期间可访问的存储器区域;c)对第一电路进行编程以限定在任务开始时的存储器地址;以及d)开始任务。根据一个实施例,步骤b)在特权模式中执行。根据一个实施例,步骤c)在与任务相关联的受限模式中执行。根据一个实施例,步骤b)和c)由中央处理单元来执行。根据一个实施例,针对每个待执行的任务,重复步骤a)至步骤d)。根据一个实施例,由至少一个第一电路执行的任务可以并行执行。附图说明参考附图,在以下的具体实施例的非限制性描述中将详细讨论前述的和其他的特征和优点,在附图中:图1以方块的形式示出了存储器访问控制系统的一个实施例;图2示出了图1的系统的操作方法的实现模式;图3图示了图2的方法的步骤;图4图示了图2的方法的另一步骤;图5图示了图2的方法的另一步骤;图6图示了图2的方法的另一步骤;图7图示了图2的方法的另一步骤;以及图8图示了图2中未示出的步骤。具体实施方式在不同的附图中,相同的元件已用相同的附图标记来指定。为了清楚,仅已示出且详细描述了对理解所描述的实施例有用的那些步骤和元件。特别地,所描述的系统包括未被详细描述的各种其他组件。图1以方块的形式示出了存储器访问控制系统10的实施例。系统10包括中央处理单元(CPU)12、存储器14和多个外围设备16,多个外围设备16中的两个被示出(PERIPH1、PERIPH2)。外围设备16对应于能够执行任务的电路,即能够执行从存储器14进行读取或向存储器14进行写入的任务的电路。外围设备16可以是在系统外部的外围设备,诸如打印机或连接到系统的传感器。外围设备16也可以在系统内部,例如,其他处理器。系统还包括存储器保护单元(MPU)18,其能够拒绝或接受处于特权模式以外的某些使用模式的CPU对存储器14的某些区域的访问,特权模式即CPU具有所有授权并且能够访问所有存储器区域的模式。系统还包括直接存储器访问电路20,其中的两个被示出(DMA1、DMA2)。优选地,存在例如至少八个DMA电路,例如在八个DMA电路到十六个DMA电路之间。DMA电路对应于以下通道:通过该通道,可以由外围设备16在存储器14中读取数据或将数据写在存储器14中,而除了读取或写入的开始之外都没有CPU12的干预。DMA电路的目的地地址对应于由外围设备在给定时间执行读取或写入时的地址。该地址可以例如由CPU来编程并且随着写入或读取而改变。根据一个实施例,每个DMA电路20与存储器的本地保护电路(L1、L2)22相关联。每个电路22能够在每次目的地地址改变时比较DMA电路20的目的地地址和DMA电路20的授权存储器区域的地址,并且因此能够限制DMA电路能够访问的存储器区域。如果该地址不属于授权区域,则每个电路22还能够停止从存储器读取或写入存储器。DMA电路可访问的存储器区域可以通过处于特权模式的CPU被编程在电路22中。图2示出了图1的系统的操作方法的实施例。图2的方法的某些步骤在图3至图8中被图示。在步骤30期间(确定待实现的任务),CPU通过确定源自外围设备16的任务是否可以由DMA电路执行而开始。为了简化,此后使用索引i来指定DMA电路、电路22、相关联的任务或者相关联的外围设备,i是从1至N的范围内的整数,N是DMA电路能够执行的任务的数目。然后,CPU执行步骤32(指派DMA),在步骤32期间,CPU将DMA电路指派给每个待执行的任务。如果存在多于DMA电路的任务,则某些任务被置于等待,直到DMA电路变为可用。在步骤32之后是对本地存储器保护单元进行编程的步骤34(对本地存储器保护单元Li进行编程)。在步骤34期间,CPU切换为特权模式以对电路22进行编程。对电路22的编程仅在特权模式中是可能的。MPU能够访问针对每个外围设备或针对每个任务授权的不同的存储器区域的地址。CPU在特权模式中使用MPU及其数据来对与已经被指派任务的DMA电路相关联的电路22进行编程,使得每个电路22授权从与对应的任务相关联的授权存储器区域读取或写入该授权存储器区域。在步骤34之后是步骤36(对DMAi当前地址编程),在步骤36期间,CPU离开与已经被指派电路DMAi20的任务i相关联的特权模式。该DMAi的电路22Li已经被编程。然后,MPU确保CPU访问受限制于与该任务相关联的存储器区域。在该步骤36期间,CPU将电路DMAi的目的地地址编程为针对该任务i应该开始写入存储器或从存储器读取的地址。这样的编程引起任务i的开始。一旦CPU已经启动任务i,其就确定(步骤40:其他任务待实现?)是否应该执行已经被指派DMA电路的另一任务。如果是(块40输出“是”),则CPU转到下一任务(步骤42:下一任务)且在步骤36处返回该新任务,即,返回到对被指派该另一任务的DMA电路的目的地地址进行编程的步骤。在步骤40处,如果CPU确定已经执行了已经被指派DMA电路的所有任务(块40输出“否”),则CPU确定(步骤44:新任务待实现?)是否应该执行先前没有被指派DMA电路的新任务。如果不是(块44输出“否”),则存储器访问控制系统10处于待机中直到新任务到达。如果应该用DMA电路执行一个或多个新任务(块44输出“是”),则返回到步骤32,其中将DMA电路指派给不同的新任务。在任务i侧(块60),DMA电路的电路22在不使用CPU的情况下通过确定(步骤46:当前地址在授权区域中?)目的地地址是否在授权区域中而开始,例如,通本文档来自技高网...

【技术保护点】
1.一种用于控制对存储器的访问的系统,包括:支持对所述存储器的直接访问的至少一个第一电路;以及与每个第一电路相关联的至少一个第二电路,其中每个第二电路被编程以限制所述第一电路能够访问的所述存储器的区域。

【技术特征摘要】
2018.02.14 FR 18512521.一种用于控制对存储器的访问的系统,包括:支持对所述存储器的直接访问的至少一个第一电路;以及与每个第一电路相关联的至少一个第二电路,其中每个第二电路被编程以限制所述第一电路能够访问的所述存储器的区域。2.根据权利要求1所述的系统,其中所述系统包括中央处理单元,所述中央处理单元被配置为对所述第二电路进行编程。3.根据权利要求1所述的系统,其中所述系统包括保护电路,所述保护电路被配置为保护所述存储器并且能够访问被限制访问的存储器区域的地址。4.根据权利要求1所述的系统,包括至少八个第一电路。5.一种从用于控制对存储器的访问的系统的存储器进行读取或向所述存储器进行写入的方法,所述系统包括支持对所述存储器的直接访问的至少一个第一电路,以及与每个第一电路相关联的至少一个第二电路,所述方法包括对每个第二电路进行编程,以限制所述第一电路能够访问的所述存储器的区...

【专利技术属性】
技术研发人员:D·达维德斯卡O·费朗
申请(专利权)人:意法半导体鲁塞公司
类型:发明
国别省市:法国,FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1