I want to ask, is there any application of the fault tolerance ability in microcontroller? I was a bit confused, will there be any fault when the microcontroller perform something if the input is right? if there is, what is the example of it? Sorry if the question is dumb.
Fault tolerance is important in situations where failure is not an option. It's not limited to making sure inputs are correct, but also that your current state does not spontaneously change.
For example, how sure do you want to be that your bank account doesn't spontaneously change value? Or the software controlling the plane you're riding in always working?
One of the more common fault tolerance devices is Error Correction Code memory. This protects against random bit flips which can happen in DRAM due to external effects such as radiation. As an extreme case, the Wiki article claims that the deep space satellite Cassini suffers on average 280 errors a day! It would be extremely poor planning if you lost a multi-billion dollar project due to any single one of these.
Another common case for fault tolerance is protection against (some) software bugs. There might be some rare situations where the software gets stuck in an infinite loop. In these cases a watchdog timer can be used to ensure that if this happens, then a soft reset is forced to try and recover from this fault case.
Fault tolerance is also being researched for application in extremely low power electronics. When transistors are run at very low voltages, they have an increased chance of not operating as intended. One idea is if your chip is able to deal with faults when they happen, you can take advantage of the power savings when things go right, and only pay the higher power cost when a fault occurs.