指令冗余技术
发布时间:2014/8/2 18:57:19 访问次数:2589
当计算机系统受到外界干扰, M24C16TW6破坏了CPU正常的工作时序,可能造成程序计数器PC的值发生改变,跳转到随机的程序存储区。当程序跑飞到某一单字节指令上,程序便自动纳入正轨;当程序跑飞到某一双字节指令上,有可能落到其操作数上,则CPU会误将操作数当操作码执行;当程序跑飞到三字节指令上,因它有两个操作数,出错的机率会更大。
为了解决这一问题,可采用在程序中人为地插入一些空操作指令NOP或将有效的单字节指令重复书写,此即指令冗余技术。由于空操作指令为单字节指令,且对计算机的工作状态无任何影响,这样就会使失控的程序在遇到该指令后,能够调整其PC值至正确的轨道,使后缤的指令得以正确的执行。
但我们不能在程序中加入太多的冗余指令,以免降低程序正常运行的效率。一般是在对程序流向起决定作用的指令之前以及影响系统工作状态的重要指令之前插入两三条NOP指令,还可以每隔一定数目的指令插入NOP指令,以保证跑飞的程序迅速纳入正确轨道。
指令冗余技术可以减少程序出现错误跳转的次数,但不能保证在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了。解决这个问题还必须采用软件容错技术,使系统的误动作减少,并消灭重大误动作。
当计算机系统受到外界干扰, M24C16TW6破坏了CPU正常的工作时序,可能造成程序计数器PC的值发生改变,跳转到随机的程序存储区。当程序跑飞到某一单字节指令上,程序便自动纳入正轨;当程序跑飞到某一双字节指令上,有可能落到其操作数上,则CPU会误将操作数当操作码执行;当程序跑飞到三字节指令上,因它有两个操作数,出错的机率会更大。
为了解决这一问题,可采用在程序中人为地插入一些空操作指令NOP或将有效的单字节指令重复书写,此即指令冗余技术。由于空操作指令为单字节指令,且对计算机的工作状态无任何影响,这样就会使失控的程序在遇到该指令后,能够调整其PC值至正确的轨道,使后缤的指令得以正确的执行。
但我们不能在程序中加入太多的冗余指令,以免降低程序正常运行的效率。一般是在对程序流向起决定作用的指令之前以及影响系统工作状态的重要指令之前插入两三条NOP指令,还可以每隔一定数目的指令插入NOP指令,以保证跑飞的程序迅速纳入正确轨道。
指令冗余技术可以减少程序出现错误跳转的次数,但不能保证在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了。解决这个问题还必须采用软件容错技术,使系统的误动作减少,并消灭重大误动作。