lecture 1: course overview - di.univaq.it · macro e micro informatica ... legamicon l’hw ......
TRANSCRIPT
1
SEA GroupSoftware Engineering and Architecture Group Henry Muccini
[http://www.di.univaq.it/muccini/LabArch]
Modulo di “LaboratorioLaboratorio di di ArchitetturaArchitetturadeglidegli ElaboratoriElaboratori”Corso di “ArchitetturaArchitettura deglidegli ElaboratoriElaboratoricon con LaboratorioLaboratorio”Docente: H. Muccini
Lecture 1: Course Overview- Introduzione al corso- Course Schedule - Administration
SEA Group
2/16 Henry Muccini, Laboratorio Architettura
Presentazioni
● Chi sono
– Office:A1/10, Coppito II
– Office hours:● Previo appuntamento via email
● Chi siete:
– Chi proviene dal corso dell’anno precedente
– Esperienze di programmazione
2
SEA Group
3/16 Henry Muccini, Laboratorio Architettura
Introduzione al Corso
SEA Group
4/16 Henry Muccini, Laboratorio Architettura
Dal corso di Architettura degli Elaboratori al Laboratorio
● Corso di Architettura degli Elaboratori:– Rappresentazione dell’informazione
– Reti logiche
– Reti sequenziali
– CPU
– Memoria
– Sottosistema di I/O
3
SEA Group
5/16 Henry Muccini, Laboratorio Architettura
Architettura di un Elaboratore
Memoria
ALU
R1R2 …
MAR
MBR
Rn
Bus
CPU
MEMORIA
SEA Group
6/16 Henry Muccini, Laboratorio Architettura
Dal corso di Architettura degli Elaboratori al Laboratorio
● Corso di Architettura degli Elaboratori:
– Molto studio HW, poco sul SW
● Corso di Laboratorio di Architettura degli Elaboratori:
– Studio del SW
– Basandoci però sulle conoscenze HW acquisite
4
SEA Group
7/16 Henry Muccini, Laboratorio Architettura
● Eniac– 24x3x2
● Progresso senza precedenti– Dal ’40
● 4 volte meglio ogni 3 anni (RAM)
● VLSI
● Input/output/Mem/CPU________● Linguaggi 0,1 e linguaggi ad
alto livello● Sistemi Operativi● Macro e micro informatica● Informatica e
– Biologia, medicina, genomaBus
ALU
R1R2…Rn
Memoria
MAR
MBR
MEMORIA
SEA Group
8/16 Henry Muccini, Laboratorio Architettura
Evoluzione del SW
● Linguaggio 0-1
● Linguaggi Assembly
● Linguaggi ad alto livello
● Sistemi Operativi– def: Insieme di Programmi che realizzano una
interfaccia tra utente e Hardware (macchina virtuale)
– def: Gestore delle Risorse del sistema. Permette la gestione efficiente (minimizzazione d’uso) delle risorse
– def: Insieme di procedure manuali o automatiche che permette a piu’ di un utente di condividere un sistema in maniera efficiente
5
SEA Group
9/16 Henry Muccini, Laboratorio Architettura
Sistema Operativo come Gestore delle Risorse
- Fornisce un'interfaccia amichevole all'utente
- Fornisce un supporto durante l'esecuzione dei programmi
- Gestisce le Risorse
SEA Group
11/16 Henry Muccini, Laboratorio Architettura
FOCUS del corso● Naturalmente, NON vedremo in questo corso come
funziona un sistema operativo, ne’ tanto meno linguaggi ad alto livello o codifica 0-1
● Vedremo insieme Linguaggio ASSEMBLY
– Set di Istruzioni in assembler MIPS● Fondamenti logici
● Legami con l’HW
– Regole di progettazione
– 4 Principi di Progetto
– SPIM
6
SEA Group
12/16 Henry Muccini, Laboratorio Architettura
Evoluzione del SW
● Linguaggio 0-1
● Linguaggi Assembly
● Linguaggi ad alto livello
● Sistemi Operativi
SEA Group
13/16 Henry Muccini, Laboratorio Architettura
Motivazioni e cosa imparerete
● “Imparare il modo in cui sono rappresentate le istruzioni aiuta a scoprire il segreto dellaprogrammazione, cioe’ il concetto dellamemorizzazione dei programmi.”
7
SEA Group
14/16 Henry Muccini, Laboratorio Architettura
Course Schedule (1/2)
● Programmazione assembly– Realizzazione delle principali strutture di controllo
● if/then/else● Loop
● Scrittura di semplici programmi assembly– ricerche in array– programmi di ordinamento– manipolazione stringhe
● Scrittura di funzioni– Convenzioni riguardanti l’uso dei registri
SEA Group
15/16 Henry Muccini, Laboratorio Architettura
Course Schedule (2/2)
● Concetti avanzati:
– Linker
– Loader
– Programmi
● Tool “SPIM”
8
SEA Group
16/16 Henry Muccini, Laboratorio Architettura
Programma (di massima)– Istruzioni aritmetico/logiche– Istruzioni “Load and Store”– Istruzioni decisionali– Vettori– Gestione Input– If goto (istruzioni “bne”, “beq”)
- If then else (istruzione “j”)- Cicli - Istruzione di <- Switch
– Procedure- Procedure annidate- Procedure ricorsive
– Modi di indirizzamento del MIPS- Assemblatore, linker e loader- Pseudoistruzioni
– Puntatori– Numeri in Virgola Mobile– Gestione I/O
SEA Group
17/16 Henry Muccini, Laboratorio Architettura
9
SEA Group
18/16 Henry Muccini, Laboratorio Architettura
In 0x7fffee52 e’ memorizzato, inesadecimale, 31 che corrisponde a “1”(prima cifra dell’input 14)
Ho immesso da console un unico parametro con valore “14”
0x7fffee10
0x7fffee13
In 0x7fffee53 e’ memorizzato, inesadecimale, 34 che corrisponde a “4”(seconda cifra dell’input 14)
SEA Group
19/16 Henry Muccini, Laboratorio Architettura
MARS tool
10
SEA Group
20/16 Henry Muccini, Laboratorio Architettura
Amministrazione del Corso
SEA Group
21/16 Henry Muccini, Laboratorio Architettura
Metodo di insegnamento
● Uso delle slide– Stampate le slide prima della lezione– ®
– ?– Uso dei colori rosso e blu per evidenziare termini
importanti– Uso di stripe colorate per identificare concetti
importanti
– RICORDA: le slide sono solo di ausilio. Non sostituiscono il libro di testo
● Uso della lavagna
11
SEA Group
22/16 Henry Muccini, Laboratorio Architettura
Textbook● Required:
– David A. Patterson, John L. Hennessy,“Struttura, organizzazione e progetto dei calcolatori(Interdipendenza tra hardware e software )”, Jackson Libri
● Capp. Introduzione, 1, 3, 4 e Appendice A
Oppure
– David A. Patterson, John L. Hennessy“Struttura e progetto dei calcolatori, l’interfaccia
hardware software", Zanichelli 1995
● Tool:
– SPIM (A MIPS R2000/R3000 Simulator)
● www.cs.wisc.edu/~larus/spim.html
SEA Group
23/16 Henry Muccini, Laboratorio Architettura
Assessment
● Calendario Didattico: (come da http://informatica.di.univaq.it/)
● Project
● More information will be available on the web site soon
12
SEA Group
24/16 Henry Muccini, Laboratorio Architettura
Parziale
● A.A. 2007-2008:– 70% ha passato lo scritto al primo appello
(50/70)● Di cui, 32 su 50 senza l’obbligo di consegna del
progetto
Mentre
– 30% ha passato lo scritto al secondo appello● Di cui, 0 senza l’obbligo di consegna del progetto
⇓Cominciate SUBITO a studiare
SEA Group
25/16 Henry Muccini, Laboratorio Architettura
Progetto
● Esame =
– Scritto [obbligatorio]● Assegna un voto massimo pari a 26/30
– Progetto con discussione [facoltativo]● Assegna un voto massimo pari a +5
● In collaborazione con il corso sul Linguaggio C
● Create al piu’ presto i gruppi
13
SEA Group
26/16 Henry Muccini, Laboratorio Architettura
Esempio di Progetto
● Aprire un esempio di progetto:
– Directory: Lezione1_EsempioProgetto
● Documentazione
● Codice sorgente
● Esecuzione in SPIM
SEA Group
27/16 Henry Muccini, Laboratorio Architettura
LabArch08-09 vs. LabArch07-08
● Programma:
– Simile a quello dell’anno precedente
– Link con il corso su Linguaggio C
● Modalita’ d’esame:
– Come l’anno scorso
– Gestione delle lezioni:● Esercitazioni pratiche su alcuni argomenti
● Alcuni esercizi di “prova” per testare la vostra preparazione
14
SEA Group
28/16 Henry Muccini, Laboratorio Architettura
Prossime lezioni…
● Tre lezioni in questa settimana
● Due lezioni nella settimana prossima
● Due settimane di buco, per permettervi di studiare
– Copriremo in queste due settimane la parte del programma prima delle procedure
– Create i gruppi nel frattempo
● Due lezioni a settimana fino alla fine del corso
SEA Group
29/16 Henry Muccini, Laboratorio Architettura
Domande?
● Metodo 1:
– Controllate il sito Web
● Metodo 2:
– Ricevimento su appuntamento● Inviate una email a [email protected]
15
SEA Group
30/16 Henry Muccini, Laboratorio Architettura
Course Administration● Course Web Site:
– http://www.di.univaq.it/muccini/LabArch/
– reachable from http://informatica.univaq.it
– Controllate Frequentemente le aree “News” e “F.A.Q”
● In particolare, prima di eseguire una qualsiasi domanda, controllare se tale non e’ gia’ stata risposta nelle F.A.Q.
SEA Group
31/16 Henry Muccini, Laboratorio Architettura
Sito Web
16
SEA Group
32/16 Henry Muccini, Laboratorio Architettura
Alcuni consigli utili e Raccomandazioni
● Cominciate SUBITO a studiare i concetti di questolaboratorio, e vi sara’ molto piu’ semplice seguire le lezioni
● Studiare sul libro di testo: i lucidi possono contenere sviste e si limitano ad esporre solo un estratto dei contenuti del corso
● No telefonini accesi in aula
● Uso appropriato dei Portatili in aula
● Lingua Inglese
SEA Group
33/16 Henry Muccini, Laboratorio Architettura
Lingua Inglese
● GSEEM
● Tesi all’estero
● Tesi all’estero in azienda
● Lavori in azienda all’estero
● Progetti EU e non
● Corsi di Inglese in Facolta’