解釋
關聯存儲器(又譯作相聯存儲器)(associative memory)
也稱為按內容訪問存儲器(content addressed memory)
或簡稱為TLB(Translation Lookaside Buffer)
原理
寫入信息時按順序寫入,不需要地址。
讀出時,要求中央處理單元給出一個相聯關鍵字,用它和存儲器中所有單元中的一部分信息進行比較,若它們相等,則將此單元中餘下的信息讀出。這是實現存儲器並行操作的一種有效途徑,特別適合於信息的檢索和更新。
考慮表3-1所示的表格,假設它存放在計算機的主存儲器中。該表格由五個記錄所組成,每個記錄包含四個子段:職工號、姓名、出生年月和工資數。
在表3-1中,信息的存貯與檢索問題往往涉及到訪問一個記錄中的某個子段,如“李四的出生年月是什麼時間?”“職工號是5199109的人的姓名是什麼?”這類問題如果採用傳統的隨機存儲器,那么一定要確切地指出“李四”的那一項在表格中的物理地址(n+1)與職工號“5199109”和姓名“李四”沒有邏輯上的關係,因而用常規方法尋找上述答案時,增加了程式的複雜性。
表3-1 存放在存儲器中的一張表格
物理地址 | 職工號 | 姓名 | 出生年月 | 工資數 |
n n+1 n+2 n+3 n+4 | 5697102 5199109 6296311 7100212 6211403 | 張三 李四 王五 趙八 吳九 | 1975.12 1960.09 1980.05 1953.06 1975.059 | 2300 4000 1750 4200 2500 |
但是如果我們選擇記錄的一個子段作為地址來訪問存儲器時,那么會明顯地帶來好處,例如,我們選職工號5199109作為地址來訪問存儲器,那么很快就能知道5199109號是“李四”,“1960年09月”生,工資數為“4000元”。
上述表格的問題採用相聯存儲器結構,就能圓滿得到解決。一般而言,相聯存儲器是指其中任一存儲項都可以直接用該項的內容作為地址來存取的存儲器。選用來定址存儲器的子段叫做關鍵字,簡稱為鍵。這樣,存放在相聯存儲器的項中的項可以看成具有下列格式:
KEY,DATA
其中鍵KEY是地址,而數據DATA是讀寫信息。
由此可知,相聯存儲器的基本原理是把存儲單元所存內容的某一部分作為檢索項(即關鍵字項),去檢索該存儲器,並將存儲器中與該檢索項符合的存儲單元內容進行讀出或寫入。
結構
含有:比較暫存器,禁止暫存器,字選擇暫存器,查找結果暫存器等。
CR比較暫存器:存放要比較的數(檢索的內容)。
MR禁止暫存器:當按比較數的部分內容進行檢索時,相應地把MR中要比較的位設定成“1”,不要比較的設定成“0”。置“1”的欄位為關鍵欄位。
SRR查找結果暫存器:若比較結果第i個字滿足要求,則將第i位置為“1”,其餘的均為“0”。
WSR字選擇暫存器:確定哪些字參與檢索,參與檢索的則相應位為“1”。