|
||||||||||
|
Politecnico di Torino | |||||||||||||||||||||||||
Anno Accademico 2015/16 | |||||||||||||||||||||||||
12AGAOA Calcolatori elettronici |
|||||||||||||||||||||||||
Corso di Laurea in Ingegneria Informatica - Torino |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Esclusioni: 02KTM |
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) - Struttura e funzionamento dei bus di comunicazione (3 ore) - Il sistema di memoria (5 ore) - Tecniche per la gestione delle periferiche (7 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 di 1,5 ore (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: 9 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 |
|