芯片设计师编程语言,芯片设计师编程语言有哪些
不同的芯片,需要的编程语言不一样吗?
不知道你想知道是设计芯片的编程语言还是使用芯片的编程语言。设计芯片的编程语言一般是Verilog,VHDL,SystemVerilog,前面两种偏向于设计后面偏向验证。而使用芯片的编程语言我接触一些就是C、C++、汇编语言居多也使用较广,其他的在图像处理等AI方面可能有很多高级语言不甚了了,欢迎补充。
芯片都是数字电路,编程语言要用到英语,它是怎么识别的,求解?
大致的思路就是:编程语言转化为二进制机器码,再把二进制机器码转化为高低电平输入给芯片电路。这个问题是计算机原理的问题,编程语言如何被硬件芯片执行?我们很多时候,听过计算机只认识“0”和“1”,除了0和1之外的信息,又是如何被计算机理解执行的呢?聊到这我想到了《易经》“无极生太极,太极生两仪”,“一生二、二生三,三生万物”。挺有意思,0和1可以表示整个世界,和几千年前我们中国哲学思想完全吻合。
如何做到呢?
1、编译。编译器把高级程序语言(英语)编译为二进制可执行文件,存储到硬盘上。
好像说的和电路还是没有什么关系呀?是的,我们没有讲明白这一点。“0”和“1”如何变成高低电平?
“0”和“1”如何变成高低电平?
我们回到打孔机时代,你的01010代码,需要专职的程序录入员将0和1用打孔和不打孔的方法,转换为纸条上的一串孔洞。然后有孔的程序纸通过光照区,有孔无孔转换为光点和暗点,再通过光敏元件,转化为高低电平。以后机器中就再也不会出现0和1,只有高低电平了。
可以说,录入员之前是一个世界,高级语言也好,汇编语言也好,机器代码也好,都是0101的二进制数字世界;光敏传感器之后,都是高低电平的世界。录入员+光电检测完成了这种转换。
现在的计算机,和打孔机时代的区别,只不过是输入变成键盘了,按键接通和断开代替了光线的有和无,在每个键下面的识别电路以后,就完全是高低电平的时代了,010已经不存在了啊。01在哪里?在我们的头脑中,在程序纸上,在键盘表面,在显示器上,就是不在键盘以下的空间中。
物质怎么能接受指令?
问得好!
要理解这个,要从最基础的逻辑电路开始理解。触发器、与、非、或门就是最基础的逻辑运算单元。只要人类发出第一个指令(给电),逻辑电路就会按照预定的程序进行运算。
以非门为例,
如果输入端是高电平,则其输出端就是低电平,反之亦然。这里高电平代表1, 而低电平代表0。(TTL,高电平为5v,悬空不接视为高电平,低电平为0v)。
而触发器的工作原理是,每输入一次高电平,其输出端的电平状态就翻转一次,由原来的0变成1,或者由原来的1变成0。
接下去就是加法器,......。
加法器是构成CPU运算功能的基本器件。
计算机发展到今天,很多工程师都在操作系统平台上编程,没有多少人还关心这么基础层的事情了。但是这些最基础的东西恰恰是最核心的部分。华为也要向ARM购买芯片架构就是这个道理。
当前AI很时髦,但是人工智能也是要涉及到这个问题,物质怎么会思考?谷歌的DEEPMIND公司在这方面的研究处在领先地位,其创造的机器人ALPHA zero***用的加强型学习[_a***_],它不需要向人类学习棋谱和下棋技巧,人类只需要告诉它下棋规则即可,通过自己和自己对弈,短时间可以熟练掌握下棋技巧,可以学习任何棋类。它自学习了30小时后打败了它的哥哥alpha go,而alpha go就是打败人类冠军棋手的世界冠军。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/22695.html