Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoMarta Rocca Modificato 9 anni fa
1
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico: 2006-2007
2
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
3
Architettura dei computer Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tastiera e monitor Periferiche del calcolatore
4
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
5
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
6
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
7
Componenti principali di un computer Unità centrale Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Periferiche del calcolatore
8
Componenti principali di un computer Unità centrale Processore Memoria principale 0 1 2 3 4 5 N Sequenza di celle – Ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0) Insieme al processore forma l’Unità Centrale di un elaboratore Conserva i programmi e i dati usati dal processore
9
Memoria principale (RAM) Perché si chiama RAM (Random Access Memory)? – Si può accedere direttamente alle varie celle, una volta noto il loro indirizzo – Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza – Il termine “random” (casuale) indica proprio il fatto che non vi sono differenze nell’accesso alle varie celle della memoria (il computer può accedere in qualsiasi momento a qualsiasi locazione)
10
Memoria principale (RAM) Alcune proprietà della memoria principale –Veloce: per leggere/scrivere una cella ci vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10 -9 sec.) –Volatile: è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto –(Relativamente) costosa
11
Memoria principale (RAM) Tutte le celle hanno la stessa dimensione: 8, 16, 32, o 64 bit Le operazioni che si eseguono sulla memoria sono operazioni di lettura e scrittura Una cella può contenere (parte di) un dato o un’istruzione 0 1 2 3 4 5 N 345 13.200.985 3.890 ADD R1 R2 LOAD 56 R1 LOAD 3568 R1 Indirizzi Contenuto
12
Memoria principale (RAM) Ogni calcolatore usa un numero di bit costante per rappresentare gli indirizzi Maggiore è il numero di bit usati, maggiore sarà il numero di celle indirizzabili: spazio di indirizzamento –Se si usano 16 bit per codificare gli indirizzi, si potranno indirizzare fino a 65.536 celle (circa 64 KB di memoria, nell’ipotesi di celle di memoria di 1 byte) –Con 32 bit si potranno indirizzare fino a 4.294.967.296 celle (circa 4 GB di memoria)
13
Memoria principale (RAM) Le unità di misura della memoria RAM variano a seconda del tipo di calcolatore e vengono espresse in MB Nei PC generalmente si va dai 128MB ai 512MB Alcune “server” hanno 1-2 GB di RAM La RAM, fino ad un certo limite, è espandibile (slot di espansione)
14
Memoria principale (RAM) bit1 cifra binariamemorizza 0 oppure 1 byte8 bitmemorizza un carattere parolada 16 a 64 bitnumeri e indirizzi di memoria Kilobyte (KB)1024 bytecirca mezza pagina di testo Megabyte (MB)1024 KBun libro di 200 pagine Gigabyte (GB)1024 MBalcuni volumi Terabyte (TB)1024 GBuna biblioteca Petabyte (PB)1024 TBmolte biblioteche
15
L’Unità centrale: altri tipi di memoria Memoria di sola lettura (ROM) –Non può essere modificata –A differenza della RAM non è volatile –Veloce quasi come la RAM –Contiene le informazioni di inizializzazione usate ogni volta che si accende l’elaboratore (bootstrap)
16
L’Unità centrale: altri tipi di memoria Memoria cache –Livello di memoria intermedio tra i registri e la RAM Memorizza i dati usati più spesso senza doverli recuperare tutte le volte dalla RAM (che è più lenta) Influisce moltissimo sulle prestazioni e sul costo della CPU (e quindi del computer) –È molto più costosa della RAM –In genere è interna al processore (cache L1), ma esiste anche una cache secondaria (L2) esterna al processore –Le sue dimensione tipiche vanno dai 256KB a 1MB
17
L’Unità centrale: altri tipi di memoria Buffer –Piccole parti di RAM con funzioni di memoria temporanea –Usati per il passaggio delle informazioni da un programma o dispositivo ad un altro –In Windows si parla di Clipboard, memoria temporanea usata per esempio per le operazioni di Copia e Incolla Foglio elettronico Programma di videoscrittura Clipboard (buffer)
18
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
19
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
20
I programmi e i dati Processore Stampante Memoria secondaria Memoria principale I programmi e i dati risiedono nella memoria secondaria
21
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
22
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
23
Istruzioni macchina I programmi sono le 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 Combinando in modo diverso sequenze anche molto lunghe di istruzioni si possono far svolgere al computer molti compiti diversi
24
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
25
Istruzioni macchina Per esempio: ADD 4000 2000 2080 –Sommare i tre numeri 4000, 2000 e 2080? Codice istruzioneArgomento 1Argomento 2Argomento 3
26
Istruzioni macchina Per esempio: ADD 4000 2000 2080 –Sommare i tre numeri 4000, 2000 e 2080? –No: recuperare i valori memorizzati nelle celle con indirizzi 2000 e 2080 e inserire il risultato nella cella con indirizzo 4000 –Si nota che i valori nelle celle 2000 e 2080 possono cambiare da un’esecuzione all’altra (riferimenti indiretti) Codice istruzioneArgomento 1Argomento 2Argomento 3
27
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
28
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
29
Istruzioni macchina 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 10001111 10101010 00000011 11001100 10101011 11111110 11001111 00000110 00000100 00000111 11000101 10111001 11111101 01011111 11001111 00101011 ADD 20 20 24
30
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 Ogni tipo di processore è in grado di eseguire un numero (molto) limitato di istruzioni –Normalmente circa una centinaia
31
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 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)
32
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 20 20 24) –Linguaggi di programmazione di alto livello (per esempio, Java o C): Livello di astrazione più alto rispetto a linguaggio assembler o linguaggio binario ADD 20 20 24 totale = num1 + num2; 00101000 10100000 00001111 10101010 compila assembla Linguaggio di programmazione Linguaggio assembler Linguaggio binario
33
I programmi e i processori Linguaggio di programmazione: esempio di un programma (codice scritto in Java)
34
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
35
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
36
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
37
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
38
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
39
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
40
Bus Permette la comunicazione tra i vari componenti del processore,e tra il processore e gli altri componenti dell’elaboratore CPU RAM Interfaccia dati indirizzi controllo
41
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
42
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
43
Registri Per esempio: Program Counter –L’indirizzo della “prossima” istruzione da eseguire è memorizzato nel registro Program Counter Il Program Counter deve essere aumentato ogni ciclo (in modo tale che corrisponde all’indirizzo della prossima istruzione da eseguire) Per esempio: i Registri Generali –I registri che possono essere utilizzati come memorie temporanee per svolgere le operazioni matematiche
44
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
45
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
46
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
47
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 80286 richiede 20 battiti del clock per calcolare la moltiplicazione di due numeri Il processore Intel 80486 può calcolare la moltiplicazione di due numeri usando solo un battito del clock Clock
48
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.