Servizi per la didattica
PORTALE DELLA DIDATTICA

Architetture dei sistemi di elaborazione

02GOLOV

A.A. 2020/21

2020/21

Architetture dei sistemi di elaborazione

Il corso è insegnato in italiano 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 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 alla gestione dei principali periferici.

Architetture dei sistemi di elaborazione

The course is taught in Italian. Mandatory course for Laurea Magistrale in Computer Science Engineering, didactic period I in the first year of course The purpose of the course is to provide knowledge on the elaboration system architecture, with a particular attention to microprocessor based sistems. The course analyzes the several components of an elaboration system: from the microprocessor internal architecture, peripheral devices management.

Architetture dei sistemi di elaborazione

- Conoscenza delle architetture delle diverse classi di processore, con particolare riferimento ai processori pipelined e ARM. - Conoscenza delle architetture superscalari e multi-process and multithread - Conoscenza delle architetture della memoria centrale nelle sue varie gerarchie (ad esempio cache L1, L2,') - Conoscenza delle caratteristiche dei bus di sistema, di cpu e di I/O - Conoscenza delle tecniche per la programmazione delle funzionalità del processore e per il controllo degli I/O. - Capacità di scrivere firmware in codice in assembler e C, inclusa la gestione di dispositivi di I/O - Uso di ARM-based boards, incluso programmazione e debug

Architetture dei sistemi di elaborazione

- Knowledge of several processor architectures, with particular attention paid to pipelined processors and ARM family - Superscalar and multi-process and multithreaded architectures - Central memory organization, taking the hierarchies (i.e., cache L1, L2) into account - Knowledge about system bus, cpu and I/O characteristics - Competences about CPU and I/O functionality management - Assembly and C language code implementation for CPU and I/O device management - Usage of ARM-based boards, including programming and debug

Architetture dei sistemi di elaborazione

- 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 C e assembler

Architetture dei sistemi di elaborazione

- Knowledge of elaboration systems architecture: processor structure and memory organization - Knowledge of basic functionalities of operative systems - Capability to develop programs in C and assembler language

Architetture dei sistemi di elaborazione

• Approfondimenti sull'architettura base di un microprocessore • Introduzione alle architetture moderne dei microprocessori • Architetture dei processori CISC, RISC e superscalari: analisi delle caratteristiche e delle prestazioni • Pipeline, hazards, stalls and counter-measurements • Flusso di sviluppo di applicazioni di sistemi embedded attraverso l'utilizzo di una scheda di sviluppo basata su processore ARM • Tecniche avanzate di programmazione di sistemi embedded in C e ASM: teoria e pratica. • Tecniche avanzate di programmazione di un sistema su board: LEDs, pulsanti, timer, GPI0, loudspeaker, potenziometro, UART port.

Architetture dei sistemi di elaborazione

• Basic microprocessor architecture background • Introduction to modern microprocessor architectures • CISC, RISC and superscalar processor architectures, behavior and performance • Pipeline, hazards, stall, and counter-measurements • Development flow of embedded system applications using a development board based on ARM processor • Advanced programming techniques for embedded systems in C and ASM: theory and practice • Advance assembly programming techniques for a board system: LEDs, buttons, timers, GPI0s, loudspeaker, potentiometer, UART port.

Architetture dei sistemi di elaborazione

Programma dettagliato: Intro to computer design Instruction set principles MIPS intro + WinMIPS64 intro Pipelining intro, hazards, forwarding and stalls. Integer operations Multy cycle pipelined processors ILP and static optimization techniques Branch Prediction Unit Dynamic scheduling HW-based speculation Multiple issue and i7, a8, vliw processors Task Level Parallelism Cache memories Vitual memory Intro ARM processors ARM processor instruction set ARM software interrupts ARM based System-on-Chip - HW interrupt - interrupt controller ARM based System-on-Chip - HW interrupt II - GPIO Cross-compile C + ASM - use of libraries Cross-compile ASM + C - ABI standard ARM based System-on-Chip - clock/power management ARM based System-on-Chip - HW interrupt III - timers UART Standard and Button Bouncing Display and speakers libraries ARM based System-on-Chip - HW interrupt - advance interrupt controller.

Architetture dei sistemi di elaborazione

Detailed program: Intro to computer design Instruction set principles MIPS intro + WinMIPS64 intro Pipelining intro, hazards, forwarding and stalls. Integer operations Multy cycle pipelined processors ILP and static optimization techniques Branch Prediction Unit Dynamic scheduling HW-based speculation Multiple issue and i7, a8, vliw processors Task Level Parallelism Cache memories Vitual memory Intro ARM processors ARM processor instruction set ARM software interrupts ARM based System-on-Chip - HW interrupt - interrupt controller ARM based System-on-Chip - HW interrupt II - GPIO Cross-compile C + ASM - use of libraries Cross-compile ASM + C - ABI standard ARM based System-on-Chip - clock/power management ARM based System-on-Chip - HW interrupt III - timers UART Standard and Button Bouncing Display and speakers libraries ARM based System-on-Chip - HW interrupt - advance interrupt controller.

Architetture dei sistemi di elaborazione

• Lezioni in aula: 50% della durata del corso; • Esercitazioni in aula: 30% della durata del corso; • Laboratori assistiti: 20% della durata del corso. Gli studenti sono invitati a interagire con i docenti, a lezione, esercitazioni in aula ed in laboratorio.

Architetture dei sistemi di elaborazione

• Class lectures: 50% of the course duration; • Extensive Class exercise time: 30% of the course duration; • Assisted laboratories: 20% of the course duration. Students are highly invited to interact with Lecturers, at lecture, exercise, and laboratory slots.

Architetture dei sistemi di elaborazione

• J.L. Hennessy, D.A. Patterson, Computer Architecture: a Quantitative Approach, Morgan Kaufmann Publishers, Inc., VI Edition, 2017 • Steve Furber, ARM system-on-chip architecture, Addison-Wesley, 2000. • Muhammad Ali Mazidi, Sepehr Naimi, Sarmad Naimi, Shujen Chen, Arm Assembly Language Programming and Architecture, MicroDigitalEd, 2016 Materiale aggiuntivo (slides ed esercizi) fornito dal Docente dell'insegnamento. www.cas.polito.it

Architetture dei sistemi di elaborazione

• J.L. Hennessy, D.A. Patterson, Computer Architecture: a Quantitative Approach, Morgan Kaufmann Publishers, Inc., VI Edition, 2017 • Steve Furber, ARM system-on-chip architecture, Addison-Wesley, 2000. • Muhammad Ali Mazidi, Sepehr Naimi, Sarmad Naimi, Shujen Chen, Arm Assembly Language Programming and Architecture, MicroDigitalEd, 2016 Additional material (slides and exercises) provided by the Lecturers. www.cas.polito.it

Architetture dei sistemi di elaborazione

Modalità di esame: Prova orale facoltativa; Prova scritta tramite l'utilizzo di vLAIB e piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus). ;

Architetture dei sistemi di elaborazione

L'esame è costituito da una prova scritta e da una prova orale (opzionale), delle quali la prima e' articolata in due parti. Parte 1) consiste in esercizi sugli argomenti svolti a lezione e svolta su foglio protocollo. Gli argomenti possibili sono la valutazione della durata, il costo hardware e l'ottimizzazione di codice ASM per architetture moderne. Durante lo svolgimento della prova non è possibile consultare testi o appunti. Durata 1 ora. Parte 2) consiste nello sviluppo al PC (prova svolta in laboratorio) di un programma in linguaggio C + ASM ARM funzionante sulla board di riferimento, includendo temporizzazioni, interrupt e capacità di gestire l'output. Durante lo svolgimento della prova è consentito consultare testi e materiale. Durata 2 ore. Punteggio massimo = 30/30 punti; punteggio minimo per superare la prova = 18 punti. La durata totale delle due prove scritte (parte 1 + parte 2) e' di 3 ore. Un progetto finale realizzato durante i laboratori finali sarà oggetto di valutazione e può portare fino a 4 punti extra da sommarsi al voto della prova qualora positivo. Entrambe le prove vanno superate singolarmente nel medesimo appello; il non superamento anche di una sola delle due comporta la registrazione della bocciatura ed il dover ripetere entrambe le prove in un appello successivo. Il docente ha, indipendentemente dalla scelta dello studente, la facoltà di procedere all'esame orale nel caso ritenga sia opportuno un approfondimento. Se il punteggio totale conseguito sara' superiore o uguale a 32.5 (prima dell'arrotondamento) comporterà l'attribuzione della lode.

Architetture dei sistemi di elaborazione

Exam: Optional oral exam; Written test via vLAIB using the Exam platform and proctoring tools (Respondus).;

Architetture dei sistemi di elaborazione

The exam consists of a written plus an (optional) oral part; The written part is divided into two sub-parts: Part 1) consists in practical exercises to be solved on a paper sheet about lecture subjects. The possible subjects include the duration, hw cost and optimization of ASM code for modern architectures. Along this part, books and notes cannot be used. Duration 1 hour. Part 2) consists in writing at the PC (in the lab) a C language + ASM ARM code, working on the reference boards, including timing, interrupt and output functionalities. Along this part of the exam, it is possible to use books and notes. Duration 2 hours. Maximum grade= 30/30 points; minimum grade to successfuly take the exam = 18 points. Overall amount of time for the final exam is 2 to 3 hours. A final projects developed during the last labs of the course will also be evaluated, bringing up to 4 extra points to be summed to the written part mark, in case it is positive. Both parts of the exam must be taken successfully in the same try; the success in a single part is not sufficient to pass the exam and the complete exam have to be fully retook in a successive try. The teacher has, independently on the student decision, the right to proceed to an oral exam in case the student preparation needs to be evaluated more deeply. If the final mark is >=32.5, the mark will be 30/30 with laude.

Architetture dei sistemi di elaborazione

Modalità di esame: Prova orale facoltativa; Prova scritta tramite l'utilizzo di vLAIB e piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus). ;

Architetture dei sistemi di elaborazione

L'esame è costituito da una prova scritta e da una prova orale (opzionale), delle quali la prima e' articolata in due parti. Parte 1) consiste in esercizi sugli argomenti svolti a lezione e svolta su foglio protocollo. Gli argomenti possibili sono la valutazione della durata, il costo hardware e l'ottimizzazione di codice ASM per architetture moderne. Durante lo svolgimento della prova non è possibile consultare testi o appunti. Durata 1 ora. Parte 2) consiste nello sviluppo al PC (prova svolta in laboratorio) di un programma in linguaggio C + ASM ARM funzionante sulla board di riferimento, includendo temporizzazioni, interrupt e capacità di gestire l'output. Durante lo svolgimento della prova è consentito consultare testi e materiale. Durata 2 ore. Punteggio massimo = 30/30 punti; punteggio minimo per superare la prova = 18 punti. La durata totale delle due prove scritte (parte 1 + parte 2) e' di 3 ore. Un progetto finale realizzato durante i laboratori finali sarà oggetto di valutazione e può portare fino a 4 punti extra da sommarsi al voto della prova qualora positivo. Entrambe le prove vanno superate singolarmente nel medesimo appello; il non superamento anche di una sola delle due comporta la registrazione della bocciatura ed il dover ripetere entrambe le prove in un appello successivo. Il docente ha, indipendentemente dalla scelta dello studente, la facoltà di procedere all'esame orale nel caso ritenga sia opportuno un approfondimento. Se il punteggio totale conseguito sara' superiore o uguale a 32.5 (prima dell'arrotondamento) comporterà l'attribuzione della lode.

Architetture dei sistemi di elaborazione

Exam: Optional oral exam; Written test via vLAIB using the Exam platform and proctoring tools (Respondus).;

Architetture dei sistemi di elaborazione

The exam consists of a written plus an (optional) oral part; The written part is divided into two sub-parts: Part 1) consists in practical exercises to be solved on a paper sheet about lecture subjects. The possible subjects include the duration, hw cost and optimization of ASM code for modern architectures. Along this part, books and notes cannot be used. Duration 1 hour. Part 2) consists in writing at the PC (in the lab) a C language + ASM ARM code, working on the reference boards, including timing, interrupt and output functionalities. Along this part of the exam, it is possible to use books and notes. Duration 2 hours. Maximum grade= 30/30 points; minimum grade to successfuly take the exam = 18 points. Overall amount of time for the final exam is 2 to 3 hours. A final projects developed during the last labs of the course will also be evaluated, bringing up to 4 extra points to be summed to the written part mark, in case it is positive. Both parts of the exam must be taken successfully in the same try; the success in a single part is not sufficient to pass the exam and the complete exam have to be fully retook in a successive try. The teacher has, independently on the student decision, the right to proceed to an oral exam in case the student preparation needs to be evaluated more deeply. If the final mark is >=32.5, the mark will be 30/30 with laude.

Esporta Word


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
Contatti