calcolatori elettronicicalcunibs.altervista.org/calcolatori-elettronici/lucidi_lezioni... ·...

18
1 Calcolatori Elettronici INTRODUZIONE AL CORSO Massimiliano Giacomin

Upload: lamdang

Post on 15-Feb-2019

233 views

Category:

Documents


0 download

TRANSCRIPT

1

Calcolatori Elettronici

INTRODUZIONE AL CORSO

Massimiliano Giacomin

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

Calcolatore: la prima realizzazione

Macchina analitica- C. Babbage, 1837- realizzata nel 1991

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)

6

CLASSI DI CALCOLATORI ELETTRONICI

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