Vai al contenuto principale
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
e-Learning - UNIMIB
  • Home
  • My Media
  • Altro
Ascolta questa pagina con ReadSpeaker
Italiano ‎(it)‎
English ‎(en)‎ Italiano ‎(it)‎
 Login
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Area di Scienze
  2. Corso di Laurea Triennale
  3. Informatica [E3102Q - E3101Q]
  4. Insegnamenti
  5. A.A. 2023-2024
  6. 1° anno
  1. Architettura degli Elaboratori
  2. Introduzione
Insegnamento Titolo del corso
Architettura degli Elaboratori
Codice identificativo del corso
2324-1-E3101Q104
Descrizione del corso SYLLABUS

Syllabus del corso

  • Italiano ‎(it)‎
  • English ‎(en)‎
Esporta

Obiettivi

Alla fine del corso lo studente avrà conoscenza degli elementi dell’architettura di un semplice elaboratore e delle basi della programmazione assembly, abilità di progettare piccole modifiche alla struttura interna di un calcolatore e di scrivere semplici programmi assembly, e infine competenza nel valutare le tecnologie più adeguate, in termini di prestazioni, per diversi ambiti di elaborazione.

Contenuti sintetici

  • Principali elementi dell’architettura hardware di un elaboratore.
  • Instruction set architecture.
  • Catena programmativa.
  • Controllo del percorso dei dati.
  • Gestione delle eccezioni.
  • Tecniche di gestione dell'ingresso/uscita.
  • Gerarchie di memoria: cache.

Programma esteso

  1. Rappresentazione del'informazione
  • rappresentazione dell'informazione non numerica,
  • rappresentazione dei numeri interi con e senza segno,
  • rappresentazione dei numeri in virgola fissa e mobile,
  • +: dettagli dei calcoli in virgola mobile con IEEE754.
  1. Circuiti logici
  • reti combinatorie,
  • reti sequenziali e FSM (Finite State Machine),
  • rassegna di circuiti notevoli (decoder, multiplexer, register file, ALU, etc.).
  1. Instruction Set Architecture
  • schema di von Neumann,
  • CPU, registri, ALU e memoria,
  • ciclo fondamentale di esecuzione di una istruzione (fetch/decode/execute),
  • tipi e formati di istruzioni MIPS32,
  • modalità di indirizzamento.
  1. Linguaggio Assembly
  • formato simbolico delle istruzioni,
  • catena di programmazione (compilatore, assembler, linker, loader, etc.),
  • pseudo-istruzioni e direttive dell'assemblatore,
  • scrittura di semplici programmi assembly,
  • convenzioni programmative (memoria, nomi dei registri, etc.).
  1. Datapath
  • percorsi dei dati per le diverse classi di istruzioni,
  • controllo del percorso dei dati con FSM (implementazione multi-ciclo).
  • +: pipelining e gestione hazard
  1. Gestione delle eccezioni
  • tassonomia di eccezioni in terminologia MIPS32,
  • modifiche alla FSM di controllo, registro Cause, etc.
  1. Tecniche di gestione dell'ingresso/uscita
  • controllo di programma,
  • interruzione di programma,
  • accesso diretto alla memoria.
  1. Gerarchie di memoria: cache
  • cache a mappatura diretta,
  • cache fully associative,
  • cache n-way set associative
  • +: rimpiazzamento con LRU.

Prerequisiti

Nessuno

Modalità didattica

  • lezioni
  • esercitazioni
  • laboratorio
  • studio individuale

Le lezioni sono tenute in italiano e come usuale in aula.

Materiale didattico

  • Libro di testo: David Patterson, John Hennessy: Computer Organization and Design, The Hardware/Software Interface, 5th edition, Morgan Kaufmann (Elsevier) / "Struttura e progetto dei calcolatori" Zanichelli
  • Materiale disponibile su elearning relativo a lezioni, esercitazioni e laboratorio, alcune prove di autovalutazione, etc.

Periodo di erogazione dell'insegnamento

Secondo semestre

Modalità di verifica del profitto e valutazione

L'esame potrà essere svolto in due prove parziali, tenute una a metà e una a fine semestre, o come sempre in un unico appello tra quelli a calendario lungo tutto l'anno accademico.

Ogni prova prevede una sessione al calcolatore, comprendente una parte filtro ed una estesa. Il voto si ottiene solo svolgendo anche la parte estesa.

La prima parte è costituita da domande a risposte chiuse (prevalentemente esercizi).

La seconda parte è a risposte chiuse e aperte e verrà valutata solo per chi ha riportato un esito sufficiente nella prima parte. Questa parte verte anche su argomenti non inclusi nella prima parte, indicati con '+' nel programma in questo syllabus.

Orario di ricevimento

Inviare email per concordare un appuntamento

Esporta

Aims

At the end of the course the student will knowledge of the components of a basic computer architecture and of the basics of assembly programming, skills for designing small modifications to the internal structure of a computer and for writing simple assembly programs, a also competence in choosing the best technology, in terms of performance, for some specific computing tasks.

Contents

  • Main components of the hardware architecture of a computer.
  • Instruction set architecture.
  • Programming toolchain.
  • Control of the datapath.
  • Exception handling.
  • I/O techniques.
  • Memory hierarchies: cache

Detailed program

  1. Information representation in digital computers
  • representation of non numeric information
  • representation of positive and negative integer numbers
  • fixed and floating point representation of number
  • +: details of computing with IEEE754 floating point numbers.
  1. Logic circuits
  • combinatorial circuits
  • sequential circuits and FSMs (Finite State Machines)
  • overview of relevant circuits: decoder, multiplexer, register file, ALU, etc.
  1. Instruction Set Architecture
  • von Neumann architecture,
  • CPU, registers, ALU and memory,
  • fundamental cycle of instruction execution (fetch/decode/execute),
  • types and formats of MIPS instructions,
  • addressing modes.
  1. Assembly language
  • Symbolic format of instructions,
  • Software development toolchain (compiler, assembler, linker, loader, debugger, etc.),
  • Pseudo-instructions and assembler directives,
  • Development of simple assembly programs,
  • Programming conventions (memory, register names, etc.).
  1. Datapath
  • Data path for each type of instruction,
  • Data path control with FSM (multi-cycle implementation).
  • +: pipelining and hazard handling
  1. Exception handling
  • Taxonomy of exceptions in MIPS32 parlance.
  • Modifications to the Control Unit FSM, Cause register, etc.
  1. Techniques for handling I/O
  • Polling (transfers under program control),
  • Interrupt,
  • Direct Memory Access.
  1. Memory classess : cache
  • Direct mapping cache,
  • Fully associative cache,
  • N-way set associative cache
  • +: LRU replacement.

Prerequisites

Nothing

Teaching form

  • lectures
  • practice / exercise
  • laboratory
  • personal study

The course is taught in Italian and are as usual held in the lecture room.

Textbook and teaching resource

  • Textbook: David Patterson, John Hennessy: Computer Organization and Design, The Hardware/Software Interface. Fifth edition. Morgan Kaufmann (Elsevier)
  • Other teaching material available on the elearning platform concerning lectures, practices, and laboratory, some self-evaluation tests, etc.

Semester

Second semester

Assessment method

The exam will be possible to be completed in two partial tests, to be held around mid-course and at the end of the period, or as always in a single test among those scheduled all aorund the academic year.

Each test is based only on a two-part computer-based assessment, one part blocking and one extended. A valid score is attainable only after the extended part.

The first part is built around questions with closed answers (mainly exercises).

The second part is with closed and open answers and can be taken only by students who passed the first assessment. This assessment revolves also around topics not asked in the first part, marked with '+' in the program in this syllabus.

Office hours

Send email to arrange an appointment.

Entra

Scheda del corso

Settore disciplinare
ING-INF/05
CFU
8
Periodo
Secondo Semestre
Tipo di attività
Obbligatorio
Ore
76
Tipologia CdS
Laurea Triennale
Lingua
Italiano

Staff

    Docente

  • Giulia Cisotto
    Giulia Cisotto
  • Claudio Ferretti
    Claudio Ferretti
  • EF
    Elisabetta Fersini
  • GG
    Gabriele Gianini
  • Sara Lucia Manzoni
    Sara Lucia Manzoni
  • Tutor

  • Federica Di Lauro
    Federica Di Lauro

Opinione studenti

Vedi valutazione del precedente anno accademico

Bibliografia

Trova i libri per questo corso nella Biblioteca di Ateneo

Metodi di iscrizione

Iscrizione manuale
Iscrizione spontanea (Studente)

Non sei collegato. (Login)
Politiche
Ottieni l'app mobile
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy
  • Accessibilità
  • Statistiche