Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge.

Slides:



Advertisements
Presentazioni simili
Capitolo 4 Logica sequenziale
Advertisements

La struttura fisica e logica di un elaboratore
Cos'è una memoria? MEMORIA
STRUTTURA DEL PERSONAL COMPUTER
Informatica Generale Marzia Buscemi
Architettura di un sistema informatico Hardware
Circuiti sequenziali Capitolo 5.
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Memorie.
LE MEMORIE Davide D’Amico.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
La memoria I sistemi di memoria di un elaboratore possono essere suddivisi in: Memoria interna al processore Memoria principale Memoria secondaria.
Flip-flop e Registri.
Gerarchie di Memoria e Cache
Il livello Microarchitetturale
Il livello analogico digitale Lezione 3_3 Memorie.
Il Linguaggio Macchina
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
MEMORIA. Organizzazione fisica della Memoria Decodi ficatore degli indirizzi … Sense/ Write Sense/ Write Sense/ Write Sense/
Il Calcolatore Elettronico
Sistemi Complessi di reti sequenziali Pipeline
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
ELETTRONICA DIGITALE (2^ Parte) (8)
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
La RAM, la ROM e la CPU di Beatrice Cecchini e Margherita Pelagagge
Unità centrale di processo
La RAM, insieme al microprocessore, è uno degli elementi più importanti all’interno di un elaboratore. Essa rappresenta un’area in cui il computer è in.
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale.
Architettura di una CPU
Traformazioni fra Bistabili e Registri
Migliorare le prestazioni delle cache
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Calcolatori Elettronici Il Processore
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
La gerarchia di memorie (1) Calcolatori Elettronici Valeria Cardellini Rielaborate da Salvatore Tucci.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Circuiti digitali Architettura © Roberto Bisiani, 2000,2001
Informatica Generale Marzia Buscemi
Reti Sequenziali Corso di Architetture degli Elaboratori Reti Sequenziali.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
La gerarchia di memorie
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Il modello di Von Neumann
Tipologie di memoria: Elettroniche Magnetiche Ottiche La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Componenti base di un computer Gli elementi fondamentali La Cpu La Ram L’ Hard disk.
Transcript della presentazione:

Calcolatori Elettronici Cenni sulle memorie Francesco Lo Presti Rielaborate da Salvatore Tucci Give qualifications of instructors: DAP teaching computer architecture at Berkeley since 1977 Co-athor of textbook used in class Best known for being one of pioneers of RISC currently author of article on future of microprocessors in SciAm Sept 1995 RY took 152 as student, TAed 152,instructor in 152 undergrad and grad work at Berkeley joined NextGen to design fact 80x86 microprocessors one of architects of UltraSPARC fastest SPARC mper shipping this Fall

Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge Periodo di clock Fronte di salita (positivo) Rising edge Freq. clock = 1/(Periodo di Clock) e.g., Periodo di 10 nsec  100 MHz Periodo di 1 nsec  1 GHz Opzioni per gli elementi di memoria Latch sensibili al livello Flip-Flop master-slave/edge-triggered Memoria

Elementi di Memoria Latch Set-reset Latch D sensibile al livello Il latch e’ transparente quando il clock e’ alto (l’ingresso e’ copiato in uscita) R S Q(t+1) !Q(t+1) 1 Q(t) !Q(t) - R Q !Q S clock D Q clock !Q D Q Memoria

Periodo del Ciclo di Clock T Il periodo T deve essere scelto lungo abbastanza da garantire che l’output della rete combinatoria sia stabilizzato Deve esserlo prima del periodo di apertura di del flip-flop (set-up time) Deve rimanere stabile per un certo tempo (hold-time) Determina il limite superiore alla frequenza di clock Memoria

Elementi di Memoria Problemi con i latch: corse critiche … Elementi di memoria usati come input ed output nello stesso ciclo Il clock deve rimanere ad 1 per un tempo sufficiente da garantire che l’ingresso sia memorizzato …ma tale da non permettere il propagarsi del nuovo valore attraverso la rete combinatoria Difficile garantire entrambe le condizioni Dipende dai tempi di propagazione e dalla presenza di diversi percorsi attraverso la rete combinatoria Elemento di Memoria Logica Combinatoria Memoria

Elementi di Memoria Soluzione: Flip-Flops che cambiano lo stato (Q) solo sui fronti del segnale di clock (master-slave) Master (primo D-latch) copia in Q l’ingresso quando il clock e’ alto (lo slave (secondo D-latch) e’ bloccato e non cambia stato ) Slave copia il valore del master quando il clock va a 0 (il master e’ bloccato nel suo stato di memoria ed eventuali cambi all’ingresso non vengono letti) D D D Q D Q Q D-latch D-latch clock clock clock !Q clock !Q !Q Q Also have set-up and hold-times to deal with Setup e hold time per un flip-flop D Memoria

Assunzioni Metodologia edge-triggered Comportamento tipico Leggere il contenuto di elementi di memoria I valori sono input di una o piu’ reti combinatorie Scrivere i risultati in uno o piu’ elementi di memoria Si assume che gli elementi di memoria siano scritti ad ogni ciclo di clock Altrimenti si aggiunge un esplicito segnale di write In AND con il clock La scrittura avviene solo quando occorre la transizione di livello attiva ed il segnale di controllo e’ affermato State element 1 State element 2 Combinational logic clock one clock cycle Memoria

Registro Registro Simile ad un flip flop D eccetto Write: n bit di ingresso e uscita Input Write Write: Se negato (0): i dati in uscita (Data Out) non cambiano Se affermato (1): i dati in uscita (Data Out) divengono uguali ai dati in ingresso (Data In) Q0 D0 D Q Flip-FlopD clock !Q Q1 D1 D Q Flip-FlopD clock !Q Qn-1 Dn-1 D Q Flip-FlopD clock !Q clock Write Memoria

Banco di registri (register file) Banco di registri ad accesso rapido per memorizzare temporaneamente gli operandi usati nelle istruzioni Nel MIPS il banco dei registri è composto da 32 registri generali Due porte in lettura da 32 bit Read data 1/2 Una porta in scrittura da 32 bit Write data Tre porte per selezionare i registri da 5 bit Read register #1 (#2) : primo (secondo) registro da leggere Write register: registro da scrivere Write: segnale di controllo In AND con il clock (non mostrato) Solo se Write=1 il valore in Write data e’ scritto nel registro indicato da Write Reg. Memoria

Banco di registri (2) Un banco di registri può essere implementato con un multiplexer per ciascuna porta read, un decoder per ciascuna porta write ed un array di registri costruiti partendo da flip-flop D Esempio: implementazione di due porte read per un banco di registri composto da n registri R e a d r e g i s t e r n u m b e r 1 R e g i s t e r R e g i s t e r 1 M u R e a d d a t a 1 R e g i s t e r n – 1 x R e g i s t e r n R e a d r e g i s t e r n u m b e r 2 M u R e a d d a t a 2 x Memoria

Banco di registri (3) Esempio: implementazione di una porta write per un banco di registri composto da n registri Log2n to n Memoria

Principali tecnologie per RAM Le memorie RAM sono di due tipi Memorie statiche: Static Random Access Memory (SRAM) Memorie dinamiche: Dynamic Random Access Memory (DRAM) Memorie statiche Il singolo elemento corrisponde ad un latch Memorie dinamiche Il singolo elemento corrisponde ad un condensatore ed un transistor L’informazione è memorizzata sotto forma di carica del condensatore Richiedono un refresh periodico dell’informazione Le memorie statiche sono (rispetto a quelle dinamiche) Più veloci (5ns vs. 50-100ns) Più costose (6 transistor per bit) Persistenti (non è richiesto il refresh) Più affidabili Memoria

Memoria Principale, Cache e Tecnologie Prestazioni della memoria principale Latenza Tempo di accesso: tempo tra quando arriva la richiesta e la parola Tempo di ciclo: tempo tra richieste Banda La memoria principale è DRAM Dinamica in quanto ha bisogno di essere rinfrescata periodicamente (8 ms) La memoria cache usa SRAM No refresh (6 transistor/bit vs. 1 transistor) Dimensione: SRAM/DRAM = 4-8 Costo/Tempo di Ciclo: SRAM/DRAM = 8-16 Memoria

Obiettivo: Illusione di una Memoria Grande, Veloce ed Economica Osservazioni: Le memorie di grandi dimensioni sono lente Le memorie veloci hanno dimensioni piccole Come creare una memoria che sia grande, economica e veloce (per la maggior parte del tempo)? Gerarchia Parallelismo Memoria

Gerarchia di memoria La memoria di un calcolatore è implementata come una gerarchia di memorie Differenti tempi di accesso e di costo corrispondenti ai diversi livelli di memoria . Livello 1 Livello 2 Livello n CPU Aumenta il tempo di accesso Aumenta la capacità di memorizzazione Diminuisce il costo per bit Dimensione della memoria ad ogni livello Memoria

Gerarchia di memoria (2) Obiettivi della gerarchia di memoria: Fornire all’utente una quantità di memoria pari a quella disponibile nella tecnologia più economica Fornire una velocità di accesso pari a quella garantita dalla tecnologia più veloce Control Datapath Secondary Storage (Disk) Processor Registers Main Memory (DRAM) Second Level Cache (SRAM) On-Chip 1 10,000,000 (10 ms) Speed (ns): 10 100 G Size (bytes): K M Tertiary (Tape) 10,000,000,000 (10 sec) T Memoria

Gerarchia di memoria: Esempio del Pentium

Memoria Cache La memoria principale (DRAM) è sempre più lenta del processore e tende a rallentarlo Sono disponibili memorie più veloci (SRAM) ma solo per dimensioni limitate La cache opera alla velocità del processore, e quindi nasconde la “lentezza” della memoria Scopo della cache: disaccoppiare le velocità di processore e RAM Contiene le ultime porzioni di memoria acceduta: se il processore richiede l’accesso ad una di esse evita un accesso alla memoria Funziona bene sfruttando il principio di località dei riferimenti Memoria

Strategia di Utilizzo della Cache La prima volta che il processore richiede dei dati si ha un cache miss I dati vengono caricati dalla memoria principale e vengono copiati anche nella cache Si legge un blocco di parole contigue Le volte successive, quando il processore richiede l’accesso ad una cella di memoria Se il dato è presente in un blocco contenuto nella cache, la richiesta ha successo ed il dato viene passato direttamente al processore Si verifica un cache hit Altrimenti la richiesta fallisce ed il blocco contenente il dato viene anche caricato nella cache e passato al processore Si verifica un cache miss Obiettivo: aumentare quanto più possibile il tasso di cache hit Memoria

Principio di località Osservazione: i programmi accedono ad una porzione relativamente piccola del loro spazio di indirizzamento Esistono due tipi differenti di località Località temporale (nel tempo): se un elemento (dato o istruzione) è stato acceduto, tenderà ad essere acceduto nuovamente in un tempo ravvicinato Località spaziale (nello spazio): se un elemento (dato o istruzione) è stato acceduto, gli elementi i cui indirizzi sono vicini tenderanno ad essere acceduti in un tempo ravvicinato Esempio I programmi contengono cicli: le istruzioni ed i dati saranno acceduti ripetutamente (località temporale) Gli accessi agli elementi di un array presentano un’elevata località spaziale; nell’esecuzione di un programma è altamente probabile che la prossima istruzione sia contigua a quella in esecuzione Spazio di indirizzamento 2n-1 Probabilità di riferimento Memoria

Principio di località (2) Come sfruttare la: Località temporale Tenendo gli elementi acceduti più frequentemente vicino al processore Località spaziale Spostando blocchi contigui di parole al livello superiore Memoria