Function and purpose of registers and their impact on system performance
The names and purposes of the general and special purpose registers is already covered here.
A full link of registers, their use, and the number of registers across different CPU architectures can be found here.
Impact on performance
The more registers that a CPU has available for user use, the more efficient the code that a compiler is able to generate.
In addition, this diagram show how the Strahler number increases with mathematical complexity (in this case the number represents the number of registers required):