美文网首页
2019-09-20

2019-09-20

作者: _羊羽_ | 来源:发表于2019-09-20 16:13 被阅读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 内部的缓存和寄存器组,空间很小,但是速度飞快,可以暂时存放数据和运算结果。

  • 通用寄存器
    AX、BX、CX、DX、SP、BP、SI、DI。8个通用寄存器,用于在计算过程中暂存数据。

控制单元

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

  • 指令指针寄存器IP(Instruction Pointer Register)
    指向代码段中下一条指令的位置。CPU 会根据它来不断地将指令从内存的代码段中,加载到 CPU 的指令队列中,然后交给运算单元去执行。
  • 代码段寄存器(Code Segment Register)
    存放代码段的起始地址。代码段的偏移量在 IP 寄存器中。通过它们可以找到代码在内存中的位置
  • 数据段的寄存器(Data Segment Register)
    存放数据段的起始地址。数据段的偏移量会放在通用寄存器中。通过它们可以找到数据在内存中的位置
  • 栈寄存器(Stack Register)
  • 扩展段寄存器(extend Segment Register)

相关术语

地址总线

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

数据总线

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

CPU 各种性能指标

CPU使用率

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

  • 用户 CPU 使用率,包括用户态 CPU 使用(user和低优先级用户态 CPU 使用率(nice),表示 CPU 在用户态运行的时间百分比。用户 CPU 使用率高,通常说明有应用程序比较繁忙。
  • 系统 CPU 使用率,表示 CPU 在内核态运行的时间百分比(不包括中断)。系统 CPU使用率高,说明内核比较繁忙。
  • 等待 I/O 的 CPU 使用率,通常也称为 iowait,表示等待 I/O 的时间百分比。iowait高,通常说明系统与硬件设备的 I/O 交互时间比较长。
  • 软中断和硬中断的 CPU 使用率,分别表示内核调用软中断处理程序、硬中断处理程序的时间百分比。它们的使用率高,通常说明系统发生了大量的中断。
  • steal(通常缩写为 st),代表当系统运行在虚拟机中的时候,被其他虚拟机占用的CPU 时间
    常用工具: top

平均负载

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

上下文切换

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

  • 自愿上下文切换
    是指进程无法获取所需资源,导致的上下文切换。比如说,I/O、内存等系统资源不足时,就会发生自愿上下文切换。
  • 非自愿上下文切换
    是指进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换。比如说,大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换。
常用工具
  • vmstat 查看系统整体的上下文切换数 (cpu-cs context switch)
[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
  • pidstat -w
    cswch
    表示每秒自愿上下文切换(voluntary context switches)的次数
    nvcswch
    表示每秒非自愿上下文切换(non voluntary context switches)的次数
[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

相关文章

  • 【LaTeX】分段函数与LaTex

    title: 胡思乱想&复习LaTexdate: 2019-09-20 23:18tags:categories...

  • Axios封装示例代码+封装思路

    Author: EchoTime: 2019-09-20 10:50:39 axios文档地址 在vue项目中,和...

  • ORA-01843: 无效的月份

    在查询数据时RQ = '2019-09-20' ,提示无效的月份 解决 SELECT * FROM XX WHER...

  • js时间格式化成字符串

    调用 formatDate()方法 , 默认返回 '2019-09-20 20:00:00' 格式的字符串。参数一...

  • 云解析DNS能为你做什么?

    功能概览 更新时间:2019-09-20 13:52:52 记录类型 云解析DNS支持A、CNAME、MX、TXT...

  • 2020-12-09

    老鼠哲学与平台 瑞波友李2019-09-20 李斯,少年时,家境贫寒,但李斯很小便聪慧过人,好学不倦。成人后,因...

  • 2019-09-20

    空中的星啊 感谢你 在这漆黑的夜陪伴我

  • 2019-09-20

    我爱你,但是我不喜欢你了。你只是一直在我的记忆中难以忘记而已。

  • 2019-09-20

    九词 中秋 凉风有信 秋月无边 云淡风轻明月皎 中秋海报迎新月 有诗有酒金孚隆 实惠的团购商品, 送货上门的服务,...

  • 2019-09-20

    今天私塾有日语课,下课时我在视频里看到有两位同学临走时把自己的椅子摆回了原位,有一个女生还把旁边的椅子也随手...

网友评论

      本文标题:2019-09-20

      本文链接:https://www.haomeiwen.com/subject/asyjuctx.html