1. 电脑刚开机的时候,是怎么运行的?
    1. Post(加电自检),因为硬件不是智能的,所以必须要通过某种东西来完成;
    2. 这种东西就是程序,程序=指令+数据;
    3. 加载了程序,放在内存之后才可以执行;
  2. 程序又在哪里呢?
    1. 开机时,程序是放在外存的,例如:U盘,硬盘,软盘等…
  3. 那这么多盘,到底在×××呢?
    1. 通过ctrl + Alt + INS 查看boot,里面有N个启动选项,就是按照里面的顺序依次选择执行的,如果第一个有就选择第一个,否则下一个,只要找到一个即可。
    2. 比如:重装系统的时候,我们会把U盘放在第一位,然后电脑就会根据该选项从U盘里面找到相应的程序,接着就开始执行了。
  4. 但是刚开机时,电脑还不知道自己有哪些盘,而且排序本来就是程序执行的,那么什么来发挥这个过程呢?
    1. 为了解决这个问题,对电脑来说,它必须有一种能力自举,借助额外设备(BIOS)
  5. 要了解BIOS,必须了解计算机体系结构
    1. 计算机由五大部件
      1. 运算器:负责逻辑和加减运算;
      2. 控制器:通知运算器在哪里存取数据;
      3. 存储器:指的是内存,编址存储设备,8位(1字节),以平面编址方法。
      4. 输入设备
      5. 输出设备
  6. 为什么可以运算?
    1. 主要是解决两个问题
      1. 从哪里读
      2. 读完之后结果又放到哪里去
    2. 以一个加法器来做例子
      1. 从×××加数?被加数?
      2. 为什么只可以识别二进制,不能识别十进制呢?
        1. 因为计算机是用电压表示信息的,很难确定1,2,3,4….等的N伏(无论是整数还是小数)
        2. 二进制的好处是在于,只要表示0:无电,1:有电(简单,降低设置的复杂度)
        3. 电路与逻辑性联系,即所谓的电路闭合开关完成计算机逻辑运算而后把逻辑运算转为算数运算(电路闭合逻辑运算算数运算)
      3. 电是如何运动的?加法器怎么知道线路上是否有电呢?从而理解0、1
        1. 电是如何传输的?
          1. 物质是由原子,原子由电子和原子核构成,稳定状态下是无电的,拿走电子后就会呈现正电;
          2. 产生电的过程:将电子强行拿走,拿到另外一边回成负电,电流从负极到正极
          3. 电子在介质中是有一定的传输速度的,为什么日常生活中是立即有电呢?
            1. 因为原子电子是同步运动的,整个物质都由原子组成,所以我们感觉就是瞬间
            2. 所以要想加法器得知就必须有持续电压,从而实现运算,输出也是。
      4. 对于图上,如果是N位数相加,那就需要N条线,会很麻烦,而且因为硬件问题,有可能容不了那么多条线,所以就出现了线路复用,但是一条线该怎么知道哪种呢?所以就出现了控制位(控制线),但是如果只用一组,也就是说加数和被加数都是同一条线的话,那么加数进来的时候,被加数再进来就会覆盖掉加数了,所以就出现了寄存器,把加数暂存起来。
      5. 对于控制器而言,通过控制总线(指令总线)获取控制指令,控制器必须告诉运算器在哪个存储单元取数据(数据线),结果放在哪里也是由控制器指示,控制器要知道哪里是空的,把空闲空间放进去。
  7. 怎么告诉计算机是从哪个设备读取?核心是怎么跟外围打交道的?
    1. 为了得知我们是否有操作,计算机要不断监听(轮询),但是轮询会浪费很多资源(比如说,如果我们一天都不动,但是它还是一天都在查啊查的),为了节省资源,就不监听了,就有了其他机制,也就是说我们有操作的时候,告诉CPU就可以啦,敲时产生电信号,通知它,赶紧来查看,CPU就会产生中断,通过可编程中断控制器就可以知道是哪个设备,一开始设备跟可编程中断控制器是分别通过不同的线相连的,但是也会出现刚刚说的问题,所以就使用了线路复用,为了标出是哪个设备就出现了中断线量。
    2. 中断越少越好 。