- Docente: Luigi Di Stefano
- Credits: 6
- SSD: ING-INF/05
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: First cycle degree programme (L) in Automation Engineering (cod. 0920)
Learning outcomes
Knowledge of the basic elements of computer architectures.
Course contents
- Introduction - Von Neumann's model. PC and Bus Cycles. Hardware Architecture. Performance. History of Computers.
- Instruction Set Architecture - General features concerning ISAs: instruction encoding, addressing modes, instruction classes, procedure calls. Taxonomy of ISAs. codifica delle istruzioni, modalità di indirizzamento, classi di istruzioni, gestione delle procedure. Register-Register (RISC) e Memory–Register (CISC) architectures. .
- Complements of Logic Design - ALU. 3-state drivers and distributed multiplexing. Register File. Driver, Tranceiver, Latch, Edge Triggered Register.
- ISA DLX – Execution environment. Instruction Set. Stack implementation to handle calls. Code examples. Instruction formats.
- Internal structure of a sequential CPU - Datapath and Controller. DLX Datapath. State machine of a DLX controller. Handling interrupts. Number of clocks to execute instructions.
- Internal structure of a pipelined CPU – General pipeline principles and performance metrics. A DLX pipelined Datapath. Dependencies and Hazards. Stalls and Forwarding. Control Hazards. Brach Prediction.
- IA (Intel Architecture) - Execution environment. Segmentation: logical vs. physical addresses. Instruction Set. Code examples and comparison to DLX code.
- Interfacing memory parts to the system bus – ROM and RAM chips. Mapping memory chips into the address space and address decoding in case of a 8-bit data bus. Extension to a multi-byte data bus (16 bit,32 bit,....). Memory access time and number of required wait state. Design of READY circuitry.
- Handling I/O ports – Basic I/O. General model for an I/O port. Accessing internal registers within I/O ports. Interfacing I/O ports to the system bus in case of both 8-bit and multi-byte data buses. Handling I/O by polling and by interrupt. Code examples.
- The interrupt system - Interrupt
classes (HW interrupts, SW interrupts and exceptions).
Handling HW interrupts by a PIC (Programmable Interrupt
Controller). Vectored Interrupts.
Readings/Bibliography
Suggested Readings:
1. Hennessy, Patterson: "Computer architecture: a quantitative approach" - Morgan Kaufmann pub. Inc., second edition
2. Giacomo Bucci: “Architetture dei calcolatori elettronici” McGraw-Hill.
Teaching methods
Theory and Exercises during Class Hours.
Assessment methods
Written Examination.
Teaching tools
PC and Projector.
Links to further information
http://didattica.arces.unibo.it/index.php?dbName=ldistefano
Office hours
See the website of Luigi Di Stefano