Sei sulla pagina 1di 30

Fondamenti di Informatica

Musicale per il corso di


Videoscrittura ed Editoria
Musicale Informatizzata
Lezione 3 parte B
Sommario
• Architettura di un computer
• CPU
• Periferiche
• Il computer quantistico
• Rappresentazione binaria dei dati
• Campionamento di un segnale audio
• Il protocollo midi
• Formati per la conservazione delle informazioni musicali: xml
• Il protocollo OSC e l’architettura di una rete di dati
Il primo calcolatore elettronico digitale
general purpose della storia: ENIAC
Electronic Numerical Integrator and Computer (1946)

Il computer occupava una superficie di 180


metri quadrati e aveva un peso di 30
tonnellate. 

L'ENIAC assorbiva talmente tanta energia


elettrica che, alla sua prima messa in
funzione, causò un black out nel quartiere
ovest di Philadelfia

La memoria poteva contenere solo 20 numeri di 10 cifre

Impiegava circa 17.000 valvole e dissipava una potenza di 150 kW. Input e output avvenivano tramite schede perforate, la
programmazione inizialmente tramite interruttori e riconfigurazione hardware (spostamento di cavi di connessione). Nel
1948, fu il primo calcolatore a utilizzare programmi immagazzinati in memoria.
Computer portatile

Dimensioni costi e prestazioni non paragonabili con ENIAC!


Architettura di un computer
Architettura di von Neumann 

(control Unit)
Architettura di un computer

CPU

Scheda logica di un computer


Microprocessore al microscopio
ALU
È il cuore della CPU, ovvero l'unità che si occupa del puro calcolo logico-matematico.
L'ALU assolve il suo compito di computazione grazie alle porte logiche (NOT, AND, OR)
costruite con diodi e transistori, che a loro volta sono realizzati in silicio
opportunamente drogato per sfruttare tutte le caratteristiche della funzione P-N.
Un'unità ALU ben progettata è il fulcro essenziale di un calcolatore che lavora al
massimo delle sue potenzialità.

Come base computazionale, lʼALU utilizza il sistema binario, a sua volta regolato
dalle tensioni differenti di un flusso elettronico.
Grazie alle porte logiche e agli algoritmi di calcolo, unʼunità ALU moderna è in grado di
computare grandi quantità di dati, con milioni di operazioni al secondo.
Il compito dellʼALU è quindi puramente matematico: esegue calcoli logici su istruzioni
dellʼUnità di Controllo.
ALU
• Generalmente, ogni produttore tiene segreti gli schemi logici di una ALU (o almeno,
cerca di farlo), almeno quelli non essenziali al programmatore per scrivere uno
specifico software.
Ovviamente, più unità ALU possono cooperare insieme, per spartirsi le istruzioni ed
operare più velocemente, ed è bene ricordare che un qualsiasi ingegnere elettronico
bravo può progettare unʼunità ALU per qualsivoglia compito, anche specifico;
ovviamente, tenendo sempre in considerazione che più lʼunità ALU esegue operazioni
logiche complesse (anche tutte quelle immaginabili), più sarà lenta e costosa.

• Al contrario, un'unità ALU con poche operazioni logiche sarà molto più snella e veloce.
A differenza dello scherma originale di von Neumann quindi, le CPU moderne non
implementano una sola ALU, ma svariate unità che lavorano in cooperazione
Registri
Parte fondamentale per l’ottimizzazione dellʼunità ALU è una specifica parte
di memoria integrata nella CPU, velocissima.
Nella gerarchia delle memorie, è l’elemento più veloce con cui unʼALU può
comunicare, ovvero il registro del processore (ai tempi di von Neumann
chiamato accumulatore).

Questa particolare memoria ha un compito fondamentale: come il nome


suggerisce infatti, è il registro dove lʼALU copia i dati da elaborare e
le istruzioni dalla memoria principale, carica gli operandi necessari ad
elaborarli, li elabora e poi li trasferisce ancora nella memoria principale.
Registri
Ci sono moltissime classi di registri, ed il numero di bit che possono contenere
per l'elaborazione è variabile (dai  4 bit in contemporanea dei vecchi processori
sino ai  64 bit ): per sommi capi, il numero di bit che può contenere un registro
è già una grezza misura della potenza di calcolo della CPU.

Si sente spesso parlare, spesso in maniera non propria,


di “processori a 8, 16, 32 o 64 bit”; questa classificazione
dipende anche (ma non solamente) proprio dalla capienza
dei registri della CPU.
Infatti, i processori non elaborano
istruzioni singolarmente, bit per bit, ma usano un insieme
di bit predefinito e ben specificato.
Interno di un microprocessore
Unità di controllo
É la mente dell'unità ALU, che invece risulta
il 'braccio esecutivo' della computazione.
Compiti:
- Legge dalla memoria principale le istruzioni 
Unità di controllo al microscopio
- affida tutto alla ALU per l'esecuzione delle
operazioni logiche,
- scrive il risultato di nuovo sulla memoria
principale oppure in un registro della CPU.

- Allʼoccorrenza, legge pure i dati per


lʼistruzione precedentemente letta.
Floating point Unit
• E’ una ALU dedicata al calcolo dei numeri in virgola mobile. Nei primi
processori era esterna alla CPU (coprocessore matematico);
• Ora il suo schema logico è all’interno della CPU
Cache Memory
• E’ una memoria con accesso rapidissimo.
• Conserva le operazioni più comuni e i dati già elaborati in passato che
ricorrono spesso perché richiamati spesso dall’unità di controllo.
• In una cache memory non c’è sicurezza di trovare le operazioni più eseguite.
Qualora non fossero presenti, vanno rielaborate dall’ALU, impiegando più
“cicli di calcolo”
• in un processore moderno sono presenti tre CPU cache, integrate :
chiamate cache L1, L2 e L3.
• La CPU seguirà un percorso definito in ordine di importanza per tentare di
leggere i dati eventualmente conservati nelle due CPU cache: registri >
cache L1 > cache L2 > cache L3 > memoria principale > memoria di massa.
Memory Management Unit (MMU)
• Un componente essenziale nelle moderne CPU,
specie di quelle che si trovano ad operare con
Sistemi Operativi dotati di meccanismo di memoria
virtuale.
Lʼunità (di solito molto complessa) come suggerisce
il nome gestisce al meglio la memoria principale,
sollevando lʼunità di controllo da qualche mansione MMU AMD del 1982
pesante (ad esempio di controllare
incessantemente la CPU cache) e, sostanzialmente,
di mettere la CPU in condizione di dialogare al
meglio con la memoria principale.
• Negli attuali processori la MMU è all’interno della
CPU
Graphic Processing Unit (GPU)

• E’ un Componente originariamente non presente nello schema di von


Neumann, ma necessario  nei computer contemporanei.
• Chiamato anche 'cooprocessore grafico', è in pratica una CPU a tutti
gli effetti, con lo scopo, però, di elaborare i calcoli grafici e, nello
specifico, i calcoli dei poligoni in 3D e delle relative texture, ombre,
ecc…
Si tratta quindi di un processore estremamente specializzato, che
entra in azione solo quando c'è da esentare la CPU principale nei
compiti che essa farebbe molto più lentamente.
Graphic Processing Unit (GPU)
• Le GPU cominciarono a divenire necessarie a fine anni '80-inizio anni '90
del 1900, quando l'industria della cinematografia iniziò a richiedere effetti
speciali digitali in grosse quantità.
• Poco dopo, la consorella industria videoludica, con l'avvento della grafica
3D e la sua enorme popolarità nel mercato, si accodò alle richieste,
spingengo quindi i produttori ad investire forti risorse nel settore
dell'accelerazione grafica.
• Prima dei cooprocessori dedicati, il calcolo grafico era demandato
direttamente alla CPU, oppure a chipset specifici (come nel caso della
piattaforma Amiga).
• I maggiori produttori mondiali di GPU sono AMD, che ha acquisito tutta la
tecnologia della vecchia ATI, Nvidia ed Intel.
Graphic Processing Unit (GPU)

Coprocessore Grafico
Il parallelismo di calcolo
• con l'avvento del parallelismo di calcolo e con GPU ormai potenti forse più delle
CPU, i Sistemi Operativi hanno cominciato ad usare i processori grafici anche
per altri scopi, e non solo per il calcolo dei modelli 3D; questo fatto, unito
alla sempre più alta richiesta di dispositivi mobili con forti prestazioni grafiche,
ha convinto i produttori ad includere un core d'elaborazione grafica direttamente
nelle CPU, dando così il via al mercato delle 'grafiche integrate'.
• Una GPU può quindi essere discreta, ovverosia quando è su un chip separato e
dedicato oppure integrata, quando è inclusa direttamente nel chip della CPU.
• Soluzioni di alto livello (e costo) prevedono una soluzione doppia, ovverosia
discreta ed integrata, lasciando scegliere automaticamente al Sistema Operativo,
oppure manualmente all'utente, quando usare l'una o l'altra.
• Sistemi desktop professionali per applicazioni di editing video possono includere
anche più di una GPU, facendo lavorare tutte le scheda grafiche in parallelo.
Segnale di clock
Il segnale di clock, che è necessario per sincronizzare
ogni operazione all’interno del computer, in modo
analogo ad un metronomo, è dato dalle oscillazioni di un
quarzo che sollecitato, è in grado di emettere un
enorme numero di impulsi in modo estremamente
Oscillatore al quarzo con batteria
regolare.
Ad ogni ciclo di clock ogni componente del processore
compiono un’operazione.
Tra un ciclo di clock e l’altro il computer non è operativo
Per eseguire un’istruzione tutti i componenti della CPU
utilizzano qualche ciclo di clock
Le attuali frequenze di clock sono dell’ordine dei GHz
MEMORIA VOLATILE RAM
La memoria RAM (Random Access Memory) può
essere pensata come un enorme insieme di caselle
che possono memorizzare solo due valori
convenzionalmente 0 e 1.
Il dato da memorizzare deve essere indirizzato in una
casella particolare e successivamente ripreso, quindi è
necessario sapere non solo il valore da memorizzare
ma anche il suo indirizzo di memoria

Nella memoria RAM vengono copiati (caricati) i programmi che la CPU  deve eseguire.
Una volta chiuso il programma, le modifiche effettuate, se non opportunamente salvate
sul disco rigido (o altre memorie secondarie non volatili) , verranno perse.
Memorie di Massa
• HD (allo stato solido o meccanici)
• ROM
• CD
• DAT (Digital audio tape)
Esempio di unità di input

Ad ogni tasto corrisponde un codice di 7 o 8 bit (codifica ASCII)


Codifica ascii a 7 bit

Caratteri American
American Standard
Standard Code
Code for
for Information
Information Interchange
Interchange
Caratteri stampabili
stampabili
Binario
Binario Oct
Oct Dec
Dec Hex
Hex Glifo
Glifo Binario
Binario Oct
Oct Dec
Dec Hex
Hex Glifo
Glifo
010
010 0000
0000 040
040 32
32 20
20 Space
Space 100
100 0000
0000 100
100 64
64 40
40 @@
010
010 0001
0001 041
041 33
33 21
21 !! 100
100 0001
0001 101
101 65
65 41
41 AA
010
010 0010
0010 042
042 34
34 22
22 "" 100
100 0010
0010 102
102 66
66 42
42 BB
010
010 0011
0011 043
043 35
35 23
23 ## 100
100 0011
0011 103
103 67
67 43
43 CC
010
010 0100
0100 044
044 36
36 24
24 $$ 100
100 0100
0100 104
104 68
68 44
44 DD
010
010 0101
0101 045
045 37
37 25
25 %% 100
100 0101
0101 105
105 69
69 45
45 EE
010
010 0110
0110 046
046 38
38 26
26 && 100
100 0110
0110 106
106 70
70 46
46 FF
010
010 0111
0111 047
047 39
39 27
27 '' 100
100 0111
0111 107
107 71
71 47
47 GG
010
010 1000
1000 050
050 40
40 28
28 (( 100
100 1000
1000 110
110 72
72 48
48 HH
010
010 1001
1001 051
051 41
41 29
29 )) 100
100 1001
1001 111
111 73
73 49
49 II
010
010 1010
1010 052
052 42
42 2A
2A ** 100
100 1010
1010 112
112 74
74 4A
4A JJ
010
010 1011
1011 053
053 43
43 2B
2B ++ 100
100 1011
1011 113
113 75
75 4B
4B KK
010
010 1100
1100 054
054 44
44 2C
2C ,, 100
100 1100
1100 114
114 76
76 4C
4C LL
010
010 1101
1101 055
055 45
45 2D
2D -- 100
100 1101
1101 115
115 77
77 4D
4D MM
010
010 1110
1110 056
056 46
46 2E
2E .. 100
100 1110
1110 116
116 78
78 4E
4E NN
010
010 1111
1111 057
057 47
47 2F
2F // 100
100 1111
1111 117
117 79
79 4F
4F OO
011
011 0000
0000 060
060 48
48 30
30 00 101
101 0000
0000 120
120 80
80 50
50 PP
011
011 0001
0001 061
061 49
49 31
31 11 101
101 0001
0001 121
121 81
81 51
51 QQ
011
011 0010
0010 062
062 50
50 32
32 22 101
101 0010
0010 122
122 82
82 52
52 RR
011
011 0011
0011 063
063 51
51 33
33 33 101
101 0011
0011 123
123 83
83 53
53 SS
011
011 0100
0100 064
064 52
52 34
34 44 101
101 0100
0100 124
124 84
84 54
54 TT
011
011 0101
0101 065
065 53
53 35
35 55 101
101 0101
0101 125
125 85
85 55
55 UU
011
011 0110
0110 066
066 54
54 36
36 66 101
101 0110
0110 126
126 86
86 56
56 VV
011
011 0111
0111 067
067 55
55 37
37 77 101
101 0111
0111 127
127 87
87 57
57 WW
011
011 1000
1000 070
070 56
56 38
38 88 101
101 1000
1000 130
130 88
88 58
58 XX
011
011 1001
1001 071
071 57
57 39
39 99 101
101 1001
1001 131
131 89
89 59
59 YY
011
011 1010
1010 072
072 58
58 3A
3A :: 101
101 1010
1010 132
132 90
90 5A
5A ZZ
011
011 1011
1011 073
073 59
59 3B
3B ;; 101
101 1011
1011 133
133 91
91 5B
5B [[
011
011 1100
1100 074
074 60
60 3C
3C << 101
101 1100
1100 134
134 92
92 5C
5C \\
011
011 1101
1101 075
075 61
61 3D
3D == 101
101 1101
1101 135
135 93
93 5D
5D ]]
011
011 1110
1110 076
076 62
62 3E
3E >> 101
101 1110
1110 136
136 94
94 5E
5E ^^
011
011 1111
1111 077
077 63
63 3F
3F ?? 101
101 1111
1111 137
137 95
95 5F
5F __
Codifica ascii a 7 bit
Caratteri
Caratteri stampabili
stampabili

Binario
Binario Oct Dec Hex Glifo
110
110 0000
0000
Oct Dec
140
140
Hex
96
96
Glifo
60
60 `` Alla
Alla specifica
specifica iniziale
iniziale basata
basata su su codici
codici di
di 77 bit
bit
110
110 0001
110
0001
110 0010
0010
141
141
142
142
97
97
98
98
61
61
62
62
aa
bb
fecero
fecero seguito
seguito negli
negli anni
anni molte
molte proposte
proposte didi
110
110 0011
110
0011 143
143 99
99 63
63 cc estensione
estensione ad ad 88 bit,
bit, con
con lo
lo scopo
scopo didi raddoppiare
raddoppiare ilil
110 0100
0100 144
144 100
100 64
64 dd
110
110 0101
0101 145
145 101
101 65
65 ee numero
numero di di caratteri
caratteri rappresentabili.
rappresentabili. NeiNei PC
PC IBMIBM si si
110
110 0110
0110 146
146 102
102 66
66 ff
110
110 0111
0111 147
147 103
103 67
67 gg fa
fa per
per l'appunto
l'appunto usouso di di una
una didi queste
queste estensioni,
estensioni,
110
110 1000 150 104 68 hh
110
1000
110 1001
1001
150
151
151
104
105
105
68
69
69 ii ormai
ormai standard,
standard, chiamata
chiamata extended
extended ASCII
ASCII oo high
high
110
110 1010
110
1010
110 1011
1011
152
152
153
153
106
106
107
107
6A
6A
6B
6B
jj
kk
ASCII.
ASCII. In In questo
questo ASCII
ASCII esteso,
esteso, ii caratteri
caratteri aggiunti
aggiunti
110
110 1100
110
1100 154
154 108
108 6C
6C ll sono
sono vocali
vocali accentate,
accentate, simboli
simboli semigrafici
semigrafici ee altri
altri
110 1101
1101 155
155 109
109 6D
6D mm
110
110 1110
1110 156
156 110
110 6E
6E nn simboli
simboli di di uso
uso meno
meno comune.
comune.
110
110 1111
1111 157
157 111
111 6F
6F oo
111
111 0000
0000 160
160 112
112 70
70 pp
111
111 0001
0001 161
161 113
113 71
71 qq
111
111 0010
0010 162
162 114
114 72
72 rr Esempio
Esempio di di codifica
codifica ascii
ascii
111
111 0011
111
0011 163
163 115
115 73
73 ss La
La scritta
scritta “musica” corrisponde aa == 6D
“musica” corrisponde 6D 75
75 73
73 6A
6A 63
63 61
61 (esadecimale)
(esadecimale)
111 0100
0100 164
164 116
116 74
74 tt
111
111 0101
0101 165
165 117
117 75
75 uu Che tradotta in binario corrisponde
Che tradotta in binario corrisponde a a
111
111 0110
0110 166
166 118
118 76
76 vv 110
110 1101-
1101- 111111 0101-
0101- 111
111 0011-
0011- 110
110 1001-
1001- 110
110 0011-
0011- 110
110 0001
0001
111
111 0111 167 119 77 w
111
0111 167 119 77 w (binario)
(binario)
111 1000
1000 170
170 120
120 78
78 xx
111
111 1001
1001 171
171 121
121 79
79 yy
111
111 1010
1010 172
172 122
122 7A
7A zz
111
111 1011
1011 173
173 123
123 7B
7B {{
111
111 1100
1100 174
174 124
124 7C
7C ||
111
111 1101
1101 175
175 125
125 7D
7D }}
111
111 1110
1110 176
176 126
126 7E
7E ~~
Architettura a 32 bit e 64 bit
Fino al 2006, i sistemi operativi Windows venivano scritti utilizzando l'architettura
a 32 bit. 32 bit sono semplicemente la "larghezza" del data bus, un po' come le
corsie di un'autostrada.
Con il progresso della tecnologia hardware, la necessità di funzionalità di gestione
dei dati più rapide ed efficienti è rapidamente diventata una necessità. Come
risultato di queste esigenze crescenti è arrivata una nuova architettura hardware e
software per la gestione di questi progressi, il processore a 64 bit e il sistema
operativo a 64 bit.
Anche se la tecnologia a 64 bit non è particolarmente nuova, per la maggior parte
degli utenti rappresenta un vantaggio.
Ora che i costi per l'hardware necessario sono diminuiti, il sistema operativo a 64
bit è sempre più diffuso.
Architettura a 32 bit e 64 bit
In Windows, è possibile vedere se si dispone di un sistema operativo a 32 bit o a 64 bit
accedendo al pannello di controllo e aprendo l'icona del sistema oppure utilizzando tasto
Windows + tasto funzione Pausa
Sistemi operativi a 64 bit:
nel 2002, Linux e Microsoft hanno rilasciato i primi sistemi operativi commerciali a 64 bit.
Linux ha rilasciato Red Hat 7.1 e Microsoft ha presentato Windows XP 64-Bit Edition.
Inizialmente venivano utilizzati dagli amministratori di server e da utenti con software di
fascia alta, ad es. applicazioni di rendering.
Con la necessità di accedere in modo più efficiente ad archivi di dati più grandi, ad
esempio DVD da 4,7 GB, questi sistemi operativi a 64 bit sono stati offerti anche agli
utenti con esigenze meno stringenti. In 2016, i sistemi operativi a 64 bit sono diventati lo
standard.
Architettura a 32 bit e 64 bit
In Windows, è possibile vedere se si dispone di un sistema operativo a 32 bit o a 64 bit
accedendo al pannello di controllo e aprendo l'icona del sistema oppure utilizzando tasto
Windows + tasto funzione Pausa
Sistemi operativi a 64 bit:
nel 2002, Linux e Microsoft hanno rilasciato i primi sistemi operativi commerciali a 64 bit.
Linux ha rilasciato Red Hat 7.1 e Microsoft ha presentato Windows XP 64-Bit Edition.
Inizialmente venivano utilizzati dagli amministratori di server e da utenti con software di
fascia alta, ad es. applicazioni di rendering.
Con la necessità di accedere in modo più efficiente ad archivi di dati più grandi, ad
esempio DVD da 4,7 GB, questi sistemi operativi a 64 bit sono stati offerti anche agli
utenti con esigenze meno stringenti. In 2016, i sistemi operativi a 64 bit sono diventati lo
standard.
Architettura a 32 bit e 64 bit
Differenze:
La differenza principale tra i sistemi operativi a 32 bit e a 64 è la modalità di gestione della memoria. Ad
esempio, Windows XP 32-bit ha il limite di un totale di 4 GB di memoria di sistema da allocare dal kernel e
dalle applicazioni

Windows 64-bit ha un limite massimo di 16 terabyte di allocazione della memoria di sistema. Si tratta di un
aspetto estremamente importante per le prestazioni, in quanto i dati in memoria vengono raggiunti migliaia di
volte più velocemente che da un'unità disco.

I programmi inoltre vengono caricati molto più velocemente in memoria. Il sistema XP a 64 bit offre anche una
maggiore sicurezza perché viene scritta dalla base di codice di Server 2003 SP1. Gli utenti di software di
modellazione, statistica e rendering traggono un vero vantaggio dall'architettura a 64 bit, in quanto questi
programmi in genere presentano elevati utilizzi di processore e memoria.
Il computer quantistico
• https://video.virgilio.it/guarda-video/sinfonia-quantistica-nei-comput
er-di-domani--dal-bit-al-qubit---catalina-oana-curceanu
---tedxroma_bc5176509973001

Potrebbero piacerti anche