GATE2008-77

Delayed branching can help in the handling of control hazards


The following code is to run on a pipelined processor with one branch delay slot:


I1: ADD $R2 \leftarrow R7 + R8$


I2: Sub $R4 \leftarrow R5 – R6$


I3: ADD $R1 \leftarrow R2 + R3$


I4: STORE Memory $[R4] \leftarrow R1$


     BRANCH to Label if $R1 == 0$


Which of the instructions I1, I2, I3 or I4 can legitimately occupy the delay slot without any program modification?


1. I1
2. I2
3. I3
4. I4
What is Delayed Branching ?
  

One way to maximize the use of the pipeline, is to find an instruction that can be safely exeucted whether the branch is taken or not, and execute that instruction. So, when a branch instruction is encountered, the hardware puts the instruction following the branch into the pipe and begins executing it, just as in predict-not-taken. However, unlike in predict-not-taken, we do not need to worry about whether the branch is taken or not, we do not need to clear the pipe because no matter whether the branch is taken or not, we know the instruction is safe to execute.
  

More Read : <https://www.cs.umd.edu/class/fall2001/cmsc411/projects/branches/delay.html>
  

Moving $I\_1$ after branch


* $I1$ is updating the value of  $R2$
* $R2$ which is used to determine branch condition $R1$
* Value of $R2$ is available after branch
  

$\Rightarrow$ `Cannot be moved`


Moving $I\_3$ after branch


* value of $R1$ is computed in this instruction
* $R1$ is the branch condition
  

$\Rightarrow$ `Cannot be moved`


Moving $I\_4$ after branch


* $I4$ is simple store instruction used to store R1 in memory
* program execution will have no effect if this is placed after conditional branch
  

$\Rightarrow$ `Can be moved`


Moving $I\_2$ after branch


* It update the memory location to place the storing of conditional branch instruction $R1$
* If moved after branch , when compiler reaches $I4$ program execution will stop
  

$\Rightarrow $ `Cannot be moved`


Hence, **option D is answer.**
its to do with the jit optimisation, the same is true if you insert conditional debug statement in the code, matlab needs to prepare to stop execution. It's going to be sheer luck anyone is running that setup so try this. Break the problem down to smaller steps. If a step can't be accomplished then it's too big a step. Break it down further. solved...
my ram was in ram slot 1 & 3.
switched it to 2&4 - now i can overclock to 4000mhz.


here's the benchmark now


same man... i'm still looking as well lol. i wonder why so many people are having this problem. > You might have missed a bracket somewhere... Only such a mistake causes so many insignificant errors.
> 
> 


And to find it, [format your code](http://www.gidnetwork.com/b-38.html) properly. It's your first debugging tool. error correcting code memory differs from other rams in respect of security. you need ecc ram when working with high-value data as it protects against data corruption by automatically detecting single-bit small errors that may affect direction: a word and number arrangement machine when given an input line of word and numbers rearranges them following a particular rule in each step. the following is an illustration of input and rearrangement. input: politics 61 policy 116 partner 93 role 45 clear 27 38 point step i: role politics policy 116 partner 93 45 clear 27 38 point 61 step ii: role clear politics policy partner 93 45 27 38 point 116 61 step iii: role clear partner politics policy 93 45 38 point 27 116 61 step iv: role clear partner politics policy 93 38 point 45 27 116 61 step v: role clear partner politics point policy 93 38 45 27 116 61 step v, is the last step of the above arrangement as the intended arrangement is obtained. as per the rule followed in the given steps find out the appropriate steps for the given input. input: energy 54 78 place 23 issue 211 145 flat rent taxi 17in step iii, what is the difference between fifth element from left and second element from right? [image] dueck456:

is there an easy way to detect when new code is flashed to the device so i can reinitialize the retained variables?

below is a link to a post by [@rickkas7](/u/rickkas7) about storing retained data in a struct.

[image] dueck456:

saving a know value to eeprom jumps to mind

there is … You can use third party defragmentation tools that have central management consoles to manage the tools, monitor systems and report on fragmentation levels. These tools have the ability to start defragmentation based on a schedule or a fragmentation threshold level (tool dependent). What they also do well is provide reporting on how things are going on the systems you monitor fragmentation wise.


Here is a comparison page for some of the major defragmentation applications:  

[Comparison of defragmentation software](http://http://en.wikipedia.org/wiki/Comparison_of_defragmentation_software)


The big three from when I did some research several years ago:  

PerfectDisk  

O&O Defrag  

Diskeeper


Keep in mind that Windows includes basic defragmentation. You can schedule this using TaskSchedule. Basic defragmentation does not defragment page files, hyberfiles and the like. There are some other free tools available that can do various items like page files. This all requires you to piece together and and devise your own monitoring. If you need reporting and monitoring purchasing it is always simpler.


If you can justify the cost of a managed defragmentation program, these will all do a good job. Test each to see how they impact system performance in your environment while defragmenting as well as their management and reporting capabilities.


  

First, don’t wait for your hard disk drive to be hardly used before defragging it. You have to maintain a certain defragmentation period as part of the computer hardware maintenance for your computer system. hi there,

i am making some assumptions about the requirements of your experiment here but lets see if this helps.

short break

would you like the short break to be at the start of each trial ? i.e. the inter-trial-interval? if so try the following:

add a code component to your “trial” routine (c… A segmentation fault in this case probably means you accessed one of the arrays out of bounds. Start up a debugger and keep a watch on your indices.