【计算机基础系列文章(二)】计算机软件系统

软件与硬件的关系

硬件和软件互相依存。硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用的唯一途径。
计算机系统必须要配备完善的软件系统才能正常工作,且充分发挥其硬件的各种功能。

软件是如何控制硬件的

本质上并没有软件控制硬件,就和你是不能用意念控制一个东西一个道理,而是硬件控制硬件。

软件操作硬件流程图 【计算机基础系列文章(二)】计算机软件系统

  • 或门
    除非两个输入都是0,则输出0,否则输出1.

    【计算机基础系列文章(二)】计算机软件系统
  • 或非门
    除非两输入相同则输出0,否则输出1

    【计算机基础系列文章(二)】计算机软件系统
    1. 当两个输入都是0,高位输出0,低位也是0,结果是00, 换成十进制就是0
    2. 当两个输入都是1,高位输出1,低位输出0,结果是10,换成十进制就是2
    3. 当输入一个0一个1,高位输出0,低位输出1,结果是01,换成十进制就是1
    所以逻辑电路其实并不明白加法,它只是按步就搬的给我们了碰巧正确的结果
    1. 编程:程序本身就是指令的集合。
      每个CPU都有自己的指令集,而CPU只能识别自己支持的指令集,指令集作为软件和硬件的接口。
      所谓编程就是将程序员想要实现的效果,用CPU支持的指令集写下来,指令集有很多,程序员可以(也仅能)在支持的指令集中任意组合来完成想要的效果。
      高级语言的各种助记符都是对指令集的抽象,从而让人们以更符合人类思想的方式来运用指令集,通过完成【高级语言->编译->汇编语言->cpu指令集->二进制机器码】这个过程,将其转化为高低电平存储到存储器。

    2. 软件程序经过编译器最终会转化为二进制机器语言,即1和0的数字组合,

    3. CPU控制硬件:

      1. 总线:计算机内部通信,信息传输的通道,这些信息包含数据,指令,地址等,是计算机完成各项计算和操作任务的物理基础,在计算机内部,每一个硬件设备都以特定的方式与CPU相连(直接或间接)
      2. CPU通过总线向其他硬件发布指令,使其工作。
    4. 通讯协议: 就像人和人之间互相高效的传递消息需要统一的语言一样,通讯协议就像一门语言,确保双方所言所闻都能被正确的处理。总线也一样,需要一套既定的协议,来让CPU和其他硬件之间正常的沟通,协议规定了:什么指令代表什么含义,什么时候可以发信息,有几条数据线,电压,频率等等,事无巨细,一律都有非常严谨统一的规定。例如SPI,I2C,UART协议等等。

    5. 最后总结:整个工作过程如软件操作硬件流程图。
      文字举例:程序员在电脑终端写下命令->编译->运行->CPU把数据写到内存里特定的位置->通过总线呼叫一下硬件->硬件到约定的内存地址去读取数字->根据1和0输出高低电压->结束

    系列文章

    [计算机基础系列文章(一)]计算机简介
    [计算机基础系列文章(三)]程序跑起来的核心-CPU

    来源:满满和米兜

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

  • 上一篇 2022年8月4日
    下一篇 2022年8月4日

    相关推荐