The Gateway to Computer Science Excellence
+35 votes
6.9k views

Which of the following are NOT true in a pipelined processor?

  1. Bypassing can handle all RAW hazards
  2. Register renaming can eliminate all register carried WAR hazards
  3. Control hazard penalties can be eliminated by dynamic branch prediction
  1. I and II only
  2. I and III only
  3. II and III only 
  4. I, II and III
in CO and Architecture by Veteran (52.2k points)
retagged by | 6.9k views
0
Here bypassing doesn't mean from MA to execute stage?
+1

bypassing only means the output of the execute stage is fed to the input of execute stage

Dileep kumar M 6

0

https://cs.stackexchange.com/questions/30108/does-register-renaming-remove-all-kinds-of-war-hazard

This link states:

 Register renaming won't help with this problem, because the space of visible memory locations is enormous compared to the number of available registers. 

So, this means, register renaming is NOT able to eliminate ALL possible WAR/WAW hazards, right? Because then we use a queue for stores as a solution to this problem. But register renaming still fails here, right? So, is it still true that register renaming can eliminate ALL WAR hazards? Please respond ASAP. :)

1 Answer

+66 votes
Best answer
(B) I and III

I - False    Bypassing can't handle all RAW hazard, consider when any instruction depends on the result of LOAD instruction, now LOAD updates register value at Memory Access Stage (MA), so data will not be available directly on Execute stage.

II - True, register renaming can eliminate all WAR Hazard.

III- False, It cannot completely eliminate, though it can reduce Control Hazard Penalties
by Active (2.2k points)
selected by
+12
Thats correct. But dynamic branch prediction can eliminate almost 99% of control hazards :)
+2
Didn't knew Arjun sir that optimizations have improved so much :)
+38
My team lead is the world champion on branch prediction competition :) He owns the best branch predictor.
0
@Arjun Sir:Plz give a scenario where bypassing can't handle a RAW hazard...
0
when there are three instructions and 3rd instruction reads the values written by first instruction.

also when there are 2 instructions with RAW dependency and first instruction is a load/store instruction.
0
But bypassing can eliminate RAW as operand forwarding can be done from memory stage too by adding another input at mux before input to ALU
0
@Arjun sir any refrence for branch prediction
because I have read somewhere that delayed branch prediction can also be used to remove hazards
0
sir i think answer should be 1 st only as control hazards can be elimineted by dynamic branch pridiction but as option is not given thats why I and 3 rd right ?
+1
Register renaming can handle all WAR hazards?Can you share some reference for this point?It didnt find this point in my book.And on internet they are saying it is not possible to completely remove WAR with register renaming
+5
not refrence but i have studied as if their is WAR hazards like R1<-- r2 + r3 & r2 <--- r3 + r5 we can rename second R2 to resolve this conflict so depandency get resloved
0

If more no of physical register (i.e. sufficient to use in multiple instructions) is not available, can register renaming solve WAR and WAW always?

0

rahul sharma 5 Register renaming can handle all WAR hazards?  is it possible to completely remove WAR with register renaming ..?

0
yeah it as possible to remove completely WAR and  WAW hazards the only RAW hazards cant be removed completely
0
+2

@Arjun sir, I think answer should be A) because

statement III) is saying  Control hazard penalties can be eliminated by dynamic branch prediction it is not saying that It will always eliminate Control hazards., as you also said that 99% time it works so it can, but not always.(1%)---->so TRUE

statement II) suppose we have limited number of registers but our programme is so large that required registers for renaming are much larger. than register renaming will fail here.I don't know this scenario is practically  possible or not but theoretically It might be fail.

0
Register renaming can not only eliminate WAR hazard but also WAW hazard ...
0
always? @vicky
0

reena_kandari yes 

0

@reena_kandari,

we have limited number of registers but our program is so large that required registers for renaming are much larger. than register renaming will fail here.

First of all good point. But we do not execute entire program in one shot. For example if we have 5 stage in pipe line then only 5 different instruction can execute in parallel that to in different stage of pipe line. Now Based on processor instruction set it could be calculated in worst case how much register could be used.  So if  processor has that many number of register then OK otherwise Renaming it self could not be done and Hazard may come. 

@Vicky rix ji @reena_kandari and @VS ji what is your opinion ?

0

@chhotu, you might be correct but  this is topic of CO, so we can't say what is exactly used in Architecture.There may be many other things going while CPU is executing a set of instructions.CPU may be executing many other programs concurrently..or we can say lots of instruction concurrently and if we use same finite set of registers Then I think it will be a overhead of using those same registers for renaming(due to lots of context switching and load/store instruction back to memory)

read this,

From a computer architecture point of view, an additional problem for write-after-read hazards is dealing with load and store operations to main memory. Register renaming won't help with this problem

0
for 1st option    , after load operation in MA cycle can't we pass the the value to execution cycle by operand forwarding through buffer  ??   what is the problem here in removing RAW HAZARD . plz explain
0
yes I) could be true
0
please don't copy paste from other sites :P

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,645 questions
56,563 answers
195,733 comments
101,652 users