机组和OS都有存储系统,所以为了区分开来我把它稍微分类,再机组模块仅仅总结了存储器的种类,结构,指标,以及一些常用存储器。而在OS中我则是以OS控制存储的方式记录存储管理的一些事情。
那么让我们开始吧。

初识存储器

首先我们来说一下存储器,就我个人而言我喜欢这样理解,我不知道大家有没有玩过开放世界游戏,比如我的世界。我们有一个背包,有一个箱子,一个腰带;腰带的东西我们仅仅通过控制鼠标滑轮就可以调用它们,背包的东西我们需要打开放到这一行来进行调用,箱子里的东西我们则可以通过两种方式,一种是放到背包,背包放腰带,一种是直接放到腰带里。
大家可以感受到,他们的调用时间大不一样。但是我们还知道因为腰带,背包,箱子的容量依次增大,我们需要把暂时不用的东西放到不同的容器(存储器中)进去,还有一点要表明当你被僵尸打死或者跌落悬崖等意外死亡,背包和腰带的东西会丢失但是箱子里的东西应该不会丢,而且箱子里东西除了史蒂夫别的角色也可以拿。
现在让我们从游戏回到机组。

我们按作用分

高速缓冲存储器(腰带):简称是Cache,他可以存放当前你正在执行的程序段,比如你探险路上需要砍树,这个斧头就在你的Cache上方便你快速拿取,同样的害怕遇到僵尸所以你还在Cache里放了一把剑,你放心的走着,因为你知道你只需要迅速滚动鼠标滑轮就可以使用它们。CPU快速调用Cache如出一辙。
它的特点:容量最小,速度最快,价格最贵。
辅助存储器(箱子):这里边的东西可以永久保存,当然暂时不需要的东西也可以先放进去需要的时候再拿。
所以它的特点:容量极大,成本低;唯一不好的是存取速度太慢。
主存储器(背包):背包里存的是你本次探险需要的装备和食物,那么主存储器就是用来存储大量计算机运行期间的程序和数据,你可以随时的进行访问,最重要的你可以随时把他放到腰带上,去使用它。当然出门的时候你从箱子里拿食物和装备是必须的事情。
所以它的特点:容量相对较小,成本较高,存取速度稍快。

下面是一些其他的分类方式,大家也可以看看,其实根据名字我们也能感觉到哪个属于哪一类。

我们按存储介质分

1)磁盘表面存储器:磁盘,磁带

2)磁芯存储器,半导体存储器:MOS型存储器,双极型存储器

3)光存储器:光盘

我们按存取方式分

1)随机存储器(RAM):存储单元可以随机存储,并且存取时间和物理地址无关。读写方便,使用灵活,主要作用于主存或高速缓冲存储器。RAM分动态(电容充电原理寄存)和静态(触发器原理寄存)。

2)只读存储器(ROM):存储器的内容可以随机读出,但是不能写入,也就是说信息一旦写入就不会改变,即使断电也不会消失。常放存放不变的程序,常量和汉字字库,它和RAM可以共同作为主存的一部分,一同构成主存的地址域。

注意:ROM派生的存储器也可以反复重写,ROM和RAM其实均为随机存储,因为ROM可以通过电擦除,紫外线擦除等方式进行写入,只读仅仅是保留了断电内容保留和随机读取的特性,但是写入速度比读取速度慢好多。

3)串行访问存储器:对存储单元进行读写操作时,需按其物理位置的先后顺序寻地址,包括顺序存储存储器(磁带,CD-ROM(只读性光盘存储器)),直接存取存储器(磁盘)。

顺序存储:存取时间的长短与信息在存储体上的位置有关,特点是存取速度慢。直接存储:介于顺序和随机之间:即先随机找个大的地方(如磁盘的磁道),在按顺序存储进行存储。

我们按信息的可保存性分

1)易失性存取:断电后存储信息就消失。

2)非易失性存取:断电后存储信息也不消失。ROM,磁表面,光存储器。

3)破坏性读出:数据被读出后就会被破坏。

4)非破坏性读出:不破坏数据的存储器。

注意:破坏性读出后会有一个再生操作,恢复被破坏的数据。

性能指标

那么让我们接着来大概了解一下,如何判断什么样的存储器是好存储器。
存储器的性能指标包括存储容量,存储速度和单位成本。三者相互制约我们想要的是一个空间大,速度快,成本低的存储器。

1.2.2.1 存储容量

存储字数X字长(1MB X 8);单位为B(1B=8b);

存储字数表示存储地址空间大小,字长是一次存取操作的数据量;

1.2.2.2 存储速度

数据传输速率=数据宽度/存储周期

存取时间:从启动存储器到完成该操作需要的时间(分为读出时间和写入时间)。

存取周期:指存储器完整运行一次所需要的时间,换句话说就是两次独立运行程序之间的最短时间间隔。(比存取时间多了一个恢复时间)。

主存带宽:也就是数据传输速率,一秒可以传多少数据。

存储器的层次结构

我们在我的世界中出门探险,我们的手上最多拿两个物件(左右手),我们最多再腰带上放一些常用物资,但是我们仅仅有这些是不够的,我们想要拿更多的东西,哪怕取的速度变慢点也是可以忍受的,所以我们利用我们的背包,可是每一次的探险都会有新的东西需要去带回来,背包似乎是不够大的,这些乱七八糟的收藏似乎平时也帮不上忙,我们做了箱子。而这便是存储层次的一个缩影:
为了解决容量大速度快和成本低这几个问题我们采用层次结构,与CPU离得最近的也就是寄存器,依次是Cache,主存,副存,磁盘,磁带与光盘。CPU的访问频率也依次下降,这些存储器的存取速度也一次下降,但是容量在增大,成本在降低。
注意
1)“Cache-主存”的结构主要是为了解决主存与CPU速度无法匹配的问题。
2)“主存-辅存”的结构则是为了解决内存容量的问题。
3)Cache和主存可以和CPU交换信息;
4)主存可以和Cache,辅存,CPU交换信息。

在“主存-辅存”这一层次不断发展,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。对具有虚拟存储系统的计算机系统而言,编程可用的地址远大于主存空间。(具体后续我会在操作系统中说明)。

从我的世界这一款游戏去看存储器相关推荐

  1. 俄罗斯计算机游戏公司,俄罗斯人推荐影响世界的六款游戏,你玩过吗?

    现今的电脑游戏数不胜数,但是总有那么几款经典永驻心间.俄语君今天推荐的六款游戏,那可是款款经典,如果你是一枚安静的美男子,想来是都玩过的~你说是不是? В окружающем нас мире вс ...

  2. 1.31亿月活的爆款游戏,它的后端架构是怎样的?

    1.31亿人,这是什么概念? 如果是个国家,那么这个"国家"的人口数刚好在全球排名第十. 如果是个游戏的玩家数量呢?那就是:Minecraft<我的世界>! 作为一款多 ...

  3. fifa足球世界服务器维护时间,FIFA足球世界什么时候出 游戏上线时间详解[多图]...

    FIFA足球世界是一款非常好玩的足球体育类游戏,里面有各种足球明星可以培养,玩家们对这款游戏非常的期待,想知道什么时候能玩,下面安族小编给大家介绍一下游戏上线时间详解. FIFA足球世界什么时候出 F ...

  4. 程序员自学编程创立 GREE,推出世界上第一款手机社交游戏,白手起家成为亚洲最年轻的巨富...

    作者 | 年素清 责编 | 王晓曼 出品 | 程序人生 (ID:coder _life) 田中良和(Yoshikazu Tanaka)是日本的IT首富,也是亚洲最年轻的白手起家型亿万富翁.他早年靠自学 ...

  5. 电脑显示没有被指定在上运行_游戏编年史:这也许是世界上第一款可运行的电脑游戏...

    喜剧演员丹尼·凯(Danny Kaye)玩<Bertie the Brain>胜利的照片 介绍 <Bertie the Brain>是目前已知最早期可运行的电脑游戏,由约瑟夫· ...

  6. 这款游戏可能是minecraft和迷你世界的共同敌人了吧!

    近日,村民菌在刷贴吧时,无意间看见了minecraft贴吧在讨论一款游戏,这款游戏到底又犯了什么错呢?今天,村民菌就带大家来看看吧! 这款游戏可能是minecraft和迷你世界的共同敌人了吧! 经过村 ...

  7. 我的世界是一款自由度非常高的游戏,你玩过吗?

    我的世界是一款自由度非常高的游戏,从诞生到现在已经有10年了,不过就算是从最开始就已经加入我的世界的老玩家,也不敢说他对我的世界中的所有事物都了如指掌,今天我就给大家讲几个我的世界中的小趣事,保证百分 ...

  8. Hood AI 首款游戏Parkour World(跑酷世界)即将上线,链游狂潮中的璀璨新星!

    在区块链与游戏行业日益交融的今天,Hood.AI凭借敏锐的市场洞察力与卓越的技术实力,打造出了全新的区块链游戏--Parkour World(Parkour World).Parkour World ...

  9. GameMaker Studio从头开始学习设计和开发3款游戏

    从头开始学习设计和开发3款游戏(无需经验) 你会学到什么 如何塑造令人敬畏的角色 如何使用GameMakerStudio 2 视频游戏编程 基本二维动画 如何查找和修复bug 如何给你的游戏编故事 从 ...

最新文章

  1. 手机屏幕的物理分辨率和逻辑分辨率
  2. 第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
  3. nginx无法访问index.html,ThinkPHP5 + nginx配置(index.php无法访问404)
  4. Mybatis核心配置文件xml详解
  5. 使用机器学习预测电子竞技游戏《守望先锋》的胜负
  6. Linux访问交换机FTP,华为交换机使用FTP查看下载文件
  7. 手机数控模拟器安卓版_CNC模拟器安卓中文版
  8. Flex StringUtil工具类
  9. asp.net网页版斗地主 已提供下载(开源) 测试版
  10. MATLAB2016b 下载和安装(亲测)
  11. 解决微信端苹果手机无法跳转页面的问题
  12. 【2】深度神经网络的损失函数/激活函数
  13. 银行,金融行业的清分,结算,清算,核算到底是什么含义? 现金需要搬运么?
  14. python基本函数的使用_python基础之函数的应用
  15. intellij idea 2018 激活
  16. HTML学生个人网站作业设计:个人主页博客web网页设计制作 (HTML+CSS)
  17. hbase数据库_实验目的
  18. sklearn之svm-葡萄酒质量预测(10)
  19. 【精益生产】精益知识大全
  20. 机器学习与分布式机器学习_机器学习应运而生

热门文章

  1. 波尔图大学计算机专业,2018US News葡萄牙大学学科排名
  2. 【快速搭建】属于自己的小店 -独角数卡-docker版本
  3. StringBuilder删除最后一个字符
  4. MacOS使用clang
  5. 我们要了解我们国家常识--一个中国人必须知道
  6. 浅谈Redis事务机制
  7. python smtplib模块_Python模块学习 ---- smtplib模块
  8. Linux系统离线安装JDK
  9. 【软件设计】软件设计方法归纳总结
  10. PDF修改页码如何在中文版PDF编辑器内达成