Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Network Articles
Page 51 of 66
What are the types of Dynamic Branch Prediction?
There are two different approaches for expressing the history of branches as shown in the figure. In the explicit dynamic technique, branch history is explicitly stated in the form of history bits. The actual implementation of this technique using one, two, or three bits for expressing the history. The second approach is the implicit dynamic technique, in which branch history is implicitly stated by the existence of an entry for a predicted branch target access path.1-bit dynamic prediction − This is the simplest dynamic technique. In a 1-bit prediction, a single bit per branch can define whether the final occurrence ...
Read MoreWhat is Static Prediction?
In a static prediction technique, the branch is ‘always taken’ or the branch is ‘always not-taken’ approaches. It can make static predictions by investigating particular attributes of the object code. In actual implementation, static predictions are either opcode-based, displacement-based, or based on a hint delivered by the compiler, as shown in the figure.Opcode-based predictions are made by assuming that the branch will be ‘taken’ for certain opcodes and ‘not taken’ for others. This prediction technique is used, for instance, in the MC 88110 and PowerPC 601/603 processors. As shown in the table, shows how opcode-based prediction is accomplished in the ...
Read MoreWhat is Fixed Prediction?
In a fixed prediction a similar guess is continually made, either ‘always taken’ or ‘always not-taken’ approaches.‘Always not-taken approach’ − The ‘always not taken’ approach (or ‘not taken’ approach for short) has the following typical processing scheme are as follows −It can detect an unresolved conditional branch and guess it as not taken’.It can continue with the execution of the sequential path, but in preparation for a wrong guess, start the execution of the taken path (for example, calculate BTA) in parallel.When the condition becomes evaluable, check the guess.If the guess is correct, continue with the execution of the sequential ...
Read MoreWhat are the schemes of Branch prediction?
The branch prediction scheme used in a processor has a central impact on its execution. Therefore, some effort has been placed into promoting an effective scheme.A prediction can be a fixed or a true prediction. In a fixed prediction the same guess is continually made, either ‘taken’ or ‘not-taken’. This is a one outcome guess. The ‘always not taken’ approach prefers the ‘not taken’ path, so the taken penalty (TP) is typically higher than the not-taken penalty (NTP).The ‘not-taken’ scheme is easier to implement than the ‘taken’ scheme. A large number of pipelined microprocessors employ this scheme, including certain earlier ...
Read MoreHow to handle unresolved conditional branch processing policies in computer architecture?
A conditional branch cannot be computed earlier than the referenced conditional is known. For instance, if the specified condition defines the sign of the outcome of the previous instruction, the precondition of the computation is that the previous instruction has been performed.Until the referenced condition will become known, the conditional branch is stated to unresolved. There are three basic elements utilized by processors to cope with unresolved conditional branches such as blocking branch processing, speculative execution, and multiway branching, as shown in the figure −Blocking branch processing is the trivial element to cope with unresolved conditional branches. Execution of the ...
Read MoreWhat is design space of Branch processing in computer architecture?
Branch processing has two methods, such as the layout of branch processing and its microarchitectural implementation of branch processing, as shown in the figure. Branch processing consists of three major subtasks such as the detecting branches, handling unresolved conditional branches, and accessing the branch target path.The first aspect is branch detection. Initially, processors detected branches during instruction decoding. However, the earlier a processor identifies branches, the previous branch processing can be initiated and the less penalties there are. Thus, novel schemes try to encounter branches as early as possible.The most advanced technique of branch detection prevents explicit decoding. Instead, branch ...
Read MoreWhat is design space of delayed branching?
There are two possible ways of extending the basic concepts such as increasing the multiplicity of delay slots or introduce annulment of instruction in the delay slot. Most architecture provides one delay slot only. Few architectures are offering multiple delay slots, such as the MIPS-X.The other possibility to fill more delay slots is to introduce annulment (also called nullification or squashing). The basic idea is to introduce options in using delay slots, which can permit more delay slots to be filled than in the case of the basic scheme. Four different types of annulment can be introduced. The four variants ...
Read MoreWhat is delayed branching?
When branches are processed by a pipeline simply, after each taken branch, at least one cycle remains unutilized. This is because of the assembly line-like apathy of pipelining. Instruction slots following branches are known as branch delay slots.Delay slots can also appear following load instructions; these are defined load delay slots. Branch delay slots are wasted during traditional execution. However, when delayed branching is employed, these slots can be at least partly used.Principle of Delayed branchingtiti+1ti+2ti+3ti+4BbFDEWBAaddFDEWBCsubFDBTAFIn the figure, it can transfer the add instruction of our program segment that initially preceded the branch into the branch delay slot. With delayed ...
Read MoreWhat are the various approaches for branch handling in computer architecture?
Processors use a large variety of approaches and techniques for branch handling. Three methods give an increase to the basic methods of in-branch handling. These are as follows −whether branch delay slots are usedhow unresolved conditional branches are handledwhether the architecture provides represents to prevent conditional branches.The fundamental approaches to branch handling reflect these questions. According to how to branch handling responds to these questions it can determine delayed branching, blocking and speculative branch processing, multiway branching, and guarded execution.The first method is whether branch delay slots are used. The simple branch handling generally results in one or two wasted ...
Read MoreWhat is the performance measure of branch processing in computer architecture?
It can evaluate and compare different branch processing techniques, it can require a performance measure. Let us consider the execution of a branch instruction in a four-stage pipeline as shown in the figure. If the branch is processed straightforwardly, the branch target address (BTA) will be computed in cycle ti+3.Then the branch target instruction can be fetched in cycle ti+4. Thus, the branch target instruction is fetched with a 3 cycles delay in comparison to the fetching of the branch instruction. This means a 2-cycle penalty compared to the sequential processing.The performance of branch processing in a certain typical situation. ...
Read More