PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Computer architectures

02LSEOV, 02LSEOQ

A.A. 2024/25

Course Language

Inglese

Degree programme(s)

Master of science-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino
Master of science-level of the Bologna process in Ingegneria Elettronica (Electronic Engineering) - Torino

Course structure
Teaching Hours
Lezioni 71
Esercitazioni in aula 9
Esercitazioni in laboratorio 19,5
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Ferrero Renato   Professore Associato IINF-05/A 23 9 0 0 1
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 10 B - Caratterizzanti Ingegneria informatica
2024/25
The course is taught in English. Mandatory course for Laurea Magistrale in Computer Science Engineering, in the first year and first semester of the course. The purpose of the course is to provide a better knowledge on the elaboration system architecture, with a particular attention to microprocessor based systems. The course analyzes the several components of an elaboration system: from the microprocessor internal architecture, up to system bus for peripheral devices management.
The course, a mandatory component of the Master’s Degree in Computer Engineering, is taught in English during the first semester of the first year. It plays a crucial role in equipping students with knowledge on the architecture of elaboration systems, with a specific focus on microprocessor-based systems. The course delves into the various components of an elaboration system, from the microprocessor's internal architecture to the management of peripheral devices. It also includes a comprehensive study of programming at the assembly level.
- Knowledge of several processor architectures, with particular attention paid to x86, ARM and MIPS families - Superscalar and multithread architectures - Knowledge of the sw/hw architecture of an embedded system - Knowledge about system bus, cpu and I/O characteristics - Competences about I/O management and interface design - Competences about development of applications for embedded systems - Assembly code implementation for I/O device management.
At the end of the course, the students will gain: • Knowledge of several processor architectures, with particular attention paid to pipelined processors and the ARM family • Knowledge of superscalar, multi-process, and multithread architectures • Knowledge of the memory hierarchy (for example, cache L1 and L2) • Knowledge of system bus, CPU, and I/O characteristics. Throughout the course, students will have the opportunity to apply the acquired knowledge to program the functionalities of the processor, manage the I/O, and design the interface. They will be empowered to write firmware in assembly code and use ARM-based boards, focusing on their programming and debugging. This hands-on experience will enhance their practical skills and make them more capable in the field of computer engineering.
- Knowledge of basic elaboration systems architecture: processor structure, memory organization and peripheral management - Knowledge of basic functionalities of operative systems - Capability to develop programs in assembler language.
• Knowledge of the architecture of elaboration systems: processor structure, memory organization, and peripheral management • Knowledge of basic functionalities of operating systems • Capability to develop programs in C and assembler language.
• Advanced description of the basic microprocessor architecture • 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 • Advanced programming techniques for embedded systems: theory and practice • Advanced assembly programming techniques (ARM, 8086): theory and practice.
• Advanced description of the microprocessor architecture • Introduction to modern microprocessor architectures • CISC, RISC, and superscalar processor architectures: analysis of their behavior and performance • Pipeline, hazards, stalls and counter-measurements • Development flow of embedded system applications using a development board based on an ARM processor • Advanced programming techniques for embedded systems (C and ARM): theory and practice • Advanced programming techniques for an ARM-based board system: LEDs, buttons, timers, GP IO, loudspeaker, potentiometer, UART port.
ADDITIONAL EXAM INFO, COMMON TO ALL MODES (ANY MINOR CHANGES TO THESE POLICIES/PROCEDURES WILL BE TIMELY COMMUNICATED TO THE STUDENTS) • The exam consists of a 2 –sections written part, i.e, one where some responses on the topics covered by professor Sonza have to be provided and a second one where it will be requested to write one or more programs in the assembly language (ARM and 8086), plus a mandatory oral part, which will take place in the next days following the written part. • In the very few days after the written part, the students have to self-correct their assembly program(s), starting from the solution completed during the written part. Fully functional program(s) have to be obtained together with a .doc list of all the changes with respect to the written version part. Both the .txt file of the new running version(s) and the .doc with the list(s) of changes, have to be uploaded to Portale della Didattica by a unique deadline common to all students, which will be timely communicated. Later uploads will not be considered and the exam will be voided (even in the case of no changes, the students have to upload the necessary and requested files). After their upload, students will not be allowed to further change their files. • If the list of modified changes does not match with the effectively implemented changes and in case of other/similar anomalies, the correction of the programming part will lead to a zero-score. In any case, compliance checks could be run offline by Professors and, in case anomalies are found, a zero-score will be recorded. • The first part globally accounts up to 27 points at most, i.e., up to 19 points for the second section (as evaluated during the oral discussion), plus 8 for the first section. In order to pass the written part and go for the mandatory oral, it is necessary that all the following conditions are met: o The first section score is at least 4 points o Global ARM program(s) evaluation has achieved at least 50% of the overall score available for the ARM part o Global 8086 program(s) evaluation has achieved at least 50% of the overall score available for the 8086 part o The second section (i.e., ARM+8086 programs) score is at least 10 points o The first section plus second section score is at least 16 points • The oral questions following the program(s) discussion, can decrease by any amount the first part score, or add up to 6 additional points • Usually but depending on the time constraints, the list of students who successfully passed the written part minimum threshold will be posted on course’s page in Portale della Didattica together with the instructions about how to have the oral exam, which will cover all the program but not the laboratories. • Failure to respond in a sufficient way can at any time lead to a rejection, which has not necessarily to be communicated immediately, but in general will follow the general protocol to communicate the results through Portale della Didattica. • No partial scores will be communicated to the students during any part of the written/oral parts. The final scores will be made available some days after the end of the last oral exam, through portale della didattica in the personal page of each student, as “partial score”. A student can request the rejection of the score by 12 noon CET of the day after the partial scores have been published or at the time which will be communicated through Portale della Didattica. Later requests will be neither considered nor responded. • Please refer to the file "flow" for the detailed explanation about the policies and procedures on remote and in-person exams. • All exam parts run in remote mode (written and oral) will be video-recorded; students who do not want to be video-recorded unfortunately will not be admitted to the exam.
Detailed program: Intro to computer design Instruction set principles Example of a RISC processor Instruction Set Architecture Pipelining intro, hazards, forwarding, and stalls. Integer operations Multi-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 Virtual 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.
• 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
• 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. Optional additional material provided by the Lecturers.
J.L. Hennessy and D.A. Patterson, Computer Architecture: a Quantitative Approach, Morgan Kaufmann Publishers, Inc., VI Edition, 2017 W. Hohl and C. Hinds, ARM Assembly Language: Fundamentals and Techniques, Crc Press, 2nd edition, 2016 J. Yiu, The definitive guide to the ARM Cortex M3, Newnes, 2009. Steve Furber, ARM system-on-chip architecture, Addison-Wesley, 2000.
Slides; Esercitazioni di laboratorio;
Lecture slides; Lab exercises;
Modalità di esame: Test informatizzato in laboratorio; Prova orale facoltativa;
Exam: Computer lab-based test; Optional oral exam;
... The exam consists of a written plus a (mandatory) 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. While this sub-part is being run, it is possible to use only printed books and/or documents in electronic format downloaded from the web site of the course (Portale della Didattica). Maximum score = 18 points; minimum score to have this second sub-part passed = 10 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. The correction of the written tests takes place during the oral part; the presence of the student is required, otherwise his/her vote will be rejected / refused. Points in the two parts are added up. At the end of the correction, the student will be able to continue the oral exam, consisting of at most three additional questions adding up to 8 more points. The first oral question (max 3 points) 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 possible 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 (before rounding). 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.
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: Computer lab-based test; Optional oral exam;
The exam consists of a written part and an optional part, at the discretion of the teacher. The written part is divided into two sub-parts: 1. The first sub-part consists of open&closed questions about subjects covered during lectures, such as time evaluation and hardware cost in modern architectures. While this sub-part is being run, it is not possible to use any book or other material. 2. The second sub-part consists of the development of a program in ARM assembly and C language. running on the board. While this sub-part is being run, it is possible to use only printed books and/or documents in electronic format downloaded from the web site of the course (Portale della Didattica). The written part (=first+second sub-parts) lasts 2 and has to be passed in both its two sub-parts. Failing one of the two sub-parts will imply a rejection. In the next few days, the student is required to provide a full working code for the correction of the second part. A project carried out during the final laboratories will be evaluated and can lead to up to 4 extra points to be added to the test grade if positive. Regardless of the student's choice, the teacher has the right to proceed with the oral exam if he/she deems further study appropriate. If the total score achieved is greater than or equal to 31.5 (before rounding), it will result in the awarding of honors. 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.
Esporta Word