计算机为什么可以编程语言
![cysgjj](http://www.wnpsw.com/zb_users/avatar/0.png)
为什么计算机能够识别计算编程语言,底层物理原理及逻辑是什么?
他们回答的太复杂了感觉,我用简单的例子来说说,计算机为什么能够识别现代的编程语言编写的程序吧!
比如:小明说的是他们本地的方言(计算机本身)而且他又不会也听不懂普通话,你直接用你自己家里方言或者普通话跟他说话交流他可能会听不懂啊!这个时候怎么办,你只能找个懂他们家里方言的人把你的话翻译给他听,这个时候给你翻译的人就相当于是一个中间的翻译器(计算机编程语言自带的编译器层面),你说的话就相当于是现代编程语言,需要有一个或者多个人翻译后,小明才能明白你说的话是什么意思。这期间你找的翻译人越多效率就越差(程序执行效率越差),你找的翻译人越少效率就越好(程序执行效率越好)。
计算机底层只能识别0和1二进制,现在编程语言最终都会被翻译成0和1去让计算机去执行。
计算机不能直接识别编程语言,即便是汇编语言也不能直接识别。
汇编语言与机器指令一一对应,但是我们说的汇编都是通过助记符编程,要汇编成二进制代码后才可以被计算机识别。计算机只认识010101组成的计算机指令代码。
高级语言,C语言、java、Python等都是不能被直接识别的,需要编译系统编译成机器指令,也就是二进制代码才可以被识别和执行。
高级语言有大量的支持库,这些支持库一般都是C语言为代表的高级语言写成的,编译成二进制代码后备用。
高级语言的编译器的工作是将人类易识别、理解的计算机语言翻译成计算机能识别的机器代码,并通过link程序将你编写的代码和支持库组成一个完整的执行程序。
编译系统就是个翻译官,最早的编译器肯定也是汇编语言写成,现在一般都是C语言为主导写成,就是滚雪球,从最早的简单的语言迭代发展成现在的众多高级语言。
高级语言分两大类,解释型和编译型。
解释性的一边编译一边执行,自带基础支持库,速度慢,但是门槛略低。
编译型的编译后需要链接(link),一边将支持库代码或者调用入口纳入执行代码。
CPU就是一些数字电路组合,很傻只能进行极为简单的逻辑运算,但是速度贼快,可以达到纳秒级;当然为了提高速度设计出各种CPU结构和指令体现,基本的原理都是数字逻辑运算。
现在的X86体系源自60年代,发展到现在已经是非常复杂臃肿,指令丰富到一般人无法掌握使用,我们现在只能通过高级语言和开发套件才能使用到那些指令。X86的复杂度降低了CPU的效率,增加了CPU设计、制造的难度,苹果公司的M1以极少的晶体管数量和极低的功耗获得了极高的运行速度就是个例证,当然苹果M1的主CPU本身功能一般,高速度的功劳是辅助功能模块的接入,也就是n年前说的协处理器。
90年代有科技大佬预测未来的计算机发展会出现大量的***处理器,结果被wintel简单粗暴的单一CPU+windows组合替代,现在的苹果给出了新思路,为未来的AI、VR等技术带来希望
逻辑函数 模电 数电。
大学课程 先是模拟电子电路。就是三极管 二极管。然后产生数字电子电路 几个三极管产生与非门。最后用与非门结合逻辑函数产生 可计算的东西
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/16430.html