计算机硬件工作原理——存储体系1

本文详细探讨了存储器的分类,包括按构成材料、工作方式、寻址方式以及作用/层次的划分。重点介绍了RAM、SRAM、DRAM的不同特点,只读存储器的特性,以及存储性能指标如容量、速度和层次结构。同时涵盖了Cache的作用和存储器体系的构建。
摘要由CSDN通过智能技术生成

一、存储器的分类

(一)、按存储器的构成材料分类

(二)、按工作方式分类

(1)读/写存储器(Random Access Memory,RAM)。

        可读可写数据。依据存储单元的工作原理,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM),SRAM比DRAM快,也贵得多。

特点:

            1、可读可写;

            2、随机存取,存取的时间与物理位置无关(不会因为位置远近导致存取时间长 );

            3、主存/cache使用这种存储器;

            4、易失(断电后存取的信息会消失)。

        我们知道存储器存放的信息都是1/0。SRAM和DRAM都是以电信号的形式执行,如果断电信息就可能丢失,SRAM和DRAM都是易失性的存储器。

        静态SRAM:
  1. 存储元:双稳态触发器(六晶体管MOS),通过触发器执行两种稳定的状态,可以保证在0/1之间快速切换,而且状态非常稳定。
  2. 非破坏性读出:采用的是双稳态触发器,读数据的时候只需要查看触发器的存储状态就行了,读出数据不需要破坏触发器的状态。
  3. 速度快,集成度低,功耗大,造价贵。
  4. 用于Cache。
        动态DRAM:

  1. 靠栅极电容上的电荷存储信息,存储元智使用一个晶体管,通过电容的充放电去实现0/1状态的写入,动态实现充放电。
  2. 破坏性读出,读出后应有重写操作:连接电容发出试探电路检测DRAM的变化,如果是0没有变化,如果是1有电流就会有变化,就像充电宝(可以试着这样去理解,充电宝有电给手机充电电量就改变了)。
  3. 速度慢,集成度高,功耗低,造价低 。
  4. 用于主存。
  5. 刷新:刷新周期通常取2ms(2ms内每一行都要刷新一次)。DRAM电容上的电荷一般只能维持很短的一段时间,就是说如果电容不充电信息会自动消失的,所以每隔一段时间刷新,分集中刷新、分散刷新、异步刷新。

刷新周期:对DRAM的所有存储单元恢复一次原状态的时间间隔。

例:假设DRAM内部结构排列成128*128的形式(意思是2ms内128行每一行都要刷新一次),读写周期(存取周期)为0.5μs。分三个思路去理解:

分散刷新:

每次读写完都刷新一行,对每行存储单元的刷新分散到每个存储周期内完成,则存储周期就包含了刷新时间(这里不是刷新周期)刷新时间读写时间是一样的,前0.5μs用于正常读写,后0.5μs用于刷新某行。此时,存储周期为:0.5μs+0.5μs=1μs

刷新(刷新以行算)一行的时间为1μs,所以全部刷新完128行的时间为:128*1μs=128μs

优点:无死区
缺点:存取周期长,整个系统的速度降低了 

集中刷新:

在规定的一个刷新周期内,对全部存储单元集中在一段时间逐行进行刷新(就是用专门的时间进行全部刷新),2ms内集中安排时间全部刷新,系统的存取周期还是0.5μs,有一段时间专门用于刷新,无法访问存储器,称为防存“死区”。

2ms的刷新周期,占的存取周期个数(可以理解成一个刷新周期内有多个存储周期)为: 2ms=2000μs         2000μs÷0.5μs=4000(个)

共有128行要进行刷新,则刷新占128个存取周期,则刷新的时间为:128×0.5μs=64μs

读写或维持的时间:2000μs-64μs=1936μs

读/写或维持的存储周期为:4000-128=3872(个)

当用64μs进行集中刷新时,这时不能进行任何的读/写操作,所以把这64μs称为“死区”或“死时间

“死时间”所占的比率也称为“死时间率
则集中刷新的“死时间率为”

128÷4000×100%=3.2%

优点:速度高
缺点:存在死区,时间长

异步刷新:

2ms内每行刷新一次即可,也就是说2ms内发生128次刷新请求,是前两种方式的结合,缩短了死时间,充分利用了最大刷新间隔为2ms的特点(就是只要在2ms内对这一行刷新一遍就行)

        每隔2000μs÷128=15.6μs一次,每15.6μs内有0.5μs的“死时间”,就是每行的刷新时间仍然为0.5μs。刷新一行就停一个存储周期,“死时间缩短为0.5μs”(15.6μs内刷新一行 其他全用来读写)这种方案克服了分散刷新许独占0.5μs用于刷新,使存取周期加长且降低系统速度的缺点,又不会出现集中刷新的访问“死区”问题,从根本上提高了工作效率。

地址复用技术

        地址复用技术是指在存储器中使用较少的地址线来传输行地址和列地址的技术。在DRAM和SRAM中,地址复用技术的实现方式有所不同。

        在SRAM中,由于其通常用作高速缓存而不是内存,所以对于容量较小的SRAM来说,不需要采用地址复用技术。因为SRAM的容量相对较小,所以可以直接使用较多的地址线来传输行地址和列地址,不需要进行地址复用,行列是独立的,比如说现在有一个16bit的存储器,在行列独立里面这16个bit会组成一个数组,从0到15,如果现在要找第12个Bit。

        在DRAM中,采用的是行与列地址分时复用技术。DRAM的存储单元被组织成一个矩阵,地址可以分成行地址和列地址。在进行寻址时,首先进行行寻址,然后再进行列寻址。这是由DRAM的硬件电路所决定的。通过行地址线和列地址线的共用,既节省了地址线的数量,又不会降低DRAM的工作速率。

例:某一DRAM芯片,采用地址复用技术,其容量为1024*8位,除电源和接地端外,该芯片的引脚数最少为 (),读写控制线为两根。

分析:容量为1024*8就是2^{^{10}}*8,幂就是代表地址线的根数,8是数据线的根数,由于采用的是地址复用技术,所以地址线为10/2=5(根),行列通选线有两根,读写控制线题干说是2根,所以:

5+8+2+2=17(根)

(2)只读存储器。

         顾名思义是只能读取的存储器,根据数据的写入方式可分为ROM(固定只读存储器)、PROM(可编程的只读存储器)、EPROM(可擦除可编程的只读存储器)等。

ROM特点:

             1、只能随机读出,不可写入;

             2、一旦写入就固定不变;

             3、可与RAM共同作为主存的一部分,统一构成主存的地址域;

             4、存放固定不变的程序,常数和汉字字库;

             5、非易失。

             6、结构简单,位密度高。

        存储在ROM设备中的程序通常称为固件。eg当计算机加电后,它会运行存储在ROM中的固件。

(三)按寻址方式分类

(1)随机存储器(RAM)

        可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的。

(2)顺序存储器(Sequenttially Addressed Memory,SAM)

        访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器。

(3)直接存储器(Direct Addressed Memory,DAM)

        介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存储存储器,它对磁道的寻址是随机的,而在一个磁道内侧是顺序寻址。

(四)按作用/层次分类

(1)主存储器

        容量小,存取速度较快,每位价格较高

(2)辅存储器

        容量大,存取速度较慢,单位成本低

(3)Cache

        容量小,存取速度很快,价格高。由快速半导体储存器构成,用来存放当前最活跃的程序和数据,其内容是主存局部域的副本,对程序员来说是透明的。

1、主存储器

       读数据:CPU在主存储体中取得数据,它会把它需要的数据存的这个存放地址存放到MAR中,主存储器就会根据MAR接收的地址信息去存储体中取出CPU需要的数据,并把数据写到MDR里,最后CPU就可以通过数据线路从MDR中取走需要的数据。

       写数据:CPU指明写入哪个位置,需要写入的数据存放在MDR中,CPU通过控制总线让主存储器执行写操作,主存储器接收到信号后就在相应地址写入该数据。

       存储体:数据存放在存储体中,数据在存储体中按地址存储,存储体会被分成很多存储单元,每个存储单元存放一串二进制代码(电信号),存储单元中二进制代码的组合称为存储字,存储单元中二进制代码的位数称为存储字长,每个地址对应一个存储单元

       MAR位数反映存储单元的个数,eg:MAR=5位,就有2{^{5}}个存储单元(5个二进制位最多表示2{^{5}}个数字)。在存储单元中取出的数据放在MDR中,MDR位数和存储字长保持一致。MDR=16位,也就是说每个存储单元可存放16bit;1字(word)=16bit。

1字节(Byte)=8bit         1B=1字节        1b=1bit

主存的结构:

现代计算机主存由半导体集成电路构成

主存与CPU的联系:

        从主存中读出一个信息字,CPU会把这个字的地址送到MAR,因为MAR是一个存地址的寄存器,然后通过地址总线把这个地址送到储存,然后发出一个读命令,主存接收到读命令之后就把地址读出,根据读命令和地址读出信息,读出信息之后把地址对应的内容送到数据总线上,就是传给了MDR。

 2、半导体存储芯片

        存储器是由多个存储芯片构成的。译码驱动:负责把地址总线送来的地址信号翻译成对应存储单元的选择信号,和读写电路共同工作,完成读写操作。地址线m根数据线n根,可以推出芯片容量2{^{m}} * n位。读/写控制线:决定芯片进行读/写操作,有两种操作,一种是共用一根,就是说不管是读操作还是写操作都用一根控制线决定,第二种是两根分用。片选线:选择存储芯片(前面说过一个存储器是由多个存储芯片构成的,所以要根据地址信号选择存储芯片),可以用一根或两根。

二、存储的性能指标

(1)存储容量

        存储容量=存储字(一个存储单元就是一个存储字  \times  字长(每个存储单元的存储字长)=存储单元个数   \times  存储字长(这个公式好记住一些)。

(2)存储速度

        数据传输率=数据宽度\div存储周期

  1. 存取时间:启动一次存储器操作到完成该操作的时间
  2. 存取周期:存储进行连续两次独立的操作所需的最小间隔时间
  3. 存储器带宽(数据传输率)

单位时间内存储器存取的信息量

存取周期不等于存取时间,还包括了恢复时间。

三、存储系统的层次结构

        存储器的顶层是CPU的寄存器,其速度和CPU速度相当。第二层是高速缓冲存储器Cache,和CPU速度接近。第三层是主存储器,也称内部存储器或者RAM。第四层是磁盘。存储器体系最后一层是光盘、磁带等。Cache和主存可构成存储器系统,主存和磁盘构成构成虚拟存储系统。如图为多级存储器结构:

         在计算机系统中存储层次还可分为高速缓冲存储器主存储器辅助存储器三级。高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。辅助存储器用于扩大存储空间。Cache是一个高速缓存,它缓存了主存里面经常用到的数据的副本,解决了CPU和主存速度不匹配的问题,当CPU访问主存中的数据可以通过Cache访问是否存放所需数据的副本,实现可直接从Cache里面读取数据,提高了访问速度,也就是说CPU和Cache之间是可以进行数据交换的,而CPU也可以和主存之间进行数据交换,此外,Cache也可以和主存进行数据交换。

                                                       

  • 27
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值