在数据处理装置中进行除错的制作方法_2

文档序号:9646492阅读:来源:国知局
的特权模式,及通过设定标识第一异常类型(即,第二转换异常)的信息,至少可将已发生的异常的性质通知除错器。
[0024]装置可包括第一存储器管理单元以执行第一转换,第一转换基于由处理电路响应于以低于预定特权模式的特权模式执行的软件而设定的第一配置数据;及包括第二存储器管理单元以执行第二转换,该第二转换基于由处理电路响应于以预定特权模式执行的软件而设定的第二配置数据。在其他实施例中,可仅有一个存储器管理单元,该单元基于两个配置数据集执行两个操作。特定而言,存储器管理单元可执行转换旁看缓冲器中的结果的高速存取,这可高速存取转换的结果及/或合并结果。
[0025]第一配置数据及第二配置数据可由处理电路(例如,响应于软件而)设定,以便指示与特定存储器区块相关联的许可集。以此方式,可指示特定软件应用程序具有对于不同存储器区段的不同存取等级。以将会违反许可的方式尝试存取存储器区域可导致发生存储器故障。
[0026]预定特权模式可以是超管理器特权模式,并且该不同的特权模式可以是访客操作系统特权模式。术语“超管理器”意在涵盖对超管理器及主机操作系统的使用。超管理器或主机操作系统可由此使得的多数个访客操作系统能够直接在该超管理器或主机操作系统下执行。每一访客操作系统可向在访客操作系统下执行的一个或多个用户应用程序提供虚拟化环境。当然,将了解,超管理器系统可包括多个其他特权模式。
[0027]超管理器系统可提供若干个情境,在这些情境中,存储器的部分被限制于特定软件。例如,访客操作系统可能不允许一个应用程序存取分配至另一应用程序的存储器区段。然而,访客操作系统自身及超管理器能够存取所有存储器区域。同样地,分配至一个访客操作系统的存储器区段无法由另一个访客操作系统或其应用程序存取。
[0028]也可使用其他特权模式。例如,一个或多个“主机应用程序”可在超管理器下直接执行,而非在于超管理器下执行的访客操作系统下执行。在没有访客操作系统来管理主机应用程序的情况下,无法由访客操作系统处理异常。此外,可能存在与以超管理器特权模式处理异常相关的安全性问题。因此,预定特权模式可包括超管理器执行模式及执行该等主机应用程序的模式(但不包括执行其他软件的模式)。
[0029]响应于处于除错状态的处理电路及不具有预定值的控制参数,可允许处理电路进入预定特权模式。因此,只要控制参数具有除预定值以外的值,可在处理电路处于超管理器特权模式的同时使除错能够发生。
[0030]在处理电路处于除错状态中及控制参数具有预定值的情况下,传讯电路可响应于正在被传讯的将以预定特权模式处理的第三异常,以传讯将以不同特权模式处理的第四异常,及不设定标识第三异常类型的信息。对于一些异常而言,仅传讯将以不同特权模式处理的第四异常是可接受的。换言之,可能无须设定标识第三异常类型的信息。此情况例如为以下的情况:以预定特权模式产生异常,但该异常还可以以不同的特权模式处理。在该种情境下,可能无须设定标识第三异常类型的信息,因为以该不同的特权模式运行的软件能够自行决定异常类型。
[0031]图1示出了依据一个实施例的装置100。该装置包括处理电路105,该处理电路例如可为中央处理单元(central processing unit ;CPU)。处理电路105接收来自除错器110的一个或多个指令。除错器110例如可在不同的数据处理装置上执行。指令从除错器110经由除错接115而被接收到,该除错接口经由输入缓冲器120连接至处理电路105。换言之,除错器110将指令传输至除错接115,该除错接115将指令储存在输入缓冲器120中。处理电路105可因此查询输入缓冲器120以便存取指令。在一些情况下,若指令由处理电路105执行,则结果可储存在输出缓冲器125中。除错器110可经由除错接115查询输出缓冲器125。以此方式,执行特定指令的结果可从处理电路105被发送返回至除错器110。这允许使用者决定执行由除错器110插入/注入的特定指令的效应。
[0032]处理电路105可以以一个或多个不同的特权模式(执行模式)运行。处理电路105可采用何种操作可依据处理电路105的当前模式而定。例如,特定模式可限制当前在处理电路105上执行的软件可采取的操作。因此,通过变更处理电路105的模式,可执行多个软件,其中每个软件具有不同特权。
[0033]在图1示出的实施例中,提供控制电路135,以在发生除错的同时阻止以更高等级的执行特权执行指令。具体地,依据控制参数,在处理电路105处于除错状态时,控制电路禁止处理电路105进入预定特权模式,及当处理电路105处于预定特权模式时,控制电路禁止处理电路105进入除错状态。因此,用户被阻止进行可能导致装置100安全性降低的指令执行。例如,可阻止用户执行导致私有或秘密数据被存取及返回除错器的指令。同样地,可阻止用户中断由处理电路105使用的数据。控制参数能够使这些禁止操作失去能力。具体他,这些禁止操作在控制参数具有预定值时(例如在控制参数经判定时)有效。
[0034]处理电路105使用存储器管理单元140、145以便存取存储器150。通过使用存储器管理单元140、145,有可能不仅将虚拟地址转换至实体地址,而且还管理虚拟地址或实体地址上的许可集,以便保证仅特定软件能够存取存储器150的特定区域。可设定许可以将存储器区域(该区域可由起始地址与结束地址或特定长度定义)分配至特定软件。该特定软件(及该特定软件执行时所在的任何软件,如访客操作系统或超管理器)可自由存取该存储器区域。然而,可假定其他软件无法存取该存储器区域。将了解,有数个不同方式可用以为存储器的特定区域设定许可。除本文中明确说明的那些机制,其他机制将对本领域技术人员显而易见。
[0035]装置100还包括传讯电路155。传讯电路155 (例如异常控制器)可用于将异常传讯至处理电路105。异常可通过传讯电路155响应于外源、响应于存储器管理单元140、145,及响应于处理电路105自身而经传讯。当异常经传讯时,可由在处理电路105上执行的软件来处理异常。依据异常性质(即,已产生的异常的类型),可由在处理电路105上以特定特权模式执行的软件来处理异常。例如,在外部中止、中断、第二阶段故障,或指令陷阱的情况下,可以不得不由在最高特权等级运行的软件来处理异常,如超管理器或主机操作系统。然而,如先前所论述,若例如当处理电路105处于除错状态中时,控制电路135可禁止处理电路105进入特定特权模式。因此,可出现一情境,在该情境中,处理电路105被禁止进入特权模式,而为了响应于已产生的异常,该特权模式是必需的。在一些情况下,有可能改换异常路由,以使得该异常以由控制电路135所允许的更低特权模式被处理。
[0036]当除错发生时,处理电路105暂停执行从存储器150获得的指令,并改为执行由除错器110注入的指令。因此,在众多情况下,这将仅足以指示异常已产生。换言之,无需执行由以更高执行特权模式执行的软件所提供的完整异常处理程序。因此,处理异常路由以便指示异常已发生的流程即可足以。具体地,处理路由可允许除错器110的使用者决定由于执行除错器110所注入的最新指令而已发生特定异常,即使不执行完整的异常处理程序亦如此。
[0037]尽管如此,对于一些异常而言,这种路由是不充足的。第二阶段故障是一种存储器转换故障。第二阶段故障是由两次存储器转换中的第二者所导致之一种存储器故障。在第一转换中,虚拟地址转换为中间地址,及在第二转换中,中间地址转换为实体地址。例如,第一转换可基于由处理电路响应于以更低特权模式(如访客操作系统)执行的软件而设定的第一存储器管理单元140中的第一配置数据,及第二转换可基于由处理电路响应于以更高特权模式执行的软件而设定的第二存储器管理单元145中的第二配置数据。第二阶段故障关于在第二转换期间的故障发生。由于第二转换基于由处理电路响应于以更高的执行特权模式(如超管理器)执行的软件而设定的第二配置数据,因此在不处于除错状态时,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1