Home
Concepts
Classifications
Glossary Terms
References
Authors
Classifications - Overview RISC Concepts CISC Concepts EPIC Concepts

Supports Predication

Predication is a new way EPIC processors handle branches.  In past CISC and RISC chips, there were many times the CPU guessed the wrong branch, which causes the processor to stall.  Now, when EPIC CPU's encounters a branch situation, it will begin executing the code along all paths of the branch, exploiting as much parallelism as possible. Frequently the right path to take on a branch depends on the result from instructions still in the pipeline.  When this condition is encountered by traditional CISC and RISC based processors they will choose one of the paths of the branch to execute and hope that it is the one that is to be taken.  If it is then they can continue on with no time wasted for not knowing which way to go when the branch was encountered. On the other hand, if they chose the wrong path, then they must reverse any operations done down the incorrect path and then start over with the correct path.  If an EPIC processors encounters this condition the compiler can make it so that both paths of a branch are executed in parallel.  After the instructions that were still executing in the pipe line are finished,  the CPU stores the result of the right path, and discards the others. The down side to predications is the CPU is always going down many wrong paths of the branch, so resources are being wasted, in a sense. But it is worth it to not have to guess all the time.

Here is a Story (Example) to help you understand predication better.
 

Previous Home Next