计算机编程语言与CPU的指令集之间有什么样的一种关系?

推荐  (1) | 8人关注关注
5个答案
7 1

WTC.Algorithmn计算机科学专业本科生

2013-05-03 19:47

LZ我看你今天发了很多帖了,其实你与其在果壳问不如去看看《深入理解计算机系统》这本书,PDF很好找的。

5 0

创造琪迹本科生工科生

2013-05-09 12:21

最早的编程使用的是机器语言,就是一串串0和1。后来为了记忆方便,把一些特定的10序列用容易记忆的字母表示,比如MOV,AND之类的,这就是汇编语言,其实汇编语言和机器语言是完全对应的。由于汇编语言太底层,程序员把大部分时间花在了与自己要解决的问题 无关的细节上(比如把数据从CPU寄存器中移来移去),所以人们又发明了高级语言(比如Fortan,Lisp,C……),他们更接近人的思考方式,程序员就能够把更多的时间花在问题本身上。这个时候就需要编译器把高级语言翻译成底层的汇编语言。也就是,所有的编程语言必须要翻译成机器语言,也就是CPU的指令,计算机才能够运行。
我想我应该解释清楚了吧。

0 0

楼主可以了解一下:汇编、数电、模电、单片机。

0 0

抽象层次的不同。

CPU指令用来控制CPU、内存和IO的工作,而仅仅用这些指令还无法解决我们的问题,于是需要有更适合的抽象层次。
举例来说,汇编语言就是CPU指令的集合,而C语言则将汇编语言加以封装,用人更加熟悉的方式来间接的操作这些指令。

0 0

程序员很大的一个技能要求就是把复杂问题说的简单,准确,我来一个:
编程语言真的只是给程序员用的,
而CPU只识别指令集里面的指令。

举个栗子,
一段C语言的程序,你可以把它编译成X86指令集,使得X86架构的CPU可以去执行这段程序。
同样,你也可以把它编译成ARM指令集,使得ARM架构的CPU可以去执行这段程序。

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区