计算机系统.pdf

上传人:00062****4422 文档编号:970830 上传时间:2018-03-22 格式:PDF 页数:35 大小:1.39MB
返回 下载 相关 举报
摘要
申请专利号:

CN201110120268.5

申请日:

2011.05.09

公开号:

CN102360311A

公开日:

2012.02.22

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 9/48变更事项:专利权人变更前:瑞萨电子株式会社变更后:瑞萨电子株式会社变更事项:地址变更前:日本神奈川县变更后:日本东京都|||授权|||实质审查的生效IPC(主分类):G06F 9/48申请日:20110509|||公开

IPC分类号:

G06F9/48

主分类号:

G06F9/48

申请人:

瑞萨电子株式会社

发明人:

山田弘道; 岛村光太郎; 金川信康; 石黑雄一

地址:

日本神奈川县

优先权:

2010.05.12 JP 2010-109870

专利代理机构:

北京市金杜律师事务所 11256

代理人:

王茂华;孟祥海

PDF下载: PDF下载
内容摘要

本发明提供一种计算机系统,具有至少2个CPUA(2)、CPUB(6)、进行对CPUA(2)、CPUB(6)的中断的可编程的中断控制器(11)和比较CPUA(2)、CPUB(6)的输出的比较器(14),其中,该计算机系统能够切换性能模式和安全模式来进行工作,上述性能模式是CPU分别执行不同的处理而提高性能的模式,上述安全模式是通过CPU执行相同处理并用比较器对照结果来检测故障的模式,能够按中断主要原因来设定1个或多个要中断的CPU,能够按中断主要原因来设定是以性能模式执行还是以安全模式执行的模式。在能切换性能模式和安全模式的双核微机中,在从性能模式向安全模式切换时能缩短CPU的待机时间。

权利要求书

1: 一种计算机系统, 具有至少 2 个 CPU 和进行对上述 CPU 的中断的可编程的中断控制 器, 其特征在于, 上述中断控制器具有能够按中断主要原因来设定 1 个或多个要中断的 CPU 的中断 CPU 设定寄存器, 在设定了多个上述要中断的 CPU 的情况下有以下两种接受方法 : 从处于能接受中断的 状态的 CPU 开始来依次接受该中断的方法 ; 和在要中断的 CPU 全部成为能接受状态之后一 起接受中断的方法。
2: 一种计算机系统, 具有至少 2 个 CPU 和进行对上述 CPU 的中断的可编程的中断控制 器, 其特征在于, 上述中断控制器具有中断 CPU 设定寄存器和中断模式设定寄存器, 其中, 上述中断 CPU 设定寄存器能够按中断主要原因来设定 1 个或多个要中断的 CPU, 上述中断模式设定寄存 器在存在多个上述要中断的 CPU 的情况下能够设定采用的模式, 即设定是采用从处于能接 受上述中断的状态的 CPU 开始来依次接受中断的模式, 还是采用在要中断的 CPU 全部成为 能接受状态之后一起接受中断的模式。
3: 一种计算机系统, 具有至少 2 个 CPU 和进行对上述 CPU 的中断的可编程的中断控制 器, 其特征在于, 上述中断控制器具有中断 CPU 设定寄存器和中断模式设定寄存器, 其中, 上述中断 CPU 设定寄存器能够按中断主要原因来设定 1 个或多个要中断的 CPU, 上述中断模式设定寄存 器在存在多个上述要中断的 CPU 的情况下能够按中断主要原因来设定采用的模式, 即设定 采用从处于能接受上述中断的状态的 CPU 开始来依次接受中断的模式, 还是采用在所有要 中断的 CPU 成为能够接受状态之后一起接受中断的模式。
4: 根据权利要求 1 所述的计算机系统, 其特征在于 : 上述中断控制器具有能够按上述中断主要原因来设定优先级的中断请求优先级设定 寄存器, 上述 CPU 具有能够设定屏蔽中断请求的屏蔽级的状态寄存器, 当上述中断主要原因的优先级高于上述 CPU 的中断请求屏蔽级时, 上述 CPU 成为能够 接受中断的状态。
5: 一种计算机系统, 具有至少 2 个 CPU、 进行对上述 CPU 的中断的可编程的中断控制 器、 以及比较上述 CPU 的输出的比较器, 其特征在于, 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 上述中断控制器具有中断 CPU 设定寄存器和中断模式设定寄存器, 其中, 上述中断 CPU 设定寄存器能够按中断主要原因来设定 1 个或多个中断 CPU, 上述中断模式设定寄存器能 够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模 式, 在当前正在执行的模式为上述性能模式的情况下, 当所选择的中断主要原因的模式为 上述性能模式时, 向上述 CPU 输出其中断请求。
6: 一种计算机系统, 具有至少 2 个 CPU、 进行对上述 CPU 的中断的可编程的中断控制 2 器、 以及比较上述 CPU 的输出的比较器, 其特征在于, 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 上述中断控制器具有中断 CPU 设定寄存器和中断模式设定寄存器, 其中, 上述中断 CPU 设定寄存器能够按中断主要原因来设定 1 个或多个中断 CPU, 上述中断模式设定寄存器能 够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模 式, 在当前正在执行的模式为上述性能模式的情况下, 当所选择的中断主要原因的模式为 上述安全模式时, 抑制向上述 CPU 输出其中断请求, 如果要中断的 CPU 全部成为能接受中断 的状态, 则使上述 CPU 的处理中断, 将工作模式从上述性能模式切换到上述安全模式, 并将 上述中断请求输出到上述 CPU。
7: 一种计算机系统, 具有至少 2 个 CPU、 进行对上述 CPU 的中断的可编程的中断控制 器、 以及比较上述 CPU 的输出的比较器, 其特征在于, 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 上述中断控制器具有中断 CPU 设定寄存器和中断模式设定寄存器, 其中, 上述中断 CPU 设定寄存器能够按中断主要原因来设定 1 个或多个中断 CPU, 上述中断模式设定寄存器能 够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模 式, 在当前正在执行的模式为上述安全模式的情况下, 当所选择的中断主要原因的模式为 上述性能模式时, 抑制向上述 CPU 输出其中断请求, 如果要中断的 CPU 成为能够接受中断的 状态, 则使上述 CPU 的处理中断, 将工作模式从上述安全模式切换到上述性能模式, 并将上 述中断请求输出到上述 CPU。
8: 一种计算机系统, 具有至少 2 个 CPU、 进行对上述 CPU 的中断的可编程的中断控制 器、 以及比较上述 CPU 的输出的比较器, 其特征在于, 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 上述中断控制器具有中断 CPU 设定寄存器和中断模式设定寄存器, 其中, 上述中断 CPU 设定寄存器能够按中断主要原因来设定 1 个或多个中断 CPU, 上述中断模式设定寄存器能 够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式执行的模式, 在当前正在执行的模式为上述安全模式的情况下, 在所选择的中断主要原因的模式为 上述安全模式时, 若所有要中断的 CPU 都成为能够接受中断的状态, 则向上述 CPU 输出其中 断请求, 在除此之外的情况下不输出上述中断请求。
9: 根据权利要求 5 所述的计算机系统, 其特征在于 : 上述中断控制器具有能够按上述中断主要原因来设定优先级的中断请求优先级设定 寄存器, 3 上述 CPU 具有能够设定屏蔽中断请求的屏蔽级的状态寄存器, 当上述中断主要原因的优先级高于上述 CPU 的中断请求屏蔽级时, 上述 CPU 成为能够 接受中断的状态。
10: 根据权利要求 9 所述的计算机系统, 其特征在于 : 上述 CPU 具有的上述状态寄存器中包含表示是否进行了模式切换的模式切换位, 当进行上述模式切换时将上述模式切换位设定为表示进行了上述模式切换的值, 当接受上述中断时将上述模式切换位设定为表示未进行上述模式切换的值, 当从上述中断状态复原时, 在上述模式切换位是表示进行了上述模式切换的值的情况 下, 执行上述模式切换。
11: 根据权利要求 1 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够按上述中断主要原因来设定 1 个或多个要中断的 CPU, 在设定了多个上述要中断的 CPU 的情况下有以下两种接受方法 : 从处于能接受上述中 断的状态的 CPU 开始来依次接受中断的方法 ; 在所有要中断的 CPU 成为能够接受的状态之 后一起接受中断的方法。
12: 根据权利要求 2 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够按上述中断主要原因来设定 1 个或多个中断 CPU, 在存在多个上述要中断的 CPU 的情况下能够设定采用的模式, 即设定是采用从处于能 接受上述中断的状态的 CPU 开始来依次接受中断的模式, 还是采用在所有要中断的 CPU 成 为能够接受状态之后一起接受中断的模式。
13: 根据权利要求 3 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够按上述中断主要原因来设定 1 个或多个中断 CPU, 在存在多个上述中断 CPU 的情况下能够按中断主要原因来设定采用的模式, 即设定是 采用从处于能接受上述中断的状态的 CPU 开始来依次接受中断的模式, 还是采用在所有中 断 CPU 成为能接受状态之后一起接受中断的模式。
14: 根据权利要求 4 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够按上述中断主要原因来设定优先级, 上述 CPU 能够设定屏蔽中断请求的屏蔽级, 当上述中断主要原因的优先级高于上述 CPU 的中断请求屏蔽级时, 上述 CPU 成为能接 受中断的状态。
15: 根据权利要求 5 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 4 上述使用说明书记载了以下事项 : 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 能够按上述中断主要原因来设定 1 个或多个要中断的 CPU, 能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执 行的模式, 在当前正在执行的模式为上述性能模式的情况下, 当所选择的中断主要原因的模式为 上述性能模式时, 向上述 CPU 输出其中断请求。
16: 根据权利要求 6 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 能够按上述中断主要原因来设定 1 个或多个要中断的 CPU, 能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执 行的模式, 在当前正在执行的模式为上述性能模式的情况下, 当所选择的中断主要原因的模式为 上述安全模式时, 抑制向上述 CPU 输出其中断请求, 如果所有中断 CPU 均成为能接受中断的 状态, 则使上述 CPU 的处理中断, 将工作模式从上述性能模式切换到上述安全模式, 并将上 述中断请求输出到上述 CPU。
17: 根据权利要求 7 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 能够按上述中断主要原因来设定 1 个或多个要中断的 CPU, 能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执 行的模式, 在当前正在执行的模式为上述安全模式的情况下, 当所选择的中断主要原因的模式为 上述性能模式时, 抑制向上述 CPU 输出其中断请求, 如果要中断的 CPU 成为能接受中断的状 态, 则使上述 CPU 的处理中断, 将工作模式从上述安全模式切换到上述性能模式, 并将上述 中断请求输出到上述 CPU。
18: 根据权利要求 8 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够切换性能模式和安全模式来进行工作, 其中, 上述性能模式是上述 CPU 分别执行 5 不同的处理来提高性能的模式, 上述安全模式是通过上述 CPU 执行相同处理并用上述比较 器对照结果来检测故障的模式, 能够按上述中断主要原因来设定 1 个或多个要中断的 CPU, 能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执 行的模式, 在当前正在执行的模式为上述安全模式的情况下, 当所选择的中断主要原因的模式为 上述安全模式时, 若所有中断 CPU 均为能接受中断的状态, 则向上述 CPU 输出其中断请求, 在除此之外的情况下, 不输出上述中断请求。
19: 根据权利要求 9 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 能够按上述中断主要原因来设定优先级, 上述 CPU 能够设定屏蔽中断请求的屏蔽级, 当上述中断主要原因的优先级高于上述 CPU 的中断请求屏蔽级时, 上述 CPU 成为能接 受中断的状态。
20: 根据权利要求 10 所述的计算机系统, 其特征在于 : 具有上述计算机系统附带的使用说明书, 上述使用说明书记载了以下事项 : 当进行上述模式切换时, 设定为表示进行了上述模式切换的值, 当接受上述中断时, 设定为表示未进行上述模式切换的值, 当从上述中断状态复原时, 在上述模式切换位是表示进行了上述模式切换的值的情况 下, 执行上述模式切换。

说明书


计算机系统

    【技术领域】
     本发明涉及具有多个 CPU 的微控制器等计算机系统, 例如涉及有效适用于汽车的 控制系统等的技术。背景技术
     微控制器 ( 以下也简称 “微机” ) 是被组装到家电产品、 AV 设备、 移动电话、 汽车和 工业机械等设备中, 按照存储在存储器中的程序进行处理, 从而对各个设备进行控制的半 导体集成电路。
     在汽车中, 由于控制装置的故障可能会导致事故, 所以对包含微机的部件要求其 具有高可靠性, 并且将其设计成在发生故障时检测故障并启动安全功能, 以使汽车不陷入 危险状态。 微机不仅对传感器、 传动装置进行诊断来检测这些部件的故障, 也需要检测微机 自身的故障。 微机的故障检测有各种方法, 常用的是通过将 CPU 二重化来使其进行同一处理, 并始终比较总线值的方法。在非专利文献 1 中公开了主 CPU 和比较用 CPU 同时执行同一处 理、 用比较电路比较各自的结果的方法。
     非专利文献 2 中提出了能够使 2 个 CPU 切换执行并行工作和二重化 ( 冗长 ) 比较 工作的方式。当 CPU 取得 Switch 命令这一特殊命令时, 其 CPU 停止工作, 成为用于模式切 换的待机状态。当 2 个 CPU 取得 switch 命令成为用于模式切换的待机状态时, CPU 以新模 式开始工作。在性能模式 ( 并行工作 ) 下性能得以提高, 在安全模式 ( 二重化比较工作 ) 下用比较器对照 CPU 的输出, 从而能够检测 CPU 的故障, 安全性得以提高。
     非专利文献 1 : “IEEE MICRO December 1984” 杂志、 “Fault Tolerance Achieved in VLSI”
     非专利文献 2 : 论文集 “International Conference on Dependable Systems and Networks 2006” 、 45-54 页、 论文 “A ReconfigurableGeneric Dual-Core Architecture”
     发明内容 但是, 上述的非专利文献 1 中, 2 个 CPU 总是进行二重化比较工作, 安全性提高, 但 性能只是 1 个 CPU 的性能。
     上述的非专利文献 2 中, 由于是根据处理所必须的安全性的程度来切换并行工作 和二重化比较工作, 能够确保必要的安全性并提高性能。但是, 由于 2 个 CPU 使用 switch 命令这一命令进行模式切换, 因此先取得 switch 命令的 CPU, 在另一 CPU 取得 switch 命令 之前的期间, 成为待机状态。
     在安全模式下, 2 个 CPU 同时取得 switch 命令, 但在性能模式下, 在不同的时刻取 得命令。通常利用中断开始模式切换。通常, 在微机中可以设定中断处理的优先级, 选择中 断请求中优先级最高的中断, 在其高于 CPU 的中断屏蔽级时, CPU 接受该中断。
     在性能模式下, 有时 2 个 CPU 的中断屏蔽级不同, 一个 CPU 接受进行模式切换的中
     断请求, 另一个 CPU 不接受该中断请求。在该情况下, 先接受中断的 CPU 执行 switch 命令 的模式切换, 成为待机状态, 后接受中断的 CPU 在取得 switch 命令之前成为待机状态, 虽然 是性能模式, 但是单个 CPU 进行工作, CPU 的处理效率降低。
     因此, 本发明的代表性目的在于提供一种在从性能模式切换到安全模式时, 缩短 CPU 的待机时间, 提高性能模式的 CPU 处理效率的计算机系统。
     本发明的上述及其他目的和新特征, 将通过本说明书的记载和附图而得以明确。
     简要说明本申请公开的发明中的代表性技术方案如下。
     即, 代表性技术方案的概要是 : 一种计算机系统, 具有至少 2 个 CPU 和进行对 CPU 的中断的可编程的中断控制器, 能够按中断主要原因设定 1 个或多个要中断的 CPU, 在设定 多个要中断的 CPU 时, 有如下两种接受方法 : 从处于能接受中断的状态的 CPU 开始依次接受 中断的方法, 在所有要中断的 CPU 成为能够接受状态之后一起接受中断的方法。由此, 在用 至少 2 个的多个 CPU 进行同一中断处理时, 出于交换结果并用软件对照来检测故障的目的, 由于在作为对象的所有 CPU 成为能够接受中断状态之后才接受中断, 因此能够缩短先成为 能够接受中断的状态的 CPU 的待机时间。
     代表性另一技术方案的概要是 : 一种计算机系统, 具有至少 2 个 CPU、 进行对 CPU 的中断的可编程的中断控制器和比较 CPU 的输出的比较器, 该计算机系统能够切换性能模 式和安全模式来进行工作, 上述性能模式是 CPU 分别执行不同的处理而提高性能的模式, 上述安全模式是通过 CPU 执行相同处理并用比较器对照结果来检测故障的模式, 能够按中 断主要原因设定 1 个或多个要中断的 CPU, 能够按上述中断主要原因设定以上述性能模式 执行还是以上述安全模式执行的模式。由此, 例如, 在当前正在执行的模式为性能模式时, 当所选择的中断主要原因的模式为安全模式时, 能够抑制向 CPU 输出其中断请求, 在所有 中断 CPU 成为能够接受中断的状态之后, 使 CPU 的处理中断, 将工作模式从性能模式切换到 安全模式, 向 CPU 输出中断请求, 因此, 在从性能模式向安全模式切换时, 能够缩短 CPU 的待 机时间。
     简要说明本申请公开的发明中的代表性技术方案所得到的效果如下。
     即, 由代表性技术方案得到的效果是 : 在用至少 2 个的多个 CPU 进行同一中断处理 时, 作为对象的所有 CPU 成为可接受中断的状态而接受中断, 从而能够缩短先成为可接受 状态的 CPU 的待机时间。
     由代表性技术方案得到的另一效果是 : 在从性能模式切换到安全模式时, 能够缩 短 CPU 的待机时间。 附图说明 图 1 是表示应用了本发明的计算机系统的第一实施方式中, 具有 2 个 CPU 的双核 微机一例的图。
     图 2 是表示在第一实施方式中的中断请求优先级设定寄存器一例的图。
     图 3 是表示第一实施方式中的中断 CPU 设定寄存器一例的图。
     图 4 是表示第一实施方式中的中断模式设定寄存器一例的图。
     图 5 是表示第一实施方式中的图 1 的中断控制器的内部构成及 CPUA 和 CPUB 的连 接一例的图。
     图 6 是详细表示第一实施方式中的图 5 的中断控制器的综合控制的工作一例的图。 图 7 是表示第一实施方式中的单独模式中断一例的时序图。
     图 8 是表示第一实施方式中的同时模式中断一例的时序图。
     图 9 是表示应用了本发明的计算机系统的第二实施方式中, 具有 2 个 CPU, 可动态 切换进行并行处理的性能模式和进行二重化对照处理的安全模式的双核微机一例的图。
     图 10 是表示第二实施方式中的图 9 的中断控制器的内部构成及 CPUA 和 CPUB 的 连接一例的图。
     图 11 是详细表示第二实施方式中的图 10 的中断控制器的综合控制的工作一例的 图。
     图 12 是表示第二实施方式中在性能模式下工作中出现安全模式的中断时一例的 时序图。
     图 13 是表示第二实施方式中的 CPU 的状态寄存器 ( 中断关系 ) 一例的图。
     图 14 是表示第一实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 15 是表示第一实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 16 是表示第一实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 17 是表示第一实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 18 是表示第一实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 19 是表示第一实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 20 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 21 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 22 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 23 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 24 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 25 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 26 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     图 27 是表示第二实施方式中、 微机附带的使用说明书中关于中断接受方法的记 载一例的图。
     标号说明
     1... 微机
     2...CPUA
     3... 存储器 A
     4...CPUA 总线
     5... 总线桥 A
     6...CPUB
     7... 存储器 B
     8...CPUB 总线
     9... 总线桥 B
     10... 系统总线
     11... 中断控制器
     12... 外围组件 A
     13... 外围组件 L 14... 比较器 1100-1103... 中断请求优先级设定寄存器 1104、 1105... 中断 CPU 设定寄存器 1106... 中断模式设定寄存器 1107... 优先顺序判定 A 1108... 比较器 1109... 屏蔽 1110... 优先顺序判定 B 1111... 比较器 1112... 屏蔽 1113... 综合控制具体实施方式
     以下, 参照附图来详细说明本发明的实施方式。 并且, 在用于说明实施例的所有附 图中, 对同样的构件标注相同附图标记且省略其重复说明。
     < 第一实施方式 >
     图 1 是表示应用了本发明的计算机系统的第一实施方式中, 具有 2 个 CPU 的双核 微机一例的图。本实施方式的微机 (MCU)1 由 CPUA2 和 CPUB6、 存储器 A3 和存储器 B7、 CPUA 总线 4 和 CPUB 总线 8、 总线桥 A5 和总线桥 B9、 系统总线 10、 中断控制器 11、 外围组件 A12 ~ 外围组件 L13 等构成。
     CPUA2 是执行命令来进行运算和数据传输等处理的处理器。存储器 A3 存储 CPUA2 所执行的命令和处理的数据。CPUA 总线 4 是用于 CPUA2 访问存储器 A3 等组件的总线。总 线桥 A5 是在 CPUA2 访问利用系统总线 10 与外部连接的组件时对 CPUA 总线 4 和系统总线10 进行连接控制的控制器。
     CPUB6 是执行命令来进行运算和数据传输等处理的处理器。存储器 B7 存储 CPUB6 所执行的命令和处理的数据。CPUB 总线 8 是用于 CPUB6 访问存储器 B7 等组件的总线。总 线桥 B9 是在 CPUB6 访问利用系统总线 10 与外部连接的组件时对 CPUB 总线 8 和系统总线 10 进行连接控制的控制器。
     中断控制器 11 是在存在外部中断 110 或来自外围组件 A12 ~ L13 的中断请求时 选择预先设定的请求优先级最高的请求, 使 CPU 进行中断的组件。
     中断控制器 11 和外围组件 A12 的接口 112 包括来自外围组件 A12 的中断请求信 号和表示接受到来自中断控制器 11 的中断的响应信号。
     中断控制器 11 和外围组件 L13 的接口 113 包括来自外围组件 L13 的中断请求信 号和表示接受到来自中断控制器 11 的中断的响应信号。
     中断控制器 11 和 CPUA2 的接口 114 包括来自中断控制器 11 的中断请求信号和来 自 CPUA2 的中断屏蔽信号。中断控制器 11 在所选择的中断主要原因的请求优先级为来自 CPUA2 的中断屏蔽信号的屏蔽级以上时输出中断请求。
     中断控制器 11 和 CPUB6 的接口 115 包括来自中断控制器 11 的中断请求信号和来 自 CPUB6 的中断屏蔽信号。中断控制器 11 在所选择的中断主要原因的请求优先级为来自 CPUB6 的中断屏蔽信号的屏蔽级以上时输出中断请求。 外围组件 A12 是例如将模拟输入 120 转换为数字信号的 A/D 转换器。
     外围组件 L13 是例如经由通信接口 130 进行通信处理的组件。
     图 2 是表示设定中断主要原因的请求优先级的中断请求优先级设定寄存器一例 的图。该中断请求优先级设定寄存器例如内置于中断控制器 11 中。在此, 表示存在 4 个外 部中断主要原因和 12 个外围组件中断主要原因的情况。 中断请求优先级设定寄存器 IPR0、 IPR1、 IPR2、 IPR3 是 16 位的寄存器, 分别用 4 位设定 4 个中断主要原因的请求优先级。IPR0 的位 15 ~ 12 设定外部中断 0(EO)、 位 11 ~ 8 设定外部中断 1(E1)、 位 7 ~ 4 设定外部中断 2(E2)、 位 3 ~ 0 设定外部中断 3(E3)。设定值是从 B0000(B 表示二进制数 ) 到 B1111 这 16 个, 数值越大, 请求优先级越高。IPR1、 IPR2、 IPR3 对外围组件中断 A(PA) ~ L(PL) 设定请 求优先级。
     图 3 是表示按中断主要原因设定中断 CPU 的中断 CPU 设定寄存器一例的图。该中 断 CPU 设定寄存器例如内置于中断控制器 11 中。有设定对 CPUA2 的中断的中断 CPU 设定 寄存器 0(ICP0)、 和设定对 CPUB6 的中断的中断 CPU 设定寄存器 1(ICP1)。寄存器的各位与 中断主要原因相对应, 例如 15 位进行外部中断 0 的设定。当设定 0 时, 即使有中断请求也 不进行中断。当设定 1 时, 进行中断请求。通过 ICP0 和 ICP1 的设定, 能够按中断主要原因 来选择不进行中断、 CPUA 中断、 CPUB 中断、 CPUA 和 CPUB 中断这 4 种中断方法。
     图 4 是表示关于对 CPUA 和 CPUB 这二者进行中断设定的中断主要原因进行单独模 式、 同时模式的设定的中断模式设定寄存器 IMD 一例的图, 上述单独模式是对成为可接受 中断请求状态的 CPU 单独提出请求的模式, 上述同时模式是在 CPUA 和 CPUB 这二者成为可 接受状态之后同时提出请求的模式。该中断模式设定寄存器例如内置于中断控制器 11 中。 寄存器的各位与中断主要原因相对应, 例如 11 位进行外围组件中断 A(PA) 的设定。0 表示 单独模式, 1 表示同时模式。
     图 5 是表示中断控制器 11 的内部构成及 CPUA2 和 CPUB6 的连接一例的图。中断 控制器 11 由 IPR0(1100) ~ IPR3(1103)、 ICP0(1104) 及 ICP1(1105)、 IMD(1106) 等各寄存 器、 优先顺序判定 A1107 及优先顺序判定 B1110、 比较器 1108 及比较器 1111、 屏蔽 1109 及 屏蔽 1112、 综合控制 1113 等各电路构成。
     IPR0(1100)、 IPR1(1101)、 IPR2(1102)、 IPR3(1103) 是中断请求优先级设定寄存 器。ICP0(1104)、 ICP1(1105) 是中断 CPU 设定寄存器。IMD(1106) 是中断模式设定寄存器。
     优先顺序判定 A1107 按照寄存器 1100 ~ 1106 的设定, 从中断请求 E0 ~ PL 中选 择对 CPUA2 的请求优先级最高的请求、 输出其请求优先级 11070。将所选择的请求的模式 ( 单独模式或同时模式 )、 中断编号 ( 例如、 E0 是 15、 E1 是 14、 ...、 PL 是 0 等 ) 作为属性信 号 11071 而输出。
     比较器 1108 比较对 CPUA2 的中断请求优先级 11070 和存储在 CPUA2 的状态寄存 器 SR 的中断屏蔽位 I3、 I2、 I1、 I0(200), 在中断请求优先级 11070 高于中断屏蔽级 200 时, 比较结果 11080 为 1( 有请求 )。在中断请求优先级 11070 与中断屏蔽级 200 相同或比其小 时, 比较结果 11080 为 0( 无请求 )。
     屏蔽 1109 按照来自综合控制 1113 的屏蔽信号 11130, 进行比较结果 11080 的无效 化。 优先顺序判定 B1110 按照寄存器 1100 ~ 1106 的设定, 从中断请求 E0 ~ PL 中选 择对 CPUB6 的请求优先级最高的请求, 并输出其请求优先级 11100。将所选择的请求的模 式、 中断编号作为属性信号 11101 而输出。
     比较器 1111 比较对 CPUB6 的中断请求优先级 11100 和存储在 CPUB6 的状态寄存 器 SR 的中断屏蔽位 I3、 I2、 I1、 I0(600), 在中断请求优先级 11100 高于中断屏蔽级 600 时, 比较结果 11110 为 1( 有请求 )。在中断请求优先级 11100 与中断屏蔽级 600 相同或比其小 时, 比较结果 11110 为 0( 无请求 )。
     屏蔽 1112 按照来自综合控制 1113 的屏蔽信号 11131, 进行比较结果 11110 的无效 化。
     综合控制 1113 进行对 CPUA2 的中断和对 CPUB6 的中断的综合控制。输入中断属 性信号 11071、 11101、 比较结果 11080、 11110, 并输出比较结果屏蔽信号 11130、 11131。 若要 仅述综合控制 1113 的要点, 则是对 CPUA2 的中断和对 CPUB6 的中断仅在是单独模式的中断 时不进行屏蔽。存在同时模式的中断请求时进行屏蔽。
     图 6 是详细表示综合控制 1113 的工作一例的图。 通过比较器输出、 请求的模式、 中 断编号 ( 一致 / 不一致 ) 的组合认为有 10 种情况。A 表示对 CPUA2 的中断, B 表示对 CPUB6 的中断。
     情况 1 是, 比较器输出的 AB 都是 0( 无请求 ) 时, 无论请求的模式、 中断编号如何, 屏蔽信号为 0( 不屏蔽 )。
     情况 2 是, 比较器输出的 A 是 1( 有请求 ) 为单独模式, B 为 0, 该情况下屏蔽信号 为 0。
     情况 3 是, 比较器输出的 B 是 1 为单独模式, A 为 0, 该情况下屏蔽信号为 0。
     情况 4 是, 比较器输出的 A 是 1 为单独模式, B 是 1 为单独模式, 该情况下屏蔽信 号为 0。
     情况 5 是, 比较器输出的 A 是 1 为同时模式, B 是 0, 该情况下屏蔽信号 A 是 1。这 表示中断请求优先级高于 CPUA2 的屏蔽级, 但不高于 CPUB6 的屏蔽级。为了在 CPUB6 的屏 蔽级降低达到能接受中断请求之前不发出对 CPUA2 的中断请求, 使屏蔽信号 A 为 1, 使请求 无效。
     情况 6 是, 比较器输出的 B 是 1 为同时模式, A 是 0, 该情况下屏蔽信号 B 是 1。这 表示中断请求优先级高于 CPUB6 的屏蔽级, 但不高于 CPUA2。 为了在 CPUA2 的屏蔽级降低达 到能接受中断请求之前, 不发出对 CPUB6 的中断请求, 使屏蔽信号 B 为 1, 使请求无效。
     情况 7 是, 比较器输出的 A 是 1 为单独模式, 比较器输出的 B 是 1 为同时模式, 该 情况下屏蔽信号 B 是 1。这表示 CPUA2 选择的单独模式的中断请求的优先级比 CPUB6 选择 的同时模式的中断请求的优先级高。输出对 CPUA2 的中断请求, 使对 CPUB6 的中断请求无 效。
     情况 8 是, 比较器输出的 A 是 1 为同时模式, 比较器输出的 B 是 1 为同时模式, 该 情况下屏蔽信号 A 是 1。这表示 CPUB6 选择的单独模式的中断请求的优先级比 CPUA2 选择 的同时模式的中断请求的优先级高。输出对 CPUB6 的中断请求, 使对 CPUA2 的中断请求无 效。
     情况 9 是, 比较器输出的 AB 都是 1 为同时模式、 中断编号不一致, 该情况下屏蔽信 号 AB 为 1。这表示 CPUA2 和 CPUB6 选择的同时模式的中断主要原因不同。但是, 由于优先 级的设定不是按每一 CPU 单独进行的, 因此不可能出现该情况。
     情况 10 是, 比较器输出的 AB 都是 1 为同时模式, 中断编号一致, 该情况下屏蔽信 号 AB 是 0。在该条件下对 CPUA2 和 CPUB6 同时输出同时模式的中断。
     图 7 是表示单独模式中断一例的时序图。CLK 是用于使以 CPU 为首的微机的各功 能组件工作的时钟。
     (1) 输入来自外围组件 A12 的中断请求 PA。PA 是使 CPUA2 和 CPUB6 这二者单独中 断的请求。
     (2) 由 于 对 CPUA2 的 中 断 请 求 模 式 INTMDA 为 0( 单 独 )、 中断请求优先级 INTLVLA[3:0] 为 12 大于 CPUA2 的中断屏蔽级 SRA_I[3:0] 即 11, 因此中断控制器 11 使对 CPUA2 的中断请求 INTREQA 为 1( 有请求 )。
     (3)CPUA2 在执行任务 T1 过程中接受中断, 分支到 PA 的中断处理程序 T10。 将中断 请求优先级 INTLVLA[3:0] 的值 12 复制到状态寄存器的屏蔽位, 将 SRA_I[3:0] 更新为 12。 由于 INTLVLA[3:0] 和 SRA_I[3:0] 成为相同的值, 因此中断控制器 11 使 INTREQA 从 1 变为 0, 撤销中断请求。
     (4)CPUB6 执行了任务 T2( 中断处理程序 ), 但由于处理已结束, 执行中断复原命令 RTE。退避到栈的值返回状态寄存器, 从而中断屏蔽级 SRB_I[3:0] 返回为 11。
     (5) 由 于 对 CPUB6 的 中 断 请 求 模 式 INTMDB 为 0( 单 独 )、 中断请求优先级 INTLVLB[3:0] 为 12 大于 CPUB6 的中断屏蔽级 SRB_I[3:0] 即 11, 因此中断控制器 11 使对 CPUB6 的中断请求 INTREQB 为 1( 有请求 )。
     (6)CPUB6 接 受 中 断, 分 支 到 PA 的 中 断 处 理 程 序 T10。 将 中 断 请 求 优 先 级 INTLVLB[3:0] 的 值 12 复 制 到 状 态 寄 存 器 的 屏 蔽 位, 将 SRB_I[3:0] 更 新 为 12。 由 于 INTLVLB[3:0] 和 SRB_I[3:0] 成为相同的值, 因此中断控制器 11 使 INTREQB 从 1 变为 0, 撤销中断请求。
     如此, 单独模式的中断在 CPUA2 和 CPUB6 分别成为可接受请求的时刻可被接受。
     图 8 是表示同时模式中断一例的时序图。
     (1) 输入来自外围组件 A12 的中断请求 PA。PA 是对 CPUA2 和 CPUB6 二者同时中断 的请求。
     (2) 由 于 对 CPUA2 的 中 断 请 求 模 式 INTMDA 是 1( 同 时 ), 中断请求优先级 INTLVLA[3:0] 是 12 大于 CPUA2 的中断屏蔽级 SRA_I[3:0] 即 11, 但对 CPUB6 的中断请求优 先级 INTLVLB[3:0] 是 12 与 CPUB6 的中断屏蔽级 SRB_I[3:0] 即 12 相同, 因此中断控制器 11 使对 CPUA2 的中断请求 INTREQA 为 0( 无请求 )。
     (3)CPUB6 执行了任务 T2( 中断处理程序 ), 但处理已结束, 因此执行中断复原命令 RTE。退避到栈的值返回状态寄存器, 从而中断屏蔽级 SRB_I[3:0] 返回为 11。 。
     (4) 由 于 中 断 请 求 优 先 级 INTLVLA[3:0] 是 12 大 于 CPUA2 的 中 断 屏 蔽 级 SRA_ I[3:0] 即 11, 对 CPUB 6 的中断请求优先级 INTLVLB[3:0] 是 12 大于 CPUB 6 的中断屏蔽级 SRB_I[3:0] 即 11, 因此中断控制器 11 使对 CPUA2 的中断请求 INTREQA 为 1( 有请求 )。
     (5) 中断控制器 11 与 (4) 相同, 使对 CPUB6 的中断请求 INTREQB 为 1。
     (6)CPUA2 在执行任务 T1 过程中接受中断, 分支到 PA 的中断处理程序 T10。 将中断 请求优先级 INTLVLA[3:0] 的值 12 复制到状态寄存器的屏蔽位, 将 SRA_I[3:0] 更新为 12。 由于 INTLVLA[3:0] 和 SRA_I[3:0] 成为相同的值, 因此中断控制器 11 使 INTREQA 从 1 变为 0, 撤销中断请求。
     (7)CPUB6 接 受 中 断, 分 支 到 PA 的 中 断 处 理 程 序 T10。 将 中 断 请 求 优 先 级 INTLVLB[3:0] 的 值 12 复 制 到 状 态 寄 存 器 的 屏 蔽 位, 将 SRB_I[3:0] 更 新 为 12。 由 于 INTLVLB[3:0] 和 SRB_I[3:0] 成为相同的值, 因此中断控制器 11 使 INTREQB 从 1 变为 0, 撤 销中断请求。
     如此, 同时模式的中断在 CPUA2 和 CPUB6 都成为可接受请求的时刻可被接受。
     图 14 ~图 19 是本实施方式的微机 1 附带的使用说明书中关于中断的接受方法的 记载一例的图。使用说明书中记载了图 14 ~图 19 所示的中断的接受方法。
     例如, 在图 14 所示使用说明书中记载了 : 关于中断控制器 11 的中断 CPU 设定寄存 器等, 能够按中断主要原因来设定 1 个或多个中断 CPU, 在设定了多个中断 CPU 时, 有从成为 可接受该中断状态的 CPU 开始依次接受中断、 和在所有要中断 CPU 均成为可接受状态之后 一起接受中断这两种接受方法。
     在图 15 及图 16 所示的使用说明书记载了中断控制器 11 的中断 CPU 设定寄存器 和中断模式设定寄存器等, 其内容如图 15 及图 16 所示。
     而且, 在图 17 ~图 19 所示的使用说明书中记载了中断控制器 11 的中断 CPU 设定 寄存器、 中断模式设定寄存器、 中断请求优先级设定寄存器、 CPUA2 及 CPUB6 的状态寄存器 等, 其内容如图 17 ~图 19 所示。
     根据以上说明的本实施方式, 单独模式的中断是在 CPUA2 和 CPUB6 分别成为可接 收请求状态的时刻可被接受, 同时模式的中断是在 CPUA2 和 CPUB6 都成为可接收请求状态 的时刻可被接受, 因此在用 2 个 CPUA2 和 CPUB6 进行同一中断处理时, 作为对象的所有 CPU 在成为可接受中断的状态之后接受中断, 能够缩短先接受的 CPU 的待机时间。结果, 能够缩短 CPU 的待机时间, 提高 CPU 的处理效率。
     < 第二实施方式 >
     图 9 是表示应用了本发明的计算机系统的第二实施方式的、 具有 2 个 CPU, 可动态 切换进行并行处理的性能模式和进行二重化对照处理的安全模式的双核微机一例的图。 本 实施方式的微机 (MCU)1, 与图 1 相比, 增加了用于比较 CPUA2 和 CPUB6 的输出的比较器 14、 和中断控制器 11 与比较器 14 之间的接口 116。
     在性能模式下, CPUA2 和 CPUB6 分别独立处理不同的程序。在该性能模式下, 比较 器 14 不工作。在安全模式下, CPUA2 和 CPUB6 同步处理相同的程序。在该安全模式下, 比 较器 14 工作, CPUA2 和 CPUB6 的输出不同时, 输出错误。来自中断控制器 11 的接口 116 包 括表示是性能模式 ( 值为 0) 还是安全模式 ( 值为 1) 的模式信号。
     图 10 是表示中断控制器 11 的内部构成及 CPUA2 和 CPUB6 连接一例的图。
     IPR0(1100)、 IPR1(1101)、 IPR2(1102)、 IPR3(1103) 是中断请求优先级设定寄存 器。ICP0(1104)、 ICP1(1105) 是中断 CPU 设定寄存器。IMD(1106) 是中断模式设定寄存器。
     优先顺序判定 A1107 按照寄存器 1100 ~ 1106 的设定, 从中断请求 E0 ~ PL 中选 择对 CPUA2 的请求优先级最高的请求, 输出其请求优先级 11070。将所选择的请求的模式 ( 性能模式或安全模式 )、 中断编号 ( 例如、 E0 为 15、 E1 为 14、 ...、 PL 为 0 等 ) 作为属性信 号 11071 而输出。 比较器 1108 比较对 CPUA2 的中断请求优先级 11070 和存储在 CPUA2 的状态寄存 器 SR 中的中断屏蔽位 I3、 I2、 I1、 I0(200), 在中断请求优先级 11070 大于中断屏蔽级 200 时将比较结果 11080 设为 1( 有请求 )。在中断请求优先级 11070 与中断屏蔽级 200 相同或 比其小时, 将比较结果 11080 设为 0( 无请求 )。
     屏蔽 1109 按照来自综合控制 1113 的屏蔽信号 11130, 使比较结果 11080 无效。
     优先顺序判定 B1110 按照寄存器 1100 ~ 1106 的设定从中断请求 E0 ~ PL 中选择 对 CPUB6 的请求优先级最高的请求, 并输出其请求优先级 11100。将所选择的请求的模式、 中断编号作为属性信号 11101 而输出。
     比较器 1111 比较对 CPUB6 的中断请求优先级 11100 和存储在 CPUB6 的状态寄存 器 SR 的中断屏蔽位 I3、 I2、 I1、 I0(600), 在中断请求优先级 11100 大于中断屏蔽级 600 时 将比较结果 11110 设为 1( 有请求 )。在中断请求优先级 11100 与中断屏蔽级 600 相同或比 其小时, 将比较结果 11110 设为 0( 无请求 )。
     屏蔽 1112 按照来自综合控制 1113 的屏蔽信号 11131, 使比较结果 11110 无效。
     综合控制 1113 进行对 CPUA2 的中断和对 CPUB6 的中断的综合控制。 输入中断属性 信号 11071、 11101、 比较结果 11080、 11110, 输出比较结果屏蔽信号 11130、 11131。在 CPUA2 和 CPUB6 增加模式切换功能 201、 601。 寄存器也有 2 组, 分别用于性能模式和用于安全模式, 按模式切换。中断控制器 11 的综合控制 1113 在 CPU 成为可接收与当前执行中的模式不同 的模式的中断请求的状态后, 输出模式切换请求 (11132 的一部分、 11133 的一部分 )。CPU 取消执行中的命令, 将最后执行的命令的下一命令地址保持于程序计数器, 停止工作。 接着 将寄存器切换为与当前不同的模式用的寄存器, 对中断控制器 11 输出模式切换响应信号 (11132 的一部分、 11133 的一部分 )。当从 CPUA2 和 CPUB6 这二者返回模式切换响应信号 时, 综合控制 1113 切换工作模式 11134, 输出模式切换完成信号 (11132 的一部分、 11133 的
     一部分 )。由于工作模式和中断请求的模式变成相同, 因此比较结果屏蔽信号 11130、 11131 从 1( 屏蔽 ) 变为 0( 不屏蔽 ), 可输出中断请求信号 11090、 11120。
     图 11 是详细表示综合控制 1113 的工作一例的图。通过工作中的模式、 比较器输 出、 请求的模式、 中断编号 ( 一致 / 不一致 ) 的组合认为有 20 种情况。A 表示对 CPUA2 的中 断, B 表示对 CPUB6 的中断。
     情况 1 ~ 10 是当前模式为性能模式的情况。
     情况 1 是, 比较器输出的 AB 都是 0( 无请求 ), 该情况下无论请求的模式、 中断编号 如何, 屏蔽信号是 0( 不屏蔽 )。
     情况 2 是, 比较器输出的 A 是 1( 有请求 ) 为性能模式, B 是 0, 该情况下屏蔽信号 是 0。即、 输出对 CPUA2 的中断请求。
     情况 3 是, 比较器输出的 B 是 1 为性能模式, A 是 0, 该情况下屏蔽信号是 0。即、 输出对 CPUB6 的中断请求。
     情况 4 是, 比较器输出的 A 是 1 为性能模式, B 是 1 为性能模式, 该情况下屏蔽信 号是 0。即、 对 CPUA2 和 CPUB6 输出中断请求。
     情况 5 是, 比较器输出的 A 是 1 为安全模式, B 是 0, 该情况下屏蔽信号 A 是 1。这 表示中断请求优先级大于 CPUA2 的屏蔽级, 但不大于 CPUB6 的屏蔽级。为了在 CPUB6 的屏 蔽级下降到可接受中断请求之前不发出对 CPUA2 的中断请求, 使屏蔽信号 A 为 1, 使请求无 效。 情况 6 是, 比较器输出的 B 是 1 为安全模式, A 是 0, 该情况下屏蔽信号 B 是 1。这 表示中断请求优先级大于 CPUB6 的屏蔽级, 但不大于 CPUA2 的屏蔽级。为了在 CPUA2 的屏 蔽级下降到可接受中断请求之前不发出对 CPUB6 的中断请求, 使屏蔽信号 B 为 1, 使请求无 效。
     情况 7 是, 比较器输出的 A 是 1 为性能模式, 比较器输出的 B 是 1 为安全模式, 该 情况下屏蔽信号 B 是 1。这表示 CPUA2 选择的性能模式的中断请求的优先级高于 CPUB6 选 择的安全模式的中断请求的优先级。输出对 CPUA2 的中断请求, 使对 CPUB6 的中断请求无 效。
     情况 8 是, 比较器输出的 A 是 1 为安全模式, 比较器输出的 B 是 1 为性能模式, 该 情况下屏蔽信号 A 是 1。这表示 CPUB6 选择的性能模式的中断请求的优先级高于 CPUA2 选 择的安全模式的中断请求的优先级。输出对 CPUB6 的中断请求, 使对 CPUA2 的中断请求无 效。
     情况 9 是, 比较器输出的 AB 都是 1 为安全模式, 中断编号不一致, 该情况下屏蔽信 号 AB 是 1。这表示 CPUA2 和 CPUB6 选择的安全模式的中断主要原因不同。但是, 优先级的 设定不是对每一 CPU 单独进行的, 因此不可能出现该情况。
     情况 10 是, 比较器输出的 AB 都是 1 为安全模式, 中断编号一致, 该情况下屏蔽信 号 AB 是 1。由于 CPUA2 和 CPUB6 二者都成为可接收安全模式的请求的状态, 因此模式切换 为 1( 进行模式切换 )。
     情况 11 ~ 20 是当前模式为安全模式的情况。
     情况 11 是, 比较器输出的 AB 都是 0( 无请求 ), 该情况下无论请求的模式、 中断编 号如何, 屏蔽信号是 0( 不屏蔽 )。
     情况 12 是, 比较器输出 A 是 1( 有请求 ) 为性能模式, B 是 0, 该情况下屏蔽信号 A 是 1。由于 CPUA2 是可接受性能模式的中断的状态, 因此模式切换是 1。
     情况 13 是, 比较器输出 B 是 1 为性能模式, A 是 0, 该情况下屏蔽信号是 0。由于 CPUB6 是可接受性能模式的中断的状态, 因此模式切换是 1。
     情况 14 是, 比较器输出 A 是 1 为性能模式, B 是 1 为性能模式, 该情况下屏蔽信号 AB 是 1。由于 CPUA2 和 CPUB6 是可接受中断的状态, 因此模式切换是 1。
     情况 15 是, 比较器输出 A 是 1 为安全模式、 B 是 0, 该情况下屏蔽信号 A 是 1。这 表示中断请求优先级大于 CPUA2 的屏蔽级, 但不大于 CPUB6 的屏蔽级。为了在 CPUB6 的屏 蔽级下降到可接受中断请求之前不发出对 CPUA2 的中断请求, 使屏蔽信号 A 为 1, 使请求无 效。
     情况 16 是, 比较器输出的 B 是 1 为安全模式, A 是 0, 该情况下屏蔽信号 B 是 1。这 表示中断请求优先级大于 CPUB6 的屏蔽级, 但不大于 CPUA2 的屏蔽级。为了在 CPUA2 的屏 蔽级下降到可接受中断请求之前不发出对 CPUB6 的中断请求, 使屏蔽信号 B 为 1, 使请求无 效。
     情况 17 是, 比较器输出的 A 是 1 为性能模式, 比较器输出的 B 是 1 为安全模式, 该 情况下屏蔽信号 AB 是 1。这表示 CPUA2 选择的性能模式的中断请求的优先级高于 CPUB6 选 择的安全模式的中断请求的优先级。 使对 CPUA2 和 CPUB6 的中断请求无效。 并且由于 CPUA2 成为可接受性能模式的中断的状态, 因此模式切换是 1。
     情况 18 是, 比较器输出的 A 是 1 为安全模式, 比较器输出的 B 是 1 为性能模式, 该 情况下屏蔽信号 AB 是 1。这表示 CPUB6 选择的性能模式的中断请求的优先级高于 CPUA2 选 择的安全模式的中断请求的优先级。 使对 CPUA2 和 CPUB6 的中断请求无效。 并且由于 CPUB6 成为可接受性能模式的中断的状态, 因此模式切换是 1。
     情况 19 是, 比较器输出的 AB 都是 1 为安全模式, 中断编号不一致, 该情况下屏蔽 信号 AB 是 1。这表示 CPUA2 和 CPUB6 选择的安全模式的中断主要原因不同。但是, 优先级 的设定不是对每一 CPU 单独进行的, 因此不可能出现该情况。
     情况 20 是, 比较器输出的 AB 都是 1 为安全模式, 中断编号一致, 该情况下屏蔽信 号 AB 是 0。在该条件下对 CPUA2 和 CPUB6 同时输出安全模式的中断。
     图 12 是表示在性能模式下工作中存在安全模式的中断时一例的时序图。
     (1) 输入来自外围组件 A12 的中断请求 PA。
     (2) 由 于 对 CPUA2 的 中 断 请 求 模 式 INTMDA 为 1( 安 全 )、 中断请求优先级 INTLVLA[3:0] 是 12 大于 CPUA2 的中断屏蔽级 SRA_I[3:0] 即 11, 但对 CPUB6 的中断请求优 先级 INTLVLB[3:0] 是 12 与 CPUB6 的中断屏蔽级 SRB_I[3:0] 即 12 相同, 因此中断控制器 11 使对 CPUA2 的中断请求 INTREQA 为 0( 无请求 )。
     (3)CPUB6 执行了任务 TP2( 中断处理程序 ), 由于处理已结束, 所以执行中断复原 命令 RTE。退避到栈的值返回状态寄存器, 由此中断屏蔽级 SRB_I[3:0] 返回为 11。
     (4) 由 于 中 断 请 求 优 先 级 INTLVLA[3:0] 是 12 大 于 CPUA2 的 中 断 屏 蔽 级 SRA_ I[3:0] 即 11, 对 CPUB6 的中断请求优先级 INTLVLB[3:0] 是 12 大于 CPUB6 的中断屏蔽级 SRB_I[3:0] 即 11, 因此中断控制器 11 对 CPUA2 和 CPUB6 输出模式切换请求。按照该请求 CPUA2 执行模式切换。 取消执行中的命令, 将最后执行的命令的下一命令地址保持于程序计数器。 (5)CPUB6 也同样执行模式切换。
     (6)CPUA2 停止工作, 将寄存器切换为安全模式用寄存器, 对中断控制器 11 输出模 式切换响应信号。
     (7)CPUB6 也同样停止, 将寄存器切换为安全模式用寄存器, 对中断控制器 11 输出 模式切换响应信号。
     (8) 中断控制器 11 输出的模式信号 CPUMD 从 0( 性能模式 ) 变为 1( 安全模式 )。
     (9) 由于工作模式成为安全模式, 因此中断控制器 11 使对 CPUA2 的中断请求 INTREQA 为 1( 有请求 )。
     (10) 同样使对 CPUB6 的中断请求 INTREQB 为 1。
     (11)CPUA2 再次开始工作, 继续执行在切换到性能模式之前执行的任务 TS1。
     (12)CPUB6 再次开始工作, 继续执行在切换到性能模式之前执行的任务 TS1。
     (13)CPUA2 接 受 INTREQA, 分 支 到 PA 的 中 断 处 理 程 序 TS2。 将 中 断 请 求 优 先 级 INTLVLA[3:0] 的值 12 复制到状态寄存器的屏蔽位, 将 SRA_I[3:0] 更新为 12。由于 INTLVLA[3:0] 和 SRA_I[3:0] 成为相同的值, 因此中断控制器 11 使 INTREQA 从 1 变为 0, 撤 销中断请求。
     (14)CPUB6 接受 INTREQB, 分支到 PA 的中 断 处理 程序 TS 2。将 中 断请求 优 先 级 INTLVLB[3:0] 的 值 12 复 制 到 状 态 寄 存 器 的 屏 蔽 位, 将 SRB_I[3:0] 更 新 12。 由 于 INTLVLB[3:0] 和 SRB_I[3:0] 成为相同的值, 因此中断控制器 11 使 INTREQB 从 1 变为 0, 撤 销中断请求。
     如此, 对于在性能模式下工作中发生的安全模式的中断, 在 CPUA2 和 CPUB6 都成为 可接收请求的状态的时刻, 从性能模式切换到安全模式之后, 才可接受上述中断。
     图 13 是表示 CPU(CPUA2、 CPUB6) 的状态寄存器 ( 中断关系 ) 一例的图。位 7 ~ 4 是中断屏蔽位 I3、 I2、 I1、 I0。位 8 是模式切换位 MC。MC 为 0 表示无模式切换, MC 为 1 表 示有模式切换。
     状态寄存器具有 2 组, 分别用于性能模式和用于安全模式, 可根据模式而切换。MC 通过复位而被初始化为 0。模式切换后, 状态寄存器的 MC 为 1。当接受中断时, 状态寄存器 退避到栈。中断请求优先级被写入中断屏蔽位, MC 为 0。中断处理结束, 状态寄存器的值从 栈复原, 则 MC 是 1。 由于得知在进入中断之前进行了模式切换, 因此能够进行模式切换处理 后返回原来的模式。
     图 20 ~图 27 表示本实施方式的微机附带的使用说明书中关于中断的接受方法的 记载一例的图。使用说明书中记载了图 20 ~图 27 所示的中断的接受方法。
     例如, 在图 20 所示的使用说明书中记载了 : 在能够切换性能模式和安全模式来进 行工作的构成中, 所述性能模式是使 CPU 分别执行不同处理来提高性能的模式, 所述安全 模式是使 CPU 执行相同处理并用比较器对照结果由此检测故障的模式, 对于中断控制器 11 的中断 CPU 设定寄存器、 中断模式设定寄存器和综合控制 1113 等, 按中断主要原因能够设 定 1 个或多个中断 CPU, 能够按中断主要原因设定在性能模式下执行还是在安全模式下执 行, 当前执行中的模式是性能模式时, 所选择的中断主要原因的模式是性能模式时, 向 CPU 输出其中断请求。
     在图 21 ~图 23 所示的使用说明书记载了关于中断控制器 11 的中断 CPU 设定寄 存器、 中断模式设定寄存器和综合控制 1113 等, 其内容如图 21 ~图 23 所示。
     在图 24 ~图 27 所示的使用说明书记载了关于中断控制器 11 的中断 CPU 设定寄存 器、 中断模式设定寄存器和中断请求优先级设定寄存器、 CPUA2 及 CPUB6 的状态寄存器等, 其内容如图 24 ~图 27 所示。
     根据以上说明的本实施方式, 与实施方式 1 相同, 在用 2 个 CPUA2 和 CPUB6 进行同 一中断处理时, 作为对象的所有 CPU 成为可接受中断状态之后接受中断, 因此可缩短先接 受的 CPU 的待机时间。尤其是在本实施方式中, 在性能模式下工作中发生的安全模式的中 断, 是在 CPUA2 和 CPUB6 都成为可接受请求状态的时刻、 从性能模式切换到安全模式之后才 可被接受, 因此, 在从性能模式向安全模式切换时, 可缩短 CPU 的待机时间, 提高性能模式 的 CPU 处理效率。
     以上根据上述实施方式来具体说明了本发明人完成的发明, 但本发明并不限于上 述实施方式, 在不脱离其要旨的范围内, 当然可进行各种变更。
     例如, 在上述第一及第二实施方式中以具有 2 个 CPU 的双核微机为例进行了说明, 但本发明不限于具有 2 个 CPU, 也广泛适用于具有 3 个以上等、 至少 2 个以上的 CPU 的计算 机系统。
     本发明的计算机系统涉及具有多个 CPU 的微控制器等的计算机系统, 可利用于例 如汽车的控制系统等。

计算机系统.pdf_第1页
第1页 / 共35页
计算机系统.pdf_第2页
第2页 / 共35页
计算机系统.pdf_第3页
第3页 / 共35页
点击查看更多>>
资源描述

《计算机系统.pdf》由会员分享,可在线阅读,更多相关《计算机系统.pdf(35页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102360311A43申请公布日20120222CN102360311ACN102360311A21申请号201110120268522申请日20110509201010987020100512JPG06F9/4820060171申请人瑞萨电子株式会社地址日本神奈川县72发明人山田弘道岛村光太郎金川信康石黑雄一74专利代理机构北京市金杜律师事务所11256代理人王茂华孟祥海54发明名称计算机系统57摘要本发明提供一种计算机系统,具有至少2个CPUA2、CPUB6、进行对CPUA2、CPUB6的中断的可编程的中断控制器11和比较CPUA2、CPUB6的输出的比较器14,其中,。

2、该计算机系统能够切换性能模式和安全模式来进行工作,上述性能模式是CPU分别执行不同的处理而提高性能的模式,上述安全模式是通过CPU执行相同处理并用比较器对照结果来检测故障的模式,能够按中断主要原因来设定1个或多个要中断的CPU,能够按中断主要原因来设定是以性能模式执行还是以安全模式执行的模式。在能切换性能模式和安全模式的双核微机中,在从性能模式向安全模式切换时能缩短CPU的待机时间。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书5页说明书13页附图16页CN102360328A1/5页21一种计算机系统,具有至少2个CPU和进行对上述CPU的中断的可编程。

3、的中断控制器,其特征在于,上述中断控制器具有能够按中断主要原因来设定1个或多个要中断的CPU的中断CPU设定寄存器,在设定了多个上述要中断的CPU的情况下有以下两种接受方法从处于能接受中断的状态的CPU开始来依次接受该中断的方法;和在要中断的CPU全部成为能接受状态之后一起接受中断的方法。2一种计算机系统,具有至少2个CPU和进行对上述CPU的中断的可编程的中断控制器,其特征在于,上述中断控制器具有中断CPU设定寄存器和中断模式设定寄存器,其中,上述中断CPU设定寄存器能够按中断主要原因来设定1个或多个要中断的CPU,上述中断模式设定寄存器在存在多个上述要中断的CPU的情况下能够设定采用的模式。

4、,即设定是采用从处于能接受上述中断的状态的CPU开始来依次接受中断的模式,还是采用在要中断的CPU全部成为能接受状态之后一起接受中断的模式。3一种计算机系统,具有至少2个CPU和进行对上述CPU的中断的可编程的中断控制器,其特征在于,上述中断控制器具有中断CPU设定寄存器和中断模式设定寄存器,其中,上述中断CPU设定寄存器能够按中断主要原因来设定1个或多个要中断的CPU,上述中断模式设定寄存器在存在多个上述要中断的CPU的情况下能够按中断主要原因来设定采用的模式,即设定采用从处于能接受上述中断的状态的CPU开始来依次接受中断的模式,还是采用在所有要中断的CPU成为能够接受状态之后一起接受中断的。

5、模式。4根据权利要求1所述的计算机系统,其特征在于上述中断控制器具有能够按上述中断主要原因来设定优先级的中断请求优先级设定寄存器,上述CPU具有能够设定屏蔽中断请求的屏蔽级的状态寄存器,当上述中断主要原因的优先级高于上述CPU的中断请求屏蔽级时,上述CPU成为能够接受中断的状态。5一种计算机系统,具有至少2个CPU、进行对上述CPU的中断的可编程的中断控制器、以及比较上述CPU的输出的比较器,其特征在于,能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,上述中断。

6、控制器具有中断CPU设定寄存器和中断模式设定寄存器,其中,上述中断CPU设定寄存器能够按中断主要原因来设定1个或多个中断CPU,上述中断模式设定寄存器能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正在执行的模式为上述性能模式的情况下,当所选择的中断主要原因的模式为上述性能模式时,向上述CPU输出其中断请求。6一种计算机系统,具有至少2个CPU、进行对上述CPU的中断的可编程的中断控制权利要求书CN102360311ACN102360328A2/5页3器、以及比较上述CPU的输出的比较器,其特征在于,能够切换性能模式和安全模式来进行工作,其中,上述性能模。

7、式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,上述中断控制器具有中断CPU设定寄存器和中断模式设定寄存器,其中,上述中断CPU设定寄存器能够按中断主要原因来设定1个或多个中断CPU,上述中断模式设定寄存器能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正在执行的模式为上述性能模式的情况下,当所选择的中断主要原因的模式为上述安全模式时,抑制向上述CPU输出其中断请求,如果要中断的CPU全部成为能接受中断的状态,则使上述CPU的处理中断,将工作模式从上述性能模式切换到上述安全。

8、模式,并将上述中断请求输出到上述CPU。7一种计算机系统,具有至少2个CPU、进行对上述CPU的中断的可编程的中断控制器、以及比较上述CPU的输出的比较器,其特征在于,能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,上述中断控制器具有中断CPU设定寄存器和中断模式设定寄存器,其中,上述中断CPU设定寄存器能够按中断主要原因来设定1个或多个中断CPU,上述中断模式设定寄存器能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正。

9、在执行的模式为上述安全模式的情况下,当所选择的中断主要原因的模式为上述性能模式时,抑制向上述CPU输出其中断请求,如果要中断的CPU成为能够接受中断的状态,则使上述CPU的处理中断,将工作模式从上述安全模式切换到上述性能模式,并将上述中断请求输出到上述CPU。8一种计算机系统,具有至少2个CPU、进行对上述CPU的中断的可编程的中断控制器、以及比较上述CPU的输出的比较器,其特征在于,能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,上述中断控制器具有中断CPU。

10、设定寄存器和中断模式设定寄存器,其中,上述中断CPU设定寄存器能够按中断主要原因来设定1个或多个中断CPU,上述中断模式设定寄存器能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式执行的模式,在当前正在执行的模式为上述安全模式的情况下,在所选择的中断主要原因的模式为上述安全模式时,若所有要中断的CPU都成为能够接受中断的状态,则向上述CPU输出其中断请求,在除此之外的情况下不输出上述中断请求。9根据权利要求5所述的计算机系统,其特征在于上述中断控制器具有能够按上述中断主要原因来设定优先级的中断请求优先级设定寄存器,权利要求书CN102360311ACN102360328A3/。

11、5页4上述CPU具有能够设定屏蔽中断请求的屏蔽级的状态寄存器,当上述中断主要原因的优先级高于上述CPU的中断请求屏蔽级时,上述CPU成为能够接受中断的状态。10根据权利要求9所述的计算机系统,其特征在于上述CPU具有的上述状态寄存器中包含表示是否进行了模式切换的模式切换位,当进行上述模式切换时将上述模式切换位设定为表示进行了上述模式切换的值,当接受上述中断时将上述模式切换位设定为表示未进行上述模式切换的值,当从上述中断状态复原时,在上述模式切换位是表示进行了上述模式切换的值的情况下,执行上述模式切换。11根据权利要求1所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明。

12、书记载了以下事项能够按上述中断主要原因来设定1个或多个要中断的CPU,在设定了多个上述要中断的CPU的情况下有以下两种接受方法从处于能接受上述中断的状态的CPU开始来依次接受中断的方法;在所有要中断的CPU成为能够接受的状态之后一起接受中断的方法。12根据权利要求2所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够按上述中断主要原因来设定1个或多个中断CPU,在存在多个上述要中断的CPU的情况下能够设定采用的模式,即设定是采用从处于能接受上述中断的状态的CPU开始来依次接受中断的模式,还是采用在所有要中断的CPU成为能够接受状态之后一起接受中断的模。

13、式。13根据权利要求3所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够按上述中断主要原因来设定1个或多个中断CPU,在存在多个上述中断CPU的情况下能够按中断主要原因来设定采用的模式,即设定是采用从处于能接受上述中断的状态的CPU开始来依次接受中断的模式,还是采用在所有中断CPU成为能接受状态之后一起接受中断的模式。14根据权利要求4所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够按上述中断主要原因来设定优先级,上述CPU能够设定屏蔽中断请求的屏蔽级,当上述中断主要原因的优先级高于上述CPU的中断请。

14、求屏蔽级时,上述CPU成为能接受中断的状态。15根据权利要求5所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,权利要求书CN102360311ACN102360328A4/5页5上述使用说明书记载了以下事项能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,能够按上述中断主要原因来设定1个或多个要中断的CPU,能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正在执行的模式为上述性能模式的情况下,当所选择的中断。

15、主要原因的模式为上述性能模式时,向上述CPU输出其中断请求。16根据权利要求6所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,能够按上述中断主要原因来设定1个或多个要中断的CPU,能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正在执行的模式为上述性能模式的情况下,当所选择的中断主要原因的模式为上述安全模式时,抑制向上述CPU输出。

16、其中断请求,如果所有中断CPU均成为能接受中断的状态,则使上述CPU的处理中断,将工作模式从上述性能模式切换到上述安全模式,并将上述中断请求输出到上述CPU。17根据权利要求7所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来检测故障的模式,能够按上述中断主要原因来设定1个或多个要中断的CPU,能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正在执。

17、行的模式为上述安全模式的情况下,当所选择的中断主要原因的模式为上述性能模式时,抑制向上述CPU输出其中断请求,如果要中断的CPU成为能接受中断的状态,则使上述CPU的处理中断,将工作模式从上述安全模式切换到上述性能模式,并将上述中断请求输出到上述CPU。18根据权利要求8所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够切换性能模式和安全模式来进行工作,其中,上述性能模式是上述CPU分别执行权利要求书CN102360311ACN102360328A5/5页6不同的处理来提高性能的模式,上述安全模式是通过上述CPU执行相同处理并用上述比较器对照结果来。

18、检测故障的模式,能够按上述中断主要原因来设定1个或多个要中断的CPU,能够按上述中断主要原因来设定是以上述性能模式来执行还是以上述安全模式来执行的模式,在当前正在执行的模式为上述安全模式的情况下,当所选择的中断主要原因的模式为上述安全模式时,若所有中断CPU均为能接受中断的状态,则向上述CPU输出其中断请求,在除此之外的情况下,不输出上述中断请求。19根据权利要求9所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项能够按上述中断主要原因来设定优先级,上述CPU能够设定屏蔽中断请求的屏蔽级,当上述中断主要原因的优先级高于上述CPU的中断请求屏蔽级时,上述。

19、CPU成为能接受中断的状态。20根据权利要求10所述的计算机系统,其特征在于具有上述计算机系统附带的使用说明书,上述使用说明书记载了以下事项当进行上述模式切换时,设定为表示进行了上述模式切换的值,当接受上述中断时,设定为表示未进行上述模式切换的值,当从上述中断状态复原时,在上述模式切换位是表示进行了上述模式切换的值的情况下,执行上述模式切换。权利要求书CN102360311ACN102360328A1/13页7计算机系统技术领域0001本发明涉及具有多个CPU的微控制器等计算机系统,例如涉及有效适用于汽车的控制系统等的技术。背景技术0002微控制器以下也简称“微机”是被组装到家电产品、AV设备。

20、、移动电话、汽车和工业机械等设备中,按照存储在存储器中的程序进行处理,从而对各个设备进行控制的半导体集成电路。0003在汽车中,由于控制装置的故障可能会导致事故,所以对包含微机的部件要求其具有高可靠性,并且将其设计成在发生故障时检测故障并启动安全功能,以使汽车不陷入危险状态。微机不仅对传感器、传动装置进行诊断来检测这些部件的故障,也需要检测微机自身的故障。0004微机的故障检测有各种方法,常用的是通过将CPU二重化来使其进行同一处理,并始终比较总线值的方法。在非专利文献1中公开了主CPU和比较用CPU同时执行同一处理、用比较电路比较各自的结果的方法。0005非专利文献2中提出了能够使2个CPU。

21、切换执行并行工作和二重化冗长比较工作的方式。当CPU取得SWITCH命令这一特殊命令时,其CPU停止工作,成为用于模式切换的待机状态。当2个CPU取得SWITCH命令成为用于模式切换的待机状态时,CPU以新模式开始工作。在性能模式并行工作下性能得以提高,在安全模式二重化比较工作下用比较器对照CPU的输出,从而能够检测CPU的故障,安全性得以提高。0006非专利文献1“IEEEMICRODECEMBER1984”杂志、“FAULTTOLERANCEACHIEVEDINVLSI”0007非专利文献2论文集“INTERNATIONALCONFERENCEONDEPENDABLESYSTEMSANDN。

22、ETWORKS2006”、4554页、论文“ARECONFIGURABLEGENERICDUALCOREARCHITECTURE”发明内容0008但是,上述的非专利文献1中,2个CPU总是进行二重化比较工作,安全性提高,但性能只是1个CPU的性能。0009上述的非专利文献2中,由于是根据处理所必须的安全性的程度来切换并行工作和二重化比较工作,能够确保必要的安全性并提高性能。但是,由于2个CPU使用SWITCH命令这一命令进行模式切换,因此先取得SWITCH命令的CPU,在另一CPU取得SWITCH命令之前的期间,成为待机状态。0010在安全模式下,2个CPU同时取得SWITCH命令,但在性能模。

23、式下,在不同的时刻取得命令。通常利用中断开始模式切换。通常,在微机中可以设定中断处理的优先级,选择中断请求中优先级最高的中断,在其高于CPU的中断屏蔽级时,CPU接受该中断。0011在性能模式下,有时2个CPU的中断屏蔽级不同,一个CPU接受进行模式切换的中说明书CN102360311ACN102360328A2/13页8断请求,另一个CPU不接受该中断请求。在该情况下,先接受中断的CPU执行SWITCH命令的模式切换,成为待机状态,后接受中断的CPU在取得SWITCH命令之前成为待机状态,虽然是性能模式,但是单个CPU进行工作,CPU的处理效率降低。0012因此,本发明的代表性目的在于提供一。

24、种在从性能模式切换到安全模式时,缩短CPU的待机时间,提高性能模式的CPU处理效率的计算机系统。0013本发明的上述及其他目的和新特征,将通过本说明书的记载和附图而得以明确。0014简要说明本申请公开的发明中的代表性技术方案如下。0015即,代表性技术方案的概要是一种计算机系统,具有至少2个CPU和进行对CPU的中断的可编程的中断控制器,能够按中断主要原因设定1个或多个要中断的CPU,在设定多个要中断的CPU时,有如下两种接受方法从处于能接受中断的状态的CPU开始依次接受中断的方法,在所有要中断的CPU成为能够接受状态之后一起接受中断的方法。由此,在用至少2个的多个CPU进行同一中断处理时,出。

25、于交换结果并用软件对照来检测故障的目的,由于在作为对象的所有CPU成为能够接受中断状态之后才接受中断,因此能够缩短先成为能够接受中断的状态的CPU的待机时间。0016代表性另一技术方案的概要是一种计算机系统,具有至少2个CPU、进行对CPU的中断的可编程的中断控制器和比较CPU的输出的比较器,该计算机系统能够切换性能模式和安全模式来进行工作,上述性能模式是CPU分别执行不同的处理而提高性能的模式,上述安全模式是通过CPU执行相同处理并用比较器对照结果来检测故障的模式,能够按中断主要原因设定1个或多个要中断的CPU,能够按上述中断主要原因设定以上述性能模式执行还是以上述安全模式执行的模式。由此,。

26、例如,在当前正在执行的模式为性能模式时,当所选择的中断主要原因的模式为安全模式时,能够抑制向CPU输出其中断请求,在所有中断CPU成为能够接受中断的状态之后,使CPU的处理中断,将工作模式从性能模式切换到安全模式,向CPU输出中断请求,因此,在从性能模式向安全模式切换时,能够缩短CPU的待机时间。0017简要说明本申请公开的发明中的代表性技术方案所得到的效果如下。0018即,由代表性技术方案得到的效果是在用至少2个的多个CPU进行同一中断处理时,作为对象的所有CPU成为可接受中断的状态而接受中断,从而能够缩短先成为可接受状态的CPU的待机时间。0019由代表性技术方案得到的另一效果是在从性能模。

27、式切换到安全模式时,能够缩短CPU的待机时间。附图说明0020图1是表示应用了本发明的计算机系统的第一实施方式中,具有2个CPU的双核微机一例的图。0021图2是表示在第一实施方式中的中断请求优先级设定寄存器一例的图。0022图3是表示第一实施方式中的中断CPU设定寄存器一例的图。0023图4是表示第一实施方式中的中断模式设定寄存器一例的图。0024图5是表示第一实施方式中的图1的中断控制器的内部构成及CPUA和CPUB的连接一例的图。说明书CN102360311ACN102360328A3/13页90025图6是详细表示第一实施方式中的图5的中断控制器的综合控制的工作一例的图。0026图7是。

28、表示第一实施方式中的单独模式中断一例的时序图。0027图8是表示第一实施方式中的同时模式中断一例的时序图。0028图9是表示应用了本发明的计算机系统的第二实施方式中,具有2个CPU,可动态切换进行并行处理的性能模式和进行二重化对照处理的安全模式的双核微机一例的图。0029图10是表示第二实施方式中的图9的中断控制器的内部构成及CPUA和CPUB的连接一例的图。0030图11是详细表示第二实施方式中的图10的中断控制器的综合控制的工作一例的图。0031图12是表示第二实施方式中在性能模式下工作中出现安全模式的中断时一例的时序图。0032图13是表示第二实施方式中的CPU的状态寄存器中断关系一例的。

29、图。0033图14是表示第一实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0034图15是表示第一实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0035图16是表示第一实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0036图17是表示第一实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0037图18是表示第一实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0038图19是表示第一实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0039图20是表示第二实施方式中、微机附带的使用说明书。

30、中关于中断接受方法的记载一例的图。0040图21是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0041图22是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0042图23是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0043图24是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0044图25是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0045图26是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。说明书CN10236031。

31、1ACN102360328A4/13页100046图27是表示第二实施方式中、微机附带的使用说明书中关于中断接受方法的记载一例的图。0047标号说明00481微机00492CPUA00503存储器A00514CPUA总线00525总线桥A00536CPUB00547存储器B00558CPUB总线00569总线桥B005710系统总线005811中断控制器005912外围组件A006013外围组件L006114比较器006211001103中断请求优先级设定寄存器00631104、1105中断CPU设定寄存器00641106中断模式设定寄存器00651107优先顺序判定A00661108比较器0。

32、0671109屏蔽00681110优先顺序判定B00691111比较器00701112屏蔽00711113综合控制具体实施方式0072以下,参照附图来详细说明本发明的实施方式。并且,在用于说明实施例的所有附图中,对同样的构件标注相同附图标记且省略其重复说明。00730074图1是表示应用了本发明的计算机系统的第一实施方式中,具有2个CPU的双核微机一例的图。本实施方式的微机MCU1由CPUA2和CPUB6、存储器A3和存储器B7、CPUA总线4和CPUB总线8、总线桥A5和总线桥B9、系统总线10、中断控制器11、外围组件A12外围组件L13等构成。0075CPUA2是执行命令来进行运算和数据。

33、传输等处理的处理器。存储器A3存储CPUA2所执行的命令和处理的数据。CPUA总线4是用于CPUA2访问存储器A3等组件的总线。总线桥A5是在CPUA2访问利用系统总线10与外部连接的组件时对CPUA总线4和系统总线说明书CN102360311ACN102360328A5/13页1110进行连接控制的控制器。0076CPUB6是执行命令来进行运算和数据传输等处理的处理器。存储器B7存储CPUB6所执行的命令和处理的数据。CPUB总线8是用于CPUB6访问存储器B7等组件的总线。总线桥B9是在CPUB6访问利用系统总线10与外部连接的组件时对CPUB总线8和系统总线10进行连接控制的控制器。00。

34、77中断控制器11是在存在外部中断110或来自外围组件A12L13的中断请求时选择预先设定的请求优先级最高的请求,使CPU进行中断的组件。0078中断控制器11和外围组件A12的接口112包括来自外围组件A12的中断请求信号和表示接受到来自中断控制器11的中断的响应信号。0079中断控制器11和外围组件L13的接口113包括来自外围组件L13的中断请求信号和表示接受到来自中断控制器11的中断的响应信号。0080中断控制器11和CPUA2的接口114包括来自中断控制器11的中断请求信号和来自CPUA2的中断屏蔽信号。中断控制器11在所选择的中断主要原因的请求优先级为来自CPUA2的中断屏蔽信号的。

35、屏蔽级以上时输出中断请求。0081中断控制器11和CPUB6的接口115包括来自中断控制器11的中断请求信号和来自CPUB6的中断屏蔽信号。中断控制器11在所选择的中断主要原因的请求优先级为来自CPUB6的中断屏蔽信号的屏蔽级以上时输出中断请求。0082外围组件A12是例如将模拟输入120转换为数字信号的A/D转换器。0083外围组件L13是例如经由通信接口130进行通信处理的组件。0084图2是表示设定中断主要原因的请求优先级的中断请求优先级设定寄存器一例的图。该中断请求优先级设定寄存器例如内置于中断控制器11中。在此,表示存在4个外部中断主要原因和12个外围组件中断主要原因的情况。中断请求。

36、优先级设定寄存器IPR0、IPR1、IPR2、IPR3是16位的寄存器,分别用4位设定4个中断主要原因的请求优先级。IPR0的位1512设定外部中断0EO、位118设定外部中断1E1、位74设定外部中断2E2、位30设定外部中断3E3。设定值是从B0000B表示二进制数到B1111这16个,数值越大,请求优先级越高。IPR1、IPR2、IPR3对外围组件中断APALPL设定请求优先级。0085图3是表示按中断主要原因设定中断CPU的中断CPU设定寄存器一例的图。该中断CPU设定寄存器例如内置于中断控制器11中。有设定对CPUA2的中断的中断CPU设定寄存器0ICP0、和设定对CPUB6的中断的。

37、中断CPU设定寄存器1ICP1。寄存器的各位与中断主要原因相对应,例如15位进行外部中断0的设定。当设定0时,即使有中断请求也不进行中断。当设定1时,进行中断请求。通过ICP0和ICP1的设定,能够按中断主要原因来选择不进行中断、CPUA中断、CPUB中断、CPUA和CPUB中断这4种中断方法。0086图4是表示关于对CPUA和CPUB这二者进行中断设定的中断主要原因进行单独模式、同时模式的设定的中断模式设定寄存器IMD一例的图,上述单独模式是对成为可接受中断请求状态的CPU单独提出请求的模式,上述同时模式是在CPUA和CPUB这二者成为可接受状态之后同时提出请求的模式。该中断模式设定寄存器例。

38、如内置于中断控制器11中。寄存器的各位与中断主要原因相对应,例如11位进行外围组件中断APA的设定。0表示单独模式,1表示同时模式。说明书CN102360311ACN102360328A6/13页120087图5是表示中断控制器11的内部构成及CPUA2和CPUB6的连接一例的图。中断控制器11由IPR01100IPR31103、ICP01104及ICP11105、IMD1106等各寄存器、优先顺序判定A1107及优先顺序判定B1110、比较器1108及比较器1111、屏蔽1109及屏蔽1112、综合控制1113等各电路构成。0088IPR01100、IPR11101、IPR21102、IPR。

39、31103是中断请求优先级设定寄存器。ICP01104、ICP11105是中断CPU设定寄存器。IMD1106是中断模式设定寄存器。0089优先顺序判定A1107按照寄存器11001106的设定,从中断请求E0PL中选择对CPUA2的请求优先级最高的请求、输出其请求优先级11070。将所选择的请求的模式单独模式或同时模式、中断编号例如、E0是15、E1是14、PL是0等作为属性信号11071而输出。0090比较器1108比较对CPUA2的中断请求优先级11070和存储在CPUA2的状态寄存器SR的中断屏蔽位I3、I2、I1、I0200,在中断请求优先级11070高于中断屏蔽级200时,比较结果。

40、11080为1有请求。在中断请求优先级11070与中断屏蔽级200相同或比其小时,比较结果11080为0无请求。0091屏蔽1109按照来自综合控制1113的屏蔽信号11130,进行比较结果11080的无效化。0092优先顺序判定B1110按照寄存器11001106的设定,从中断请求E0PL中选择对CPUB6的请求优先级最高的请求,并输出其请求优先级11100。将所选择的请求的模式、中断编号作为属性信号11101而输出。0093比较器1111比较对CPUB6的中断请求优先级11100和存储在CPUB6的状态寄存器SR的中断屏蔽位I3、I2、I1、I0600,在中断请求优先级11100高于中断屏。

41、蔽级600时,比较结果11110为1有请求。在中断请求优先级11100与中断屏蔽级600相同或比其小时,比较结果11110为0无请求。0094屏蔽1112按照来自综合控制1113的屏蔽信号11131,进行比较结果11110的无效化。0095综合控制1113进行对CPUA2的中断和对CPUB6的中断的综合控制。输入中断属性信号11071、11101、比较结果11080、11110,并输出比较结果屏蔽信号11130、11131。若要仅述综合控制1113的要点,则是对CPUA2的中断和对CPUB6的中断仅在是单独模式的中断时不进行屏蔽。存在同时模式的中断请求时进行屏蔽。0096图6是详细表示综合控制。

42、1113的工作一例的图。通过比较器输出、请求的模式、中断编号一致/不一致的组合认为有10种情况。A表示对CPUA2的中断,B表示对CPUB6的中断。0097情况1是,比较器输出的AB都是0无请求时,无论请求的模式、中断编号如何,屏蔽信号为0不屏蔽。0098情况2是,比较器输出的A是1有请求为单独模式,B为0,该情况下屏蔽信号为0。0099情况3是,比较器输出的B是1为单独模式,A为0,该情况下屏蔽信号为0。0100情况4是,比较器输出的A是1为单独模式,B是1为单独模式,该情况下屏蔽信号为0。说明书CN102360311ACN102360328A7/13页130101情况5是,比较器输出的A是。

43、1为同时模式,B是0,该情况下屏蔽信号A是1。这表示中断请求优先级高于CPUA2的屏蔽级,但不高于CPUB6的屏蔽级。为了在CPUB6的屏蔽级降低达到能接受中断请求之前不发出对CPUA2的中断请求,使屏蔽信号A为1,使请求无效。0102情况6是,比较器输出的B是1为同时模式,A是0,该情况下屏蔽信号B是1。这表示中断请求优先级高于CPUB6的屏蔽级,但不高于CPUA2。为了在CPUA2的屏蔽级降低达到能接受中断请求之前,不发出对CPUB6的中断请求,使屏蔽信号B为1,使请求无效。0103情况7是,比较器输出的A是1为单独模式,比较器输出的B是1为同时模式,该情况下屏蔽信号B是1。这表示CPUA。

44、2选择的单独模式的中断请求的优先级比CPUB6选择的同时模式的中断请求的优先级高。输出对CPUA2的中断请求,使对CPUB6的中断请求无效。0104情况8是,比较器输出的A是1为同时模式,比较器输出的B是1为同时模式,该情况下屏蔽信号A是1。这表示CPUB6选择的单独模式的中断请求的优先级比CPUA2选择的同时模式的中断请求的优先级高。输出对CPUB6的中断请求,使对CPUA2的中断请求无效。0105情况9是,比较器输出的AB都是1为同时模式、中断编号不一致,该情况下屏蔽信号AB为1。这表示CPUA2和CPUB6选择的同时模式的中断主要原因不同。但是,由于优先级的设定不是按每一CPU单独进行的。

45、,因此不可能出现该情况。0106情况10是,比较器输出的AB都是1为同时模式,中断编号一致,该情况下屏蔽信号AB是0。在该条件下对CPUA2和CPUB6同时输出同时模式的中断。0107图7是表示单独模式中断一例的时序图。CLK是用于使以CPU为首的微机的各功能组件工作的时钟。01081输入来自外围组件A12的中断请求PA。PA是使CPUA2和CPUB6这二者单独中断的请求。01092由于对CPUA2的中断请求模式INTMDA为0单独、中断请求优先级INTLVLA30为12大于CPUA2的中断屏蔽级SRA_I30即11,因此中断控制器11使对CPUA2的中断请求INTREQA为1有请求。0110。

46、3CPUA2在执行任务T1过程中接受中断,分支到PA的中断处理程序T10。将中断请求优先级INTLVLA30的值12复制到状态寄存器的屏蔽位,将SRA_I30更新为12。由于INTLVLA30和SRA_I30成为相同的值,因此中断控制器11使INTREQA从1变为0,撤销中断请求。01114CPUB6执行了任务T2中断处理程序,但由于处理已结束,执行中断复原命令RTE。退避到栈的值返回状态寄存器,从而中断屏蔽级SRB_I30返回为11。01125由于对CPUB6的中断请求模式INTMDB为0单独、中断请求优先级INTLVLB30为12大于CPUB6的中断屏蔽级SRB_I30即11,因此中断控制。

47、器11使对CPUB6的中断请求INTREQB为1有请求。01136CPUB6接受中断,分支到PA的中断处理程序T10。将中断请求优先级INTLVLB30的值12复制到状态寄存器的屏蔽位,将SRB_I30更新为12。由于INTLVLB30和SRB_I30成为相同的值,因此中断控制器11使INTREQB从1变为0,撤说明书CN102360311ACN102360328A8/13页14销中断请求。0114如此,单独模式的中断在CPUA2和CPUB6分别成为可接受请求的时刻可被接受。0115图8是表示同时模式中断一例的时序图。01161输入来自外围组件A12的中断请求PA。PA是对CPUA2和CPUB。

48、6二者同时中断的请求。01172由于对CPUA2的中断请求模式INTMDA是1同时,中断请求优先级INTLVLA30是12大于CPUA2的中断屏蔽级SRA_I30即11,但对CPUB6的中断请求优先级INTLVLB30是12与CPUB6的中断屏蔽级SRB_I30即12相同,因此中断控制器11使对CPUA2的中断请求INTREQA为0无请求。01183CPUB6执行了任务T2中断处理程序,但处理已结束,因此执行中断复原命令RTE。退避到栈的值返回状态寄存器,从而中断屏蔽级SRB_I30返回为11。01194由于中断请求优先级INTLVLA30是12大于CPUA2的中断屏蔽级SRA_I30即11,。

49、对CPUB6的中断请求优先级INTLVLB30是12大于CPUB6的中断屏蔽级SRB_I30即11,因此中断控制器11使对CPUA2的中断请求INTREQA为1有请求。01205中断控制器11与4相同,使对CPUB6的中断请求INTREQB为1。01216CPUA2在执行任务T1过程中接受中断,分支到PA的中断处理程序T10。将中断请求优先级INTLVLA30的值12复制到状态寄存器的屏蔽位,将SRA_I30更新为12。由于INTLVLA30和SRA_I30成为相同的值,因此中断控制器11使INTREQA从1变为0,撤销中断请求。01227CPUB6接受中断,分支到PA的中断处理程序T10。将中断请求优先级INTLVLB30的值12复制到状态寄存器的屏蔽位,将SRB_I30更新为12。由于INTLVLB30和SRB_I30成为相同的值,因此中断控制器11使INTREQB从1变为0,撤销中断请求。0123如此,同时模式的中断在CPUA2和CPUB6都成为可接受请求的时刻可被接受。0124图14图19是本实施方式的微机1附带的使用说明书中关于中断的接受方法的记载一例的图。使用说明书中记载了图14图19所示的中断的接受方法。0125例如,在图14所示使用说明书中记载了关于中断控制器11的中断CPU设定寄存器等,能够按中断主要原因来设定1个或多个中断CPU,。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1