计算机组成原理知识总结——存储器篇


典雅给花生
典雅给花生 2022-09-21 14:43:44 64792
分类专栏: 资讯

1.概述

1.1 存储器的分类

按存储介质分类:半导体存储器(易失)、磁表面存储器、磁芯存储器、光盘存储器。(这三种都是非易失)
按存取方式分类:随机存储器(RAM,random access memory),只读存储器(read only memory),顺序存取存储器(如:磁带),直接存取存储器(如磁盘)。
注意RAM又分为静态RAM(用触发器存储信号)和动态RAM(用电容存储信号),断电后信息都会消失。
ROM断电后信息不消失。

1.2 存储器的层次结构

存储器的性能指标:速度、价格、容量。通常三者不能同时达到最优。
存储器的层次结构主存-辅存结构缓存-主存结构
主存-辅存结构用来提升容量,缓存-主存结构用来提升速度。

2.主存储器

2.1 概述

在有些主存中,MAR和MDR在主存内部,所以数据传输过程是地址总线->MAR->M->MDR->数据总线。
存储单元地址分配:地址总线的位数决定地址的范围,而采用字寻址方式还是字节寻址方式,决定了寻址范围。有的机器,1个字=2个字节,有的机器,1个字=4个字节.
主存的技术指标:存储容量、存储速度(前两者是主要的)、存储器带宽。
存储容量= 存储单元的个数*存储字长
存储速度由存取时间和存取周期决定,通常存取时间<存取周期
存储器带宽:单位时间内存储器存取的信息量。

2.2 半导体存储芯片简介

  1. 其容量由地址线和数据线共同构成。
  2. 译码驱动方式分为线选法和重合法。
    线选法:用一根字选择线,直接选中一个存储单元的各个位。
    在这里插入图片描述
    优点: 结构简单;
    缺点: 不适于容量大的存储芯片,因为是直接通过地址线选择,如果有10根地址线,则容量为1K,需要引出210条字线
    重合法:用两根字选择线,同时选中时,才能选中一个存储单元的一个位。
    在这里插入图片描述
    优点: 适用于容量大的芯片,比如10根地址线,容量为1K,但是只需要引出2*25条字线
    缺点: 结构复杂

2.3 随机存取存储器(RAM)

静态RAM:以触发器为基本电路,速度快,断电后信息消失,属于易失性半导体存储器,价格高,集成度相对低
动态RAM:基于电容存储电荷,来存储信息。即使不断电,信息也会消失,因此需要刷新。价格低,集成度相对高。
动态RAM刷新的三种方式:集中刷新、分散刷新、异步刷新。
集中刷新: 如下图所示,它在最后的128个周期内刷新,此时存储器不能做任何的读写操作,因此“死区”占比:128/4000*100%=3.2%
在这里插入图片描述
分散刷新: 如下图所示,它将刷新时间分散到每个存取周期内完成,每个存取周期做这两件事情,第一件事是进行读/写操作或者维持信息,第二件事情是刷新操作,因此刷新操作是不会占用读/写时间的,因此无死区。但存取周期被拉长了,整个系统的速度降低了。
在这里插入图片描述
异步刷新: 如下图所示,结合以上两种方式,把128次刷新均匀地分布在2ms中,通过合理地安排刷新时间(比如安排在CPU不访存的时间),就能减少死区时间,同时系统速度不被拉低。
在这里插入图片描述

2.4 只读存储器ROM

  1. 掩膜ROM:只能读,用MOS管构成。
  2. PROM:可以改写一次,用双极型电路和熔丝构成。
  3. EPROM:可以改写多次,但是改写时间很长,比较费事。用浮动栅雪崩注入型MOS管构成。
  4. EEPROM:电可擦式可编程只读存储器,改写极为方便。用电气的方式构成。

2.5 存储器和CPU的连接

2.5.1 存储容量的扩展

字扩展:通过多增加一根数据线,并加上非门,来实现同一地址下,存储字长的增加。
在这里插入图片描述

位扩展:通过连在不同的地址总线上,增加存储的容量,可以访问更多的空间。
在这里插入图片描述
字、位扩展:顾名思义,字扩展和位扩展同时用上,既增加寻址范围,又增加某一地址的存储字长。
在这里插入图片描述

2.5.2 存储器与CPU的连接

  1. 地址线的连接:地址线的条数,应该与存储单元个数有关。
  2. 数据线的连接:数据线的条数,应该与芯片的存储字长有关
  3. 读写控制命令的连接:只有RAM才接这玩意,ROM不接
  4. 片选线的连接:地址码-地址线=片选线,注意还要加上CPU的MREQ(上面还有一横但没办法打出来。 这是控制访存信号)
  5. 合理选择芯片:即ROM与RAM的类型与数量
    在这里插入图片描述

2.6 存储器的校验

数据在存储的过程中出现可能差错,为了发现错误并纠正错误,可以将原数据配成汉明编码。
汉明码的组成:真正的数据位+检测位。通常检测位会散布在数据位中,这样通过排列检测位,并直接读取检测位的值,就可以知道哪个数据位出现了错误。
检测位i在2i-1上。 检测位既可以按照配寄原则,也可以按照配偶原则

比如:
按照配偶原则接受到的汉明码是:0100111,试分析哪一位出错?
第1位是检测位,它负责让1,3,5,7的“1”的个数为偶数,分析后发现,确实都是偶数,那就为0;
第2位是检测位,它负责让2,3,6,7的“1”的个数为偶数,分析后发现,此时是奇数个,那说明这个检测位管理的组有问题,那么C2就为1;
第4位是检测位,它负责让4,5,6,7的“1”的个数为偶数,分析后发现,此时是奇数个,那说明这个检测位管理的组有问题,那么C4就为1;(配奇原则同理)
因此C4C2C1=110;因此是第6位出错,故原正确数据应该为:0100101

小技巧:对于检测位控制的组的位数很好记,只要记住第i组的检测位为2i-1,其余的可以用检测位的组合的方式给出。

比如,四个检测位
1号检测位,控制:1,3,5,7,9,11,13,15;
2号检测位,控制:2,3,6,7,10,11,14,15;
4号检测位,控制:4,5,6,12,7,14,13,15;
8号检测位,控制:8,9,10,12,11,13,14,15;

2.7 提高访存速度的措施

  1. 单体多字系统

  2. 多体并行系统。多体并行系统又可以分为低位交叉编址高位交叉编址
    高位交叉编址又称为顺序存储。如下图所示,优点:扩容方便;缺点:对速度的提升几乎不大。
    在这里插入图片描述
    低位交叉编址又称为交叉存储。如下图所示,优点:对存储器的带宽提升巨大,因为它可以在一个访存周期内交叉访问存储体;缺点:扩容不便。
    在这里插入图片描述

  3. 用高性能存储芯片
    同步DRAM、Rambus DRAM、带cache的DRAM等

3.高速缓冲存储器(Cache)

3.1 概述

Cache的出现是为了解决CPU的运行速度和存储器的速度之间的差异,让CPU直接在Cache访问数据能大幅提升计算机的运行速度。
Cache利用了程序访问的局部性,即访存的时候,所需要的数据或者指令通常在物理上都是连续存放的;而且访问过一次的内存,很大概率会再次访问。

在正式了解Cache之前需要考虑以下几个问题:

  1. Cache的容量肯定是远小于主存的容量,那么Cache的地址和主存的地址应该如何对应呢?
  2. 如何评价Cache的访问效率?

在解决第二个问题之前,先了解命中率这一概念。
命中率h h=(Nc)/(Nc + Nm),其中Nc是访问Cache的命中次数,Nm是访问主存的命中次数。
访问效率e e = (tc)/(h*tc+(1-h)*tm)。tc是访问Cache的时间,tm是访问主存所需的时间。
块长与命中率之间的关系这个关系较为复杂,在块长较小的时候

3.2 Cache的基本结构

在这里插入图片描述

3.2.1 Cache存储体

Cache存储体以块为单位与主存交换信息,且Cache访存的优先级最高。

3.2.2 地址映射变换机构

  1. 直接映射:主存每个区的固定位置的字块给Cache固定位置的字块。t位的标记是用来标记字块来自哪个区。
    在这里插入图片描述
  2. 全相联映射:主存的任意字块可以放在任意Cache的字块中。这样能够充分利用Cache的空间,但同时标记的位数必须从t位增加到t+c位(也就是主存的字块个数为2t+c),逻辑电路就变得复杂很多。
    在这里插入图片描述
  3. 组相联映射(现代计算机常用的方法)。综合直接映射和全相联映射的特点。还是把主存的字块分区,每个区的固定位置放在固定的组里,组里满了的话,还想装那个位置的字块就装不下了。此时标记的位数为t+r要小于t+c。当r=1时,又称为二路组相联。
    在这里插入图片描述

3.2.3 替换机构

  1. 先进先出算法(First In First Out)
  2. 近期最少使用算法(Least Recently Used),这种方法最科学。
  3. 随机法

3.2.4 Cache读写操作

  1. 读操作简单,如果Cache里有数据,那么CPU直接访问Cache,如果Cache没有数据,那么CPU访问内存,同时把这个字块放到Cach里(如果Cache满了的话,可以用LRU算法替换)
  2. 写操作。有两种方法,一种是写直达法(又称存直达法),写操作的时候既写入Cache,又写入主存。另一种方法是写回法(又称拷回法),即先只写入Cache,一旦Cache那部分要被替换出去了,就写入主存,显然这种方法更加科学,但是要增加一个标志位,来识别是否Cache与主存一致。
    在这里插入图片描述

3.3 Cache的改进

  1. 单一缓存和两级缓存
    单一缓存:CPU和主存之间只有一个缓存。
    两级缓存:CPU <-> 缓存1 <-> 缓存2 <->主存。
  2. 统一缓存和分立缓存
    统一缓存:指令和数据放在一个cache里
    分立缓存:指令和数据放在不同cache里,有单独的指令Cache和单独的数据Cache。

4.辅助存储器

辅存属于非易失性存储器;而主存因为大多是由半导体芯片构成,所以是易失性存储器。
常用的辅存有:硬磁盘、软磁盘、磁带、光盘等,具体原理就不一一叙述了。

最后,创作不易,希望大家能顺手点个赞。如果觉得有帮助,可以加个收藏,给作者更大的创作动力

文章知识点与官方知识档案匹配,可进一步学习相关知识

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=9116
赞同 0
评论 0 条
典雅给花生L0
粉丝 0 发表 10 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1448
银河麒麟打印带有图像的文档时出错  1365
银河麒麟添加打印机时,出现“server-error-internal-error”  1151
统信桌面专业版【如何查询系统安装时间】  1073
统信操作系统各版本介绍  1070
统信桌面专业版【全盘安装UOS系统】介绍  1028
麒麟系统也能完整体验微信啦!  984
统信【启动盘制作工具】使用介绍  627
统信桌面专业版【一个U盘做多个系统启动盘】的方法  575
信刻全自动档案蓝光光盘检测一体机  483
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!