Ваш вопрос является архитектурно-зависимым. x64 является по существу расширением x86 архитектуры. Это поддерживает 64 бита адресного пространства. Это предоставляет некоторые новые инструкции и новые регистры.
Можно выполнить 32-разрядный x86 Windows на x64 машине. Обратите внимание, что Вы не можете сделать этого на Itanium 64-разрядные системы.
Процессор на 64 бита может выполнить и 32 и 64 ОС (по крайней мере, x64 может). Процессор на 32 бита может выполнить только 32 исходно.
Различие главным образом о размере Указателя/Ссылки. На машинах на 64 бита можно сослаться на адрес в диапазоне адресов на 64 бита (таким образом предоставление Вас 2^64 байты памяти). На 32 битах можно только обратиться 2^32 байты (=4 ГБ). Теперь при рассмотрении данных компьютеров, очевидно, почему мир перемещается в 64 бита: 32 бита не могут легко больше обращаться ко всей RAM.
На x64 (AMD/Intel) Вы обладаете дополнительными преимуществами 64 битов. ЦП имеет больше регистров и таким образом позволяет более эффективный код.
На другой архитектуре различия между 64 и 32 битами менее очевидны. Например, Nintendo 64 (помнят это?) была машина на 64 бита, но большая часть ее кода составляла 32 бита. Таким образом, в этом случае 64 бита служили больше в качестве маркетингового приема.
Оба ОС на 32 и 64 бита может работать на процессоре на 64 бита, но ОС на 64 бита может использовать полную мощность процессора на 64 бита (большие регистры, больше инструкций) - короче говоря, это может сделать больше работы в то же время. Процессор на 32 бита поддерживает Windows OS только на 32 бита.