在2004年写的一篇文章X86汇编语言学习手记(1)中,曾经涉及到gcc编译的代码默认16字节栈对齐的问题。之所以这样做,主要是性能优化方面的考虑。 大多数现代CPU都One-die了L1和L2Cache。对于L1 Cache,大多是write though的;L2 Cache则是write back的,不会立即写回memory,这就会导致Cache和Memory的内容的不一致;另外,对于MP(Multi Processors)的环境,由于Cache是CPU私有的,不同CPU的Cache的内容也存在不一致的问题,因此很多MP的的计算架构,不论是ccNUMA还是SMP都实现了Cache C