Windows历史上有两套内核,Win 3.x到Win 9x是一套,Win9x是32位的应用层API,但是底层还保留了Win3.x内核的一部分,32位和16位混合运行,这种诡异的做法当然只能在x86上运行。
WinNT到现在的Win8是一套内核,这个从开发之初就考虑了跨CPU架构,至少支持4种,好像是x86, alpha, MIPS和PPC,Windows8以后还支持arm。
所以泛泛地说Windows支持不支持跨CPU是没什么意义的,要分版本来看才是正确的姿势。
Linux最初的时候也是只支持x86,据说原因是Linus手里只有x86 PC,多处理支持也是后来移植的。