Programming Language Pragmatics, Fourth Edition
Programming Language Pragmatics, Fourth Edition
4th Edition
ISBN: 9780124104099
Author: Michael L. Scott
Publisher: Elsevier Science
Expert Solution & Answer
Book Icon
Chapter 5, Problem 16E

Explanation of Solution

a.

Explanation for the given code:

  • In the give code, “A” and “B” are the arrays of pointer to structures.
  • Every pointer is four bytes long.
  • The programmers are interested in the value of fields at an offset of 12 bytes from the beginning of the structure.
  • The C source program might look something like S := A [k]  f + B[k]  f;

Explanation of Solution

b.

Identifying flow dependences:

There are flow dependences from

  • Instruction 1 to instruction 4 (r1)
  • Instruction 2 to instruction 5 (r4)
  • Instruction 3 to instruction 8 (r6)
  • Instruction 4 to instruction 5 (r2)
  • Instruction 4 to instruction 8 (r2)
  • Instruction 5 to instruction 6 (r3)
  • Instruction 6 to instruction 7 (r3)
  • Instruction 7 to instruction 11 (r5)
  • Instruction 8 to instruction 9 (r3)
  • Instruction 9 to instruction 10 (r3)
  • Instruction 10 to instruction 11 (r7)
  • Instruction 11 to instruction 12 (r3)

Identifying anti-dependences:

  • There are anti-dependences from instruction 6 to 8, 9, and 11;
    • Instruction 7 to 8, 9, and 11;
    • Instruction 9 to 11; and
    • Instruction 10 to 11.
  • All of them are carried by “r3” register.

Identifying output dependences:

  • There are output dependences from instruction 5 to 6, 8, 9, and 11;
    • Instruction 6 to 8, 9, and 11;
    • Instruction 8 to 9 and 11; and
    • Instruction 9 to 11.
  • Again, all are carried by “r3” register.

Explanation of Solution

c.

Scheduling the code to reduce the load delay on a single-pipeline, in-order processor:

  • There are 3 load delays to worry about, after the instructions 6, 9, and 10.
  • The best way is to move an instruction down into the delay slot of instruction 6.

Modified code is as follows:

1.     r1 := l2.     r4 := &A3.     r2 := r1 × 44.     r3 := r4 + r25.     r3 := *r36.     r6 := &B                 filled this slot7.     r5 := *(r3 + 12)8.     r3 := *r6 + r2  9.     r3 := *r3                 still a delay after this load10.   r7 = *(r3 + 12)    and this one11.   r3 := r5 + r712.   S := r3

There will still be delays after instruction 9 and 10.

Explanation of Solution

d.

Justification:

Yes”, if the programmer introduce a new register name (r8) for the reuse of “r3” at instruction 8 then the programmer can move the second load downward, where it becomes instruction 9:

1.     r1 := l2.     r4 := &A3.     r2 := r1 × 44.     r3 := r4 + r25.     r3 := *r36.     r6 := &B                 7.     r8 := r6+r18.     r8 := *r8  9.     r5 := *(r3+12)        filled this slot10.   r7 = *(r8 + 12)    still a delay after this load11.   r3 := r5 + r712.   S := r3

Without a longer window to consider, there is still no way to delete the delay after instruction 10.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
The mail merge process has ____ steps. Question 19Select one: a. five b. six c. seven d. eight
If you created a main document based on an existing document entitled "Confirmation Letter," what default filename would Word give the main document? Question 14Select one: a. Confirmation Letter-1 b. Confirmation Letter-merge c. Document1 d. MergedDocument1
Click the ____ option button in the Mail Merge task pane to use an Outlook contact list as a data source for a merge. Question 11Select one: a. Use Outlook contacts list b. Select from Outlook contacts c. Select Contacts d. Mail Merge Recipients
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education