近期,我们发现很多同学对CPU指令集方面的知识比较匮乏,今天我们就给大家介绍下CPU指令集。

前言

在说正题之前,我相信小伙伴们都有各自擅长的方言吧?像粤语、东北话、闽南语及上海话等等,甚至想出国的同学还要学习当地的语言,例如英语、法语等。同样,我们在进行计算机编程时,也会遇到汇编、C、C++、Java、dotnet、PHP及Python等不同语言,他们各自的语法和写法都不同。如果我拿一段Java代码,放到Python解释器上执行,是根本行不通的。

cpu指令集

同理可知,作为计算机最核心的CPU也有其自身的语言,也就是CPU指令集。CPU指令集是指可以操控该CPU进行运算的所有指令。操作系统内核及更上层的应用程序正是通过这些指令直接操控CPU进行运算和其它操作。

这些CPU指令是以二进制的形式存在的。并且根据CPU不同的功能和特性,设计了不同的CPU指令集,甚至一些指令集的定义都完全不同。就像上文提到的不同语言,就像是你只会中文却找了一个英国人作为合作伙伴,相互之间没有翻译难以准确沟通。同样,不同的CPU指令集一定要搭配相应的程序才能工作。目前指令集有X86、ARM、MIPS、OpenPOWER和国产的SW及开源的RISC-V架构。

编译

小伙伴们平时用C、C++等编写的程序代码需要通过编译器转化成对应CPU指令集的二进制编码,才能在对应的CPU上面执行。这个转换过程,我们称它为“编译”,从操作系统内核到各种库及各种驱动程序,再到开发的小程序都要针对对应的CPU指令集进行编译后才能运行。

因此,有小伙伴问:龙梦的补丁被Linux内核5.5收录后,是不是任何采用该新内核的发行版都能在龙芯上直接运行?答案显然不是,也只有如Fedora 28龙芯版这样的被航天龙梦团队专门针对龙芯使用的MIPS指令集优化编译的操作系统解决方案才能在龙芯上运行。

关于“Linux宝库”微信公众号:

欢迎关注"Linux宝库"微信公众号,这里每天发布最新的开源人物和开源事件。谨以此号记录Linux和开源业界的点点滴滴,为开源爱好者和从业者点亮人生。

- END -

- 责任编辑:陈绪 -

趣说cpu指令集之别相关推荐

  1. 计算机组成原理 — CPU — 指令集架构类型

    目录 文章目录 目录 主流 CPU 指令集架构 CISC(复杂指令集计算机) x86 系列处理器 RISC(精简指令集计算机) ARM 系列处理器 PowerPC 系列处理器 MIPS 架构 RISC ...

  2. C 语言编程 — 结构化程序流的汇编代码与 CPU 指令集

    目录 文章目录 目录 文章目录 为什么要保留汇编语言 顺序程序流 条件程序流 循环程序流 函数调用栈的工作原理 文章目录 <C 语言编程 - GCC 工具链> <C 语言编程 - 程 ...

  3. 【Java 虚拟机原理】Dalvik 虚拟机 ( 简介 | CPU 指令集 | Dalvik 虚拟机内存 )

    文章目录 一.Dalvik 虚拟机简介 二.CPU 指令集 三.Dalvik 虚拟机内存 一.Dalvik 虚拟机简介 Android 5.05.05.0 之前使用的是 Dalvik 虚拟机 , 5. ...

  4. 【Android 安装包优化】动态库打包配置 ( “armeabi-v7a“, “arm64-v8a“, “x86“, “x86_64“ APK 打包 CPU 指令集配置 | NDK 完整配置参考 )

    文章目录 一.动态库打包配置 二.NDK 完整配置参考 三.参考资料 一.动态库打包配置 在 build.gradle 构建脚本中 , 配置 ndk 编译的动态库 CPU 架构类型 ; 在 " ...

  5. CPU指令集是什么东西

    (已更正) 这个问题包括CPU的硬件结构和汇编语言的范畴. 这里梳理一下. 首先, 题主"李建国"自问自答的部分说的是正确的, CPU的指令集是软件与CPU这两个层级之间的接口, ...

  6. opencv cpu指令集SSE/AVX

    SSE与AVX指令集 SSE指令集是英特尔提供的基于SIMD(单指令多数据,也就是说同一时间内,对多个不同的数据执行同一条命令)的硬件加速指令,通过使用寄存器来进行并行加速.经过几代的迭代,最新的SS ...

  7. 如何查看CPU指令集

    如何查看CPU指令集 芯片 指令集 Intel i5 x86.MMX.SSE.SSE2.SSE3.SSSE3.x86-64.SSE4.SSE4.2.EM64T.SSE4.1.VT-X.AES.AVX. ...

  8. CPU指令集是什么东西,以及指令集的架构有哪些(有哪些大类),以及具体的指令集都有哪些

    这篇文章来自于农夫山泉,我们是大自然的搬运工,哈哈,文章来源于网络 https://blog.csdn.net/yu132563/article/details/55251534 这个问题包括CPU的 ...

  9. linux内核和cpu指令集,Linux之父:Intel别浪费时间在AVX512这类指令集、多堆核心才是正道...

    原标题:Linux之父:Intel别浪费时间在AVX512这类指令集.多堆核心才是正道 在最近一次邮件交流中,Linux之父Linus Torvalds对Intel的处理器战略表达意见. 他谈到&qu ...

  10. 同一类型的计算机指令系统,不同类型的CPU指令集不同,指令系统一样吗?

    再强大的处理器也需要指令集的配合才行. 然而如此一颗精密的芯片为什么能够控制一个庞大而复杂的电脑系统呢?这就是CPU中所集成的指令集.所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合, ...

最新文章

  1. 当领导,核心是“抓住2点、做好5条”!做到了,员工根本不用管
  2. mysqlbinlog 恢复mysql数据
  3. CNN 卷积神经网络TensorFlow简单实现
  4. 51. ExtJs4之Ext.util.JSON编码和解码JSON对象
  5. pandas中drop用法_pandas中drop()函数用法
  6. Servlet的运行方式
  7. C语言,向函数传递一维数组,调用函数并计算平均成绩
  8. 主流物联网平台的架构设计思考
  9. PyTorch 入坑六 数据处理模块Dataloader、Dataset、Transforms
  10. java Monitor对象监视器、对象头、mark word
  11. 利用AVR单片机控制LCD320240彩屏
  12. 如何十步写好一份值钱的商业计划书
  13. 点陶极速版《隐私政策》
  14. BeanUtils.copyProperties不支持复制集合的解决方案
  15. git操作在工作中的使用
  16. 什么是回归问题和分类问题?机器学习知识点
  17. 定义python函数时如果函数中没有return语句_定义Python函数时,如果函数中没有return语句,则默认返回空值None。...
  18. 通过限制挖矿病毒cpu占用率来解决挖矿病毒,简单奏效
  19. 跨市场套利——策略简介与风险因素
  20. MOSFET常用品牌及特点

热门文章

  1. 8天玩转并行开发——第二天 Task的使用
  2. 超强免解压看图片压缩包工具(Made in Korea)
  3. 接口与抽象类的区别和相同点
  4. js中的call及apply
  5. 【刷题】BZOJ 1003 [ZJOI2006]物流运输
  6. 架构与设计的流程和核心概念笔记:三、业务层设计
  7. 分布式系统常用思想和技术
  8. Problem 1036 四塔问题
  9. 两个DIV高度自适应方法(左右两个DIV高度一样)
  10. (转)图文详解手把手教你在Windows环境下下载Android源码(Launcher为例)