La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta.

Presentazioni simili


Presentazione sul tema: "1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta."— Transcript della presentazione:

1 1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta elettronica Pagina web del corso: (sommario delle lezioni in fondo alla pagina)

2 2 Struttura di un calcolatore 5 RAM (memoria centrale) Processore bus Linee dati, indirizzi e controllo Interfaccia di I/O Interfaccia di I/O Interfaccia di I/O Interfaccia di I/O schermo dischi mouse modem

3 3 Il processore: struttura base Processore Unità di controllo PC IR R0 R1 R2... R16 Registri generali ALU Operazione Esegui Esito MARMAR MDRMDR MemoriacentraleMemoriacentrale Bus dati Bus indirizzo Bus controllo Registro/i coinvolti clock

4 4 Interazione con la CPU: esempi Supponiamo di avere una CPU con parallelismo a 16 bit, cioè tutte le operazioni di lettura/scrittura in memoria riguardano parole (word) composte da 2 byte. Vedremo tre esempi: instruction fetch: il codice operativo dell’istruzione viene copiato dalla memoria principale in IR immediate operand fetch: il dato che segue in memoria il codice operativo viene copiato (es. istruzione “MOVE 1,R0”) memory store: un dato contenuto in un registro viene scritto in memoria all’indirizzo contenuto in un altro registro

5 5 Instruction fetch Processore Parte controllo 40 IR R0 R1 R2... R16 Registri generali ALU Operazione Esegui Esito MARMAR MDRMDR Bus dati Bus indirizzo Bus controllo Registro/i coinvolti memoria Indirizzo della istruzione codifica PC

6 6 Instruction fetch 2 Processore Parte controllo 42 IR R0 R1 R2... R16 Registri generali ALU Operazione Esegui Esito MDRMDR Bus dati Bus indirizzo Registro/i coinvolti memoria Indirizzo della istruzione codifica PC 40 MAR Leggi!

7 7 Instruction fetch 3 Processore Parte controllo 42 R0 R1 R2... R16 Registri generali ALU Operazione Esegui Esito Bus dati Bus indirizzo Registro/i coinvolti memoria PC MAR MDR IR

8 8 Immediate operand fetch: MOVE 1, R0 Processore Parte controllo 44 IR R0 R1 R2... R16 Registri generali ALU Operazione Esegui Esito MDRMDR Bus dati Bus indirizzo Registro/i coinvolti memoria Indirizzo della istruzione codifica PC 42 MAR Leggi!

9 9 Immediate operand fetch: MOVE 1, R0 2 Processore Parte controllo R1 R2... R16 Registri generali ALU Operazione Esegui Esito Bus dati Bus indirizzo Registro/i coinvolti memoria PC MAR MDR IR

10 10 Memory store: STORE R1, R0 1 Processore Parte controllo R2... R16 Registri generali ALU Operazione Esegui Esito Bus dati Bus indirizzo Registro/i coinvolti memoria PC MAR MDR IR R1 R0 44

11 11 Memory store: STORE R1, R0 2 Processore Parte controllo R2... R16 Registri generali ALU Operazione Esegui Esito Bus dati Bus indirizzo Registro/i coinvolti memoria PC MAR MDR IR R1 R

12 12 Pipelining Ogni istruzione può essere decomposta in varie fasi; es. ADD 1, R0: 1. instruction fetch 2. instruction decode 3. operand fetch 4. execute 5. operand store Eseguire queste fasi sequenzialmente è inefficiente  ll processore esegue fasi diverse di più istruzioni contemporaneamente organizzando ALU e CU come in una catena di montaggio (pipeline) Es. decodifica di un’istruzione I1, lettura dalla memoria dell’istruzione I2, lettura dati che saranno necessari per I1.

13 13 Pipelining 2 Problema: per le istruzioni di salto condizionato la CPU non può sapere a priori se dovrà eseguire il salto prima di aver eseguito le istruzioni precedenti (  ritardi ). Possibile soluzione usata dai compilatori: riempire le fasi immediatamente successive al salto con istruzioni che non dipendono dal test (delayed load) Es. a := b + c if b < c if b < c  a := b + c then S1 then S1

14 14 Architetture di CPU Ci sono due tipi di architetture CISC (complex instruction set computer) CU e istruzioni più complesse pochi registri RISC (reduced instruction set computer) set di istruzioni elementari molti registri

15 15 Architettura CISC un processore CISC ha un numero scarso di registri generali (una decina) e una unità di controllo microprogrammata. CU tradizionale circuiti logici sequenziali clock registro istruzioni unità di decodifica CU microprogrammata circuiti di generazione indirizzi clock registro istruzioni unità di decodifica memoria decoder NB. Linguaggio macchina più vicino a linguaggi di alto livello (salti condizionali)

16 16 Architettura RISC caratteristiche: istruzioni più semplici e uso di molti registri obiettivo: avere solo istruzioni semplici (logico-aritmetiche) che possano essere eseguite in un solo ciclo di clock le istruzioni hanno tutte un formato fisso e l’operazione di decodifica è realizzata da una semplice tabella l’unità di controllo è organizzata come una pipeline (catena di montaggio) i registri generici vanno da centinaia a migliaia e sono organizzati in file

17 17 CISC vs RISC CISCRISC istruzioni complesse (più cicli) istruzioni semplici (un ciclo) qualsiasi istruzione può referenziare la memoria sono le istr. LOAD e STORE referenziano la memoria no pipelinepipeline spinte istruzioni interpretate dal microprogramma istruzioni eseguite dall’HW istruzioni a formato variabile istruzioni a formato fisso pochi registrimolti registri (organizzati in file)

18 18 Prestazioni dei processori Dipendono da diversi fattori 1. insieme delle istruzioni: istruzioni più semplici richiedono basso numero di cicli di clock 2. dimensione dei registri: determinano il parallelismo della CPU, cioè la dimensione delle word (da 16 a 64 bit) 3. numero di registri: maggior numero implica meno accessi alla memoria 4. scalarità: numero di fasi sovrapponibili (più istruzioni per cicli di clock) 5. frequenza di clock: velocità con cui si susseguono i cicli di macchina (quindi velocità di esecuzione delle istruzioni). Dipende dalla velocità di propagazione dei segnali elettrici (GHz).

19 19 Processore Intel Pentium Intel Pentium: architettura CISC superscalare possiede 2 pipeline, una per tutte le istruzioni, una per quelle più semplici può eseguire due istruzioni per ciclo di clock parole da 64 bit (doppia quantità di informazione che può essere caricata) branch prediction


Scaricare ppt "1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore 16.00-18.00, Dipartimento di Informatica, stanza 306-PS o per posta."

Presentazioni simili


Annunci Google