Architetture degli Elaboratori I, Laboratorio A.A. 2016/2017

Corso di Laurea: triennale in Informatica
Data inizio corso: 06/10/2016
Ricevimento studenti: concordare appuntamento via e-mail (stanza S210 secondo piano DI, via Comelico 39 Milano).
Docente: Matteo Re
Email: matteo.re (at) unimi.it
Il sito del corso del prof. Pedersini: Architettura degli Elaboratori I e II. Turno 2 (cognomi G-Z)
Il sito con il materiale del prof. Basilico Architetture degli Elaboratori I, Laboratorio , Turno 1


In questa pagina troverete il materiale didattico (slide, soluzioni degli esercizi,...) utilizzato durante le lezioni. I file delle slide verranno caricati il giorno successivo ad ogni lezione mentre le soluzioni degli esercizi saranno rese disponibili nella lezione successiva, dopo la discussione delle soluzioni proposte da voi. Per problemi inerenti agli esercizi potete contattarmi tramite email. Le lezioni si terranno ogni giovedi' 13.30-15.30 aula 309 presso il settore didattico in via Celoria. Variazioni a questo schema verrano comunicate mediante una mailing-list dedicata al corso e mediante la sezione Avvisi di questa pagina web.


Modalita' d'esame:.

  1. L'esame prevede la realizzazione di un progetto individuale in LogiSIM. Tale progetto deve essere proposto al docente con un documento di specifica e realizzato solo dopo approvazione esplicita. La consegna del progetto, oltre al circuito, deve includere una breve relazione che ne descriva il funzionamento. Indicazioni per la relazione da utilizzare per l'esame sono disponibili qui: pdf.
  2. Gli studenti che hanno frequentato le sessioni di laboratorio in un'edizione precedente del corso possono fare riferimento alle modalita' di proposta e consegna valide per tale edizione.
  3. Il voto ottenuto nella prova di laboratorio verra' verbalizzato contestualmente al primo appello utile del corso di teoria, non oltre 18 mesi dalla data di conseguimento e incidera' per 1/3 sul voto finale del corso di Architetture.
  4. Il calendario per la consegna e discussione dei progetti non e' vincolante: in caso di necessita' giustificate sara' possibile concordare altre date.
  5. Il calendario puo' subire variazioni che verranno propriamente segnalate nella sezione Avvisi in questa pagina.

Slide lezioni :

Lezione 1 (06/10/2016) :
Codifica dell'informazione numerica: Rappresentazione dei numeri: notazione posizionale. Da base B a base decimale. Da base decimale a base B. Da base B = 2 a base B = 16 e vice versa. Somma di interi non negativi. Interi: complemento a 2. Somma di interi. Overflow. Somma di interi: esempi. Interi: complemento a 2. Numeri frazionari. Rappresentazione dei numeri frazionari. Virgola fissa e virgola mobile: confronto.Approssimare i numeri reali. Numeri reali: lo standard IEEE 754.

  1. Slide Lab 1

Lezione 2 (13/10/2016) :
Introduzione alla progettazione digitale in Logisim. Realizzazione di un semplice circuito di esempio. Area di lavoro di Logisim. Barra degli strumenti, libreria componenti, pannello proprieta' componenti. Simulazione ed analisi di circuiti. Operatori logici e proprieta' di utilizzo frequente. Esercizi. Tabella di verita'. Conversione di funzioni logiche in circuiti. Equivalenza di funzioni logiche. Test mediante porta XNOR. Porte universali. Utilizzo di porta NAND per realizzare NOT, OR e NOR. Esercizi.

  1. Slide Lab 2
  2. Operatori logici e loro propieta'
  3. Testo esercizi

Lezione 3 (20/10/2016) :
Forme canoniche. Prima e seconda forma canonica. Determinazione forma canonica somma di prodotti (SOP) e prodotto di somme (POS) a partire da forma algebrica, tabella di verita' e circuito. Esercizi. Cammino critico. Esercizi. Introduzione al processo di semplificazione di circuiti. Esercizi.

  1. Slide Lab 3
  2. Testo esercizi

Lezione 4 (27/10/16) :
Circuiti combinatori notevoli e aritmetici. Decodificatore a 2 bit. Utilizzo del decodificatore a 2 bit per l'implementazione di un multiplexer a 4 vie. Creazione e riutilizzo di elementi di libreria in Logisim. Addizionatore ad 1 bit senza riporto (Half adder). Addizionatore ad 1 bit con riporto in ingresso (Full adder). Costruzione di un full adder a partire da half adder. Realizzazione di addizionatore a 4 bit e analisi del cammino critico per somma e uscita riporto. Realizzazione di circuito per conversioni in complemento a 2. Circuito per operazioni multiple (somma e sottrazione) con bit di selezione dell'operazione. Rilevazione overflow.

  1. Slide lezione 4
  2. Testo esercizi

Lezione 5 (03/11/16) :
Moltiplicazione e ALU. Ripasso. Half adder e Full adder. Creazione di componenti riutilizzabili in Logisim. Aspetto dei componenti creati dall'utente e relazione con il loro riutilizzo in circuiti piu' complessi. Moltiplicazione binaria. Prodotti parziali. Somma di prodotti parziali. Implementazione in Logisim. Arithmetic Logic Unit (ALU). Creazione di un un componente 1bit ALU. Utilizzo del componente 1bit ALU per la costruzione din una 8bit ALU.

  1. Slides lezione 5
  2. circuito Moltiplicatore a 3 bit
  3. circuiti ALUs

Lezione 6 (10/11/16) :
Circuiti sequenziali. Ripasso. Bistabili. Clock. Architetture sincrone e asincrone. Bistabili sensibili al livello e al fronte. Flip-Flop. Registri (PIPO, SISO, SIPO).

  1. Slide lezione 6
  2. circuiti

Lezione 7 (17/11/16) :
Macchine a stati finiti (MSF). Esercizi sintesi macchina a stati finiti di Moore. Dal testo alla definizione degli insiemi dei valori di input e output. Schema blackbox. State Transition Graph (STG). Sintesi State Transition Table (STT). STT codificata. Sintesi MSF: funzioni di uscita e funzioni di stato prossimo. Circuito.

  1. Slide lezioni 7 e 8

Lezione 9 (1/12/16) :
Basi progetto esame laboratorio. Definizione progetto esempio (gioco talpa). Definizione specifiche. Identificazione dei sottocircuiti necessari a partire dalle specifiche. Schema ad alto livello. Corrispondenza tra elementi schema ad alto livello e sottocircuiti. Identificazione componenti Logisim utilizzabili nel progetto. Definizione sottocircuiti. Circuito complessivo. Estensione di progetto. Implementazione generatore numeri (pseudo) casuali. Linear feedback shift registers (LFSR). Spiegazione logica generale di valutazione dei progetti d'esame.

  1. Slide lezione 9
  2. circuito gioco talpa
  3. esempi circuiti LFSR
  4. soluzione STG esercizio MSF 3

Lezione 10 (15/12/16) :
Simulazione CPU MIPS in Logisim. Esempi componenti fondamentali: RAM, Register File, ALU. Librerie esterne cnotenenti componenti CPU MIPS. Realizzazione register file utilizzando unicamente componenti della libreria standard di Logisim. Esercizi teoria.

  1. Slide lezione 10
  2. circuiti
  3. libreria
  4. buzzer
  5. soluzione esercizio 1
  6. soluzione esercizio 2


Calendario per la consegna dei progetti :

Data e ora orale Luogo Deadline consegna
30 Gennaio 2017 Aula Omega, dip. Informatica - Ore 09:00 28 Gennaio
14 Febbraio 2017 Aula Omega, dip. Informatica - Ore 09:00 7 Febbraio
21 Settembre 2017 Aula Delta, dip. Informatica - Ore 09:30 19 Settembre


Avvisi :

  1. [06/10/2016 - 09:30 am] Il corso di iniziera' Giovedi' 6 Ottobre 2016 alle ore 13:30 in aula 309 del settore didattico di via Celoria..
  2. [06/10/2016 - 09:30 am] Nel corso della prima lezione faro' girare un foglio sul quale ogni studente dovra' registrarsi scrivendo Nome,Cognome, Matricola, indirizzo email (l'email serve per la mailing list del corso). CHiedo cortesemente di inserire la vostra email anche se non avete ancora ricevuto l'indirizzo di posta istituzionale di unimi (quello che termina con @studenti.unimi.it) in modo da ricevere gli avvisi dalla mailing list fin dall'inizio del corso. In seguito, quando riceverete il vostro indirizzo di posta elettronica potrete inviarmi una email contenente vecchi indirizzo di posta elettronica e indirizzo di posta unimi. La mailing list e' lo strumento principale che utilizzo per avvisarvi di variazioni al piano orario, registrazione progetti d'esame e approvazione specifiche di progetto (ulteriori info a riguardo saranno fornite nel corso della prima lezione). Inoltre io vengo da fuori Milano (sono quasi fuori regione). Se mi si ferma il treno da qualche parte (evento non poi cosi' raro) la mailing list e' l'unico modo che ho per avvisarvi in tempi brevi...
  3. [06/10/2016 - 09:31 am] Per poter accedere ai pc presenti in aula 309 (o nelle altre aule informatizzate del settore didattico di via Celoria) e' necessario effettuare una registrazione. Essa va effettuata utilizzando l'apposito totem presente in aula 309 a lato della cattedra. Per evitare file e' disponibile un secondo totem in una delle aule piu' piccole vicine alle 309 (quella posta a lato dell'ufficio dei tecnici che si occupano delle aule informatizzate).

Materiale aggiuntivo usato a lezione :

In questa sezione del sito verranno caricati, di volta in volta, i file aggiuntivi necessari per completare gli esercizi proposti a lezione. Fate riferimento al contenuto della sezione Avvisi per ulteriori dettagli riguardanti le modalita' di salvataggio dei file ed il loro caricamento in LogiSim.

  1. Materiale Lab 2 (file da caricare in LogiSIM)
    1. Esercizio 1
    2. Esercizio 2
    3. Esercizio 3
    4. Esercizio 4
    5. Esercizio 5
    6. Esercizio 6
    7. Esercizio 6 (confronto)
    8. Esercizio 6 (NAND mode)
  2. Materiale Lab 3 (file da caricare in LogiSIM)
    1. Esempio 0
    2. Esercizio 1a (SOP)
    3. Esercizio 1b (confronto)
    4. Esercizio 1c (POS)
    5. Esercizio 2a (originale)
    6. Esercizio 2a (originale, porte negate)
    7. Esercizio 2b (SOP)
    8. Esercizio 2a (SOP, porte negate)
    9. Esercizio 2c (SOP semplificata)
    10. Esercizio 3
    11. Esercizio 4
  3. Materiale Lab 4 (file da caricare in LogiSIM)
    1. Esercizio 1
    2. Esercizio 1 decodificatore
    3. Esercizio 2
    4. Esercizio 3 a
    5. Esercizio 3
    6. Esercizio 3 full adder via half adder
    7. Esercizio 4
    8. Esercizio 4 half adder
    9. Esercizio 5
    10. Esercizio 5 corretto
    11. Esercizio 6
    12. Esercizio 7
    13. Esercizio 7 overflow
  4. Materiale Lab 5 (file da caricare in LogiSIM)
    1. Materiale
  5. Utilita' generale
    1. EsR1
    2. EsR2
    3. EsR3
    4. EsR4
    5. EsR5
    6. EsR6