2019-09-20

2019-09-20  本文已影响0人  _羊羽_

CPU架构分类

从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64等

X86 ARM
指令集 复杂指令集(CISC) 精简指令集(RISC)
功耗
性能
扩展能力 X86结构的电脑采用“桥”的方式与扩展设备(如:硬盘、内存等)进行连接,其配套扩展的设备种类多、价格也比较便宜,所以x86结构的电脑能很容易进行性能扩展 ARM结构的电脑是通过专用的数据接口使CPU与数据存储设备进行连接,所以ARM的存储、内存等性能扩展难以进行
操作系统的兼容性 兼容Windows、Linux Linux

X86架构来由

IBM 开始做 IBM PC 时,一开始并没有让最牛的华生实验室去研发,而是交给另一个团队。一年时间,软硬件全部自研根本不可能完成,于是他们采用了英特尔的 8088 芯片作为 CPU,使用微软的 MS-DOS 做操作系统。

谁能想到 IBM PC 卖的超级好,好到因为垄断市场而被起诉。IBM 就在被逼的情况下公开了一些技术,使得后来无数 IBM-PC 兼容机公司的出现,也就有了后来占据市场的惠普、康柏、戴尔等等。
英特尔的技术因此成为了行业的开放事实标准。由于这个系列开端于 8086,因此称为 x86 架构。


image.png

X86架构组成

先看下计算机的工作模式


image.png

对于一个计算机来讲,最核心的就是CPU(Central Processing Unit,中央处理器)。这是这台计算机的大脑,所有的设备都围绕它展开。
CPU 和其他设备连接,要靠一种叫作总线(Bus)的东西,其实就是主板上密密麻麻的集成电路,这些东西组成了 CPU 和其他设备的高速通道。

CPU组件图

image.png image.png

运算单元

只管算,例如做加法、做位移等等。但是,它不知道应该算哪些数据,运算结果应该放在哪里。

数据单元

包括 CPU 内部的缓存和寄存器组,空间很小,但是速度飞快,可以暂时存放数据和运算结果。

控制单元

控制单元是一个统一的指挥中心,它可以获得下一条指令,然后执行这条指令。这个指令会指导运算单元取出数据单元中的某几个数据,计算出个结果,然后放在数据单元的某个地方。

相关术语

地址总线

地址总线的位数,决定了能访问的地址范围到底有多广。例如只有两位,那 CPU 就只能认 00,01,10,11 四个位置,超过四个位置,就区分不出来了。位数越多,能够访问的位置就越多,能管理的内存的范围也就越广。

数据总线

数据总线的位数,决定了一次能拿多少个数据进来。例如只有两位,那 CPU 一次只能从内存拿两位数。要想拿八位,就要拿四次。位数越多,一次拿的数据就越多,访问速度也就越快。

CPU 各种性能指标

CPU使用率

CPU 使用率描述了非空闲时间占总 CPU 时间的百分比

平均负载

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。
理想情况下,平均负载等于逻辑 CPU 个数,这表示每个 CPU 都恰好被充分利用。如果平均负载大于逻辑 CPU 个数,就表示负载比较重了。
常用工具: top uptime

上下文切换

上下文切换,本身是保证 Linux 正常运行的一项核心功能。但过多的上下文切换,会将原本运行进程的 CPU 时间,消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成为性能瓶颈

常用工具
[work@ros-dev-29 ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 740092 325876 1174820    0    0     1     7    0    0  0  0 100  0  0
[work@ros-dev-29 ~]$ pidstat -w
Linux 2.6.32-573.22.1.el6.x86_64 (ros-dev-29)   09/20/2019      _x86_64_        (4 CPU)

11:17:19 AM       PID   cswch/s nvcswch/s  Command
11:17:19 AM         1      0.00      0.00  init
11:17:19 AM         2      0.00      0.00  kthreadd
11:17:19 AM         3      0.00      0.00  migration/0
11:17:19 AM         4      0.17      0.00  ksoftirqd/0
11:17:19 AM         5      0.00      0.00  stopper/0
11:17:19 AM         6      0.08      0.00  watchdog/0
11:17:19 AM         7      0.07      0.00  migration/1

指标工具指南

image.png
上一篇 下一篇

猜你喜欢

热点阅读