lelaboratore elettronico parte a. input (dati) output (risultati) (elaborazione)
TRANSCRIPT
![Page 1: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/1.jpg)
L’elaboratore elettronico
PARTE A
![Page 2: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/2.jpg)
input
(dati)
output
(risultati)
(elaborazione)
![Page 3: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/3.jpg)
Evoluzione storica
![Page 4: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/4.jpg)
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. = ?
![Page 5: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/5.jpg)
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
![Page 6: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/6.jpg)
n transistori per chip
anni1980 2000
8086
Pentium III
La potenza della sabbia (silicio)...ovvero: l’evoluzione dei microprocessori
![Page 7: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/7.jpg)
n transistori per chip
anni1980 2000
8086
• 1 milione di addizioni al secondo• 30.000 transistor
La potenza della sabbia (silicio)...ovvero: l’evoluzione dei microprocessori
![Page 8: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/8.jpg)
n transistori per chip
anni1980 1998
8086
• 1 milione di addizioni 1 milione di addizioni al secondoal secondo• 30.000 transistor30.000 transistor
PENTIUM III • 2 miliardi di addizioni al secondo • 9.000.000 transistor.
Pentium III
La potenza della sabbia (silicio)...ovvero: l’evoluzione dei microprocessori
![Page 9: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/9.jpg)
Microprocessori INTEL 80x86
8088/8086MIPS: 0.33 (5 MHz)Transistors: 29.000
80286MIPS: 3 (12 MHz)
Transistors: 134.000
80386MIPS: 11 (33 MHz)
Transistors: 275.000
80486MIPS: 41 (50 MHz)
Transistors: 1.200.000
PentiumMIPS: 100+ (66 MHz)
Transistors: 3.000.000+
1979
1982
1985
1989
1993
![Page 10: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/10.jpg)
Pentium 32 bit - (166 MHz)
Transistors: 3.000.000+
19931993
Pentium II64 bit - 450 MHz
Transistors: 7.000.000+
19981998
Pentium PRO64 bit - 200 MHz
Transistors: 7.000.000+
19951995
Microprocessori INTEL 80x86Pentium III
64 bit – 1.13 GHzTransistors: 9.000.000+
19991999
![Page 11: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/11.jpg)
Nozioni fondamentali
![Page 12: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/12.jpg)
Hardware
Definizione:
l’insieme delle apparecchiature (elettroniche, meccaniche, ecc.) che costituiscono fisicamente il sistema di elaborazione.
![Page 13: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/13.jpg)
Software
Definizione:
l’insieme dei programmi e dei dati che permettono lo svolgimento delle funzioni di elaborazione
![Page 14: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/14.jpg)
Programmi e Istruzioni
Un programma è un insieme ordinato di istruzioni
Un’istruzione è la specifica di una operazione che può essere svolta da un elaboratore.
![Page 15: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/15.jpg)
I dati
• I dati numerici sono quelli più usati
• Tutti gli altri tipi di dato sono trasformati in dati numerici
V 43 3 r
1234567890
![Page 16: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/16.jpg)
Il sistema decimale
252 = 2 100 + 5 10 + 2 1
= 2 102 + 5 101 + 2 100
Sistema di numerazione del mondo occidentale (sistema arabo):
• decimale (base 10, cifre { 0, 9 })
• posizionale
![Page 17: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/17.jpg)
Il sistema binario
• base: 2
• cifre: { 0, 1 }
Esempio:
1012 = 1 22 + 0 21 + 1 20
= 1 4 + 1 1
= 510
![Page 18: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/18.jpg)
Alcuni numeri binari
0 ... 0 1000 ... 81 ... 1 1001 ... 9
10 ... 2 1010 ... 1011 ... 3 1011 ... 11
100 ... 4 1100 ... 12101 ... 5 1101 ... 13110 ... 6 1110 ... 14111 ... 7 1111 ... 15
![Page 19: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/19.jpg)
BIT (BInary digIT) 0 1
BYTE = otto bit 00110110
WORD = n byte 00001111
10101010
Terminologia
![Page 20: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/20.jpg)
Terminologia
LSB
LeastSignificantBit
MSB
MostSignificantBit
![Page 21: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/21.jpg)
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
![Page 22: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/22.jpg)
La logica deglielaboratori 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
.
![Page 23: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/23.jpg)
Logica Booleana: un esempio
Se domani ci sarà il sole, allora andrò a fare una gita.
![Page 24: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/24.jpg)
Architettura degli elaboratori
![Page 25: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/25.jpg)
Il transistore
È l’elemento base degli attuali elaboratori elettronici digitali:
• piccole dimensioni ( m )
• basso consumo di energia ( W )
• alta velocità di funzionamento (milioni di operazioni al secondo)
![Page 26: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/26.jpg)
Chip
Chip:circuito integrato, microcircuito, componente elettronico contenenteal suo interno moltissimi transistor
Da migliaia a milionidi TRANSISTOR
![Page 27: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/27.jpg)
Il chip sta al calcolatore come il mattone sta alla casa
Calcolatore
![Page 28: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/28.jpg)
Blocchi funzionali(architettura di Von Neumann 1951)
INPOUT
MEM
UO
UC
![Page 29: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/29.jpg)
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)
![Page 30: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/30.jpg)
Flusso dei dati
INPOUT UO
MEM
UC
![Page 31: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/31.jpg)
Informazioni di stato
INPOUT UO
MEM
UC
![Page 32: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/32.jpg)
Ordini
INPOUT UO
MEM
UC
![Page 33: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/33.jpg)
Struttura a blocchi
INPOUT UO
MEM
UC
![Page 34: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/34.jpg)
Unità di input:schema funzionale
TTADCADCBB
control logiccontrol logic
dato
readyget
![Page 35: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/35.jpg)
Unità di output:schema funzionale
TTDACDACBB
control logiccontrol logic
dato
readyput
![Page 36: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/36.jpg)
Unità operativa: schema funzionale
operandi
operazione
destinazione
flag
risultato
dati
registriregistri
ALUALU FF
![Page 37: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/37.jpg)
Unità di controllo:schema funzionale
PC
IR
logica dicontrollo
M
stato
comandi
![Page 38: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/38.jpg)
Il ciclo base di un elaboratore
Preleva una istruzione dalla memoria RAM
Interpreta l’istruzione
Esegue l’istruzione
Reset
Fetch
Decode
Execute
![Page 39: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/39.jpg)
Esecuzione di un’istruzione
Tre fasi distinte:
• fetch IR M [ PC ]PC PC + 1
• decode ordini decode(IR)
• execute ready? go!
![Page 40: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/40.jpg)
CPU Central Processing Unit
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
CPUL’imperatoreSONO IO !
![Page 41: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/41.jpg)
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.
![Page 42: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/42.jpg)
Il clock
• T = periodo di clock
• f = frequenza di clock ( = 1 / T )
t
T
![Page 43: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/43.jpg)
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
![Page 44: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/44.jpg)
Memoria centrale
![Page 45: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/45.jpg)
Memoria: schema funzionale
MEMindirizzo
read/write
dato
ready
![Page 46: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/46.jpg)
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.)
![Page 47: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/47.jpg)
Indirizzamento
Ad ogni cella di memoria è associato un indirizzo (numerico) per identificarla univocamente.
![Page 48: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/48.jpg)
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
![Page 49: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/49.jpg)
Memoria ad accesso casuale
• il tempo di accesso è costante (indipendente dalla cella scelta)
Ta = costante
• anche detta RAM (Random Access Memory)
![Page 50: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/50.jpg)
Memoria ad accesso sequenziale
• il tempo di accesso dipende dalla cella a cui si accede
• spesso la dipendenza è lineare
Ta = K indirizzo
![Page 51: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/51.jpg)
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)
![Page 52: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/52.jpg)
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)
![Page 53: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/53.jpg)
La memoria centrale
Sistema Operativo
Programmi
Memoria Video
Programma d’avvio
(boot program)
RAM
RAM
RAM Video
ROM
![Page 54: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/54.jpg)
Memoria
Tecnologia:
• RAM: memorie a lettura e scrittura
(Random Access Memory)
• ROM: memorie a sola lettura
(Read Only Memory)
![Page 55: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/55.jpg)
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
![Page 56: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/56.jpg)
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
![Page 57: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/57.jpg)
Memoria CACHE….. ovvero la lentezza delle
RAM
microprocessore DRAM
![Page 58: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/58.jpg)
Memoria CACHEMemoria intermedia VELOCE
Trasferisco nella cachedati/istruzioni usatipiù frequentemente
CPU CACHE MEMORIA(DRAM)
![Page 59: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/59.jpg)
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% TM Tcache
![Page 60: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/60.jpg)
Prestazioni della cache
Tcache = 20 nsTRAM = 80 ns
H = 60%TM = 0.6 · 20 + 0.4 · 80 = 44 ns
H = 95%TM = 0.95 ·20 + 0.05 · 80 = 23 ns
![Page 61: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/61.jpg)
Connessioni (Bus)
![Page 62: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/62.jpg)
connettori
I Bus (ovvero il sistema circolatorio del PC)
![Page 63: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/63.jpg)
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
![Page 64: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/64.jpg)
Struttura a bus
Soluzione:segnali omologhi raggruppati in un bus, usato a turno dalle varie unità
A CB D
![Page 65: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/65.jpg)
Tipi fondamentali di bus
• bus dati ( DBus )
• bus degli indirizzi ( ABus )
• bus di controllo ( CBus )
M1 IM2 O
DBusABusCBus
![Page 66: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/66.jpg)
II
Architettura di un Calcolatore
IRAM O
DBusABusCBus
CPU
ROM
![Page 67: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/67.jpg)
Software
![Page 68: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/68.jpg)
Nel mezzo del cammin di nostra vita...
0110101101001101100101101010010110100101
letteredell’alfabeto
0
1
bitABCDE FGHILM NOPQR STUVZ
Il linguaggio del calcolatore
![Page 69: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/69.jpg)
Che cos’è un programma?
1. metti l’acqua2. accendi il fuoco
3. aspetta4. se l’acqua non
bolle torna a 35. butta la pasta6. aspetta un po’
7. assaggia8. se è cruda
torna a 6 9. scola la pasta
Sequenza di istruzioni
![Page 70: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/70.jpg)
Esecuzione dei programmi
Programmi pronti per
essere eseguiti
Memoria di massa
(i dischi)
![Page 71: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/71.jpg)
Esecuzione dei programmi
Programma ora in
esecuzione
RAM
Memoria di massa
(i dischi)CPU
![Page 72: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/72.jpg)
Classificazione del software
hardware
software di base
middleware
software applicativo
![Page 73: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/73.jpg)
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
![Page 74: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/74.jpg)
Linguaggio macchina
• codifica binaria delle istruzioni
• dipende dalla CPU (registri, operazioni, ...)
• dipende dall’architettura del calcolatore (quantità di memoria, modalità di I/O, ...)
![Page 75: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/75.jpg)
Linguaggio assembler
• codifica simbolica delle istruzioniADD R1, R2, M[R4] ; R1= R2+ M [ R4 ]
• meta-istruzioniTOT: DB 0 ; crea ed azzera TOT
• linguaggio unico per architettura di CPU (es. Dec AXP, Intel 80x86)
![Page 76: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/76.jpg)
Linguaggi ad alto livello(HLL - High Level Language)
• elaboratore virtuale
• istruzioni orientate alla soluzione di problemiA = SINH (5.57*C)
• linguaggio indipendente dalla piattaforma HW (richiedono programmi di traduzione)
![Page 77: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/77.jpg)
Traduzione dei linguaggi
editoreditor
compilatorecompilatore
linkerlinker
filesorgente
fileoggetto
algoritmo
fileeseguibile
libreria
![Page 78: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/78.jpg)
RAM
interpreteinterprete
10 for I=1 to 520 print I, I*I30 next IRUN
filesorgente
![Page 79: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/79.jpg)
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
![Page 80: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/80.jpg)
Interprete o compilatore?
Interprete:
• controlla e traduce le istruzioni ad ogni esecuzione del programma
+ correzione degli errori e debug veloce
– caricamento ed esecuzione lenta
– codice sorgente leggibile
![Page 81: Lelaboratore elettronico PARTE A. input (dati) output (risultati) (elaborazione)](https://reader036.vdocuments.net/reader036/viewer/2022062512/5542eb4e497959361e8bc935/html5/thumbnails/81.jpg)
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, ...)