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.
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 a basic 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, up to system bus for peripheral devices management.
- 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
- Knowledge of several processor architectures, with particular attention paid to x86 and ARM families
- Superscalar and multithread architectures
- Design methodologies to central memory, taking the hierarchies (cache L1, L2) and the manufacturing technologies (DDR3,¿) into account
- Knowledge about system bus, cpu and I/O characteristics
- Competences about I/O management and interface design
- Microprocessor-based system design ability
- Memory module design ability
- Peripheral component interface design ability
- Assembly code implementation for I/O device management.
- 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
- Knowledge of elaboration systems architecture: processor structure and memory organization
- Knowledge of basic functionalities of operative systems
- Capability to develop programs in assembler language
• 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
• Architettura di un sistema basato su microprocessore
• Flusso di sviluppo di applicazioni di sistemi embedded attraverso l'utilizzo di una scheda di sviluppo
• Tecniche avanzate di programmazione di sistemi embedded: teoria e pratica.
• Tecniche avanzate di programmazione assembler (ARM & 8086): teoria e pratica.
• Basic microprocessor architecture background;
• Introduction to modern microprocessor architectures;
• CISC, RISC and superscalar processor architectures, behavior and performance;
• Microprocessor-based systems architecture;
• Development flow of embedded system applications using a development board;
• Advance programming techniques for embedded systems: theory and practice.
• Advance assembly programming techniques (8086 and ARM): theory and practice.
• 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.
• 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.
• 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.
Materiale aggiuntivo facoltativo fornito dal Docente dell'insegnamento.
• 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.
Optional additional material provided by the Lecturers.
Modalità di esame: Prova scritta (in aula); Prova orale facoltativa; Prova pratica di laboratorio;
Exam: Written test; Optional oral exam; Practical lab skills test;
...
L'esame è costituito da una prova scritta e da una prova orale (opzionale), delle quali la prima e' 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. Punteggio massimo = 8 punti; punteggio minimo per superare la prova = 4 punti.
2. La seconda parte consiste nello sviluppo di un programma in linguaggio assembler. Durante lo svolgimento della prova è consentito consultare testi o appunti purche' essi siano in formato cartaceo (non e' consentito l'uso di tablet, computer, dispositivi mobili, appunti-note-testi in formato elettronico). Punteggio massimo = 18 punti; punteggio minimo per superare la prova = 9 punti.
La durata delle due prove scritte e' compresa tra 2 e 3 ore.
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 prossimo appello.
I punteggi delle sue prove vengono sommati e qualora il risultato sia superiore o uguale a 18 e' possibile la registrazione dell'esame, a richiesta dello studente. Lo studente che abbia superato entrambe le prove puo' anche richiedere una prova orale che portera' al massimo ad attribuire ulteriori 8 punti, articolati su al massimo tre domande. La prima domanda orale vertera' sempre sui laboratori, mentre le altre due su tutto il programma. La mancata o insufficiente risposta ad una qualunque domanda comportera' una riduzione del punteggio e l'immediata interruzione dell'esame. Qualora inferiore a 18 il punteggio verra' registrato come bocciatura.
Il docente ha, indipendentemente dalla scelta dello studente, la facolta' di procedere all'esame orale nel caso ritenga sia opportuno un approfondimento.
Il voto finale verra' calcolato con arrotondamento del punteggio conseguito e, se il punteggio totale conseguito sara' superiore a 31.5 (prima dell'arrotondamento) comportera' l'attribuzione della lode.
Gli obiettivi dell'esame sono la valutazione dei candidati in merito alla loro capacita' di progettare e programmare in assembler ed in merito alle loro conoscenze delle architetture dei moderni sistemi di elaborazione.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Optional oral exam; Practical lab skills test;
The exam consists of a written plus an (optional) oral part. The written part is further divided into two sub-parts:
1. The first sub-part consists of open&closed questions about subjects covered during lectures. While this sub-part is being run, it is not possible to use any book or other material. Max score = 8 points; minimum score to have this first sub-part passed = 4 points.
2. The second sub-part consists of the development of an assembly program in the ARM language and have it run on an emulator. While this sub-part is being run, it is possible to use books or notes from the course, provided that they are available in paper form (no tablets, no phones, no electronic devices and electronic formats). Max score = 18 points; minimum score to have this second sub-part passed = 9 points.
The written part (=first+second sub-parts) lasts from 2 to 3 hours and has to be passed in both its two sub-parts. Failing one of the two sub-parts will imply a rejection.
Points obtained in the written part are obtained by adding up the points of the first+second sub-parts. If the result is larger than or equal to 18, then the student can request the registration of the final grade of the exam. In all other cases, the student will (can) have an oral exam, consisting of at most three additional questions adding up to 8 more points.
The first oral question will be, by definition, always on laboratory exercises, while the other two will cover in full the course's program. Failure to satisfactorily responding a question, will imply a negative score for that question and the immediate termination of the oral exam. If less than 18 points are obtained, a rejection will be registered.
Professor(s) has (have) the right to ask at any time oral questions to get a better and more complete picture of the student's preparation.
The final grade will be determined by adding up all the points collected by the student and rounding the numerical result. Laude will be granted to all students whose number of points exceeds 31.5.
Overall, the exam is targeted at evaluating the students both from their abilities to design, write and run assembly programs, and their knowledge of modern computing systems architectures.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.