CN101523367A - 对微处理器系统中的存储器空间的存取控制 - Google Patents

对微处理器系统中的存储器空间的存取控制 Download PDF

Info

Publication number
CN101523367A
CN101523367A CNA2007800383242A CN200780038324A CN101523367A CN 101523367 A CN101523367 A CN 101523367A CN A2007800383242 A CNA2007800383242 A CN A2007800383242A CN 200780038324 A CN200780038324 A CN 200780038324A CN 101523367 A CN101523367 A CN 101523367A
Authority
CN
China
Prior art keywords
processor
zone
definition
processors
regulation
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
CNA2007800383242A
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.)
Atmel Corp
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of CN101523367A publication Critical patent/CN101523367A/zh
Pending 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/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

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

Abstract

本发明提供一种用于控制对系统存储器空间的存取的系统、计算机程序产品及方法。所述系统包含可操作以对所述存储器空间执行操作的处理器及可操作以监视所述处理器的总线监视器。所述总线监视器包含用于规定所述操作对于所述存储器空间的区域为许可或不许可的定义。所述总线监视器进一步可操作以响应于所述定义规定所述操作为不许可而阻止所述处理器执行所述操作。

Description

对微处理器系统中的存储器空间的存取控制
技术领域
本发明一般来说涉及微处理器系统。更明确地说,本发明是针对微处理器系统中存储器空间的存取控制。
背景技术
目前硅密度处于可真正支持芯片上系统(SoC)的状况。在此设计水平,需要总线系统来互连所述系统的各种组件,例如,微处理器、存储器、外围设备、具体逻辑等。一种与精简指令集计算机(RISC)核心一起用于微处理器系统中的流行芯片上总线解决方案是高级微处理器总线架构(AMBA),其界定具有系统总线及较低级外围总线的多级总线系统。通常,所使用的系统总线为AMBA高速总线(AHB)或高级系统总线(ASB),且所使用的外围总线为高级外围总线(APB)。
每一微处理器系统内是在其上由所述系统的一个或一个以上微处理器经由(举例来说)AHB总线来执行操作的存储器空间。每一微处理器可对所述存储器空间的独特部分进行操作及/或可与其它微处理器共享所述存储器空间的部分。可由微处理器执行的操作中的一些操作包含读取操作、写入操作及执行操作。
发明内容
本发明提供一种系统,其包括可操作以对所述系统中的存储器空间执行至少一个操作的至少一个处理器。所述系统包含可操作以监视所述至少一个处理器的总线监视器。所述总线监视器包含用于规定所述至少一个操作对于所述存储器空间的区域为许可或不许可的至少一个定义。所述总线监视器进一步可操作以响应于至少一个定义规定所述至少一个操作为不许可而阻止所述至少一个处理器执行所述至少一个操作。
本发明还提供一种用于控制对系统的存储器空间的存取的方法及计算机程序产品,所述系统包含可操作以对所述存储器空间执行至少一个操作的至少一个处理器。所述方法及计算机程序产品提供创建用于规定所述至少一个操作对于所述存储器空间的区域为许可或不许可的至少一个定义,且响应于所述至少一个定义规定所述至少一个操作为不许可而阻止所述至少一个处理器执行所述至少一个操作。
附图说明
图1是根据本发明的方面用于控制对系统的存储器空间的存取的方法的流程。
图2图解说明根据本发明实施例的微处理器系统。
图3描绘图2中所图解说明的微处理器系统中的总线监视器的实施方案。
图4显示图3中所描绘的总线监视器中的用户接口模块的一个实施例。
图5图解说明图4中所示的用户接口模块中的保护寄存器的一个实施方案。
图6描绘图4中所示的用户接口模块中的状态寄存器的一个实施方案。
图7显示图4中所示的用户接口模块中的启用寄存器的一个实施方案。
图8-10是利用图5的保护寄存器实施方案的各种实例。
图11是可用以实施本发明实施例的数据处理系统的方块图。
具体实施方式
本发明大体来说涉及微处理器系统且更明确地说涉及微处理器系统中存储器空间的存取控制。呈现下文说明以使所属技术领域的技术人员能够制作并使用本发明,且在专利申请案及其要求的上下文中提供所述说明。所属技术领域的技术人员将易于明了对本文所描述的实施方案及通用原理以及特征的各种修改。因此,本发明并非打算局限于所示实施方案,而是将赋予其与本文所描述的原理及特征相一致的最宽广范围。
在包括一个或一个以上微处理器的微处理器系统内,可期望具有能够限定可由一个或一个以上微处理器对所述系统中的存储器空间的特定区域执行的操作类型的存取控制机构。由于所述系统可包含一个以上的微处理器,因此所述存取控制机构应是独立于处理器且允许针对不同微处理器设定不同存取级。另外,所述存取控制机构应为用户可配置的且可容易地更新。
图1中图解说明根据本发明的方面用于控制对系统的存储器空间的存取的过程100。所述系统包含可操作以对所述存储器空间执行至少一个操作的至少一个处理器。在102处,针对所述存储器空间的区域创建用于规定所述至少一个操作为许可或不许可的至少一个定义。接着,在104处响应于至少一个定义规定所述至少一个操作为不许可而阻止所述至少一个处理器执行所述至少一个操作。
图2描绘根据本发明实施方案的微处理器系统200。系统200包含微处理器202A及202B、由两个存储器模块206A及206B(例如,随机存取存储器(RAM))组成的存储器空间204、总线监视器208、外部总线接口(EBI)210以及外围设备212A及212B(例如,输入装置、通用串行总线(USB)装置等)。经由系统总线214(例如AMBA高速总线(AHB)或高级系统总线(ASB))将微处理器202A-202B、存储器模块206A-206B、总线监视器208及EBI 210互连。经由外围总线216(例如,高级外围总线(APB))将外围设备212A-212B互连,外围总线216经由桥接器218连接到系统总线214。
微处理器202A-202B在本发明一个实施方案中为精简指令集计算机(RISC)微处理器,例如,由
Figure A200780038324D00061
有限公司(
Figure A200780038324D00062
 Ltd.)开发的ARM7或ARM9处理器。在其它实施方案中,可增加或减少系统200中微处理器及/或外围设备的数量。另外,包括存储器空间204的存储器模块的数量在其它实施方案中可为不同。
总线监视器208是接入到系统总线214中的专用功能单元且监视各种地址并控制与微处理器202A-202B(也称作主机)相关联的信号以确定是否允许试图对存储器空间204的区域执行操作的主机对存储器空间204中的所选区域执行所述操作。对总线监视器208的编程可由在系统200中的微处理器202A-202B中的一者或一者以上上运行的固件实现。在另一实施例中,总线监视器208耦合到总线矩阵(未显示)。所述总线矩阵是一种可操作以将各种组件与系统200互连的存储器控制器,其可使用不同的协议。
在一个实施方案中,通过对照针对正存取的区域所创建的一个或一个以上定义检查所述操作来确定所述操作的合法性。所述一个或一个以上定义为用户可配置的且可依据应用而改变。如果尝试一非法操作(即,不许可操作),则总线监视器208将中止所述操作。在另一实施方案中,总线监视器208还将设定可用作对微处理器202A-202B的中断或由系统200中的其它安全取向模块(未显示)使用的报警信号。
图3中显示图2中所描绘的总线监视器208的一个实施例。在所述实施例中,总线监视器208包含用户接口模块302、存储器保护单元(MPU)304及EBI保护单元(EPU)306。图4图解说明图3中所示的用户接口模块302的一个实施方案。在所述实施方案中,用户接口模块302包含状态寄存器402、启用寄存器404及保护寄存器406-0到406-n。保护定义存储于保护寄存器406-0到406-n中。在其它实施例中,可使用其它类型的存储装置来存储所述定义。
在所述实施方案中,受保护的存储器空间204中的每一区域均具有对应的保护寄存器。用户接口模块302的其它实施方案还可包含可用于识别微处理器202A-202B中的哪一者当前正对存储器空间204进行存取的识别寄存器(未显示)。所述识别寄存器还可为总线监视器208外部的独立单元。
在一个实施例中,用户接口模块302中的寄存器用于配置MPU 304。可通过将保护寄存器406-0到406-n中的一者配置为包含总线监视器208的地址空间来控制对用户接口模块302中的寄存器的存取。在一个实施方案中,MPU 304可操作以对系统总线214上的地址、方向及保护信号进行解码,接着将其与保护寄存器406-0到406-n中的地址及保护定义相比较。
如果检测到违规,则中止操作并产生保护错误报警信号。报警源(例如,操作类型、违规微处理器的身份等)存储于状态寄存器402中。在另一实施例中,当非法读取返回数据操作被拦截时,除产生中止序列外,还迫使所返回的数据为低(即,均改变为零)以在所述主机(即,微处理器)不响应于所述中止序列的情况下提供额外保护。
在一个实施方案中,EPU 306是可操作以针对所有主机阻止从EBI 210的操作码提取(即,代码执行)的非可配置模块。在所述实施方案中,EPU 306可操作以监视系统总线214上的保护信号及EBI信号。如果检测到从EBI 210执行代码的尝试,则中止操作并产生保护错误报警。所述报警源存储于状态寄存器402中。
虽然所述实施方案将永久性保护及非可配置空间定义为连接到(例如)外部存储器及/或外部总线的EBI 210,但可依据系统的需要来永久性地保护任何特定空间或类型的操作。举例来说,可能需要永久性地保护非易失性存储器(NVM)(例如电可擦除、可编程、只读存储器(EEPROM)或快闪存储器)免受特殊类型的操作(例如,执行),因为未经授权的个人可将代码输入到所述NVM中且迫使所述处理器从所述NVM开始执行,此可损害所述系统。
图5中描绘图4中所图解说明的保护寄存器406-0到406-n中的一者的实施方案。在所述实施方案中,保护寄存器406-i(其中,i=0到n)为32位寄存器且微处理器202A-202B为ARM7微处理器及ARM9微处理器。保护寄存器406-i用于为存储器空间204中由基址(BA)及大小界定的区域设定保护。通过为所述ARM7及ARM9微处理器中的每一者设定读取(R)、写入(W)及执行(X)位来定义若干保护。保护位的值‘1’意指允许所述操作。
其它实施方案可包含对除读取、写入及执行外或作为其替代的其它操作(例如复制、交换等)的保护。另外,界定于一个保护寄存器中的区域可与界定于另一保护寄存器中的区域重叠。在一个实施例中,当这一重叠发生时,施加最具限制性的保护。此外,所定义的许可可适用于所有用户及特权模式。
保护寄存器406-i的位0到2[2:0]指示允许对ARM7微处理器进行读取、写入及执行操作。位[5:3]指示也允许对ARM9微处理器进行读取、写入及执行操作。位[9:6]指示起始于所述基址处的将受保护的区域大小。在表1中,显示可用在本发明一个实施方案中的区域大小以及每一大小的对应位表示及最低有效字节(LSB)的列表。举例来说,如果区域大小为1千字节(KB),则位[9:6]将读取为0000。其它实施方案可包含不同的区域大小。
表1:区域大小
 
大小位 区域大小 LSB
0000 1千字节 10
0001 2千字节 11
0010 4千字节 12
0011 8千字节 13
0100 16千字节 14
0101 32千字节 15
0110 64千字节 16
0111 128千字节 17
1000 256千字节 18
 
1001 512千字节 19
1010 1兆字节 20
1011 2兆字节 21
1100 4兆字节 22
1101 256兆字节 28
1110 512兆字节 29
1111 1千兆字节 30
将受保护的区域的基址存储于位[31:10]中。在一个实施例中,区域的大小不决定所述区域的位置,即,所述区域的基址。举例来说,如果界定4KB的区域进行保护,则所述区域不需开始于0KB、4KB、8KB、12KB等处,而是可开始于任何位置处,例如3KB。在另一实施例中,区域的基址是可用最小区域大小的倍数。例如,如果区域大小是基于表1,则基址将是1KB的倍数。
图6显示图4中所图解说明的状态寄存器402的实施方案。在所述实施方案中,状态寄存器402也为32位寄存器。位[30:28]指示由ARM9微处理器进行的非法存储器存取类型,例如,读取、写入或执行。位[27:25]指示由ARM7微处理器进行的非法存储器存取类型。如同图5中的保护寄存器406-i一样,其它实施例中可存在其它类型的受保护操作。另外,ARM7及ARM9微处理器可由其它类型的处理器来替换。
位[24]指示从EBI210执行代码的非法尝试。位[23:0]中的每一者对应于一个保护寄存器且用于指示对相应保护寄存器中保护定义的违规。在所述实施方案中,24个保护寄存器包含于用户接口模块302中。其它实施方案可包含更多或更少的保护寄存器。
作为一实例,如果尝试写入操作的微处理器ARM7违反保护寄存器406-1中的定义,则位[1]及[26]将被设定为“1”。因此,可使用状态寄存器402来确定存储器存取违规的来源及类型。在一个实施例中,如果存储器存取违反多个保护寄存器406-0到406-n的规则/定义,则将设定多个报警位。
图7图解说明图4中的启用寄存器404的实施例。启用寄存器404控制对保护寄存器406-0到406-n的使用。在一个实施方案中,将所有保护寄存器406-0到406-n一起启用(例如,将位值设定为“1”)或停用(例如,将位值设定为“0”)。在另一实施方案中,可单独地停用或启用每一保护寄存器。由于已指定EBI210进行永久性保护,因此所述保护不可被停用且不具有在启用寄存器404中的对应位。在所述实施例中,将任何值写入到启用位[0]均对状态寄存器402进行清除。
图8-10显示利用图5中的保护寄存器实施方案的各种实例。在图8中,位于十六进制(hex)0x00100000处的512KB快闪块与位于十六进制(hex)0x00180000处的另一512KB快闪块形成逻辑1兆字节(MB)快闪块。为保护此1MB区域,将所述区域界定为起始于所述第一512KB快闪块的基址处且延展到所述第二512KB快闪块上。将保护寄存器800中的基址位[31:10]设定为对应于所述1MB区域的基址的二进制01 0000 0000 00。根据上文表1,将大小位[9:6]设定为对应于1MB的1010。在所述实例中,ARM7微处理器仅具有对所述区域执行读取操作的许可且ARM9微处理器具有对所述区域执行读取及执行操作的许可。
图9的实例中的保护寄存器900为4KB区域定义保护,所述4KB区域起始于与十进制40960或40KB相同的十六进制(hex)0x0000A000的基址处。将寄存器900中的基址位[31:10]设定为对应于所述基址的二进制00 0000 1010 00。将大小位[9:6]设定为根据上文表1为4KB的0010。将ARM9及ARM7微处理器的许可设定为101及100,此与图8中的实例相同,即,ARM9可执行读取/执行操作且ARM7可执行只读操作。
图10中的实例包含保护重叠区域的两个保护寄存器1000A及1000B。保护寄存器1000A包含保护起始于基址0x00000000(即,0KB)处的16KB区域的定义。因此,将基址位[31:10]设定为二进制00 0000 0000 00且将大小位[9:6]设定为0100。由于将位[2:0]及[5:3]两者均设定为100,因此允许ARM7及ARM9微处理器在寄存器1000A中的保护定义下执行只读操作。
在保护寄存器1000B中界定另一16KB区域。由于所述第二16KB区域起始于基址0x00001C00(即,14KB)处,因此将基址位[31:10]设定为二进制00 0000 0111 00。对于所述第二16KB区域,ARM7仍限于只读操作,但允许ARM9执行读取/写入操作。
如果对重叠区域施加最限制性的保护,则对于界定于寄存器1000A中的所述第一区域与界定于寄存器1000B中的所述第二区域之间的从地址14KB到16KB的2KB重叠来说,ARM9微处理器将与寄存器1000A中所界定的一样限于只读操作,因为寄存器1000A比寄存器1000B更具限制性。因此,如果ARM9微处理器尝试在所述2KB重叠区域中执行除读取外的操作,报警条件将产生且将显示于状态寄存器402中与寄存器1000A相关联的位中。
表2-7是根据本发明的一个实施方案由总线监视器208监视的各种信号及其说明的实例。在所述实施方案中,系统总线214为AHB且外围总线216为APB。
表2:AHB信号
 
管脚 方向 说明
hclk 输入 AHB系统时钟
Hresetn 输入 重置(启动为低)
haddr_m10_arm946[31:0] 输入 来自Arm9处理器的地址总线
haddr_m11_arm7tdmi[31:0] 输入 来自Arm7处理器的地址总线
hwrite_m10_arm946[31:0] 输入 传送方向高=写入传送;低=读取传送
hwrite_m11_arm7tdmi[31:0] 输入 传送方向
 
hprot_m10_arm946[3:0] 输入 保护控制指示传送是操作码提取还是数据存取。也指示所述传送是特权模式存取还是用户存取。                      
hprot_m11_arm7tdmi[3:0] 输入 保护控制
hready_from_m10_arm946 输入 来自矩阵的既定用于Arm9处理器的hready                        
hreadyfrom_m11_arm7tdmi 输入 来自矩阵的既定用于Arm7处理器的hready                        
hrdata_from_matrix_to_m10[31:0] 输入 来自矩阵的既定用于Arm9处理器的hrdata                        
hrdata_from_matrix_to_m11[31:0] 输入 来自矩阵的既定用于Arm7处理器的hrdata                        
htrans_m10_arm946[1:0] 输入 将状态从Arm9处理器传送到矩阵(从属装置)                  
htrans_m10_arm7tdmi[1:0] 输入 将状态从Arm7处理器传送到矩阵(从属装置)                  
busmon_m10_hresp[1:0] 输出 中止信号返回到Arm9处理器(保持两个循环)                    
busmon_m11_hresp[1:0] 输出 中止信号返回到Arm7处理器(保持两个循环)                    
busmon_hready_from_m10 输出 等待状态-在中止的第一循环中为低;在中止的第二循环中为高         
busmon_hready_from_m11 输出 等待状态-在中止的第一循环中为低;在中止的第二循环中为高         
busmon_htrans_to_matrix_from_m10[1:0] 输出 将状态传送到矩阵(在违规期间设定为空闲)                        
busmon_htrans_to_matrix_from_m11[1:0] 输出 将状态传送到矩阵(在违规期间设定为空闲)                        
busmon_hrdata_from_maxtrix_to_m10[31:0] 输出 读取数据返回到Arm9(在读取及操作码提取违规期间驱使为低)    
busmon_hrdata_from_maxtrix_to_m11[31:0] 输出 读取数据返回到Arm7(在读取及操作码提取违规期间驱使为低)    
表3:APB信号
 
管脚 方向 说明
config_clock          输入 用户寄存器配置时钟
paddr 输入 APB地址总线
psel 输入 APB外围解码选择信号
pwrite 输入 APB寄存器存取方向(写入或读取)                   
pwdata 输入 APB寄存器写入数据
prdata 输出 APB寄存器读取数据
表4:非AHB/APB信号
 
管脚 方向 说明
alarm_out 输出 检测到非法存储器存取(保护错误)      
scan_test_mode           输入 ATPG模式启用
test_se 输入 扫描启用
test_si 输入 扫描入
test_so 输出 扫描出
表5:‘hresp’信号
 
hresp[1] hresp[0] 说明
0 0 可以
0 1 错误
1 0 重试
1 1 分开
表6:‘htrans’信号
 
htrans[1] htrans[0] 说明
0 0 空闲
0 1 忙碌
1 0 非连续
1 1 连续
表7:‘hprot’信号
 
hprot[3] hprot[2] hprot[1] hprot[0] 说明
- - - 0 操作码提取
- - - 1 数据存取
 
- - 0 - 用户存取
- - 1 - 特权存取
- 0 - - 不可缓冲
- 1 - 可缓冲
0 - - - 不可高速缓存
1 - - - 可高速缓存
在一个实施方案中,如果检测到保护错误报警条件(即,非法存储器存取),则总线监视器208将针对适当主机迫使‘hresp[1:0]’信号为2’b01(错误)达两个循环。在所述两个循环中的第一循环期间,‘hready’将为低(例如,0)。在所述第二循环上‘hready’将为高(例如,1)。总线监视器208还将针对所述适当主机迫使‘htrans[1:0]’信号为2’b00(忙碌)以防止从属装置响应于非法请求。另外,总线监视器208将针对违规主机迫使‘hrdata[31:0]’信号为低以防止所述主机看到受保护的数据。总线监视器208可仅查看‘hprot[1]’及‘hprot[0]’来确定操作码提取是否正在发生且确定所述主机正以何种模式(例如,用户或特权)操作。
本发明可采取完全硬件实施例、完全软件实施例或含有硬件及软件元件两者的实施例的形式。在一个方面中,本发明是以软件形式实施,其包含但不限于固件、驻留软件、微码等。
此外,本发明可采取计算机程序产品的形式,所述计算机程序产品可从提供供或结合计算机或任何指令执行系统使用的程序代码的计算机可用或计算机可读媒体存取。出于此说明的目的,计算机可用或计算机可读媒体可为可含有、存储、传递、传播或传输供或结合指令执行系统、设备或装置使用的程序的任何设备。
所述媒体可为电子、磁性、光学、电磁、红外线或半导体系统(或设备或装置)或传播媒体。计算机可读媒体的实例包含:半导体或固态存储器、磁带、可拆卸式计算机软磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘及光盘。光盘的当前实例包含DVD、压缩磁盘-只读存储器(CD-ROM)及压缩磁盘-读取/写入(CD-R/W)。
图11显示适合于存储及/或执行程序代码的数据处理系统1100。数据处理系统1100包含通过系统总线1106耦合到存储器元件1104a-b的处理器1102。在其它实施例中,数据处理系统1100可包含一个以上的处理器且每一处理器可通过系统总线直接或间接地耦合到一个或一个以上存储器元件。
存储器元件1104a-b可包含用于实际执行程序代码期间的本地存储器、大容量存储装置及高速缓存存储器,所述高速缓存存储器提供对至少某一程序代码的临时存储以减少在执行期间所述代码必须从大容量存储装置检索的次数。如图所示,输入/输出或I/O装置1108a-b(包含但不限于键盘、显示器、指向装置等)耦合到数据处理系统1100。I/O装置1108a-b可通过介入的I/O控制器(未显示)直接或间接地耦合到数据处理系统1100。
在所述实施例中,网络适配器1110耦合到数据处理系统1100以使数据处理系统1100能够通过通信链路1112耦合到其它数据处理系统或远程打印机或存储装置。通信链路1112可为专用或公用网络。调制解调器、电缆调制解调器及以太网卡仅为几种当前可用类型的网络适配器。
通过使用总线监视器,提供对微处理器系统的存储器空间的存取控制。使用保护定义提供保护存储器的任意区域而非限于基于将受保护区域的大小的特定位置不受一个或一个以上处理器影响的方法。由于所述总线监视器是独立于处理器,因此使对多个处理器的个别存储器存取控制成为可能。
如果包含识别寄存器,则系统内的处理器还能够共享相同的源代码,因为分支执行可基于识别寄存器读取的结果。还提供一种永久性地阻止对存储器空间的若干区的某些类型的存取(例如,自外部存储器执行代码)的方法。
已描述了对微处理器系统中存储器空间的存取控制的各种实施方案。然而,所属技术领域的技术人员将易于认识到,可对所述实施方案做出各种修改,且任何变化应在本发明的精神及范围内。举例来说,上述流程是参照特定排序的过程动作予以描述。然而,可在不影响本发明的范围或操作的情况下改变所描述过程动作中的许多动作的排序。因此,所属技术领域的技术人员可在不背离以上权利要求书的精神及范围的情况下做出许多修改。

Claims (31)

1、一种系统,其包括:
多个处理器,其可操作以对所述系统中的存储器空间执行至少一个操作;及
总线监视器,其可操作以监视所述多个处理器,所述总线监视器包含规定针对所述存储器空间的区域所述至少一个操作对于所述多个处理器中的每一者为许可或不许可的至少一个定义;
其中所述总线监视器进一步可操作以响应于所述至少一个定义规定所述至少一个操作对于所述多个处理器中的至少一者为不许可而阻止所述至少一个处理器对存储器空间的所述区域执行所述至少一个操作。
2、如权利要求1所述的系统,其中所述总线监视器进一步可操作以在所述至少一个定义规定所述至少一个操作对于所述至少一个处理器为不许可时响应于所述至少一个处理器尝试对所述区域执行所述至少一个操作而产生报警信号。
3、如权利要求1所述的系统,其中所述至少一个定义为用户可配置的。
4、如权利要求1所述的系统,其中所述区域的大小不决定所述区域的位置。
5、如权利要求1所述的系统,其中所述总线监视器进一步可操作以永久性地阻止所述多个处理器中的一者或一者以上对所述存储器空间的一个或一个以上区域执行一个或一个以上操作。
6、如权利要求1所述的系统,其中所述至少一个定义规定所述至少一个操作对于所述多个处理器中的一者为许可且对于所述多个处理器中的另一者为不许可。
7、如权利要求1所述的系统,其中所述总线监视器进一步可操作以响应于所述至少一个定义规定所述至少一个操作对于所述多个处理器中的至少另一者为不许可而阻止所述至少一个其它处理器对所述区域执行所述至少一个操作。
8、如权利要求7所述的系统,其进一步包括:
识别寄存器,其与所述总线监视器通信,所述识别寄存器可操作以识别所述至少一个处理器及所述至少一个其它处理器中的哪一者正尝试对所述区域执行所述至少一个操作。
9、如权利要求8所述的系统,其中所述识别寄存器为所述总线监视器的部分。
10、如权利要求1所述的系统,其中所述总线监视器进一步包含规定针对所述存储器空间的另一区域所述至少一个操作对于所述多个处理器中的每一者为许可或不许可的至少一个其它定义。
11、如权利要求10所述的系统,其中当所述至少一个定义中规定的所述区域的一部分在所述至少一个其它定义中规定的所述其它区域内时,将具有更限制性许可的所述定义应用到所述多个处理器中的每一者的所述部分。
12、一种用于控制对系统的存储器空间的存取的方法,其中所述系统包含可操作以对所述存储器空间执行至少一个操作的多个处理器,所述方法包括:
创建规定针对所述存储器空间的区域所述至少一个操作对于所述多个处理器中的每一者为许可或不许可的至少一个定义;及
响应于所述至少一个定义规定所述至少一个操作对于所述多个处理器中的至少一者为不许可而阻止所述至少一个处理器对存储器空间的所述区域执行所述至少一个操作。
13、如权利要求12所述的方法,其进一步包括:
当所述至少一个定义规定所述至少一个操作对于所述至少一个处理器为不许可时,响应于所述至少一个处理器尝试对所述区域执行所述至少一个操作而产生报警信号。
14、如权利要求12所述的方法,其中所述至少一个定义为用户可配置的。
15、如权利要求12所述的方法,其中所述区域的大小不决定所述区域的位置。
16、如权利要求12所述的方法,其进一步包括:
永久性地阻止所述多个处理器中的一者或一者以上对所述存储器空间的一个或一个以上区域执行一个或一个以上操作。
17、如权利要求12所述的方法,其中所述至少一个定义规定所述至少一个操作对于所述多个处理器中的一者为许可且对于所述多个处理器中的另一者为不许可。
18、如权利要求12所述的方法,其进一步包括:
响应于所述至少一个定义规定所述至少一个操作对于所述多个处理器中的至少另一者为不许可而阻止所述至少一个其它处理器对所述区域执行所述至少一个操作。
19、如权利要求18所述的方法,其进一步包括:
识别所述至少一个处理器及所述至少一个其它处理器中的哪一者正尝试对所述区域执行所述至少一个操作。
20、如权利要求12所述的方法,其进一步包括:
创建规定针对所述存储器空间的另一区域所述至少一个操作对于所述多个处理器中的每一者为许可或不许可的至少一个其它定义。
21、如权利要求20所述的方法,其中当所述至少一个定义中规定的所述区域的一部分在所述至少一个其它定义中规定的所述其它区域内时,将具有更限制性许可的所述定义应用到所述多个处理器中的每一者的所述部分。
22、一种包括计算机可读媒体的计算机程序产品,所述计算机可读媒体包含用于控制对系统的存储器空间的存取的计算机可读程序,所述系统包含可操作以对所述存储器空间执行至少一个操作的多个处理器,其中所述计算机可读程序当在计算机上执行时致使所述计算机:
创建规定针对所述存储器空间的区域所述至少一个操作对于所述多个处理器中的每一者为许可或不许可的至少一个定义;且
响应于所述至少一个定义规定所述至少一个操作对于所述多个处理器中的至少一者为不许可而阻止所述至少一个处理器对存储器空间的所述区域执行所述至少一个操作。
23、如权利要求22所述的计算机程序产品,其中所述计算机可读程序当在所述计算机上执行时进一步致使所述计算机:
当所述至少一个定义规定所述至少一个操作对于所述至少一个处理器为不许可时,响应于所述至少一个处理器尝试对所述区域执行所述至少一个操作而产生报警信号。
24、如权利要求22所述的计算机程序产品,其中所述至少一个定义为用户可配置的。
25、如权利要求22所述的计算机程序产品,其中所述区域的大小不决定所述区域的位置。
26、如权利要求22所述的计算机程序产品,其中所述计算机可读程序当在所述计算机上执行时进一步致使所述计算机:
永久性地阻止所述多个处理器中的一者或一者以上对所述存储器空间的一个或一个以上区域执行一个或一个以上操作。
27、如权利要求22所述的计算机程序产品,其中所述至少一个定义规定所述至少一个操作对于所述多个处理器中的一者为许可且对于所述多个处理器中的另一者为不许可。
28、如权利要求22所述的计算机程序产品,其中所述计算机可读程序当在所述计算机上执行时进一步致使所述计算机:
响应于所述至少一个定义规定所述至少一个操作对于所述多个处理器中的至少另一者为不许可而阻止所述至少一个其它处理器对所述区域执行所述至少一个操作。
29、如权利要求28所述的计算机程序产品,其中所述计算机可读程序当在所述计算机上执行时进一步致使所述计算机:
识别所述至少一个处理器及所述至少一个其它处理器中的哪一者正尝试对所述区域执行所述至少一个操作。
30、如权利要求22所述的计算机程序产品,其中所述计算机可读程序当在所述计算机上执行时进一步致使所述计算机:
创建规定针对所述存储器空间的另一区域所述至少一个操作对于所述多个处理器中的每一者为许可或不许可的至少一个其它定义。
31、如权利要求30所述的计算机程序产品,其中当所述至少一个定义中规定的所述区域的一部分在所述至少一个其它定义中规定的所述其它区域内时,将具有更限制性许可的所述定义应用到所述多个处理器中的每一者的所述部分。
CNA2007800383242A 2006-09-22 2007-08-27 对微处理器系统中的存储器空间的存取控制 Pending CN101523367A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/525,748 US20080077749A1 (en) 2006-09-22 2006-09-22 Access control of memory space in microprocessor systems
US11/525,748 2006-09-22

Publications (1)

Publication Number Publication Date
CN101523367A true CN101523367A (zh) 2009-09-02

Family

ID=39157945

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800383242A Pending CN101523367A (zh) 2006-09-22 2007-08-27 对微处理器系统中的存储器空间的存取控制

Country Status (5)

Country Link
US (1) US20080077749A1 (zh)
CN (1) CN101523367A (zh)
DE (1) DE112007002085T5 (zh)
TW (1) TW200832138A (zh)
WO (1) WO2008030727A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107771335A (zh) * 2015-06-16 2018-03-06 微软技术许可有限责任公司 受保护区域

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235436A1 (en) * 2007-03-23 2008-09-25 Zimmer Vincent J Storage access control
US8667336B2 (en) * 2007-06-14 2014-03-04 Intel Corporation Flash memory-hosted local and remote out-of-service platform manageability
EP2383654A1 (en) * 2010-04-28 2011-11-02 Siemens Aktiengesellschaft A memory device and a firmware configurator
CN102662782B (zh) * 2012-04-17 2014-09-03 华为技术有限公司 一种监控系统总线的方法及装置
US8938796B2 (en) * 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
US9229639B2 (en) * 2013-03-11 2016-01-05 Sandisk Technologies Inc. Method and non-volatile memory device for improving latency together with write protection
US9411600B2 (en) * 2013-12-08 2016-08-09 Intel Corporation Instructions and logic to provide memory access key protection functionality

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959772A (en) * 1988-03-24 1990-09-25 Gould Inc. System for monitoring and capturing bus data in a computer
JP3005250B2 (ja) * 1989-06-30 2000-01-31 テキサス インスツルメンツ インコーポレイテツド バスモニター集積回路
JPH06282528A (ja) * 1993-01-29 1994-10-07 Internatl Business Mach Corp <Ibm> データ転送方法及びそのシステム
US5890013A (en) * 1996-09-30 1999-03-30 Intel Corporation Paged memory architecture for a single chip multi-processor with physical memory pages that are swapped without latency
US6021456A (en) * 1996-11-12 2000-02-01 Herdeg; Glenn Arthur Method for communicating interrupt data structure in a multi-processor computer system
ES2331869T3 (es) * 1996-11-22 2010-01-19 Koninklijke Philips Electronics N.V. Composicion de laca.
JPH10177560A (ja) * 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US5907689A (en) * 1996-12-31 1999-05-25 Compaq Computer Corporation Master-target based arbitration priority
US6618775B1 (en) * 1997-08-15 2003-09-09 Micron Technology, Inc. DSP bus monitoring apparatus and method
US6282657B1 (en) * 1997-09-16 2001-08-28 Safenet, Inc. Kernel mode protection
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
JP3716126B2 (ja) * 1999-03-17 2005-11-16 株式会社日立製作所 ディスクアレイ制御装置及びディスクアレイ
JP2001005726A (ja) * 1999-04-20 2001-01-12 Nec Corp メモリアドレス空間拡張装置及びプログラムを記憶した記憶媒体
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
DE10147446A1 (de) * 2001-09-26 2003-04-17 Bosch Gmbh Robert Verfahren und Vorrichtung zur Überwachung eines Bussystems und Bussystem
DE10148325A1 (de) * 2001-09-29 2003-04-17 Daimler Chrysler Ag Buswächtereinheit
US6851056B2 (en) * 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
EP1523826B1 (de) * 2002-07-18 2007-12-12 VEGA Grieshaber KG Busstation mit integrierter busmonitorfunktion
GB2396713B (en) * 2002-11-18 2005-09-14 Advanced Risc Mach Ltd Apparatus and method for controlling access to a memory unit
US7149862B2 (en) * 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
GB2395583B (en) * 2002-11-18 2005-11-30 Advanced Risc Mach Ltd Diagnostic data capture control for multi-domain processors
GB2396930B (en) * 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
US7117284B2 (en) * 2002-11-18 2006-10-03 Arm Limited Vectored interrupt control within a system having a secure domain and a non-secure domain
GB2411254B (en) * 2002-11-18 2006-06-28 Advanced Risc Mach Ltd Monitoring control for multi-domain processors
US20050204155A1 (en) * 2004-03-09 2005-09-15 Nec Laboratories America, Inc Tamper resistant secure architecture
US7474632B2 (en) * 2004-06-30 2009-01-06 International Business Machines Corporation Method for self-configuring routing devices in a network
JP4587756B2 (ja) * 2004-09-21 2010-11-24 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7406711B2 (en) * 2005-09-02 2008-07-29 Motorola, Inc. Method and apparatus for enforcing independence of processors on a single IC

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107771335A (zh) * 2015-06-16 2018-03-06 微软技术许可有限责任公司 受保护区域
CN107771335B (zh) * 2015-06-16 2020-12-15 微软技术许可有限责任公司 受保护区域

Also Published As

Publication number Publication date
WO2008030727A3 (en) 2008-06-12
US20080077749A1 (en) 2008-03-27
DE112007002085T5 (de) 2009-11-26
WO2008030727A8 (en) 2009-10-08
TW200832138A (en) 2008-08-01
WO2008030727A2 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
CN101523367A (zh) 对微处理器系统中的存储器空间的存取控制
CN100468351C (zh) 对在虚拟机体系结构中客户软件操作期间出现的故障的控制
CN1132107C (zh) 计算机系统中控制对映射到i/o地址空间的寄存器的访问的系统
CN101120324B (zh) 用于在存储设备中设置保留区域的存储管理装置和方法
JP3943998B2 (ja) ロジカル・パーティショニングの実施をテストする方法、その方法をコンピュータに実行させるためのプログラムを記録したコンピューター可読記録媒体及びロジカル・パーティショニング・テスト・システム
US8424016B2 (en) Techniques to manage critical region interrupts
CN103140837A (zh) 数据处理装置的除错
CN101978339B (zh) 用于硬件重置保护的方法和装置
CN102906707A (zh) 管理与硬件事件关联的处理
CN1692332A (zh) 处理与虚拟机体系结构中客户软件的操作相关联的故障
CN101266635A (zh) 提供对临界存储器区域的受保护访问
US6546482B1 (en) Invalid configuration detection resource
JP2008502057A (ja) コンフィグラブルな特徴選択機構
CN103268276A (zh) 微处理器及微处理器死锁或活锁状态解除方法
CN101582107A (zh) 存取系统中具有存储器保护的存储器
JP2005512228A (ja) 強化されたメモリアクセスセキュリティを提供する、メモリに対するデバイスのアクセスを制御するシステムおよび方法
US6678838B1 (en) Method to track master contribution information in a write buffer
CN100585554C (zh) 经由私有操作访问控制寄存器的系统和方法
US9104472B2 (en) Write transaction interpretation for interrupt assertion
KR100831468B1 (ko) Nodma 캐시
JP4799822B2 (ja) コンピュータシステム内でのデバイス間アクセスの制御システム及び方法
JP2013101550A (ja) 情報処理空間管理方法、外部デバイス及び情報処理装置
CN115640239A (zh) 计算机系统以及可信计算方法
KR20170079368A (ko) 디버그 정보를 수집하기 위한 디버그 로직을 포함하는 cpu 시스템, 이를 포함하는 컴퓨팅 시스템 및 이의 디버깅 방법
WO2004090701A2 (en) Physical presence determination in a trusted platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090902