欢迎您光临五金加工厂,如有问题请及时联系我们。

芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?

作者:五金加工
文章来源:本站

  

芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?

  

芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?

  

芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?

  芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?

  ·

  在数字电路中是用二进制来执行指令和处理数据的,所以数字电路的世界只有“0”和“1”。当然,不同长度的“0”和“1”组合起来就可以得到不同的指令或者数据了。

  其实处理器是不认识英文的编程语言的,它只认识“0”和“1”。但如果用“0”和“1”来编写程序,对于人类来说是非常困难的,效率也相当的低,可读性也非常差。于是聪明的人们发明了汇编语言。

  比如:“MOV”代表数据传递;“ADD”代表加运算;“JMP”代表跳转等。当然这些用汇编语言编写的程序是不能被处理器直接识别的。需要通过编译器,把我们编写的程序“翻译”为处理器认识的二制进机器码。

  其实汇编语言只是一种符号语言,用于帮助程序员代替机器指令和操作码。不同的机器,不同的芯片都有着不同的机器语言和指令集,用汇编语言编写的程序难以在不同平台中移植。

  随着科技的进步,电子产品的功能越来越强大,芯片的处理速度也越来越快,我们编写的程序也越来越复杂了。汇编语言这种低级的语言已经难以满足我们的编程需求,也令程序员大吐苦水。于是聪明的人们又发明了高级的编程语言,比如:C,C++,JAVA,Python,PHP,VB等等。高级语言可以对多条指令进行整合,使得编程更为简单,有着较强的操作性。比如用“if”进行判断,用"while"作为循环。

  当然高级语言编写出来的程序一样需要翻译为二进制的机器码才可以被处理器识别和执行。

  因为目前所有的编程语言都是由外国人发明的,所以基本上都使用了英文。以后中国人发明一种用汉语进行编程的语言也不是不可能的。我们可以拭目以待哦!

  如果发明一种汉语进行编程的语言,你会学习吗?不妨留言讨论一下哦!

  ·

  大致的思路就是:编程语言转化为二进制机器码,再把二进制机器码转化为高低电平输入给芯片电路。这个问题是计算机原理的问题,编程语言如何被硬件芯片执行?我们很多时候,听过计算机只认识“0”和“1”,除了0和1之外的信息,又是如何被计算机理解执行的呢?聊到这我想到了《易经》“无极生太极,太极生两仪”,“一生二、二生三,三生万物”。挺有意思,0和1可以表示整个世界,和几千年前我们中国哲学思想完全吻合。

  如何做到呢?

  1、编译。编译器把高级程序语言(英语)编译为二进制可执行文件,存储到硬盘上。

  2、加载。操作系统通过相应的机制,把二进制加载到内存中。

  3、运行。CPU执行指令。

  好像说的和电路还是没有什么关系呀?是的,我们没有讲明白这一点。“0”和“1”如何变成高低电平?

  “0”和“1”如何变成高低电平?

  我们回到打孔机时代,你的01010代码,需要专职的程序录入员将0和1用打孔和不打孔的方法,转换为纸条上的一串孔洞。然后有孔的程序纸通过光照区,有孔无孔转换为光点和暗点,再通过光敏元件,转化为高低电平。以后机器中就再也不会出现0和1,只有高低电平了。

  可以说,录入员之前是一个世界,高级语言也好,汇编语言也好,机器代码也好,都是0101的二进制数字世界;光敏传感器之后,都是高低电平的世界。录入员+光电检测完成了这种转换。

  现在的计算机,和打孔机时代的区别,只不过是输入变成键盘了,按键接通和断开代替了光线的有和无,在每个键下面的识别电路以后,就完全是高低电平的时代了,010已经不存在了啊。01在哪里?在我们的头脑中,在程序纸上,在键盘表面,在显示器上,就是不在键盘以下的空间中。

  结论:高级程序语言经过编译器的翻译,变成二进制的机器语言,机器语言再通过按键的变量输入变成高低电平信号,这样就被芯片设别了。

  ·

  要回答这个问题我们要明确芯片的种类有许多种,并不是所有的芯片都是数字电路,也有些芯片是模拟电路芯片,比如各种运放芯片、功放芯片等这些就属于模拟电路类型的芯片;那么还有相当部分的芯片属于数字类型的芯片,在这些数字类型的芯片当中又可分为不可编程的芯片和可编程的芯片!下面我们着重讲一下数字类型的芯片吧!

  数字类型的芯片有一种叫数字功能芯片,它在电路中可以实现一定的功能,比如译码器74LS138、各种编码器以及各种触发器等,这些芯片只识别高电平和低电平也就是所谓的“1”和“0”。这种芯片不需要编写程序,它们都划规到数字逻缉芯片当中,它们也没有记忆功能,只要输入“1”或者“0”以及“1”和“0”的组合,其输出就会有相应的高电平“1”和低电平“0”。当输入高低电平消失时其输出也就没有了!

  另一类则是通过编程才能使用的数字芯片,我们一般称它们为嵌入式芯片,比如各种单片机芯片、FPGA(可编程的逻辑阵列)芯片等,这类芯片需要通过编写程序,一般用汇编语言或者C语言,再或者用硬件描述语言(VHDL)等,这些语言数字芯片是不识别的,而我们人类对这些英文编写的语言能读懂。为了使这些可编程的芯片能读懂这些语言,我们要通过一种软件把它编译成芯片能读懂的是由“0”和“1”组成的机器语言,我们称这种程序叫目标程序,它是由一系列“0”和“1”组成的。这种语言芯片能读懂,我们人类很难懂!

  以上就是我对这个问题的解答,欢迎朋友们讨论这个话题,敬请观注电子及工控技术!

  机器语言掌握在老美手中,危险啊…

  机器不认识什么中文或者英文,只认识两个数字,1,0,也就是高电位和电位,所有的程序都是1,0的集合,用英文来翻译出来意思和意图。

来源:文章来源于网络,如有侵权请联系我们删除。本文由五金加工编辑,欢迎分享本文,转载请保留出处和链接!