Scaricare la presentazione
1
L’elaboratore elettronico
PARTE A
2
input (dati) output (risultati) (elaborazione)
3
Evoluzione storica
4
Le generazioni informatiche
1942-’57, 1a gen. = tubi a vuoto 1958-’63, 2a gen. = transistori 1964-’80, 3a gen. = circuiti integrati 1980-oggi, 4a gen. = circuiti VLSI (futuro) 5a gen. = ?
5
ENIAC (1943): Electronic Numerical Integrator And Calculator
Primo eleboratore general-purpose 18000 Valvole, 1500 relay Uso per calcoli balistici Lunghezza 25m, altezza 3m, superficie 180m2, peso 30ton, potenza assorbita 140KW Programmazione con interruttori manuali Aritmetica decimale, 5000 operazioni/sec MTBF = 8 ore
6
La potenza della sabbia (silicio)
La potenza della sabbia (silicio) ...ovvero: l’evoluzione dei microprocessori n transistori per chip Pentium III 8086 anni
7
La potenza della sabbia (silicio)
La potenza della sabbia (silicio) ...ovvero: l’evoluzione dei microprocessori n transistori per chip 1 milione di addizioni al secondo transistor 8086 anni
8
La potenza della sabbia (silicio)
La potenza della sabbia (silicio) ...ovvero: l’evoluzione dei microprocessori n transistori per chip PENTIUM III 2 miliardi di addizioni al secondo transistor. 1 milione di addizioni al secondo transistor Pentium III 8086 anni
9
Microprocessori INTEL 80x86
1993 Pentium MIPS: 100+ (66 MHz) Transistors: 1989 80486 MIPS: 41 (50 MHz) Transistors: 1985 80386 MIPS: 11 (33 MHz) Transistors: 1982 80286 MIPS: 3 (12 MHz) Transistors: 1979 8088/8086 MIPS: 0.33 (5 MHz) Transistors:
10
Microprocessori INTEL 80x86
1999 Pentium III 64 bit – 1.13 GHz Transistors: 1998 Pentium II 64 bit MHz Transistors: 1995 Pentium PRO 64 bit MHz Transistors: 1993 Pentium 32 bit - (166 MHz) Transistors:
11
Nozioni fondamentali
12
Hardware Definizione:
l’insieme delle apparecchiature (elettroniche, meccaniche, ecc.) che costituiscono fisicamente il sistema di elaborazione.
13
Software Definizione:
l’insieme dei programmi e dei dati che permettono lo svolgimento delle funzioni di elaborazione
14
Programmi e Istruzioni
Un programma è un insieme ordinato di istruzioni Un’istruzione è la specifica di una operazione che può essere svolta da un elaboratore.
15
I dati 1234567890 I dati numerici sono quelli più usati
Tutti gli altri tipi di dato sono trasformati in dati numerici
16
Il sistema decimale 252 = 2 × 100 + 5 × 10 + 2 × 1
252 = 2 × × × 1 = 2 × × × 100 Sistema di numerazione del mondo occidentale (sistema arabo): decimale (base 10, cifre { 0, 9 }) posizionale
17
Il sistema binario base: 2 cifre: { 0, 1 } Esempio:
1012 = 1 × × × 20 = 1 × × 1 = 510
18
Alcuni numeri binari
19
Terminologia BIT (BInary digIT) 0 1 BYTE = otto bit 00110110
WORD = n byte
20
Terminologia 1 0 1 1 0 1 1 0 MSB Most Significant Bit LSB
Least Significant Bit
21
Multipli binari Si usano le potenze di due invece di quelle di dieci:
chilo K 210 ~ un migliaio mega M 220 ~ un milione giga G 230 ~ un miliardo tera T 240 ~ mille miliardi
22
La logica degli elaboratori elettronici
Logica Booleana: 1847 George Boole logica formale enunciati di cui fosse possibile verificare in modo inequivocabile la verità o la falsità le variabili sono in grado di assumere solo due valori: VERO, FALSO .
23
Logica Booleana: un esempio
Se domani ci sarà il sole, allora andrò a fare una gita. ?
24
Architettura degli elaboratori
25
Il transistore È l’elemento base degli attuali elaboratori elettronici digitali: piccole dimensioni ( mm ) basso consumo di energia ( mW ) alta velocità di funzionamento (milioni di operazioni al secondo)
26
Chip Da migliaia a milioni di TRANSISTOR Chip:
circuito integrato, microcircuito, componente elettronico contenente al suo interno moltissimi transistor
27
Calcolatore Il chip sta al calcolatore come il mattone sta alla casa
28
Blocchi funzionali (architettura di Von Neumann 1951)
MEM OUT UO INP in verde i dati in azzurro lo stato in rosso gli ordini UC
29
Problematiche codifica dei dati (in un formato comprensibile all’elaboratore) codifica degli ordini (sequenza di operazioni che compongono l’elaborazione) decodifica dei risultati (in un formato comprensibile agli umani)
30
Flusso dei dati MEM OUT UO INP UC in verde i dati in azzurro lo stato
in rosso gli ordini UC
31
Informazioni di stato MEM OUT UO INP UC in verde i dati
in azzurro lo stato in rosso gli ordini UC
32
Ordini MEM OUT UO INP UC in verde i dati in azzurro lo stato
in rosso gli ordini UC
33
Struttura a blocchi MEM OUT UO INP UC in verde i dati
in azzurro lo stato in rosso gli ordini UC
34
Unità di input: schema funzionale
dato B ADC T ready control logic get
35
Unità di output: schema funzionale
B DAC T dato ready control logic put
36
Unità operativa: schema funzionale
dati registri operandi operazione flag ALU F destinazione risultato
37
Unità di controllo: schema funzionale
PC IR stato logica di controllo comandi
38
Il ciclo base di un elaboratore
Reset Preleva una istruzione dalla memoria RAM Fetch Interpreta l’istruzione Decode Execute Esegue l’istruzione
39
Esecuzione di un’istruzione
Tre fasi distinte: fetch IR ¬ M [ PC ] PC ¬ PC + 1 decode ordini ¬ decode(IR) execute ready? go!
40
CPU Central Processing Unit
L’imperatore SONO IO ! CPU La CPU controlla tutte le operazioni di un elaboratore Le operazioni possono essere: interne alla CPU (ad es. somma) esterne: trasferimenti da/per memoria o I/O
41
Il clock Ogni elaboratore contiene un elemento di temporizzazione (detto clock ) che genera un riferimento temporale comune per tutti gli elementi costituenti il sistema di elaborazione.
42
Il clock t T T = periodo di clock f = frequenza di clock ( = 1 / T )
43
Velocità di elaborazione MIPS ( Million Instructions Per Second )
f = frequenza di clock [ Hz = cicli/s ] T = periodo di clock = 1 / f [ s ] C = cicli macchina / istruzione IPS = f / C = 1 / ( T ´ C ) MIPS = IPS / 106
44
Memoria centrale
45
Memoria: schema funzionale
indirizzo ready read/write dato
46
Memoria Memorizza i dati e le istruzioni necessarie all’elaboratore per operare. Caratteristiche: indirizzamento parallelismo accesso (sequenziale o casuale) tipo (volatile-non volatile, lettura-lettura/scrittura, etc.)
47
Indirizzamento Ad ogni cella di memoria è associato un indirizzo (numerico) per identificarla univocamente. 1 7 5 2 8 3 6 9
48
Parallelismo Ogni cella di memoria contiene una quantità fissa di bit:
identica per tutte le celle accessibile con un’unica istruzione è un multiplo del byte minimo un byte
49
Memoria ad accesso casuale
il tempo di accesso è costante (indipendente dalla cella scelta) Ta = costante anche detta RAM (Random Access Memory)
50
Memoria ad accesso sequenziale
il tempo di accesso dipende dalla cella a cui si accede spesso la dipendenza è lineare Ta = K × indirizzo
51
Memoria interna all’interno dell’elaboratore
è allo stato solido (chip) solitamente è volatile veloce (nanosecondi, 10-9s) quantità limitata (decina MB) non rimovibile costosa (5000 Lit / MB)
52
Memoria esterna all’esterno dell’elaboratore talvolta rimovibile
non elettronica (es. magnetica) permanente lenta (millisecondi, 10-3 s) grande quantità (qualche GB) economica (500 Lit / MB)
53
La memoria centrale RAM RAM Video ROM Sistema Operativo Programmi
Memoria Video Programma d’avvio (boot program) RAM RAM Video ROM
54
Memoria RAM: memorie a lettura e scrittura (Random Access Memory)
Tecnologia: RAM: memorie a lettura e scrittura (Random Access Memory) ROM: memorie a sola lettura (Read Only Memory)
55
Memorie RAM Le memorie RAM possono essere di due tipi:
SRAM: RAM statiche veloci (10 ns) minor impaccamento elevato costo per bit DRAM: RAM dinamiche meno veloci (60 ns) maggior impaccamento (16 Mbit/chip) minor costo per bit
56
Tipologie di memorie ROM
PROM (Programmable ROM) programmabili una sola volta, dall’utente EPROM (Erasable PROM) cancellabili e riprogrammabili più volte, dall’utente FLASH cancellabili e riprogrammabili elettricamente più volte dalla cpu
57
Memoria CACHE ….. ovvero la lentezza delle RAM
microprocessore DRAM
58
Memoria CACHE Memoria intermedia VELOCE
Trasferisco nella cache dati/istruzioni usati più frequentemente CPU CACHE MEMORIA (DRAM)
59
Prestazioni della cache
Tempo medio di accesso in memoria: TM = H · Tcache + ( 1 - H ) · TRAM Ove H = hit ratio (percentuale di celle trovate nella cache rispetto al totale degli accessi in memoria) H ³ 90% ® Tcache
60
Prestazioni della cache
Tcache = 20 ns TRAM = 80 ns H = 60% TM = 0.6 · · 80 = 44 ns H = 95% TM = 0.95 · · 80 = 23 ns
61
Connessioni (Bus)
62
(ovvero il sistema circolatorio del PC)
05/20/97 I Bus (ovvero il sistema circolatorio del PC) connettori 30
63
Struttura a bus Problema: collegamento completo tra N unità richiede N´(N-1)/2 collegamenti Esempi: 4U:6C, 10U:45C, 20U:190C C A B D
64
Struttura a bus Soluzione: segnali omologhi raggruppati in un bus, usato a turno dalle varie unità A B C D
65
Tipi fondamentali di bus
bus dati ( DBus ) bus degli indirizzi ( ABus ) bus di controllo ( CBus ) M1 I M2 O DBus ABus CBus
66
Architettura di un Calcolatore
ROM RAM I O DBus ABus CBus CPU
67
Software
68
Il linguaggio del calcolatore
ABCDE FGHILM NOPQR STUVZ lettere dell’alfabeto 1 bit Nel mezzo del cammin di nostra vita...
69
Sequenza di istruzioni 4. se l’acqua non bolle torna a 3
Che cos’è un programma? Sequenza di istruzioni 1. metti l’acqua 2. accendi il fuoco 3. aspetta 4. se l’acqua non bolle torna a 3 5. butta la pasta 6. aspetta un po’ 7. assaggia 8. se è cruda torna a 6 9. scola la pasta
70
Esecuzione dei programmi
Programmi pronti per essere eseguiti Memoria di massa (i dischi)
71
Esecuzione dei programmi
Programma ora in esecuzione Memoria di massa (i dischi) CPU RAM
72
Classificazione del software
software applicativo middleware hardware software di base
73
Linguaggi di programmazione
Servono a tradurre gli algoritmi in istruzioni per l’elaboratore. Ne esistono varie categorie: linguaggi macchina linguaggi assembler linguaggi ad alto livello
74
Linguaggio macchina codifica binaria delle istruzioni
dipende dalla CPU (registri, operazioni, ...) dipende dall’architettura del calcolatore (quantità di memoria, modalità di I/O, ...)
75
Linguaggio assembler codifica simbolica delle istruzioni ADD R1, R2, M[R4] ; R1= R2+ M [ R4 ] meta-istruzioni TOT: DB 0 ; crea ed azzera TOT linguaggio unico per architettura di CPU (es. Dec AXP, Intel 80x86)
76
Linguaggi ad alto livello (HLL - High Level Language)
elaboratore virtuale istruzioni orientate alla soluzione di problemi A = SINH (5.57*C) linguaggio indipendente dalla piattaforma HW (richiedono programmi di traduzione)
77
Traduzione dei linguaggi
algoritmo editor file sorgente compilatore file oggetto libreria linker file eseguibile
78
RAM 10 for I=1 to 5 20 print I, I*I 30 next I RUN file sorgente
interprete RAM
79
Interprete o compilatore?
Compilatore (+ linker): controlla e traduce le istruzioni una sola volta caricamento ed esecuzione veloce codice non leggibile correzione degli errori e debug lenti
80
Interprete o compilatore?
controlla e traduce le istruzioni ad ogni esecuzione del programma correzione degli errori e debug veloce caricamento ed esecuzione lenta codice sorgente leggibile
81
Alcuni interpreti interprete di un linguaggio di programmazione
interprete dei comandi di un sistema operativo (command.com in MS-DOS, le shell UNIX, ...) i fogli elettronici (Lotus 1-2-3, Excel, QuattroPro, ...)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.