代码如何控制硬件

自己的一点浅薄理解,是否准确还待验证。
硬件,例如芯片,只能识别0和1,而软件正是通过控制寄存器0和1的值来完成逻辑
例如实现c=3+2,二进制对应为11+10,就要有一个存放a的寄存器和b的寄存器,连接到一个加法器上,结果存放于寄存器c。
编译成底层汇编语言后,将.h文件烧制到芯片中,这个.h文件是比特流,可以给寄存器赋值高低电平,从而完成a=11;b=10;
电平稳定后可以在寄存器c中读取到结果为101,再通过译码器可以显示出10进制里我们看到的“5”。
至于为什么能一次性烧制比特流进去,那是因为编译的时候寄存器已经记住我们的代码(01),连接后对应负责通信的芯片识别、翻译并输出这一串电平。
这就是先有鸡还是先有蛋的问题,我们可以想象把芯片的每一个寄存器放大到我们可以用手摁按键来控制它的高低电平,那么它就能用来控制其他的寄存器,然后我们不断集成、缩小,直到形成芯片。
硬件一开始都是需要一个外界的输入电平来触发的,就像电脑开机,机械开关闭合,芯片上电,内部指针初始化,双击鼠标,软件通过API接口访问对应地址空间的内容,再反馈回来形成我们所能看到的图形界面。

来源:qq_40946355

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月4日
下一篇 2020年2月4日

相关推荐