SISTEMI DI CALCOLO

Course objectives

The course provides a programmer's view of how computing systems execute programs, store information, and communicate, addressing general issues such as performance, portability, and robustness. Students are introduced to the basic operation principles of modern computers, showing how compilers map C programs to assembly code and how programs interact with the operating system to manage computing resources.

Channel 1
LEONARDO QUERZONI Lecturers' profile

Program - Frequency - Exams

Course program
- Introduction to a computer system: Von Neumann architecture; logical gates (AND, OR, NOT, NOR, NAND, XOR); implementation of logic gates using resistors and transistors; VLSI technology; Combinational Logic Circuits, Adder, Sequential circuits, flip-flops, introduction to operating systems - Compilation toolchain based on gcc (-E, -c, -S, -o); assembly vs. machine language, objdump -d, asm directives, x86 instruction mov, asm literals, asm suffix in ATT syntax, x86 registers - Logical and Arithmetic instructions in x86, %esp register, stack frame, parameters of a function, memory operands, endianness. - If and while in x86 - Pointers, arrays, and strings in x86 - Instructions: call, ret; ABI, caller-save/callee-save, push, pop, type cast - Local variables in the stack, including arrays; Instructions: lea and setcc - Manuals: Intel x86, ABI 386; memory alignment and padding rules - Instrictions: shift and cmov; x86_64 platform; GDB
Prerequisites
Knowledge of the Von Neumann architecture, boolean algebra, two's complement representation, floating-point number representation, C language (array, pointers, operators */&).
Books
Notes from the course (available on course website)
Frequency
Attendance to the course is optional.
Exam mode
The student has to take a written exam (2 hours) with open questions and exercises on the topics covered during the course. The written exam is taken in a room of the university.
Lesson mode
Lectures will be given in blended mode: a subset of students can follow the lectures in class, while the remaining students can follow the lectures in streaming on Zoom.
LEONARDO QUERZONI Lecturers' profile

Program - Frequency - Exams

Course program
- Introduction to a computer system: Von Neumann architecture; logical gates (AND, OR, NOT, NOR, NAND, XOR); implementation of logic gates using resistors and transistors; VLSI technology; Combinational Logic Circuits, Adder, Sequential circuits, flip-flops, introduction to operating systems - Compilation toolchain based on gcc (-E, -c, -S, -o); assembly vs. machine language, objdump -d, asm directives, x86 instruction mov, asm literals, asm suffix in ATT syntax, x86 registers - Logical and Arithmetic instructions in x86, %esp register, stack frame, parameters of a function, memory operands, endianness. - If and while in x86 - Pointers, arrays, and strings in x86 - Instructions: call, ret; ABI, caller-save/callee-save, push, pop, type cast - Local variables in the stack, including arrays; Instructions: lea and setcc - Manuals: Intel x86, ABI 386; memory alignment and padding rules - Instrictions: shift and cmov; x86_64 platform; GDB
Prerequisites
Knowledge of the Von Neumann architecture, boolean algebra, two's complement representation, floating-point number representation, C language (array, pointers, operators */&).
Books
Notes from the course (available on course website)
Frequency
Attendance to the course is optional.
Exam mode
The student has to take a written exam (2 hours) with open questions and exercises on the topics covered during the course. The written exam is taken in a room of the university.
Lesson mode
Lectures will be given in blended mode: a subset of students can follow the lectures in class, while the remaining students can follow the lectures in streaming on Zoom.
Channel 2
RICCARDO LAZZERETTI Lecturers' profile

Program - Frequency - Exams

Course program
- Introduction to a computer system: Von Neumann architecture; logical gates (AND, OR, NOT, NOR, NAND, XOR); implementation of logic gates using resistors and transistors; VLSI technology; Combinational Logic Circuits, Adder, Sequential circuits, flip-flops, introduction to operating systems - Compilation toolchain based on gcc (-E, -c, -S, -o); assembly vs. machine language, objdump -d, asm directives, x86 instruction mov, asm literals, asm suffix in ATT syntax, x86 registers - Logical and Arithmetic instructions in x86, %esp register, stack frame, parameters of a function, memory operands, endianness. - If and while in x86 - Pointers, arrays, and strings in x86 - Instructions: call, ret; ABI, caller-save/callee-save, push, pop, type cast - Local variables in the stack, including arrays; Instructions: lea and setcc - Manuals: Intel x86, ABI 386; memory alignment and padding rules - Instrictions: shift and cmov; x86_64 platform; GDB
Prerequisites
Knowledge of the Von Neumann architecture, boolean algebra, two's complement representation, floating-point number representation, C language (array, pointers, operators */&).
Books
Notes from the course (available on course website)
Frequency
Attendance to the course is optional.
Exam mode
The student has to take a written exam (2 hours) with open questions and exercises on the topics covered during the course. The written exam is taken in a room of the university.
Lesson mode
Lectures will be given in blended mode: a subset of students can follow the lectures in class, while the remaining students can follow the lectures in streaming on Zoom.
RICCARDO LAZZERETTI Lecturers' profile
GABRIELE PROIETTI MATTIA Lecturers' profile

Program - Frequency - Exams

Course program
- Introduction to a computer system: Von Neumann architecture; logical gates (AND, OR, NOT, NOR, NAND, XOR); implementation of logic gates using resistors and transistors; VLSI technology; Combinational Logic Circuits, Adder, Sequential circuits, flip-flops, introduction to operating systems - Compilation toolchain based on gcc (-E, -c, -S, -o); assembly vs. machine language, objdump -d, asm directives, x86 instruction mov, asm literals, asm suffix in ATT syntax, x86 registers - Logical and Arithmetic instructions in x86, %esp register, stack frame, parameters of a function, memory operands, endianness. - If and while in x86 - Pointers, arrays, and strings in x86 - Instructions: call, ret; ABI, caller-save/callee-save, push, pop, type cast - Local variables in the stack, including arrays; Instructions: lea and setcc - Manuals: Intel x86, ABI 386; memory alignment and padding rules - Instrictions: shift and cmov; x86_64 platform; GDB
Prerequisites
Knowledge of the Von Neumann architecture, boolean algebra, two's complement representation, floating-point number representation, C language (array, pointers, operators */&).
Books
Notes from the course (available on course website)
Frequency
Attendance to the course is optional.
Exam mode
The student has to take a written exam (2 hours) with open questions and exercises on the topics covered during the course. The written exam is taken in a room of the university.
Lesson mode
Lectures will be given in blended mode: a subset of students can follow the lectures in class, while the remaining students can follow the lectures in streaming on Zoom.
GABRIELE PROIETTI MATTIA Lecturers' profile
  • Lesson code1056029
  • Academic year2024/2025
  • CourseComputer and System Engineering
  • CurriculumInformatica
  • Year2nd year
  • Semester2nd semester
  • SSDING-INF/05
  • CFU9
  • Subject areaIngegneria informatica