CALCOLATORI ELETTRONICI A
cod. 14577

Anno accademico 2007/08
3° anno di corso - Secondo semestre
Docente
Settore scientifico disciplinare
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
A scelta dello studente
Tipologia attività formativa
A scelta dello studente
45 ore
di attività frontali
5 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

<br />
Il corso fornisce i concetti di base delle architetture dei sistemi di elaborazione, analizzandone l'organizzazione interna e descrivendo i principi di funzionamento delle CPU, delle memorie, delle strutture di interconnessione e di ingresso/uscita. Il corso comprende le nozioni fondamentali della programmazione in linguaggio assembly. I concetti sono esposti in modo generale; quando necessario si fa diretto riferimento all’architettura dei processori INTEL. <br />
<br />
Al termine del corso lo studente  dispone della conoscenza di base delle architetture moderne dei calcolatori elettronici ed è in grado di stendere semplici programmi a livello assembler.  <br />
 

Prerequisiti

<br />
Contenuti del corso di Fondamenti di Informatica B e in particolare:<br />
<ul>
<li>Concetti di base di algebra booleana.</li>
<li>Concetti di elementari di architettura degli elaboratori</li>
<li>Concetti di base di reti logiche</li>
</ul>

Contenuti dell'insegnamento

<br />·        Approfondimenti sull’architettura dei calcolatori <br />o       Introduzione alle architetture delle moderne CPU. <br />o       Pipeline e architetture susperscalari. <br />o       Unità di controllo, unità di controllo a microprogramma. <br />o       Cenni ai processori RISC con esempi.<br /> <br /> <br />·         Architettura di un sistema di elaborazione <br />o       Strutture di interconnessione trasferimento dati. BUS<br />o       Arbitri concentrati e distribuiti<br />o       Sottosistema di ingresso uscita:   <br />§        Gestione a controllo di programma<br />§        Gestione sotto controllo di interrupt<br />§        DMA<br /> <br />·        Le Memorie: <br />o       Generalità, memorie a semiconduttore (ROM e RAM) <br />o       Memorie secondarie: tecnologie e prestazioni.<br />o       Cenni alle gerarchie di memoria <br />§        Principio di località e concetti generali<br />§        Memoria virtuale (segmenti e pagine)<br />§        Memoria cache (tecniche di accesso, politiche di sostituzione, .)<br /> <br />·        Introduzione all’assembly dell’architettura x86 <br />o       Architettura logica delle CPU x86.<br />o       Sintassi. Modi di indirizzamento. Istruzione e pseudo-istruzioni.<br />o       Funzioni DOS e BIOS .<br />o       Esempi di programmi in assembly.<br />o       Laboratorio di assembly (esercitazioni)<br /> <br />·                  Introduzione alle architetture parallele e distribuite. <br />o       Classificazione e tassonomie<br />o       Legge di Amdhal<br />o       Architetture SIMD e MIMD<br />o       Clusters<br /> 

Programma esteso

- - -

Bibliografia

<br />·        G.Bucci, Architettura e organizzazione dei calcolatori elettronici – Strutture avanzate, McGraw-Hill, 2006.<br />·       Randall Hyde, The art of Assembly Programming . un ottimo manuale in linea sull'utilizzo dell'assembly con riferimenti alla gestione di periferiche di I/O, programmi residenti, memoria. http://www.ce.unipr.it/didattica/calcolatori/docs/aoa.pdf.

Metodi didattici

Il corso è articolato in lezioni tradizionali (80%) e in attività di laboratorio per lo sviluppo di competenze relative alla programmazione a livello assembler.<br />
<br />
La valutazione consiste in una prova scritta con domande a risposta aperta e nella stesura di un semplice programma scritto in linguaggio assembler.

Modalità verifica apprendimento

- - -

Altre informazioni

- - -