数据处理装置的制作方法

文档序号:19250267发布日期:2019-11-27 20:07阅读:299来源:国知局
数据处理装置的制作方法

相关申请的交叉引用

于2018年5月18日提交的包括说明书、附图和摘要的日本专利申请第2018-096329号的公开内容通过引用全部并入本文。

本公开涉及一种可以执行多个虚拟机的数据处理装置。



背景技术:

迄今为止,已经提出了通过监测对cpu(中央处理单元)的中断处理来检测异常的系统。

例如,日本专利第4065131号公开了一种系统,其中,基于测量的时间来测量中断处理的事件之间的时间以检测cpu的异常。

另一方面,存在使单个物理资源(硬件资源)看起来像多个资源的虚拟化技术。例如,通过采用这种虚拟化技术,可以在一个cpu上操作多个虚拟机(vm),并且因此可以在每个虚拟机上操作不同的操作系统(os)。

每个虚拟机(vm)都需要满足独立的功能安全性。即,有必要保证这些功能不受相互干扰(不受干扰(ffi))。

为了保证这一点,有必要采用能够监测虚拟机的中断处理的状态的方案。

(专利文献1)日本专利第4065131号



技术实现要素:

通过提供一种可以正确地监测虚拟机的中断处理的状态的数据处理装置,完成本公开以解决上述问题。

通过本说明书和附图的描述,本发明的其它问题和新特征将变得显而易见。

根据本公开的一个实施示例的数据处理装置包括:算术单元,执行多个虚拟机中的每个虚拟机;以及中断控制器,利用用于指定虚拟机中的至少一个虚拟机的虚拟机信息来指示算术单元执行中断处理。中断控制器包括计数器,该计数器基于虚拟机信息针对每个虚拟机的中断的数目进行计数。

根据一个实施示例,根据本公开的数据处理装置可以正确地监测虚拟机的中断处理的状态。

附图说明

图1是图示了当根据实施例1的数据处理装置1用于车辆200时的配置的示例的框图;

图2是图示了根据实施例1的数据处理装置1及其外围电路的图;

图3是图示了根据实施例1的计数目标设置信息ccfg的图;

图4是图示了根据实施例1的虚拟机信息的图;

图5a和图5b是图示了根据实施例1的vm符合确定单元45的配置的图;

图6是图示了根据实施例1的附加条件确定单元50的配置的图;

图7是图示了根据实施例1的计数指示单元55的配置的图;

图8a、图8b和图8c是图示了根据实施例1的计数处理的具体示例的图;

图9是图示了根据实施例1的访问目标设置信息acfg的图;

图10是图示了根据实施例1的在访问许可确定单元25中使用的虚拟机信息的图;

图11是图示了根据实施例1的访问许可确定单元25的配置的图;

图12a和图12b是图示了根据实施例1的计数器访问请求生成单元27的配置的图;

图13a和图13b是图示了根据实施例1的访问处理的具体示例的图;

图14是图示了根据实施例2的数据处理装置1#及其外围电路的图;

图15是图示了根据实施例2的附加条件确定单元50#的配置的图;

图16a、图16b和图16c是图示了根据实施例2的计数处理的具体示例的图;以及

图17是图示了根据实施例3的数据处理装置1p及其外围电路的图。

具体实施方式

参照附图详细解释了实施例。在以下解释中,相同的符号或附图标记附属于相同元件或对应元件,并且可以省略其重复解释。

(实施例1)

图1是图示了当根据实施例1的数据处理装置1用于车辆200时的配置的示例的框图。

参照图1,数据处理装置1、传感器210和相机220设置在车辆200中。数据处理装置1是车载芯片。

传感器210获取关于车辆200的预定信息。

相机220获取车辆200的周围图像。

利用传感器210和相机220获取的信息被提供给数据处理装置1。

数据处理装置1执行与利用传感器210和相机220获取的信息相对应的预定处理。在本示例中,作为示例,执行使用虚拟机vm的各种功能。

图2是图示了根据实施例1的数据处理装置1及其外围电路的图。

参照图2,数据处理装置1包括cpu5、存储器10、数据总线15和中断控制器20。

cpu5包括执行单元。执行单元从存储器10读取用于执行虚拟机的程序,并且实现虚拟机vm和虚拟机监测器vmm的功能。作为示例,本示例图示了用于实现虚拟机vm0至vmi的功能的程序存储在存储器10中的情况。用于实现虚拟机监测器vmm的功能以管理虚拟机vm的程序也存储在存储器10中。

cpu5和存储器10经由数据总线15发送和接收数据。cpu5和中断控制器20也经由数据总线15发送和接收数据。

本示例解释了其中设置有一片存储器10的配置。然而,不限于具体情况,采用设置有多个存储器的配置也是优选的。本示例解释了cpu5经由数据总线15访问存储器10的情况。然而,不限于具体情况,设置cpu5可以直接访问存储器而不通过数据总线15的另一路径也是优选的。

cpu5将表示cpu5的状态的状态信号st输出到中断控制器20。有关状态信号st表示cpu5是否准备执行中断处理。例如,状态信号st为“1”表示可以接收到中断处理,并且状态信号st为“0”表示无法接收到中断处理。状态与状态信号st的值之间的上述关系是示例,并且它们可以是相反的。

当基于状态信号st确定cpu5准备执行中断处理时,中断控制器20指示cpu5执行中断处理。

根据来自中断控制器20的执行中断处理的指示,cpu5访问存储器10,读取用于实现所指示的虚拟机vm0至vmi或虚拟机监测器vmm的功能的程序,并且通过使用执行单元执行该程序。

同样优选的是,中断控制器20可以经由状态信号st获取表示cpu5的状态的多项信息,并且可以基于存储在下面要描述的中断信息存储单元65中的信息来确定是否可以执行中断处理。

中断控制器20包括访问许可确定单元25、计数器单元30、计数条件设置单元35、多个计数器控制单元40、中断信息存储单元65和中断确定单元60。

访问许可确定单元25确定是否许可访问计数器单元30或计数条件设置单元35。下面描述了该处理。

计数器单元30针对每条计数器通道cch的中断处理的次数cnt进行计数并且存储该次数cnt。在本示例中,设置有(m+1)条计数器通道cch0至cchm(在下文中,它们被统称为计数器通道cch)。通过与每条计数器通道cch相关联的方式,对中断处理的次数cnt进行计数并且存储次数cnt。

计数条件设置单元35设置针对计数器单元30的计数条件,以对中断处理的次数进行计数。具体地,针对每条计数器通道cch设置计数条件。具体地,计数条件包括:用以将虚拟机设置为要进行计数的目标的计数目标设置信息ccfg,以及在计数时设置附加信息的计数附加设置信息。除了计数条件之外,也针对每条计数器通道cch设置访问条件。具体地,包括用以在访问时将虚拟机设置为许可目标的访问目标设置信息acfg。

例如,计数目标设置信息ccfg包括若干比特。作为示例,顶部比特被分配为虚拟机监测器vmm的设置信息。后续比特被分配为虚拟机vmi至vm0的设置信息。因此,当顶部比特被设置为“1”时,它表示虚拟机监测器vmm被设置为有关计数器通道cch中的计数目标。另一方面,当顶部比特被设置为“0”时,它表示虚拟机监测器vmm未被设置为有关计数器通道cch中的计数目标。这同样适用于其它比特。

因此,根据计数目标设置信息ccfg,设置充当计数器通道cch中的计数目标的虚拟机vm0至vmi和虚拟机监测器vmm。此处,充当计数目标的虚拟机并不限于一个,而是可以设置多个虚拟机。

计数附加设置信息cnd包括若干位数据。具体地,计数附加设置信息cnd包括通道指定数据che、通道号chnum、优先权指定数据pre和优先权号prenum。

通道指定数据che指定通道号是否被包括为计数条件。例如,当通道指定数据che被设置为“0”时,它表示通道号未被包括为计数条件。当通道指定数据che被设置为“1”时,它表示通道号被包括为计数条件。

通道号chnum是在通道号被包括为计数条件(通道指定数据che(“1”))时将通道号指定为计数条件的比特指定。例如,当通道号chnum被设置为“0”时,它表示通道号“0”被指定为计数条件。当通道号chnum被设置为“10”时,它表示通道号“10”被指定为计数条件。

优先权指定数据pre指定优先权号是否被包括为计数条件。例如,当优先权指定数据pre被设置为“0”时,它表示优先权号未被包括为计数条件。当优先权指定数据pre被设置为“1”时,它表示优先权号被包括为计数条件。

当优先权号被包括为计数条件(优先权指定数据pre(“1”))时,优先权号prnum指定充当计数条件的优先权号。例如,当优先权号prnum被设置为“0”时,它表示优先权号“0”被指定为计数条件。当优先权号prnum被设置为“10”时,它表示优先权号“10”被指定为计数条件。

访问目标设置信息acfg包括若干位数据。作为示例,顶部比特被分配为虚拟机监测器vmm的设置信息。后续比特被分配为虚拟机vmi至vm0的设置信息。因此,当顶部比特被设置为“1”时,它表示虚拟机监测器vmm在有关计数器通道cch中被设置为可访问的虚拟机。另一方面,当顶部比特被设置为“0”时,它表示虚拟机监测器vmm在有关计数器通道cch中未被设置为可访问的虚拟机。这同样适用于其它比特。

因此,根据访问目标设置信息acfg,设置可在计数器通道cch中访问的虚拟机vm0至vmi和虚拟机监测器vmm。此处,不仅可以将一个虚拟机设置为可访问的虚拟机的目标,还可以将多个虚拟机设置为可访问的虚拟机的目标。

计数器控制单元40基于由计数条件设置单元35设置的计数条件,在对每条计数器通道cch的中断处理的次数进行计数时执行控制。

在本示例中,设置有(m+1)条计数器通道cch0至cchm,并且也针对每条计数器通道cch设置了计数器控制单元40。

在图2中,为了简化解释,图示了对应于计数器通道cchx提供的计数器控制单元40x(也统称为计数器控制单元40)。这同样适用于其它计数器控制单元40。

中断信息存储单元65存储针对每条通道ch的中断信息。在本示例中,设置有通道ch0至chn,并且针对每条通道ch存储虚拟机信息作为中断目标。

例如,通道ch被预先分配给来自传感器或相机的每条输出信息。根据来自传感器或相机的输出信息,将所指定的虚拟机信息存储到中断信息存储单元65的预分配通道ch。

中断信息存储单元65将所存储的信息输出到中断确定单元60。具体地,中断信息存储单元65将中断请求信号creq、通道ch、虚拟机信息(vmd、vmid)和优先权数据pri输出到中断确定单元60。

响应于来自中断信息存储单元65的信息,中断确定单元60根据来自cpu5的状态信号st来确定中断处理是否是可接受的。

当根据来自cpu5的状态信号st确定中断处理可接受时,中断确定单元60向cpu5指示中断处理的执行。中断确定单元60将从中断信息存储单元65输出的包括通道ch和虚拟机信息的信息输出到cpu5。

当状态信号st是“1”时,中断确定单元60确定中断处理是可接受的,并且将来自中断信息存储单元65的信息输出到计数器控制单元40。

当状态信号st是“0”时,中断确定单元60确定中断处理是不可接受的,并且等待直到状态信号st被设置为“1”为止。然后,当状态信号st被设置为“1”时,中断确定单元60将来自中断信息存储单元65的信息输出到计数器控制单元40。

中断确定单元60可以通过状态信号st来获取表示cpu5的状态的多项信息,并且可以基于存储在中断信息存储单元65中的信息来确定是否可以执行中断处理。

计数器控制单元40包括vm符合确定单元45、附加条件确定单元50和计数指示单元55。

vm符合确定单元45基于由计数条件设置单元35设置的计数目标设置信息ccfg和从中断确定单元60输出的虚拟机信息(vm、vmid),来确定接收到中断处理的虚拟机信息是否被设置为计数条件的计数目标。

当vm符合确定单元45基于由计数条件设置单元35设置的计数目标设置信息ccfg和从中断确定单元60输出的虚拟机信息(vm、vmid)来确定接收到中断处理的虚拟机信息被设置为计数条件的计数目标时,vm符合确定单元45将符合信号vhit输出到计数指示单元55。

例如,符合信号vhit为“1”表示接收到中断处理的虚拟机信息被设置为计数条件的计数目标。

另一方面,符合信号vhit为“0”表示接收到中断处理的虚拟机信息未被设置为计数条件的计数目标。

附加条件确定单元50基于由计数条件设置单元35设置的计数附加设置信息cnd以及基于从中断确定单元60输出的通道ch和优先权数据pri,来确定对应的附加条件是否符合接收到中断处理的虚拟机信息。

当附加条件确定单元50基于由计数条件设置单元35设置的计数附加设置信息cnd以及基于从中断确定单元60输出的通道ch和优先权数据pri来确定对应的附加条件与接收到中断处理的虚拟机信息符合时,附加条件确定单元50将符合信号chit输出到计数指示单元55。

附加条件确定单元50不一定需要执行附加条件的确定。当不执行附加条件的确定时,符合信号chit被设置为“1”。

例如,符合信号chit为“1”表示对应的附加条件与接收到中断处理的虚拟机信息符合。

另一方面,符合信号vhit为“0”表示对应的附加条件与接收到中断处理的虚拟机信息不符合。

计数指示单元55根据中断请求信号creq来执行计数指示操作。具体地,计数指示单元55基于从vm符合确定单元45输出的符合信号vhit以及从附加条件确定单元50输出的符合信号chit来输出计数器通道cch的计数指示信号。

计数器单元30根据计数指示信号来更新对应的计数器通道cch的次数cnt。例如,计数器单元30在次数cnt上递增并且加一。

本示例解释了设置有一个中断信息存储单元65的配置。然而,例如,也可以采用为每个cpu设置中断信息存储单元65的配置。

图3图示了根据实施例1的计数目标设置信息ccfg。

参照图3,计数目标设置信息ccfg将是否安排虚拟机设置为计数目标。

如上所述,为每条计数器通道cch提供的计数目标设置信息ccfg设置充当有关计数器通道cch的计数目标的虚拟机。

具体地,在目标虚拟机的比特被设置为“1”的情况下,当接收到充当有关目标的虚拟机的事件的中断信息时,执行计数。在目标虚拟机的比特被设置为“0”的情况下,当接收到充当有关目标的虚拟机的事件的中断信息时,不执行计数。

图4图示了根据实施例1的虚拟机信息。

参照图4,虚拟机信息包括虚拟机管理数据vmd和虚拟机标识数据vmid。

虚拟机管理数据vmd标识虚拟机监测器vmm和通用虚拟机vm。具体地,虚拟机管理数据vmd为“0”表示虚拟机监测器vmm。另一方面,虚拟机管理数据vmd为“1”表示通用虚拟机vm。每个通用虚拟机vm可以由虚拟机标识数据vmid来标识。

在本示例中,针对虚拟机vm0,虚拟机管理数据vmd被分配为“1”,并且虚拟机标识数据vmid被分配为“0”。针对虚拟机vm1,虚拟机管理数据vmd被分配为“1”,并且虚拟机标识数据vmid被分配为“1”。针对虚拟机vm2,虚拟机管理数据vmd被分配为“1”,并且虚拟机标识数据vmid被分配为“2”。针对虚拟机vm3,虚拟机管理数据vmd被分配为“1”,并且虚拟机标识数据vmid被分配为“3”。

可以基于有关虚拟机信息来标识虚拟机vm和虚拟机监测器vmm中的每一个。

图5a和图5b图示了根据实施例1的vm符合确定单元45的配置。

参照图5a,vm符合确定单元45包括虚拟机信息确定单元46。

虚拟机信息确定单元46基于虚拟机管理数据vmd和虚拟机标识数据vmid来标识虚拟机。

图5b图示了用以输出符合信号vhit的电路,该符合信号vhit表示接收到中断处理的虚拟机信息是计数条件的计数目标。

参照图5b,vm符合确定单元45进一步包括多个and电路ad0至ad4以及or电路or0。

and电路ad0至ad4输出虚拟机信息确定单元46的确定结果与计数目标设置信息ccfg的每个比特的and逻辑操作结果。具体地,虚拟机信息确定单元46基于虚拟机管理数据vmd和虚拟机标识数据vmid来将目标虚拟机信息的确定结果设置为“1”。当计数目标设置信息ccfg的比特被设置为“1”并且虚拟机信息的确定结果是“1”时,对应的and电路ad将“1”输出到or电路or0并且符合信号vhit被设置为“1”。即,确定接收到中断处理的虚拟机信息被设置为计数条件的计数目标。

另一方面,当符合信号vhit是“0”时,确定接收到中断处理的虚拟机信息未被设置为计数条件的计数目标。

图6图示了根据实施例1的附加条件确定单元50的配置。

参照图6,附加条件确定单元50包括比较器电路gt0和gt1,and电路ad5、ad6和ad7以及or电路or1和or2。

比较器电路gt0将指定通道号chnum与从中断信息存储单元65输出的通道ch的数据进行比较,并且确定它们是否符合。

当比较器电路gt0确定从中断信息存储单元65输出的通道ch的数据与指定通道号chnum符合时,比较器电路gt0输出“1”。当比较器电路gt0确定它们不符合时,比较器电路gt0输出“0”。

比较器电路gt1将指定优先权号prnum与从中断信息存储单元65输出的优先权数据pri进行比较,并且确定它们是否符合。

当比较器电路gt1确定从中断信息存储单元65输出的优先权数据pri与指定优先权号prnum符合时,比较器电路gt1输出“1”。当比较器电路gt1确定它们不符合时,比较器电路gt1输出“0”。

当比较器电路gt0输出“1”并且通道指定数据che是“1”时,and电路ad5输出and逻辑操作结果(“1”)。

否则,and电路ad5输出and逻辑操作结果(“0”)。

or电路or1接收来自and电路ad5的输出信号和通道指定数据che的反相数据,并且将or逻辑操作结果输出到and电路ad7。

当比较器电路gt1输出“1”并且优先权指定数据pre是“1”时,and电路ad6输出and逻辑操作结果(“1”)。

否则,and电路ad6输出and逻辑操作结果(“0”)。

or电路or2接收来自and电路ad6的输出信号和优先权指定数据pre的反相数据,并且将or逻辑操作结果输出到and电路ad7。

and电路ad7输出or电路or1和or2的and逻辑操作结果。

当通道指定数据che是“0”并且优先权指定数据pre是“0”时,or电路or1和or2都输出“1”。因此,and电路ad7将符合信号chit设置为“1”。在这种情况下,不执行附加条件确定单元50的条件确定处理。

另一方面,当通道指定数据che是“1”时,执行通道ch的数据是否符合指定通道号chnum的条件确定处理。当优先权指定数据pre是“1”时,执行优先权数据pri是否符合指定优先权号prnum的条件确定处理。

当所执行的条件确定处理表示符合时,附加条件确定单元50将符合信号chit设置为“1”。当所执行的条件确定处理不表示符合时,附加条件确定单元50将符合信号chit设置为“0”。在这种情况下,不输出计数指示信号。

图7图示了根据实施例1的计数指示单元55的配置。

如图7所图示的,计数指示单元55包括and电路ad15。

and电路ad7基于符合信号chit、符合信号vhit和中断请求信号creq来指示计数。

具体地,当符合信号chit、符合信号vhit和中断请求信号creq中的全部都是“1”时,计数指示单元55将计数指示信号设置为“1”。否则,计数指示单元55将计数指示信号设置为“0”。计数器单元30根据从计数指示单元55输出的计数指示信号(“1”)来更新对应的计数器通道cch的次数cnt。作为示例,计数器单元30在次数cnt上递增并且加一。

(具体示例)

图8a、图8b和图8c图示了根据实施例1的计数处理的具体示例。

图8a图示了中断信息存储单元65的示例。

具体地,图8a图示了接收到对应于通道ch10、ch11、ch20和ch21的中断信息的情况。

此处,对应于通道ch10,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“0”。

对应于通道ch11,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“0”。

对应于通道ch20,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“1”。

对应于通道ch21,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“1”。

图8b图示了计数器单元30和计数条件设置单元35的示例。

具体地,计数器通道cch0至cch3被设置到计数器单元30。关于与计数器通道cch0相对应的计数目标设置信息ccfg,仅虚拟机vm0被设置为“1”。关于与计数器通道cch1相对应的计数目标设置信息ccfg,仅虚拟机vm0被设置为“1”。关于计数附加设置信息cnd,通道指定数据che被设置为“1”。通道号chnum被设置为“10”。关于与计数器通道cch2相对应的计数目标设置信息ccfg,仅虚拟机vm1被设置为“1”。关于与计数器通道cch3相对应的计数目标设置信息ccfg,仅虚拟机vm1被设置为“1”。关于计数附加设置信息cnd,通道指定数据che被设置为“1”。通道号chnum被设置为“20”。

图8c图示了针对图8a所图示的中断信息存储单元65的计数器通道cchx的计数处理。

解释了对应于通道ch10的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)而输出计数器通道cch0的计数指示信号。因此,更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。

附加条件确定单元50将指定通道号chnum与从中断信息存储单元65输出的通道ch的数据进行比较,并且确定它们符合。因此,将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)而输出计数器通道cch1的计数指示信号。因此,更新计数器通道cch1的次数cnt。

对应于其它计数器通道cchx提供的计数器控制单元40不输出计数指示信号。

接下来,解释了对应于通道ch11的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)而输出计数器通道cch0的计数指示信号。因此,更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。

附加条件确定单元50将指定通道号chnum与从中断信息存储单元65输出的通道ch的数据进行比较,并且确定它们不符合。因此,附加条件确定单元50将符合信号chit(“0”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“0”)而不输出计数器通道cch1的计数指示信号。因此,不更新计数器通道cch1的次数cnt。

同样地,关于对应于其它计数器通道cchx提供的计数器控制单元40,不输出计数指示信号。

解释了对应于通道ch20的中断处理。

在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)输出计数器通道cch2的计数指示信号。因此,更新计数器通道cch2的次数cnt。

在对应于计数器通道cch3提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。

附加条件确定单元50将指定通道号chnum与从中断信息存储单元65输出的通道ch的数据进行比较,并且确定它们符合。因此,将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)而输出计数器通道cch3的计数指示信号。因此,更新计数器通道cch3的次数cnt。

对应于其它计数器通道cchx提供的计数器控制单元40不输出计数指示信号。

接下来,解释了对应于通道ch21的中断处理。

在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)而输出计数器通道cch2的计数指示信号。因此,更新计数器通道cch2的次数cnt。

在对应于计数器通道cch3提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。

附加条件确定单元50将指定通道号chnum与从中断信息存储单元65输出的通道ch的数据进行比较,并且确定它们不符合。因此,附加条件确定单元50将符合信号chit(“0”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“0”)而不输出计数器通道cch3的计数指示信号。因此,不更新计数器通道cch3的次数cnt。

同样地,关于对应于其它计数器通道cchx提供的计数器控制单元40,不输出计数指示信号。

(关于计数器通道cchx的访问)

图9图示了根据实施例1的访问目标设置信息acfg。

参照图9,访问目标设置信息acfg确定虚拟机是否被设置为访问目标。

如上所述,为每条计数器通道cch提供的访问目标设置信息acfg设置虚拟机充当有关计数器通道cch的访问目标。

具体地,当目标虚拟机的比特被设置为“1”时,作为有关目标的虚拟机可以访问对应于计数器通道cch的信息。具体地,也可以改变计数目标设置信息ccfg和计数附加设置信息cnd的内容。另一方面,当目标虚拟机的比特被设置为“0”时,作为有关目标的虚拟机无法访问对应于计数器通道cch的信息。

图10图示了根据实施例1的在访问许可确定单元25中使用的虚拟机信息。

参照图10,虚拟机信息包括虚拟机管理数据vmd和虚拟机标识数据vmid。这与参照图4所解释的相同。

虚拟机管理数据vmd标识虚拟机监测器vmm和通用虚拟机vm。具体地,虚拟机管理数据vmd为“0”表示虚拟机监测器vmm。另一方面,虚拟机管理数据vmd为“1”表示通用虚拟机vm。通用虚拟机vm可以分别由虚拟机标识数据vmid标识。

在本示例中,针对虚拟机vm0,虚拟机管理数据vmd分配为“1”,并且虚拟机标识数据vmid分配为“0”。针对虚拟机vm1,虚拟机管理数据vmd分配为“1”,并且虚拟机标识数据vmid分配为“1”。针对虚拟机vm2,虚拟机管理数据vmd分配为“1”,并且虚拟机标识数据vmid分配为“2”。针对虚拟机vm3,虚拟机管理数据vmd分配为“1”,并且虚拟机标识数据vmid分配为“3”。

可以基于有关虚拟机信息来标识虚拟机vm和虚拟机监测器vmm中的每一个。

图11图示了根据实施例1的访问许可确定单元25的配置。

参照图11,访问许可确定单元25包括地址解码电路26、计数器访问请求生成单元27和选择器28。

地址解码电路26接收访问请求aq并且对其进行解码。

地址解码电路26基于被包括在访问请求aq中的地址信号来提取计数器通道号。

计数器访问请求生成单元27进一步接收关于输出访问请求aq的虚拟机的虚拟机信息。虚拟机信息包括虚拟机管理数据vmd和虚拟机标识数据vmid。

地址解码电路26基于输入的地址信号来生成计数器通道号cchx和选择信号sel_acfg。

地址解码电路26将选择信号sel_acfg输出到计数器访问请求生成单元27。

计数器访问请求生成单元27基于虚拟机管理数据vmd和虚拟机标识数据vmid来标识虚拟机。

然后,关于所标识的虚拟机,确定目标虚拟机的比特在访问目标设置信息acfg中是否被设置为“1”。

计数器访问请求生成单元27将确定结果输出到计数器单元30作为计数器访问请求信号caq(“1”)。

计数器单元30根据计数器访问请求信号caq来输出次数cnt。具体地,计数器单元30经由数据总线15而将次数cnt输出到访问的虚拟机。

计数器访问请求生成单元27根据访问目标设置信息acfg来许可访问目标设置信息acfg的访问许可信号ap。

当设置访问许可信号ap(“1”)时,可以编辑访问目标设置信息acfg的数据。

图12a和图12b图示了根据实施例1的计数器访问请求生成单元27的配置。

如图12a所图示的,计数器访问请求生成单元27包括虚拟访问机信息确定单元27a。

虚拟访问机信息确定单元27a基于虚拟机管理数据vmd和虚拟机标识数据vmid来标识要访问的虚拟机。

虚拟访问机信息确定单元27a基于虚拟机管理数据vmd和虚拟机标识数据vmid来将已经被访问的虚拟机信息的确定结果设置为“1”。

如图12b所图示的,计数器访问请求生成单元27进一步包括访问确定单元27b。

访问确定单元27b进一步包括多个and电路ad8至ad14以及or电路or3。

and电路ad9至ad13输出虚拟访问机信息确定单元27a的确定结果与访问目标设置信息acfg的每个比特的and逻辑操作结果。具体地,虚拟访问机信息确定单元27a基于虚拟机管理数据vmd和虚拟机标识数据vmid来将已经被访问的虚拟机信息的确定结果设置为“1”。当访问目标设置信息acfg的比特中的一个比特被设置为“1”并且要访问的虚拟机信息的确定结果是“1”时,and电路ad将“1”输出到or电路or3。

and电路ad14输出or电路or3的输出信号与计数器访问请求命令iaq的and逻辑操作结果,作为计数器访问请求信号caq。

计数器单元30根据计数器访问请求信号caq来输出次数cnt。

and电路ad8输出存储在访问目标设置信息acfg中的对应于虚拟机监测器(vmm)提供的比特信号与选择信号sel_acfg的and逻辑操作结果,作为访问目标设置信息acfg的访问许可信号ap。

当访问许可信号ap被设置为“1”时,可以对访问目标设置信息acfg进行访问。另一方面,当访问许可信号ap被设置为“0”时,不可以对访问目标设置信息acfg进行访问。

(具体示例)

图13a和图13b图示了根据实施例1的访问处理的具体示例。

图13a图示了计数器单元30和计数条件设置单元35的示例。

具体地,计数器通道cch0和cch1被设置到计数器单元30。关于与计数器通道cch0相对应的访问目标设置信息acfg,仅虚拟机vm0被设置为“1”。关于与计数器通道cch1相对应的访问目标设置信息acfg,仅虚拟机监测器vmm和虚拟机vm1被设置为“1”。

参照图13b,解释了根据图13a所描述的访问目标设置信息的访问处理。

此处,解释了虚拟机监测器vmm以及虚拟机vm0和vm1进行访问的情况。

解释了虚拟机监测器vmm。

针对计数器通道cch0,访问来自虚拟机监测器vmm;因此,访问许可信号ap被设置为“1”。因此,许可对访问目标设置信息acfg的访问。另一方面,未许可访问除了访问目标设置信息acfg之外的其它信息。

针对计数器通道cch1,访问来自虚拟机监测器vmm;因此,访问许可信号ap被设置为“1”。因此,许可对访问目标设置信息acfg的访问。另一方面,虚拟机监测器vmm本身的访问许可被设置为访问目标设置信息acfg。因此,许可对访问目标设置信息acfg的访问。

解释了虚拟机vm0。

针对计数器通道cch0,访问来自虚拟机vm0,计数器访问请求信号caq被设置为“1”。因此,根据计数器访问请求信号(“1”)而许可访问计数器单元30。另一方面,未许可对访问目标设置信息acfg的访问。

针对计数器通道cch1,访问来自虚拟机vm0,计数器访问请求信号caq被设置为“0”。因此,未许可访问计数器单元30。同样地,未许可对访问目标设置信息acfg的访问。

解释了虚拟机vm1。

针对计数器通道cch0,访问来自虚拟机vm1,计数器访问请求信号caq被设置为“0”。因此,未许可访问计数器单元30。同样地,未许可对访问目标设置信息acfg的访问。

针对计数器通道cch1,访问来自虚拟机vm1,计数器访问请求信号caq被设置为“1”。因此,许可访问计数器单元30。另一方面,未许可对访问目标设置信息acfg的访问。

通过根据上述方法来设置访问目标设置信息acfg,可以对每个虚拟机的有关信息执行访问控制。在有关方法中,不通过读取有关的访问目标设置信息acfg、而是通过访问许可确定单元25来确定访问许可。因此,可以以高速执行访问许可的确定。

在根据实施例1的方法中,虚拟机监测器vmm不需要执行用于执行计数处理的中断处理,并且当针对虚拟机vm执行中断处理时,并行执行计数处理。

因此,可以正确地监测特定通道的中断处理的次数或者每个虚拟机vm的优先权,而不牺牲中断处理性能。

例如,也可以实现安全机制,使得能够确定生成过多中断请求的虚拟机vm处于异常状态并且使其终止。

此外,可以自由地将虚拟机vm设置为计数目标。因此,没有必要为每个虚拟机vm提供计数器,并且与为每个虚拟机vm提供计数器的情况相比,不需要无用的硬件资源。这也是优点之一。

还包括用以限制访问计数器单元的功能。通过限制访问虚拟机监测器vmm,可以正确地对中断发生次数进行计数,而不受到已经进入异常状态的虚拟机vm的影响。

通过设置对特定虚拟机vm的访问许可,也可以实现安全机制,使得虚拟机vm能够监测自己的中断发生次数,实现灵活处理。

(实施例2)

图14图示了根据实施例2的数据处理装置1#及其外围电路。

参照图14,数据处理装置1#与数据处理装置1的不同之处在于中断控制器20被替换为中断控制器20#。其它配置与实施例1中参照图2所解释的那些配置相同。因此,不再重复其详细解释。

中断控制器20#与中断控制器20的不同之处在于,计数条件设置单元35被替换为计数条件设置单元35#,中断信息存储单元65被替换为中断信息存储单元65#,并且附加条件确定单元50被替换为附加条件确定单元50#。其它配置相同。因此,不再重复其详细解释。

与计数条件设置单元35相比,计数条件设置单元35#在计数附加设置信息cnd#的配置上不同。

计数附加设置信息cnd#包括若干位数据。具体地,计数附加设置信息cnd#的不同之处在于,提供了通道标识指定数据cie和通道标识号idnum,而不是通道指定数据che和通道号chnum。优先权指定数据pre和优先权号prenum与上面描述的相同。

通道标识指定数据cie指定通道标识号是否被包括为计数条件。例如,当通道标识指定数据cie被设置为“0”时,它指示通道标识号未被包括为计数条件。当通道标识指定数据cie被设置为“1”时,它指示通道标识号被包括为计数条件。

通道标识号idnum是用以在通道标识号被包括为计数条件时将通道标识号指定为计数条件的比特(通道标识指定数据cie(“1”))。例如,当通道标识号idnum被设置为“0”时,它表示通道标识号“0”被指定为计数条件。当通道标识号idnum被设置为“10”时,它表示通道标识号“10”被指定为计数条件。

在本示例中,通过为不同的通道ch分配相同的通道标识号,可以作为相同的组来执行计数处理。

与中断信息存储单元65相比,中断信息存储单元65#表示了进一步关联通道标识号cid的情况。

具体地,对应于每条通道ch来分配通道标识号cid。

图15图示了根据实施例2的附加条件确定单元50#的配置。

如图15所图示的,与图6所图示的配置相比,要输入的数据不同。

具体地,输入通道标识指定数据cie,而不是通道指定数据che。输入通道标识号idnum,而不是通道号chnum。输入通道标识号cid,而不是通道ch。

比较器电路gt0将指定通道标识号idnum与从中断信息存储单元65#输出的通道标识号cid的数据进行比较,并且确定它们是否符合。

当比较器电路gt0确定从中断信息存储单元65#输出的通道标识号cid的数据与指定通道标识号idnum符合时,比较器电路gt0输出“1”。当比较器电路gt0确定它们不符合时,比较器电路gt0输出“0”。

当比较器电路gt0输出“1”并且通道标识指定数据cie是“1”时,and电路ad5输出and逻辑操作结果(“1”)。

否则,比较器电路gt0输出and逻辑操作结果(“0”)。

or电路or1接收来自and电路ad5的输出信号和通道标识指定数据cie的反相数据,并且将or逻辑操作结果输出到and电路ad7。

其它配置与图6中所解释的那些配置相同。因此,不再重复其详细解释。

附加条件确定单元50#将通道标识号idnum与从中断信息存储单元65#输出的通道标识号cid进行比较,并且基于比较结果来输出符合信号chit。

因此,即使在通道ch不同时,只要通道标识号cid被设置为公共值,就可以作为相同的组来执行计数处理。

(具体示例)

图16a、图16b和图16c图示了根据实施例2的计数处理的具体示例。

图16a图示了中断信息存储单元65#的示例。

具体地,图16a图示了接收到与通道ch0、ch10、ch11、ch20和ch21相对应的中断信息的情况。

此处,对应于通道ch0,虚拟机管理数据vmd被设置为“0”,并且虚拟机标识数据vmid被设置为“0”。通道标识号cid被设置为“0”。

对应于通道ch10,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“0”。通道标识号cid被设置为“0”。

对应于通道ch11,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“0”。通道标识号cid被设置为“1”。

对应于通道ch20,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“0”。通道标识号cid被设置为“2”。

对应于通道ch21,虚拟机管理数据vmd被设置为“1”,并且虚拟机标识数据vmid被设置为“0”。通道标识号cid被设置为“2”。

图16b图示了中断条件设置单元35#的示例。

具体地,计数器通道cch0至cch2被提供在计数器单元30中。

关于与计数器通道cch0相对应的计数目标设置信息ccfg,仅虚拟机vm0被设置为“1”。计数附加设置信息cnd#的通道标识指定数据cie被设置为“0”。

关于与计数器通道cch1相对应的计数目标设置信息ccfg,仅虚拟机vm0被设置为“1”。计数附加设置信息cnd#的通道标识指定数据cie被设置为“1”。通道标识号idnum被设置为“1”。

关于与计数器通道cch2相对应的计数目标设置信息ccfg,仅虚拟机vm0被设置为“1”。计数附加设置信息cnd#的通道标识指定数据cie被设置为“1”。通道标识号idnum被设置为“2”。

图16c图示了针对图16a中所图示的中断信息存储单元65#的计数器通道cchx的计数处理。

解释了与通道ch0相对应的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。计数指示单元55不输出计数器通道cch0的计数指示信号。因此,不更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。同样地,在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

因此,不更新计数器通道cch1和cch2的次数cnt。

接下来,解释了与通道ch10相对应的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50#将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50#输出的符合信号chit(“1”)来输出计数器通道cch0的计数指示信号。因此,更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

同样地,在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

因此,不更新计数器通道cch1和cch2的次数cnt。

接下来,解释了与通道ch11相对应的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50#将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50#输出的符合信号chit(“1”)来输出计数器通道cch0的计数指示信号。因此,更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。

附加条件确定单元50#将通道标识号idnum(“1”)与通道标识号cid(“1”)进行比较,并且输出符合信号chit(“1”)。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50#输出的符合信号chit(“1”)来输出计数器通道cch1的计数指示信号。因此,更新计数器通道cch1的次数cnt。

在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

因此,不更新计数器通道cch2的次数cnt。

接下来,解释了与通道ch20相对应的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50#将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50#输出的符合信号chit(“1”)来输出计数器通道cch0的计数指示信号。因此,更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

因此,不更新计数器通道cch1的次数cnt。

在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

附加条件确定单元50#将通道标识号idnum(“2”)与通道标识号cid(“2”)进行比较,并且输出符合信号chit(“1”)。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50#输出的符合信号chit(“1”)来输出计数器通道cch2的计数指示信号。因此,更新计数器通道cch2的次数cnt。

接下来,解释了与通道ch21相对应的中断处理。

在对应于计数器通道cch0提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“1”)输出到计数指示单元55。附加条件确定单元50#将符合信号chit(“1”)输出到计数指示单元55。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50输出的符合信号chit(“1”)来输出计数器通道cch0的计数指示信号。因此,更新计数器通道cch0的次数cnt。

在对应于计数器通道cch1提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

因此,不更新计数器通道cch1的次数cnt。

在对应于计数器通道cch2提供的计数器控制单元40中,vm符合确定单元45将符合信号vhit(“0”)输出到计数指示单元55。

附加条件确定单元50#将通道标识号idnum(“2”)与通道标识号cid(“2”)进行比较,并且输出符合信号chit(“1”)。计数指示单元55基于从vm符合确定单元45输出的符合信号vhit(“1”)和从附加条件确定单元50#输出的符合信号chit(“1”)来输出计数器通道cch2的计数指示信号。因此,更新计数器通道cch2的次数cnt。

根据有关方法,即使在通道ch不同时,也可以通过设置通道标识号来作为公共组执行计数处理。根据该设置,即使在从安全的角度来看存在要进行计数的多条通道ch时,也可以通过分组来减少计数器的数目。

通过针对每个安全等级设置通道标识号cid,也可以处理要被监测的通道被分成某些安全等级的情况。

(实施例3)

图17图示了根据实施例3的数据处理装置1p及其外围电路。

参照图17,数据处理装置1p与数据处理装置1的不同之处在于,计数条件设置单元35被替换为计数条件设置单元35p并且进一步提供了通知单元70。其它配置与实施例1中参照图2所解释的配置相同。因此,不再重复其详细解释。

与计数条件设置单元35相比,计数条件设置单元35p设置有条件ovcnd以用于在次数cnt方面给出异常通知。

作为示例,条件ovcnd设置有次数cnt的阈值以便给出异常通知。

通知单元70基于与计数器通道cch相对应的计数的次数cnt以及关于条件ovcnd的信息来将异常通知信号输出到cpu5。

例如,通知单元70将次数cnt与设置到条件ovcnd的阈值进行比较。当次数cnt达到条件ovcnd的阈值时,异常通知信号被输出到cpu5。

例如,cpu5接收到异常通知信号并且将其标识为错误。

例如,可以将控制切换到虚拟机监测器vmm并且执行错误处理。

当没有通知功能时,可以在将控制切换到虚拟机监测器vmm之后执行错误处理。然而,根据实施例3的配置,当存在错误时,可以立即将控制切换到虚拟机监测器vmm并且执行错误处理。因此,可以提高安全等级。

条件ovcnd未被限制于执行异常通知的阈值,然而,它可以包括其它信息。

例如,条件ovcnd可以是表示充当溢出的确定目标的比特位置的信息。例如,当阈值被设置为“32”时,第6个比特被指定为确定目标。当第6个比特从“0”改变为“1”时,可以确定发生溢出并且可以将异常通知信号输出到cpu5。

备选地,条件ovcnd可以指示当次数cnt溢出时被设置的比特。

备选地,上限或下限的阈值范围可以被设置为条件ovcnd。例如,可以设置下限“80”和上限“120”。

当次数cnt在有关范围内时,通知单元70不输出异常通知信号。另一方面,当次数cnt不在有关范围内时,通知单元70输出异常通知信号。

在本示例中,解释了次数cnt根据计数指示信号递增的情况作为示例。然而,并未特别地限制上述情况。采用次数cnt可以递减和减少的方法也是可取的。采用组合上述方法并且次数cnt可以减少和增加的方法也是可取的。

如上所述,已经基于实施例具体解释了由本发明人完成的本发明。然而,不言而喻,本发明并不限于上述实施例,并且可以在不脱离主旨的范围内进行各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1