architettura degli elaboratori - intranet · architettura degli elaboratori l’elaoratore (o...

44
Architettura degli Elaboratori a.a. 2014/15 Classe 3: matricole congrue 2 modulo 3

Upload: vantruc

Post on 18-Feb-2019

284 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Architettura degli Elaboratori

a.a. 2014/15

Classe 3: matricole congrue 2 modulo 3

Page 2: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Presentazioni

• Marcella Anselmo

• Info: http://www.di.unisa.it/professori/anselmo/

• Orario ricevimento: • Lunedì 14:30 – 16:30 • Giovedì 11 – 12

• Il mio studio è il n° 57 al 4° piano (ultimo livello) della Stecca 7 (fra l'aula F8 e la sede di Farmacia).

Page 3: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Pagina corso • Pagina personale del corso:

http://www.di.unisa.it/professori/anselmo/archi1415.htm

Troverete: orario lezioni, ricevimento, programma, avvisi generali, syllabus …

• Piattaforma e-learning:

http://www.scienzemfn.unisa.it/el-platform/

quando ci sarete anche voi

Troverete: avvisi per chi è iscritto/segue il corso, calendario aggiornato via via, slides (parziali), esercizi, …

Page 4: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Svolgimento del corso

• Il corso consiste di 10 CFU per un totale di 80 ore di corso, di cui: 56 ore di lezione frontale 24 ore di esercitazione

• Orario lezioni

– Lunedì 11-13, Aula P3 – Mercoledì 9 - 12, Aula P3 – Giovedì 9 - 11, Aula P3

• Inoltre eventuali ore di recupero saranno svolte il Giovedì dalle 14 alle 16.

• Ultima lezione prevista: 17 dicembre 2013, a meno di…

Page 5: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Prerequisiti

• Non vi sono propedeuticità formali.

• Allo studente non e' richiesta nessuna particolare conoscenza informatica. Una buona conoscenza da utente di personal computer può aiutare nell'inquadramento di alcune parti del corso. Una conoscenza (anche approssimativa) di programmazione può aiutare nella parte relativa alla programmazione assembler.

• Meglio seguire/studiare anche Programmazione 1

Page 6: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Modalità di frequenza

Lo svolgimento delle esercitazioni e la frequenza del corso sono fortemente consigliate.

Gli studenti devono essere preparati a trascorrere una congrua quantità di tempo nello studio al di fuori delle lezioni.

Page 7: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Come studiare?

• Lezioni (domande «stupide» non esistono)

• Slides, appunti, ma… libri!

• Esercizi (da soli, a gruppi,…)

• Ricevimento

• Organizzare gli esami dei vari corsi (e prenotarsi in tempo)

• Puntare in alto/ non perdere mai di vista motivazioni e obiettivi

Page 8: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Libri di testo

I libri di testo sono:

• [PH] D. A. Patterson , J. L. Hennessy, “Struttura e progetto dei calcolatori”, III ed. con cd rom, 2010, Zanichelli, ISBN: 9788808062796

(parte dei primi 5 capitoli e

delle Appendici C e D sul CD)

• [P] F. Preparata, “Introduzione alla organizzazione e progettazione di un elaboratore elettronico”, Ed. Franco Angeli 2012, ISBN: 9788820474157

Page 9: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Esami (!) • L’esame consiste di una prova scritta e di una orale (cui si accede solo dopo

il superamento di quella scritta).

• Sono inoltre previste due prove intercorso, la prima a metà novembre e la seconda alla fine del corso. Gli studenti che supereranno le due prove potranno sostenere direttamente la prova orale.

• Gli studenti interessati alle prove di esame devono prenotarsi su Esse3 entro il termine utile. Ricordo inoltre che è possibile e doveroso cancellare la propria prenotazione qualora si decida di non partecipare, per evitare un inutile spreco di risorse.

• Durante lo svolgimento del compito scritto NON è consentito consultare libri, appunti o altro materiale di nessun tipo.

• Faremo poi dei brevi test in aula per verifica l’apprendimento degli argomenti studiati

Page 10: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Date esami

1. Pre-appello nel periodo 7 - 16 Gennaio 2015: 14 gennaio ore 15 aula P4. 2. Primo appello nel periodo 19 Gennaio 2015 - 6 Febbraio 2015: 28 gennaio ore 15 aula P4. 3. Secondo appello nel periodo 9 - 27 Febbraio 2015: 18 febbraio ore 15 aula P4. 4. Appello straordinario nel periodo 8 – 21 Aprile 2015. Attenzione: l’appello è riservato esclusivamente agli studenti che abbiano conseguito almeno 135 CFU e tutti gli studenti di ordinamenti disattivati (matr. diverse da 05121). 5. Primo appello nel periodo 22 Giugno 2014 –10 Luglio 2015. 6. Secondo appello nel periodo 13 – 31 Luglio 2015. 7. Appello nel periodo 1 - 19 Settembre 2015. 8. Appello straordinario in Novembre 2015.

Tantissime…

• Prima prova intercorso: lunedì 10 novembre ore 9 Aula P3

• Seconda prova intercorso: 13 gennaio 2015 ore 9 aula P4

Page 11: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Architettura degli elaboratori

Architetti? Di cosa? Avete sbagliato aula?

Elaboratori, calcolatori?

Architettura, struttura, progetto, organizzazione?

Page 12: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Architettura degli Elaboratori

L’Elaboratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze di operazioni logiche-aritmetiche sui dati in ingresso (input) e restituire i risultati di tali operazioni in uscita (output)

L’ Architettura (informatica) è l’insieme dei criteri in base ai quali e’ progettato e realizzato un sistema informatico.

Page 13: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Calcolare…. Perche’ i calcolatori?

Evitare compiti noiosi e ripetitivi

“I computer sono incredibilmente veloci, accurati e … stupidi.

Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.

Insieme sono una potenza che supera l'immaginazione.”

Albert Einstein

Page 14: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Un po’ di (prei)storia

• (Abaco) • 1642 - Pascal: Pascalina (somme e sottrazioni di numeri ad 8 cifre) • 1674 - Leibniz: Perfezionamento della Pascalina: anche moltiplicazioni e divisioni • 1790 - Jaquard: telai meccanici che usavano schede perforate (sistema programmabile!) • 1822 – Babbage (e Ada Lovelace): Analytical Engine (Non riuscì a realizzarla) • 1889 - Hollerith: Macchina per il censimento degli americani (basata sulle idee di Babbage) • 1920 -’30 - Stibitz: computer con relè telefonici e lampadine

Page 15: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

La storia comincia….

• 1945 – Turing, Von Neumann: ENIAC (primo computer elettronico, non programmabile) • 1947 Bardeen, Brattley Shotky: il transistor • 1948 - Shannon: Teoria dell’informazione • 1975 - il microprocessore • 1976 – il primo personal computer (Apple)

Page 16: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Turing e Von Neumann

Tutto ha inizio con un lavoro scritto da Alan Turing nel 1936 in cui veniva descritta la

“Macchina di Turing Universale”

Page 17: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Turing e Von Neumann

Negli anni che seguirono Turing e Von Neumann contribuirono entrambi alla

reduction to practice dei concetti di base della Macchina di Turing Universale… … ma noi ricordiamo il risultato finale di questo lavoro come la

Architettura di Von Neumann

Page 18: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Architettura di Von Neumann

Page 19: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Achitettura Harward

La memoria è suddivisa in: Memoria dati e Memoria istruzioni

Page 20: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Studieremo il processore MIPS

• Un processore vero

• Sarà il nostro esempio di riferimento per studiare i principi di progettazione di un processore

Architettura Harward Modificata (Pipeline)

Page 21: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Alla fine: il processore MIPS Alla fine del corso di Architettura dovete sapere come funziona una versione semplificata del processore MIPS

Page 22: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Obiettivi del corso

Page 23: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 24: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Oggi

Incremento delle prestazioni:

• la densità dei circuiti integrati raddoppia ogni 1.5 anni (20%/anno)

• la velocità migliora del 50% ogni anno

• la densità delle memorie migliora del 60% ogni anno

Page 25: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Contenuti del corso Il corso si propone di introdurre l’architettura dei calcolatori ed i principi che sono alla base della loro progettazione. Verranno presentate struttura e funzionalità dell’architettura di un calcolatore moderno.

Principali argomenti trattati durante il corso:

1) rappresentazione dell'informazione: - rappresentazione degli interi e algoritmi di conversione per interi (dec-bin, bin-dec)) - rappresentazione e aritmetica in complemento a due - rappresentazione in virgola mobile - codifica ASCII

2) logica digitale: - algebra booleana - reti combinatorie e ALU - elementi di memorizzazione: flip-flop, register file e moduli combinatori

3) linguaggio assembler di una macchina RISC

4) implementazione della unità di elaborazione

5) misura delle prestazioni, miglioramento delle prestazioni mediante pipeline e gerarchie di memoria

Page 26: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Cosa imparerete in questo corso? Lo studente acquisira’ le seguenti capacita’ applicative:

- esecuzione e comprensione del processo di traduzione nell’assembler di una architettura RISC dei costrutti di base del linguaggio C, scelto come esemplificativo dei linguaggi procedurali di livello utente;

- analisi di una rete combinatoria e determinazione della relativa funzione booleana implementata;

- esecuzione delle conversioni in notazione decimale dei principali formati di rappresentazione interna dei numeri interi e frazionari;

- esecuzione di semplici calcoli di valutazione delle prestazioni hardware in funzione sia del ciclo che della frequenza di clock.

Mediante le conoscenze acquisite attraverso lo studio di una architettura RISC sui principi di base della progettazione di un linguaggio assembler e sulle scelte architetturali da affrontare nella relativa implementazione hardware, lo studente sara’ in grado di orientarsi in successivi processi di apprendimento di ulteriori linguaggi assembler e delle relative architetture hardware.

Page 27: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 28: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Electronic Numerical Integrator and Computer

Page 29: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 30: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 31: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 32: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Evoluzione

• Un Campo in evoluzione rapida:

– Valvole -> transistor -> Circuiti Integrati -> VLSI

– Ogni 1.5 anni raddoppia:

la capacità di memoria

Velocità di elaborazione (merito di progressi

tecnologici e di organizzazione)

Page 33: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 34: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 35: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 36: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 37: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze
Page 38: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Progettazione per raffinamenti successivi

Registers

Register #

Data

Register #

Data

memory

Address

Data

Register #

PC Instruction ALU

Instruction

memory

Address

Primo livello di progettazione

Page 39: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Progettazione per raffinamenti successivi

PC

Instruction

memory

Instruction address

Instruction

a. Instruction memory b. Program counter

Add Sum

c. Adder

Secondo livello di progettazione

Page 40: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Progettazione per raffinamenti successivi

ALU control

RegWrite

RegistersWrite register

Read data 1

Read data 2

Read register 1

Read register 2

Write data

ALU result

ALU

Data

Data

Register

numbers

a. Registers b. ALU

Zero5

5

5 3

Secondo livello di progettazione

Page 41: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Aritmetica

32

32

32

operation

result

a

b

ALU

Terzo livello di progettazione

Page 42: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Implementazione della ALU a 32 bit

b

0

2

Result

Operation

a

1

CarryIn

CarryOutResult31

a31

b31

Result0

CarryIn

a0

b0

Result1

a1

b1

Result2

a2

b2

Operation

ALU0

CarryIn

CarryOut

ALU1

CarryIn

CarryOut

ALU2

CarryIn

CarryOut

ALU31

CarryIn

Terzo livello di progettazione

Page 43: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

E per finire

Una buona notizia!

Domani Giovedì 25/9 lezione 9-10 (1 ora anziché 2)

Page 44: Architettura degli Elaboratori - INTRANET · Architettura degli Elaboratori L’Elaoratore (o calcolatore, o computer) è una macchina in grado di eseguire autonomamente sequenze

Rappresentazione in binario

00 = 0

01 = 1

10 = 2

11 = 3

000 = 0

001 = 1

010 = 2

011

100

101

110

111 0

1 0 = 2

1 = 3

0 = 0

1 = 1

0

0 1

1

00 = 4

01 = 5

10 = 6

11 = 7

0

0

0

0 1

1

1

1

000

001

010

011

100

101 = 13

110 = 14

111 = 15

0

0

0

0

0

0

0

0 1

1

1

1

1

1

1

1

Quali/ quanti interi posso rappresentare con una sequenza di n bit?

n = 1 n = 2 n = 3 n = 4

.

.

.

.

.

.

.