en
Politecnico di Torino
Anno Accademico 2011/12
02GOLOV
Architetture dei sistemi di elaborazione
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Mezzalama Marco ORARIO RICEVIMENTO     55 15 30 0 8
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 10 B - Caratterizzanti Ingegneria informatica
Esclusioni:
02LSE
Presentazione
The course is taught in Italian.
Insegnamento obbligatorio per Laurea Magistrale in Ingegneria Informatica, collocato al I periodo didattico del I anno.
Il corso ha lo scopo di fornire una conoscenza di base sull'architettura dei sistemi di elaborazione, con particolare riferimento ai sistemi basati su microprocessore. Il corso analizzerà le varie componenti di un sistema di elaborazione: dall'architettura interna dei microprocessori, ai bus di sistema alla gestione dei principali periferici.
Risultati di apprendimento attesi
-- Conoscenza delle architetture delle diverse classi di processore, con particolare riferimento ai processori della famiglia x86 e ARM.
- Conoscenza delle architetture superscalari e multithread
- Conoscenza delle architetture e delle metodologie per la progettazione della memoria centrale nelle sue varie gerarchie (cache L1, L2,') e delle tecnologie (DDR3 , ..)
- Conoscenza delle caratteristiche dei bus di sistema, di cpu e di I/O
- Conoscenza delle tecniche per la gestione degli I/O e progettazione delle interfacce.
- Capacità di analizzare le prestazioni di un'architettura basata su microprocessori
- Capacità di progettare sistemi basati su microprocessori
- Capacità di progettare moduli di memoria
- Capacità di progettare interfacce per periferici
- Capacità di progettare codice in assembler per la gestione di dispositivi di I/O
Prerequisiti / Conoscenze pregresse
-- Conoscenza dell'architettura dei sistemi di elaborazione: struttura del processore e organizzazione della memoria
- Conoscenza delle funzioni basilari dei sistemi operativi
- Capacità di sviluppare programmi in linguaggio assembler
Programma
- Architetture dei microprocessori CISC della famiglia x86 (2 crediti)
- Classificazione
- Architettura dei registri
- Struttura del bus interno e esterno
- Gestione della memoria segmentata e paginata
- Modo reale e modo protetto

- Architetture dei microprocessori della famiglia ARM (0.5 crediti)
- Architettura dei registri
- Struttura del bus interno e esterno
- Gestione della memoria e degli I/O

- Architetture del sottosistema di memoria (1 credito)
- Memoria cache
- Dispositivi e modelli per la memoria RAM
- Progettazione di banchi di memoria

- Architetture dei bus di sistema (1 credito)
- Classificazione e tempistica
- Esempi di bus: PCI

- Architetture dei microprocessori superscalari (1 credito)

- Gestione dei periferici (1.5 crediti)
- Interrupt, DMA
- Architettura delle interfacce
- Analisi delle periferiche più diffuse (porte seriali, parallele, timer)
- Sviluppo di driver software
- Gestione dei dischi magnetici
Organizzazione dell'insegnamento
- Esercitazioni in aula (2 crediti)
- Sviluppo di programmi in linguaggio assembler x86
- Sviluppo di programmi in linguaggio assembler ARM
- Sviluppo di interfacce per periferici
- Progetto di semplici sistemi

- Esercitazioni in laboratorio (1 crediti)
- Realizzazione di programmi in linguaggio assembler da verificare su diverse piattaforme.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
-- Prinetto, Rebaudengo, Sonza:
'Il linguaggio di programmazione assembler 8086', Levrotto&Bella
- Irvine:
'Assembly language for intel-based computers', IV ed., Prentice Hall
- Furber:
'ARM: system-on-chip architecture', Addison Wesley

- Materiale didattico a disposizione su Web
- Trasparenze proiettate in aula
- Esercizi
- Videoregistrazioni di lezioni ed esercitazioni

I testi, scelti tra quelli elencati, saranno comunicati a lezione dal docente titolare dell'insegnamento
Criteri, regole e procedure per l'esame
L'esame è costituito da una prova scritta articolata in due parti.
1. La prima parte consiste in domande sugli argomenti svolti a lezione. Durante lo svolgimento della prova non è possibile consultare testi o appunti.
2. La seconda parte consiste nello sviluppo di un programma in linguaggio assembler. Durante lo svolgimento della prova è consentito consultare testi o appunti.

Se il risultato della prova scritta è maggiore o uguale a 18/30, è possibile accedere alla prova orale che verterà su tutto il programma.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2011/12
Indietro