Registers - processor, Computer Engineering

Assignment Help:

These will be independent of each other and will not affect to each other, and so they can be fed into two different implementations units and run in parallel. The ability to remove instruction level parallelism (ILP) from the instruction stream is necessary for good performance in a modern CPU.

Predicting which code can and cannot be divide up this way is a very difficult task. In many cases the inputs to one line are dependent on the output from a different, but only if some other condition is true. For instance, take the slight modification of the example noted before, A = B + C; IF A==5 THEN D = F + G. In this case the calculations stay independent of the other, but the second command needs the results from the first calculation in order to know if it should be run at all.

In these cases the circuitry on the CPU typically "guesses" what the condition will be. In something like 90% of all cases, an IF will be taken, suggesting that in our example the second half of the command can be safely fed into another core. Though, getting the guess wrong can cause a significant performance hit when the result has to be thrown out and the CPU waits for the results of the "right" command to be calculated. Much of the improving performance of modern CPUs is due to enhanced prediction logic, but lately the improvements have started to slow. Branch prediction accuracy has arrived at figures in excess of 98% in recent Intel architectures, and enhancing this figure can only be achieved by devoting more CPU die space to the branch predictor, a self-defeating tactic because it would make the CPU more expensive to manufacture.


Related Discussions:- Registers - processor

Memory organization - computer architecture, Memory Organization - Computer...

Memory Organization - Computer architecture: BASIC CONCEPTS: Address space - 16-bit : 216 = 64K mem. locations - 32-bit : 232 = 4G mem. locations -          40-b

Define external variable declaration, Summarize the distinction between an ...

Summarize the distinction between an external variable definition and an external variable declaration. When we have ''declared'' a variable, we have meant that we have told th

Flat, nfa significance

nfa significance

E-r diagrams, for ticket reservation in trains for payroll processing for i...

for ticket reservation in trains for payroll processing for insurance database

Determine the o/p for JK flip flop with J=1 & K=0, For JK flip flop with J=...

For JK flip flop with J=1, K=0, the output after clock pulse will be ? Ans. The output will be 1 after clock pulse.

Xternal report the parameters or select-options, Normal 0 false...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4

What is assembler directive, What is assembler directive? SUM EQU 200 ...

What is assembler directive? SUM EQU 200 Assembler directives are not instructions that will be implemented. It easily informs the assembler that the name SUM should be chan

Multithreaded architecture, Q. Multithreaded Architecture? It is clear ...

Q. Multithreaded Architecture? It is clear at the moment if we provide a lot of contexts to multiple threads then processors with numerous contexts are known as multithreaded s

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd