软件是如何驱动硬件的?

软件的本质是代码和数据,代码和数据最终都是以二进制的形式存储,二进制就是01011101101001010这种数字串,为什么二进制串就能控制硬件呢?

其实一直就没有二进制这种东西,机器也不知道二进制这种东西,它也识别不了,机器只能“识别”电压的高低,高电压的时候某个开关开了或者关了,低电压的时候另外一个开关开了或者关了,这就导致某个灯亮了,某个灯灭了,把电脑的显示器想象为很多个LED灯,最终呈现出来的效果可能就是屏幕上出现了一个字,一个动画。我们按一下键盘或者点击一下鼠标,实际上是给机器发出了一串电压信号。硬盘里面存储的一部电影,存储的其实不是二进制,而是电压信号,因为内存里面有锁存器这种东西,意思貌似是可以让某个存储单元固定在某个电压值。总之,我们输入的是电压,机器处理的也是电压,输出的也是电压,没有二进制的事情。

那为什么很多人都说机器能识别二进制呢? 我个人觉得二进制这种东西是一种理论,用来认识机器理解机器提出的一种理论,这就像是我们用科学来解释世界一样。

你说你今天编写了一个程序,并把它保存在硬盘中,其实你是把一堆电压值保存在了硬盘中,运行的时候,其实是把硬盘中的那一堆电压值拷贝到内存中,然后内存中就有了一堆电压值,

CPU读取到了一堆电压值,然后解码这堆电压值(即:某某电压值该干什么事情),输出结果也是一堆电压值,显示器获得了这群电压值,然后显示器根据这群电压值改变LED灯的状态,如果你就看到效果了。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值