in CO and Architecture retagged by
2,048 views
6 votes
Many of the advanced microprocessors prefetch instructions and store it in an instruction buffer to speed up processing. This speed up is achieved because ________
in CO and Architecture retagged by
2k views

4 Answers

23 votes
 
Best answer
Because CPU is faster than memory. Fetching instructions from memory would require considerable amount of time while CPU is much faster. So, prefetching the instructions to be executed can save considerable amount of waiting time.
selected by
by

2 Comments

Thanks Ayush, 

those who doesnt want to click on the link

Read below

 

In computer architectureinstruction prefetch is a technique used in central processor units to speed up the execution of a program by reducing wait states.

Prefetching occurs when a processor requests an instruction or data block from main memory before it is actually needed. Once the block comes back from memory, it is placed in a cache. When the instruction/data block is actually needed, it can be accessed much more quickly from the cache than if it had to make a request from memory. Thus, prefetching hides memory access latency and hence, it is a useful technique for addressing the memory wall issue.

Since programs are generally executed sequentially, performance is likely to be best when instructions are prefetched in program order. Alternatively, the prefetch may be part of a complex branch prediction algorithm, where the processor tries to anticipate the result of a calculation and fetch the right instructions in advance. In the case of dedicated hardware (like a Graphics Processing Unit) the prefetch can take advantage of the spatial coherence usually found in the texture mappingprocess. In this case, the prefetched data are not instructions, but texture elements (texels) that are candidates to be mapped on a polygon.

The first mainstream microprocessors to use some form of instruction prefetch were the Intel 8086 (six bytes) and the Motorola 68000 (four bytes). In recent years, many high-performance processors use prefetching techniques.

0
2 votes
In computer architecture, instruction prefetch is a technique used in microprocessors to speed up the execution of a program by reducing wait states.

So, the speed up is achieved because the wait states are reduced.
1 vote
Instruction prefetching is also useful in case of execution of branch instruction on pipelined processors.

Target instructions can be prefetched thereby reducing the chance of pipeline flush/clean when a branch instruction is executed.

2 Comments

You meant branch prediction rt?
0
Like Instruction Prefetching, Branch prediction is yet another method for avoiding stall cycles during execution of branch instruction in pipelined processor.

Instruction Prefetching is like caching.
1
0 votes

Pipe lining as parallel processing is not feasible in general.

Related questions