en
Politecnico di Torino
Anno Accademico 2017/18
12AGAOA
Calcolatori elettronici
Corso di Laurea in Ingegneria Informatica - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Rebaudengo Maurizio ORARIO RICEVIMENTO O2 IINF-05/A 50 15 15 0 17
Sonza Reorda Matteo ORARIO RICEVIMENTO PO IINF-05/A 50 15 15 0 24
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
Presentazione
Il corso mira a fornire i concetti fondamentali relativi ai sistemi di elaborazione dell’informazione; il corso introduce il concetto di sistema di elaborazione dell’informazione, descrivendone l’architettura, il funzionamento e illustrando gli aspetti teorici e pratici della sua progettazione. Il corso tratta inoltre dell’interazione tra i moduli hardware e software, soffermandosi in particolare sui sistemi a microprocessore; una parte significativa del corso riguarda i processori e la loro interazione con le memorie e i dispositivi periferici. Al fine di meglio comprendere il funzionamento di un sistema a processore, il corso include una parte relativa alla programmazione in linguaggio Assembler. Alcuni degli argomenti del corso saranno poi ripresi in corsi successivi (ad esempio nel campo dei Sistemi Operativi).
Risultati di apprendimento attesi
Conoscenze di base riguardanti la progettazione dei circuiti digitali
- Conoscenza del concetto di sistema di elaborazione
- Conoscenza dell'architettura di un generico sistema di elaborazione e dei suoi principi di funzionamento
- Conoscenza e comprensione dei moduli elementari che compongono un sistema di elaborazione, con particolare attenzione a quelli utilizzati nel progetto a livello di porte logiche e registri
- Conoscenza delle tecniche di progetto elementari di sistemi digitali (specifica e progetto di un circuito combinatorio e di un circuito sequenziale sincrono)
- Capacità di progettare semplici circuiti combinatori e sequenziali sincroni
- Conoscenza dell'architettura e del funzionamento di un microprocessore CISC e del relativo linguaggio Assembler
- Capacità di scrivere semplici programmi Assembler
- Conoscenza dell'architettura del sotto-sistema di memoria
- Conoscenza delle modalità di interfacciamento e gestione delle periferiche
- Conoscenze elementari sull'architettura dei processori RISC e superscalari
Prerequisiti / Conoscenze pregresse
Conoscenze di base di algebra booleana
- Conoscenze di base di programmazione
- Conoscenze di base sulle tecniche di rappresentazione delle informazioni
Programma
- Progetto di circuiti logici (10 ore)
- Architettura e funzionamento di un processore (10 ore)
- Programmazione in linguaggio Assembler (15 ore)
- Architettura e funzionamento di un sistema a processore (7 ore)
- Il sistema di memoria (5 ore)
- Tecniche per la gestione delle periferiche (7 ore)
- Struttura e funzionamento dei bus di comunicazione (3 ore)
- Cenni ai processori RISC e superscalari (3 ore)
Organizzazione dell'insegnamento
A partire dalla terza settimana, è previsto lo svolgimento di una esercitazione di laboratorio della durata di 1,5 ore settimanali (per un totale di 15 ore complessive), durante le quali gli studenti potranno mettere in pratica gli aspetti visti a lezione. Le esercitazioni in aula riguardano la programmazione in linguaggio Assembler. Le esercitazioni in laboratorio e in aula verranno svolte con l’ausilio di ambienti software di programmazione Assembler funzionanti su PC.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Il testo di riferimento, che copre buona parte degli argomenti è:

C. Hamacher et al., "Introduzione all’architettura dei calcolatori", Terza edizione, McGraw-Hill, 2013
W. Stallings, "Architettura e organizzazione dei calcolatori", Ottava edizione, Pearson, 2010

Per la parte di programmazione assembler può inoltre essere utile il testo:
M. Grosso, P. Prinetto, M. Rebaudengo, M. Sonza Reorda, "Il linguaggio di programmazione Assembler x86", Ed. Narcissus, 2012

Per la verifica della comprensione degli argomenti trattati è inoltre disponibile il testo:

P. Montuschi, M. Sonza Reorda, M. Violante, "Architettura dei calcolatori elettronici: raccolta di test di autovalutazione", CLUT, seconda edizione, 2013

Il docente mette a disposizione degli studenti mediante il sito del corso i lucidi utilizzati nelle lezioni, esempi di scritti di esame ed esercizi, e i manuali per le esercitazioni di laboratorio.
Criteri, regole e procedure per l'esame
L’esame si compone di una prova scritta della durata di circa 120 minuti.
La prova consiste di tre parti corrispondenti indicativamente a:
- prima parte: 10 domande a quiz (o semplici esercizi), per la durata di circa 15 minuti; è necessario rispondere correttamente ad almeno 6 di esse perché il resto dell'esame venga corretto
- seconda parte: 4 domande a risposta aperta (0÷5 punti ciascuna), per la durata di circa 40 minuti
- terza parte: 1 esercizio di programmazione assembler(0÷12 punti), per la durata di circa 60 minuti; per superare l’esame è necessario conseguire almeno 5 punti in questa parte.
Lo studente, qualora abbia conseguito un voto almeno pari a 18 nella prova scritta, può chiedere di sostenere una prova orale. La prova orale verte su tutto il programma del corso e può includere la scrittura di un semplice programma.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2017/18
Indietro