Newsgroup: it.comp.hardware
Titolo: Leggete per favore: Tag RAM

Vorrei che qualcuno competente mi illuminasse sulla funzione della
tagram e confermasse o smentisse le mie conclusioni. Vi do la mia
versione:
trattasi di chip di normalissima SRAM presente sulla scheda madre,
oltre ai chip che costituiscono la cache, essenziale al funzionamento
del tutto. Ho notato che, in termini di caratteristiche tecniche, si
tratta sempre di SRAM più veloce rispetto a quella della cache.
Se tento di dare un senso alla sua esistenza, però, devo ammettere che
mi trovo in difficoltà. C'è qualcuno che mi spiega da un punto di
vista sistemistico che ruolo svolge nell'architettura del calcolatore?
So solo che è strettamente connessa alla cache, tant'è vero che la sua
dimensione varia a seconda della quantità di cache installata, e che
nei manuali della scheda madre viene riportata come facente parte del
sistema "cache".
Dal nome (Tag significa etichetta), riesco solo a presumere che sia la
memoria nella quale è conservata la tabella necessaria per il paging
dei blocchi di memoria.
Non sono però riuscito a confermare questa mia ipotesi con un semplice
calcolo di dimensioni, perchè non sono a conoscenza della grandezza
dei blocchi trasferiti e della tabella stessa.
Spero che qualcuno possa aiutarmi. Grazie e saluti, Piero.

dei blocchi di memoria.
Cerco di darti una spiegazione NON tecnica, e comunque riguardante la
mia scheda madre, che e' una ASUS con chipset HX.
Allora, anche avendo installati 512KB di cache, questa funziona
soltanto per 64MB, con la conseguenza che chi, come me, ha 128MB o
piu' installati, per la fascia da 64 a 128MB la cache non viene
utilizzata, con conseguente rallentamento del sistema (dell'ordine, a
quanto mi risulta, del 10% circa, a seconda delle pplicazioni
utilizzate). Questo avviene soprattutto con sistemi operativi come
Windows95 che utilizzano la RAM disponibile a partire dall'alto.
L'installazione di una TAG (chip da 5V a 15ns da 8, 16 o 32Kb, dal
costo minimo se si riesce a trovare) sull'apposito zoccolo vuoto
permette di sfruttare la cache da 512Kb per tutta la RAM fino a 512MB,
con conseguente miglioramento delle prestazioni. Oltre 512MB non so.
Ovviamente, questo vale solo per il chipset HX. Chipset come il TX ed
il VX non possono usufruire di tale possibilita', ed infatti non hanno
nemmeno lo zoccolo vuoto.
Ciao
Sandrino
P.S. La TAG non e' necessaria nel caso si abbia un modulo COAST in cui
sia gia' presente una TAG. Controllare.
-----------------------------------------
Remove SPAM from the E-mail address
-----------------------------------------
Se smonti e rimonti un oggetto
un numero sufficientemente alto di volte
ne otterrai due.
Legge di Murphy

 dei blocchi trasferiti e della tabella stessa.
La cosa non e' cosi' semplice. Dipende da come viene implementato il
meccanismo di caching.
Esistono cache fully associative, direct mapped (1-way associative) e
n-way associative (n = 2^k).
Nelle cache fully associative, un blocco di mem. puo' andare in
qualsiasi riga della cache.
Nelle cache n-way associative, un blocco di mem, puo' andare in uno fra
n righe della cache.
Le direct mapped sono 1-way associative.
Un indirizzo viene suddiviso in 3 parti:
MSB                        LSB
|  TAG  |  SET  |  OFFSET  | 
ove se OFFSET ha x bit allora una riga di cache ha 2^x bit; (bit di
ordine inferiore)
se SET ha k bit, la cache e' 2^k-way associative;
TAG e' tutto il resto che serve per formare un indirizzo di mem. 
Per esempio, con indirizzamento a 32 bit, 32 = 2^5 byte per riga e cache
2-way, si ha
OFFSET ha 5 bit, SET ha 1 bit e TAG 26 bit.
La tabella contenuta nella TAG RAM contiene:
un campo TAG;
un campo SET;
un certo numero di byte (i dati);
almeno un bit di controllo (uno e' necessario per controllare se i dati
sono validi).
Quando si accede alla cache si cerca la tabella usando i campi TAG e SET
per verificare se ci sono i dati.
Fin qui la teoria  :)
Il famoso problema della RAM cacheable > 64M deriva dal fatto che,
probabilmente, le schede madri hanno un jumper che permette di decidere
il massimo quantitativo di RAM cachata (supponiamo 64 o 256 M). Quindi
se la massima RAM puo' essere 64M sono richiesti 26 bit e supponendo
ancora che la cache abbia righe da 32 byte e che sia direct-mapped,
servono 21 bit per il campo TAG. Se la cache e' di 512Kbyte cioe'
16K righe, servono 48K di TAG piu' 2K di bit di controllo (spesso
chiamato dirty bit).
Purtroppo, il conto esatto si puo' fare solo conoscendo in modo preciso
il tipo di cache (direct, fully o n-way associative) la massima memoria
indirizzabile e il numero di byte per riga.
P.S.
Se trovi tali dati, per un PC, per favore postali.  
-- 
Andrea Vettori
------------------------
vet...@computer.org
http://www.dei.unipd.it/~vettori
    (italiano)
http://www.geocities.com/ResearchTriangle/9236
   (english)