编程必备基础知识|计算机组成原理篇(08):存储器

计算机基础方面的知识,对于一些非科班出身的同窗来说,一直是他们心中的痛,而对于科班出身的同窗,不少同窗在工做以后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程不少,内容繁杂,但不管是相关书籍仍是大学课程,都有点脱离工做。特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力。程序员

有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理、操做系统、计算机网络,这些都是大学计算机课程里面最重要的内容。文章对这些内容作了提炼和总结,摒弃了做为程序员不须要掌握的知识。编程

目的是:缓存

  • 帮助你们造成计算机知识的结构体系
  • 帮助你们理解计算机底层原理
  • 帮助你们在工做实践中借鉴其中的优秀设计

本篇是计算机组成原理之计算机的存储器网络

欢迎关注、转发、收藏、评论学习

1.什么是存储器

存储器,顾名思义,是用来储存物质的。在计算机中,这些储存的物质就是数据和指令,有了存储器,计算机就有了记忆功能。操作系统

存储器由一些编号的单元所组成,单元的编号叫作地址。打个比方,存储器就像是一个大型仓库,仓库里面有不少个房间存放着货物,每一个房间都有本身的房号;而存储器单元比如房间,房间里的货物比如数据和指令,而单元的编号(地址)就比如房间号,咱们的计算机就是根据这个地址来存放或取出数据和指令的。计算机网络

计算机中的所有信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。设计

2.存储器的分类

按存储介质来划分,存储器可分为半导体存储器和磁存储器。其中,半导体存储器存储的元器件是由半导体组成的,常见的如:内存、U盘、固态硬盘等;磁存储器,是由表面涂有磁性材料的存储介质组成的,常见的有:磁带、磁盘。3d

按存取方式来分类,能够将存储器分为随机存储器(RAM)、串行存储器、只读存储器(ROM),blog

3.存储器的层次结构

在选取计算机的存储器时,一般须要考虑的因素是存储器的读写速度、存储容量、价格,咱们但愿读写速度越快越好、存储容量越大越好、价格则越低越好。有一个专门的单位,用来量化存储器的性价比——位价。位价综合地把容量和价格都考虑进去了,它的含义是每比特位的价格,使用位价能够客观地描述存储器的性价比。

按照位价和读写速度的关系,能够把存储器划分为几个层次:缓存、主存、辅存。

缓存指的是CPU里的寄存器以及高速缓存,速度快,位价高。

主存指的主要是计算机里的内存,速度适中,价格适中。

辅存指的是外部储存设备,如磁盘、U盘、移动硬盘等,速度慢,价格低。

以前文章里已经提到过,CPU是高速运算的,处理速率极快,而存储器没有CPU快,传输数据和程序到CPU里时速度慢,这会致使CPU常常空转等待数据传输,二者在速度上是不匹配的。理论上,不考虑价格的话,咱们确定但愿缓存越大越好,可是因为位价的存在,缓存不可能作的越大越好,所以才有了这个层次结构。

存储器的层次结构也可使用以下图来表达:

图示里,CPU与高速缓存是直接通讯的,也能够跟主存进行通讯。而高速缓存和主存之间也能够相互通讯,称之为缓存-主存层次,除了缓存-主存层次,还有主存和辅存之间的通讯,这个通讯,CPU是不参与的,称之为主存-辅存层次。

缓存-主存层次,是在CPU与主存之间增长一层速度快容量小的Cache,目的是解决主存与CPU速度不匹配的问题。有了高速缓存的存在,CPU就能够经过必定的策略,尽量地去访问这个高速缓存而不是主存,从而有效提升CPU的利用效率以及计算机的运行速度。CPU选取数据时,首先会从缓存中去取,缓存中没有的话,再会去取主存中的。

主存-辅存层次,是在主存以外增长辅助存储器(磁盘、SD卡、U盘等),目的是解决主存容量不足的问题。假设咱们运行一个超大型游戏,而内存一般只有8G,此时,就能够把游戏当前使用的数据加载到内存中,把不使用的数据放在辅存中。

相关文章
相关标签/搜索