Modern Computers and technological evolution. The role of performance. Introduction to Assembly languages. The Risc V language. The simulator. Logic circuits (combinatorial and sequential). Fundamentals of number representation and binary arithmetic. The design of an ALU. Multiplication and division. Floating point numbers. Design of a CPU. Exceptions. Pipelining. The interrupt system. Interactions with devices.
David A Patterson, John L Hennessy, STRUTTURA E PROGETTO DEI CALCOLATORI - Progettare con RISC-V. Italian Edition by Alberto Borghese. Zanichelli, 2019 . ISBN: 9788808820594
C. Bolchini, C. Brandolese, F. Salice e D. Sciuto. Reti logiche, 2/e, Apogeo, 19 settembre 2013.
Learning Objectives
The course aims to provide the basic elements in order to understand computer architecture and the interface between this and the higher levels of abstraction of a computation system. Moreover, teaching an assembly language (RISC V) intends to give the elements to understand assembly languages and the interface that they constitute between hardware architecture and the higher level of abstraction of a computation system. The description of both the Processor structure and the system organization including memories and devices aims at providing a global perception of computing systems.
Prerequisites
None
Teaching Methods
CFU: 12
Total hours of the course: 300
Hours reserved to private study and other individual formative activities: 194
Contact hours for: Lectures (hours): 82Contact hours for: Laboratory (hours): 20
Contact hours for: Laboratory-field/practice (hours): 0
Seminars (hours): 0
Stages: 0
Intermediate examinations: 4
Further information
Frequency of lectures, practice and lab: STRONGLY Recommended
Prof. Andrea Bondavalli,
by appointment. Contact professor by phone number or e-mail
(bondavalli@unifi.it).
DiMaI, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Dott. Tommaso Zoppi,
by appointment. Contact professor by phone number or e-mail
(tommaso.zoppi@unifi.it).
DiMai, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Type of Assessment
Students preparation is verified through a written part where the sudent has to solve a few exercises, a specific small project on the assembly coding and an oral part.
Course program
Modern computers and technological evolution.
The role of performance.
Combinatorial logic circuits: specification, synthesis, minimization.
Clock and memory elements.
Finite state machine and sequential circuits.
Introduction to assembly language of RISC-V system.
Language simulator.
Lab activities: programming in assembly.
Fundamental notions of numbers representation and binary arithmetic.
Design of an ALU.
Multiplication and division.
Floating points numbers.
RISC-V processor: Design of a single cycle CPU: data path and control path.
Enhancing performance by Pipeling: data paths and control path.
Memory hierarchy.
Basics on peripheral interactions and interrupt system.