1. 相联存储器的基本原理ide
前面介绍的存储器都是按地址访问的存储器,而相联存储器则是按内容访问的存储器。it
相联存储器是选择记录中的一个字段内容做为地址来存取的存储器。选用来寻址存储器的字段叫作关键字。例如,存储器中存放学生信息,若是选学号做为关键字,就用所给的学号做为地址来访问存储器,当要查找某个学号学生的其余信息时,就能够经过学号直接访问存储器,获得相关信息。class
存放在相联存储器中的项能够当作具备下列格式:原理
KEY,DATAim
其中KEY是地址,DATA是被读写的信息。数据
相联存储器的基本原理是:把存储单元所存内容的某一部分做为检索项(即关键字项),用来检索存储器,并读出或写入存储器中与该检索项相符的存储单元的内容。img
2. 相联存储器的组成计算机
相联存储器由存储体、检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、控制线路等组成,如图3-11所示。di
存储体:由高速半导体存储器构成,以求快速存取。view
检索寄存器:用来存放检索字,其位数与相联存储器的存储单元的位数相等,每次检索时,取其中若干位做为检索项(即关键字项)。
屏蔽寄存器:用来存放屏蔽码,其位数与检索寄存器位数相同,检索项所对应的位值为“1”,其余位值均为“0”。屏蔽寄存器用来将检索寄存器中除检索项之外的位置“0”。
符合寄存器:用来存放按检索项内容进行检索的存储体中与之符合的单元地址,其位数等于相联存储器的存储单元数,每一位对应一个存储单元,位的序数即为相联存储器的单元地址。
比较线路:把检索项和从存储体中读出的全部单元内容的相应位进行比较,若是有某个存储单元与检索项符合,就把符合寄存器的相应位置“1”,表示该字已被检索。
代码寄存器:用来存放存储体中读出的数据,或者存放向存储体中写入的数据。
在计算机系统中,相联存储器主要用于虚拟存储器中存放段表、页表和快表,以及高速缓冲存储器Cache中存放块地址。这是由于,在这两种应用中,都须要快速查找。