Calcolatori Elettronicicalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... ·...
Transcript of Calcolatori Elettronicicalcunibs.altervista.org/Calcolatori-Elettronici/Lucidi_Lezioni... ·...
Calcolatore: concetto e modelli• Concetto di calcolatore: esecutore universale di programmi
(algoritmi espressi in un linguaggio di programmazione)
• Modelli teorici
Macchina di Turing Funzioni Ricorsive
4
Oggetto del corso: il calcolatore elettronico
• Tecnologie utilizzate:- segnali elettrici utilizzati per rappresentare cifre binarie 0-1- altre tecnologie magnetiche e ottiche
5
Fondamenti matematici
GEORGE BOOLE (1815-1864)
1854, An Investigation of the Laws of Thought
Algebra booleana: utilizza due valori di verità (vero / falso)
8
Architettura del calcolatore elettronico
LIVELLO
DEI CIRCUITI
LIVELLO
DEL LAYOUT
LIVELLO
DELLA LOGICA
LIVELLO
FUNZ.LE (RTL)
LIVELLO
SIST. OP.
LIVELLO LING.
ASSEMBLY
Strutture: transistor, resistenze, capacità…
Componenti: materiali (Si, AsGa, …)
LIVELLO
APPLICAZIONI
Componenti: transistor, resistenze, capacità…
Strutture: porte logiche, flip-flop, …
Componenti: porte logiche, flip-flop, …
Strutture: registri, ALU, bus, memorie, …
Componenti: registri, ALU, bus, memorie, …Instruction Set Architecture (ISA)
ISA
Application Binary Interface (ABI)
Application Binary Interface (ABI)
Programmi assembly
Programmi assembly
Programmi applicativi
9
ISA (Instruction set architecture)
• Costituisce l’interfaccia tra l’hardware e il livello più basso del software• Specifica tutto ciò che i programmatori devono sapere per produrre
programmi in linguaggio macchina corretti:- istruzioni in linguaggio macchina (formato, semantica)- dispositivi I/O- …
• Una stessa architettura (ISA) può avere implementazioni diverse!• Alcune architetture (ISA) attuali:
- IA-32 (Intel, AMD) - MIPS- PowerPC- ARM- …
10
Il programma del corso
LIVELLODEI CIRCUITI
LIVELLODEL LAYOUT
LIVELLODELLA LOGICA
LIVELLOFUNZ.LE (RTL)
LIVELLOSIST. OP.
LIVELLO LING. ASSEMBLY
Strutture: transistor, resistenze, capacità…Componenti: materiali (Si, AsGa, …)
LIVELLO APPLICAZIONI
Componenti: transistor, resistenze, capacità…Strutture: porte logiche, flip-flop, …
Componenti: porte logiche, flip-flop, …Strutture: registri, ALU, bus, memorie, …
Componenti: registri, ALU, bus, memorie, …Instruction Set Architecture (ISA)
ISAApplication Binary Interface (ABI)
Application Binary Interface (ABI)Programmi assembly
Programmi assemblyProgrammi applicativi
11
PERCHE’ (ANCHE) AD INGEGNERIA INFORMATICA?
- come un programma di alto livello viene tradotto in linguaggio macchina?
- come il linguaggio macchina viene eseguito dall’hardware?- quali fattori influenzano le performance di un calcolatore?
Motivi culturali e base per corsi successivi
Influenza nella performance dei livelli inferiori
Le prestazioni di un programma (alto livello) sono determinate da:
- il programma stesso- prestazioni dell’hardware nell’eseguire le istruzioni dell’ISA
- il compilatore, che può produrre software “ottimizzato” per l’hw sottostante
12
PERCHE’ (ANCHE) AD INGEGNERIA INFORMATICA?
Necessità pratica di “sporcarsi le mani” in assembler
- nei sistemi embedded: riduzione lunghezza del codice (costo) + vincoli real time
- in un approccio ibrido, per codificare parti del programma “time critical”
(es: superamento delle convenzioni nella codifica di procedure)
- per utilizzare istruzioni specializzate che un compilatore potrebbe non sfruttare
- in alcuni calcolatori non è disponibile un linguaggio di alto livello!
I confini tra hardware e software sono sfumati: Hardware and and software are logically equivalent (Andrew Tanenbaum)Hardware is just petrified software (Karen Panetta Lenz)
ma “dovendo scegliere”:E' vero che il software non potrebbe esercitare i poteri della sua leggerezza se non mediante la pesantezza dell’hardware; ma è il software che comanda, che agisce sul mondo esterno e sulle macchine, le quali esistono solo in funzione del software, si evolvono in modo d'elaborare programmi sempre più complessi. (Italo Calvino)
Citazioni illustri
13
Precedenze e PrerequisitiPrecedenze:
• Fondamenti di informatica e programmazione (cf. art. 13 Regolamento)• Reale: nessuna (potete sostenere l’esame quando volete, ma registrare
solo quando avete sostenuto Fondamenti di informatica e programmazione)
Prerequisiti (cosa bisogna sapere): modulo Elementi di Informatica (6 CFU)
• Un’idea di base dell’architettura e organizzazione del calcolatore• Codifica binaria dei numeri
(notazione binaria ed esadecimale, rappresentazione dei numeri relativiin complemento a due, cenni su rappresentazione in virgola mobile)
• Capire (e sapere sviluppare) programmi elementari in C- strutture if, if-else, cicli
• Saranno comunque fatti brevi richiami durante il corso!
14
RICHIAMI: IL MODELLO DI VON NEUMANN
CPU
Memoria
Dispositivi di I/O
BUS
ambiente
Unità
dicontrollo
Unità dielaborazione(datapath)
15
Materiale di studio
Sito Internet del Corso: http://calcunibs.altervista.org
• Lucidi del corso• Link, informazioni varie, eventuale software da scaricare• Regole, news, risultati degli esami, ecc.• Ogni altra cosa dovesse risultare utile!
Libro di testo
• Patterson & Hennessy: Computer Organization and Design [Morgan Kaufmann]
anche in italiano: �Struttura e progetto dei calcolatori� [Zanichelli]
16
Modalità d’esame
• Appello scritto (2-3 h)
- domande/esercizi sul programma di Calcolatori Elettronici
(totale 32 punti)
• Possibilità per chi vuole di sostenere un orale integrativo (max + 3 punti)
TIPOLOGIA DI ESAME SCRITTO
- Diversi quesiti (domande a risposta aperta, a crocette, esercizi, ecc.);
ciascuno ha una valutazione compresa tra 0 e max punteggio indicato,
NB: non ci sono valutazioni negative degli esercizi (voto min=0)
- Per partecipare è necessario iscriversi all’appello (ESSE3)
17
VALIDITA’ DEI VOTI
• Un voto sufficiente che non perda di validità a seguito di un nuovo scritto
successivo (vedi poi) può essere registrato in qualunque data, anche dopo anni.
• Un voto conseguito allo scritto è sufficiente se maggiore o uguale a 18
Esempio: 17 non è un voto sufficiente
• Chi consegna uno scritto senza ritirarsi perde l’eventuale voto positivo
conseguito precedentemente
• Chi non consegna lo scritto (si ritira) mantiene l’eventuale voto sufficiente valido
18
REGISTRAZIONE VOTO
• Dopo ogni appello verrà organizzata la visione del compito / registrazione voti• In questa occasione è possibile registrare un voto ottenuto (anche in passato)• Gli studenti che hanno già ottenuto un voto e vogliono registrarlo:
- possono recarsi dal docente durante un compito scritto- possono presentarsi alla visione compiti di un qualunque appello
(la cui data è resa nota sul sito del corso contestualmente alla pubblicazionedegli esiti dell'appello stesso)
- possono seguire le istruzioni per la registrazione online che vengono resenote su sito del corso contestualmente alla pubblicazione degli esiti diun qualunque appello
PER ULTERIORI DETTAGLI: CFR. REGOLAMENTO D’ESAME SUL SITO
19
Contattarmi
Ufficio n. 27 del Dipartimento di Ingegneria dell’Informazione
E-mail: [email protected]
Orario di ricevimento:
VEDERE SITO DI ATENEO
• Si consiglia appuntamento via mail per sicurezza
(è possibile accordarsi per date al di fuori dell’orario di ricevimento)
• Per particolari esigenze: si consiglia di usare l’e-mail