手机处理器到底是怎么做的(手机处理器篇01我们是如何给处理器下达命令的)

处理器是如何工作的?我们又是如何与处理器交流的?接下来小编就给友友们粗略的聊一聊。

什么是数字信号?在CPU工作时,只有两个工作状态,高电平数字“1”和低电平数字“0”,可以理解为开关通电是1断开是0。因为在CPU的语言里只有1和0,所以是二进制语言——机器语言

手机处理器到底是怎么做的(手机处理器篇01我们是如何给处理器下达命令的)(1)

图片来源于网络

最早程序猿们就是通过机器语言来编写程序的,但二进制指令代码都是一堆1和0组成的,不但难以记住,编写程序花费的时间还特长,工作效率低下。为了克服机器语言难读、难编、难记和易出错的缺点,人们就汇编了一套通过用英文缩写、字母、数字和符号等助记符来代替二进制语言——汇编语言

无论是机器语言还是汇编语言都是面向硬件的,想要编写程序还得了解硬件的工作原理,这对于编写软件程序的程序猿还是很不友好的,明明就是不相干的工作还得去了解它,脑子都要爆裂了。此时人们就又汇编了一套能与人类交流的语言——高级语言

友友们有过了解的应该都知道JAVA语言和C语言,这些就是高级语言。高级语言是面向人类的,汇编语言是面向硬件的,但我们又是如何与硬件交流的呢?

那就需要我们的“翻译官”——编译器了,安卓系统内置谷歌的编译器和华为花重金打造的方舟编译器。我们在操作应用软件时,就会通过高级语言告诉编译器我们要干嘛了,也就是源代码。编译器就会通过你所发出的指令,进行不断的扫描、分析、优化,最后生成一个可用的中间码,为什么不是直接生成汇编代码呢?且听小编一一道之。

手机处理器到底是怎么做的(手机处理器篇01我们是如何给处理器下达命令的)(2)

图片来源于网络

上文提过汇编语言是面向硬件的,所以不同芯片的汇编代码也就不同了,如果编译器直接编译出汇编代码,那就会造成只有一个芯片能用,其他芯片识别不出来。而中间代码也就更像一个插头了,对应在哪个芯片上就会生成该芯片可以识别的汇编代码,这个汇编代码也就是最终生成的目标代码。

手机处理器到底是怎么做的(手机处理器篇01我们是如何给处理器下达命令的)(3)

图片来源于网络

虽然汇编语言已经很接近机器语言了,但硬件只会识别二进制代码。这时就需要汇编器了,汇编阶段所做的工作就是根据芯片厂商提供的汇编指令与机器指令的对照表,把汇编指令翻译成机器能识别的二进制指令。最终输出二进制目标代码,此时CPU终于可以通过我们的指令去执行任务了。

手机处理器到底是怎么做的(手机处理器篇01我们是如何给处理器下达命令的)(4)

图片来源于网络

好啦,这次小编就跟大伙们聊这么多了,下篇给大伙聊聊系统和CPU架构,下回见。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页