计算机组成原理-第4章存储器

4.1概述

4.1.1存储器分类

存储器是计算机系统中的记忆设备,用来存放程序和数据。计算机系统的运行速度在很大程度上受存储器速度的制约。

从不同角度对存储器可作不同的分类:

1,按存储介质分类

存储介质指能寄存0,1两种代码并能区别两种状态的物质或元器件。

①半导体存储器:优体积小,功耗低,存取时间短。缺当电源消失时,所存信息也随即丢失,它是一种易失性存储器。

半导体存储器又可按其材料的不同,分为双极型TTL半导体存储器和MOS半导体存储器。前者高速,后者高集成度,制造简单,成本低廉,功耗小。

②磁表面存储器:在金属或塑料基体的表面上涂一层磁性材料作为记录介质,工作时磁层随载磁体高速远转,用磁头在磁层上进行读/写操作。载载磁体形状的不同可分为磁盘,磁带和磁鼓。具有非易失性的特点。

③磁芯存储器:由硬磁材料做成的环状元件,在磁芯中穿有驱动线(通电流)和读出线,这样便可进行读/写操作。不易失的永久记忆存储器,体积过大,工艺复杂,功耗太大。

④光盘存储器:应用激光在记录介质(磁光材料)上进行读/写的存储器,非易失性,记录密度高,耐用性好,可靠性高和可互换性强筹特点。

2,按存取方式分

①随机存储器RAM:可读/写存储器,存储器中任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。主存采用。又可按存储信息原理的不同分为静态RAM(以触发器原理寄存信息)和动态RAM(以电容充放电原理寄存信息)。

②只读存储器ROM:能对其存储的内容读出,而不能对其重新写入的存储器。通常用它存放固定不变的程序,常数和汉字字库,甚至用于操作系统的固化。它与RAM可共同作为主存的一部分,统一构成主存的地址域。

有MROM掩模型只读存储器,PROM可编程只读存储器,EPROM可擦除可编程只读存储器以及EEPROM电擦除可编程只读存储器。

3,按在计算机中的作用分类

可分为主存储器,辅助存储器,缓冲存储器。

主存储器的主要特点是可以和CPU直接交换信息。

4.1.2存储器的层次结构

3个主要性能指标:速度,容量和每位价格。

一般来说,速度越高,位价就越高。容量越大,位价就越低,速度越高。

为了使主存和CPU之间速度更好地匹配,在主存与CPU之间插入了一种比主存速度更快,容量更小的高速缓冲存储器Cache。CPU不能直接访问辅存,辅存只能与主存交换信息,因此辅存的速度可以比主存慢得多。

存储系统层次结构主要体现在缓存-主存和主存-辅存这两个存储层次上。CPU和缓存,主存都能直接交换信息。缓存能直接和CPU,主存交换信息。主存可以和CPU,缓存,辅存交换信息。缓存-主存层次主要解决CPU和主存速度不匹配的问题。主存-辅存层次主要解决存储系统的容量问题。

4.2主存储器

4.2.1概述

根据MAR中的地址访问某个存储单元时,还需经过地址译码,驱动等电路,才能找到所需访问的单元。读出时,需经过读出放大器,才能将选中单元的存储字送到MDR。写入时,MDR中的数据也必须经过写入电路才能真正写入被选中的单元中。

1,主存中存储单元地址的分配

主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。存储字长取8的倍数,计算机系统既可按字寻址,也可按字节寻址。IBM字地址用该字高位字节的地址来表示,PDP-11用低位字节的地址来表示字地址。

2,主存的技术指标

存储容量和存储速度。

①存储容量:主存能存放二进制代码的总位数,即存储容量=存储单元个数x存储字节。

它的容量也可用字节总数来表示,即存储容量=存储单元个数x存储字长/8。

②存储速度:是由在取时间和存取周期来表示的。

存取时间又称存储器的访问时间,是指启动一次存储器操作到完成该操作所需的全部时间。存取时间分读出时间和写入时间两种。

存取周期指存储器进行连续两次独立的存储才器操作所需的最小间隔时间,通常存取周期大于存取时间。

③存储器带宽:与存取周期密切相关的指标,表示单位时间内存储器存取的信息量。

提高带宽:缩短存取周期。增加存储字长,使每个存取周期可读/写更多的二进制位数。增加存储体。

4.2.2半导体存储芯片简介

1,半导体存储芯片的基本结构

在一个芯片内集成具有记忆功能的存储矩阵,译码驱动电路和读/写电路等。

译码驱动能把地址总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读/写电路的配合下完成对被选中单元的读/写操作。

读/写电路包括读出放大器和写入电路,用来完成读/写操作。

存储芯片通过地址总线,数据总线和控制总线与外部连线。

地址线是单向输入的,其位数与芯片容量有关。

数据线是双向的,其位数与芯片可读出或写入的数据位数有关。数据线的位数与芯片容量有关。

地址线和数据线的位数共同反映存储芯片的容量。

2,半导体存储芯片的译码驱动方式

线选法和重合法:线选法的特点是用一根字选择线,直接选中一个存储单元的各位,结构简单,但只适于容量不大的存储芯片。重合法构成了一个矩阵,只要有上左两个方向各自用选择线。

4.2.3随机存取存储器

动态RAM的刷新

防止某些存储单元长时间得不到访问,其内的原信息消失。规定在一定时间内,对动态RAM的全部基本单元电路必作一次刷新,一般取2ms,这个时间称为刷新周期。通常有集中刷新,分散刷新和异步刷新。

①集中刷新

在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。死时间,又称访存死区,死时间率。

②分散刷新

指对每行存储单元的刷新分散到每个存取舍期内完成。不存在死时间,但存取周期长了,整个系统速度降低了。

③异步刷新

前两种方式的结合,既可缩短死时间,又充分利用最大刷新间隔为2ms的特点。

4.2.4只读存储器

对半导体ROM而言,基本器件为两种MOS型和TTL型。

PROM可实现一次性编程的只读存储器。

4.2.5存储器与CPU的连接

1,存储容量的扩展

①位扩展:增加存储字长。

②字扩展:增加存储器字的数量。

③字,位扩展:既增加存储字的数量,又增加存储字长。

2,存储器与CPU的连接

特别要注意片与片之间的地址线,数据线和控制线的连接。

①地址线的连接:CPU的地址线通常比存储芯片的多,CPU地址线的低位与存储芯片的地址线相连。高位在存储芯片扩充时用,或做其他用途。

②数据线的连接:CPU的数据线数与存储芯片的数据线数也不一定相等。此时,必须对存储芯片扩位,使其数据位数与CPU的数据线数相等。

③读/写命令线的连接:通常高电平为读,低电平为写。

④片选线的连接。

⑤合理选择存储芯片。

4.2.6存储器的校验

汉明编码:为了能及时发现错误并及时纠正错误。

1,汉明码的组成

编码最小距离,是指在一种编码系统中,任意两组合法代码之间的最少二进制位数的差异。

L-1=D+C且D≥C,即编码最小距离L越大,则其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于或等于检错能力。

若能在信息编码中增加若干位检测位,增大L,显然便能提高检错和纠错能力。汉明码就是据此而提出的具有一位纠错能力的编码。

设欲检测的二进制代码为n位,为使其具有纠错能力,需增添k位检测位,组成n+k位的代码。为了能准确对错误定位以及指出代码没错,新增添的检测位数k应满足:2的k次方≥n+k+1。

k的位数确定后,便可由它们所承担的检测任务设定它们在被传送代码中的位置及它们的取值。

小组划分特点:

①每个小组gi有一位且仅有一位为它所独占,这一位是其他小组所没有的,即gi小组独占第2的i-1位。

②每两个小组gi和gj共同占有第2的i-1次方+2的j-1次方位。

③每两个小组gi,gj和gl共同点有第2的i-1次方+2的j-1次方位+2的l-1次方位。

汉明码的纠错过程实际上是对传送后的汉明码形成新的检测位Pi(i=1,2,……)。根据Pi的状态,便可直接指出错误的位置。

4.2.7提高访存速度的措施

除了导找高速元件和采用层次结构以外,调整主存的结构也可提高访存速度。

1,单体多字系统:在一个存取周期内,从同一地址取出多条指令,然后再逐条将指令送至CPU执行。前提:指令和数据在主存内必须是连续存放的。

2,多体并行系统:采用多体模地组成的存储器。

①高位交叉编址,程序按体内地址顺序存放,一个体存满后,再存入下一个体,高位地址可表示体号,纸位地址为体内地址。

②低侄交叉编址,程序连续存放在相邻体中,低位地址用来表示体号,高位地址为体内地址。

3,排队器:①对易发生代码丢失的请求源,应列为最高优先级

②对严重影响CPU工作的请求源,给予次高优先级,否则会导致CPU工作失常。

4.3高速缓冲存储器

工作原理:为了与Cache映射,将主存与缓存都分成若干块,每块内又包含若干个字,并使它们的块大小相同。

命中率h=Nc除(Nc+Nm)Nc为访问Cache的总命中次数,Nm为访问主存的总次数。

Cache-主存系统的平均访问时间ta为ta=htc+(1-h)tm。tc为命中时Cache访问时间,tm为未命中时的主存访问时间,1-h表示未命中率。一般而言,Cache容量越大,其CPU的命中率就越高。

2,Cache一主存地址映射

①直接映射:实现简单,只需利用主存地址的某些位直接判断,即可确定所需字地是否在缓存中。不够灵活,每个主存块只能固定地对应某个缓存块。此外,如果程序恰好要重复访问对应同一缓存位置的不同主在块,就要不停进行替换,从而降低命中率。

②全相联映射:允许主存中每一字块映射到Cache中的任何一块位置。灵活,但逻辑电路多,成本较高。

③组相联映射:是对前两种方法的一种折中,它把Cache分为Q组,每组有R块,并有以下关系i=jmodQ,i为缓存的组号,j为主存的地号。

3,替换策略

①先进先出算法:选择最早调入Cache的字块进行替换,无需记录各字块的使用情况,容易实现,开销小,但没有根据访存的局部性原理,无法提高Cache的命中率。

②近期最少使用算法:较好利用访存的局部性原理,替换出近期用得最少的字地。要随时记录,较复杂,命中率高。

③随机法:随机地确定被替换的块,简单,无法提高Cache命中率。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值