ARCHITETTURA DEGLI ELABORATORI
cod. 13598

Anno accademico 2007/08
3° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Formazione interdisciplinare e applicativa
Tipologia attività formativa
Affine/Integrativa
48 ore
di attività frontali
6 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

Il corso si propone di fornire agli studenti le nozioni sull'organizzazione e l'architettura degli elaboratori elettronici con particolare attenzione all'hardware ed al software di basso livello. Verranno inoltre forniti gli strumenti per la  realizzazione di programmi Assembly per piattaforma Intel 80X86.<br /><br />

Prerequisiti

- - -

Contenuti dell'insegnamento

<br /><br />Evoluzione storica degli elaboratori.Architettura di unelaboratore, macchina di Von Neumann.Esempio di linguaggio macchina perun calcolatore di Von Neumann.<br />Sistemi di numerazione binario,esadecimale e ottale.Rappresentazione binaria dei numeri reali,standard IEEE.Codici di caratteri.<br />Porte e circuitilogici.Cenni di algebra booleana e di minimizzazione di funzionilogiche.Reti combinatorie e sequenziali. Il clock. Esempi di circuitilogici:contatori, multiplexer, decodificatori, comparatori,shifter,addizionatori, ALU; latch e flip flop, registri e memorie.Icircuiti integrati.<br />Architettura di un calcolatoremoderno.Memorie statiche e dinamiche, RAM, ROM, EPROM, etc.I bus deicalcolatori, sincroni e asincroni, arbitraggio del bus.Architetture dibus: ISA, PCI, AGP, etc.Gestione degli interrupt.Microprocessori Risc eCisc.Panoramica dei moderni microprocessori.Gestione dell'input/output:seriale, parallelo, SCSI, USB, Firewire.DMA. Memorie di massa.<br />Prestazionidi un sistema.Legge di Amdahl.Miglioramento delle prestazioni: lapipeline, la memoria cache.Cenni di architetture parallele.<br />Accenni di Microprogrammazione.Catena di compilazione.<br />Introduzione ad un sistema operativo.Processi, memoria virtuale.<br />Elementi di linguaggio assembler x86. Registri utilizzati.Istruzioni di spostamento di dati, istruzioni aritmetiche, booleane,rotazione e traslazione, test, trasferimento di controllo, etc.Diversi tipi di indirizzamento della memoria.Rudimenti di utilizzo del sistema operativo Linux:assemblatore e compilatori.Set di istruzioni aggiuntive nei moderni microprocessori:MMX, SSE, SSE2, 3Dnow.Programmazione C usando direttive di inline assembler. <br />

Programma esteso

- - -

Bibliografia

<br />V.Carl Hamacher - Zvonko G. Vranesic – Safwat G. Zaky, Introduzione all’Architettura dei Calcolatori, McGraw-Hill<br /><br />Giacomo Bucci. Architetture e organizzazione dei calcolatori elettronici - fondamenti, McGraw-Hill, 2004.<br /><br />Andrew S. Tanenbaum. Architettura del Computer, un approccio strutturato, UTET Libreria, 2000.

Metodi didattici

<br />

Modalità verifica apprendimento

- - -

Altre informazioni

- - -