当前位置:首页 » 存储配置 » 多体存储器的存取

多体存储器的存取

发布时间: 2023-09-02 06:00:00

‘壹’ 存储器按其工作原理可分为哪几种

根据存储元件的性能及使用方法不同,存储器有各种不同的分类方法。
1.按存储介质分类
作为存储介质的基本要求,必须具备能够显春含示两个有明显区别的物理状态的性能,分别用来表示二进制的代码0和1。另一方面,存储器的存取速度又取决于这种物理状态的改变速度。目前使用的存储介质主要是半导体器件和磁性材料,用半导体器件组成的存储器称为半导体存储器闭悔。用磁性材料做成的存储器称为磁表面存储器,例如磁盘存储器和磁带存储器。
2.按存取方式分类
如果存储器中任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关,这种存储器称为随机存储器。半导体存储器和磁芯存储器都是随机存储器。如果存储器只能按某种顺序来存取,也就是说存取时间和存储单元的物理位置无关,这种扒态笑存储器称为顺序存储器。例如,磁带存储器就是顺序存储器。一般来说,顺序存储器的存取周期较长。磁盘存储器是半顺序存储器。
3.按存储器的读写功能分类
有些半导体存储器存储的内容是固定不变的,即只能读出而不能写入,因此这种半导体存储器称为只读存储器 (ROM)。既能读出又能写入的半导体存储器,称为随机存储器 (RAM)。
4.按信息的可保存性分类
断电后信息即消失的存储器,称为非永久记忆的存储器。断电后仍能保存信息的存储器,称为永久性记忆的存储器。磁性材料做成的存储器是永久性存储器,半导体读写存储器RAM是非永久性存储器。
5.按串、并行存取方式分类
目前使用的半导体存储器大多为并行存取方式,但也有以串行存取方式工作的存储器,如电耦合器件 (CCD)、串行移位寄存器和镍延迟线构成的存储器等。
6.按在计算机系统中的作用分类
根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、缓冲存储器、控制存储器等

‘贰’ 计算机系统采用多级存储体系,包括哪三方面

常见的三级存储体系(从CPU往外)是:Cache、主存、外存。 主存储器用来存放需CPU运行的程序和数据。用半导体RAM构成,常包含少部分ROM。可由CPU直接编程访问,采取随机存取方式,即:可按某个随机地址直接访问任一单元(不需顺序寻找),存取时间与地址无关。存储容量较大,常用字节数表示,有时也用单元数×位数表示。速度较快,以存取周期表示。 Cache位于CPU与主存之间(有些Cache集在CPU芯片之中),用来存放当前运行的程序和数据,它的内容是主存某些局部区域(页)的复制品。它用快速的半导体RAM构成,采取随机存取方式。存储容量较小而速度最快。 外存储器用来存放暂不运行但需联机存放的程序和数据。用磁盘、光盘、磁带等构成,磁盘用于需频繁访问场合,光盘目前多用于提供系统软件,而磁带多用于较大系统的备份。CPU不能直接编址访问外存,而是将它当作外围设备调用。磁带采取顺序存取方式。磁盘与光盘采取直接存取(半顺序)方式,先直接定位到某个局部区域,再在其中顺序存取。外存容量可以很大,以字节数表示。由于外存的存取时间与数据所在位置有关,所以不能用统一的存取周期指标来表示。例如磁盘的速度指标可按其工作过程分成三个阶段描述:①平均寻道时间②平均旋转延迟(等待)时间③数据传输率

‘叁’ 计算机组成原理(三)存储系统

辅存中的数据要调入主存后才能被CPU访问

按存储介质,存储器可分为磁表面存储器(磁盘、磁带)、磁心存储器半导体存储器(MOS型存储器、双极型存储器)和光存储器(光盘)。

随机存取存储器(RAM):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关,如内存条等

顺序存取存储器(SAM):读写一个存储单元所需时间取决于存储单元所在的物理位置,如磁盘等

直接存取存储器(DAM):既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。如硬盘等

相联存储器,即可以按内容访问的存储器(CAM)可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器

读写存储器—即可读、也可写(如:磁盘、内存、Cache)
只读存储器—只能读,不能写(如:实体音乐专辑通常采用CD-ROM,实体电影采用蓝光光盘,BIOS通常写在ROM中)

断电后,存储信息消失的存储器——易失性存储器(主存、Cache)
断电后,存储信息依然保持的存储器——非易失性存储器(磁盘、光盘)
信息读出后,原存储信息被破坏——破坏性读出(如DRAM芯片,读出数据后要进行重写)
信息读出后,原存储信息不被破坏——非破坏性读出(如SRAM芯片、磁盘、光盘)

存储器芯片的基本电路如下

封装后如下图所示

图中的每条线都会对应一个金属引脚,另外还有供电引脚、接地引脚,故可以由此求引脚数目

n位地址对应2 n 个存储单元

假如有8k×8位的存储芯片,即

现代计算机通常按字节编址,即每个字节对应一个地址

但也支持按字节寻址、按字寻址、按半字寻址、按双字寻址

(Dynamic Random Access Memory,DRAM)即动态RAM,使用栅极电容存储信息
(Static Random Access Memory,SRAM)即静态RAM,使用双稳态触发器存储信息

DRAM用于主存、SRAM用于Cache,两者都属于易失性存储器

简单模型下需要有 根选通线,而行列地址下仅需 根选通线

ROM芯片具有非易失性,断电后数据不会丢失

主板上的BIOS芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统(开机)。逻辑上,主存由 辅存RAM+ROM组成,且二者常统一编址

位扩展的连接方式是将多个存储芯片的地址端、片选端和读写控制端相应并联,数据端分别引出。

字扩展是指增加存储器中字的数量,而位数不变。字扩展将芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。

实际上,存储器往往需要同时扩充字和位。字位同时扩展是指既增加存储字的数量,又增加存储字长。

两个端口对同一主存操作有以下4种情况:

当出现(3)(4)时,置“忙”信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。

多体并行存储器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交义工作。多体并行存储器分为高位交叉编址(顺序方式)和低位交叉编址(交叉方式)两种.

①高位交叉编址

②低位交叉编址

采用“流水线”的方式并行存取(宏观上并行,微观上串行),连续取n个存储字耗时可缩短为

宏观上,一个存储周期内,m体交叉存储器可以提供的数据量为单个模块的m倍。存取周期为T,存取时间/总线传输周期为r,为了使流水线不间断,应保证模块数

单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。

缺点:每次只能同时取m个字,不能单独取其中某个字;指令和数据在主存内必须是连续存放的

为便于Cache 和主存之间交换信息,Cache 和主存都被划分为相等的块,Cache 块又称Cache 行,每块由若干字节组成。块的长度称为块长(Cache 行长)。由于Cache 的容量远小于主存的容盘,所以Cache中的块数要远少于主存中的块数,它仅保存主存中最活跃的若干块的副本。因此 Cache 按照某种策略,预测CPU在未来一段时间内欲访存的数据,将其装入Cache.

将某些主存块复制到Cache中,缓和CPU与主存之间的速度矛盾

CPU欲访问的信息已在Cache中的比率称为命中率H。先访问Cache,若Cache未命中再访问主存,系统的平均访问时间t 为

同时访问Cache和主存,若Cache命中则立即停止访问主存系统的平均访问时间t 为

空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的

时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息

基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”的部分数据放到Cache中

直接映射方式不需要考虑替换算法,仅全相联映射和组相联映射需要考虑

①随机算法(RAND):若Cache已满,则随机选择一块替换。实现简单,但完全没考虑局部性原理,命中率低,实际效果很不稳定

②先进先出算法(FIFO):若Cache已满,则替换最先被调入Cache的块。实现简单,依然没考虑局部性原理

③近期最少使用算法(LRU):为每一个Cache块设置一个“计数器”,用于记录每个Cache块已经有多久没被访问了。当Cache满后替换“计数器”最大的.基于“局部性原理”,LRU算法的实际运行效果优秀,Cache命中率高。

④最不经常使用算法(LFU):为每一个Cache块设置一个“计数器”,用于记录每个Cache块被访问过几次。当Cache满后替换“计数器”最小的.并没有很好地遵循局部性原理,因此实际运行效果不如LRU

现代计算机常采用多级Cache,各级Cache之间常采用“全写法+非写分配法”;Cache-主存之间常采用“写回法+写分配法”

写回法(write-back):当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存。减少了访存次数,但存在数据不一致的隐患。

全写法(写直通法,write-through):当CPU对Cache写命中时,必须把数据同时写入Cache和主存,一般使用写缓冲(write buffer)。使用写缓冲,CPU写的速度很快,若写操作不频繁,则效果很好。若写操作很频繁,可能会因为写缓冲饱和而发生阻塞访存次数增加,速度变慢,但更能保证数据一致性

写分配法(write-allocate):当CPU对Cache写不命中时,把主存中的块调入Cache,在Cache中修改。通常搭配写回法使用。

非写分配法(not-write-allocate):当CPU对Cache写不命中时只写入主存,不调入Cache。搭配全写法使用。

页式存储系统:一个程序(进程)在逻辑上被分为若干个大小相等的“页面”, “页面”大小与“块”的大小相同 。每个页面可以离散地放入不同的主存块中。CPU执行的机器指令中,使用的是“逻辑地址”,因此需要通“页表”将逻辑地址转为物理地址。页表的作用:记录了每个逻辑页面存放在哪个主存块中

逻辑地址(虚地址):程序员视角看到的地址
物理地址(实地址):实际在主存中的地址

快表是一种“相联存储器”,可以按内容寻访,表中存储的是页表项的副本;Cache中存储的是主存块的副本

地址映射表中每一行都有对应的标记项

主存-辅存:实现虚拟存储系统,解决了主存容量不够的问题

Cache-主存:解决了主存与CPU速度不匹配的问题

‘肆’ 多体交叉存储器

地址顺序存放(一个体存满后,再存入下一个体),故又有顺序存储之称。高位地址可表示体号,低位地址为体内地址。

高位地址:又称片选地址

串行工作:并没有提高访问速度,一个一个访问,读m个字仍需 m个周期时间

设存储周期为 T ,总线传送周期为 t ,交叉模数为m。

1、一个4体并行低位交叉存储器,每个模块的容量是64K×32位,存取周期为200ns,在以下说法中,( )是正确的。
A. 在200ns内,存储器能向CPU提供256位二进制信息
B. 在200ns内,存储器能向CPU提供128位二进制信息
C. 在50ns内,每个模块能向CPU提供32位二进制信息
D. 都不对
解:对CPU来说,它可以在一个存取周期内连续访问4个模块,32位×4=128位。本题答案为B

2、采用4体并行低位交叉存储器,每个模块的容量是32K×16位,存取周期为400ns,在以下说法中, 是正确的。
A. 在0.1µs内,存储器能向CPU提供 2 6 位二进制信息
B. 在0.1µs内,存储器能向CPU提供 1 6 位二进制信息
C. 在0.4µs内,存储器能向CPU提供 2 6 位二进制信息
D. 都不对
解:400ns=0.4µs,16位×4=64位= 2 6 位。本题答案为C

3、多体并行方式有两种,其中高位交叉编址的多体存储器中,程序 ① 存放,而低位交叉编址的多体存储器中,程序 ② 。
解:本题答案为:① 按体内地址顺序 ② 连续存放在相邻体中。

采用多体交叉存储器时,主要由地址的低位部分来选择各个存储体。
采用多体交叉存储器时,当连续访问的存储单元位于不同的存储体时可获得较高的存取速度。

有M个存储体的低位交叉编址的多体存储器是采用模M编址方式

4、为了通过交叉访问提高存储系的访问速率,必须满足

5、一个4体低位交叉的存储器,假设存取周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?

答:

本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔1/4存取周期即可访问一个字,因此,依次访问64个字需:

存取周期个数 =(64-1)×(1/4)T+T =(63/4+1)T =15.75+1 =16.75T

热点内容
说话加密 发布:2025-01-31 14:02:28 浏览:552
android仓库管理系统 发布:2025-01-31 14:02:27 浏览:700
batsql语句 发布:2025-01-31 14:00:13 浏览:733
沈阳加密狗 发布:2025-01-31 13:54:58 浏览:705
联想服务器怎么装windows7 发布:2025-01-31 13:54:52 浏览:874
java二级考试历年真题 发布:2025-01-31 13:50:31 浏览:171
编程一刻 发布:2025-01-31 13:36:44 浏览:585
编程小草出土 发布:2025-01-31 13:33:27 浏览:579
如何设置服务器屏蔽你的ip 发布:2025-01-31 13:25:58 浏览:243
扣扣的独立密码是什么密码 发布:2025-01-31 13:23:42 浏览:132