Docenti
ispirate agli esercizi e all’attività di laboratorio sostenuta durante il corso.
Eccezionalmente agli studenti può essere chiesto di sostenere una prova orale supplementare oppure sostitutiva.
lucidi presentati a lezione e dal completamento degli esercizi proposti in classe, entrambi reperibili nel web e-learning di ateneo. Video delle lezioni vengono riprese e rese accessibili attraverso la piattaforma MS Teams.
elementari che costituiscono un computer e considera componenti sempre più complesse fino ad arrivare allo studio di architetture complete di calcolatori.
Argomenti trattati sono: la progettazione di semplici circuiti logici, le codifiche ì hardware dell’informazione, la struttura del processore, il
collegamento e la comunicazione tra periferiche e processore, il tema della memoria (cache, centrale, di massa, virtuale), la programmazione in
linguaggio assembly.
Il corso è accompagnato da una parte di laboratorio in cui lo studente si esercita nella
progettazione di circuiti logici e nella programmazione in linguaggio macchina.
Capacità relative alle discipline
1.1 Conoscenza e capacità di comprensione: dopo
aver superato l’esame si ritiene che lo studente sia in grado di comprendere il funzionamento
dell’hardware e conoscere i fattori che influenzano le prestazioni dei calcolatori.
1.2 Conoscenza e capacità di comprensione applicate: l’attività di laboratorio permette allo studente di impratichirsi con la progettazione a basso livello, sia di semplici sistemi digitali, che di programmi scritti in linguaggio macchina, ossia
eseguibili direttamente dal calcolatore.
Capacità trasversali/soft skills
2.1 Autonomia di giudizio: lo studente acquisisce gli strumenti per poter valutare e scegliere in maniera ponderata l’architettura hardware da
utilizzare.
2.2 Abilità comunicative: lo studente impara l’esatto significato dei vari termini usati per descrivere le caratteristiche e le specifiche di un calcolatore ed usarle in maniera appropriata.
2.3 Capacità di apprendimento: il corso mira a
fornire allo studente un quadro concettuale sufficientemente rigoroso completo da permettergli di affrontare con sicurezza lo studio dettagliato delle varie componenti di un
calcolatore.
– Reti logiche: porte logiche elementari, algebre booleane, circuiti combinatori d’uso frequente, progettazione circuiti sequenziali, chip di
memoria.
– Rappresentazione delle informazioni: sistema di numerazione binario,
conversione tra basi, rappresentazione di numeri interi e reali, rappresentazione di caratteri, codici di rilevamento errori.
– Processore: ciclo di fetch-decode-execute, data path, unità di controllo, pipeline, processori superscalari, predizione di salto, esecuzione fuori ordine, cenni su meta-processore MIC, Intel Core e AMD ARM.
– Linguaggio Macchina: evoluzione dei linguaggi macchina, tipi di dati,
indirizzamento, tipi d’istruzioni, formati istruzioni.
– Input/Output: I/O programmato, interruzioni, accesso diretto alla memoria, dispositivi periferici, collegamenti mediante bus, meccanismi
d’arbitraggio e incronizzazione del bus, architettura di un tipico PC, bus PCI, SCSI, USB.
– Gerarchie di Memoria: meccanismi di funzionamento della memoria cache e della memoria virtuale, paginazione e segmentazione, MMU.
– Programmazione assembly. Architettura ARM. Istruzioni ARM: assegnamento, salto, aritmetiche-logiche. Modalità d’indirizzamento, chiamate di funzione, direttive all’assemblatore.
– L’architettura della scheda Arduino e la sua programmazione in
Assemply per applicazioni IoT,
Attività di Laboratorio.
Durante il corso verranno svolte 24 ore di laboratorio, dove verrà approfondita la progettazione di circuiti digitali e la programmazione in linguaggio assembly.
Università degli Studi di Udine
Dipartimento di Scienze Matematiche, Informatiche e Fisiche (DMIF)
via delle Scienze 206, 33100 Udine, Italy
Tel: +39 0432 558400
Fax: +39 0432 558499
PEC: dmif@postacert.uniud.it
p.iva 01071600306 | c.f. 80014550307
30 km from Slovenia border
80 km from Austria border
120 km from Croatia border
160 km South West of Klagenfurt (Austria)
160 km West of Lubiana (Slovenia)
120 km North East of Venezia (Italy)