Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale la memoria secondaria i dispositivi di input (inserimento)/output (restituzione di risultati) Il processore e la memoria principale costituiscono l’unità centrale del computer
Architettura dei computer Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche del calcolatore
Architettura dei computer Un computer deve: elaborare l’informazione memorizzare l’informazione fare l’input/output dell’informazione Per ogni funzione di base si possono prendere in considerazione i componenti in grado di svolgerla
Architettura dei computer Un computer deve: elaborare l’informazione usando il processore (Central Processing Unit - CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria fare l’input/output dell’informazione usando i dispositivi di input/output
I programmi e i dati Programmi: Questa lezione: i programmi dal punto di visto dell’hardware I programmi: sequenze di istruzioni per l’elaborazione delle informazione Definiscono quale debba essere il comportamento del processore Dati: Distinzione tra dato e informazione: Dato: sequenza di bit, può essere interpretato in più modi diversi Informazione: dato + significato del dato
I programmi e i dati I programmi e i dati risiedono nella memoria secondaria Processore Stampante Memoria secondaria Memoria principale
I programmi e i dati I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Processore Stampante Memoria secondaria Memoria principale
I programmi e i dati I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Stampante Memoria secondaria Memoria principale
Istruzioni macchina I programmi: sequenze di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.) Per ogni tipo di processore è definito un insieme di istruzioni, chiamate istruzioni macchina Ognuna delle quali corrisponde ad un’operazione elementare Le operazione più complesse possono essere realizzate mediante sequenze di operazioni elementari
Istruzioni macchina Le istruzioni possono avere formati diversi - per esempio: Codice istruzione Argomento 1Argomento 2 Codice istruzione Argomento 1 cosa faresu cosa operare oppure
Istruzioni macchina Per esempio: LOAD 3568 R2 Operazione di lettura dalla memoria: richiede la lettura del valore contenuto nella cella con indirizzo 3568 e il suo caricamento nel registro R2 (Perché usiamo un indirizzo? Che cosa un registro? Vedremo…) Codice istruzione Argomento 1Argomento 2
Istruzioni macchina Per esempio: ADD R1 R2 Operazione aritmetica di somma: prevede la somma del contenuto dei registri R1 e R2 e il caricamento del risultato nel registro R1 (Perché R1 non R2? Non c’è una ragione: la decisione è arbitraria) Codice istruzione Argomento 1Argomento 2
Istruzioni macchina Per esempio: cosa faresu cosa operare
Linguaggio macchina Il linguaggio in cui si scrivono queste istruzioni prende il nome di linguaggio macchina Una sequenza di tali istruzioni prende il nome di programma in linguaggio macchina Il ruolo del processore: Eseguire programmi in linguaggio macchina
I programmi e i processori Ogni tipo di processore è in grado di eseguire un numero limitato di istruzioni Combinando in modo diverso sequenze anche molto lunghe di istruzioni si possono far svolgere al computer molti compiti diversi
I programmi e i processori Famiglie di processori: Intel, Motorola, Sun Processori della stessa famiglia possono eseguire gli stessi programmi scritti in linguaggio macchina (ma non sempre) Processi di famiglie diverse non possono eseguire gli stessi programmi scritti in linguaggio macchina Le istruzioni che “capiscono” sono diverse Attenzione! Stiamo considerando il livello delle istruzioni macchina
Componenti del processore (CPU) La CPU non è un unico componente ma è costituita da componenti diversi che svolgono compiti diversi Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
Componenti del processore (CPU) La CPU è costituita da componenti diversi che svolgono compiti diversi Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
Bus Permette la comunicazione tra i vari componenti dell’elaboratore CPU RAM Interfaccia dati indirizzi controllo
Componenti del processore (CPU) Unità di controllo Unità aritmetico logica Program Counter REGISTRI Registro di Stato Bus Interno Registro Istruzioni Registri Generali 8 o 16 … Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
Registri I registri sono delle unità di memoria estremamente veloci Sono usate per mantenere le informazioni di necessità immediata per il processore Le dimensioni dei registri variano da 16, 32, 64 bit Sono una parte fondamentale del processore
Registri Per esempio: Program Counter L’indirizzo della “prossima” istruzione da eseguire è memorizzato nel registro Program Counter Per esempio: i Registri Generali I registri che possono essere utilizzati come memorie temporanee per svolgere le operazioni matematiche