12.4 어소시어티브 메모리


  • 메모리가 저장하고 있는 정보에 접근하기 위해 주소가 아니라 저장되어 있는 내용 자체를 사용해서 접근하는 메모리장치
  • K-106
  • 인자 레지스터와 키 레지스터는 n개의 비트로 이루어져 있다.
  • 매치 레지스터는 m개의 비트로 이루어져 있다.
  • 매치 레지스터는 모두 0으로 되어 있으나, m개의 비트들이 인자레지스터에 저장되어 있는 것과 같은 값을 가진 word를 찾았을 때 word 위치에 해당하는 값이 1이 된다.
  • 키 레지스터에 있는 값이 1이면 인자 레지스터에 있는 값과 메모리의 특정 word의 값이 같은지 비교한다. 0이면 0번에 해당하는 비트 위치는 비교하지 않는 위치로 동작한다.

예)

K-108

  • m =워드의 수
  • 9 = 워드에 포함되는 비트 수
  • m개의 워드로 되어 있고, 한 워드가 9비트로 되어있는 메모리다라고 할 수 있다.
  • A register는 인자 레지스터에 저장된 것을 의미
  • K register는 k 레지스터에 저장된 것을 의미

Associative Memory의 동작

K-109

하나의 word에 대한 match 로직

  • A_j = Argument, F_ji = Cell ij번째 비트
  • j 번째 bit match 조건 (j= 1, 2, …, n)
    • x_j = A_j F_ij (1 and 1) + A_j ‘ F_ij ‘ (0 and 0)
  • A와 F가 같으면 match 에 해당하는 값이 1이 된다.
  • 둘다 1이거나 0이면 m에 해당하는 비트를 1이 되게한다.
  • Word I(n bits) match 조건 : M_i = x_1 x_2 … x_n
    • 모든 x의 값이 1이 되는 and 연산을 생각해볼 수 있다.
    • K_j에 해당하는 값이 0 이면 A_j와 F_ij는 비교할 필요가 없다.
    • K_j에 해당하는 값이 1이면 A_j와 F_ij는 비교된다. 즉 a_j와 F_ij가 비교된다는 것은 식이 만족되는지 확인한다고 볼 수 있다. x_j에 해당하는 식이 맞는지.
    • 예)
    • A 101 111100
    • K 111 000000
    • W_2 101 000001
    • X 111 111111이 나와야한다.
    • M_2 = 1

K-110

K-111