12.07.2015 Views

Le memorie associative - Politecnico di Torino

Le memorie associative - Politecnico di Torino

Le memorie associative - Politecnico di Torino

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Le</strong> <strong>memorie</strong> <strong>associative</strong>M. Sonza Reorda<strong>Politecnico</strong> <strong>di</strong> <strong>Torino</strong>Dip. <strong>di</strong> Automatica e InformaticaM. Sonza Reorda - a.a. 2006/2007Memorie AssociativeSono note come Content Addressable Memories(CAM).La parola a cui accedere viene selezionataspecificando non un in<strong>di</strong>rizzo (come nelle altre<strong>memorie</strong>), ma il valore assunto da un sottoinsieme deibit costituenti la parola.Il sottoinsieme <strong>di</strong> bit considerato (denominato campochiave) può variare da accesso ad accesso, e <strong>di</strong>pendedal valore assunto dalla maschera.M. Sonza Reorda - a.a. 2006/2007


EsempioSi consideri una CAM contenente 4 parole da 5 bit aventii seguenti valori:00101011000011011011Se la maschera assume il valore 11000, ed il campochiave il valore 01, la CAM fa accesso alla secondaparola e quin<strong>di</strong> produce in uscita il valore 01100.M. Sonza Reorda - a.a. 2006/2007ArchitetturaInputRegistro <strong>di</strong> ingressoRegistro <strong>di</strong> mascheraChiavemMascheramMatrice <strong>di</strong>memoriaMatchnSelectnCircuito<strong>di</strong>selezionemRegistro <strong>di</strong> uscitaOutputM. Sonza Reorda - a.a. 2006/2007


Funzionamento(operazioni <strong>di</strong> lettura)1) Il campo chiave viene scritto nell'Input Register2) La maschera viene scritta nel Mask Register3) La Matrice <strong>di</strong> Memoria attiva un segnale <strong>di</strong> Match perciascuna delle parole che sod<strong>di</strong>sfano la chiave4) Il Circuito <strong>di</strong> Selezione attiva una delle parole per cui c'è statacorrispondenza5) La parola selezionata viene trasferita nell'Output Register6) Nel caso <strong>di</strong> CAM per match multipli, si ripete dal punto 4.M. Sonza Reorda - a.a. 2006/2007Cella elementareWEMatchInput DataOutputMaskDataSelectNelle operazioni <strong>di</strong> scrittura, WE e Select sono attivi, ela cella memorizza il dato su Input Data.Nelle operazioni <strong>di</strong> lettura, WE è inattivo, Select èattivo, e Output Data riporta il valore memorizzato.Nelle operazioni <strong>di</strong> ricerca, WE e Select sono inattivi, eMatch viene attivato se Mask è attivo e se il valore suInput Data è uguale a quello memorizzato.M. Sonza Reorda - a.a. 2006/2007


DWECella elementare:struttura internaDCLK10MQMKSM. Sonza Reorda - a.a. 2006/2007CostoUna cella <strong>di</strong> CAM come quella vista richiede circa 16transistor, ossia oltre il doppio <strong>di</strong> quelli richiesti da unacella <strong>di</strong> memoria RAM statica.M. Sonza Reorda - a.a. 2006/2007


Funzionamento(operazioni <strong>di</strong> scrittura)Sono possibili due comportamenti:• la CAM si comporta come una memoria adaccesso casuale, in cui ciascuna cella ha unin<strong>di</strong>rizzo che viene esplicitamente specificato• la CAM possiede un tag register <strong>di</strong> <strong>di</strong>mensionepari al numero <strong>di</strong> parole, che in<strong>di</strong>ca perciascuna se contiene un dato oppure è vuota;una circuiteria apposita provvede a tenereaggiornato il tag register, e a selezionareautomaticamente la parola ove scrivere nuovidati.M. Sonza Reorda - a.a. 2006/2007MK 0MK 1MK 2MK 3CAM 4x4S 0 S 1 S 2 S 3Q 0D 0Q 1D 1Q 2D 2Q 3D 3M 0 M 1 M 2 M 3M. Sonza Reorda - a.a. 2006/2007


CAM per match multipliVengono utilizzate quando è possibile che più <strong>di</strong> unalinea per volta sod<strong>di</strong>sfi le specifiche <strong>di</strong> ricerca.Tale caso può essere gestito in due <strong>di</strong>verse maniere:• solo la linea a priorità più alta (secondo una certasequenza) viene considerata• tutte le linee che sod<strong>di</strong>sfano la specifica <strong>di</strong> richiestavengono (una alla volta) considerate, secondo unasequenza prestabilita.M. Sonza Reorda - a.a. 2006/2007Usi delle CAM• Nelle cache, ove si usano meccanismi <strong>di</strong> mappingassociativo o set <strong>associative</strong>• nei TLB (supporto hardware alla memoria virtuale).M. Sonza Reorda - a.a. 2006/2007

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!