Some memory systems handle TLB misses in software (as an exception), while others use hardware for TLB misses.
We can expect software to be slower due to the overhead of a context switch to the handler code.
Hardware should be slower than software.
Hardware should be more flexible than software.
Software can have a more sophisticated replacement algorithm than hardware.
We can expect software to be slower due to the overhead of a context switch to the handler code, but the sophistication of the replacement algorithm can be higher for software and a wider variety of virtual memory organizations can be readily accommodated. Hardware should be faster, but less flexible.
This problem was adapted from: "Exercises for Computer Architecture", Anders Ardo, Lund University