程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解了码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取下一个指令、解了码、执行,以此类推直到程序退出。
CPU有强大的算术运算单 元,可以在很少的时钟周期内完成算术计算。同时,有很大的缓存可以保存很多数据在里面。此外,还有复杂的逻辑控制单元,当程序有多个分支的时候, 通过提供分支预测的能力来降低延了时。GPU是基于大的吞吐量设计,有很多的算术运算单元和很少的缓存。同时GPU支持大量的线程同时运行,如果他们需要访问同一个数据,缓存会合并这些访问,自然会带来延了时的问题。尽管有延了时,但是因为其算术运算单元的数量庞大,因此能够达到一个非常大的吞吐量的效果。
关于CPU的多核和多线程
1、CPU的物理个数由主板上的插槽数量决定,每个CPU可以有多核心,每核心可能会有多线程。
2、多核CPU的每核(每核都是一个小芯片),在OS看来都是一个独立的CPU。
3、对于超线程CPU来说,每核CPU可以有多个线程(数量是两个,比如1核双线程,2核4线程,4核8线程),每个线程都是一个虚拟的逻辑CPU(比如windows下是以逻辑处理器的名称称呼的),而每个线程在OS看来也是独立的CPU。
关于CPU上的高速缓存
1、高速的缓存是CPU的寄存器,它们和CPU的材料相同,靠近CPU或接近CPU,访问它们没有时延(<1ns)。但容量很小,小于1kb。
2、寄存器之下,是CPU的高速缓存。分为L1缓存、L2缓存、L3缓存,每层速度按数量级递减、容量也越来越大。
3、每核心都有一个自己的L1缓存。L1缓存分两种:L1指令缓存(L1-icache)和L1数据缓存(L1-dcache)。L1指令缓存用来存放已解了码指令,L1数据缓存用来放访问非常频繁的数据。
4、L2缓存用来存放近期使用过的内存数据。更严格地说,存放的是很可能将来会被CPU使用的数据。
5、多数多核CPU的各核都各自拥有一个L2缓存,但也有多核共享L2缓存的设计。无论如何,L1是各核私有的(但对某核内的多线程是共享的)。
- NXT一代贴片机大量现机信息推荐 东莞富克电子 2020-07-08
- NXT贴片机CPU卡备品充足可换修在线咨询“本信息长期有效” 2020-07-07
- NXT模组机设备厂家推荐「在线咨询」 2020-07-07
- NXT贴片机CPU卡现场测试诚信企业推荐 2020-07-07
- M3二代CPU箱同城维修品牌企业“本信息长期有效” 2020-07-06
- M6二代CPU箱维修速度快免费咨询,东莞富克电子有限公司 2020-07-05
- NXT三代贴片机长期出租择优推荐 2020-07-05
- 贴片机设备保养价格优选商家 2020-07-04
- NXT贴片机长期租赁销售值得信赖“本信息长期有效” 2020-07-03
- NXT贴片机设备厂家常用解决方案「多图」 2020-07-03