热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软考计算机基础:存储系统

软考计算机存储系统笔记:存储器分类:1、按存储位置分为内存和外存;2、按存储材料分为磁存储(使用磁存储介质)

软考计算机存储系统笔记:

 


存储器分类:

1、按存储位置分为内存和外存;

2、按存储材料分为磁存储(使用磁存储介质)、半导体存储(分为双极型和MOS型,根据数据是否需要刷新可以分为静态SRAM存储器和动态DRAM存储器)、光存储(如光盘);

3、按工作方式分为读写存储器RAM和只读存储器ROM ;RAM读写存储器存储信息是易失性的,断电就会丢失;ROM只读可以分为ROM、PROM可编程的只读存储器、EPROM可擦除可编程存储器、EEPROM电擦除的可编程存储器、闪速存储器(flash memory,简称闪存,介于EPROM 和EEPROM);

4、按访问方式分为按地址访问的存储器和按内容访问的存储器;

5、按寻址方式分为随机存储器RAM、顺序存储器SAM、直接存储器DAM;其中随机存储器RAM可以对任何存储单元读取数据,访问任何一个存储单元的时间是相同的;顺序访问数据所需要的时间和数据所在位置有关,磁带是典型的顺序存储器;直接存储器是介于随机存储器和顺序存储器之间的寻址方式,磁盘是一种直接存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址;

6、按信息的可保存性分非永久记忆的存储器:断电后信息即消失的存储器。永久记忆性存储器:  断电后仍能保存信息的存储器。

 


RAM(Static RAM,静态随机存储器),不需要刷新电路,数据不会丢失,而且,一般不是行列地址复用的。但是他集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的ARM9处理器里面就有4K的SRAM用来做CPU启动时用的。
SRAM其实是一种非常重要的存储器,它的用途广泛。SRAM的速度非常快,在快速读取和刷新时能够保持数据完整性。SRAM内部采用的是双稳态电路的形式来存储数据。所以SRAM的电路结构非常复杂。制造相同容量的SRAM比DRAM的成本高的多。正因为如此,才使其发展受到了限制。因此目前SRAM基本上只用于CPU内部的一级缓存以及内置的二级缓存。仅有少量的网络服务器以及路由器上能够使用SRAM。

DRAM
Dynamic RAM,动态随机存取存储器,每隔一段时间就要刷新一次数据,才能保存数据。而且是行列地址复用的,许多都有页模式。SDRAM是其中的一种。

SDRAM
SDRAM(Synchronous DRAM,同步动态随机存储器),即数据的读写需要时钟来同步。其存储单元不是按线性排列的,是分页的。
DRAM和SDRAM由于实现工艺问题,容量较SRAM大。但是读写速度不如SRAM。
一般的嵌入式产品里面的内存都是用的SDRAM。电脑的内存也是用的这种RAM,叫DDR SDRAM,其集成度非常高,因为是动态的,所以必须有刷新电路,每隔一段时间必须得刷新数据。


 

 


存储系统的层次结构:

从上往下依次是CPU、高速缓存、主存、外存,可以分为4层结构;存储系统中使用高速缓存Cache 可以显著的提高计算机系统的工作速度,但是它并不是功能上必须的部件;

 


主存储器:

简称内存、主存,用来存放机器当前运行所需的程序和数据,以便向CPU提高信息,容量小速度快,如DDR4内存条;

主存一般由RAM和ROM两种工作方式的存储器组成,绝大部分存储空间由RAM组成。常见的SDRAM同步动态随机存取存储器发展经历 SDR SDRRAM 到 DDR4 RAM;

主存储器主要由存储体、控制线路、地址寄存器、数据寄存器、地址译码电路等部分组成;读出时,CPU将要读出的存储单元地址送入地址寄存器,经过地址译码电路分析后选中主存对应的存储单元,在控制线路的作用下将备选存储单元的内容读取到数据寄存器中,读操作完成;写入时,CPU将要存储单元的地址送入地址寄存器,经地址译码线路分析选中主存的对应存储单元,在控制线路作用下将数据寄存器的内容写入指定的存储单元中;

主存性能指标包括内存容量、存储时间(从接到读写命令到读写操作完为止所需要的时间)、带宽(即每秒传送的数据位数)、可靠性(可靠性用平均鼓掌间隔时间MTBF来衡量)

 

 


高速缓存:

高速缓存Cache用于对存储在主存中,CPU即将使用的数据进行临时复制,解决了CPU的速度和性能很高而主存速度较慢的问题,利用程序执行的局部性特点(时间局部性,程序某条指令被执行后,后续可能被再次执行;空间局限性是指一旦程序访问了某个存储单元,附近的存储单元也将被访问),将速度快而容量有限的静态存储器芯片构成Cache 尽可能的发挥CPU的高速度;

用来存放当前最活跃的程序和数据,Cache的主要特点是:位于CPU和主存之间,容量小速度快,速度是主存的5到10倍,由快速半导体存储器制成;其内容是主存局部域的副本,内容对程序员是透明的。

CPU询问的信息在Cache中则为命中,命中则直接对Cache存储器寻址;多级Cache如下,cpu先查找L1的cache,通常L1容量小速度快

cpu在从cache中读写信息时传递的是主存地址,所以需要将主存地址转换成cache存储器地址,这种地址的转换称为地址映像,cache的地址映像有直接映像、全相联映像、组相联映像;其中替换算法是为了使Cache获得尽可能高的命中率,常见的算法有随机替换、先进先出算法、近期使用最少算法、优化替换算法;

 

 


外存储器(辅存)

外存储用来存储暂时不用的程序和数据,外存上的数据以文件的形式存储,外存容量大速度慢,CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存方可访问,外存储器主要由磁表面存储器和光盘存储器构成;

磁盘

存储器由盘面、驱动器、控制器和接口组成。接口是连接主机和外存储器的连接部件,控制器接收主机命令转换成驱动器的控制命令,驱动磁头盘面做径向运动寻找目标磁道位置,驱动盘片稳定旋转,控制数据的读写;

 

硬盘

有固态硬盘SSD、机械硬盘HDD和混合硬盘,固态硬盘是闪存颗粒存储,HDD采用磁性碟片存储、混合硬盘是两者集成的。

硬盘的主要技术指标有:

存储容量,指格式化容量=记录面数*每个记录面磁道数*每道的扇区数*每个扇区数的字节数;

平均访问时间,包括平均寻道时间(磁头移到目标磁道的时间)+平均等待时间(目标扇区旋转到磁头下时间,一般使用磁道旋转一周时间的一半做平均等待时间);

数据传输率,指磁头找到数据后单位时间读写字节数,数据传输率=每道扇区数*每个扇区字节数*磁盘转速;

 

光盘存储器

一般采用聚焦激光束在盘式介质上非接触式记录高密度信息的存储装置;

光盘存储器由光学、电学和机械部件组成,特点是记录密度高是磁盘的10~100倍、存储容量大,采用非接触读写,存储时间长,对机械结构精度要求不高、读写速度慢但多通道记录时数据传输率高,光盘易于更换可以做成自动还盘装置;

 

USB移动硬盘和USB闪存盘

USB移动硬盘支持热插拔,硬盘盒将里面的硬盘数据接口标准转成USB数据接口标准,传输速率与采用的usb接口标准有关;

USB闪盘又叫U盘,是使用闪存作为存储介质的一种半导体存储设备,采用的usb接口标准,,具有容量大、速度快、体积小、寿命长的特点,还就有基本型、加密型、启动型等类型;

 


云存储

云存储是一种服务,是云计算概念上发展出来的,是通过集群应用、网络技术和分布式文件系统等功能,将网络组中大量不同类型的存储设备通过应用软件集合起来协同工作,共同提供数据存储和业务访问功能的一个系统,所以云存储是一个以数据存储和管理为核心的云计算系统;

 

 


相联存储器

相联存储器是一种按内容访问的存储器,其工作原理是将数据或数据的某一部分作为关键字按顺序写入信息,读出时并行的将该关键字与存储器中每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合信息的检索和更新;

相联存储器结构如下图,为提高比较速度,其中比较器数量应很大,进行位比较时应每位对应一个比较器,所以有2的m次方*N位个,对于字比较应该有2的m次方个;匹配寄存器用来存储比较结果,1为相等,0为不等;

 

 


虚拟存储器:

在概念上,可以将主存存储器看做是一个由若干个字节构成的存储空间,每个字节(称为一个存储单元)有一个地址编号,主存单元的该地址称为物理地址,当需要访问主存中的数据时,由cpu给出要访问数据所在的存储的单元地址,然后由主存的读写控制部件定位对应的存储单元,对其进行读写操作来完成访问操作。

现代系统提供了一种对主存的抽象,称为虚拟存储,使用虚拟地址的概念来访问主存。CPU在寻址的时候,是按照虚拟地址来寻址,然后通过MMU(内存管理单元)将虚拟地址转换为物理地址后访问主存;。

 

虚拟内存别称虚拟存储器(Virtual Memory)。电脑中所运行的程序均需经由主存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该主存不够的问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为"分页文件"的空间中(页面调度算法置换)。将数据移入分页文件可释放RAM,以便完成工作。 一般而言,计算机的RAM容量越大,程序运行得越快。若计算机的速率由于RAM可用空间匮乏而减缓,则可尝试通过增加虚拟内存来进行补偿。但是,计算机从RAM读取数据的速率要比从硬盘读取数据的速率快,因而扩增RAM容量(可加内存条)是最佳选择。

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的"虚拟内存";Linux的"交换空间"等。

虚拟存储器实际是一种逻辑存储器,实际上是对物理存储设备进行逻辑化的处理,并将统一的逻辑视图呈现给用户,因此用户在使用的时,操作的是虚拟设备,无需关心底层的物理环境,从而可以充分利用基于异构平台的存储空间,达到最优化的使用效率;

 

 

 

 


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
author-avatar
回音爱Fred
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有