fondamenti di informatica: un po’ di storiaenrigri/corsi/informaticaastro_0809/... · 2008. 10....
TRANSCRIPT
![Page 1: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/1.jpg)
1
Fondamenti di informatica:un po’ di storia
• L’idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al ‘600 (Pascal, Leibniz)
• Nell’ottocento vengono realizzati i primi dispositivi meccanici “a programma”: telai Jacquard, pianole, macchine di Babbage
![Page 2: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/2.jpg)
2
Fondamenti di informatica:un po’ di storia
• Nel 1896 Hollerith fonda la “Tabulating MachineCompany” (poi IBM), che produce sistemi meccanografici a schede
• Negli anni ’30 vengono realizzate le prime macchine elettromecaniche (Zuse in Germania, Mark 1 ad Harvard)
• Nel ’46 entra in servizio l’ENIAC: elaboratore a valvole termoioniche e a programma filato
• Nel ’48 ENIAC viene esteso per permettere una forma di funzionamento a programma memorizato
![Page 3: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/3.jpg)
3
Fondamenti di informatica:lo sviluppo teorico
• Matematici e logici mostrarono come sia possibile risolvere importanti classi di problemi per via numerica
• Nel 1936 Turing pubblica “On computable numbers, with anaaplication to the entscheidungsproblem”, che mostra come sia concepibile una macchina universale in grado di calcolare tutto ciò che è calcolabile
• La teoria dell’informazione (con un famoso articolo di Shannondel 1948) mostra come fenomeni continui possano essere descritti in modo preciso in forma discreta (campionamento e quantizzazione)
• L’informatica teorica mostra che esistono problemi non risolvibili per via algoritmica, e problemi ardui non risolvibili (o difficilmente risolvibili) per mancanza di algoritmi efficienti
![Page 4: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/4.jpg)
Introduzione all’Architettura del Computer
![Page 5: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/5.jpg)
5
Domande di partenza:
1. Che cos’è un computer?2. Da cosa è composto un computer?3. Come interagisco con il computer?4. Che cosa c’è dentro il case?5. Come funziona un computer?
![Page 6: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/6.jpg)
6
Cos’è un computer?
Un computer è una macchina che:– Memorizza dati– Interagisce con dispositivi (schermo, tastiera, mouse)– Esegue programmiI programmi sono sequenze di istruzioni che il computer
esegue e di decisioni che il computer prende per svolgere una certa attività
![Page 7: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/7.jpg)
7
I diversi strati
Macchina
Sistema Operativo
Applicazioni
![Page 8: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/8.jpg)
8
Da cosa è composto un computer?
Quattro parti principali:1. Unità di input (tastiera, mouse)2. Unità di output (monitor, stampante)3. Central Processing Unit (CPU)4. Unità di memoria (RAM, HD, FD)
![Page 9: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/9.jpg)
9
Che cosa c’è dentro il case?
1. Ci sono varie cose:1. Scheda madre + CPU2. Memoria RAM e ROM3. HD, FD, CD-ROM4. Scheda video, Scheda audio5. Scheda di Rete6. Ecc.
![Page 10: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/10.jpg)
10
Come funziona un computer?(modello di John von Neumann)
CPUMemoria principale (RAM e ROM)
Memoria secondaria (HD, FD e CD-rom)
Dispositivi di input e di output
Bus dei dati
![Page 11: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/11.jpg)
11
Come funziona un computer?
![Page 12: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/12.jpg)
12
Come funziona un computer?
Architettura di Von Neumann:la memoria della macchina è condivisa dai dati e dai programmi
Architettura Harvard :esiste una memoria separata per i dati ed una per i programmi.
Oggi il termine “Architettura Harvard” è usato per macchine co una sola memoria principale ma con due cache separate una per i programmi ed una per i dati
![Page 13: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/13.jpg)
13
La memoria primaria
• E’ costituita da chip• RAM (Random Access Memory)
È memoria di lettura e scrittura e contiene dati in fase di modifica durante l’esecuzione dei programmi e perde i dati quando si spegne il computer (volatile):
SRAM (Static Random Access Memory)– Tempo di accesso 1÷10 ns, usata per cache L1/L2DRAM/SDRAM ((Syncronous) Dynamic RAM)– Tempo di accesso 50÷100 ns, usata per memoria principale,
costo 5÷10 volte meno di SRAM e (50 volte più di dischimagnetici ma 100.000 volte più veloce)
![Page 14: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/14.jpg)
14
Gerarchia di memoria Registri
Cache L1
Cache L2
RAM
Dischi
SRAM
SDRAM
O(10) unità
O(102) KB
O(102) MB
O(102) GB
+ velocità+ costo- dimensione
- velocità- costo+ dimensione
![Page 15: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/15.jpg)
15
Gerarchia di memoriaFornire molta memoria
Costo delle tecnologie più economiche Prestazioni delle tecnologie più costose
Principio di localitài programmi accedono:
• a porzioni limitate di memoria
• durante limitati intervalli di tempo
Località temporale Località spaziale
![Page 16: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/16.jpg)
16
Funzionamento della Cache
CPU
Cache
RAMCache line
![Page 17: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/17.jpg)
17
RAM memoria ad accesso diretto
Nella RAM, come ovunque in un computer, le informazioni sono rappresentate con sequenze di 0 e di 1. Numeri binari.
La RAM quindi è fatta per contenere tali numeri.
•un bit può contenere o 0 o 1
•un byte è una sequenza di 8 bits
•una parola consiste di 4 bytes
![Page 18: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/18.jpg)
18
Organizzazione della RAMLa RAM è suddivisa in celle o locazioni di memoria, ognuna con un suo indirizzo univoco
byte
Si leggono e si scrivonosingoli byte o blocchi di 4 bytes consecutivi: le parole.
bit
parola
![Page 19: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/19.jpg)
19
Indirizzamento di byte e parole
0123
4567
89
1011
byte
0
1
2
parola00000000000000010000001000000011
00000100000001010000011000000111
00001000000010010000101000001011
in binario
![Page 20: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/20.jpg)
20
Unità di misura della RAM
1 Kilo byte: 210 = 1024 bytes, ≈1000
1 Mega byte: 220 = 1.048.576 bytes, ≈1000000
1 Giga byte 230 = 1.073.741.824 bytes, ≈109
1 Tera byte 240 = 1.099.511.627.776 bytes, ≈ 1012
![Page 21: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/21.jpg)
21
La CPU: unità centrale di calcolo
bus
RAM
ALU
CI1 CI2 CIk
P
IP
RC
CPUR0
Rn
registri di calcolo
![Page 22: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/22.jpg)
22
Ciclo Fetch-Decode-Execute
Ogni ciclo di clock ha tre fasi:
•Accesso (legge istruzione da eseguire e la memorizza nel registro istruzione)
•Decodifica (l’istruzione da eseguire)
•Esecuzione (dell’istruzione)
![Page 23: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/23.jpg)
23
Fetch
bus
RAM CI1
CI2
CIk P
IP
RC
CPUR0
RnALU
![Page 24: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/24.jpg)
24
Decode
bus
RAM
P
IP
RC
CPUR0
RnALU
CI1 CI2 CIk
![Page 25: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/25.jpg)
25
Execute
bus
RAM
P
IP
RC
CPUR0
RnALU
CI1 CI2 CIk
![Page 26: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/26.jpg)
26
CPU: caratteristiche
![Page 27: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/27.jpg)
27
Instruction set
CISC: (Complex Instruction Set Computer)
• Utilizzo del transistor budget per massimizzare la taglia dell’instruction set
• Esempi: Intel X86, Pentium, P6
RISC: (Reduced Instruction Set Computer)
• Utilizzo del transistor budget per velocizzare un repertorio limitato di istruzioni (load/store).
• Esempi: MIPS RX000, SPARC, IBM PowerPC
Insieme di istruzioni offerte dall’architettura
![Page 28: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/28.jpg)
28
CISC vs RISCCISC RISC
Prezzo / prestazioniPrezzo: complessità è spostata dal software all’hardware
Prestazioni: riduzione del codice, maggioreCPI.
Prezzo: complessità è spostata dall’ahrdwareal software
Prestazioni: minore CPI, maggioredimensione del codice
Strategie di progettazione• Ampio insieme di istruzioni, chepermettono di compiere sia operazionisemplici che complesse (corispondenti di istruzioni in HLL)• Supporto per HLL è in hardware• Unità di controllo in microcodice• Meno transistors per i registri
• Insieme di funzioni base, mono-ciclo• Supporto per HLL è fatto via software• Indirizzamento semplice (LOAD – STORE da registro a registro) • Transistors usati per aumentare il numerodi registri• Pipeline
![Page 29: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/29.jpg)
29
CPU: Pipeline
• Devo una stessa sequenza di M istruzioni su N dati
• Una istruzione per ciclo di clock
• Per concludere l’elaborazione devo aspettare N*M cicli di clock
![Page 30: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/30.jpg)
30
CPU: Pipeline
• Ad ogni ciclo di clock:– Una istruzione è eseguita– Un solo circuito della ALU è attivo
Posso utilizzare più efficientementei circuiti della ALU?
![Page 31: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/31.jpg)
31
CPU: Pipeline
![Page 32: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/32.jpg)
32
CPU: Pipeline
• Il primo risultato arriva dopo M (numero di stadi) cicli di clock
• I successivi risultati arrivano uno per ogni ciclo di clock
Tempo di elaborazione:
M+(N-1)
cicli per avereil primo risultato
cicli per averegli altri risultati
![Page 33: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/33.jpg)
33
CPU: Pipeline
EsempioEsecuzione di 109 istruzioni su un processore a 500 Mhz:
Con pipeline a 5 stadi:(109-1)+5 cicli = ((109-1)+5) *2 ns = 2s
Senza pipeline109*5 cicli = 109 * 5 *2 ns = 10s
![Page 34: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/34.jpg)
34
La memoria secondaria E’ di solito un disco rigido che contiene dati e programmi in
modo permanente (può essere anche un cd-rom, floppy disk, etc).
Tempi di accesso:– Floppy: O(100) ms– Hard disk: O(10) ms
Programmi e dati risiedono sul disco rigido e vengono caricati nella RAM quando è necessario per poi tornarvi aggiornati se e quando necessario.
![Page 35: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/35.jpg)
35
La memoria secondaria - 2
![Page 36: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/36.jpg)
36
La memoria secondaria traccia
settore
cilindro
piatto
rotazione
braccio
testina
![Page 37: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/37.jpg)
37
La memoria secondaria - 3
Tempo di accesso a un settore:
SEEK+LATENCY+TRANSMISSION
SEEK = ricerca della traccia
LATENCY = ricerca del settore da trasferireTRANSMISSION = trasmissione del settore
![Page 38: Fondamenti di informatica: un po’ di storiaenrigri/Corsi/InformaticaAstro_0809/... · 2008. 10. 3. · 2 Fondamenti di informatica: un po’ di storia • Nel 1896 Hollerith fonda](https://reader036.vdocumenti.com/reader036/viewer/2022071414/610dfebed181101f1f6c286b/html5/thumbnails/38.jpg)
38
La memoria secondaria - 4
EsempioAccesso ad un settore di 0.5 Kb per un disco che abbia
SEEK = 9msVelocità di rotazione = 7200 rpmTRANSMISSION = 4 Mb/s
0.009+0.5*60/7200+0.5/4000 = 13.3 ms