zero-extension

¿Por qué las instrucciones x86-64 en los registros de 32 bits ponen cero la parte superior del registro completo de 64 bits?

En el x86-64 Recorrido de los Manuales de Intel , leí Quizás el hecho más sorprendente es que una instrucción como MOV E ... A primera vista parece ilógico (pero la razón podría ser que estoy acostumbrado a las peculiaridades de la asamblea x86-32).

x86 64 registros rax / eax/ax / al sobrescribiendo el contenido completo del registro [duplicado]

Esta pregunta ya tiene una respuesta aquí: ¿Por qué las instrucciones x86-64 en registros de 32 bits pon ... algún tipo de punto vital aquí sobre por qué se implementó como ¿eso? Una explicación sobre "por qué" sería muy apreciada.