




CPU,是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。每个CPU都有一套自己可以执行的专门的指令集(注意,这部分指令是CPU提供的,CPU-Z软件可查看)。正是因为不同CPU架构的指令集不同,使得x86处理器不能执行ARM程序,ARM程序也不能执行x86程序。(Intel和AMD都使用x86指令集,手机绝大多数使用ARM指令集)。
CPU有强大的算术运算单 元,可以在很少的时钟周期内完成算术计算。同时,有很大的缓存可以保存很多数据在里面。此外,还有复杂的逻辑控制单元,当程序有多个分支的时候, 通过提供分支预测的能力来降低延了时。GPU是基于大的吞吐量设计,有很多的算术运算单元和很少的缓存。同时GPU支持大量的线程同时运行,如果他们需要访问同一个数据,缓存会合并这些访问,自然会带来延了时的问题。尽管有延了时,但是因为其算术运算单元的数量庞大,因此能够达到一个非常大的吞吐量的效果。
关于CPU的基本组成
1、CPU是用来运算的(加法运算 、乘法运算*、逻辑运算and not or等),例如c=a b。
2、运算操作涉及到数据输入(input)、处理、数据输出(output),a和b是输入数据,加法运算是处理,c是输出数据。
3、CPU需要使用一个叫做存储器(也就是各种寄存器)的东西保存输入和输出数据。
4、CPU还要将一些常用的基本运算工具(如加法器)放进CPU,这部分负责运算,称为算术逻辑单元(ALU)。
5、CPU中还有一个控制器(CU),负责将存储器中的数据送到ALU中去做运算,并将运算后的结果存回到存储器中。控制器还包含了一些控制信号。

关于CPU的多核和多线程
1、CPU的物理个数由主板上的插槽数量决定,每个CPU可以有多核心,每核心可能会有多线程。
2、多核CPU的每核(每核都是一个小芯片),在OS看来都是一个***的CPU。
3、对于超线程CPU来说,每核CPU可以有多个线程(数量是两个,比如1核双线程,2核4线程,4核8线程),每个线程都是一个虚拟的逻辑CPU(比如windows下是以逻辑处理器的名称称呼的),而每个线程在OS看来也是***的CPU。