Log In
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

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

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.

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.
You meant branch prediction rt?
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.
0 votes

Pipe lining as parallel processing is not feasible in general.

Related questions

9 votes
1 answer
3 votes
1 answer
Macro expansion is done in pass one instead of pass two in a two pass macro assembler because _________
asked Sep 13, 2014 in Compiler Design Kathleen 857 views
11 votes
1 answer
A simple and reliable data transfer can be accomplished by using the 'handshake protocol'. It accomplishes reliable data transfer because for every data item sent by the transmitter _______.
asked Sep 13, 2014 in Computer Networks Kathleen 1.8k views
25 votes
7 answers
Complexity of Kruskal’s algorithm for finding the minimum spanning tree of an undirected graph containing $n$ vertices and $m$ edges if the edges are sorted is _______
asked Sep 13, 2014 in Algorithms Kathleen 11.1k views