1 A CAM-based keyword match processor architecture Author: Long Bu, John A. Chandy * Publisher: Microelectronics Journal 37 (2006) Presenter: Han-Chen Chen Date:2009/11/18
2 Outline Introduction Architecture of Keyword match processor Performance
3 Introduction Pattern match : 1.Software algorithms : slow 2.FPGA Base : must be reconfigured when change keyword sets 3.CAM Base : reliance on fixed size keys. Presents a cellular automata based design that is more space efficient and can easily handle arbitrarily sized keywords.The architecture is flexible enough to allow for ‘ approximate word ’ matches as well.
4 Introduction
5 Architecture of Keyword match processor
6 CAM and PE array Motomura: 4 match signals form the CAM array in a 5*3 PE array, a n-colume CAM array requires 5n/4*3 PE array =>Waste space
7 Architecture of Keyword match processor 1.if M t (i) = 1 and PE t (i, j) = 1 then PE t+1 (i+1, j) = 1 PE t+1 (i, j+1) = 1 2.if M t (i) ≠ 1 and PE t (i, j) = 1 then PE t+1 (i+1, j+1)=1 PE t+1 (i, j+1)=1 3.for (1 ≥ d ≤ D-j ) PE t (i+d, j+d)=1 Overall: PE t+1 (i, j)= PE t (i, j-1) + PE t (i-1, j) ∙M t (i-1) + PE t (i-1, j-1) ∙M t (i-1) + PE t+1 (i-1, j-1)
8 Architecture of Keyword match processor UCONN \0 HUSKIES Cycle rule 1 rule 2 rule 3 Match signal Input: CONE
9 Architecture of Keyword match processor UCONN \0 HUSKIES Cycle2 C rule 1 rule 2 rule 3 Match signal
10 Architecture of Keyword match processor UCONN \0 HUSKIES Cycle3 O rule 1 rule 2 rule 3 Match signal
11 Architecture of Keyword match processor UCONN \0 HUSKIES Cycle4 N rule 1 rule 2 rule 3 Match signal
12 Architecture of Keyword match processor UCONN \0 HUSKIES Cycle5 E rule 1 rule 2 rule 3 Match signal
13 Architecture of Keyword match processor UCONN \0 HUSKIES Cycle6 Match signal \ rule 1 rule 2 rule 3 Match distance=2 Unmatch
14 Architecture of Keyword match processor Distance decoder: WM(i) = END∙M(i)∙(PE(i, 0)+PE(i, 1)+ … +PE(i, D)) Match position finder: Find the previous word end Output Match Position array (size n) M(i) array PE match array Word Match array
15 Architecture of Keyword match processor Matched address output (MAO) logic Binary tree priority encoder structure To generate the matched address available All need : p+q+2 cycles p: length of input stream,q match times, 2 initial & process distance flags
16 Architecture of Keyword match processor Keyword match processor with no delimiters: add E(i) array 1:last character 0:otherwise Subsequence keyword match: 1.if M t (i) = 1 and PE t (i, j) = 1 PE t+1 (i, j+1) = 1 if(E(i) ≠ 1 ) PE t+1 (i+1, j) = 1 2.if M t (i) ≠ 1 and PE t (i, j) = 1 PE t+1 (i, j+1)=1 if(E(i) ≠ 1 ) PE t+1 (i+1, j+1)=1 3.for (1 ≥ d ≤ D-j ) if(E(i+d-1) ≠ 1 ) PEt (i+d, j+d)=1 4.PEt (0,0)=1 if(E(i) = 1 ) PEt (i+1, 0)=1
17 Performance 0.5μm 3-metal layer process: t CLK >t DD +t DD2MPF +t MPF =>t CLK >7.66 ns. leads to a maximum clock frequency of MHz.Taking into account the setup times and propagation times of the registers, we have been able to comfortably run the circuit at 100 MHz. equal to 800Mb/s. 0.1μm 3-metal layer process: 500MHZ, 4Gb/s
18 Thanks for your listening