多处理器
多处理器
常规的单处理器属于SISD
常规的多处理机属于MIMD
超线程(HT)技术
- 在一个 CPU 中,提供两套线程处理单元,让单个处理器实现线程级并行。
- 虽然采用超线程技术能够同时执行两个线程,但是当两个线程同时需要某个资源时,其中一个线程必须暂时挂起,直到这些资源空闲后才能继续运行。
- 因此,超线程的性能并不等于两个 CPU 的性能。
- 而且,超线程技术的 CPU需要芯片组、操作系统(如 Windows 98 不支持超线程技术)和应用软件的支持,才能发挥该项技术的优势。
- 双核技术是指将两个一样的 CPU 集成到一 个封装内(或者直接将两个 CPU 做成一个芯片),核心又称内核,是 CPU 最重要的组成部 分
- 而超线程技术在 CPU 内部仅复制必要的线程资源来让两个线程同时运行,能并行执行两个线程,模拟实体双核心。
空间并行是指硬件资源的重复, 空间并行导致了两类并行机的产生
- 按 Flynn分类法分为 SIMD和 MIMD
早期 CPU 性能提升主要靠提高主频,导致功耗增大,发热量大,而且当主频提高到一定程度后,CPU性能的提升不再明显,后来转到增加 CPU核心的方向,将2个核心集成到一个芯片内,提供等同双 CPU 的性能,这显然也降低了 CPU 的体积
多任务系统又称多道程序系统,可以运行在单核 CPU上,宏观上并行,微观上串行
SMP
- 也称对称多处理器,一般采用偶数路CPU
- UMA构架由于所有CPU共享相同的内存,增加CPU路数会加大访存冲突,通常2路或4路的性能最好
- 而NUMA理论上支持无限扩展
- UMA构架中所有CPU共享同一内存空间,每个CPU的Cache中都是共享内存中的一部分副本,因此各CPU的Cache一致性是需要解决的重要问题
- 多核系统中,每个CPU的Cache中都是它们共享的内存中的一部分副本,因此多核系统的Cache一致性既包括Cache和内存之间的一致性,还包括各Cache之间的一致性
- 也就是说,对内存同一位置的数据,不同CPU的Cache不应该有不一致的内容
- 多核系统中,每个CPU的Cache中都是它们共享的内存中的一部分副本,因此多核系统的Cache一致性既包括Cache和内存之间的一致性,还包括各Cache之间的一致性