具有虚拟客户的处理系统及其使用方法_3

文档序号:8259416阅读:来源:国知局
求(诸如来自所有客户的寄存器读和寄存器写请求)并枚举目标寄存器空间的地址的中央硬件机制。可以使用平衡仲裁方案平等地仲裁所有客户和虚拟客户。在本公开的实施例中,为了安全性的目的,每个寄存器的可寻址单元不是唯一地标识的。访问寄存器中的任何一个可寻址单元的请求相似地被看作对该寄存器中的任何或所有其余单元的请求。
[0052]在操作的例子中,寄存器仲裁模块150接收访问寄存器空间144的寄存器的请求,该请求包括该寄存器的一个或多个可寻址存储器单元的地址。寄存器仲裁模块150基于这一个或多个地址确定对应于该请求的特定寄存器。寄存器仲裁模块150评估安全访问数据146以确定做出该请求的客户是否是受信任的。如果是,则允许不受阻碍地完成读或写操作。然而如果该客户是非受信任的,则目标地址被解码以确定要被访问的特定寄存器。如果该目标地址是到被指定仅用于受信任的访问的寄存器的,则丢弃该操作。例如,读命令可被返回以NULL数据。写命令可被丢弃。然而如果安全访问数据146指示,该目标地址被指定用于非受信任访问的寄存器,则允许该操作不受阻碍地完成。
[0053]结合与图3-7相关联地讨论的例子呈现关于处理系统100的操作的进一步细节,这些细节包括通用存储器空间142、寄存器空间144、安全访问数据146的可选格式以及可选功能和特征。
[0054]图3呈现根据本公开进一步的实施例的寄存器空间144的框图表示。图4呈现根据本公开进一步的实施例的寄存器的框图表示。这些例子考虑了这样的情况:寄存器空间144被划分成M个寄存器,如图3所示。每个寄存器包括N个单元,每个单元都是可单独寻址的存储器位置,如图4所示。寄存器仲裁模块150对来自C个实际客户和V个虚拟客户的寄存器访问请求进行过滤,从而允许这些客户共享寄存器空间。C个实际客户可包括嵌入式CPU、PCI主机、USB主机、I2C主机、JTAG、任何的接口(122、124、……)、嵌入式处理器(132、134、……)。V个虚拟客户诸如操作系统的各种进程和/或具有对寄存器空间144的访问的其他机制。
[0055]如前面所讨论的,寄存器空间144的寄存器可以被分割为用于受信任的和非受信任的访问的库(bank)。寄存器库由寄存器设置定义为受信任的或非受信任的。这种限制可以应用于SOC内的任何寄存器客户,并且可以经由寄存器仲裁模块150用硬件强制执行(即每个寄存器读/写(R/W)必须是到许可的寄存器库的)。在该例子中,受信任的实际和虚拟客户可以R/W任何的寄存器库。尝试R/W到受信任的寄存器库的非受信任的虚拟和实际客户被拒绝。安全访问数据146可以存储在被指定作为受信任的一个或多个寄存器中。
[0056]在实施例中,寄存器库被分割为IK个库。单个寄存器客户可被指定作为受信任的或非受信任的,要么是全局的要么是基于逐个寄存器的。虚拟或实际客户的受信任或非受信任的状态可以由粘滞状态比特来指定,或者由使该指定持续(例如一旦客户被定义为非受信任的,该指定可以不被改变,直到芯片被重新设置)的其他机制来指定。
[0057]设置寄存器库的受信任或非受信任的状态的寄存器本身可以被限制为受信任的客户一例如在被配置之后,仅受信任的客户可改变对于哪些寄存器组是受信任的设置。在操作的一个例子中,寄存器仲裁模块150仅许可受信任的客户访问被分配在功能组中的特定寄存器库。例如可以使控制以太网接口的寄存器仅对操作TCP栈的客户可访问。这提供了当分配特定R/W功能给特定虚拟和/或实际客户时的很高程度的粒度。
[0058]虽然上文将寄存器状态指定描述为被实现为粘滞或持续的,但是其他安全机制也是可能的。寄存器空间的状态指示器可以位于寄存器空间本身“中”,因此可以由和其他空间相同的受信任/非受信任的机制保护。因此,如果期望,受信任的客户可以动态地改变受信任的和非受信任的客户的访问权限。非受信任的客户(一般地)会被阻止访问包含这些状态指示器的寄存器。包含这些指示器的寄存器可进一步可选地通过粘滞寄存器比特的方式“锁定”。
[0059]图5呈现根据本公开进一步的实施例的存储器空间142的框图表示。具体地,存储器空间142被分割为R个块。这些块可以包含操作系统、实用程序、应用及其他进程和可执行代码、和/或其他数据。存储器空间142被分割为受信任和非受信任的访问的区域。例如,典型的是使非受信任的应用和操作系统本身位于存储器的非受信任的区域内。典型地,使解密内容位于受信任的存储器区域中,即非受信任的客户不可以直接访问内容。密钥可以存储在存储器的受信任的部分中,或者存储在不可由任何软件(受信任和非受信任的)访问的单独的密钥存储存储器中。
[0060]在实施例中,区域由寄存器设置(高低水印)定义,寄存器设置定义存储器的受信任和非受信任的区域。该限制可以应用于SOC内的任何实际或虚拟的客户,并且由存储器仲裁模块155强制执行(即每个存储器读/写必须是到许可的区域的)。具体地,受信任的客户可以R/W存储器空间142的任何区域。非受信任的客户仅可以R/W到存储器空间142的非受信任的区域。
[0061]在操作的一种模式中,由寄存器空间144的寄存器以I兆字节的粒度设置高/低(Hi/Lo)水印。在高/低水印被设置之后,这些指定可通过粘滞比特被保护,粘滞比特通过将高/低地址存储在安全寄存器空间中或者通过其他安全机制而禁止对高/低水印的任何改变、直到重新设置芯片。以这种方式,存储器分区可以在受信任的软件加电时被设置且在其后决不改变,直到处理系统100被重新设置,否则,仅可以由受信任的客户做出改变。
[0062]虽然前面的讨论提到了高/低水印,但是应当指出,该术语通常是指特定存储器块的高低界限,或者更一般地指对于一个或多个特定的存储器块、存储器分区或存储器分段在存储器中的地址的限制或范围,所述一个或多个特定的存储器块、存储器分区或存储器分段可由这些存储器地址描述。更一般地,每个存储器块或其他分段或存储器分区可以由其自身的顶部和底部地址指定。考虑n+1个存储器块(0,1,……n),高低界限的地址可由以下表示:
[0063]顶部[O],底部[O],顶部[I],底部[I],......顶部[η],底部[η]每个存储器块X
由范围(顶部[X],底部[X])界定,并认为是在内地(inclusively)安全。在另一个实施例中,每个存储器块X也可以实现为底部[X],尺寸[X]。同样,这意味着安全范围的起始地址和尺寸可用于确定范围的结尾。对安全区域的非受信任的访问可以被丢弃。
[0064]图6呈现根据本公开进一步的实施例的操作系统190的框图表示。示出了诸如Linux,Mac OS,MS Windows、Solaris或其他操作系统的包括多个操作系统进程192的操作系统190,多个操作系统进程192被看作V个虚拟客户,目的是为了确定哪些寄存器以及哪些存储器块可由每个进程访问。如上面所描述的,V个虚拟客户中的每个可分别被指定作为受信任或非受信任的,目的是为了确定用于读和写操作的存储器和寄存器访问以及为了沙盒(sandboxing)操作以确定哪些存储器块可被执行。
[0065]例如,可使用寄存器仲裁模块150和存储器仲裁模块155来保护在操作系统(诸如Linux)内运行的单独进程和操作系统本身的安全。从执行Linux进程的一个或多个处理器输出的硬件信号可以指示每个进程的受信任/非受信任的状态。寄存器仲裁模块150和存储器仲裁模块155将使用该信号基于每个Linux进程来限制存储器/寄存器访问以及执行沙盒操作,这类似于应用于实际存储器/寄存器客户的限制。
[0066]图7呈现根据本公开进一步的实施例的安全访问数据146的框图表示。安全访问数据146包括寄存器指定数据145和存储器块指定数据149。寄存器指定数据145指定M个寄存器中的每个用于受信任或非受信任的访问,存储器块指定数据149指定R个存储器块中的每个用于受信任或非受信任的访问并进一步指定存储器块是否可执行。安全访问数据146还包括客户过滤数据147和虚拟客户过滤数据148,客户过滤数据147将C个客户中的每个归类为受信任或非受信任的,虚拟客户过滤数据148将V个虚拟客户中的每个归类为受信任或非受信任的。该指定可以针对所有寄存器和存储器块被全局设置,或者可以包括用于寄存器的分别的受信任/非受信任指定,以及用于单独存储器块的受信任的/非受信任指定和/或分别的执行许可。
[0067]在实施例中,分配给每个客户和虚拟客户的受信任/非受信任的指定可以针对每个分别的寄存器或寄存器库以及针对每个分别的存储器块进行设置。具体地,客户过滤数据147可包括表示每个客户设备对于每个寄存器的指定的M比特数据以及表示每个客户设备对于每个存储器块的指定的R比特数据。
[0068]图8呈现根据本公开的实施例的视频编码系统200的框图表示。具体地,视频编码系统200 (诸如视频处理系统100)根据H.264、MPEG-4第10部分高级视频编码(AVC)或其他数字格式、或者其他视频格式的许多功能和特征操作来编码输入视频信号110以形成经处理的视频信号112。所述其他数字格式诸如运动图像专家组(MPEG)格式(诸如MPEG1、MPEG2 或MPEG4) ,VC-1 (SMPTE标准421M)、Quicktime格式、Real Media格式、Windows MediaVideo(WMV)、音频视频交替(AVI)、高清媒体接口(HDMI)或其他数字视频格式(标准或专有的)。
[0069]图9呈现根据本公开的实施例的视频解码系统202的框图表示。具体地,视频解码系统202 (诸如视频处理系统100)根据H.264、MPEG-4第10部分高级视频编码(AVC)或其他数字格式、或者其他视频格式的许多功能和特征操作来解码输入视频信号110以形成经处理的视频信号112。所述其他数字格式诸如运动图像专家组(MPEG)格式(诸如MPEG1、MPEG2 或MPEG4) ,VC-1 (SMPTE标准421M)、Quicktime格式、Real Media格式、Windows MediaVideo(WMV)、音频视频交替(AVI)、高清媒体接口(HDMI)或其他数字视频格式(标准或专有的)。
[0070]图10呈现根据本公开的实施例的视频转码系统204的框图表示。具体地,视频转码系统204 (诸如视频处理系统100)根据H.264、MPEG-4第10部分高级视频编码(AVC)或其他数字格式、或者其他视频格式的许多功能和特征操作来转码视频信号110以形成经处理的视频信号112。所述其
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1