今复习看到cache这一节,cam相联存储器看的是相当费劲。晚上上课,老师去领教师节的礼品去了,随回宿舍查资料,现整理如下
先贴出来两张图,一张是相联存储器的基本组成,一张是相联存储器检索的例子
图一:相联存储器的基本组成
图一就是相联存储器的基本组成
相联存储器由存储体、检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、控制线路等组成。
(1)检索寄存器:用来存放检索字,其位数和相联存储器的存储单元位数相等。如图二,检索字是01xx,关键字是01,检索字的位数同相联存储器的存储单元位数相等,都是4.
(2)屏蔽寄存器:用来存放屏蔽码,其位数和检索寄存位数相同。如图二,位数是4.
(3)符合寄存器:用来存放按检索项内容检索存储体中与之符合的单元地址.其位数等于相联存储器的存储单元个数,每一位对应一个存储单元,位的序号即为相联存储器的单元地址.
(4)比较线路:把检索项和从存储体中读出的所有单元内容的相应位进行比较,如果有某个存储单元和检索项符合,就把符合寄存器的相应位置“1”,表示该字已被检索.如图二,检索到第3项,则将符合寄存器中的第三位置1.
(5)代码寄存器:用来存放存储体中读出的代码,或者存放向存储体中写入的代码. 如图二,这里读出的是0111.
(6)存储体:通常用双极型半导体存储器构成,以求快速存取。
在计算机系统中,相联存储器主要用于虚拟存储器中存放分段表、页表和快表;在高速缓冲存储器中,相联存储器作为存放cache的行地址之用。这是因为,在这两种应用中,都需要快速查找。
相联存储器是指其中任一存储项都可以直接用该项的内容作为地址来存取的存储器.选择用来寻址存储器的子段叫做关键字,简称为键.像第二张图显示的那样,01xx的01就是关键字。这样,存放在相联存储器中的项可以看成具有下列格式:
key,data
其中键KEY是地址,而数据DATA是被读写信息.如图二中被检索出来的0111,高两位就是key,0111是data
由此可知,相联存储器的基本原理是把存储单元所存内容的某一部分作为检索项(即关键字项),去检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入.
阅读(1287) | 评论(1) | 转发(0) |