Livello logico digitale bus e memorie
Principali tipi di memoria Memoria RAM Memorie ROM
RAM (Random Access Memory) SRAM (Static RAM) Basata su FF (4 o 6 transistor MOS) Veloce, costosa, bassa densità (bit/area): tempo accesso 0.5-5 ns, costo 4000-10000 per GB (nel 2004) usate nelle memori cache (direttamente su CPU) DRAM (Dynamic RAM) Immagazzinamento di cariche elettriche (~50pC) Meno veloce, meno costosa, alta densità (indirizzamento via mux): tempo accesso 50 ns, costo 100 per GB (nel 2004) Syncronous DRAM (SDRAM): Lettura sincrona ad un segnale di clock (un solo fronte attivo)
RAM caratteristiche principali Tanti aspetti specifici Formato di un modulo (altezza x ampiezza) 64K x 8 (64K indirizzi, 8 bit per indirizzo) 512 x 1 126K x 4 2K x 8 Moduli preassemblati SIMM (72 pin), DIMM (168 pin), Ex: PC-133 8M x 64 (8 chip, 32M x 8 bit) Tempo di ciclo Tempo che intercorre fra due operazioni (read o write) su locazioni differenti
Esempi di organizzazione di RAM
Principali tipi di memorie ROM ROM (programmate in fabbrica) PROM (Programmabili una volta dall utente) EPROM (Cancellabili mediante esposizione a raggi ultravioletti e riprogrammabile) EEPROM (Cancellabili elettricamente e riscrivibili) Tecnologia FLASH (cancellazione per blocchi)
Riepilogo principali tecnologie memorie
Esempio di SRAM Ingresso Indirizzi Uscita Controllo
SDRAM SIMM DDR
Bus nei calcolatori Collegano vari sottosistemi. Caratteristiche: Dimensioni e caratteristiche fisiche Connettori, distanza fra connettori, lunghezza massima Ampiezza dati: 16,32, 64 bit Numero massimo di dispositivi collegabili Protocollo del bus Sincrono vs Asincrono Master/Slave Arbitraggio Banda di trasmissione (MB/sec) Valore teorico, effettivo,
Architetture con un solo bus DEC PDP-8 (1965) Interconnessione a bus, molto flessibile Architettura incentrata sull I/O Possibilità di connettere qualsiasi periferica Prodotto in oltre 50.000 esemplari
Un singolo BUS? I sistemi con un singolo BUS (bus di backplane) sono economici, ma non sono in grado di offrire elevate prestazioni Molte unità sullo stesso BUS: Contesa per l accesso Velocità di traferimento diverse Numero di unità che possono essere connesse Si utilizzano quindi diversi tipi di BUS Bus per il collegamento Processore-Memoria Bus per collegamento dispositivi periferici (non è molto veloce perché non serve) Le connessioni fra tipi diversi di bus sono effettuate da appositi circuiti adattatori
Esempi di bus
Esempio di bus in un PC BUS ADAPTER MEMORIA DISCHI SCHEDA GRAFICA BUS ADAPTER
Pentium 4
Utilizzo del BUS Bisogna stabilire un insieme di regole (protocollo) per regolamentare la transazioni Uno dei due partner di una transazione è il master del bus, mentre l altro slave (padrone, schiavo) Il master inizia una transazione mentre lo slave esegue gli ordini forniti dal master Ex: la CPU (master) ordina la lettura di un dato dalla memoria (slave) Lo stesso dispositivo può svolgere il ruolo sia di master che di slave (in cicli differenti) Se più di un dispositivo collegato al bus può svolgere funzione di master, allora è richiesto un ulteriore protocollo (arbitraggio del bus) per assegnare in modo esclusivo la funzione di master
Utilizzo del BUS: terminologia Un segnale S di controllo può determinare l azione che controlla quando esso vale 1 oppure 0 Si dice che il segnale è asserito quando assume il valore che provoca l azione, altrimenti il segnale è negato Se il segnale provoca l azione quando il valore è 1 (asserito alto), il segnale si denota con S, altrimenti con S (notazione Intel #S) Ciclo di bus è l insieme di attività che coinvolgono il bus atte a svolgere un operazione (ex. Ciclo di lettura, ciclo di scrittura,..)
Bus Sincrono Esempio di ciclo di lettura
Bus Asincrono Esempio di ciclo di lettura
Arbitraggio del BUS daisy chain Server per decidere il master della nuova transazione Deve risolvere i conflitti nel caso di richieste contemporanee da parte di più dispositivi per diventare master Una tecnica comune è daisy chain Non è fair: il dispositivo i è avvantaggiato rispetto ad i+1