Uno dei molti vantaggi del Sistema Operativo Linux è che il suo “interno” è aperto a tutti. Il kernel Linux è un corpo grande e complesso di codice. I drivers di periferica, sono distinte “scatole nere” che fanno sì che un particolare pezzo di hardware risponda ad un interfaccia di programmazione ben definita. Le attività dell’utente sono effettuate tramite una serie di chiamate standardizzate indipendenti dal driver specifico. Quindi i driver possono essere costruiti separatamente dal resto del kernel e “inseriti” a runtime quando necessario.
Breve guida per assemblare il nostro nuovo
pc. Divisa in fasi l'intera procedura e presentata in solo documento, così da rendere più facile la lettura, e la
comprensione.
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCLAngelo Impedovo
Intro to heterogeneous parallel computing on GPU using OpenCL, the entire presentation has been presented during the Linux Day 2016 @ Polytechnic University of Bari (and therefore it is completely written in italian).
Uno dei molti vantaggi del Sistema Operativo Linux è che il suo “interno” è aperto a tutti. Il kernel Linux è un corpo grande e complesso di codice. I drivers di periferica, sono distinte “scatole nere” che fanno sì che un particolare pezzo di hardware risponda ad un interfaccia di programmazione ben definita. Le attività dell’utente sono effettuate tramite una serie di chiamate standardizzate indipendenti dal driver specifico. Quindi i driver possono essere costruiti separatamente dal resto del kernel e “inseriti” a runtime quando necessario.
Breve guida per assemblare il nostro nuovo
pc. Divisa in fasi l'intera procedura e presentata in solo documento, così da rendere più facile la lettura, e la
comprensione.
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCLAngelo Impedovo
Intro to heterogeneous parallel computing on GPU using OpenCL, the entire presentation has been presented during the Linux Day 2016 @ Polytechnic University of Bari (and therefore it is completely written in italian).
Angelo Impedovo, Linux Day 2016, Programmazione Parallela in openCL
Lezione 2. presentazione la tex
1. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Gestione dei dati in un computer
Lezione n. 4
22 marzo 2013
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 1 / 11
2. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
La CPU
Breve storia
Cos'è
La CPU (Central Processing Unit) è l'unità centrale di
elaborazione del computer (nota anche come Processore).
Prima CPU (1958):
IBM 709 CPU
griglie di circuiti elettronici
dimensioni di un armadio
CPU moderne: microprocessore
- microchip connesso alla scheda
madre.
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 2 / 11
3. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
La CPU
Struttura
Costituenti fondamentali
ALU (Arithmetic/Logic Unit): esecuzione operazioni
logiche/aritmetiche sui dati
CU (Control Unit): coordinamento attività
REGISTRI: memorizzazione temporanea di dati
special-purpose: hanno funzioni speciche
general-purpose: trattengono temporaneamente i dati di
input/output dell'ALU
Operazione su dati salvati nella memoria principale
La CU gestisce e coordina i passaggi:
memoria registri g-p ALU registri g-p
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 3 / 11
4. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
La CPU
Struttura
Costituenti fondamentali
ALU (Arithmetic/Logic Unit): esecuzione operazioni
logiche/aritmetiche sui dati
CU (Control Unit): coordinamento attività
REGISTRI: memorizzazione temporanea di dati
special-purpose: hanno funzioni speciche
general-purpose: trattengono temporaneamente i dati di
input/output dell'ALU
Operazione su dati salvati nella memoria principale
La CU gestisce e coordina i passaggi:
memoria registri g-p ALU registri g-p
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 3 / 11
5. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
La CPU
Comunicazione tra memoria principale e CPU
Architettura di Von-Neumann Bus di sistema
Insieme di
conduttori
elettrici per la
connessione
delle unità
funzionali
(CPU,
memoria,
dispositivi I/O)
Tramite il bus la CPU legge/scrive dati dalla/sulla
memoria principale (dando indirizzo cella e segnale di avviso).
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 4 / 11
6. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
La CPU
Comunicazione tra memoria principale e CPU
Architettura di Von-Neumann Bus di sistema
Insieme di
conduttori
elettrici per la
connessione
delle unità
funzionali
(CPU,
memoria,
dispositivi I/O)
Tramite il bus la CPU legge/scrive dati dalla/sulla
memoria principale (dando indirizzo cella e segnale di avviso).
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 4 / 11
7. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Concetto stored-program
(John Von Neumann -1940-)
I programmi sono codicabili
Idea
Utilizzare la memoria principale per la memorizzazione di
programmi (oltre che di dati)
Sostituisce il computer a programma cablato
(programma=particolare struttura hardware della CPU)
Vantaggi principali
Flessibilità
Velocità di programmazione
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 5 / 11
8. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Concetto stored-program
(John Von Neumann -1940-)
I programmi sono codicabili
Idea
Utilizzare la memoria principale per la memorizzazione di
programmi (oltre che di dati)
Sostituisce il computer a programma cablato
(programma=particolare struttura hardware della CPU)
Vantaggi principali
Flessibilità
Velocità di programmazione
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 5 / 11
9. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Linguaggio macchina
Cos'è
Si dice linguaggio macchina il codice in cui sono scritti i
programmi eseguibili in un computer.
Le istruzioni espresse in questo linguaggio sono dette istruzioni
macchina (codicate in stringhe di bit).
NB: Istruzioni macchina necessarie: poche
Due diverse losoe:
Architettura RISC ←→ Architettura CISC
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 6 / 11
10. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Linguaggio macchina
Cos'è
Si dice linguaggio macchina il codice in cui sono scritti i
programmi eseguibili in un computer.
Le istruzioni espresse in questo linguaggio sono dette istruzioni
macchina (codicate in stringhe di bit).
NB: Istruzioni macchina necessarie: poche
Due diverse losoe:
Architettura RISC ←→ Architettura CISC
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 6 / 11
11. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Linguaggio macchina
Cos'è
Si dice linguaggio macchina il codice in cui sono scritti i
programmi eseguibili in un computer.
Le istruzioni espresse in questo linguaggio sono dette istruzioni
macchina (codicate in stringhe di bit).
NB: Istruzioni macchina necessarie: poche
Due diverse losoe:
Architettura RISC ←→ Architettura CISC
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 6 / 11
12. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
Linguaggio macchina
Risc vs Cisc
RISC (Reduced Instruction Set Computer)
Minimo set di istruzioni macchina
Ecienza, rapidità, economicità
Es: PowerPC, ARM (basso consumo - dispositivi
mobili)
CISC (Complex Instruction Set Computer)
Molte istruzioni complesse
Facilità di programmazione, risparmio di memoria
Costi di produzione diminuiti nel tempo
Es: Intel
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 7 / 11
13. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Tipi di istruzioni
Tre gruppi di istruzioni:
1 Trasferimento dati
2 Aritmetico-logiche
3 Controllo
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 8 / 11
14. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Tipi di istruzioni
Trasferimento dati
Movimento (copia) di dati tra diverse locazioni
LOAD (mem → reg), STORE (reg → mem)
Istruzioni I/O: comunicazione con dispositivi esterni
Aritmetico-logiche
La CU attiva l'ALU in una precisa operazione
Operazioni logiche/aritmetiche
SHIFT, rotazione (ROTATE) dei contenuti di un registro
Controllo
Modicano l'esecuzione sequenziale del programma
SALTO (condizionato/incondizionato), STOP
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 9 / 11
15. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Tipi di istruzioni
Trasferimento dati
Movimento (copia) di dati tra diverse locazioni
LOAD (mem → reg), STORE (reg → mem)
Istruzioni I/O: comunicazione con dispositivi esterni
Aritmetico-logiche
La CU attiva l'ALU in una precisa operazione
Operazioni logiche/aritmetiche
SHIFT, rotazione (ROTATE) dei contenuti di un registro
Controllo
Modicano l'esecuzione sequenziale del programma
SALTO (condizionato/incondizionato), STOP
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 9 / 11
16. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Tipi di istruzioni
Trasferimento dati
Movimento (copia) di dati tra diverse locazioni
LOAD (mem → reg), STORE (reg → mem)
Istruzioni I/O: comunicazione con dispositivi esterni
Aritmetico-logiche
La CU attiva l'ALU in una precisa operazione
Operazioni logiche/aritmetiche
SHIFT, rotazione (ROTATE) dei contenuti di un registro
Controllo
Modicano l'esecuzione sequenziale del programma
SALTO (condizionato/incondizionato), STOP
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 9 / 11
17. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Un esempio
16 registri g-p (0-F) 256 celle di memoria (00-FF)
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 10 / 11
18. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Un esempio- struttura dell'istruzione macchina
Due parti costituenti:
Campo Op-Code: tipo di operazione elementare
Campo Operando: informazioni più dettagliate
Op-Code
12 tipi di operazioni elementari 1, 2, 3, · · · , 9, A, B, C
Operando: esempio
3
OP-CODE
4 A 3
OPERANDO
= 0011 0100 1010 0011
3 : operazione elementare SALVA (STORE)
⇔ SALVA il contenuto del REGISTRO 4 nella CELLA DI
MEMORIA A3
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 11 / 11
19. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Un esempio- struttura dell'istruzione macchina
Due parti costituenti:
Campo Op-Code: tipo di operazione elementare
Campo Operando: informazioni più dettagliate
Op-Code
12 tipi di operazioni elementari 1, 2, 3, · · · , 9, A, B, C
Operando: esempio
3
OP-CODE
4 A 3
OPERANDO
= 0011 0100 1010 0011
3 : operazione elementare SALVA (STORE)
⇔ SALVA il contenuto del REGISTRO 4 nella CELLA DI
MEMORIA A3
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 11 / 11
20. Gestione dei
dati in un
computer
Lezione n. 4
CPU
Breve storia
Struttura
Memoria -
CPU
Stored-
program
LINGUAGGIO
MACCHINA
Risc-Cisc
Istruzioni
Esempio
LINGUAGGIO MACCHINA
Un esempio- struttura dell'istruzione macchina
Due parti costituenti:
Campo Op-Code: tipo di operazione elementare
Campo Operando: informazioni più dettagliate
Op-Code
12 tipi di operazioni elementari 1, 2, 3, · · · , 9, A, B, C
Operando: esempio
3
OP-CODE
4 A 3
OPERANDO
= 0011 0100 1010 0011
3 : operazione elementare SALVA (STORE)
⇔ SALVA il contenuto del REGISTRO 4 nella CELLA DI
MEMORIA A3
Lezione n. 4 Gestione dei dati in un computer 22 marzo 2013 11 / 11