La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Generale Marzia Buscemi

Presentazioni simili


Presentazione sul tema: "Informatica Generale Marzia Buscemi"— Transcript della presentazione:

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

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 Il processore: struttura base
M e m o r i a c n t l Operazione Bus controllo PC Esegui M A R IR Unità di controllo Bus indirizzo Registro/i coinvolti M D R R0 Esito ALU R1 Bus dati R2 ... Registri generali R16 Processore clock

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 Instruction fetch Indirizzo della istruzione memoria Bus controllo 40
Operazione 40 PC Esegui 40 41 M A R IR Parte controllo Bus indirizzo Registro/i coinvolti M D R R0 Esito ALU R1 Bus dati R2 ... Registri generali R16 Processore codifica

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

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

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

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

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

11 Memory store: STORE R1, R0 2 memoria 44 PC 111..01 40 41 001..01
Operazione 44 PC 40 41 Esegui IR Parte controllo 42 43 Bus indirizzo Registro/i coinvolti MAR 44 45 R0 44 Esito ALU Bus dati R2 R1 MDR ... Registri generali R16 Processore

12 Pipelining Ogni istruzione può essere decomposta in varie fasi; es. ADD 1, R0: instruction fetch instruction decode operand fetch execute 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 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 S then S1

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

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 CISC vs RISC CISC RISC istruzioni complesse (più cicli)
istruzioni semplici (un ciclo) qualsiasi istruzione può referenziare la memoria sono le istr. LOAD e STORE referenziano la memoria no pipeline pipeline spinte istruzioni interpretate dal microprogramma istruzioni eseguite dall’HW istruzioni a formato variabile istruzioni a formato fisso pochi registri molti registri (organizzati in file)

18 Prestazioni dei processori
Dipendono da diversi fattori insieme delle istruzioni: istruzioni più semplici richiedono basso numero di cicli di clock dimensione dei registri: determinano il parallelismo della CPU, cioè la dimensione delle word (da 16 a 64 bit) numero di registri: maggior numero implica meno accessi alla memoria scalarità: numero di fasi sovrapponibili (più istruzioni per cicli di clock) 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 Processore 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 "Informatica Generale Marzia Buscemi"

Presentazioni simili


Annunci Google