Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2007-2008.

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Definizione e tipi di implementazione
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
Il Linguaggio Macchina
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
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.
Corso di Informatica (Programmazione)
Struttura dei sistemi operativi (panoramica)
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Architettura dei computer. Motori per lesecuzione di istruzioni Quello che i computer possono fare –eseguire deterministicamente istruzioni per elaborare.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
CPU (central process unit)
La macchina di von Neumann
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Il Modello logico funzionale dell’elaboratore
Il Calcolatore Elettronico
STRUTTURA GENERALE DI UN ELABORATORE
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
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Architettura di una CPU
Architettura del calcolatore
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Informatica A.A. 2009/2010 Parte 2 L’Elaboratore Corso A: Prof. Stefano Berardi Corso B: Prof. Ugo de’ Liguoro
Calcolatori Elettronici Il Processore
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
Laboratorio Informatico
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Componenti principali di un computer
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.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Informatica e Informatica di Base
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Dalla macchina di Von Neumann …
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architettura degli elaboratori
Transcript della presentazione:

Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:

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 I computer eseguono deterministicamente istruzioni 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 Processore Stampante Memoria secondaria Memoria principale I programmi e i dati risiedono nella memoria secondaria

I programmi e i dati Processore Stampante Memoria secondaria Memoria principale I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella 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 Per ogni tipo di processore è associato 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 Combinando in modo diverso sequenze anche molto lunghe di istruzioni si possono far svolgere al computer molti compiti diversi

Istruzioni macchina Tre tipi di istruzioni macchina: –Istruzioni aritmetico-logiche: Per esempio, la somma di due numeri, il confronto tra due numeri per stabilire se essi sono uguali Bisogna indicare dove si trovano i dati su cui operare –Istruzioni di trasferimento dati: Indicano quali dati trasferire e in quale direzione Per esempio, dalla memoria al CPU o vice versa, dall’esterno all’interno (input) o vice versa (output) Anche bisogna indicare dove si trovano i dati su cui operare –Istruzioni di controllo: Permettono modificare il flusso di esecuzione delle istruzione (per esempio, sulla base di eventi esterni o risultati intermedi ottenuti dalle istruzioni precedenti)

Istruzioni macchina Tre tipi di istruzioni macchina: –Istruzioni aritmetico-logiche: add: addizione sub: sottrazione and/or/not: congiunzione/disjunzione/negazione logica … ABA and B ABA or B Anot A 01 10

Istruzioni macchina Tre tipi di istruzioni macchina: –… –Istruzioni di trasferimento dati: load: leggere dalla memoria principale store: scrivere alla memoria principale … –Istruzioni di controllo: if_eq: se una condizione è vero, proseguire in un certo modo, altrimenti proseguire in un altro modo goto: saltare a un’istruzione …

Istruzioni macchina Le istruzioni possono avere formati diversi - per esempio: cosa faresu cosa operare oppure Codice istruzioneArgomento 1Argomento 2Argomento 3 Codice istruzioneArgomento 1Argomento 2 Codice istruzioneArgomento 1 oppure cosa faresu cosa operare

Istruzioni macchina Per esempio: ADD R1 R2 R3 –Recuperare i valori memorizzati nei registri R2 e R3 e inserire il risultato della somma dei valori nel registro R1 –Si nota che i valori nei registri possono cambiare da un’esecuzione all’altra (riferimenti indiretti) (Che cosa un registro? Vedremo…) Codice istruzioneArgomento 1Argomento 2Argomento 3

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 (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

Linguaggio macchina Il linguaggio in cui si scrivono le istruzione macchina 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 Ogni tipo di processore è in grado di eseguire un numero (molto) limitato di istruzioni macchina –Normalmente circa una centinaia

I programmi e i processori Istruzioni visti dal computer: –Il formato dell’oggetto binario (sequenze di bit che corrisponde alla codifica delle istruzioni di un programma) è l’unico che il computer può interpretare ADD R1 R2 R3

I programmi e i processori Istruzioni visti dai programmatori: –I programmatori dei computer non scrivono i programmi direttamente usando le istruzioni macchina –I programmatori scrivono i programmi in linguaggi di un alto livello di astrazione: i linguaggi di programmazione a alto livello Per esempio, Java o C –Un singolo commando di un linguaggio di programmazione può corrispondere a più istruzione macchina

I programmi e i processori Tre forme principali di codifica dei programmi: –Linguaggio binario: i programmi sono codificati in formato binario –Linguaggio assembler: rappresenta le istruzioni macchina usando lettere e numeri (per esempio, ADD R1 R2 R3) –Linguaggi di programmazione di alto livello (per esempio, Java o C): Livello di astrazione più alto rispetto a linguaggio assembler o linguaggio binario, usato dai programmatori dei computer

I programmi e i processori … ADD R1 R2 R3 … totale = num1 + num2; compila assembla Linguaggio di programmazione Linguaggio assembler Linguaggio binario

I programmi e i processori Linguaggio di programmazione: esempio di un programma (codice scritto in Java)

I programmi e i processori Famiglie di processori: Intel, Motorola, Sun, … Processori della stessa famiglia normalmente possono eseguire gli stessi programmi scritti in linguaggio macchina (ma non sempre) Processi di famiglie diverse normalmente non possono eseguire gli stessi programmi scritti in linguaggio macchina –Le istruzioni che “capiscono” sono diverse Attenzione! Stiamo considerando il livello delle istruzioni macchina (non il livello dei linguaggi di programmazione, come Java o C) –La stessa programma scritto in un linguaggio di programmazione di alto livello può essere eseguito su processi di famiglie diverse (è un vantaggio del uso dei linguaggi di programmazione a alto livello)

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) 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

Unità di controllo L’unità di controllo è la parte più importante del processore –Esegue le istruzioni dei programmi –Coordina le attività del processore –Controlla il flusso delle istruzioni tra il processore e la memoria

Unità di controllo Svolge la sua attività in modo ciclico (implementa il ciclo macchina) Fetch istruzione (preleva dalla memoria principale la “prossima” istruzione da eseguire) Decodifica istruzione Fetch dati (preleva gli operandi specificati nell’istruzione) Esecuzione istruzione Restituzione risultato

Unità di controllo L’esecuzione comporta l’invio di comandi opportuni all’unità relativa –Calcoli  Unità aritmetico logica –Lettura/scrittura dati  memoria –Acquisizione/stampa  dispositivi di I/O

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

Bus Bus interno: permette la comunicazione tra i componenti del processore Bus esterno: permette la comunicazione tra il processore e gli altri componenti dell’elaboratore CPU RAM Interfaccia dati indirizzi controllo

Bus Unità di controllo Unità aritmetico logica REGISTRI Bus Interno … … 1000 LOAD 4809 R LOAD 3568 R ADD R1 R STORE R GOTO 1001 … … … Interfaccia CPU RAM

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

Registri Per esempio: Program Counter –L’indirizzo della “prossima” istruzione da eseguire è memorizzato nel registro Program Counter Normalmente le istruzioni di un programma sono memorizzati in sequenza nella memoria principale Il Program Counter deve essere aumentato (di 1) ogni ciclo (in modo tale che corrisponde all’indirizzo della prossima istruzione da eseguire) Eccezione: istruzione di controllo (per esempio, “salti” da un’istruzione a un’altra usando goto) Per esempio: i Registri Generali –I registri che possono essere utilizzati come memorie temporanee per svolgere le operazioni matematiche

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

Unità aritmetico logica L’Unità aritmetico logica (ALU) si occupa di eseguire le operazioni di tipo aritmetico/logico –Somme, sottrazioni, …, confronti, … Preleva gli operandi delle operazioni dai Registri Generali Deposita il risultato delle operazioni nei Registri Generali Insieme all’unità di controllo collabora al completamento di un ciclo macchina

Clock Abbiamo visto che il processore svolga la sua attività in modo ciclico –Ad ogni ciclo corrisponde l’esecuzione di un’operazione elementare (un’istruzione macchina) Il clock fornisce una cadenza temporale per l’esecuzione delle operazioni elementari

Consideriamo una ipotesi semplificata: ogni battito di clock corrisponde esattamente l’esecuzione di una sola istruzione macchina –Per esempio: il clock che ha circa 66 milione battiti per secondo  il computer può eseguire circa 66 milione operazioni per secondo In realtà, questa ipotesi non è sempre vero –L’esecuzione di una istruzione può richiedere più battiti di clock –Oppure nello stesso ciclo di clock si possono eseguire (parti) di istruzioni diverse –Dipende dal tipo di processore - per esempio: Il processore Intel richiede 20 battiti del clock per calcolare la moltiplicazione di due numeri Il processore Intel può calcolare la moltiplicazione di due numeri usando solo un battito del clock Clock

La frequenza del clock si misura in: –MHz (1 MHz corrisponde circa a un milione di istruzioni elementari/battiti al secondo) –GHz (1 GHz corrisponde circa a un miliardo di istruzioni elementari/battiti al secondo) Per esempio: se acquistate un calcolatore e vi dicono che ha un processore a 3 GHz –Vuol dire che il processore è in grado di eseguire (circa) 3 miliardi di istruzioni al secondo Esempi: –Pentium 4 – 3,0 – 3,8 GHz –Athlon 64 FX-SOI – 2,2 – 2,8 GHz –Pentium 4M (Centrino) – 1,6 – 2,4 GHz Clock