CALCOLATORI ELETTRONICI
Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita a un anno accademico precedente?
Ecco come fare >>
- English course description
- Anno accademico
- 2018/2019
- Docente
- MASSIMILIANO RUGGERI
- Crediti formativi
- 6
- Periodo didattico
- Primo Semestre
- SSD
- ING-INF/05
Obiettivi formativi
- Il corso è introduttivo alla struttura e al funzionamento dei calcolatori e, in generale, dei processori e dei microcontrollori.
L'obiettivo principale del corso è rendere lo studente conscio delle potenzialità e delle modalità di esecuzione delle operazioni da parte dei calcolatori.
Lo studente acquisirà la conoscenza dei metodi di trattamento delle informazioni a livello:
1) hardware: struttura degli elaboratori
2) hardware: processore
3) hardware: nei sistemi di memorie fino alle cache
4) hardware: nei sistemi di periferiche
5) hardware: a livello di linguaggio macchina
6) software: linguaggi assembler e microcodice
7) software: linguaggi di alto livello (imperativi): raffronto con il linguaggio C/C++.
8) prestazioni dei calcolatori e leve progettuali per il loro miglioramento.
Al termine del corso lo studente, avendo acquisito le conoscenze su tutte le modalità con cui sono eseguite le istruzioni nei calcolatori, avrà la capacità di applicare gli strumenti per la programmazione in assembler, per la scrittura di firmware su sistemi general purpose su piattaforma PC e su sistemi embedded basati su processori intel e di applicare la conoscenza di base della struttura dei calcolatori a livello di architettura interna, di struttura hardware e di funzionamento dei livelli di codice operativo legati al funzionamento dell'hardware (Bios). Avrà quindi l’abilità di mappare aree di memoria nello spazio di indirizzamento del processore, di calcolare i chip select e di realizzare il disegno della parte di scheda che interessa le memorie. Lo studente sarà inoltre in grado di mappare periferiche direttamente connesse al bus principale del processore e avrà acquisito l’abilità di valutare le prestazioni di calcolatori. Prerequisiti
- "reti logiche" or "analisi e sintesi dei circuiti digitali"
Contenuti del corso
- I sistemi digitali: campi di applicazione, principi di funzionamento, problematiche di progetto. Considerazioni introduttive sulle modalità di rappresentazione, di elaborazione e di trasferimento delle informazioni nell'ambito dei sistemi digitali.
Principi architetturali e problematiche di progetto di un calcolatore elettronico. L'unità centrale di elaborazione e controllo, l'unità di memoria, l'unità di ingresso-uscita: funzionalità e tecniche di interfacciamento.
Il linguaggio assembler Intel per x86.
Il processori della famiglia Intel x86.
Il Pentium. Metodi didattici
- Lezioni teoriche frontali in aula su argomenti relativi ad architettura dei calcolatori, prestazioni e caratteristiche dei componenti (memorie perifercihe e processori).
Lezioni teoriche ed esercitazioni di laboratorio su linguaggio macchina e linguaggio assembler.
Esercitazioni di preparazione alle prove di esame. Modalità di verifica dell'apprendimento
- Il superamento dell'esame è prova di aver acquisito le conoscenze e le abilità specificate negli obiettivi formativi dell'insegnamento.
L'esame consiste in 1 prova scritta della durata di due ore. Ogni prova scritta è composta da tre esercizi che hanno lo scopo di valutare la preparazione dello studente nelle principali aree di insegnamento del corso. Il primo esercizio è sui linguaggi di basso livello, tipicamente linguaggio assembler per famiglie X86. L'esercizio consiste nel progetto di un driver, di una funzione matematica o di manipolazione di dati, da svolgere in linguaggio Assembler, compilare ed eseguire. L'esercizio può essere svolto in aula o il laboratorio in funzione al numero degli studenti iscritti a ogni prova e alla disponibilità dei laboratori. Il secondo esercizio è un esercizio di progetto circuitale di una parte di un sistema a microprocessore. Tipicamente, ma non in modo esclusivo, viene chiesto allo studente di mappare aree di memoria nello spazio di indirizzamento del processore, di calcolare i chip select e di realizzare il disegno della parte di scheda che interessa le memorie. Varianti degli esercizi richiedono anche la mappatura di periferiche direttamente connesse al bus principale del processore. Si tratta di processori a 8, 16 e 32 bit tipicamente. Il terzo esercizio può essere incentrato su valutazione di prestazioni di calcolatori, oppure su calcoli dimensionali e prestazionali di memorie cache, oppure ancora su processori Pentium e loro struttura. La valutazione del peso di ogni esercizio dipende dalla complessità degli stessi, ma normalmente i pesi sono quasi uguali per i tre esercizi, con uno sbilanciamento sull'esercizio in assembler per maggiore complessità dello stesso. Testi di riferimento
- Tutti i testi indicati sono utilizzabili per il corso in egual misura.
1) Giacomo Bucci, Architetture dei Calcolatori Elettronici, McGraw-Hill
2) Andrew S.Tanenbaum, Architetture dei calcolatori, Un approccio Strutturale, Pearson-Prentice Hall.