Architectural support for secure and survivable embedded software