我爱学习网 52xx.cn我爱学习网菜单按钮
  • 搜索

计算机也需要看门狗吗?

生活中,看门狗可以让主人安安心心地工作和休息,而不必时时刻刻提防窃贼的出现或者其他异常情况的发生。事实上,计算机芯片设计中也有类似的应用。

计算机控制电路中由于受各种各样的因素影响控制程序经常因出错而陷入死循环进而导致系统崩溃,或使控制器不能正常运行。在大型工业控制系统中,一旦微控制器不能正常运行而又没有被及时发现,后果往往不堪设想。那么如何防范这种异常情况的发生呢?一旦出现异常该如何自动修复呢?于是人们就设计了一种电路来定时检查微控制器和计算机的运行状态,这就是看门狗电路。这个设计的目的是希望微控制器能在无需人工干预的情况下仍然能自动、连续地正常运行。

那么,看门狗电路是怎样设计的呢?其实,看门狗电路只是一个定时器,或者说是一个计数器。它以一定的频率自动计数。一般来说,看门狗电路启动的时候,主程序“喂食”给“狗”一个较大的数字,看门狗电路每个时钟周期自动减1,这样一直减到0。如果这段时期内主程序没有重置看门狗电路,也就是没有重新“喂食”给看门狗一个较大的数字,那么看门狗就会“溢出”。这就好比主人很长时间没有喂狗,狗饿极了(也就是计数器为0)就会汪汪叫。“狗叫”就代表着看门狗电路中断发生了。控制系统接收到看门狗电路中断信号就会重置整个微控制器,使控制程序重新启动。当然,如果主程序运行良好,看门狗电路计数器会被主程序每隔一段时间自动重设(喂食),因此也就不会发生看门狗电路中断(狗叫)了。一旦主程序发生故障,出现崩溃或者死循环,看门狗计数器就不会被重设,看门狗电路也就不会中断并引起系统复位了,计算机只好重新运行主程序从而保证系统稳定运行。

看门狗电路一般作为单片机的一个组成部分,运行在嵌入式系统和微控制器上。计算机也需要“看门狗”,是不是一件奇妙的事?!

【发散思维】计算机的体系结构是怎么影响计算机性能的?