El hardware involucrado en la traducción es precisamente la MMU de la cual no sabías su función. Si hay TLB esta forma parte de la MMU. La CPU no participa en esto.
Por otro lado, las direcciones que genera la CPU pueden ser cualesquiera porque responden al programa que esté ejecutando. Nadie garantiza que el programador no intente acceder a cualquier dirección. Las direcciones que generan los programas de usuario son todas virtuales y la MMU debe verificar si tienen sentido o no.
Para la pregunta b) i) tenés que ver cuantas páginas tiene asignadas el proceso y multiplicarlo por el tamaño de la página. En ese ejercicio son las entradas de las tablas de segundo nivel que no tienen 0 como dirección.
Para b) iii) la entrada 2 en las dos primeras tablas (0x0202) resulta en el marco 0xAC0F. A eso hay que sumarle el desplazamiento por lo que da 0xAC0F0C01 como dirección física (igual la letra no pide calcular la dirección física, solo decir que pasa si se accede a esa dirección virtual)
Saludos