通俗解释什么是指令集

简介: 通过简单案例来通俗的解释指令集的作用

计算机语言经过不断发展分为三个层次,高级语言、汇编语言和机器语言。

1、机器语言

我们人类在计算数字的时候习惯于用10进制的表示方法,据说是因为人类有10根手指的关系。但是对计算机来说靠的是高低电平来表示所有的信息,在这个前提下要以10进制的方式表示信息就比较复杂,最适合计算机的表示方式就是高电平代表1,低电平代表0,所有的信息都是以0和1的组合方式来表示,不管是简单的加法还是微信还是游戏,本质上就是0和1组成的指令进行计算的结果。因此以0和1组成的指令是计算机最底层的语言,事实上计算机也仅能理解这种沟通方式,这种语言叫机器语言。

2、汇编语言

机器语言的问题在于人类要传递给计算机任何信息都必须以0和1的组合序列表达,不符合人类的沟通习惯,因此有了助记符的概念并在这个基础上产生了汇编语言,通俗来说我们需要将1+2这种信息表达为计算机可接受的0和1的组合,因为人类更能接受1+2这种表达方式,而计算机只能接受0和1的表达方式,汇编语言就是初步解决了人类和计算机的沟通难度,提高了沟通效率。

3、指令集的作用

以下以实际ARMv8指令集举一个最简单的加法例子来说明指令集的作用。
高级语言语句:1+2
汇编语言语句:ADD X9(存放1+2的结果),X10(存放1),X11(存放2)
在编译成机器语言时,需要解决几个问题:
(1) 怎么让计算机明白ADD是什么意思
(2) 怎么让计算机以0和1的组合序列表达1+2这个计算指令
先解决第一个问题,芯片厂商定义一串序列表示加法,根据ARMv8指令集,1112(十进制)代表加法,进一步表示为二进制为10001011000(二进制)。
解决第二个问题分为两个步骤,通俗来说就是单词和语法,单词的翻译结果为ADD=1112(十进制)=10001011000(二进制);X9寄存器=9(十进制)=1001(二进制);X10寄存器=10(十进制)=1010(二进制);X11寄存器=11(十进制)=1011(二进制)。之后是语法也就是按照什么顺序让计算机读懂以及每个二进制字段所占的位数。ARMv8指令集对于加法的指令格式如下:
image.png

这里忽略位移量这个参数,按照指令格式将1+2填入此表:

高级语言:1+2

image.png

汇编语言:ADD X9(存放结果),X10(存放1),X11(存放2)

image.png

机器语言:

image.png
最终根据ARMv8指令集,1+2的机器语言指令为10001011000010110000000101001001。

由于机器语言是最底层并且计算机唯一能读懂的语言,指令集的改变就涉及所有的上层程序的重写,重中之重就是操作系统。无法要求同一个操作系统适应不同的指令集,所以相对技术,芯片的市场占有率是指令集能否成为公认标准的唯一指标。

目录
相关文章
|
6月前
|
存储 编译器
向量化代码实践问题之SIMD指令集中的寄存器宽度和操作类型是如何表达的
向量化代码实践问题之SIMD指令集中的寄存器宽度和操作类型是如何表达的
|
7月前
|
芯片
芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解
芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解
429 0
|
8月前
|
存储 人工智能 编译器
【重学C++】【指针】一文看透:指针中容易混淆的四个概念、算数运算以及使用场景中容易忽视的细节
【重学C++】【指针】一文看透:指针中容易混淆的四个概念、算数运算以及使用场景中容易忽视的细节
116 1
|
安全 前端开发 数据库
并发编程常用术语通俗解释
并发编程常用术语通俗解释
带你读《数字设计和计算机体系结构(原书第2版·ARM版)》之二:组合逻辑设计
采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的MIPS处理器。另外,在全书的实例中运用SystemVerilog和VHDL展示基于CAD的电路设计方法和技术。通过《数字设计和计算机体系结构(原书第2版)》,读者能够构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。
|
异构计算
《逻辑与计算机设计基础(原书第5版)》——导读
本书的目的是为广大读者提供学习逻辑设计、数字系统设计和计算机设计的基础知识。本书第5版突出了课程内容方面的最新发展。从1997年的第1版开始,作者就不断对其进行修改,提供一种独一无二的将逻辑设计与计算机设计原理结合在一起的方法,并特别强调硬件。
2725 0
|
量子技术 算法
带你读《量子编程基础》之三:量子程序的语法与语义
本书讨论了如何扩展当前计算机的新程序设计方法和技术,以利用量子计算机的独特能力。相比于现有计算机系统,量子计算机在处理速度上具有显著优势。世界各地的政府和企业都投入了大量资金,希望建造实用的量子计算机。本书结合作者在量子计算领域多年的研究经验,并辅以大量的例子和插图,介绍了量子编程语言及其所需的重要工具和技术,对于学者、研究人员和开发人员来说都是非常宝贵的参考资料。
|
安全
学习汇编语言的15大好处
破解高价商业软件 分析商业软件高价值功能 分析高盈利辅助的变态功能,基址,CALL 分析传播急速的病毒的实现与防护 分析高利润盗号木马的实现与防护 分析所有游戏数据基址与CALL,变态功能等 易语言,VC++,Delphi,vb等开发环境内嵌汇编 分析游戏驱动保护与过保护驱动 分析百万乃至千万用户使用的软件ODAY漏洞 读懂各类需要汇编语言基础的书籍与文章。
1174 0
|
算法
《逻辑与计算机设计基础(原书第5版)》——1.9 习题
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第1章,第1.9节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3682 0

热门文章

最新文章