• 2017.0621.《计算机组成原理》-存储器层次结构


    1.在了解存储器层次结构之前,必须要先对各种类型的存储器有所了解。

    按着书中给出的金字塔结构,从上往下,直接可以看出不同的存储器所代表的不同功能。寄存器,缓存,主存,辅存。

    出现这么多存储器的原因是人们想追求,高速度,大容量,低位价的存储器,但是单一的存储器无法满足人们的这一需求,因此,人们构建了一个存储器体系。

    这个体系可以满足人们的需求,单一的个体没法达到要求,那就谋求整个体系达到这个要求。

    2.这个金字塔体系中还有两点需要强调,一是CPU可以直接和缓存,主存进行信息交流,(寄存器就不用说了,它是直接嵌在CPU里面的),但是CPU是无法和辅存

    进行信息交流的,辅存都是和主存进行交流。辅存的作用就是存放当前用不到的程序和数据,相当于一个大仓库。二是随着科技的发展,缓存现在也已经嵌入在CPU

    里面了。

    3.从CPU芯片的里面一直到计算机外设中的辅存,不同的存储器处于不同的位置,也起着不同的作用,最终一起组成了一个完整的存储器体系。

    4.讲解过完整的计算机体系之后,我们开始对这一完整体系进行一个划分,将体系划分为层次结构,加强人们对于存储器的认识。

    5.在计算机技术中,一种本来是存在的事物或属性,但从某个角度看似乎不存在,称为透明性现象。通常,在计算机系统中,低层次的机器级的概念性结构和功能特性,对高级程序员来说是透明的。

    6.对于寄存器,缓存,主存还要再做一些补充说明。

    寄存器不光在CPU里面存在(CPU就是运算器和控制器组成),在其他的部件,如I/O端口也存在。寄存器也分不同的种类,有计算机体系结构寄存器和非计算机体系结构寄存器。计算机体系结构寄存器对程序员是不透明,编程的时候可以调用。非计算机体系结构寄存器是不透明的,无法调用。

    缓存也不是之前理解的那样,全部嵌入在CPU里面,而是部分在CPU里面,部分在外面。在CPU芯片的那部分,是无法提高计算机的运行速度的,是不是可以理解为,这部分算作了CPU的一份子。

    寄存器,缓存和主存三者都是半导体存储器,都位于主机里。

    7. 整个金字塔存储器体系通过软件,硬件以及软硬件结合的方式,将不同介质的存储体黏合成一个存储体系。

    8.在整个存储体系中,着重分析了体系中的两个分层结构,缓存-主存和主存-辅存。

    9.所要运行的程序都是放在主存中的,在不用的时候,放置在辅存中。主存和辅存之间,是用软硬件结合的方式,将两者结合在一起。在程序运行的过程中,这种软硬件结合部,起到在主存和辅存间进行调动的作用,将主存和辅存组合在一起的目的是,用辅存来扩大主存的容量,同时速度接近主存,价格接近辅存。

    10.缓存-主存层次结构分析

    CPU的运行速度增长过快,为了缓解CPU和主存之间的速度差,我们在CPU和主存之间,增加了一个缓存。这个缓存可以有效地提高主存的运行速度。

    缓存中保存的是主存中程序的副本。CPU可以直接通过访问缓存来访问主存,缓存和主存之间还可以进行信息交流。缓存和主存是采用硬件的方法连接成一个整体。

    主存和缓存之间数据的调入调出对于程序员是透明的,不需要了解。

    11.为什么缓存和主存之间采用硬件,而主存和辅存之间采用软硬件结合的方式?不同的结合方式源于不同的出发点,缓存—主存主要是为了提高存储器的速度,硬件的结合可以做到这一点,而主存—辅存是为了提高容量,因此软硬件结合就很容易地做到这一点。

    12.存储体系的第二个层次结构,主存—辅存还拓展出了重要的一点,虚拟存储器。

  • 相关阅读:
    使用auto_prepend_file和auto_append_file
    maven导入外部jar包的方法
    scala的多种集合的使用(3)之遍历集合的方法
    scala的多种集合的使用(4)之列表List(ListBuffer)的操作
    scala的多种集合的使用(2)之集合常用方法
    UltraEdit文本行数多变一和一边多
    scala的多种集合的使用(1)之集合层级结构与分类
    用Case类生成模板代码
    寻:IE总弹出广告窗口方法? Hello
    ASP.net中提示"分析器错误""未能加载类型" Hello
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/7057986.html
Copyright © 2020-2023  润新知