专利名称:基于SoC芯片外部程序安全访问架构的利记博彩app
技术领域:
本实用新型涉及安全SoC芯片技术领域,尤其涉及一种基于MCS-52系列SoC芯片外部程序存储管理架构与安全存储方法的基于SoC芯片外部程序安全访问架构及控制方法,用于扩展MCS-52系列SoC芯片中哈佛存储器体系结构、外部程序存储器的分级安全管理,确保指令和敏感数据在安全状态满足要求的前提下的执行、访问与监管,构建信息系统可信根的逐级启动与传递,敏感数据的授权使用,保护SoC芯片资源和应用程序执行的安全性。
背景技术:
目前基于MCS-52系列哈佛存储器体系结构的SoC芯片,其存储器组织通常由256 字节的内部缓冲存储器RAM、64K字节的外部数据存储器和64K字节的程序存储器组成。对于用户来说存储在外部程序存储器的指令和敏感数据都能被在无任何安全要求的情况下执行与访问,因而对于能进行二次开发的SoC芯片系统来说程序存储区对用户是完全透明的,没有任何安全防护措施来保护程序存储区的程序被非法或非授权用户进行执行和调用,以及敏感数据的越权访问与使用。对于一个嵌入式安全SoC芯片,其内部存储有各种安全属性不同的敏感数据和程序,SoC芯片运行在不同的安全状态下,可执行不同安全属性的敏感程序和访问不同安全属性的数据,是应用系统对SoC芯片的安全要求,也是可信计算平台信任根传递的基础。对 SoC芯片运行时的所有敏感程序和数据实施分级分层的安全防护措施,能有效防止敏感程序的非法执行和越权调用,以及敏感数据的非法访问,提高SoC芯片系统运行的安全性。
发明内容本实用新型的目的在通过设置外部程序存储区访问属性控制字存储器、存储器工作方式控制寄存器和相应的安全访问控制逻辑电路、访问外部程序存储器的三总线重构逻辑,实现对外部程序存储区程序和敏感数据的分级与分块的安全运行和访问以及多种安全保护策略,构建不同安全等级程序和敏感数据之间“防火墙”功能的基于SoC芯片外部程序安全访问架构及控制方法。本实用新型的目的是这样实现的一种基于SoC芯片外部程序安全访问架构,其特征在于包括内部缓冲存储器 RAM、外部程序存储区安全属性控制存储器PRAMC、存储器工作方式控制寄存器MACR、程序执行安全控制逻辑电路PESCL、外部数据存储器DRAM与程序存储器PROM。存储器工作方式控制寄存器MACR位于SoC芯片的特殊功能寄存器SFR区,其地址为8HL上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连,中央处理器单元CPU通过存储器工作方式控制寄存器MACR设置外部程序存储区安全属性控制存储器PRAMC的工作模式,该存储器的工作模式决定了安全属性控制字与程序块之间的对应关系。中央处理器单元CPU访问程序存储器PROM发出的地址总线信号AB,通过外部程序存储区安全属性控制存储器PRAMC转换后译码指向程序存储器PROM的被访问单元,同时从外部程序存储区安全属性控制存储器PRAMC中得到该单元的访问控制属性即权限控制值,而中央处理器单元CPU发出访问程序存储器PROM的控制总线信号CB,经过PESCL电路对该单元的访问控制权限值与中央处理器单元CPU当前所处的安全状态值进行逻辑运算的控制重组后,与程序存储器PROM的访问控制信号相连,只有当中央处理器单元CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问程序存储器PROM单元数据才能通过数据总线DB送入中央处理器单元CPU,实现数据的访问或程序的执行。在存储器工作方式控制寄存器MACR的控制下,通过外部程序存储区安全属性控制存储器PRAMC和安全访问控制逻辑电路,完成外部程序存储区安全属性控制存储器PRAMC安全静态和动态访问控制方式下的访问或执行属性控制字与相应程序块的对应关系转换,地址总线的动态重构以及控制总线和控制逻辑的重组,确保两种访问控制方式下程序安全执行或数据访问控制功能的实现。本实用新型具有如下积极效果通过对程序存储器的每一块设置不同的安全访问或执行属性控制字,可实现对外部程序存储器的分级安全访问控制,确保不同安全等级的敏感程序或数据得到有效保护,理论上用一个字节来表示安全访问或执行属性对应着256 种不同的安全状态,用户可根据自己的安全需求灵活设置相应的安全访问或执行控制策略。存储器动态管理模式为多任务的运行提供了安全的运行环境,实现了在较小内存资源基础之上的不同安全等级程序之间的“防火墙”功能,确保了程序分级运行和信任根的逐级传递。具体为SoC芯片根据用户运行程序安全等级制定相应的安全访问或执行控制策略, 在初始化时将安全访问或执行属性控制字写入外部程序存储区安全属性控制存储器中,不同安全访问或执行控制属性的指令或数据分配各自不同的程序存储块,相同安全访问或执行控制属性的指令或数据根据存储程序或数据的大小可占用相同或不同的程序存储块号。 用户程序在设计阶段严格遵守安全访问或执行策略制定程序存储器安全管理方案,即对程序或数据进行分级安全管理。当用户程序投入运行时,SoC芯片可通过成功完成安全策略制定的各种挑战后,获得相应的安全状态。如正确验证用户口令、成功识别和验证敏感数据使用者的身分、正确执行敏感数据的交互协议、密钥协商完成、密码运算单元功能正确、关联功能的正确执行等等,都是SoC芯片系统提升当前所处安全状态的方法。只有在SoC芯片所处的安全状态满足执行对应存储块安全访问或执行属性控制字的要求前提下,才能实施对该程序块由安全访问或执行属性控制字所规定的操作,从而有效保障敏感程序或数据在安全可控状态下完成其生命周期的全程监控,满足SoC芯片对敏感程序或数据的安全保护需要。
图1为本实用新型的基于SoC芯片外部程序存储器安全访问架构的示意图。图2为本实用新型的外部程序存储器安全静态访问或执行属性控制字与程序块的对应关系图。图3为本实用新型的外部程序存储器安全静态访问控制工作原理图。图4为本实用新型的外部程序存储器安全动态访问或执行属性控制字与程序块的对应关系图。[0012]图5为本实用新型的外部程序存储器安全动态访问控制工作原理图。
具体实施方式
如图1所示,本发明的基于SoC芯片外部程序安全访问架构包括内部缓冲存储器 RAM、外部程序存储区安全属性控制存储器PRAMC、存储器工作方式控制寄存器MACR、程序执行安全控制逻辑电路PESCL、外部数据存储器DRAM与程序存储器PR0M。存储器工作方式控制寄存器MACR位于SoC芯片的特殊功能寄存器SFR区,其地址为8HL上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连,并通过 AB、DB和CB三总线实现CPU与各存储器和寄存器之间的数据与命令交互。如图2和图4所示,根据外部程序存储器安全访问控制策略,中央处理器单元CPU 通过存储器工作方式控制寄存器MACR,设置外部程序存储区安全属性控制存储器PRAMC的工作模式,PRAMC的工作模式决定了安全属性控制字与程序块之间的对应关系。当SoC芯片处于安全静态访问控制方式时,外部程序存储器PROM被划分为256个程序或数据块,每块256个字节。而外部程序存储区安全属性控制存储器PRAMC的256个存储单元中,各存放一个程序或数据块的安全访问或执行属性控制字,使CPU的地址总线信号AB、安全访问或执行属性控制字PACWi与外部程序存储块的块号BKAddri三者之间构成一一对应关系,即 A15^V8=PACWi=BKAddri,其中i = A15I8的编码。而当SoC芯片处于安全动态访问控制方式时, 外部数据存储器PRAM被划分为1 个数据块,每块512个字节;外部程序存储区安全属性控制存储器PRAMC也被划分的1 个字存储单元,且每个字的高8位存放访问外部程序或数据存储器的物理块号,低8位则存放该块所对应的安全存访问或执行属性控制字,使CPU 的地址总线信号AB、安全访问或执行属性控制字PACWi与外部程序存储块的块号BKAddriH 者之间构成A15I8 — DACffi=BKAddri的映射与转换关系,即通过A15I8实现逻辑块地址到物理块地址和对应物理块的安全访问属性控制字的转换。如图3和图5所示,中央处理器单元CPU访问程序存储器PROM发出的地址总线信号AB,通过外部程序存储区安全属性控制存储器PRAMC转换后,译码指向程序存储器PROM 的被访问单元,同时从外部程序存储区安全属性控制存储器PRAMC中得到该单元的访问或执行属性控制字即权限控制值,而中央处理器单元CPU发出访问程序存储器PROM的控制总线信号CB,经过PESCL电路对该单元的访问控制权限值与中央处理器单元CPU当前所处的安全状态值进行逻辑运算的控制重组后,与程序存储器PROM的访问控制信号相连。只有当中央处理器单元CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问程序存储器PROM的单元数据才能通过数据总线DB送入中央处理器单元CPU,实现数据的访问或程序的执行。在中央处理单元CPU的控制下,通过存储器工作方式控制寄存器MACR、外部程序存储区安全属性控制存储器PRAMC和程序执行安全控制逻辑电路PESCL,本发明能完成外部程序存储区安全属性控制存储器PRAMC安全静态和动态访问控制方式下的访问或执行属性控制字与相应程序块的对应关系转换,地址总线的动态重构以及控制总线和控制逻辑的重组,确保两种访问控制方式下程序安全执行或数据访问控制功能的实现。一种基于SoC芯片外部程序安全访问控制方法,其特征在于该方法基于所述基于SoC芯片外部程序安全访问架构之上,包括外部程序存储器安全静态访问控制方法和安全动态访问控制方法。外部程序存储器安全静态访问控制方法的实现如下在该工作方式下,每个外部程序存储区安全属性控制存储器的256个存储单元存放一个外部程序存储器访问或执行属性控制字,该访问或执行属性控制字对应外部程序存储器256个存储单元,构成一个程序块。CPU的地址信号AB、访问或执行属性控制字与外部程序存储块的块号三者之间一一对应,即A1^A8=PACWi=BKAddri,其对应关系如图2所示。程序执行安全控制逻辑电路PESCL由SoC芯片运行安全状态字、外部程序存储器块安全访问或执行属性控制字输入通道和判决逻辑电路组成。CPU运行需要访问外部程序存储器的数据或执行外部程序存储器的指令时,只有当SoC芯片运行的当前安全状态满足对应程序存储块的安全访问或执行属性控制字要求时,该电路发出有效的程序存储器访问或执行控制信号,完成指令或数据的读出操作,并送入指令译码器。外部程序存储器安全静态访问控制工作原理如图3所示。CPU运行时,首先设置存储器工作方式控制寄存器,选中PRAMC作为芯片的内部缓冲存储器RAM,并根据外部程序存储器安全执行控制策略,对PRAMC写入每个程序存储块相对应的安全访问或执行属性控制字。其次,设置存储器工作方式控制寄存器,构成外部程序存储器安全静态访问控制工作方式,初始化存储器工作方式结束,SoC芯片进入外部程序存储器安全静态访问控制状态。当CPU运行需要执行外部程序存储器的指令或访问其数据时,将地址总线的高8位寻址PRAMC,读取对应程序块的安全访问或执行属性控制字,并与芯片当前所处的安全状态进行逻辑运算,满足程序执行安全条件时,PESCL电路给出有效的外部程序存储器访问控制信号,且CPU给出的高8位地址选中安全访问或执行属性控制字所对应的一个存储块,低8位地址选中该块中某一确定的存储单元,在外部程序存储器访问控制信号的控制下,完成指令或数据的读出操作,如果读出的数据是指令的操作码,则送入指令译码器,译码并执行该条指令。若芯片当前所处的安全状态与安全访问或执行属性控制字进行逻辑运算,不满足程序执行的安全条件时,PESCL电路输出无效的外部程序存储器访问控制信号,则禁止CPU对外部程序存储器的访问操作,即禁止对应程序块存储指令的执行或数据的访问操作。外部程序存储器安全动态访问控制方法的实现如下当SoC芯片处于外部程序存储器安全动态访问控制方式下时,外部程序存储区安全属性控制存储器PRAMC被划分为1 个字存储单元,每个字的高8位存储访问外部程序存储区的物理块号,低8位存储该块的安全访问或执行属性控制字,外部程序存储器对应被划分为1 块,每块512字节,CPU访问外部程序存储器给出16位逻辑地址,低9位用于访问一块内512个存储单元中的某一个确定存储单元,高7位用于寻址PRAMC的1 个字中的某一个确定的字,每个字高8位数据指向外部程序存储器1 块中的某一块,低8位则是该块存储区对应的访问或执行属性控制字,构成CPU输出的高7位地址、外部程序存储器的物理块号与该存储块对应的安全访问或执行属性控制字三者之间的映射与转换,即 A15X — BKAddri=PACWi,其对应关系如图4所示。程序执行安全控制逻辑电路PESCL由SoC芯片运行安全状态字、外部程序存储块安全访问或执行属性控制字输入通道和判决逻辑电路组成。只有当CPU运行的当前安全状态满足对应程序存储块的安全访问或执行属性控制字要求时,该电路发出有效的程序存储器访问控制信号,完成指令或数据的读出操作,如果读出的数据是指令的操作码,则送入指令译码器进行译码,译码并执行该条指令,外部程序存储器安全动态访问控制工作原理如图5所示。SoC芯片运行时,首先设置存储器工作方式控制寄存器,选中PRAMC作为片内缓冲存储器RAM,并根据外部程序存储器安全执行控制策略,对PRAMC写入每个程序存储块相对应的安全访问或执行属性控制字和对应的物理块地址。其次,设置存储器工作方式控制寄存器,构成外部程序存储器安全动态访问控制方式,初始化存储器访问控制方式式结束,SoC芯片进入外部程序存储器安全动态访问控制状态。当CPU运行需要执行外部程序存储器的指令或访问其数据时,将地址总线的高7位寻址PRAMC,读取对应程序块的安全访问或执行属性控制字,并与芯片当前所处的安全状态进行逻辑运算,满足访问安全条件时, PESCL电路给出有效的外部程序存储器读指令或数据控制信号,且PRAMC高8位数据选中安全访问或执行属性控制字所对应的一个存储块,CPU地址的低9位选中该块中某一确定的存储单元,在外部程序存储器访问控制信号的控制下,完成指令或数据的读出操作。若芯片当前所处的安全状态与安全访问或执行属性控制字进行逻辑运算,不满足指令执行的安全条件时,PESCL电路输出无效的外部程序存储器访问控制信号,则禁止CPU对外部程序存储器的访问操作。若CPU不执行外部程序存储器安全管理策略,即工作于正常外部程序存储管理模式,执行外部程序存储器取指令或读数据操作时,不执行初始化过程,与程序正常执行阶段的步骤相同,且PRAMC在存储器工作方式控制寄存器的控制下,作为芯片内部缓冲存储器的扩展使用。本实用新型公开了一种基于SoC芯片外部程序安全访问架构与访问控制方法,该方法包括存储管理架构的硬件平台、外部程序存储器安全静态访问控制方法和安全动态访问控制方法的实现机制三个基本部分。本实用新型所指的存储器管理架构是基于MCS-52 系列哈佛存储器体系结构的芯片,这类结构的SoC芯片大量应用于智能卡领域,在我国有极其广泛的应用,如银行IC卡、社会保障卡、SIM卡、市民卡、身份证等芯片。1、外部程序存储器安全访问控制架构外部程序存储器安全访问控制架构如图1所示。由内部缓冲存储器RAM、扩展的外部程序存储区安全属性控制存储器PRAMC、存储器工作方式控制寄存器MACR、程序执行安全控制逻辑电路PESCL、外部数据存储器DRAM和程序存储器PROM等组成。存储器工作方式控制寄存器位于SoC的特殊功能寄存器SFR区,其地址为8HL上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连。CPU通过存储器工作方式寄存器MACR,设置外部程序存储区安全属性控制存储器的工作模式,PRAMC 的工作模式决定了安全属性控制字与程序块之间的对应关系,如图2和图4所示。CPU访问程序存储器发出的地址总线信号AB,通过外部程序存储区安全属性控制存储器的转换后, 译码指向程序存储器的被访问单元,同时得到该单元的访问或执行属性控制字即权限控制值;而CPU发出的访问程序存储器的控制总线信号CB,经过PESCL电路对该单元的访问控制权限值与CPU当前所处的安全状态值进行逻辑运算的控制重组后,与程序存储器的访问控制信号相连,如图3和图5所示。只有当CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问程序存储器单元的数据才能通过数据总线DB送入CPU,实现数据的访问或程序的执行。存储器工作方式控制寄存器MACR各位的定义如下b7b6 保留,在此无任何意义。b5:外部程序存储器工作方式控制位。1^5=1时,外部程序存储器为安全动态访问控制方式,b5=0时,外部程序存储器为安全静态访问控制方式。b4:程序存储体控制允许位。b4=l时,CPU自动选中PRAMC作为PROM的安全属性控制存储器;b4=0时,若blb0=10时,选中PRAMC作为内部数据缓冲存储器使用,其作用相当于内部RAM存储器的扩展。b3b2:保留,在此无任何意义。blbO:存储体选择控制位。若使能位b4=0,且当blb0=00时,选中RAM存储体作为芯片内部数据缓冲存储器;blb0=10时,选中PRAMC存储体作为芯片内部数据缓冲存储器; blbO其它编码保留,以备存储体的扩展。在MACR寄存器的控制下,通过PRAMC完成外部程序存储器安全静态和动态访问控制方式下的访问或执行属性控制字与相应程序块之间对应关系转换,数据和地址总线的动态重构,以及控制总线和控制逻辑的重组,确保两种访问控制方式下程序安全运行或数据访问控制机制的实现。2、外部程序存储器安全静态访问控制方法的实现在该工作方式下,每个外部程序存储区安全访问属性控制存储器的256个存储单元,存放一个访问外部程序存储器访问或执行属性控制字,该访问或执行属性控制字对应外部程序存储器256个存储单元,构成一个程序或数据块。CPU的地址信号AB、 访问或执行属性控制字PACWi与外部程序存储块的块号BKAddri三者之间一一对应,即 A15I8=PACWi=BKAddri,其对应关系如图2所示。程序执行安全控制逻辑电路PESCL由SoC芯片运行安全状态字、外部程序存储块安全访问或执行属性控制字输入通道和判决逻辑电路组成。CPU运行需要访问外部程序存储器的数据或执行外部程序存储器的指令时,只有当SoC芯片运行的当前安全状态满足对应程序存储块的安全访问或执行属性控制字要求时,该电路发出有效的程序存储器访问或执行控制信号,完成指令或数据的读出操作。外部程序存储器安全静态访问控制工作原理如图3所示。下面以指令MOVC A,0A+DPTR执行为例,说明外部程序存储器安全静态访问控制方式下的工作流程。首先,SoC芯片加电自检后,进行存储器工作方式选择的初始化操作,分为如下三
第一步设置存储器工作方式控制寄存器MACR=02H,PRAMC作为内部缓冲存储器 RAM接入CPU工作。第二步初始化PRAMC,写入各程序块相对应的安全访问或执行属性控制字,以及程序运行时所必须的初始化工作,为程序运行作好准备。第三步设置存储器工作方式控制寄存器MACR=IOH,配置PRAMC为访问外部程序存储区的安全属性控制字存储区、外部程序存储区工作于安全静态访问控制方式、RAM为 CPU内部缓冲存储器。然后,SoC芯片转入程序存储器安全静态访问控制方式程序执行阶段,该指令的执行分为如下五步第一步CPU取指令从PROM中读出指令的操作码,译码得知为从PROM中取出由累加器A+DPTR指针指示地址的一个字节数据,送入累加器A。第二步CPU将DPTR寄存器值加上累加器A的值,作为访问数据的地址放入地址总线,从PROM中译码指向对应的存储单元。第三步同时该地址的高8位寻址PRAMC得到对应块号的访问或执行属性控制字。第四步程序执行安全控制逻辑电路PESCL将访问或执行属性控制字与当前安全状态字进行逻辑运算,满足访问条件时,PESCL电路输出有效的读取PROM的低电平控制信号,否则输出无效的高电平信号。第五步CPU输出低电平有效的PROM读信号,该信号经程序执行安全控制逻辑电路PESCL处理后,其输出的控制信号与PROM存储器的访问控制信号相连。若满足访问控制安全条件,则A+DPTR指示的存储单元的数据被读取到数据总线上,并送入累加器A中;否则,禁止访问A+DPTR所指向的存储单元,并通知CPU该条指令发生了对所指存储块的非法访问错误。对外部程序存储器的访问操作只有读操作,可分为三种类型查表操作类型为 MOVC A, 0A+DPTR和MOVC A, 0A+PC ;取指令与执行指令操作类型包括取操作码、读操作数或者操作数地址;跳转指令操作类型为JMP Addr, JMP @A+DPTR、SJMP rel、JB bit等指令, 该类指令的共同点是将跳转指令执行时最终形成的地址,送入地址总路线去取操作码。无论执行上述那类指令,对外部程序存储器的操作可归纳为读数据、取指令与取操作数,其实质就是对外部程序存储器的读操作,只是16位地址的形成方式不同,对外部程存储器的访问操作其地址形成方式有A+DPTR、A+PC (程序计数器)、PC和跳转指令最终形成的16位地址四种,他们的访问控制机制是完全相同的。若CPU不执行外部程序存储器安全访问策略,即工作于正常外部程序存储管理模式,执行其它访问外部程序存储器指令时,不执行初始化操作,与程序正常执行阶段的步骤相同,且PRAMC在存储器工作方式控制寄存器的控制下,可作为芯片内部缓冲存储器的扩展使用。3、外部程序存储器安全动态访问控制方法的实现当SoC芯片处于外部程序存储器安全动态访问控制方式时,外部程序存储区安全访问或执行属性控制字存储器PRAMC被划分为1 个字存储单元,每个字的高8位存储访问外部程序存储器的物理块号,低8位存储该块的安全访问或执行属性控制字,外部程序存储器对应被划分为1 块,每块512字节,CPU访问外部程序存储器给出16位逻辑地址, 低9位用于访问一块内512个存储单元中的某一个确定存储单元,高7位用于寻址PRAMC 的1 个字中的某一个确定的字,每个字高8位数据指向外部程序存储器1 块中的某一块,低8位则是对应块的访问或执行属性控制字,构成CPU给出的高7位地址、外部程序存储器物理块号与该存储块对应的安全访问或执行属性控制字三者之间的映射与转换关系, 即A15I9 — BKAddri=PACWi,其对应关系如图4所示。程序执行安全控制逻辑电路PESCL由SoC芯片运行安全状态字、外部程序存储块安全访问或执行属性控制字输入通道和判决逻辑电路组成。只有当SoC芯片运行的当前安全状态满足对应程序存储块的安全访问或执行属性控制字要求时,该电路发出有效的程序存储器访问控制信号,完成数据或指令的读出操作。外部程序存储器安全动态访问控制工作原理如图5所示。下面以指令MOVC A,0A+DPTR执行为例,说明外部程序存储器安全动态访问控制方式下的工作流程。首先,SoC芯片加电自检后,进行存储器工作方式选择的初始化操作,分为如下三第一步设置存储器工作方式控制寄存器MACR=02H,PRAMC作为内部缓冲存储器 RAM接入CPU工作。第二步初始化PRAMC,写入各程序块相对应的安全访问或执行属性控制字和对应程序存储器物理块号,以及程序运行时所必须的初始化工作,为程序运行作好准备。第三步设置存储器工作方式控制寄存器MACR=30H,配置PRAMC为访问外程序据存储区的安全属性控制字存储器、外部数据存储器工作于安全动态访问控制方式、RAM为 CPU内部缓冲存储器。然后,CPU转入程序存储器安全动态访问控制方式程序执行阶段,该指令的执行分为如下五步第一步CPU取指令从PROM中读出指令的操作码,译码得知为从PROM中取出由 A+DPTR指示地址的一个字节数据,送入累加器A。第二步CPU将A+DPTR所形成的地址放入地址总线,A8Ici直接与PROAM中低9位地址线对应相连。第三步同时A+DPTR的高7位A15I9寻址PRAMC得到对应块号的7位有效地址和该块的访问或执行属性控制字,7位地址对应接入PROM的A15I9,与低9位地址一起译码指向该块中唯一的存储单元。第四步程序执行安全控制逻辑电路PESCL将访问或执行属性控制字与当前安全状态字进行逻辑运算,满足访问安全条件时,PESCL电路输出有效的访问PROM的低电平控制信号,否则输出无效的高电平信号。第五步CPU输出低电平有效的PROM读信号,该信号经程序执行安全控制逻辑电路PESCL处理后,其输出的控制信号与PROM存储器的访问控制信号相连。若满足访问或执行安全控制条件,则A+DPTR指示的存储单元的数据被读取到数据总线上,并送入累加器A 中;否则,禁止访问A+DPTR所指向的存储单元,并通知CPU该条指令发生了对所指存储块的非法访问错误。由于A+DPTR形成访问外部程序存储器的地址由高7位逻辑块地址和低9位块内偏移地址组成,在访问外部程序存储器时需要将逻辑块地址转换为物理块地址,而存储在 PRAMC中某一存储单元的物理块地址可以是整个外部程序存储器1 块中的任意一块,这就使得在程序设计时逻辑上连续的两个程序块,可能在物理上是不连续的两块,这种存储器管访问控制方式能实现存储器的动态分配、释放和回收,减少程序存储区碎片的产生,提高存储单元的利用率。
权利要求1. 一种基于SoC芯片外部程序安全访问架构,其特征在于包括内部缓冲存储器RAM、 外部程序存储区安全属性控制存储器PRAMC、存储器工作方式控制寄存器MACR、程序执行安全控制逻辑电路PESCL、外部数据存储器DRAM与程序存储器PR0M,存储器工作方式控制寄存器MACR位于SoC芯片的特殊功能寄存器SFR区,其地址为8 ,上述各存储器与寄存器均通过地址总线AB、数据总线DB和控制总线CB与中央处理器单元CPU相连,中央处理器单元CPU通过存储器工作方式控制寄存器MACR设置外部程序存储区安全属性控制存储器 PRAMC的工作模式,该存储器的工作模式决定了安全属性控制字与程序块之间的对应关系, 中央处理器单元CPU访问程序存储器PROM发出的地址总线信号AB,通过外部程序存储区安全属性控制存储器PRAMC转换后,译码指向程序存储器PROM的被访问单元,同时从外部程序存储区安全属性控制存储器PRAMC中得到该单元的访问或执行属性控制字即权限控制值,而中央处理器单元CPU发出访问程序存储器PROM的控制总线信号CB,经过PESCL电路对该单元的访问控制权限值与中央处理器单元CPU当前所处的安全状态值进行逻辑运算的控制重组后,与程序存储器PROM的访问控制信号相连,只有当中央处理器单元CPU当前所处的安全状态值大于或等于访问控制权限值时,被访问程序存储器PROM单元数据才能通过数据总线DB送入中央处理器单元CPU,实现数据的访问或程序的执行,在存储器工作方式控制寄存器MACR的控制下,通过外部程序存储区安全属性控制存储器PRAMC和安全访问控制逻辑电路,完成外部程序存储区安全属性控制存储器PRAMC安全静态和动态访问控制方式下的访问或执行属性控制字与相应程序块的对应关系转换,地址总线的动态重构以及控制总线和控制逻辑的重组,确保两种访问控制方式下程序安全执行或数据访问控制功能的实现。
专利摘要本实用新型涉及一种基于SoC芯片外部程序安全访问架构,由内部缓冲存储器、外部程序存储区安全属性控制存储器、存储器工作方式控制寄存器、程序执行安全控制逻辑电路、外部数据存储器与程序存储器组成,存储器工作方式控制寄存器位于SoC芯片特殊功能寄存器区。上述各存储器与寄存器均通过地址总线、数据总线和控制总线与中央处理器单元相连,CPU通过存储器工作方式寄存器设置外部程序存储区安全属性控制存储器的工作模式,该存储器工作模式决定安全属性控制字与程序块之间的对应关系,和访问外部程序存储器的三总线重构逻辑,用于扩展MCS-52系列SoC芯片中哈佛存储器体系结构、外部程序存储器的分级安全管理,确保指令和敏感数据在安全状态满足要求前提下执行、访问与监管,构建信息系统可信根的逐级启动与传递,敏感数据的授权使用,不同安全等级程序和敏感数据之间的“防火墙”功能,保护SoC芯片资源、存储的敏感数据和应用程序执行的安全性。
文档编号G06F21/00GK202102449SQ20112018858
公开日2012年1月4日 申请日期2011年6月7日 优先权日2011年6月7日
发明者常朝稳, 张鲁国, 董建强 申请人:郑州信大捷安信息技术股份有限公司