Software-Based Self-Test Techniques for Dual-Issue Embedded Processors