Architettura degli elaboratori

Corso di laurea in Tecnologie Web e Multimediali

Finalità del corso
Programma dettagliato del CORSO
LIBRI di TESTO
LUCIDI presentati a lezione
MODALITÀ di svolgimento dell'esame
Esempi di TEMI D'ESAME

Docente

Finalità del corso

Il corso ha lo scopo di illustrare la struttura e il funzionamento di un computer e delle sue diverse parti hardware. Il percorso didattico seguito ha inizio con lo studio delle parti più piccole di cui si compone un calcolatore (porte logiche all'interno dei chip), si muove verso le componenti più complesse, fino ad arrivare allo studio di architetture complete di calcolatori. Una prima parte del corso presenta i concetti fondamentali della disciplina: prima tratta l'analisi ed il progetto di circuiti logici, poi costruisce ed analizza i componenti digitali usati più frequentemente, infine usa i componenti studiati per costruire un semplice computer. La seconda parte del corso sfrutta le nozioni di base acquisite nella prima parte per approfondire le principali scelte di progetto nei computer moderni. Particolare rilievo viene dato al collegamento e comunicazione di periferiche con il calcolatore, al tema della memoria (cache, centrale, di massa, virtuale), agli approcci architetturali di particolare importanza (quali pipelining e RISC) e a quelli più avanzati (sistemi multiprocessore) sul mercato.

Programma dettagliato del CORSO

Introduzione
Livelli di astrazione nell'analisi di un'architettura. Prospettiva storica sulle architetture degli elaboratori. L'architettura di Von Neumann. La "legge" di Moore. Tipologie di computer disponibili.
Reti logiche
Porte logiche elementari. Algebre booleane. Rappresentazione di funzioni booleane. Analisi e sintesi di circuiti combinatori. Circuiti combinatori d'uso più frequente. Flip-flop. Clock. Circuiti sequenziali. Circuiti integrati. Chip di memoria: DRAM, SRAM, ROM, Flash.
Rappresentazione delle informazioni
Sistemi di numerazione binario, ottale, decimale, esadecimale. Conversione tra basi. Rappresentazioni in modulo e segno, complemento a 2. Rappresentazioni in virgola mobile. Addizione, sottrazione,moltiplicazione. Overflow. Standard IEEE per numeri in virgola mobile. Rappresentazione di caratteri: ASCII, UNICODE. Codici di rilevamento errori. Memorizzazione: approccio big endian vs. little endian.
Processore
Ciclo di fetch-decode-execute. Architetture CISC vs. RISC. Bus. Registri. ALU. Data Path. Unità di controllo. Micro-operazioni. Un esempio dettagliato di micro-architettura. Pipeline. Processori superscalari. Memorie cache. Branch prediction. Dipendenza tra istruzioni. Il processore Core-i7.
Programmazione assembly
(solo per gli studenti che hanno seguito il corso negli anni accademici sino al 2010-2011)
Architettura dell'ARM. Assembly ARM: formato istruzioni, direttive all'assemblatore. Modalità di indirizzamento. Istruzioni di assegnamento. Istruzioni di salto condizionato ed incondizionato. Subroutine. Istruzioni aritmetiche, logiche, di scorrimento, di manipolazione bit. Gestione delle eccezioni.
Linguaggi macchina.
Tipi di dati. Indirizzamento. Tipi di istruzioni. Formati istruzioni. Programmed I/O. Gestione degli interrupt. DMA.
Input/Output
Dispositivi periferici. Collegamenti mediante bus. Trasferimenti di dati su bus sincroni ed asincroni. Operazioni sul bus. Meccanismi di arbitraggio: daisy-chaining, arbitraggio decentralizzato. Architettura di un tipico PC. Bus PCI, PCI Express, USB. Hard disk. RAID. Dischi a stato solido. Dischi Ottici.
Gerarchie di memoria
Memoria centrale, di massa, cache. Memorie cache. Cache hit e miss. Mappatura tra memoria principale e cache: direct, set-associative. Tecniche di rimpiazzamento. Scrittura in cache: write-through, write-back. Memoria virtuale. Paginazione e Segmentazione. MMU. Memoria virtuale nel processore Core.
Architetture ad elaborazione parallela
Tipologie di calcolatori paralleli. Parallelismo a livello di chip. Multiprocessori e multicomputer. Interconnessione fra processori: bus, rete. Cache coherence, snooping. Architetture UMA e NUMA. Architetture COW (Clusters of Workstations) ed MPP (Massively Parallel Processor).

LIBRI di TESTO

Testo adottato

LUCIDI presentati a lezione e riferimenti ai testi

Introduzione
Lucidi in formato pdf: [4 per pagina], [8 per pagina].
Pagine: 1-8, 13-31 da [Tan13].
Pagine: 1-7, 12-28 da [Tan06].
Reti logiche
Porte logiche, algebra di Bool
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 151-162 da [Tan13]; 131-141 da [Tan06].
Circuiti combinatori, memorie
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 162-167, 169-189 da [Tan13], nota: in [Tan13] le didascalie delle figure 3.15 e 3.16 sono errate; 141-146, 148-168 da [Tan06].
Rappresentazione delle informazioni
Numeri binari
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 681-687, 690, 693-696 da [Tan13]; 655-661, 667-670 da [Tan06].
Caratteri, codici di correzione degli errori
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 141-145, 74-82 da [Tan13]; 123-127, 66-74 da [Tan06].
Processore
Lucidi: [4 per pagina], [8 per pagina].
Pagine 55-69, 82-86, 249-255, 257-262, 264-270, 279-284, 291-294, 305-310, 314-316, 321-341 da [Tan13]. Gli argomenti presenti nelle pagine 258-262, 279-284 sono stati trattati a lezioni in maniera meno dettagliata rispetto al libro, possono quindi essere studiati con un minor grado di dettaglio.
Pagine 49-62, 74-77, 223-229, 230-235, 238-243, 251-257, 263-266, 276-281, 284-287, 291-306 da [Tan06]. Gli argomenti presenti nelle pagine 232-235, 251-257 sono stati trattati a lezioni in maniera meno dettagliata rispetto al libro, possono quindi essere studiati con un minor grado di dettaglio.
Programmazione assembly
Lucidi ARM: [4 per pagina], [8 per pagina].
Pagine: 55-58, 363-365, 370, 378-380, 394, 410-412 da [Tan13].
Linguaggi macchina e I/0
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 353-363, 367-370, 371-374, 381-385, 396-407, 423-427 da [Tan13]; 323-332, 339-341, 342-345, 351-355, 365-375, 392-396 da [Tan06].
Bus
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 111-115, 192-215, 221-239 da [Tan13]; 99-102, 168-190, 196-214 da [Tan06].
Memoria
Memoria di massa
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 87-111 da [Tan13]; 78-98 da [Tan06].
Memoria cache e memoria virtuale
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 82-86, 314-321, 446-468 da [Tan13]; 74-77, 285-291, 416-436 da [Tan06].
Architetture ad elaborazione parallela
Lucidi: [4 per pagina], [8 per pagina].
Pagine: 65-74, 561-565, 400-405, 570-572, 576-579, 582-583, 591-594, 594-612, 614-616, 625-631, 640-645 da [Tan13]; 58-65, 529-532, 400-405, 537-539, 543-544, 548, 562-579, 581-582, 591-596, 604-609 da [Tan06].

MODALITÀ di svolgimento dell'esame

L'esame si compone di una prova scritta e di una prova orale.
Prova Scritta:
L'esame scritto prevede: Durante le prove scritte non è possibile consultare il libro di testo o gli appunti né utilizzare calcolatrici tascabili.
Prova Orale:
La prova orale, unica e obbligatoria per tutti, solitamente consiste in poche e brevi domande sugli argomenti trattati a lezione. Per poter sostenere la prova orale è necessario aver superato l'esame scritto con un voto maggiore o uguale a 16. Si richiede inoltre che la prova scritta sia stata superata da meno di un anno. Nel caso la prova orale non venga superata o si decida di non accettare il voto, la prova scritta resta valida, ed è possibili ripetere la sola prova orale.
Iscrizioni Necessarie:
Si ricorda che per potersi presentare alle prove d'esame, sia scritte che orali, è necessaria l'iscrizione elettronica mediante il sito Esse3 .
L'iscrizione all'esame è necessaria anche per motivi organizzativi, in questo senso, iscriversi all'esame e non presentarsi crea quasi gli stessi inconvenienti di presentarsi all'esame senza essersi iscritti. Pertanto chi rinunciasse a presentarsi ad una prova d'esame è caldamente invitato ad annullare la propria iscrizione su Esse3.
Gli studenti che non dispongano di un account su Esse3 possono iscriversi mandandomi un messaggio di posta elettronica all'indirizzo "pietro.digianantonio at uniud.it".
Periodo di validità delle prove:
Le prove scritte mantengono la loro validità per un anno, ossia una volta superato lo scritto lo studente ha un anno di tempo per completare l'esame sostenendo la prova orale.
Nota:
Si fa presente che Esse3 non permette di gestire in maniera diversa gli appelli del corso per Informatica da quelli per TWM, pertanto su Esse3 sono visibili, anche dagli studenti di TWM, gli appelli di laboratorio rivolti esclusivamente agli studenti di Informatica.

TEMI D'ESAME proposti negli anni passati e lista di esercizi con soluzione

  • Testi esame (lista di file pdf)
  • Esercitazioni a.a. 04/05 (file pdf). Avvertenza. Questa lista contiene anche esercizi preparati per l'omologo corso per la laurea in Informatica, vedi esercizi su circuiti sequenziali e mappe di Karnaugh. Questi esercizi che non fanno parte del programma.