多核:把多个处理器集成在一个硅晶片上,每一个处理器都被称为核。
每一个核都包括了所有独立处理器具有的部件,如寄存器、超标量、控制单元、多级cache等。
多核的必要性:
- CPU的用电和散热需求
- 并行的需求
- 流水线 -> 超标量 -> SMT(同时多线程)
- 应用软件的需求
- 摩尔定律的需求
从指令级并行ILP到线程级并行TLP
不同的多核组织模式:
共享的二级cache相对于独立的二级cache的优点:
- 可以提高总的命中率
- 共享的数据不会在共享cache中被复制多份
- 每个核的共享cache是动态分配给不同的核的
- 核之间的通信可以通过共享的cache
- 限制了一级cache的一致性问题