Computer Architecture
A.Y. 2026/2027
Learning objectives
The course aims at introducing basic concepts of hardware and firmware architectures of computing systems, starting from digital circuit fundamentals up to the description of behavior and structure of the main parts of a computing system and its programming in machine language.
Expected learning outcomes
Students are expected to master information encoding techniques, Boolean algebra, and key notions of logic circuits. They will have to demonstrate understanding of role and behavior of basic elements related to structure and functioning of a computer. Students will have also to be able to translate simple algorithms into the machine language of the reference processor adopted in the course.
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First semester
on-line lessons
Course syllabus
Part 1
1. Information Representation
Number systems: binary, hexadecimal, and base-B
Binary representation of unsigned and signed integers
Integer addition and overflow conditions
Binary representation of fractional numbers and the IEEE 754 floating-point standard
2. Digital Circuits
Boolean functions and truth tables
Boolean algebra and simplification of Boolean expressions
Combinational circuits: AND, OR, NOT, NAND, and NOR logic gates
Analysis and synthesis of combinational circuits
Combinational functional blocks: XOR and XNOR circuits, equality comparators, decoders, multiplexers, and adders
Introduction to sequential circuits: memory elements and registers
Part 2
3. Computer Architecture
The Von Neumann model
Instruction Set Architecture (ISA)
4. MIPS Instruction Set Architecture
General organization: memory, processor, and floating-point coprocessor
MIPS assembly instructions: arithmetic and logical operations, memory access, and branch/jump instructions
Mapping between MIPS assembly language and high-level programming languages
Binary instruction formats: R-type, I-type, and J-type instructions
5. Hardware Design of a Simplified Single-Cycle CPU
Design of the datapath
Design of the control unit
1. Information Representation
Number systems: binary, hexadecimal, and base-B
Binary representation of unsigned and signed integers
Integer addition and overflow conditions
Binary representation of fractional numbers and the IEEE 754 floating-point standard
2. Digital Circuits
Boolean functions and truth tables
Boolean algebra and simplification of Boolean expressions
Combinational circuits: AND, OR, NOT, NAND, and NOR logic gates
Analysis and synthesis of combinational circuits
Combinational functional blocks: XOR and XNOR circuits, equality comparators, decoders, multiplexers, and adders
Introduction to sequential circuits: memory elements and registers
Part 2
3. Computer Architecture
The Von Neumann model
Instruction Set Architecture (ISA)
4. MIPS Instruction Set Architecture
General organization: memory, processor, and floating-point coprocessor
MIPS assembly instructions: arithmetic and logical operations, memory access, and branch/jump instructions
Mapping between MIPS assembly language and high-level programming languages
Binary instruction formats: R-type, I-type, and J-type instructions
5. Hardware Design of a Simplified Single-Cycle CPU
Design of the datapath
Design of the control unit
Prerequisites for admission
None
Teaching methods
Lectures introducing the theoretical concepts, complemented by the discussion of exercises.
Teaching Resources
The primary material are the slides presented during the course . Supplementary material:
o M.Morris Mano, C. R. Kime. Logic and Computer , Design Fundamentals. [Part 1 of the course]
o D.A. Patterson, J.L. Hennessy, Computer Architecture: A Quantitative Approach [Part 2 of the course]
o M.Morris Mano, C. R. Kime. Logic and Computer , Design Fundamentals. [Part 1 of the course]
o D.A. Patterson, J.L. Hennessy, Computer Architecture: A Quantitative Approach [Part 2 of the course]
Assessment methods and Criteria
Written examination consisting of exercises, possibly complemented by open-ended questions.
INFO-01/A - Informatics - University credits: 6
Lessons: 48 hours
Professor:
Damiani Maria Luisa
Shifts:
Turno
Professor:
Damiani Maria LuisaProfessor(s)