错误处理方法和信息处理装置制造方法及图纸

技术编号:2832051 阅读:132 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种错误处理方法和信息处理装置。错误处理方法通过以下步骤来对在CPU的总线上生成的错误进行处理:通过总线错误输入部分向CPU输入在CPU的指令总线和数据总线中的至少一个上生成的总线错误;通过CPU的总线错误计数器部分对总线错误计数;以及基于总线错误计数器部分的值来指定与CPU相耦合的存储器部分的区域。

【技术实现步骤摘要】

本专利技术一般地涉及错误处理方法和信息处理装置,更具体地,涉及用 于处理在指令总线或数据总线中生成的总线错误的错误处理方法,以及配备有具有哈佛结构(Harvard architecture)的CPU等的信息处理装置。技术背景对于在车辆等中的应用,要求为微处理器的CPU中的存储器部分提供 奇偶校验或者ECC校验功能。在传统的CPU中,如果在总线访问(bus access)的过程中生成了错误,则无法将正确的指令代码提供到CPU,并 且CPU不得不停止工作。避免CPU这样停止工作的一种方法是当在总线 访问的过程中生成错误时向CPU输入外部中断,但是根据该方法,有可能 在转移到中断例程(interrupt routine)之前执行了产生总线错误的指令代 码。另外,因为CPU并不总是执行如转移指令的情况中的进行总线访问的 指令代码,所以有可能生成毫无意义的中断。此外,在CPU具有指令总线和数据总线相分立的哈佛结构的情况下, 在指令总线上生成针对某指令的总线错误之后,有可能生成针对在该指令 之前执行的指令的数据总线错误。由于这个原因,有必要优先于指令总线 错误来处理数据总线错误。例如,由日本富士通有限公司制造的FR系列 精简指令集计算机(RISC)微型计算机是配备了具有哈佛结构的CPU的 微处理器的一个示例。在这样的CPU中,如果生成了未定义的指令,则指 令译码器部分的指令定序器(sequencer)中的异常处理器(exceptionhandler)被启动,从而通过异常中断陷阱(Exception Interrupt Trap, EIT)过程,生成用于获取未定义的中断例程的起始地址的指令以及用于 保存指示CPU状态的处理器状态(Processor Status, PS)寄存器以及程序 计数(ProgramCounter, PC)寄存器的内容的指令,并转移到中断例程。 图1是示出了传统CPU的重要部分的结构的系统框图。图l所示的传统CPU—般地包括获取部分(F部分)101、译码部分(D部分)102、执 行部分(E部分)1Q3、存储器存取部分(M部分)104以及通用寄存器部 分105。F部分101执行指令获取,以使用内部指令总线Ibus来获得指令代 码。所获得的指令代码被设置在中间寄存器Tf中,并且此状态中的地址被 设置在中间寄存器Tia—f中。F部分101包括Ibus访问控制器111。D部分102解释所获得的指令代码,并为将由E部分103执行的运算 (或计算)和运算模式(加法、减法等)准备必要的数据。更具体地,从 所获得的指令代码中译码出在E部分103中的运算单元(ALU) 132的运 算模式,并将用于所述的运算的寄存器值设置在中间寄存器Ta和Tb中。 当经由内部数据总线Dbus来写入时,将被写入的值被设置在中间寄存器 Tdd中。当由外部中断所引起的内部错误、未定义的指令等被生成时,指 令定序器121内的异常处理器122转移到中断例程,因此,D部分102自 动地提供用于读取中断向量表并存储通用寄存器部分105的PS寄存器和 PC寄存器的内容的指令。在指令定序器121中提供了译码器123和多路转 换器124。 D部分102包括用于锁存由指令定序器121译码得到的运算模 式的中间寄存器Tdec、矩阵(或选择器)125和多路转换器126。图2是用于说明传统CPU的D部分102中的指令定序器121的操作 的流程图。在新获得指令代码之后,该指令代码被输入到D部分102 (步 骤Sl),并且该指令代码被译码(步骤S2)。如果作为译码结果的指令 代码是正常的,则指令的运算模式和通用寄存器部分105的对于所述运算 有必要的内容被设置在中间寄存器Tdec、 Ta、 Tb和Tdd中,并且被提供 到E部分103 (步骤S3)。此后,在下一个周期中,下一个指令被输入并 且开始译码。如果译码结果是未定义指令或者外部中断,则从向量表中获得向量地 址,以使得转移到异常中断的例程,并且用于计算转移地址的运算模式和 通用寄存器部分105的对于运算有必要的内容被提供到E部分103 (步骤 S4)。因为向量表内的每一个地址的数据指向相应异常处理的起始地址,所以使用向量表的技术通常被用作转移到异常处理的方法,并且每一个地 址的数据还被称作向量地址。在下一个周期中,用于存储PS寄存器的内 容的运算模式以及通用寄存器部分105的对于运算有必要的内容被提供到E部分103 (步骤S5)。此后,用于存储PC寄存器内容的运算模式和通 用寄存器部分105的对于运算有必要的内容被提供到E部分103 (步骤 S6)。步骤S4到S6形成了 EIT过程。此后,进行检查,以判断是否存在 其它中断或错误(步骤S7),如果不存在其它中断或错误(步骤S7中的 否),则对下一指令进行译码。另一方面,如果存在其它中断或错误(步 骤S7中的是),则重复通过EIT过程来进行的向量地址的获取。E部分103从D部分102接收运算模式信号和运算数据,并执行运 算。更具体地,E部分103执行指令运算,并将由运算单元132获得的结 果设置在中间寄存器Te中。如果由于指令的组合导致发生寄存器冒险 (register hazard),则E部分103使用寄存器旁路路线131直接从运算单 元132的输出来设置中间寄存器Ta或Tb和Tdd用来对E部分103进行输 入。E部分103包括利用D部分102内的中间寄存器Tdd的输出来设置的 中间寄存器Ted。M部分104从E部分103接收数据,并使用内部数据总线Dbus来进 行针对存储器部分的读和写。更具体地,M部分104进行用于指令运算结 果的存储器部分、通用寄存器部分105 (PC、 RO到R15)等的读和写。M 部分104包括中间寄存器Tia—m和Dbus访问控制器141。通用寄存器部分105形成CPU的内部寄存器,并包括PC寄存器、PS 寄存器、运算寄存器R0到R15以及多路转换器151。在图1中,ID表示指令代码,IA表示指令代码的地址,而iaccess、 irdy、 IRDY和ISZE分别表示指令代码的存取请求、指令代码的可用输 出、指令代码的可用输入和指令代码的大小。另外,DA、 DDout和DDin 分别表示数据地址、输出数据和输入数据。此外,daccess、 drdy、 DRDY 和DSIZE分别表示数据的存取请求、数据的就绪输出、数据的就绪输入和 数据的大小。指令的地址被存储在各部分101到104的中间寄存器Tia—f —Tia一dec—Tia—e — Tia一m中。如果对于某指令,运算结果被设置在运算寄存器Ri (1=0到15)中,并且运算寄存器Ri将被用于下一个指令,则设置在运算 寄存器Ri中的运算结果将无法及时地到达D部分102。由于这个原因,提 供了允许将运算单元132的输出设置在中间寄存器Ta或Tb中的路线, 即,寄存器旁路路线131。按CPU获取指令的顺序来执行指令的处理。每输入一个时钟,就有一 个指令被顺序地传送到F部分101、 D部分102、 E部分103和M部分 104,并且CPU根据该指令来操作。如果指令I1被F部分101获得,并且 响应于下一个时钟,这个指令I1被传送到D部分102,则F部分101响应 于所本文档来自技高网...

【技术保护点】
一种用于处理在CPU的总线上生成的错误的错误处理方法,包括以下步骤:a)通过总线错误输入部分,向所述CPU输入在所述CPU的指令总线和数据总线中的至少一个上生成的总线错误;b)通过所述CPU的总线错误计数器部分来对总线错误计 数;以及c)基于所述总线错误计数器部分的值,指定与所述CPU相耦合的存储器部分的区域。

【技术特征摘要】
JP 2006-9-29 2006-2696351.一种用于处理在CPU的总线上生成的错误的错误处理方法,包括以下步骤a)通过总线错误输入部分,向所述CPU输入在所述CPU的指令总线和数据总线中的至少一个上生成的总线错误;b)通过所述CPU的总线错误计数器部分来对总线错误计数;以及c)基于所述总线错误计数器部分的值,指定与所述CPU相耦合的存储器部分的区域。2. 如权利要求1所述的错误处理方法,包括d) 如果在所述指令总线上生成所述总线错误并做出判断以转移到未 定义指令的异常向量,或者如果在所述数据总线上生成了所述总线错误, 则当生成所述总线错误时,更新所述总线错误计数器部分的值。3. 如权利要求l所述的错误处理方法,包括e) 如果在所述数据总线上生成所述总线错误,则当生成所述总线错 误时,更新所述总线错误计数器部分的值。4. 如权利要求1所述的错误处理方法,包括f) 当在所述指令总线上生成所述总线错误时,在确认针对刚刚在前的 指令没有生成总线错误之后,执行未定义指令的处理。5. 如权利要求1所述的错误处理方法,包括g) 当在所述数据总线上生成所述总线错误时,通过禁止由随后的指 令对通用寄存器部分进行设置来执行未定义指令的处理。6. 如权利要求1所述的错误处理方法,包括h) 当获得指令时在所述存储器部分中生成奇偶校验错误的时候,向所述总线错误输入部分输入错误信号,其中,当所述CPU做出判断以执行生成了错误的指令时,所述CPU 执行异常中断陷阱(EIT)过程,并转移到错误处理的例程。7. 如权利要求1所述的错误处理方法,包括i) 当在所述数据总线上生成奇偶校验错误并且错误信号通过所述总线错误输入部分被输入到所述CPU时,取消对随后指令的处理。8. 如权利要求1所述的错误处理方法,其中,所述的步骤C)基于所 述总线错误计数器部分的值、指令或数据的地址以及读或写信号来指定与 所述CPU相耦合的所述存储器部分的页。9. 如权利要求1所述的错误处理方法,包括j)通过将指令总线错误和数据总线错误存储在指示所述CPU的状态 的处理器状态寄存器中,来指示所述总线错误的生成。10. 如权利要求1所述的错误处理方法,包括k)当生成指令总线错误或数据总线错误时执行重试,并且如果即使 在所述重试之后还是生成总线错误,则执行总线错误处理。11. 一种信息处理装置,包括 CPU;存储器部分,所述存储器部分与所述CPU相耦合;总线错误输入部分,所述总线错误输入部分被配置用于向所...

【专利技术属性】
技术研发人员:笹崎勋
申请(专利权)人:富士通微电子株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1