3. 技术专题 - 计算机基本运行原理

  • CPU
    • 运算很快,但存储容量很小,而且断电后数据就丢了
    • 比内存快百倍,比硬盘快百万倍
    • 速度快,但只会机械的做事,需要别人告诉它去哪里执行
    • 最关心的是寄存器和程序计数器
    • 要做的几件事
      • 运行指令
      • 不能保存指令,指令全在内存中
      • 上电后执行的第一条指令放在地址0xFFFFFFF0处,通常是跳转指令,到BIOS
    • 靠缓存和流水线技术,提高利用率
      • 缓存
        • 利用了局部性原理
      • 流水线
        • 避免可以并行的不同指令(工作)之间互相等待
        • 比如CPU通常要做四件事
          • 通知内存取指令
          • 翻译指令
          • 执行指令
          • 把结果写会内存
  • 内存
    • 比硬盘速度快,但断电后数据就丢了
  • 硬盘
    • 慢,但是容量大,断电还能保存下来
    • 机械式硬盘需要靠磁头在高速旋转的磁片上挪来挪去进行寻址和读写
  • 啥都好的,就贵了。。。否则别的部件就消失了,比如历史上的软盘什么的。
  • 计算机启动过程
    • 上电
    • CPU执行第一条指令,放在地址0xFFFFFFF0处,通常是跳转指令,到BIOS
    • BIOS做系统的自检,查看内存、硬盘、显卡等是否有问题,如果有会发生声音,都做完后通知CPU到某个地址,如0x19
    • CPU根据前面返回的地址,去中断向量表中找对应的指令并执行,如读取磁盘某地址的数据至内存等
  • 计算机运行过程
    • 通常第一个要执行的指令所属的程序,是操作系统。
    • 操作系统会有一个进程屋
    • 运行程序前先设置好程序计数器
    • 运行程序
      • 先把程序加载到内存中
        • CPU一般是通过系统总线通知硬盘把所需数据通过CPU传到内存中
        • 也可以通过DMA(DIrect Memory Access):直接把数据装载到内存,不需要通过CPU,所以CPU可以先去干别的事,只需要等装载完成后发给CPU的信号即可,CPU会保护好此时的现场,去处理加载完成后的事情(运行指令)。
      • CPU向内存要一条指令并执行,如果是跳转指令,那么就继续向内存要跳转的目标地址的那条指令并继续执行。
      • 函数调用会比较复杂,需要CPU和内存紧密配合。
    • 根据程序计数器继续执行下一个程序
  • 程序都是由顺序、分支、循环组成的。对于CPU来说,其实分支和循环都是跳转而已。

posted on 2019-11-21 13:25  碎羽love星谊  阅读(257)  评论(0编辑  收藏  举报

导航