• 内容讲解

1. 相联存储器的基本原理

前面介绍的存储器都是按地址访问的存储器,而相联存储器则是按内容访问的存储器。

相联存储器是选择记录中的一个字段内容作为地址来存取的存储器。选用来寻址存储器的字段叫做关键字。例如,存储器中存放学生信息,如果选学号作为关键字,就用所给的学号作为地址来访问存储器,当要查找某个学号学生的其他信息时,就可以通过学号直接访问存储器,得到相关信息。

存放在相联存储器中的项可以看成具有下列格式:

KEY,DATA

其中KEY是地址,DATA是被读写的信息。

相联存储器的基本原理是:把存储单元所存内容的某一部分作为检索项(即关键字项),用来检索存储器,并读出或写入存储器中与该检索项相符的存储单元的内容。

2. 相联存储器的组成

相联存储器由存储体、检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、控制线路等组成,如图3-11所示。

321.gif

存储体:由高速半导体存储器构成,以求快速存取。

检索寄存器:用来存放检索字,其位数与相联存储器的存储单元的位数相等,每次检索时,取其中若干位作为检索项(即关键字项)。

屏蔽寄存器:用来存放屏蔽码,其位数与检索寄存器位数相同,检索项所对应的位值为“1”,其他位值均为“0”。屏蔽寄存器用来将检索寄存器中除检索项以外的位置“0”。

符合寄存器:用来存放按检索项内容进行检索的存储体中与之符合的单元地址,其位数等于相联存储器的存储单元数,每一位对应一个存储单元,位的序数即为相联存储器的单元地址。

比较线路:把检索项和从存储体中读出的所有单元内容的相应位进行比较,如果有某个存储单元与检索项符合,就把符合寄存器的相应位置“1”,表示该字已被检索。

代码寄存器:用来存放存储体中读出的数据,或者存放向存储体中写入的数据。

在计算机系统中,相联存储器主要用于虚拟存储器中存放段表、页表和快表,以及高速缓冲存储器Cache中存放块地址。这是因为,在这两种应用中,都需要快速查找。