软考中级软件设计师——存储系统

存储系统(层次结构)

在这里插入图片描述
核心:在存储层次中,层次越高,越靠近CPU,则存储介质的访问速度越快,容量越小,其价格也就越高。

CPU在存储系统中指的是它里面所包含的一些通用寄存器,其速度是最快的,一般要求在半个 CPU 时钟周期内完成读写,然后才是高速缓存Cache,Cache中还有L1 Cache,L2 Cache,L3 Cache,集成在CPU内部,同理,L1 Cache最靠近CPU,所以在三层Cache中L1 Cache访问速度最快,容量最小,价格最高,L1 Cache的访问速度几乎和寄存器一样快,通常只需要2~4个时钟周期,而大小在几十KB到几百KB不等。其次是L2 Cache和L3 Cache。L2 Cache 离CPU核心更远,它的大小比L1 Cache更大,通常在几百KB到几MB不等,访问速度更慢,速度在10~20个时钟周期。而L3 Cache通常是多个CPU核心共用的,位置更远,大小更大,通常在几MB到几十MB不等,访问速度更慢,在2060个时钟周期。Cache之后是内存,内存速度大概在200300个时钟周期之间。内存之后是硬盘,分为固体硬盘和机械硬盘。固体硬盘(SSD)结构和内存相似,但是它相比内存的优点是断电后数据还是存在的,而内存、寄存器、高速缓存断电后数据都会丢失。内存的读写速度比SSD大概快10~1000倍。机械硬盘(HDD)是通过物理读写的方式来访问数据,访问速度非常慢,它的速度比内存慢10w倍左右。由于SSD的价格快接近机械硬盘了,因此机械硬盘已经逐渐被SSD替代了。

存储系统有两套层次结构,分别是主存—辅存和Cache—主存。
主存—辅存:实现虚拟存储系统,解决了容量不够的问题
Cache—主存:解决了主存与CPU速度不匹配的问题
在这里插入图片描述
Cache相当于主存部分数据的一个复制,平衡主存和CPU中间速度不匹配的问题。

存储系统分类

①按位置分类

  • 内存(主存)
    用来存储当前运行需要的程序和数据,速度快,容量小
  • 外存(辅存)
    用来存储当前不参与运行的数据,容量大但速度慢
    ②按材料分类
  • 磁存储器
    用磁性介质做成。如磁芯、磁泡、磁盘、磁带等
  • 半导体存储器
    根据所用的元件可分为双极型和MOS型两类;根据是否需要刷新又可以分为静态和动态两类
  • 光存储器
    由光学、电学和机械部件等组成,如光盘存储器
    ③按工作方式分类
  • 读写存储器(RAM)
    即可读取数据也能存入数据的存储器
  • 只读存储器(ROM)
    工作过程仅能读取的存储器
    根据数据的写入方法,又可细分为ROM、PROM、EPROM和EEPROM等类型
分类说明
固定只读存储器(ROM)这种存储器是厂家生产时就写好数据的,其内容只能读出,不能改变。一般用于存放系统程序BIOS和用于微程序控制
可编程的只读存储器(PROM)其中的内容可以由用户一次性的写入,写入后不能再修改
可擦除可编程的只读存储器(EPROM)其中的内容既可以读出,也可以由用户写入,写入后还可以修改,紫外线照射擦除信息
电擦除可编程的只读存储器(EEPROM)与EPROM相似,EEPROM中的内容既可以读出,也可以进行改写,电擦除的方法进行数据的改写
闪速存储器(Flash Memory)简称闪存,闪存的特性介于EPROM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除,速度远快于EPROM。

高速缓存Cache

Cache是位于CPU和主存之间的高速存储子系统

采用高速缓存的目的:提高存储器的平均访问速度,使存储器的速度与CPU的速度相匹配

Cache的存在对程序员是透明的。其地址变换和数据块的替换算法均由硬件实现。通常Cache被集成到CPU内,以提高访问速度,其主要特点是容量小,速度快,成本高。

Cache组成

Cache由两部分组成。
1.Cache存储部分:用来存放主存的部分复制信息
2.控制部分的功能是:判断CPU要访问的底层信息是否在Cache中。若在,则命中,若不在则没有命中。

Cache的三种地址映像

因为处理机都是按主存地址访问,而应从Cache存储器中读写信息,因此就需要地址映像,即把主存中的地址映射成Cache存储器中的地址。地址映像方法有三种。

  • 直接映像
    直接映像就是主存的块与Cache中块的对应关系是固定的。主存中的块只能存放在Cache存储器的相同块号中,因此只要主存地址中的主存区号与Cache的主存区号相同,则表明访问Cache命中。
    优点:地址变换简单,由于映射关系固定,地址变换过程可以非常迅速。
    缺点:灵活性较差,当程序频繁访问两个相互冲突(即映射到同一缓存块)的主存块时,即使缓存中有其他空闲块,也会因为固定的映射关系而无法使用,导致缓存命中率下降
  • 全相连映像
    全相连映像就是允许主存任一块可以调入Cache的任一块空间。地址变换时,将主存地址高位表示的主存块号与Cache中的主存块号进行比较,若相同则命中。
    优点:主存的块调入Cache的位置不受限制,十分灵活,缓存空间可以被充分利用,因为每个缓存块都可以存储来自主存的任何块,冲突的概率相对较低
    缺点:无法从主存块号中直接获得Cache块号,需要一种机制来快速查找主存块在缓存中的位置,这通常需要一个专门的查找表或算法,变换比较复杂,速度比较慢
  • 组相联映像
    这种方式是前面两种方式的折中,具体方法是将Cache先分成组再分块,组相联映像就是组间采用直接映像方式,而组内的块采用全相连映像方式。

Cache的性能分析

若H为Cache的命中率, tc 为Cache的存取时间,tm为主存的访问时间,则Cache的等效访问时间ta为:

t   a   = H t   c   + ( 1 − H ) t   m   t~a~=Ht~c~+(1-H)t~m~ t a =Ht c +(1H)t m 
使用Cache比不使用Cache的CPU访问存储器的速度提高的倍数r可以用以下公式求得:
r = t   m   / t   a   r=t~m~/t~a~ r=t m /t a 
知识点:
①Cache的设置不会扩大主存容量
②Cache命中率并不随器容量的增大线性提高,而是当上升到一定程度到达临界点后就会下降
③Cache与主存之间的地址映射由硬件自己完成

主存的扩展

在这里插入图片描述

位扩展和字扩展

主存的扩展主要涉及到位扩展和字扩展这两个方式。这两种扩展方式都是为了提高存储器的容量,以适应不同应用场景的需求。

位扩展:位扩展是指在不增加存储单元数量的情况下,通过增加每个存储单元的位数来扩展存储容量。需要将多个相同容量的存储器芯片并联起来,以实现位数的增加。这种方式主要用于提高数据总线的宽度,即CPU一次能够读取或写入的二进制位数。

字扩展:字扩展是指通过增加存储单元的数量来扩展存储容量,而每个存储单元的位数保持不变。需要将多个相同位数但容量不同的存储器芯片串联起来,以实现存储单元数量的增加。这种方式主要用于增加存储器的总存储单元数,以存储更多的数据。

现在有一个8*4位的存储器,分别进行位扩展和字扩展,如下图:
在这里插入图片描述

主存的编址

例题:内存地址从AC000H到C7FFFH,共有①____个地址单元,如果该内存地址按字(16bit)编址,由28片存储芯片构成。已知构成此内存的芯片每片有16K个存储单元,则该芯片每个存储单元存储②____位。

①地址单元:
要计算两个地址单元之间的长度,需要由末尾地址减去首地址,然后再加1
类比于种树问题,计算从第二棵树到第五棵树之间总共有几棵树,涉及到端点的问题,两端都有树的话,则种树的棵数应比要分的段数多1,即:棵数=间隔数+1。
在这里插入图片描述
在这里插入图片描述
C7FFFH-AC000H+1=1C000H
在这里插入图片描述

所以有112个地址单元。
②计算内存大小有两个方法
已知计算出共有112K个地址单元,一个字是16bit,所以内存大小共有:112K × 16bit;同时题目中告诉你是有28个存储芯片,每片有16K个存储单元,则内存大小共有:28 × 16K × 每个单元存储多少位,即可得出:
在这里插入图片描述
在这里插入图片描述

计算得出:每个单元存储46位

虚拟存储器

虚拟存储器是由主存、辅存、存储管理单元及操作系统中的存储管理软件组成的存储系统。程序员使用该存储系统时,可以使用的内存空间可远远大于主存的物理空间,但实际上并不存在那么大的主存,故称为虚拟存储器。

虚拟存储器使存储系统既具有相当于外存的容量,又具有接近于主存的访问速度。

工作原理:
虚拟存储器基于局部性原理工作,即应用程序在运行前,仅需将当前要运行的少数页面或段先装入内存,其余部分暂留磁盘上。当要执行的指令不在内存时,系统会自动将它们从外存调入内存。若内存空间不足,系统会选择部分内存空间的内容交换到磁盘上,并释放这些内存空间供其他进程使用。

特点:

  • 逻辑容量远大于物理主存容量,扩大了程序可访问的存储空间,使得大型程序或多任务运行成为可能
  • 虚拟存储器支持多任务多环境,每个人物都有独立的虚拟地址空间,便于实施多任务的保护和隔离
  • 通过虚拟存储器的管理,操作系统可以更灵活地分配和回收内存资源,便于操作系统实现内存管理,提高内存使用效率
  • 逻辑容量受限于计算机的地址结构和可用磁盘容量
  • 管理方式有段式、页式和段页式三种

磁盘存储器

在这里插入图片描述
磁盘存储器是一种以磁盘为存储介质的存储器。它通过磁头在旋转的磁盘盘片表面进行数据的读写操作,是计算机系统中常用的外部存储设备,用于长期保存大量的数据信息。

存取时间 = 寻道时间 + 等待时间(平均定位时间+转动延迟)

寻道时间是指磁头移动到磁道所需时间;等待时间为等待读写的扇区转到磁头下方所用的时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微睇藐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值