matite e gomma

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0

Validazione XHTML 1.0 Validazione CSS 3

Guida rapida all'insegnamento

Architettura degli elaboratori

Docente: Giuseppe Scollo

Università di Catania
Dipartimento di Matematica e Informatica
Corso di Laurea in Informatica, I livello, AA 2012-13

Indice

  1. Guida rapida all'insegnamento
  2. Organizzazione dell'insegnamento
  3. Obiettivi formativi
  4. Attività formative
  5. Modalità di valutazione
  6. Programma delle lezioni (1)
  7. Programma delle lezioni (2)
  8. Testi consigliati
  9. Testi per consultazione
  10. Simulatori presentati
  11. Simulatori prodotti
  12. Interazioni

Organizzazione dell'insegnamento

Obiettivi formativi

Acquisizione e sviluppo della capacità di:

Attività formative

L'organizzazione dell'insegnamento prevede 72 ore di lezione ed esercitazione (lunedì e mercoledì, aula 2, h. 10:00-13:00)

L'acquisizione di concetti e metodi nella disciplina è sostenuta da:

Modalità di valutazione

Il superamento dell'esame porta all'acquisizione di 9 crediti.

Programma delle lezioni (1)

  1. Finalità e organizzazione dello studio.  Macchine da calcolo: cenni storici
  2. Macchine da calcolo: unità funzionali, architetture.   Aritmetica Maya
  3. Rappresentazione binaria dei numeri e dell'informazione
    • Hamacher 1.4-5, A1.1-3 + Sim. 3
  4. Strutture algebriche, algebre di Boole
  5. Logica della commutazione, porte logiche, sintesi di funzioni logiche
  6. Realizzazione di porte logiche, circuiti sequenziali, flip-flop
  7. Registri, componenti di chip di memoria e del processore, PLA,FPGA,ALU
  8. Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali
    • Hamacher 2.0-4, A2.1-2
  9. Linguaggio assemblativo, direttive di assemblatore, pile e sottoprogrammi
    • Hamacher 2.5-7, A2.3
  10. Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali
    • Hamacher 2.8, 2.10.2, A2.4-5
  11. Modi di indirizzamento complessi, esempi di programmi assemblativi
    • Hamacher 2.9-10.1, 2.11-13, A2.6
  12. Operazioni di I/O, controllo e servizio delle interruzioni
    • Hamacher 3.0-2.5, A3.1

Programma delle lezioni (2)

  1. Gestione di interruzioni ed eccezioni in architetture reali
    • Hamacher 3.2.6, A3.2-3
  2. Software di supporto, sistema operativo. Microarchitettura
    • Hamacher 4.0-6, 4.9, 5.0-3
  3. Progettazione di microarchitetture cablate RISC e CISC
    • Hamacher 5.4-7.1
  4. Microprogrammazione, processori ad alte prestazioni, pipelining
  5. Tecniche predittive, processori superscalari, pipelining CISC
    • Hamacher 6.6.4-6.10
  6. Bus e circuiti d'interfaccia, standard d'interconnessione (cenni)
  7. Dispositivi di memoria principale, DMA, gerarchia delle memorie
    • Hamacher 8.0-5
  8. Memorie cache, miglioramento delle prestazioni, memoria secondaria
  9. Circuiti efficienti per l'aritmetica binaria
    • Hamacher 9.2-3, 9.6
  10. Moltiplicazione veloce, aritmetica binaria in virgola mobile (IEEE 754)
    • Hamacher 9.4-5, 9.7-7.2
  11. Architetture di sistemi embedded
  12. Chip di calcolo parallelo, multiprocessori, reti e griglie di calcolo

Testi consigliati

Testo di riferimento

C. Hamacher, Z. Vranesic, S. Zaky & N. Manjikian :
Introduzione all'architettura dei calcolatori
Terza edizione, McGraw-Hill Education (Italy), 2013

Note integrative

  1.   Aritmetica Maya (G. Scollo)
  2.   Strutture algebriche, algebre di Boole (G. Scollo)

Testi per consultazione

Libri di testo

Andrew S. Tanenbaum: Architettura dei calcolatori: un approccio strutturale
    Quinta edizione, Edizione italiana, Pearson Prentice Hall (2006)

G. Bucci: Calcolatori elettronici - Architettura e organizzazione, McGraw-Hill (2009)

J.L. Hennessy , D.A. Patterson : Architettura degli elaboratori, Apogeo (2008)

D.A. Patterson, J.L. Hennessy : Struttura e progetto dei calcolatori, 3/e, Zanichelli (2010)

W. Stallings: Architettura e organizzazione dei calcolatori, 8/e, Pearson (2010)

Note integrative per consultazione

  1.  Cenni storici sulle macchine da calcolo (G. Scollo)
  2.  Macchine astratte e struttura a livelli dei computer moderni
        in: N. Fazio, A. Nicolosi e F. Barbanera, Introduzione alle Macchine Astratte
  3.  Attualità e pratica dell'aritmetica Maya, A. D'Agata, B. Radelli, G. Scollo, IDD'97.
  4.  La radice quadrata con l'aritmetica Maya, L.F. Magaña, Atti Convegno IILA, 2003.
  5.  IJVM Assembly Language Specification, D. Stone, 1999.
  6.  Note introduttive sul linguaggio Mic-1, F. Barbanera, 2008.
  7.  Progetto di un sistema su un chip, Caso di studio 1 in: C. Hamacher et al.,
            Introduzione all’architettura dei calcolatori, 3/e, McGraw-Hill, 2013.
  8.  Introduction to OpenCL, D. Kanter, 2010.

altri materiali sono reperibili presso il sito della precedente edizione dell'insegnamento

Simulatori presentati

  1.  Conversione della rappresentazione dei numeri su abaco Maya
        (v. 1.0, Java: R. Carrubba)
  2.  Operazioni aritmetiche additive su abaco Maya
        (v. 1.0, Java: S. Alparone, P. Catania)
  3.  Simulatore di codice di Hamming
        (v. 1.0, Java: F. Bombace)
  4.  Simulatore CodeXor
        (v. 1.0, Java: L. Morreale, G. Valenti)
  5.  Simulatore di circuiti logici
        (Applet Java: D. Ferrarello, F. Ungheri)
  6.  Simulatore di PLA
        (v. 1.0, Python: A. Plebe)
  7.  Simulatore di ALU a 8 bit
        (v. 1.0, Flash: S. Lentini, G. Nicotra)
  8.  Simulatore di ALU a 8 bit
        (v. 1.0, Java: F. Vindigni)
  9.  Emulatore Mic-1, con traduttore MAL→Mic-1
        (v. 1.3, Java: M.R. Aiello, v. 1.2: D. Spitaleri, E. Torre, F. Ravì)
  10.  Arbitraggio del bus
        (Java: R. Capuano)
  11.  JCacheSim
        (v. 1.0, Java: A. Guarneri)

(v. anche altri simulatori dalla precedente edizione dell'insegnamento)

Simulatori prodotti

questi simulatori sono stati prodotti nella presente edizione dell'insegnamento:

  1.  Abaco Maya Decimale
        (v. 1.0, Java: A. Ottimo, A. Reale)
  2.  Moltiplicazione su abaco Maya
        (v. 1.0, Java: F. Alessandro, M. Rosano)
  3.  Calcolatrice Multibase
        (v. 1.0, Java: A. Stivala)
  4.  Algoritmo di Booth
        (v. 1.0, Java: G. Parasiliti, S. Zimmitti)
  5.  Calcolatrice Binaria Interattiva
        (v. 1.0, Java: F. Mergiotti)
  6.  Codice Correttore di Hamming
        (v. 1.0, Java: S. Marchese)
  7.  CalcBin
        (v. 1.0, Java: M. Lo Scalzo, L. De Francisci)

Interazioni

Forum, Moodle, Galileo: cosa va dove?