返回顶部

指令集 CPU架构 x86 x86_64 arm,linux windows 查看CPU信息

查看CPU信息

Windows

Linux

  • 查看操作系统位数

    32位的系统中int类型和long类型一般都是4字节

    64位的系统中int类型是4字节,long类型是8字节

    lfp@legion:~$ getconf LONG_BIT
    64
    lfp@legion:~$ getconf WORD_BIT
    32
    

    Ubuntu 18.04.3 LTS版本同样包含桌面和服务器版本,仅适用于64位系统的安装映像

  • 查看处理器架构

    hostnamectl

    lfp@legion:~$ hostnamectl
       Static hostname: legion
             Icon name: computer-laptop
               Chassis: laptop
            Machine ID: b28d62113b6242exxxxxxxxxxxxxxxxxxx2
               Boot ID: b387c673b99xxxxxxxxxxf3a46a24
      Operating System: Ubuntu 18.04.4 LTS
                Kernel: Linux 5.3.0-51-generic
          Architecture: x86-64
    

    arch

    lfp@legion:~$ arch
    x86_64
    

    uname -p

    lfp@legion:~$ uname -p # processor type 处理器类型
    x86_64
    
  • 查看物理CPU个数

    lfp@legion:~$ cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
    1
    
  • 查看每个物理CPU中core的个数(即核数)

    lfp@legion:~$ cat /proc/cpuinfo| grep "cpu cores"| uniq
    cpu cores	: 6
    
  • 查看逻辑CPU的个数

    lfp@legion:~$ cat /proc/cpuinfo| grep "processor"| wc -l
    12
    

    总核数 = 物理CPU个数 X 每颗物理CPU的核数

    总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数(如果支持并开启超线程技术(HT))

  • 综合信息

    lscpu

    lfp@legion:~$ lscpu
    架构:           x86_64
    CPU 运行模式:   32-bit, 64-bit
    字节序:         Little Endian
    CPU:             12
    在线 CPU 列表:  0-11
    每个核的线程数: 2
    每个座的核数:   6
    座:             1
    NUMA 节点:      1
    厂商 ID:        GenuineIntel
    CPU 系列:       6
    型号:           158
    型号名称:       Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    步进:           10
    CPU MHz:        1300.054
    CPU 最大 MHz:   2600.0000
    CPU 最小 MHz:   800.0000
    BogoMIPS:       5199.98
    虚拟化:         VT-x
    L1d 缓存:       32K
    L1i 缓存:       32K
    L2 缓存:        256K
    L3 缓存:        12288K
    NUMA 节点0 CPU: 0-11
    

    cat /proc/cpuinfo

    lfp@legion:~$ cat /proc/cpuinfo
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 158
    model name	: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    stepping	: 10
    microcode	: 0xca
    cpu MHz		: 1300.109
    cache size	: 12288 KB
    physical id	: 0
    siblings	: 12
    core id		: 0
    cpu cores	: 6
    .....
    

CPU架构(指令集架构)

计算机中央处理器的一种设计模式

包括采用哪种指令集,哪种寄存器,等等

不同架构主要由指令集架构决定,然后决定寄存器等相关设备的型号

指令集架构相同,其他设计、工艺不同称为一种微架构。例如AMD的Zen2微架构,Intel Coffee Lake微架构

指令集架构和微架构的关系:

  1. 指令集架构是指在处理器内被处理的程序,包括运行模型,寄存器,地址以及数据格式等

  2. 微架构包含处理器内部的构成以及这些构成起来的部分如何运行指令集架构。

    微架构通常被表示成流程图,以描述机器内部组件的链接状况,从一个闸或是寄存器,到算术逻辑单元(ALU)

  3. 拥有不同微架构的机器可能拥有相同的指令集架构,因此可以运行相同的程序。由于半导体科技的进步,新型的处理器可以以较快的速度运行相同的指令集架构。

  4. 计算机架构是微架构和指令集架构的结合

指令集

又称指令集架构(英语:Instruction Set Architecture,缩写为ISA)、指令集体系、机器语言

计算机能够进行计算,主要靠cpu中大规模集成电路中由晶体管组成的逻辑电路,这些逻辑电路可以进行运算和判断,通过组合简单逻辑电路,可以完成复杂的运算

通过一定格式的指令来控制逻辑电路进行运算,这些指令的总和就是指令集——机器语言

可以理解成硬件的的接口。

由高级语言编写的程序通过操作系统调用硬件接口完成计算

是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O

分为复杂指令集和精简指令集

复杂指令集 CISC

Complex Instruction Set Computing;CISC)

每个指令可执行若干低端操作,诸如从存储器读取、存储、和计算操作,多个操作集于单一指令之中

程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢

包含许多应用程序中很少使用的特定指令,由此产生的缺陷是指令长度不固定

包括

  • x86 指令集

  • x86-64指令集

    博主这样理解,但是没找到官方说法

精简指令集 RISC

Reduced Instruction Set Computing,RISC)

对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高

通过只执行在程序中经常使用的指令来简化处理器的结构

包括

  • arm指令集

x86架构

背景

x86 架构于1978年推出的 Intel 8086 中央处理器中首度出现,8086 在三年后为IBM PC 所选用,之后 x86 便成为了个人电脑的标准平台,成为了历来最成功的 CPU 架构。8086 是 16 位处理器,接着一系列的处理器进行了 32 位架构的改进,现在 x86 一般指 32 位的架构。

该系列较早期的处理器名称是以数字来表示 80x86。由于以 86 作为结尾,包括 Intel 8086、80186、80286、80386 以及 80486,因此其架构被称为 x86

生产 x86 架构的 CPU 除了因特尔,它还把专利授权给了现在比较出名的超微(AMD)。然后在 1999 年 AMD 首次公开 64 位集以扩展 x86,此架构称为 AMD64。后来英特尔也推出了与之兼容的处理器,并命名Intel 64。两者一般被统称为 x86-64x64,开创了 x86 的 64 位时代。

Intel为了不让其他厂商模仿,申请了很多专利,与惠普联合设计了全新的架构 IA-64 ,但最大的问题就是它与之前的 x86 不兼容,且市场反应较冷淡,然后就凉凉了。

32位

x86、i386、IA-32架构

IA-32(英特尔32位架构,Intel Architecture(架构)32-bit,缩写为IA-32)

x86架构32位处理器,采用x86指令集

x86指令集
  • 由英特尔公司于1985年推出的指令集架构。它是8086架构的延伸版本,可支持32位运算,首次应用在Intel 80386芯片中。
x86 架构特征

只有8个32位通用寄存器

64位

x86_64、x64、AMD64、Intel 64架构

x86架构64位处理器,采用x86-64指令集

x86-64指令集
  • 支持全部传统x86指令集,增加了一些新的指令以支持长模式

    通用指令、128位媒体指令、64位媒体指令、x87浮点指令

    长模式是传统的保护模式的扩展,由两个子模式组成:64位模式和兼容模式。

    • 64位模式支持x86-64架构的所有新特征和寄存器扩展。

    • 兼容模式支持与已存在的16位和32位应用程序兼容,

    长模式不支持传统的实模式或虚拟8086模式,也不支持硬件任务切换

  • x64于1999年由AMD设计并公开64位集以扩展给x86,称为“AMD64”。其后也为英特尔所采用

  • 各种数据长度对比

x86-64架构特征

x86-64架构的的需求是由高性能服务器、数据库管理系统和CAD工具等的应用程序,要求大型和高精度数据和大的虚拟和物理存储器的地址范围引出的。

传统x86架构中可用的寄存器数只有8个,在强计算的应用程序中限制了性能

x86架构的64位拓展,向前兼容于16位及32位的x86架构

  1. 扩展了寄存器资源
    • 新增8个通用寄存器
    • 所有16个GPRs从32位扩展到64位
    • 新增8个128位 XMM 寄存器
  2. 增加了64位寻址

x86-64指令系统 https://www.cnblogs.com/chenxuming/p/9689747.html

称谓

  • 苹果公司和RPM包管理员以【x86-64】或【x86_64】称呼此64位架构

  • 甲骨文公司及Microsoft称之为【x64】

  • BSD家族及其他Linux发行版使用【amd64】,32位版本则称为【i386】(或 i486/586/686),

  • Arch Linux用【x86_64】称呼此64位架构

Arch Linux 仅支持 x86_64 架构

Debian 支持 i386, x86_64 等等,Ubuntu是基于debian的商业发行版

x86 x64 含义

  • x86含义

    1. x86 指令集
    2. x86 CPU架构
    3. x86(32位)操作系统
  • x64含义

    1. x86-64 指令集
    2. x86-64 CPU架构
    3. x64(64位)位操作系统

ARM架构

安谋控股公司(英语:ARM Holdings plc.),又称ARM公司设计的处理器架构

采用arm指令集

第一款基于ARM v7指令集的Cortex-A8构架于06年发布

网上有这种描述

ARM处理器广泛应用在嵌入式系统、移动通信设备,符合其主要设计目标为低成本、高性能、低耗电的特性

ARM架构指定了CPU模式。在任何时刻,CPU只可处于某一种模式,但可由于外部事件(中断)或编程方式进行模式切换。

32位

ARM v3 --- ARM v7 指令集

ARMv3到ARMv7架构支持32位空间和32位算数运算,大部分架构的指令为定长32位

64位

ARM v8 指令集

ARMv8-A架构添加了对64位空间和64位算术运算的支持,同时也更新了32位定长指令集

ARMv8使用了两种执行模式,AArch32和AArch64。顾名思义,一个运行32位代码,一个运行64位代码。ARM设计的巧妙之处,是处理器在运行中可以无缝地在两种模式间切换。

参考

https://zhuanlan.zhihu.com/p/113157931

posted @ 2020-06-09 00:21  usmile  阅读(13704)  评论(0编辑  收藏  举报