CPU的发展从早期的单核,发展成现在的多核、双核。
CPU中核心数与线程数的介绍与区别。
核心数是指物理上,也就是硬件上存在几个核心。比如双核就是包括两个相对独立的CPU核心单元组。
线程数是一个逻辑上的概念,就是模拟出的CPU核心数,比如可以通过一个实际的CPU核心单元组模拟出2线程的CPU,一个实体核心,两个逻辑线程,这个单核心的CPU就被模拟成一个类似双核心CPU的功能,可以同时处理两个线程的工作。从任务管理器的性能标签页中看到的就是两个CPU。这种模拟技术被叫做超线程技术。
常说的四核八线,四核指该CPU有四个实体核心,八线指每个CPU运行两个逻辑线程,总共八个线程。
对于CPU来说,线程数 >= 核心数。在不引入超线程技术时,一个核心对应一个线程。通过超线程技术可以使一个核心对应两个线程,也就是说它可以同时运行两个线程。
超线程技术:把一个物理核心模拟成两个逻辑线程,模拟的结果是像两个物理核心一样同一时间运行两个线程,在设备管理器、任务管理器中会显示两个核心,但实际上并不是真正的两核,真单核,虚拟两核。
引入超线程技术的原因:源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。
总结:
单核情况:
1)早期(不引入超线程技术):一个CPU核心对应一个线程,核心数等于线程数。
①单任务阶段:任务串行化执行,一段时间执行一个任务。
②多任务阶段:任务并发执行,一段时间执行多个任务,某一时刻只有一个任务在执行,通过CPU分时间片,上下文切换完成。
2)引入超线程技术:四核八线,用单核情况模拟多核情况。
多核情况:多个单核情况,线程可以实现并行执行,也就是同一时刻,有多个任务在执行,属于物理上的同时执行。