- Home
- Didattica
- I corsi di studio
- Corsi di laurea
CALCOLATORI ELETTRONICI A
Obiettivi formativi
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.
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.
Prerequisiti
Sono necessarie le conoscenze di base del corso di Fondamenti di Informatica A e Fondamenti di Infromatica B e in particolare:
* Concetti di base di algebra booleana.
* Concetti di elementari di architettura degli elaboratori
* Concetti di base di reti logiche
Propedeuticità obbligatorie: Fondamenti di Informatica B.
Contenuti dell'insegnamento
.
Approfondimenti sull’architettura dei calcolatori
* Introduzione alle architetture delle moderne CPU.
* Pipeline e architetture susperscalari.
* Unità di controllo, unità di controllo a microprogramma.
* Sottosistema di ingresso uscita:
o Gestione a controllo di programma
o Gestione sotto controllo di interrupt
o DMA
* Cenni ai processori RISC con esempi (ARM, MIPS, ...).
Le Memorie:
* Generalità, memorie a semiconduttore (ROM e RAM)
* Memorie secondarie: tecnologie e prestazioni.
* Gerarchie di memoria
o Principio di località e concetti generali
o Memoria virtuale (segmenti e pagine)
o Memoria cache (tecniche di accesso, politiche di sostituzione, …)
Introduzione alle architetture parallele e distribuite.
* Classificazione e tassonomie
* Legge di Amdhal
* Architetture SIMD e MIMD
* Clusters
Introduzione all’assembly dell’architettura x86
* Architettura logica delle CPU x86.
* Sintassi. Modi di indirizzamento. Operazioni e pseudo-operazioni.
* Funzioni DOS e BIOS .
* Esempi di programmi in assembly.
Bibliografia
G.Bucci, Calcolatori elettronici - Architettura e organizzazione,.McGraw-Hill, 2009.
J. P. Hayes, Computer Architecture and Organization, McGraw-Hill, New York, 1998.
Randall Hyde, The art of Assembly Programming; un ottimo manuale in linea sull'utilizzo dell'assembly.
Le slides del corso sono disponibili sul sito: https://my.unipr.it
Metodi didattici
Il corso prevede oltre alle lezioni tradizionali 10 ore di laboratorio per lo sviluppo assistito di programmi assembler.
La valutazione consiste in un esame scritto finale e nello sviluppo di un programma in linguaggio assembler.
Altri insegnamenti
ANNO DI CORSO: 1
ANNO DI CORSO: 2
ANNO DI CORSO: 3

