Calcolatori Elettronici 1
(Informatici) - prof. Micarelli

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.
 


Università degli Studi Roma Tre
Università degli Studi "Roma Tre"
www.dia.uniroma3.it/~calcele
Ultimo Aggiornamento 10 Aprile 2009