Final answer:
The Stack Pointer (SP) is the register that holds the location of the runtime stack, which is used to manage function calls and returns within a program. Other registers like the Program Counter (PC) and the Instruction Register (IR) serve different roles in instruction execution.
Step-by-step explanation:
The register that holds the location of the runtime stack is the Stack Pointer (SP). The Stack Pointer is a special purpose register that points to the top of the stack. When a function calls another function, the return address and sometimes the parameters are pushed onto the stack. The SP is then decremented or incremented (depending on the architecture) to point to the new top of the stack. When the function completes, the Stack Pointer is used to restore the state at the time of the function call.
The Program Counter (PC) holds the memory address of the next instruction to be executed. The Instruction Register (IR) temporarily holds the instruction that is currently being executed. The Memory Address Register (MAR) holds the address of the memory location that is being read from or written to. These registers are crucial for the Central Processing Unit (CPU) to execute instructions, but only the Stack Pointer specifically relates to the runtime stack's location.