Home

News

Forums

Hardware

CPUs

Mainboards

Video

Guides

CPU Prices

Memory Prices

Shop



Sharky Extreme :


Latest News


- Tripp Lite Announces Five New Surge Suppressors
- Asetek's LCLC Cooling System Featured in the Atomic HD 4870 X2
- OCZ Unleashes the Triple-Channel DDR3 Blade Series
- VIA Unveils the Triple-Punch Trinity Platform
- Micron NAND Hits One Million Write Cycles
News Archives

Features

- SharkyExtreme.com: Interview with Microsoft's Dan Odell
- SharkyExtreme.com: Interview with ATI's Terry Makedon
- SharkyExtreme.com: Interview with Seagate's Joni Clark
- Half-Life 2 Review
- DOOM 3 Review

Buyer's Guides

- November Value Gaming PC Buyer's Guide
- September Extreme Gaming PC Buyer's Guide
- July High-end Gaming PC Buyer's Guide

HARDWARE

  • CPUs

    - Intel Core i7-965 XE & Core i7-920 Review

  • Motherboards

    - Intel DX48BT2 (X48) Motherboard Review
    - AMD 790GX Chipset Review
    - Gigabyte GA-MA790FX-DS5 Motherboard Review
    - AMD 780G Chipset Review

  • Video Cards






  • Predication is a compiling technique used in the Itanium that optimizes or removes branching code by working it so that much of the code runs in parallel. By designing software and compilers to rework branches into parallel code with fewer or no branches, and by running this code on a "wide" processor that can process this code in parallel, which the Itanium is intended to be able to do, the number of cycles it takes to complete a task drops.

    What predication does is minimize the time it takes to run if-then-else situation and uses processor width to run both the 'then' and 'else' in parallel. When the 'if' branch is determined, the incorrect branch's result is discarded. By removing branches and making code more parallel, predication reduces the number of cycles it takes to complete a task while making better use of a wide processor.

    Jerry Huck of HP gave a great metaphor for of what predication is in a presentation he gave back in 1997 at the Microprocessor Forum. Here is a reworking of his example:

    Imagine you walk into a bank. You will make either a deposit or withdrawal. The teller may predict you will make a withdrawal as they know you usually do, so they fill out the withdrawal form as you get in line. If you get to the front and make a withdrawal, all is well, but if you are there to make a deposit, the teller then has to fill out the deposit slip and the time it takes to complete the transaction increases.

    With predication, the teller is ambidextrous and, when you get in line, they fill out both a withdrawal and deposit slip, so that when you get to the front, no matter what task you intend on doing, the process will run without a hitch.

    In the metaphor, predication is the teller's knowledge that they should fill out both the deposit and withdrawal forms before they know exactly what you want. The teller's ambidexterity, the ability to fill out both forms at once, is akin to the ability of an EPIC processor to run instructions in parallel. Predication removes or lessens the penalty of if-then and allows the if-then-else process to run with as few steps as possible.

    Another side benefit of predication is that, by removing branches, there are less branch mispredicts. Branch mispredicts necessitate that the pipeline be flushed, a very cycle expensive procedure, so by lessening the number of branches, predication can greatly reduce wasted processor time.

    Of course, for predication to be useful, it must run on a processor that can do these instructions in parallel, which is exactly what the Itanium does with its parallel execution core…





    Copyright © 2002 INT Media Group, Incorporated. All Rights Reserved. About INT Media Group | Press Releases | Privacy Policy | Career Opportunities