COMPUTER ARCHITECTURE
cod. 1005688

Academic year 2020/21
3° year of course - Second semester
Professor
Andrea PRATI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in ITALIAN

Learning objectives

Knowledge and understanding
The purpose of the course to illustrate the basic mechanisms of operation of computing systems and in particular the interaction between the modules (CPU, memory, I / O) of a computer.

Applying knowledge and understanding
The student will acquire the ability to understand the basic functioning of modern CPUs.
Students completing the course will be able to write simple programs in Assembly.

Prerequisites

Course unit content

The purpose of the course is to give the students the basic concepts of the modern CPU architectures and computer systems. The course comprises the fundamental knowledge of the programming in language Assembly. The concepts are exposed in a general way; when necessary it is made directed reference the architecture of the INTEL CPU family. The main topics are: basic computer architecture, modern CPU architectures, memory functioning, I/O subsystem, Assembly programming.

Full programme

The course includes about 45 hours of lessons on the following topics (duration is indicative):
- course introdution, Turing machine; history of computers; Von Neumann architecture; Moore law; Amdhal law; (3 hours)
- Instruction Set Architecture; RISC and CISC; Intel CPU family; ARM CPU family; CPU microarchitecture; monocyle and multicycle CPU architectures; variants of the multicycle CPU; performance comparison; (6 hours)
- performance evaluation; benchmark; (1 hour)
- pipeline and hazards; superscalar architecture; (3 hours)
- characteristics of Assembly language; reference architecture for Assembly 8086; operands storage; 8086 registers: general registers; other registers; memory models; segmented memory; address modes; types of data; data transfer instructions; arithmetic instructions; control transfer instructions; function call; variable definition in Assembly; bit-wise instructions; data string instructions: flag control instructions; access to the strings of data; parameter exhange through the stack; (14 hours)
- exercises on memory alignment and ordering for the written exam; (2 hours)
- characteristics of the memories; memory hierarchy; SRAM, DRAM, SDRAM and DDR; permanent memories; memory-processor interface; MESI; virtual memory; (5 hours)
- memory-processor interface and exercises for the written exam; (4 hours)
- cache memories and exercises for the written exam; (4 hours)
- I/O interface; polling; interrupts; Intel 8259; DMAC; external memories; interconnection structures; (3 hours)

There will also be 18 hours in lab with the following schedule (indicative):
- introduction to the compiling tools; simple examples; debugging; (1 hour)
- various exercises and lab (17 hours);

Bibliography

- A.S. Tanenbaum e T. Austin, “Architettura dei Calcolatori: un approccio strutturale”, sesta ed., Pearson/Prentice Hall, 2013
- Giacomo Bucci, “Calcolatori elettronici – Architettura e organizzazione”, Mc Graw-Hill, 2009
- William Stallings, “Architettura e organizzazione dei calcolatori. Progetto e prestazioni”, ottava ed., Pearson Prentice-Hall, 2010
- Carl Hamacher, Zvonko Vranesic, Safwat Zaky, “Introduzione all'architettura dei calcolatori”, seconda ed., McGraw-Hill, 2007

Teaching methods

The course includes around 40 hours of traditional frontal lectures and 24 hours of training in the laboratory.

Assessment methods and criteria

The exam consists in two parts, which can be taken independently, in terms of both order and exam session. The first part consists in an oral examination made in written, with questions about the theory and an exercise. The second part is a practical exam in laboratory requiring to write a program in Assembly x86. The final grade will be the average of the two grades.

Other information

2030 agenda goals for sustainable development

- - -

Contacts

Toll-free number

800 904 084

Student registry office

E. segreteria.ingarc@unipr.it

Quality assurance office

Education manager:
Elena Roncai
T. +39 0521 903663
Office E. dia.didattica@unipr.it
Manager E. elena.roncai@unipr.it

 

President of the degree course

Gianluigi Ferrari
E. gianluigi.ferrari@unipr.it

Faculty advisor

Giovanna Sozzi
E. giovanna.sozzi@unipr.it

Career guidance delegate

Guido Matrella
E. guido.matrella@unipr.it

Tutor professor

Boni Andrea
E. andrea.boni@unipr.it
Caselli Stefano
E. stefano.caselli@unipr.it
Cucinotta Annamaria
E. annamaria.cucinotta@unipr.it
Nicola Delmonte
E. nicola.delmonte@unipr.it
Mucci Domenico
E. domenico.mucci@unipr.it
Saracco Alberto
E. alberto.saracco@unipr.it
Ugolini Alessandro
E. alessandro.ugolini@unipr.it
Vannucci Armando
E. armando.vannucci@unipr.it

Erasmus delegates

Paolo Cova
E. paolo.cova@unipr.it
Corrado Guarino
E. corrado.guarinolobianco@unipr.it
Walter Belardi
E. walter.belardi@unipr.it

Quality assurance manager

Massimo Bertozzi
E. massimo.bertozzi@unipr.it

Tutor students

SPAGGIARI Davide E. davide.spaggiari@unipr.it
MUSETTI Alex E. alex.musetti@unipr.it
BERNUZZI Vittorio E. vittorio.bernuzzi1@studenti.unipr.it
NKEMBI Armel Asongu E. armelasongu.nkembi@unipr.it
BASSANI Marco E. marco.bassani@unipr.it
ZANIBONI Thomas E. thomas.zaniboni@unipr.it
BOCCACCINI Riccardo E. riccardo.boccaccini@unipr.it
MORINI Marco E. marco.morini@unipr.it
SHOZIB Md Sazzadul Islam E. mdsazzadulislam.shozib@studenti.unipr.it