• [Linux]CPU架构/指令集:arm | amd | X86/i386 | aarch64


    1 前言

    本文是解决在软件开发、软件交付过程中,常常需要找寻与服务器硬件的CPU架构适配的软件包时,开发者和交付者又时常摸不着头脑、【迷迷糊糊】地就下载了某个所谓“适配”、“兼容”的各种软件包。那么,我们真的get到了背后的原因,这一层面了吗?

    正本清源,方能以更高de效率去理解、学习基于此的上层知识模块,降低开发风险、提高工作效率。

    (扯远啦~ 赶紧一把回来!那么,先从CPU架构说起叭↓↓↓)

    <一>
    CPU执行计算任务时都需要遵从一定的规范,程序在被执行前都需要先翻译为CPU可理解的语言。
    这种规范或语言就是【指令集】(ISA,Instruction Set Architecture)。
    程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做【编译】(compile)。
    x86、ARM v8、MIPS都是指令集的代号。
    指令集可被扩展,如x86增加64位支持就有了x86-64。
    厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型的例如:Intel授权AMD,使后者可开发兼容x86指令集的CPU。

    <二>
    所有软件的程序运行,最终都需执行CPU内部的指令集来完成。
    而这些CPU指令集的设计理念,主要分为2类:精简指令集(RISC)、复杂指令集(CISC)。

    发展到今天,CPU制造商,也并非就仅制造一类的指令集,甚至可能是制造融合了两种指令集设计理念的处理器。
    例如,安腾Itanium(开发代号即Merced):采用了EPIC(ExplicitlyParallelInstructionComputers,精确并行指令计算机)技术的IA-64系列处理器.
    
    还例如,这样的情况,苹果的A11等处理器、高通的处理器:2家企业并无真正的CPU架构研发能力,而是基于ARM的64位芯片做的部分定制化修改。
    
    因此,还得具体情况具体分析,切莫生搬硬套。
    

    Linux下,查看主机的硬件架构
    lscpu

    2 X86架构: IA-32 / AMD64 / Intel64

    x86(架构):泛指一系列由Intel公司开发的CPU处理器的架构。最早为1978年面世的“Intel 8086”CPU。
    早期的处理器均是以此格式来命名,如Intel 8086,80186,80286,80386,80486,这些架构被统称为x86。
    由于数字不能被注册成为商标;因此,公司每当有新的处理器使用,均会采用可注册的名称,如: Pentium。

    • 基于x86的32位架构(常被称为i386,x86),IA-32。

    • 基于x86的64位架构,x86-64常称为AMD64或Intel64。
      最早是由AMD公司,首先根据x86的架构生产出了64位的处理器,但是由于是竞争关系,Intel公司不愿意承认AMD64,近些年才推出了Intel64。

    2.1 AMD

    CPU与GPU

    AMD(Advanced Micro Devices, (美国)超威半导体):;是除了Intel以外,最大的【x86架构微处理器(CPU)】供应商;也是除了NVIDIA以外,仅有的【独立图形处理器(显卡/GPU)】供应商。

    3 ARM

    ARM(Advanced RISC Machine,Acorn RISC Machine)也是1个CPU架构;非常适用于【移动通信】,这种低成本,高性能,低耗电的领域。
    ARM的公司:安谋控股(ARM Holding plc),又称:ARM公司;总部位于剑桥的设计与软件公司,现已被日本的软银公司收购,后者同时也是国内互联网巨头阿里巴巴的最大股东。

    3.1 AArch64

    AArch64是ARMv8的一种执行状态。

    4 文献

    4.1 参考
    4.2 推荐
    # 查看CPU支持的指令集
    root# cat /proc/cpuinfo
    root# gcc -march=native -Q --help=target|grep march
    
    # 查看CPU信息(硬件架构等)
    root# lscpu
    
  • 相关阅读:
    HDU 1813 Escape from Tetris
    BZOJ 2276 Temperature
    BZOJ 4499 线性函数
    BZOJ 3131 淘金
    HDU 5738 Eureka
    POJ 2409 Let it Bead
    POJ 1286 Necklace of Beads
    POJ 1696 Space Ant
    Fox And Jumping
    Recover the String
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13224632.html
Copyright © 2020-2023  润新知