This site uses only proprietary and third party technical cookies. By continuing to browse the site you are agreeing to our use of cookies. I agree I want to find out more
Browse the Department site:
Browse the Teaching site:

Programme of Course "Architettura degli Elaboratori"



Type of course unit:

Bachelor Degree in Computer Science curriculum General: Compulsory

Level of course unit:

Undergraduate Degrees


1st semester

Number of credits:

Bachelor Degree in Computer Science: 6 (workload 150 hours)


Massimo Tivoli (MassimodotTivoliatunivaqdotit)

1. Course Objectives

Knowledge of the computer architecture. Ability to analyze and devise combinatorial and sequential modules. Ability to individuate and dimension the fundamental computer components. Knowledge of the basic set of machine instructions and their execution modalities.

2. Course Contents and learning outcomes (Dublin Descriptors)

Topics of the course include:

  • Basic concepts: hardware, software, Von Neumann’s machine. Coding of characters, integer and real numbers. Integer and real numbers arithmetic.
  • Boole’s Algebra. Boolean functions and expressions. Minimization of boolean functions and Karnaugh’s maps. Analysis and synthesis of combinatorial networks. Fundamental operators and combinatorial modules.
  • Synchronous and asynchronous flip-flops. Registers and counters. Sequential networks: state diagrams and flow tables. Analysis and synthesis of synchronous sequential networks.
  • Machine and assembly languages. Instructions set and architectural models. RISC and CISC instructions sets. Addressing of data and control.
  • CPU: internal structure and components. Fetch and execute phases. Cabled and microprogrammed realization of the control unit. CPU performances. System bus: mechanical, electrical and logic-functional characteristics. Bus allocation.
  • Memory: classification criteria. Main memory, cache and magnetic disks. Locality principle and hierarchical organization. I/O subsystem: interfaces, I/O ports and their addressing. Peripherical devices management methods: programmed, interrupt driven and with direct memory access (DMA).

On successful completion of this course, the student should

  • have knowledge about (i) how computers represent data and information, (ii) fundamentals of logic and digital systems;
    (iii) fundamental components of computer architectures such as CPUs and memory devices. Moreover by the end of this module students will be able to understand the main issues arising from the design of efficient computing systems, including programming aspects.
  • be capable of: (i) understanding and representing information of computers; (ii) analyzing and devising combinatorial and sequential modules; (iii) solving practical problems related to the design process of the different components of a standard computer architecture; (iiii) estimating the global performances of a standard computing architecture; (iiiii) understanding basic aspects of computer programming, from bottom (machine coding) to top (instructions and programming languages) level.
  • acquire skills to deal with real world computer architectures, to identify problems and to, independently, choose the corresponding most efficient solution, as known from the literature. Acquire knowledge to design and program basic computer architectures.
  • explain and illustrate the fundamental notions studied in this course. Demonstrate ability in solving concrete computer architectures related problems, focusing on their main features and discarding the inessential ones.

  • acquiring competencies and abilities necessary in their future studies, especially with respect to studies on operating systems, computer networks and complex architectures topics.

3. Course Prerequisites

Ability to integrate classroom and homework study, ability to interact with the teacher during the class for originating discussion. Fundamentals of mathematics

4. Teaching methods and language

Lectures and exercises


Reference textbooks

  • Giacomo Bucci, Calcolatori elettronici. Architettura e organizzazione. McGraw-Hill, 2009. 2009.

5. Assessment Methods

Written test followed by an oral exam. An optional mid-term written test will be also provided, which is meant to cover the first part of the course, in order to help the students to split the workload. If a student passes the mid-term written exam, she will take a final-term written exam concerned with the second part of the course content only.   The mid-term written exam (lasting 2 hours) consists of exercises and open questions concerning the first part of the course content. The final-term written exam is split into two parts (each lasting one hour and half), each consisting of exercises and open questions, concerning the first and the second part of the course content, respectively.  Students who passed the mid-term part will have to take only the second part. The final result of the written exam will be given by the average result of the two parts. The oral exam will occur within the same exam session of the written test, and it will typically cover the areas of the written answers that need clarification, plus a subject of one's choice. The oral exam (max 1 hour) will test the student's ability to engage in discussion of issues relevant to the topics discussed during the course. Criteria of evaluation will be the level of knowledge and the fluency in the technical language of computer architecture.

Course information last updated on: 26 ottobre 2016, 11:25