Università degli studi dell'Insubria

ARCHITETTURA DEGLI ELABORATORI

A.A. di erogazione 2015/2016

Laurea triennale in INFORMATICA
 (A.A. 2015/2016)
Anno di corso: 
1
Tipologia di insegnamento: 
Base
Settore disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Lingua: 
Italiano
Crediti: 
9
Ciclo: 
Primo Semestre
Ore di attivita' frontale: 
80
Dettaglio ore: 
Lezione (56 ore), Esercitazione (24 ore)

Obiettivi dell’insegnamento e risultati di apprendimento attesi:
Il corso si propone di fornire le conoscenze e le abilità minime necessarie al progetto e alla programmazione degli elementi costruttivi degli elaboratori. Gli argomenti in programma sono selezionati sulla base di una consolidata tradizione nell’insegnamento dell’argomento, basata sull avisione della macchina come stratificazione di macchine reali o virtuali. Più in dettaglio, il corso mira a fornire:
- I fondamenti dei circuiti elettronici (visti a livello logico) e le capacità fondamentali di progettazione;
- la conoscenza di base dell'organizzazione dell'hardware degli elaboratori;
- la capacità di programmazione in linguaggio assembly;
- comprendere le funzioni svolte dall'hardware e utilizzate dai sistemi operativi e dai programmi applicativi;
- la conoscenza di un processore reale (macchina MIPS).

Il corso vuole anche abituare lo studente al linguaggio tecnico del settore, con particolare riferimento alla terminologia in lingua inglese.

I risultati di apprendimento attesi sono i seguenti.
Conoscenza e capacità di comprensione
- Conoscenza dei principi costruttivi e delle caratteristiche delle memorie elettroniche comunemente usate nei calcolatori.
- Conoscenza dei principi costruttivi e delle caratteristiche funzionali delle memorie cache.
- Conoscenza dei principi costruttivi delle unità di elborazione (datapath) e delle unità di controllo. Conoscenza e capacità di progettare unità di controllo mediante microprogrammazione.
- Conoscenza dei principi costruttivi e delle modalità di funzionamneto dei bus di connessione tra elementi dell’elaboratore.
- Conoscenza dell’organizzazione e delle modalità d’uso e di programmazione dei dispositivi di input/output.

Conoscenza e capacità di comprensione applicate
- Capacità di analizzare, progettare, ottimizzare circuiti combinatori, sia mediante tecniche basate sulla conoscenza dell’algebra Booleana sia utilizzando componenti di libreria comunemente disponibili sul mercato. Capacità di valutare le prestazioni dei circuiti.
- Capacità di analizzare, progettare, ottimizzare circuiti sequenziali,eventualmente utilizzando componenti di libreria comunemente disponibili sul mercato.
- Capacità di valutare le prestazioni delle memorie cache.
- Conoscenza del linguaggio di programmazione assembly della macchina usata come riferimento durante il corso, e capacità di usare tale linguaggio per scrivere programmi anche complessi (ad es. con uso della ricorsione).

Modalità di verifica dell’apprendimento
L’apprendimento è verificato mediante un esame che accerta l’acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova scritta della durata di un’ora e mezza, senza l'aiuto di appunti o libri. La prova scritta consiste nello svolgimento di 4 esercizi, dei quali 3 richiedono capacità progettuali, e uno serve invece a verificare conoscenze acquisite. Ogni esercizio si riferisce ad uno specifico argomento (ad es. progetto di circuito combinatorio o sviluppo di un programma assembly) e consente di ottenere un massimo di 8 punti. La prova orale viene sostenuta solo su richiesta del docente nel caso lo scritto lasci dei dubbi sulla preparazione dello studente, e comporta una variazione massima di tre punti del punteggio acquisito nello scritto. In ogni caso, lo studente può prendere visione della correzione del proprio elaborato e discuterne la valutazione. Questo può talvolta portare a una revisione del punteggio.
L’eventuale prova orale verte sull’accertamento della capacità di sintesi delle conoscenze acquisite, con particolare riguardo alla capacità di identificare gli elementi di teoria da utilizzare in attività di progettazione o programmazione.

Prerequisiti: 

Non è richiesta alcuna conoscenza particolare di tipo tecnico scientifico.
È invece opportuna una buona comprensione della lingua inglese scritta, che permetta l’accesso alla grande quantità di materiale didattico, pubblicazioni, manuali, programmi, ecc. disponibili sull’argomento

- L’architettura strutturata (a ‘layer’) dei calcolatori. Principi ed elementi costitutivi di un tipico calcolatore elettronico.
lezioni ore 3; esercitazioni ore 0
- Rappresentazione binaria dei numeri, dei caratteri e di altre informazioni
lezioni ore 7; esercitazioni ore 1
- Operatori e proprietà dell’algebra di Boole. Corrispondenza tra operatori Booleani e porte logiche.
lezioni ore 4; esercitazioni ore 1
- Circuiti combinatori - Sintesi di reti combinatorie, forme normali, mappe di Karnaugh.
lezioni ore 4; esercitazioni ore 3
- Librerie di circuiti combinatori, ALU, sintesi di circuiti combinatori mediante elementi di libreria.
lezioni ore 3; esercitazioni ore 2
- Bistabili, elementi sequenziali di libreria (vari tipi di registri). Progettazione di circuiti sequenziali.
lezioni ore 5; esercitazioni ore 1
- Memorie. Principio di località e gerarchie di memoria (memorie cache), memoria virtuale, paginazione
lezioni ore 4; esercitazioni ore 2
- Costruzione di un data path. CPU a ciclo singolo e suo controllo. CPU multiciclo.
lezioni ore 6; esercitazioni ore 0
- Unità di controllo cablata e microprogrammata. Implementazione di istruzioni mediante microprogrammazione
lezioni ore 6; esercitazioni ore 2
- Architetture a pipeline (cenni)
lezioni ore 2; esercitazioni ore 0
- I/O (programmato, a interrupt, DMA), BUS
lezioni ore 4; esercitazioni ore 0
- Struttura e istruzioni del linguaggio macchina. Instruction Set Architecture della macchina MIPS
lezioni ore 4; esercitazioni ore 0
- Programmazione in assembly MIPS: uso dell eistruzioni, procedure; uso della pila; record di attivazione; ricorsione.
lezioni ore 4; esercitazioni ore 12

Le slide usate a supporto di lezioni ed esercitazioni sono disponibili sul sito dell’e-learning.

Sono consigliati anche i seguenti testi:
- Patterson & Hennessy, “Computer organization and design – The hardware/software interface”, Elsevier
- Bolchini & Sciuto, “Informatica 2 sistemi digitali”, Progetto Leonardo, Soc. Editrice Esculapio Bologna

Per consentire agli studenti di prepararsi adeguatamente agli esami e di verificare la propria preparazione, sul sito dell’e-learning dell’Università sono anche disponibili i temi d’esame dal 2006 a oggi, e le relative tracce di soluzione.

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2019/2020

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2018/2019

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2017/2018

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2016/2017

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2014/2015

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2012/2013

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2011/2012

Anno di corso: 1
Curriculum:

A.A. 2010/2011

Anno di corso: 1
Curriculum: