Combined circuit and microarchitecture techniques for effective soft error robustness in SMT processors