Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2017/18
Computer systems
1st degree and Bachelor-level of the Bologna process in Computer Engineering - Torino
Teacher Status SSD Les Ex Lab Tut Years teaching
Rebaudengo Maurizio ORARIO RICEVIMENTO O2 ING-INF/05 50 15 15 0 15
Sonza Reorda Matteo ORARIO RICEVIMENTO PO ING-INF/05 50 15 15 0 22
SSD CFU Activities Area context
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
Subject fundamentals
The course covers the basics of computer systems. The addressed topics cover the definition of computer system, its architecture, its operating modes as well as the basic techniques for the design of a digital circuit system. Attention is also given to the interaction between hardware and software modules. The course pays special attention to processor-based systems, describing their architecture and behavior, as well as the interaction with the memory and the peripherals of a typical computer-based system, in order to provide a better understanding of the behavior of a processor. The course also describes how to program computer-based system at the assembly level. Some of the topics of the course will be further analyzed in later courses of the CV, such as those in the field of Operating Systems.
Expected learning outcomes
Knowledge about the concept of computer system
- Knowledge of the architecture of a generic processing system and its operating principles
- Knowledge and understanding of the basic modules that form a computer-based system, with particular emphasis to those used in the design of digital circuits at the gate and register levels
- Knowledge of fundamental design techniques of digital systems (specification and design of a combinational circuit and a synchronous sequential circuit)
- Knowledge of the architecture and behavior of a CISC processor and its Assembly language
- Capability to write simple Assembly language programs
- Knowledge of the architecture of the memory sub-system
- Knowledge of the interface mode and control of system peripherals
- Highlights on the architecture of RISC and superscalar processors.
Prerequisites / Assumed knowledge
- Basic knowledge about Boolean algebra
- Basic knowledge about programming techniques
- Basic knowledge about the methods to represent information in a computer.
- Design of a digital circuit at the gate and register level (10 hours)
- Architecture and behavior of a processor (10 hours)
- Programming a processor at the Assembly level (15 hours)
- Architecture and behavior of a processor system (7 hours)
- Memory elements (5 hours)
- Peripheral management and control (7 hours)
- Structure and operation of the communication bus (3 hours)
- Basics on RISC and superscalar processors (3 hours)
Delivery modes
Laboratory as well as classroom learning-by-exercise sessions are designed as an integral part of this course. Starting from the third week, students attend the laboratory, every week (totally 15 hours). During the laboratory the students can face the practical aspects introduced at lesson time. The exercises in the classroom are related to the programming in assembly language. Both exercises in laboratory and classroom will be conducted with the support of software developed tools for the assembly language running on a Personal Computer.
Texts, readings, handouts and other learning resources
Students may benefit of the following textbooks:

C. Hamacher et al., "Introduzione all’architettura dei calcolatori",3rd edition, McGraw-Hill, 2013
W. Stallings, "Architettura e organizzazione dei calcolatori", 8th edition, Pearson, 2010
M. Grosso, P. Prinetto, M. Rebaudengo, M. Sonza Reorda, "Il linguaggio di programmazione Assembler x86", Ed. Narcissus, 2012
P. Montuschi, M. Sonza Reorda, M. Violante, "Architettura dei calcolatori elettronici: raccolta di test di autovalutazione", CLUT, 2nd edition, 2013

Slides will be provided to students registered to the course through the Student Teaching Portal, as well as any additional non-copyrighted information material that will be used in the course.
Assessment and grading criteria
The exam corresponds to a written test lasting for about 100 minutes.
This test is composed of 3 parts:
• first part: 10 closed answer questions (or simple exercises), lasting for about 15 minutes; the student must correctly answer to at least 6 of them for the rest of the test to be considered • second part: 4 open answer questions (from 0 to 5 points each), lasting for about 40 minutes • third part: 1 exercise where the student is asked to write a simple assembly language program (from 0 to 12 points), lasting for about 60 minutes. The student has to achieve at least 5 points (out of 12), in this part, to pass the exam.
If the student achieves at least 18 points in the written exam, he/she may ask for an oral exam on the whole program (the oral exam may include to program a small assembly procedure).

Programma definitivo per l'A.A.2017/18

© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)