DCT is usually used in image processing but in this paper we use it to detect the run time control errors. In this paper, using the branch instruction, a program is first divided into several data computing blocks (DCBs); each DCB can then be recognized as an image. To get the signatures of each DCB, we then use one dimension discrete cosine transform (1-D DCT) to compute each DCB to generate the 5-bits relay DCT signature (R-DCT-S) and 32-bits final DCT signature (F-DCT-S). These generated signatures are then embedded into the instruction memory and then used to do the run time error checking. For watchdog, the extra hardware should not reduce the processor performance, not increase the fault detection latency and not increase the memory overhead to store the signatures. As for improving the processor degradation, the whole block error checking is done after the branch instruction; the fault detection latency is improved by checking the intermediate error at the R-type instruction;, and the memory overhead is reduced by storing the R-DCT-S to the unused sections of the R-type instruction. The experimental results show that the proposed watchdog gets very high error detection coverage and shortest error detection latency to detect either single fault or multi-faults. Index Terms-control flow check, embedded signature monitoring technique, data computing block(DCB), error detection coverage, error detection latency, fault injection, watchdog processor