CN114756503A - 一种数据处理方法、片上系统及电子设备 - Google Patents

一种数据处理方法、片上系统及电子设备 Download PDF

Info

Publication number
CN114756503A
CN114756503A CN202210421724.8A CN202210421724A CN114756503A CN 114756503 A CN114756503 A CN 114756503A CN 202210421724 A CN202210421724 A CN 202210421724A CN 114756503 A CN114756503 A CN 114756503A
Authority
CN
China
Prior art keywords
storage resource
processor
execution environment
target
resource region
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.)
Pending
Application number
CN202210421724.8A
Other languages
English (en)
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.)
Hangzhou C Sky Microsystems Co Ltd
Original Assignee
Hangzhou C Sky Microsystems Co Ltd
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 Hangzhou C Sky Microsystems Co Ltd filed Critical Hangzhou C Sky Microsystems Co Ltd
Priority to CN202210421724.8A priority Critical patent/CN114756503A/zh
Publication of CN114756503A publication Critical patent/CN114756503A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供一种数据处理方法、片上系统及电子设备。该方法应用于支持多个执行环境的片上系统,尤其适用于以RISC‑V架构指令集为基础的片上系统,每个执行环境对应片上系统中的至少一个存储资源区域,方法包括:当处理器确定当前执行环境发生切换时获取切换后执行环境对应的目标存储资源区域的标识;获取预先生成的包含多个配置项的内存保护配置表;每个配置项包括对应存储资源区域的标识、地址信息以及访问权限信息;根据目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项;处理器基于目标配置项访问目标存储资源区域,并将其余存储资源区域配置为不可访问状态。本申请可提升执行环境切换效率。

Description

一种数据处理方法、片上系统及电子设备
技术领域
本申请实施例涉及芯片技术领域,尤其涉及一种数据处理方法、片上系统及电子设备。
背景技术
出于安全方面的考虑,应用服务对于运行环境的安全性要求越来越高。这就需要处理器芯片能够支持多种不同的执行环境(通用执行环境、可信执行环境)以运行不同要求的服务应用。其中,不同的执行环境,对应不同的存储资源区域,当处理器运行在某个具体的执行环境下时,仅能访问该执行环境对应的存储资源区域。
由于支持多个不同的执行环境,因此,处理器在运行过程中,通常需要在不同的执行环境间进行切换,如:从REE(Rich Execution Environment,通用执行环境)切换至TEE,或者,从TEE切换至REE,又或者,从一个TEE切换至另一个TEE,等等。
当前的处理器芯片类型较多,不同类型的处理器芯片,其实现多执行环境所基于的安全隔离技术可能并不相同。对于部分类型的处理器芯片而言,当处理器在不同的执行环境之间切换时,存在切换效率低的问题。
发明内容
有鉴于此,本申请实施例提供一种数据处理方法、片上系统及电子设备,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种数据处理方法,应用于支持多个执行环境的片上系统,每个执行环境对应所述片上系统中的至少一个存储资源区域,所述方法包括:
当所述片上系统的处理器确定当前执行环境发生切换时,获取切换后执行环境对应的目标存储资源区域的标识;
获取预先生成的包含多个配置项的内存保护配置表;其中,每个配置项对应一个存储资源区域,每个配置项中包括:对应存储资源区域的标识、地址信息以及访问权限信息;
根据所述目标存储资源区域的标识,从所述内存保护配置表中确定与所述目标存储资源区域对应的目标配置项;
所述处理器基于所述目标配置项访问所述目标存储资源区域,并将其余存储资源区域配置为不可访问状态。
根据本申请实施例的第二方面,提供了一种支持多个执行环境的片上系统,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器中包括多个存储资源区域;每个执行环境对应所述存储器中的至少一个存储资源区域;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述第一方面所述的数据处理方法对应的操作。
根据本申请实施例的第三方面,提供了一种电子设备,包括:如上述第二方面所述的片上系统。
本申请实施例提供的数据处理方法,内存保护配置表中设置有与每个存储资源区域对应的配置项,并且在每个配置项中,除了设置该配置项对应的存储资源区域的地址及访问权限信息外,还拓展了对应存储资源区域的标识,在当前执行环境发生切换时,借助切换后执行环境对应的目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项,并仅使该目标配置项生效,而其余存储资源区域对应的配置项均不生效(也就是,处理器仅访问目标存储资源区域,而不能访问其余存储资源区域),从而实现存储资源区域间的隔离。上述方案,可预先为各存储资源区域配置好对应的配置项,当执行环境切换时,处理器只需按照目标配置项进行目标存储资源区域访问即可,而无需对各配置项的内容进行更新,因此,可以有效提升处理器执行环境切换的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种场景示例的示意图;
图2为根据本申请实施例一的一种数据处理方法的步骤流程图;
图3为根据本申请实施例二的一种数据处理方法的步骤流程图;
图4为内存保护配置表的结构示意图,以及,执行环境切换前后各存储资源区域权限访问信息变化对比图;
图5为根据本申请实施例三的一种支持多个执行环境的片上系统的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
背景概述:
对于支持多个执行环境的片上系统而言,处理器在运行过程中,通常要在不同的执行环境间进行切换。发生执行环境切换时,需要对处理器在切换前执行环境下的运行状态信息进行保存(初始现场保存)、对处理器前次在切换后执行环境下的运行状态信息进行恢复(目标现场恢复),另外,由于每个执行环境对应的存储资源区域并不相同,当执行环境切换时,处理器能够访问的存储资源区域也应该动态调整。
相关技术中,主要通过如下方式实现:在处理器运行过程中,设置有配置信息,该配置信息中记录有:当前时刻处理器对片上系统中各存储资源区域的访问权限情况(如:当前时刻处于REE中,则与REE对应的存储资源区域A为可访问状态,其余的不与REE对应的存储资源区域为不可访问状态),该配置信息随着当前执行环境的改变,其具体内容不断更新,具体地:当发生执行环境切换时,如从REE切换中某个TEE-1时,则上述配置信息需变更为:与TEE-1对应的存储资源区域B为可访问状态,其余的不与TEE-1对应的存储资源区域为不可访问状态。
也就是说,相关技术中,当处理器运行环境改变时,不仅要进行初始现场保存和目标现场恢复,同时,还需要对配置信息中每个存储资源区域的访问状态信息进行更新,因此,当片上系统中分割出的存储资源区域较多时,则上述更新速度较慢,进而会导致处理器执行环境的切换效率较低。
本公开总体概述
参见图1,图1为本申请实施例的一种场景示例的示意图。参见图1,本申请实施例的应用场景为能够支持多个不同的执行环境的芯片系统,示例性地,例如:1个REE,和n各TEE,其中,n为大于0的自然数,REE对应片上系统的存储资源区域为区域0、TEE-1对应的存储资源区域为区域1、……、TEE-n对应的存储资源区域为区域n,也就是说,当处理器运行在REE下时只能够访问区域0、运行在TEE-1下时只能够访问区域1、……、运行在TEE-n下时只能够访问区域n。在每个执行环境中均运行有对应的操作系统及应用程序,其中,在REE中运行的为能够提供较为丰富功能的Linux系统(也可以为其他类型的操作系统,此处仅以Linux系统为例,并不构成对操作系统类型的限定),在TEE-1、……、TEE-n中运行的均为可信操作系统(可信OS,本申请实施例中,对于可行操作系统的具体类型不做限定,可以实际需要设定任意类型的可信操作系统),另外,在REE以及各TEE中还可以根据服务需要运行不同服务的应用程序,等等。
根据服务运行需要,可能存在处理器执行环境切换的需求,例如:部署在REE中的某个应用程序,其运行过程中需要调用部署在TEE-1中的另一个应用程序,此时,则需要将处理器的执行环境从REE切换至TEE-1。
本申请实施例提供了的数据处理方法,可以有效避免在执行环境切换过程中,因更新配置信息的具体内容而导致的切换效率低的问题。具体地:该方法中,在预先生成的内存保护配置表中,设置有与每个存储资源区域对应的配置项,并且在每个配置项中,除了设置该配置项对应的存储资源区域的地址及访问权限信息外,还拓展了对应存储资源区域的标识,在当前执行环境发生切换时,借助切换后执行环境对应的目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项,并仅使该目标配置项生效,而其余存储资源区域对应的配置项均不生效(也就是,处理器仅访问目标存储资源区域,而不能访问其余存储资源区域),从而实现存储资源区域间的隔离。上述方案,可预先为各存储资源区域配置好对应的配置项,当执行环境切换时,处理器只需按照目标配置项进行目标存储资源区域访问即可,而无需对各配置项的内容进行更新,因此,可以有效提升处理器执行环境切换的效率。
本公开实施例的详细实现过程
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
实施例一
参照图2,图2为根据本申请实施例一的一种数据处理方法的步骤流程图,该数据处理方法,应用于支持多个执行环境的片上系统,每个执行环境对应片上系统中的至少一个存储资源区域,方法包括:
步骤202,当片上系统的处理器确定当前执行环境发生切换时,获取切换后执行环境对应的目标存储资源区域的标识。
具体地,本申请实施例中,可以预先设置好各目标存储资源区域的标识,例如图1所示,与REE对应的存储资源区域的标识为:区域0、与TEE-1对应的存储资源区域的标识为:区域1、……、与TEE-n对应的存储资源区域的标识为:区域n,等等。本申请实施例中,对于各存储资源区域标识的具体表示形式不做限定,可以根据习惯或者需要进行自定义设定。
处理器可以实时获取当前时刻的执行环境信息,并检测执行环境信息是否发生变换,当发生变换时,则根据预设的执行环境与存储资源区域标识的对应关系,确定切换后执行环境对应的存储资源区域的标识,作为目标存储资源区域的标识。
步骤204,获取预先生成的包含多个配置项的内存保护配置表;其中,每个配置项对应一个存储资源区域,每个配置项中包括:对应存储资源区域的标识、地址信息以及访问权限信息。
上述配置项中的访问权限信息,表征当处理器运行在存储资源区域对应的执行环境时,其可对存储资源区域执行的访问操作,例如:只读操作、只写操作以及读写操作。
上述配置项中的地址信息,表征对应的存储资源区域的位置信息以及空间大小信息,具体地,例如,地址信息可以包括:起始地址信息和空间大小信息。
步骤206,根据目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项。
例如:假设目标存储资源区域的标识为区域1,则本步骤中,可以从内存保护配置表中确定与区域1对应的目标配置项,也就是说,从内存保护配置表中查找包含有区域1这一标识的配置项,作为目标配置项。
步骤208,处理器基于目标配置项访问目标存储资源区域,并将其余存储资源区域配置为不可访问状态。
还以图1为例,预先的内存保护配置表中可以至少包括与各存储资源区域对应的共n+1个配置项(不考虑全局共享存储资源区域,也不考虑其他程序,如用于实现本方法的程序对应的存储资源区域),假设配置项0对应区域0,其具体内容可以包括:标识信息:区域0、地址信息0以及访问权限信息:读写操作;配置项1对应区域1,其具体内容可以包括:标识信息:区域1、地址信息1以及访问权限信息:只读操作;……;配置项n对应区域n,其具体内容可以包括:标识信息:区域n、地址信息n以及访问权限信息:只写操作。
当处理器运行在REE时,则确定配置项0生效,其余配置项失效,此时,处理器只能访问区域0,并在其内执行读写操作,而无法访问其余区域;当处理器从REE切换至TEE-1时,则重新确定配置项1生效,其余配置项失效,这样处理器则只能访问区域1,并在其内执行只读操作,而无法访问其余区域。
本申请实施例提供的数据处理方法,内存保护配置表中设置有与每个存储资源区域对应的配置项,并且在每个配置项中,除了设置该配置项对应的存储资源区域的地址及访问权限信息外,还拓展了对应存储资源区域的标识,在当前执行环境发生切换时,借助切换后执行环境对应的目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项,并仅使该目标配置项生效,而其余存储资源区域对应的配置项均不生效(也就是,处理器仅访问目标存储资源区域,而不可访问其余存储资源区域),从而实现存储资源区域间的隔离。上述方案,预先为各存储资源区域配置好对应的配置项,当执行环境切换时,处理器只需按照目标配置项进行目标存储资源区域访问即可,而无需对内存保护配置表中各配置项的内容进行更新,因此,可以有效提升处理器执行环境切换的效率。
实施例二
参照图3,图3为根据本申请实施例二的一种数据处理方法的步骤流程图。具体地,本实施例提供的数据处理方法应用于支持多个执行环境的片上系统,每个执行环境对应片上系统中的至少一个存储资源区域,包括以下步骤:
步骤302,在片上系统启动过程中,处理器根据预设的执行环境与存储资源区域的对应关系信息,生成内存保护配置表;并将内存保护配置表存储至处理器的内部寄存器中。
其中,每个配置项对应一个存储资源区域,每个配置项中包括:对应存储资源区域的标识、地址信息以及访问权限信息,每个配置项中还包括:共享标识或者非共享标识。共享标识表征该配置项对应的存储资源区域为全局共享存储资源区域;非共享标识表征该配置项对应的存储资源区域为非全局共享存储资源区域。
具体地,各存储资源区域的位置、大小,以及,执行环境与各存储资源区域的对应关系可以根据实际需要预先设定。
进一步的,本在其中一些实施例中,片上系统的处理器可以为支持物理内存保护PMP机制的处理器。具体地,PMP机制是指可用于进行内存的安全隔离保护的机制,对于配置有支持PMP机制的处理器的片上系统而言,通过PMP机制可以对片上系统中的存储资源进行划分,并对划分后的存储资源区域进行隔离保护,从而保证存储在不同存储资源区域中的数据的安全。
本申请实施例中的处理器,可以为任意的具有PMP机制的处理器。可选地,在其中一种实施例中,处理器可以为RISC-V(基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片)处理器。
就RISC-V处理器而言,其支持多种不同的权限状态:机器态、超级用户态以及普通用户态,其中,机器态为最高权限状态,其安全性也最高。而本申请实施例中,内存保护配置表的生成过程,是最终能够使得片上系统提供多个执行环境的关键环节,因此,为保证安全性,内存保护配置表生成过程是在RISC-V处理器处于最高权限状态-机器态下进行,也就是说:在片上系统启动过程中,处理器根据预设的执行环境与存储资源区域的对应关系信息,生成内存保护配置表;并将内存保护配置表存储至处理器的内部寄存器中,可以包括:
在片上系统启动过程中,处理器在最高权限状态下,根据预设的执行环境与存储资源区域的对应关系信息,生成内存保护配置表;并将内存保护配置表存储至处理器的内部寄存器中。
另外,由于服务场景可能发生变化,上述变化可能需要重新变更执行环境与存储资源区域的对应关系,而当上述对应关系发生变化时,内存保护配置表也应随之更新。具体地:当检测到执行环境与存储资源区域的对应关系信息改变时,处理器根据改变后对应关系信息,更新内部寄存器中的内存保护配置表。
步骤304,当处理器确定当前执行环境发生切换时,获取切换后执行环境对应的目标存储资源区域的标识。
处理器可以实时获取当前时刻的执行环境信息,并检测执行环境信息是否发生变换,当发生变换时,则根据预设的执行环境与存储资源区域标识的对应关系,确定切换后执行环境对应的存储资源区域的标识,作为目标存储资源区域的标识。
可选的,在其中一些实施例中,处理器确定当前执行环境发生切换的过程,也可以包括:按照预设规则,定期获取当前执行环境对应的存储资源区域的标识;对比前后两次获取到的标识是否相同,若不相同,则确定当前执行环境发生切换。
具体地,上述预设规则可以根据自身需要进行设定,例如:设定一个较小的时间间隔,每隔上述时间间隔,处理则获取一次当前执行环境对应的存储资源区域的标识,并将当前获取到的标识与前一次获取到的标识进行对比,如果相同,则表明当前执行环境未发生变化,如果不同,则表明当前执行环境发生了切换,等等。
步骤306,从内部寄存器中获取内存保护配置表。
步骤308,根据目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项。
例如:假设目标存储资源区域的标识为区域1,则本步骤中,可以从内存保护配置表中确定与区域1对应的目标配置项,也就是说,从内存保护配置表中查找包含有区域1这一标识的配置项,作为目标配置项。
步骤310,从内存保护配置表中确定包含共享标识的共享配置项。
本申请实施例中,对于步骤308和步骤310的执行顺序不做限定,可以先执行步骤308,之后,再执行步骤310,也可以先执行步骤310,再执行步骤308,当然,还可以从内存保护配置表中同时确定包含共享标识的共享配置项以及与目标存储资源区域对应的目标配置项。
步骤312,处理器基于目标配置项和共享配置项,访问目标存储资源区域和全局共享存储资源区域,并将其余存储资源区域配置为不可访问状态。
另外,当处理器的执行环境切换时,除了需要动态调整处理器对各资源存储区域的访问权限,还要对处理器在切换前执行环境下的运行状态信息进行保存(初始现场保存)、对处理器前次在切换后执行环境下的运行状态信息进行恢复(目标现场恢复)。
因此,本申请实施例,在运行过程中,处理器可以实时将运行状态信息存储至内部寄存器中;当确定当前执行环境发生切换时,处理器从内部寄存器中读取当前的运行状态信息,并将当前的运行状态信息存储至片上系统的存储器中(即初始现场保存);同时,处理器从存储器中获取目标运行状态信息(即目标现场恢复),并基于目标运行状态信息在切换后执行环境下继续运行;目标运行状态信息为处理器前次在切换后执行环境下运行过程中,出现运行中断时的运行状态信息。
参见图4,图4为内存保护配置表的结构示意图,以及,执行环境切换前后各存储资源区域权限访问信息变化对比图。下面结合图4,对本申请实施例进行解释说明:
图4中,将片上系统的存储资源(物理内存)共划分为了5个存储资源区域:分别为TF(区域)、区域0、区域1、区域2以及共享内容区域(SHM),其中,TF(区域)为运行实现本实施例方法的程序时处理器可访问的存储资源区域;区域0为REE对应的可访问存储资源区域;区域1为TEE-1对应的可访问存储资源区域;区域2为TEE-2对应的可访问存储资源区域;SHM为全局共享存储资源区域。在片上系统启动的过程中,处理器生成如图4最左侧所示的内存保护配置表,该表中包括有多个配置项,每个配置项对应一个存储资源区域,或者一个存储资源区域的某个子区域。参见图4最左侧区域,每个配置项中,从左向右依次包含有:共享标识或者非共享标识(其中,当G=1时为共享标识,当G=0时为非共享标识)、存储资源区域的标识、存储资源区域(或者子区域)的权限信息以及存储资源区域(或者子区域)的地址信息(包括启示地址,以及内存大小),该示例中,SHM对应的配置项中包含共享标识,其余存储资源区域(或者子区域)对应的配置项中均包含非共享标识。参见图4右侧区域所示,示出了从REE切换至TEE-1过程中,处理器根据预先生成的最左侧的内存保护配置表,改变对各存储资源区域访问状态的具体过程,其中,灰色矩形表征不可访问,白色矩形表示可访问。
具体地:当处理器处于REE时,内存保护配置表中生效的配置项为:与SHM对应的共享配置项,以及,与REE对应的配置项,对应地,处理器能够访问的区域为SHM和区域0;当从REE切换至TEE-1时,处理器先获取TEE-1对应的目标存储资源区域的标识:区域1,之后,从内存保护配置表中确定与区域1对应的目标配置项,同时,从内存保护配置表中确定包含共享标识的共享配置项(与SHM对应的配置项),之后,处理器则基于上述目标配置项和共享配置项,访问目标存储资源区域:区域1,以及,全局共享存储资源区域:SHM,而由于其余配置项均处于失效状态,因此,处理器不能对其余存储资源区域进行访问。
本申请实施例提供的数据处理方法,内存保护配置表中设置有与每个存储资源区域对应的配置项,并且在每个配置项中,除了设置该配置项对应的存储资源区域的地址及访问权限信息外,还拓展了对应存储资源区域的标识,在当前执行环境发生切换时,借助切换后执行环境对应的目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项,并仅使该目标配置项生效,而其余存储资源区域对应的配置项均不生效(也就是,处理器仅访问目标存储资源区域,而不可访问其余存储资源区域),从而实现存储资源区域间的隔离。上述方案,在片上系统启动的过程中,处理器预先为各存储资源区域配置好对应的配置项,当执行环境切换时,处理器只需按照目标配置项进行目标存储资源区域访问即可,而无需对内存保护配置表中各配置项的内容进行更新,因此,可以有效提升处理器执行环境切换的效率。
另外,本申请实施例中,还在内存保护配置表每个配置项中增加了表征对应的存储资源区域为全局共享存储资源区域或者非全局共享存储资源区域的标识(共享标识或者非共享标识),在当前执行环境发生切换时,在使得切换后执行环境对应的目标存储资源区域的目标配置项生效的同时,还使得具有共享标识的共享配置项生效,这样处理器则可以同时保持对目标存储资源区域和全局共享存储资源区域的访问。针对单个全局共享存储资源区域而言,在内存保护配置表中无需设置与执行环境相等数量个配置项(一个配置项对应一种执行环境),而仅设置一个配置项,并通过在该配置项中增加共享标识的方式,即实现该存储资源区域的全局共享,有效降低对内存保护配置表中配置项占用数量。
实施例三
参照图5,示出了根据本申请实施例三的一种支持多个执行环境的片上系统的结构示意图,本申请具体实施例并不对片上系统的具体实现做限定。
如图5所示,该片上系统可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储器(memory)506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
存储器506中包括多个存储资源区域510;每个执行环境对应存储器506中的至少一个存储资源区域510;
通信接口504,用于与其它设备进行通信。
处理器502,用于执行程序512,具体可以执行上述数据处理方法实施例中的相关步骤。
具体地,程序512可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序512。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序512具体可以用于使得处理器502执行以下操作:当片上系统的处理器确定当前执行环境发生切换时,获取切换后执行环境对应的目标存储资源区域的标识;获取预先生成的包含多个配置项的内存保护配置表;其中,每个配置项对应一个存储资源区域,每个配置项中包括:对应存储资源区域的标识、地址信息以及访问权限信息;根据目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项;处理器基于目标配置项访问目标存储资源区域,并将其余存储资源区域配置为不可访问状态。
程序512中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的片上系统,内存保护配置表中设置有与每个存储资源区域对应的配置项,并且在每个配置项中,除了设置该配置项对应的存储资源区域的地址及访问权限信息外,还拓展了对应存储资源区域的标识,在当前执行环境发生切换时,借助切换后执行环境对应的目标存储资源区域的标识,从内存保护配置表中确定与目标存储资源区域对应的目标配置项,并仅使该目标配置项生效,而其余存储资源区域对应的配置项均不生效(也就是,处理器仅访问目标存储资源区域,而不能访问其余存储资源区域),从而实现存储资源区域间的隔离。上述方案,可预先为各存储资源区域配置好对应的配置项,当执行环境切换时,处理器只需按照目标配置项进行目标存储资源区域访问即可,而无需对各配置项的内容进行更新,因此,可以有效提升处理器执行环境切换的效率。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

Claims (10)

1.一种数据处理方法,应用于支持多个执行环境的片上系统,每个执行环境对应所述片上系统中的至少一个存储资源区域,所述方法包括:
当所述片上系统的处理器确定当前执行环境发生切换时,获取切换后执行环境对应的目标存储资源区域的标识;
获取预先生成的包含多个配置项的内存保护配置表;其中,每个配置项对应一个存储资源区域,每个配置项中包括:对应存储资源区域的标识、地址信息以及访问权限信息;
根据所述目标存储资源区域的标识,从所述内存保护配置表中确定与所述目标存储资源区域对应的目标配置项;
处理器基于所述目标配置项访问所述目标存储资源区域,并将其余存储资源区域配置为不可访问状态。
2.根据权利要求1所述的方法,其中,每个配置项中还包括:共享标识或者非共享标识;其中,所述共享标识表征该配置项对应的存储资源区域为全局共享存储资源区域;所述非共享标识表征该配置项对应的存储资源区域为非全局共享存储资源区域;
在所述获取包含多个配置项的内存保护配置表之后,所述方法还包括:
从所述内存保护配置表中确定包含共享标识的共享配置项;
所述处理器基于所述目标配置项访问所述目标存储资源区域,并将其余存储资源区域配置为不可访问状态,包括:
处理器基于所述目标配置项和所述共享配置项,访问所述目标存储资源区域和所述全局共享存储资源区域,并将其余存储资源区域配置为不可访问状态。
3.根据权利要求1所述的方法,其中,所述方法还包括:
在所述片上系统启动过程中,处理器根据预设的执行环境与存储资源区域的对应关系信息,生成所述内存保护配置表;并将所述内存保护配置表存储至处理器的内部寄存器中;
所述获取预先生成的包含多个配置项的内存保护配置表,包括:
从所述内部寄存器中获取所述内存保护配置表。
4.根据权利要求3所述的方法,其中,所述方法还包括:
在运行过程中,处理器实时将运行状态信息存储至所述内部寄存器中;
当确定当前执行环境发生切换时,处理器从所述内部寄存器中读取当前的运行状态信息,并将当前的运行状态信息存储至所述片上系统的存储器中;
处理器从所述存储器中获取目标运行状态信息,并基于所述目标运行状态信息在所述切换后执行环境下继续运行;所述目标运行状态信息为处理器前次在所述切换后执行环境下运行过程中,出现运行中断时的运行状态信息。
5.根据权利要求3所述的方法,其中,所述处理器为支持物理内存保护PMP机制的处理器。
6.根据权利要求5所述的方法,其中,所述处理器为RISC-V处理器;
所述在所述片上系统启动过程中,处理器根据预设的执行环境与存储资源区域的对应关系信息,生成所述内存保护配置表;并将所述内存保护配置表存储至处理器的内部寄存器中,包括:
在所述片上系统启动过程中,处理器在最高权限状态下,根据预设的执行环境与存储资源区域的对应关系信息,生成所述内存保护配置表;并将所述内存保护配置表存储至处理器的内部寄存器中。
7.根据权利要求3所述的方法,其中,所述方法还包括:
当检测到所述执行环境与存储资源区域的对应关系信息改变时,处理器根据改变后对应关系信息,更新所述内部寄存器中的内存保护配置表。
8.根据权利要求1所述的方法,其中,所述处理器确定当前执行环境发生切换的过程,包括:
按照预设规则,定期获取当前执行环境对应的存储资源区域的标识;
对比前后两次获取到的标识是否相同,若不相同,则确定当前执行环境发生切换。
9.一种支持多个执行环境的片上系统,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器中包括多个存储资源区域;每个执行环境对应所述存储器中的至少一个存储资源区域;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8中任一项所述的数据处理方法对应的操作。
10.一种电子设备,包括:如权利要求9所述的片上系统。
CN202210421724.8A 2022-04-21 2022-04-21 一种数据处理方法、片上系统及电子设备 Pending CN114756503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210421724.8A CN114756503A (zh) 2022-04-21 2022-04-21 一种数据处理方法、片上系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210421724.8A CN114756503A (zh) 2022-04-21 2022-04-21 一种数据处理方法、片上系统及电子设备

Publications (1)

Publication Number Publication Date
CN114756503A true CN114756503A (zh) 2022-07-15

Family

ID=82330895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210421724.8A Pending CN114756503A (zh) 2022-04-21 2022-04-21 一种数据处理方法、片上系统及电子设备

Country Status (1)

Country Link
CN (1) CN114756503A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115509986A (zh) * 2022-09-28 2022-12-23 美的集团(上海)有限公司 核间通信方法、电子设备及存储介质
CN117194286A (zh) * 2023-09-08 2023-12-08 上海合芯数字科技有限公司 微控制单元、处理器、访问方法和访问系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115509986A (zh) * 2022-09-28 2022-12-23 美的集团(上海)有限公司 核间通信方法、电子设备及存储介质
CN115509986B (zh) * 2022-09-28 2024-05-07 美的集团(上海)有限公司 核间通信方法、电子设备及存储介质
CN117194286A (zh) * 2023-09-08 2023-12-08 上海合芯数字科技有限公司 微控制单元、处理器、访问方法和访问系统
CN117194286B (zh) * 2023-09-08 2024-03-26 上海合芯数字科技有限公司 微控制单元、处理器、访问方法和访问系统

Similar Documents

Publication Publication Date Title
CN114756503A (zh) 一种数据处理方法、片上系统及电子设备
CN105980993B (zh) 数据处理设备和方法
EP4235420A2 (en) Processing method and apparatus for interrupt request, and virtualization device
US8914785B2 (en) Providing virtual appliance system firmware images
US20180060103A1 (en) Guest code emulation by virtual machine function
CN110134446B (zh) 启动pcie设备扫描的方法
US9043806B2 (en) Information processing device and task switching method
CN109391514B (zh) 基于高可用性的设备部署方法、服务器、存储介质及装置
CN108319492B (zh) 复位物理机的方法、装置与系统
CN111352647A (zh) 虚拟机升级方法、装置、设备及存储介质
US7010725B2 (en) Method and apparatus for getting dump of a computer system
CN114467083A (zh) 用于应用程序组的定制根进程
CN113360257A (zh) 一种基于bios的信息操作方法、装置、存储介质及设备
CN112925606B (zh) 一种内存管理方法、装置及设备
CN113535262B (zh) 一种代理节点的启动控制方法、装置、设备及存储介质
JP2019074950A (ja) 情報処理装置、制御装置、制御方法及び制御プログラム
CN107315631B (zh) 一种任务调度方法及装置
CN117573419A (zh) 一种页面异常处理方法及装置
US20170185443A1 (en) Device and Method for Hardware Virtualization Support
CN112306627A (zh) 一种云主机vcpu与宿主机物理cpu的绑定方法及装置
CN113535215B (zh) 一种虚拟机热升级方法、装置、设备以及存储介质
CN110569105A (zh) 分布式虚拟机自适应内存一致性协议及其设计方法、终端
CN113678101B (zh) 信息处理装置、移动体以及信息处理方法
CN114637969A (zh) 目标对象的鉴权方法及装置
CN109240816B (zh) 系统方案切换方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination