软件控制硬件的物理学原理是什么?
展开全文
硬件驱动的本质其实是电驱动,而软件代码编译之后其实全部是二进制数字——0和1,故要理解软件控制硬件的原理就要理解0和1如何在软件和硬件中运行
1.0和1的表示——逻辑电平
数字电路中,电压的高低用逻辑电平来表示。例如在TTL门电路中,
∙大于3.5伏的电压规定为逻辑高电平——表示数字1
∙小于0.3伏的电压规定为逻辑低电平——表示数字0
2.电路的基本元件——晶体管
晶体管,主要有二极管跟三极管。
∙二极管,一种具有两个电极的装置,只允许电流由单一方向流过。
∙三极管,是一种控制电流的半导体器件,作用是把微弱信号放大成幅度值较大的电信号。
3.电路的逻辑运算基础——三种几门逻辑门
下图为三种基本的逻辑门以及他们对应的晶体管电路图零基础学java编程
三种门的基本运算称为布尔运算,逻辑与和或门接受两个电平,非门接收一个电平,经过逻辑门后电平变化如下图
其他诸如异或门、与非门等复杂门电路由几门电路组成。例如下图为一个一位加法器。
以一位加法器为基础,可以构建八位加法器
例如计算2 3为例
十进制数在数字电路中先ASCII编码成二进制说00000010和00000011,两者通过八位加法器进行加法运算和进位,最后输出00000101,再ASCII解码成十进制数5,输出。
4.指令集
芯片便是以加法器等其他指令为基础而构建而成的一个计算处理芯片。每个芯片所含有的所有逻辑运算统称为指令集。常见的指令集有电脑端使用的Intel的X86指令集,以及手机使用的ARM的ARM指令集,细分类不展开。这些指令集是嵌入在芯片中的
5.驱动程序
指令集嵌入在芯片中,人是无法调用的,则开发驱动程序,驱动程序的目的是向外给出一个接口,可以供外部其他部件调用本芯片的指令集进行运算处理。
6.软件编程
采用高级语言编写各种程序代码,比如java语言、C语言、C 语言等
7.程序编译
所编写的程序代码通过编译器编译成二进制0和1组成的一段指令,然后这些指令通过与驱动程序匹配,满足匹配条件后将指令传入指令集中进行运算,从而驱动硬件运行,如果还有输出,则再将由0和1的运算结果进行解码(与编码相对于的解码方式,如ASCII Unicode等),结果输出在显示器上,可以查看输出结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论