zoukankan      html  css  js  c++  java
  • 深入理解计算机操作系统:第1章 计算机系统漫游(学习笔记)

    计算机系统是有软件和硬件组成的,它不是纯粹的软件,更不是硬件。

    系统硬件组成中的I/O设备不是直接与总线相连,而是通过一个中间设备:控制器/适配器来连接。控制器和适配器的区别在于它们的封装方式,控制器是设备或者主板上的芯片组,而适配器是插在主板上的卡,按我个人理解,通俗来说应该是能否插拔的区别?(此处不是很确定,欢迎纠错。)

    系统硬件组成的一个重要成员是处理器,也即CPU。CPU像一个小工厂车间一样,里面有很多部分组成,示意图如下:

     

    CPU从开机加电开始,直到断电关机一直在执行指令,根据冯诺依曼体系结构,指令是放在内存当中的。因此CPU内部有个寄存器专门用于存储指令的内存地址,该寄存器指向的指令不断被CPU取出并执行,然后指向上一条指令后面的指令。这里的寄存器是CPU内部的一种存储硬件,非常小,非常快。

    从上面的示意图可以看到,实际的寄存器是CS:IP,而书本上用的词汇是PC,这里的PC是一种概念定义,而CS:IP是具体实现。

    高速缓存也属于CPU内部的一种存储硬件,为什么会有高速缓存?虽然内存很快,但是CPU经过这几十年的发展,速度比内存还快,速度差距甚至在100倍左右。为了减小这种差距,解决方法是缓冲,根据计算机程序运行的局部性原理,我们只需要加很小的更快速度的存储空间就能实现很好的缓冲效果。局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。也就是说,某一时刻在某一内存处的操作,在下一时刻的将进行的操作也会在之前操作的内存附近。因此我们只需要很小的存储空间就能解决速度不匹配的问题。除了的局部性原理的原因之外,新增加的更快速度的存储硬件之所以很小,是因为存储硬件速度越快,其价格越贵,因此只能配备很小的存储硬件。

    CPU中的这种高速缓冲硬件叫做cache,通常有好几个层次,一般有3层,目前的配置稍高的笔记本甚至有4层,这就是所谓的L1、L2、L3缓存,通常我们会在电脑包装的参数表上或者使用硬件检测软件看到,如下图:

  • 相关阅读:
    mcstructs使用CMake生成Makefile文件
    打印man手册为pdf文件
    ubuntu安装wine之后进不了系统
    如何知道自己梦呓的内容
    Opencv step by step
    Opencv step by step
    树莓派实现只有一个按键的播放器
    virtualbox 打不开ubuntu解决
    wifi使用的一些误区
    Opencv step by step
  • 原文地址:https://www.cnblogs.com/pluse/p/10091717.html
Copyright © 2011-2022 走看看