1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Lyrx [107]
3 years ago
10

Computers spend most of their time in loops, so multiple loop itera- tions are great places to speculatively find more work to k

eep CPU resources busy. Nothing is ever easy, though: the compiler emitted only one copy of that loop's code, so even though multiple iterations are handling distinct data, they will appear to use the same registers. To keep multiple iterations' register usages from colliding, we rename their registers. Figure 3.49 shows example code that we would like our hardware to rename. A compiler could have simply unrolled the loop and used different registers to avoid conflicts, but if we expect our hard- ware to unroll the loop, it must also do the register renaming. How? Assume your hardware has a pool of temporary registers (call them T registers, and assume that there are 64 of them, TO through T63) that it can substitute for those registers des- ignated by the compiler. This rename hardware is indexed by the src (source) register designation, and the value in the table is the T register of the last destina- tion that targeted that register. (Think of these table values as producers, and the src registers are the consumers; it doesn't much matter where the producer puts its result as long as its consumers can find it.) Consider the code sequence in Fig ure 3.49. Every time you see a destination register in the code, substitute the next available T, beginning with T9. Then update all the src registers accordingly, so that true data dependences are maintained. Show the resulting code. (Hint: See Figure 3.50.)
Computers and Technology
1 answer:
fredd [130]3 years ago
7 0

Answer / Explanation:

From the provided Hint in Figure 3.50 and also The baseline performance ( in cycles, per loop iteration) of the code sequence in Figure 2.35 shows that  if no new instruction’s execution could be initiated until the previous instruction’s execution had completed, is 40.

Now, you might ask that how did I come up with that number?

Each instruction requires one clock cycle of execution (a clock cycle in which that instruction, and only that instruction, is occupying the execution units; since every instruction must execute, the loop will take at least that many clock cycles). To that base number, we add the extra latency cycles. Don’t forget the branch shadow cycle.

Therefore, the resulting code would be:

Loop:      LD F2,0(Rx) 1 + 4

               DIVD F8,F2,F01 + 12

               MULTD F2,F6,F2 1 + 5

               LDF4,0(Ry) 1 + 4

               ADDD F4,F0,F4 1 + 1

              ADDD F10,F8,F2 1 + 1

              ADDI Rx,Rx,#8 1

              ADDIRy,Ry,#81

              SDF4,0(Ry) 1 + 1

              SUB R20,R4,Rx 1

              BNZ R20,Loop 1 + 1

Cycle per loop iter 40

You might be interested in
Does Windows 7 support secure boot in UEFI? Windows eight? Linux UBUNTU version 14?
Anni [7]
Yes, windows 7 does support secure boot in UEFI. UEFI allows for backward compatibility. IT can boot a MBR hard drive and provides a BIOS boot through its Compatibility Support Module (CSM) feature.
4 0
3 years ago
To the following is not a network connection LAM MAN SAN WAN
Sedaia [141]
SAN is not a network connection.

Can I have Brainlest please?
3 0
3 years ago
a(n) ___ loop allows you to cycle through an array without specifying the starting and ending points for the loop
Arte-miy333 [17]

Answer:

enhanced for loop

Explanation:

Enhanced for loop is an improve concept about loops, this features was implemented in Java SE 5.0 version, this method simplify the For structure. For example:

for (int i = 0; i <array.length; i ++) {  

   System.out.print (array [i]);  

}

Enhanced for loop

for (String element : array) {

   System.out.print(element);

}

8 0
3 years ago
Why it is so important for all application builders to always check data received from unknown sources, such as web applications
Aleks04 [339]
The already-long problem on hacking and other security-related cases necessitates for the application builders to check the data received from unknown sources. To further strengthen the security, even data received from known sources also need to be check as these may also contain harmful viruses creating critical problem to the application. 
6 0
3 years ago
When comparing different biometric systems, one of the most important metrics used is called the _________, which represents the
Airida [17]

Answer:

Crossover Error Rate(CER)

Explanation:

Crossover Error Rate is an important metrics in the biometric systems.It is the value of FRR and FAR when the sensitivity is framed so that FRR and FAR are equal. The Crossover Error Rate(CER) is suitable for quantitative comparison of different biometric devices, applications or solutions.

8 0
3 years ago
Other questions:
  • Esther has acquired an associate's degree in information technology and certifications in PageMaker and Illustrator. Which caree
    8·2 answers
  • Name the component used in first generation of computer​
    10·1 answer
  • A user can easily move to the end of a document by pressing the _____ key combination.
    10·2 answers
  • What identifies available computers through the internet?
    14·1 answer
  • In an AND truth table.
    7·1 answer
  • How to measure potential energy of a ball?
    14·1 answer
  • Which option should you select to accept a tracked change? A. Accept B. Reject C. Review D. Delete
    8·2 answers
  • Select the correct answer from the drop-down menu.
    15·2 answers
  • Your organization has 20 employees who need an accounting software update installed. Due to a miscommunication, the purchaser on
    6·1 answer
  • What will be displayed after this code segment is run?
    5·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!