84447 - Introduction to Computer Architectures M

Academic Year 2023/2024

  • Docente: Davide Rossi
  • Credits: 6
  • SSD: ING-INF/05
  • Language: English
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Telecommunications Engineering (cod. 9205)

    Also valid for Second cycle degree programme (LM) in Electronic Engineering (cod. 0934)

Learning outcomes

Provide a vision of digital circuits at gate and register transfer level. Overview of microprocessor and memory architectures. Basics of testing, performance and power consumption at system level.

Course contents

1 - Introduction

- Brief history of digital circuits design

- Hierarchical design and levels of abstractions in digital systems

- Brief introduction to digital design methodologies

- Main fundamental metrics that helps to quantify cost, reliability and performance of a design

2 -The MOS transistor

- Description of n-MOS and p-MOS transistor behavior

-Description of device models, operating regions, static characteristic, channel length modulation, velocity saturation, drain current vs. voltage, sub-threshold conductance, dynamic behavior

-Effects of technology scaling on device parameters

3 - CMOS technology and circuits

- Introduction to basic digital gates

- I/O inverter characteristic

- Inverter design for optimum performance

- Power consumption of CMOS inverters

- Dynamic behavior of CMOS inverters

- CMOS inverter design from delay specifications

- Design of NOR and NAND CMOS gates

- Design of complex CMOS gates, dynamic and DOMINO logic, Pass transistor logic

4 - Sequential circuits

- Static latches and registers

- Temporal constraints of sequential circuits: setup and hold time

- Characterization of static registers for integration in automated design flows

- Dynamic latches and registers

5 - Number systems

- Positional number systems

- Conversion between number bases

- Basic binary arithmetic operations

- Signed binary numbers

6 - Boolean Algebra and Logic Gates

- Boolean equations

- Theorems and properties

- Simplification of Boolean expressions

- Basic logic gates

7 - Combinational Logic Design

- Introduction to combinational circuits

- Canonical SOP and POS of Boolean expressions

- Don’t cares, contention and floating values

- Optimization of SOP expressions with Karnough maps

- Examples of some basic combinational blocks

- Timing of combinational circuits

8 - Sequential Logic Design

-Synchronous sequential logic

-Finite State Machines (FSM)

-Timing of sequential circuits at system level

9 - Digital Building Blocks

- Basic arithmetic circuits (adder, substractor, multiplier)

- Shifters, counters and shift registers

- ALU structure

10 - Introduction to RTL Design

- Introduction to System Verilog description and simulation of digital circuits

- Structure of a System Verilog design

- Examples of descriptions of digital circuits using System Verilog

11 - RISC-V Architecture

- Introduction to architectures and microarchitectures

- Microarchitecture of a single-cycle processor

- Parallelism

- Microarchitecture of a pipelined processor

12 - Memory Systems

- Introduction to memory architectures

- ROM and RAM memories

- Memory performance

- Basic concepts of cache memories

- Cache memory classification and operation


- J.M. Rabaey, A. Chandrakasan, B. Nikolic: “Digital Integrated Circuits: a Design Perspective, Second Edition”, Prentice Hall Int.

-David Money Harris and Sarah L. Harris, “Digital Design and Computer Architecture, 2nd Edition

-L. Hennessy and D. A. Patterson, “Computer Organization and Design”, RISC-V Edition: The Hardware Software Interface

Teaching methods

The course consists of classroom lectures in which the basic electronic elements are presented. In particular we will focus on the key concepts of Digital Electronics and Computer Architecture. The theoretical presentation of each topic is followed by several lectures and labs devoted to the solution of exercises and specific problems aiming to acquire the method for analysing and designing simple digital circuits, and understandig simple processor pipelines.

Assessment methods

Learning assessment is done through a final exam that ensures acquisition of knowledge and expected skills. There will be a written and an oral examination.

The written test consists in 3 questions, the duration of the oral test is about 3 hours. The oral test consists in 3 questions. To obtain a passing grade, the student must demonstrate the capacity to manage the key concepts illustrated in the course program. The duration of the oral test is about 45 minutes.

Teaching tools

-PC, projector, Power Point slides.

Office hours

See the website of Davide Rossi