当前位置:首页 » 服务存储 » 相联存储器别名
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

相联存储器别名

发布时间: 2023-08-19 07:57:11

A. 按内容访问存储器是什么

关联存储器(又译作相联存储器)也称为按内容访问存储器或简称为TLB;它是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找快表。
原理:
写入信息时按顺序写入,不需要地址。
读出时,要求中央处理单元给出一个相联关键字,用它和存储器中所有单元中的一部分信息进行比较,若它们相等,则将此单元中余下的信息读出。这是实现存储器并行操作的一种有效途径,特别适合于信息的检索和更新。
考虑表3-1所示的表格,假设它存放在计算机的主存储器中。该表格由五个记录所组成,每个记录包含四个子段:职工号、姓名、出生年月和工资数。
在表3-1中,信息的存贮与检索问题往往涉及到访问一个记录中的某个子段,如“李四的出生年月是什么时间?”“职工号是5199109的人的姓名是什么?”这类问题如果采用传统的随机存储器,那么一定要确切地指出“李四”的那一项在表格中的物理地址(n+1)与职工号“5199109”和姓名“李四”没有逻辑上的关系,因而用常规方法寻找上述答案时,增加了程序的复杂性。

但是如果我们选择记录的一个子段作为地址来访问存储器时,那么会明显地带来好处,例如,我们选职工号5199109作为地址来访问存储器,那么很快就能知道5199109号是“李四”,“1960年09月”生,工资数为“4000元”。
上述表格的问题采用相联存储器结构,就能圆满得到解决。一般而言,相联存储器是指其中任一存储项都可以直接用该项的内容作为地址来存取的存储器。选用来寻址存储器的子段叫做关键字,简称为键。这样,存放在相联存储器的项中的项可以看成具有下列格式:
KEY,DATA
其中键KEY是地址,而数据DATA是读写信息。
由此可知,相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项(即关键字项),去检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入。

B. 计算机组成原理(三)存储系统

辅存中的数据要调入主存后才能被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速度不匹配的问题

C. 计算机存储器的分类

计算机存储器的分类如下:

1、按存储介质可以分类为半导体存储器、磁表面存储器、光存储器。

2、按存储器的读写功能可以分类为只读存储器(ROM)、 随机读写存储器(RAM)。

3、按信息的可保存性可以分类为非永久记忆的存储器、永久记忆性存储器。

4、按在计算机系统中的作用可以分类为主存储器(内存)、辅助存储器(外存储器)、缓冲存储器。

5、按功能/容量/速度/所在位置可以分类为寄存器、高速缓存、内存储器、外存储器。

6、工作性质/存取方式可以分类为随机存取存储器、顺序存取存储器、直接存取存储器、相联存储器。

计算机存储器的类型特点

计算机存储器一类设在主机中的内存储器,也叫主存储器,用于存放当前运行的程序和程序所用的数据,属于临时存储器。主存储器是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。

另一类是属于计算机外部设备的存储器,叫外部存储器(简称外存),也叫辅助存储器。外存属于永久性存储器,存放着暂时不用的数据和程序。

D. 操作系统内存的连续与非连续分配管理方式

1.单一连续分配
内存分为系统区和用户区,系统区仅供操作系统使用,通常在低地址部分,用户区为用户提供

优点:
无须进行内存保护,不会出现越界异常
实现简单,无外部碎片,采用覆盖技术,不需要额外技术支持

缺点:
只适用于单用户,单任务的操作系统
存在内部碎片,存储器利用率低

2.固定分区分配
种类:
分区大小相等:用一台计算机去控制多个相同对象的场合,缺乏灵活性
分区大小不等:划分为多个较小的分区,适量的中等分区和少量的大分区

优点:适用于多道程序的存储,无外部碎片
缺点:
程序太大,无法进入任何一个分区
主存利用率低,存在内部碎片
不能实现多进程共享一个主存区

3.动态分区分配
在进程装入内存的时候,根据内存的大小动态的建立分区

优点:分区大小可以根据实际情况进行分配

缺点:存在外部碎片,最后导致主存利用率下降(采用紧凑技术可以缓解这种缺陷)

动态分配算法:
首次适应算法:空闲分区按照地址递增的顺序进行查找,找到第一个满足要求的分区进行分配
优点:综合看性能最好。算法开销最小,回首分区后一般不需要对空闲分区队列进行重新排序

最佳适应算法:
按照容量递增的顺序进行查找,找到第一个满足要求的分区进行分配
优点:可以尽可能多地留下大片的空闲去
缺点:性能较差,产生最多的外部碎片;回收分区后可能需要对空闲分区队列进行重新排序

最坏适应算法(最大适应算法):
空闲分区按照容量递减的次序进行查找,第一个满足条件的进行分配
优点:可以减少难以利用的小碎片
缺点:导致很快没有较大的内存, 性能很差;不利于大进程,算法开销大

邻近适应算法(首次适应算法):
分配内存时从上次查找结束的位置开始继续查找
优点:算法开销小
缺点:会使高地址的大分区也被用完

4.非连续分配管理方式
允许一个程序分散的装入不相邻的内存分区

5.基本分页存储的管理方式
(1)设计思想
将主存空间划分为大小相等且固定的块,块相对较小,作为主存的基本单位,进程以块为单位进行空间申请。
分页存储与固定分区技术很像,但是其分页相对于分区又很小,分页管理不会产生外部碎片,产生的内部碎片也非常小

(2)分页存储的基本概念
页面和页面大小:进程中的块=页;内存中的块=页框(页帧);进程申请主存空间,为每个页面分配主存中可用页框,即页与页框一一对应
页面大小要适中:页面太小:进程页面数过多,页表过程,增加内存占用,降低硬件地址转换效率;页面太大:页内碎片过多,降低内存利用率
地址结构:页号(有多少页的编号)+页内偏移(页内存了多少东西)
页表:为了便于在内存中找到进程的每个页面对应的物理块,系统为每个进程建立一张页表,记录页面在内存中对应的物理块号,页表一般放在内存中
页表项:页号+物理内存中的块号(不要与地址结构搞混); 页表项的物理内存块号+地址结构中的页内偏移=物理地址

(3)基本地址变换机构
计算方式:
页号P=A/L,页内偏移量W=A%L
比较页号P和页表长度M,若P>=M产生越界中断
页表中页号P对应的页表项地址=页表地址F+页号P 页表项长度 取出该页表项内容b
计算E=b
L+W 使用E去访问内存

页表项大小的设计应当尽量一页正好能装下所有的页表项

分页管理存在的问题:地址变换过程必须足够快,否则访存速率会降低;页表不能太大,否则会降低内存利用率。

组成:设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M
页表的始址和页表长度放在进程控制块(PCB)中

(4)具有块表的地址变换机构
可优化方向:如果页表放在内存中,取地址访问一次内存,按照地址取出数据访问一次内存,共需要两次访问内存
优化:地址变换机构中增加一个具有并行查找能力的告诉缓冲寄存器(块表),又称为相联存储器(TLB);相联存储器既可以按照地址查找也可以按照内容查找

访问一个逻辑地址的访问次数:
基本地址变换机构,两次缓存。
具有块表的地址变换机构,快表命中,只需一次访存,快表未命中,需要两次访存

变换过程:
CPU给出逻辑地址后,先查询快表中是否命中
若快表命中,直接从快表中该页对应的页框号,与页内偏移量拼接成物理地址
若快表不命中,再按照正常方式从页表中查询相应页表项,并将该页表项存入快表中(按照一定策略)

(5)两级页表
如果页数过多,就会导致页表也过多,那么我们可以考虑设置一个用来储存页表的页表
逻辑地址空间格式=一级页号+二级页号+页内偏移
设计多集页表的时候,最后一定要保证顶级页表一定只有一个
建立多级页表的目的在于建立索引,不必浪费主存空间去储存无用的页表项,也不用盲目式的查询页表项

E. 相联存贮器是按( )进行寻址的存贮器

C

关联存储器(相联存储器),是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找块表。既可以按照地址寻址也可以按照内容寻址(通常是某些字段),为了与传统寄存器作区别,称为按内容寻址的存储器。
中文名相联存储器外文名Content Addressed Memory也 称为按内容访问存储器

F. 相联存储器是什么组成原理里面的相联是什么

相联存储器的定义介绍可见网络:

http://ke..com/link?url=-flumWFF1OGCxB7aJ7hNINv0vCb5k6
相联存储器可以用来作虚拟内存页表访问时的TLB快表。
下面是快表的介绍:

根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理器要在主内寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,页表文件(PTE page table entry 页表条目存放在内存中)就是负责将虚拟内存地址翻译成实际的物理内存地址,TLB中存放了部分PTE页表的缓存。而CPU寻址时会优先在TLB中进行寻址。TLB是在MMU中包括的一段小的缓存(MMU memory management unit 存储器管理单元,是CPU芯片上的一个专用硬件)。处理器的性能就和寻址的命中率有很大的关系。
如果TLB中正好存放着所需的页表,则称为TLB命中(TLB Hit);如果TLB中没有所需的页表,则称为TLB失败(TLB Miss)。如果快表命中的话,实现虚拟地址到物理地址的映射可以少访问一次内存。
如果命中的话,就可以直接将虚拟地址转换为物理地址,如果不命中,则必须在PTE页表中继续查找,并将找到的PTE存放到TLB中,覆盖已经存在的一个条目。

G. 存储器分类及各自特点有哪些

存储器分类依据不同的特性有多种分类方法。
(1)按工作性质/存取方式分类
•随机存取存储器 (RAM) -每个单元读写时间一样,且与各单元所在位置无关。如:内存。
•顺序存取存储器 (SAM) -数据按顺序从存储载体的始端读出或写入,因而存取时间的长短与信息所在位置有关。例如:磁带。
•直接存取存储器 (DAM) -直接定位到读写数据块,在读写数据块时按顺序进行。如磁盘。
•相联存储器 -按内容检索到存储位置进行读写。例如:快表。
(2)按存储介质分类
半导体存储器:双极型,静态MOS型,动态MOS型
磁表面存储器:磁盘、磁带
光存储器:CD,CD-ROM,DVD
(3)按信息的可更改性分类
读写存储器:可读可写
只读存储器:只能读不能写
(4)按断电后信息的可保存性分类
非易失(不挥发)性存储器:信息可一直保留, 不需电源维持。
易失(挥发)性存储器
(5)按功能/容量/速度/所在位置分类
•寄存器 -封装在CPU内,用于存放当前正在执行的指令和使用的数据 -用触发器实现,速度快,容量小(几~几十个)
•高速缓存-位于CPU内部或附近,用来存放当前要执行的局部程序段和数据 -用SRAM实现,速度可与CPU匹配,容量小(几MB)
•内存储器 -位于CPU之外,用来存放已被启动的程序及所用的数据 -用DRAM实现,速度较快,容量较大(几GB)
•外存储器-位于主机之外,用来存放暂不运行的程序、数据或存档文件 -用磁表面或光存储器实现,容量大而速度慢