Hardware assisted pre-emptive control flow checking for embedded processors to improve reliability

  • Authors:
  • Roshan G. Ragel;Sri Parameswaran

  • Affiliations:
  • University of New South Wales and National ICT Australia, Sydney NSW, Australia;University of New South Wales and National ICT Australia, Sydney NSW, Australia

  • Venue:
  • CODES+ISSS '06 Proceedings of the 4th international conference on Hardware/software codesign and system synthesis
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reliability in embedded processors can be improved by control flow checking and such checking can be conducted using software or hardware. Proposed software-only approaches suffer from significant code size penalties, resulting in poor performance. Proposed hardware-assisted approaches are not scalable and therefore cannot be implemented in real embedded systems. This paper presents a scalable, cost effective and novel fault detection technique, to ensure proper control flow of a program. This technique includes architectural changes to the processor and software modifications. While architectural refinement incorporates additional instructions, the software transformation utilizes these instructions into the program flow. Applications from an embedded systems benchmark suite are used for testing and evaluation. The overheads are compared with the state of the art approach that performs the same error coverage using software-only techniques. Our method has greatly reduced overheads compared to the state of the art. Our approach increased code size by between 3.85-11.2% and reduced performance by just 0.24-1.47% for eight different industry standard applications. The additional hardware (gates) overhead in this approach was just 3.59%. In contrast, the state of the art software-only approach required 50-150% additional code, and reduced performance by 53.5-99.5% when error detection was inserted.