INFORMAZIONI SU

Computer design and operating systems (the English translation of "Calcolatori elettronici e sistemi operativi ")

Computer design and operating systems (traduzione in inglese del programma di Calcolatori elettronici e sistemi operativi) - cdl magistrale in Ingegneria Elettronica

Teacher

prof. aggr. Mirko LOGHI

Credits

6 CFU

Language

Italian

Objectives

The class illustrates the development of special-purpose digital devices and of microprocessors, the computer architecture, and the operating systems.

Acquired skills

- Development of special purpose digital devices.
- Development of general purpose processors.
- Architectural enhancements of processors.
- Computer architecture.
- Assembly for RISC processors.
- Device driver development.

Lectures and exercises (topics and specific content)

Control-unit and datapath partitioning: motivations and examples (2 hours).
VHDL fundamentals: behavioral and structural description of systems; VHDL description of finite state machines; inference; testbench (4 hours).
Logic synthesis flow: technology mapping: full-custom, standard cell, cell-array, FPGA (2 hours).
Control-unit e datapath partitioning: ASM charts; timing requirements and analysis; development strategies; control unit synthesis; optimization techniques; microprogramming (10 hours).
General purpose processors: single-cycle architecture; multi-cycle architecture, hardwired and microprogrammed control; pipeline and pipeline hazards; architectural enhancements for high performance, out of order execution, superscalar architectures, hardware multithreading; VLIW architectures (6 hours).
Computer architecture: memory hierarchy (cache, multi-level cache, main memory); interconnect (bus, crossbar, network on chip); input-output (polling, interrupt, DMA) (6 hours).
CISC and RISC Processors: CISC architecture: x86; RISC architecture examples, MIPS and ARM. MIPS and ARM assembly programming, language, register usage rules, stack conventions, function implementation examples (6 hours).
Operating systems: protection levels; processes, threads; scheduling; synchronization; memory handling; mass memory management; input/output subsystem; filesystem (16 hours).
Labs (8 hours).

References

- Morris Mano, Charles Kime, "Logic and Computer Design Fundamentals", Prentice Hall
- David Harris, Sarah Harris, "Digital Design and Computer Architecture", Elsevier
- William Stallings, "Computer Organization and Architecture, 8th Edition", Prentice Hall 
- John Hennessy, David Patterson, "Computer Architecture: A Quantitative Approach", Morgan Kaufmann
- Steve Furber, "ARM system-on-chip architecture", Addison Wesley
- William Stallings, "Operating Systems: Internals and Design Principles, 7th Edition",  Prentice Hall
- Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, "Linux Device Drivers", O'Reilly
- Daniel Bovet, Marco Cesati, "Understanding the Linux Kernel"

Type of exam

Written

Additional material or information on line