core-chip-processor-socket等的区别
Core
Core表示一个逻辑计算单元,有着单独的L1 cache,能够独立地执行进程或线程。我们日常碰到的双核,4核,其中的核指的就是这个core。可以说是最小的单位了。
Chip
Chip指的是物理意义上的集成电路。比如上文中提到的4核,可以看做一个chip。
一个chip中,一般会共享一个Last-Level cache(LLC),比如L3 cache,直接连在主板上,所有人访问L3 cache速度都一样。而L1 L2 cache都是每个core私有的。
Socket
一个socket指的是带着一个chip的主板。多个主板可以连起来,也就是multi-socket了。
Hyper-threading
超线程:指的是一项把一个物理核显示为逻辑上的多核,这个技术比多核还要早。
多核出来的时候,曾经有一段时间这个技术被认为没有用,被遗弃了。但是很快又捡回来,因为可以提高多核技术的性能。因为操作系统可以有更多的core去调度。不会出现一个物理core被卡在一个thread里面的现象。
N-ways
多路指的是集成的执行单元数,也就是core的数目。比如一个8-core机器可以称为8-way node。
Processor
这个得根据上下文语义,既可以是单独的core,也可以是一个chip。
Cache coherence
参考这篇博客。
其实很简单,每个cache block维护一种状态,每当有数据更改的时候,改变本地和远程cache的状态。因此保证所有的读写操作的一致性。