CPU核心
随着工艺的局限和频率的难以提升,CPU的性能不能再是无限制的往高频率的方向发展了,开始转向多核心的方向,简单地说,就是在一个物理内核里并列几个功能相同的核心,它们可以并行执行不同的任务进程,打个比方说,以前是一个人上夜班,现在是四个人上夜班,这就是所谓的CPU核心。
各个CPU核心都具有固定的逻辑结构,如一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元等,CPU核心的进步对普通消费者而言,就是能以较低的价格买到性能较强的CPU。
但是,在多核CPU中,并不是所有的核心都是在全速满负载工作,可能有时内核会有所闲置,这样就有了Intel的超线程和AMD的多线程技术,把这些闲置资源利用起来。
线程
严格来说,线程(Thread)是操作系统能够进行运算调动的最小单位,作为进程中的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
多线程指的是在一个CPU核心上执行多个线程,或者多个任务,虽然在同一核心但是它们之间完全分离。
多线程可以用Temporal MultiThreading时间多线程和Simulate MultiThreading同步多线程来实现,具体细节这里就不讲了。
Windows 10下CPU的负载相当平均
对于单一核心而言,它能每秒钟处理成千上万条指令,但是在某一时刻只能够对一条指令进行处理,超/多线程技术能够在软件层变成将它变成两个逻辑处理器 ,同步并行处理更多指令和数据,它就是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。
我们对比测试过Core i7-6700K和Core i5-7600K,他们主要区别就在于超线程的有无和L3缓存的大小了,至于Skylake与Kaby Lake架构是没有性能上的差别的。
可以看到有超线程的Core i7-6700K其多线程性能比Core i5-7600K好19%左右。
所以,可以这么说,一个核心最少对应一个线程,通过超线程技术,一个核心可以对应两个线程。超线程技术是很好的提升核心利用率,将闲置处理资源充分调动起来,在操作系统中一颗物理CPU能当做多颗CPU来使用。当然要发挥出多核多线程的作用,还需要软件和操作系统的支持优化。
1,晶振 :这个东西是所有电子芯片活动的必须能量,就像心脏一样 以一定的频率提供 动力,晶振自己只是一个频率发生器,他的作用就是产生时序电路 能让CPU 一步一步的工作,晶振一般在主板上~没探究过CPU里面有不
2,指令集 :指令集在哪里?就是cpu的系统,全部是1和0,比如11100011,当这个硅片里面的二极管是这样的时候,他采取相应的指令动作。CPU的组成是什么 是运算器和控制器,这里的算法是非常复杂的,他对一个操作的执行是用一条指令来完成的,所有的指令和叫指令集,所以指令集的多少也是说明CPU 的能力好不好,打个比方,INTEL P4 支持的SSE 说明他支持 多媒体的处理。可以说晶振(晶振频率非常高比如200MHZ)一次振动,指令执行一个,最简单的算法比如2 3=5 需要3个 指令完成,1秒200000000=200MHZ次的计算,应该知道他的运算速度多快了吧
3,BIOS;CPU的运算器很好理解,但是控制这些运算的东西,也是CPU里面的最复杂的地方,其实BIOS不是CPU的东西,但是必须和他一起工作才能体现CPU的控制作用,其实说简单点,CPU里面的一条指令就是把(控制总线)这个图像的点(数据总线)送到什么位置然后显示出来,但是如果没有东西来调用他,他是不会执行这条指令的,所以在CPU的指令系统之上,WINDOWS这样的操作系统之下,主板上的BIOS系统能够人性化的控制CPU的部分参数
我们使用的电脑主板一般都只有一个CPU插槽,这里所说的就是仅支持一颗CPU,无论这颗CPU拥有多少个核心数量,而对于一些服务器主板来说,可能具备两个、四个乃至更多的CPU插槽,也就是说这些CPU可以同时安装在主板上并联工作,从而带来更强大的多任务处理能力,只有这种情况下可以称之为多个CPU,因为它们之间是相互独立并协同工作的。
一般的常用软件对多核心CPU乃至多个CPU的优化做的不到位,很多情况下都会出现一核有难,七核围观的情况,所以一颗4核乃至8核CPU已经完全够日常娱乐使用了,再多的核心除了耗电没有什么用处,所以消费级主板只需一个CPU插槽就足够了。但是对于数据吞吐量要求极大的服务器和数据中心来说,CPU核心数量再多也不嫌多,可以说是多多益善,这样刀片式服务器就会配备支持多个CPU的主板,从而可以根据需求自由组合CPU数量。