On 7/18/2011 12:55 PM, Shmuel Metz (Seymour J.) wrote:
Are you saying that the processor starts fetching instructions for the branch prior to executing it?
Absolutely! There is a multi-stage pipeline that allows the processor to get ahead of the current instruction's execution to fetch and decode instructions, resolve addresses, fetch operands, etc. in advance of the actual instruction execution. Branch prediction (with a history table or target buffer) is used to help ensure the pipeline keeps flowing even when branches are encountered. IIRC, some models even fetch down more than one branch target path to minimize the performance hit if the first prediction is wrong.
-- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 [email protected] http://www.phoenixsoftware.com/ ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

