|
Home
Ultimi Aggiornamenti
Presentazione
Orario del Corso
Esame
Materiale Didattico
Programma
Materiale Didattico
Lezioni
Esercitazioni
Simulatore
Testi Consigliati
Altri Siti
Contatti
Orario Ricevimento
Mailing List
Forum
F.A.Q.
E-mail
Registrazione
|
|
Programma a.a. 2008/09
La rappresentazione delle informazioni - Rappresentazione delle informazioni numeriche: sistemi di numerazione, conversione della base, rappresentazione dei numeri interi relativi, rappresentazione dei numeri non interi, aritmetica binaria, rappresentazione Binary Coded Decimal (BCD). Rappresentazione delle informazioni non numeriche.
Organizzazione dell'hardware e programmazione in linguaggio assemblativo - Informazione e sue rappresentazioni. Evoluzione degli elaboratori. Struttura di un calcolatore: suddivisione in blocchi funzionali; la memoria centrale; il controllo; le funzioni aritmetiche e logiche; le operazioni di ingresso e di uscita. Le istruzioni: classificazione delle istruzioni; metodi di indirizzamento; gestione degli accessi alla memoria centrale; le istruzioni di macchina; la attivazione delle subroutine (istruzione di chiamata a subroutine, il passaggio dei parametri, procedure rientranti, allocazione dinamica della memoria).
Sistemi di interruzione. Accesso diretto alla memoria
(DMA). Le architetture RISC. I programmi Assemblatore e Linker.
Esercitazioni di programmazione PD32 - Il simulatore. Il set di
istruzioni. Strutture dati.
Subroutine. Gestione I/O. Interruzioni.
Materiale Didattico
Il materiale didattico del corso è composto
da:
1) Libro di Testo: "Architettura degli elaboratori. Organizzazione dell'hardware e programmazione in linguaggio assembly",
S. Congiu,
Pàtron Editore, 2007. Nel testo sono stati riscontrati alcuni errori di stampa: per la loro correzione,
si consulti l'errata corrige.
2) "Processore PD32 - Architettura assembler e simulatore", G. Cioffi, A. Jorno e T. Villani,
Masson Editore.
3) Dispense sulle esercitazioni in formato pdf. Per la visualizzazione e la stampa utilizzare Acrobat Reader (scaricabile gratuitamente dal sito di
Adobe).
Lezioni
Struttura di un Calcolatore
file zip 1277KB - ultima modifica 9/03/2009
Istruzioni - 1° parte
file zip 354KB - ultima modifica 9/03/2009
Istruzioni - 2° parte
file zip 413KB - ultima modifica 17/03/2009
Istruzioni - 3° parte
file zip 454KB - ultima modifica 23/03/2009
Istruzioni - 4° parte
file zip 574KB - ultima modifica 23/03/2009
Interruzioni
file zip 316KB - ultima modifica 6/04/2009
Esercitazioni e Complementi
Rappresentazione delle Informazioni - Teoria
file zip 246KB - ultima modifica 9/03/2009
Rappresentazione delle Informazioni - Esercizi
file zip 40KB - ultima modifica 12/03/2009
Processore PD32
file zip 6470KB - ultima modifica 17/03/2009
Linguaggio del PD32
file zip 57KB - ultima modifica 26/03/2009
Set Istruzioni PD32
file zip 753KB - ultima modifica 26/03/2009
Set Istruzioni PD32 - Esercizi
file zip 30KB - ultima modifica 27/03/2009
Indirizzamenti
file zip 484KB - ultima modifica 27/03/2009
Strutture Dati - 1° parte
file zip 350KB - ultima modifica 2/04/2009
Strutture Dati - 2° parte
file zip 171KB - ultima modifica 3/04/2009
Stringhe e Transcodifiche
file zip 45KB - ultima modifica 07/04/2009
Subroutine
file zip 484KB - ultima modifica 08/04/2009
Gestione I/O
file zip 653KB - ultima modifica 10/04/2009
Esercizi Subroutine & I/O
file zip 204KB - ultima modifica 10/04/2009
1° esercizio per i gruppi di studio
file txt 1KB - ultima modifica 27/03/2009
2° esercizio per i gruppi di studio
file txt 1KB - ultima modifica 2/04/2009
3° esercizio per i gruppi di studio
file zip 5KB - ultima modifica 3/04/2009
4° esercizio per i gruppi di studio
file txt 2KB - ultima modifica 7/04/2009
5° esercizio per i gruppi di studio
file zip 3KB - ultima modifica 10/04/2009
Simulatore
Attualmente sono disponibili tre versioni di simulatore del processore PD32, e
un progetto in fase di sviluppo:
Simulatore PD32 v1.2: versione ufficiale realizzata dal Ing. T. Villani per l'ambiente Windows disponibile insieme al testo "Processore PD32 - Architettura assembler e simulatore".
DISsimulator (pd132ide): progetto OpenSource in fase di sviluppo per realizzare un
simulatore di "macchine astratte" di cui il pd32 sia un rappresentante.
Informazioni all'indirizzo: http://www.dissimulator.softeaware.it/
JPD132 v.1.0 beta: simulatore compatibile con l'assembly PD32 dotato di
nuove direttive e istruzioni (necessaria una JVM v.1.3.1 o successive: una volta
scompattato lo zip è sufficiente eseguire il file cliccami.bat o eseguire
il comando java MainClass da shell nella sottodirectory JPD132).
Informazioni e download all'indirizzo: http://www.lorenzoblanco.it/jpd132/.
JDebugger v1.1 beta: realizzata da Silvio Donnini in Java nel 2002, allora studente
del corso
(file zip 225Kb - per il funzionamento occorre aver
installato una versione del runtime environment di Java JRE uguale o superiore alla
1.3 scaricabile gratuitamente dal sito della Sun
- per lanciare il programma scompattare il file zip in una directory ed eseguire
Debugger.jar).
Testi Consigliati
Architetture e Organizzazione dei Calcolatori di William Stallings. Jackson Libri, 2001.
Sito web in inglese: http://williamstallings.com/COA6e.html
Architetture dei calcolatori elettronici di Giacomo Bucci. McGraw-Hill, 2001.
Sistemi a Microprocessore - Architettura e programmazione di A.
Salsano, A. Ferreri e F. Tota Gramagna.
Petrini Editore, 1992.
Struttura, organizzazione e progetto dei calcolatori di David A.
Patterson, John L. Hennessy. Jackson Libri, 1999.
Il Processore PD32 - Architettura assembler e simulatore di G. Cioffi,
A. Jorno, T. Villani. Casa Editrice Ambrosiana, 1994.
Altri Siti
In questa sezione vengono presentati siti di particolare
interesse che possono fornire spunti per studi e ricerche personali (non è
obbligatorio visitarli per ottenere esito positivo all'esame).
http://www.borland.com/.../download_cbuilder.html
- versione free del Borland C++ Compiler 5.5; include: compiler, linker, dump e altri
tools.
http://www.dre.vanderbilt.edu/.../misc_c11.htm
- This tutorial helps you in interfacing assembly routines in C language. Most serious C or
C++ programmers must face the task of interfacing assembly language subroutines with the
language.
http://spazioinwind.libero.it/ramsoft/index.htm
- documentazione, software e link sul 80x86 Assembly in italiano.
http://isc.faqs.org/.../preamble.html
- FAQ riguardo l'assembly x86; sotto la voce "Ralf Brown's Interrupt
List" potete trovare una lista quasi esaustiva dei 256 interrupts hw/sw
della piattaforma Intel/Microsoft..
http://www.redhat.com/.../Plug-and-Play-HOWTO.html
- HOWTO sul Plug and Play
http://babbage.cs.qc.edu/.../IEEE-754references.html
- molti link ad altri siti sullo standard IEEE754
ftp://download.intel.com/.../pdf/ia64fpbf.pdf
- Piattaforma Intel IA-64 - Floating-Point Operations and the IEEE Standard for Binary Floating-Point Arithmetic
http://http.cs.berkeley.edu/.../754story.html
- storia dello standard IEEE754 e del suo ideatore.
http://people.uncw.edu/tompkinsj/133/numbers/Reals.htm
- descrizione IEEE754 e applet java per la conversione da decimale verso tale
rappresentazione.
http://www.play-hookey.com/digital/
- porte logiche, registri, reti logiche combinatorie e sequenziali.
Intel's Developer Site - contiene informazioni sui prodotti Intel.
Per il Pentium 4 dal menu a sinistra selezionare: Hardware Design->Processors->Desktop
Processors->Intel Pentium 4 Processor.
Linux Kernel Hackers' Guide
- descrizione del funzionamento del kernel di Linux, e perciò del suo
interfacciamento con l'hardware.
Stanford Computer Science Department
- sono elencati i siti relativi ai corsi di informatica tenuti alla Stanford
University. Purtroppo molti sono irraggiungibili, ma se ne possono trovare alcuni
di interesse come il CS140 - Operating System and Systems Programming.
|
|