Draw the flow-dependence graph

Assignment Help Computer Engineering
Reference no: EM131738790

Assignment  

1. Loop Unrolling

Consider the following loop:

loop:

l.d                           f4,0(r1)                 l1 

l.d                           f6,0(r2)                 l2 

mul.d                    f4,f4,f0                 m1 

mul.d                    f6,f6,f2                 m2 

add.d                    f4,f4,f6                 a1 

s.d                          f4,0(r1)                 s1 

daddui                  r1,r1,#-8               sub1

daddui                  r2,r2,#-8               sub2

bnez                      r1,loop                  br

Note: Our default is that FP arithmetics have 4 x-boxes.

a) Using the names 'l1' to 's1' for the first six instructions in the loop body, draw the flow-dependence graph for these instructions. Label each arrow with the dependence gap between the producer and the consumer.

In what follows, focus on three flow-dependence types: i) FP arith to FP arith, ii) FP arith to FP store, and iii) FP load to FP arith.  Denote the number of m-boxes in memory references by '#m', and the number of x-boxes in FP arithmetics by '#x'.

b) For each of the three designated flow-dependence types, indicate the number of stalls in adjacent producer-consumer pairs as functions of '#m" and '#x'.

c) Suppose #m = 1 and #x = 4.  How many stalls occur in one iteration of the loop if it is executed exactly as written?

d) Unroll the loop twice.  If one reschedules the unrolled loop optimally, how many stalls are left?  (Keep the branch as the last instruction.  Show the rescheduled code using the _short_ names).

e) Increase the 'mul-add dependence gap' to 5 cycles, leaving everything else unchanged.  Unroll the loop three times.  If one reschedules the unrolled loop optimally, how many stalls are left?  (Keep the branch as the last instruction.  Show the rescheduled code using the _short_ names).

2. Dynamic Instruction Scheduling I

Imagine that reservation stations only track whether floating-point operands are valid, and that integer operands appear by magic whenever needed.

a) Dispatch instructions 'l1' to 's1' to reservation stations rs1(l1) to rs6(s1).  Show the contents of each reservation station. Indicate both valid ("value") and pending ("ear") operands in each station. For the loads, you may make all operand entries 'blank'.  That is, mark all load dependences as resolved.  For the store, just invent a regular single-operand reservation station.  The value of 'test' is either "may issue" or "may not issue".  The value of 'free' is either "free" or "not free".

b) After both loads have completed, but no further action has occurred, show the contents of each reservation station.  As before, you may mark some reservation stations as 'free'.  Syntax: result[rs9(a9)]; val[f12].

c) At this point, dispatch the two loads of the second iteration, viz., 'l3' and 'l4', into reservation stations 'rs1' and 'rs2'.  Moreover, let instruction 'm1' of the first iteration complete.  Show the contents of each reservation station.

3. Dynamic Instruction Scheduling II

a) Instruction 'op' has been dispatched to reservation station alpha.  What statement must be proved to show that all its flow dependences are respected?

b) Instructions 'op1' and 'op2' are an antidependent pair.  The earlier 'op1' is dispatched to reservation station alpha.  The later 'op2' is dispatched to reservation station beta.  What statement must be proved to show that the antidependence is respected?

c) Instructions 'op1' and 'op2' are an output-dependent pair.  The earlier 'op1' is dispatched to reservation station alpha.  The later 'op2' is dispatched to reservation station beta.  What statement must be proved to show that the output dependence is respected?

Please reply ASAP Assignment Work.

Reference no: EM131738790

Questions Cloud

Presented to health care executive for decisions : The paper should be written as if it was being presented to a health care executive for decisions within his or her own health care environment.
What is the current hourly cost of defects : Output from a process contains 0.01 proportion of defective units. Without the inspector, what is the current hourly cost of defects?
How does a business leader recognize : How does a business leader recognize if an intended change is not a good idea? Have you been involved in a change initiative that was doomed from the beginning?
Explain the two basic divisions of property : Martin sold his house to Cheryl. Later, when he tried to take the beautiful chandelier in the dining room, which had belonged to his grandparents.
Draw the flow-dependence graph : COMP 326/5261 Assignment. Using the names 'l1' to 's1' for the first six instructions in the loop body, draw the flow-dependence graph for these instructions
National legislatures in foreign policy decision-making : Discuss the role of interest groups, public opinion, and national legislatures in foreign policy decision-making
Discuss with your team the pros and cons of moving company : Discuss with your team the pros and cons of moving the company you have chose into the global market.
Describe the components of the system : Select a closed-loop control system that you encounter in your life (can be from your home, neighborhood, work, etc.). Explain what type of controller.
Assess the migration path formats : Assess the migration path formats and evaluate the similarities and differences.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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