计算机组成原理(五)

计算机指令

在软硬件接口中,CPU 帮我们做了什么事?

  • CPU 的全称是 Central Processing Unit,中文是中央处理器。
    • 从硬件的角度来看,CPU 就是一个超大规模集成电路,通过电路实现了加法、乘法乃至各种各样的处理逻辑。
    • 如果我们从软件工程师的角度来讲,CPU 就是一个执行各种计算机指令(Instruction Code)的逻辑机器。
    • 这里的计算机指令,就好比一门 CPU 能够听得懂的语言,我们也可以把它叫作机器语言(Machine Language)。
  • 一个计算机程序,不可能只有一条指令,而是由成千上万条指令组成的。
    • 但是 CPU 里不能一直放着所有指令,所以计算机程序平时是存储在存储器中的。
    • 这种程序指令存储在存储器里面的计算机,我们就叫作存储程序型计算机(Stored-program Computer)。

从编译到汇编,代码怎么变成机器码?

  • 要让程序在一个 Linux 操作系统上跑起来,我们需要把整个程序翻译成汇编语言(ASM,Assembly Language)程序,这个过程我们一般叫编译(Compile)成汇编代码。
  • 针对汇编代码,我们可以再用汇编器(Assembler)翻译成机器码(Machine Code)。这些机器码由“0”和“1”组成的机器语言表示。这一条条机器码,就是一条条的计算机指令。这样一串串的 16 进制数字,就是我们 CPU 能够真正认识的计算机指令。
  • 一行 C 语言代码,有时候只对应一条机器码和汇编代码,有时候则是对应两条机器码和汇编代码。汇编代码和机器码之间是一一对应的。

解析指令和机器码

  • 常见的指令可以分成五大类:
    • 第一类是算术类指令。
    • 第二类是数据传输类指令。给变量赋值、在内存里读写数据,用的都是数据传输类指令。
    • 第三类是逻辑类指令。逻辑上的与或非,都是这一类指令。
    • 第四类是条件分支类指令。
    • 最后一类是无条件跳转指令。在调用函数的时候,其实就是发起了一个无条件跳转指令。
      在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值