CPU的基本知识与使用方法

1,CPU的两大巨头

Intel,使用CISC(复杂指令集,只是用20%),主要占领服务器,PC端市场。

ARM,使用RISC(精简指令集),主要占领嵌入式市场。


2,冯.洛伊曼架构和哈佛架构。

冯.洛伊曼架构:

  1. 以运算单元为中心
  2. 采用存储程序原理
  3. 存储器是按地址访问、线性编址的空间
  4. 控制流由指令流产生
  5. 指令由操作码和地址码组成
  6. 数据以二进制编码
哈佛架构:

存储与指令分开,也就存储使用8bit,指令为14bit,分别为两块存储空间,所以在取指令与取数据时不会在总线上发生冲突。


现代PC都是伪.冯.洛伊曼结构,在CPU外部为冯洛伊曼结构,但是在CPU内部增加了指令缓存和数据缓存而将指令与数据分开。


3,linux查看cpu核数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数


# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l


# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq


# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l


4,CPU的使用

Intel的超线程技术,增加片上20%的面积为开销,来充分利用片上资源,使得单核上可以运行多个线程,但是并不能完全并行。

CPU的cpupower调频,可设置CPU的频率。

注意在使用多线程编写程序时,要将线程与核进行绑定(设置线程亲缘性),不让在给线程分配核时是不确定的,可参考http://blog.csdn.net/wuhui_gdnt/article/details/51280906。

你可能感兴趣的:(并行计算)