Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 12.5, Problem 12.7PP

Explanation of Solution

Instruction ordering of “badcnt.c”:

  • When performing instruction “H1”, the value of “%rdx1” and “%rdx2” is null and “cnt” value is “0”.
  • When performing instruction “L1”:
    • The instruction “L1” means loads the shared variable “cnt” into register “%rdx1”.
      • Hence, the value of “%rdx1” contains the value of “cnt” variable.
      • Therefore, %rdx1=0
  • When performing instruction “H1”, the value of “%rdx1” and “%rdx2” is null and “cnt” value is “0”.
  • When performing instruction “L2”:
    • The instruction “L2” means loads the shared variable “cnt” into register “%rdx2”.
      • Hence, the value of “%rdx2” contains the value of “cnt” variable.
      • Therefore, %rdx2=0
  • When performing instruction “U2”:
    • The instruction “U2” means update value in register “%rdx2”.
      • Update value means increment the value of “%rdx2” by “1”.

        %rdx2=%rdx2+1=0+1%rdx2=1

      • Therefore, %rdx2=1 and the value of “cnt” is “0”. Here, the “cnt” will be not be update. It only update after the instruction stored.
  • When performing instruction “S2”:
    • The instruction “S2” means store the updated value of register “%rdx2” into “cnt”.
      • Hence, %rdx2=1 and “cnt” value is “1”.
  • When performing instruction “U1”:
    • The instruction “U1” means update value in register “%rdx1”.
      • Update value means increment the value of “%rdx1” by “1”

Blurred answer
Students have asked these similar questions
1. We wish to compare the performance of two different machines: M1 and M2. The following measurements have been made on these machines:   Program Time on M1 Time on M2 1 10 seconds 5 seconds 2 3 seconds 4 seconds Which machine is faster for each program, and by how much?   2. For M1 and M2 of problem 1, the following additional measurements are made:. Find the instruction execution rate (instructions per second) for each machine when running program 1.   Program Instructions executed on M1 Instructions executed on M2 1 200 x 106 160 x 106   3. For M1 and M2 of problem 1, if the clock rates are 200 MHz and 300 MHz, respectively, find the CPI for program 1 on both machines using the data provided in problems 1 and 2.   4. You are going to enhance a machine, and there are two possible improvements: either make multiply instructions run four times faster than before or make memory access instructions run two times faster than before. You…
4.1.1 Complete solution and answer only no need explanation Given three data points (1,6), (3,28), and (10, 231), What is the value of y at x = 2 if the function y = 2x2 + 3x + 1 passes through the three data points.
A program has the following breakdown: 25% ld (50% of them directly followed by a dependent instruction),25% sd, 30% r_type, 20% beq (80% of them are taken. Branches are calculated in the third cycle. What is the average CPI of the program when run on the pipelined RISC V implementation in the textbook?
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