title: Difference between Program counter and link register?
body: <p>I have this question specific for the arm architecture.</p>
  
  <p>I have seen in the ARM Register set we have link register (r14) and program counter (r15). During context switch time link register gets the address of program counter value of last function executed. but context switch also stores the program counter value.</p>
  
  <p>Why do we need to save the program counter register status as we have link register that already has the program counter value ?</p>