Corso di Architettura degli Elaboratori -...

35
Corso di Architettura degli Elaboratori Introduzione DOCENTE Luigi Palopoli AA. 2011/2012

Transcript of Corso di Architettura degli Elaboratori -...

Page 1: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Corso di Architettura degli Elaboratori

Introduzione

DOCENTE Luigi PalopoliAA. 2011/2012

Page 2: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Calcolatori

• I calcolatori elettronici sono il prodotto di una tecnologia estremamente vitale

• Produce il 10% del PiL degli Stati Uniti e pervade le nostre vite

• .... e tutto comincio’ da.....

Page 3: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Eniac

• Nel 1943 il dipartimento della difesa degli stati uniti commissiono’ una macchina per il calcolo delle traiettorie dei proiettili di artiglieria

• Nel Febbraio 1946 l’Universita’ della Pensylvania mise in funzione ENIAC★ Occupava una stanza di 9X30 Metri★ Consumava cosi’ tanta energia che alla prima accensione

genero’ un blackout

Page 4: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Eniac (2)

Page 5: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Una profezia un po’ pessimistica

“Mentre...L’ENIAC e’ dotato di 18000 valvole e pesa 30 tonnellate, i calcolatori del futuro potranno avere solo 1000 valvole e pesare solo una tonnellata e mezzo”, Popular mechanics 1949

Page 6: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

La rivoluzione dei calcolatori

• I calcolatori hanno creato la terza rivoluzione della nostra societa’ portandoci nel mondo post industriale

• Solo pochi anni fa le seguenti applicazioni erano considerate fantascienza★ Calcolatori negli automobili

★ Telefoni cellulari

★ Mappatura del genoma umana

★ World Wide Web

★ Motori di ricerca

Page 7: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Calcolatore o calcolatori?

• I calcolatori che operano nelle applicazioni che abbiamo introdotto condividono la stessa idea di base....

• Ma le soluzioni usate per ciascuna tipologia di applicazione possono essere piuttosto diverse

• Per questo parliamo di vari tipi di calcolatori

Page 8: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Calcolatori Personali

• I calcolatori personali (PC) si sono affermati in due forme: desktop e laptop★ Offrono buone prestazioni a un singolo utente mantenendo un

costo limitato

★ Usano tipicamente software di terze parti (sono aperti)

★ In 30 anni di vita hanno fatto da apripista allo sviluppo dei calcolatori

Page 9: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Server

• Sono l’equivalente moderno di mainframe, minicomputer e supercomputer★ ad essi si accede di norma tramite la rete

★ sono pensati per eseguire grandi carichi di lavoro✴ poche applicazioni molto complesse (calcolatori scientifici)

✴ una miriade si semplici applicazioni (web server)

★ Tecnologia simile a quella dei desktop ma con un’attenzione a:✴ Maggiore espandibilita’

✴ Affidabilita’

Page 10: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Server (2)

• Il mondo dei server e’ piuttosto amplio★ Ad un estremo abbiamo piccoli server (poco piu’ di desktop)

★ All’altro estremo abbiamo i super computer usanti in centri di calcolo scientifico e in motori di ricerca✴ Centinaia di processori

✴ Terabyte di memoria RAM (2^40 byte)

✴ Petabyte di memoria di massa (1 Petabyte = 1024 Terabyte)

Google ha spostatoi suoi server in Alaska risparmiando milioni di dollari

sulla refrigerazione!!!

Page 11: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Calcolatori Embedded

• Sono di gran lunga la categoria piu’ numerosa e coprono un vasto spettro di applicazioni★ Cellulari

★ Automobili

★ Playstation

★ Reti di sensori.....

• Eseguono un’applicazione o un’insieme di applicazioni correlate tra di loro

Page 12: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Calcolatori Embedded (2)

• Le applicazioni software agiscono in stretta armonia con l’hardware

• Si presentano all’utente come un sistema monolitico in cui la stessa esistenza di un computer e’ nascosta

• Nella progettazione di applicazioni embedded non e’ solo importante far funzionare l’applicazione ma anche:

★ Affidabilita’

★ Consumi

★ Costi

• L’importanza commerciale di questi sistemi e’ racchiuso in alcuni grafici

Page 13: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Trend di mercato

Page 14: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Perche’ ci interessa tutto cio’?

• Gli sviluppatori di maggior successo hanno sempre tenuto molto conto delle prestazioni dei programmi

• Un programma che esegue piu’ velocemente o che ha minori requisiti hardware ha maggiori probabilita’ di soddisfare le aspettative del cliente

• Fino a qualche tempo fa le prestazioni erano dominate dalla disponibilita’ di memoria

• Oggi giorno questo e’ un problema solo per le applicazioni embedded

Page 15: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Prestazioni

• Per scrivere un programma con buone prestazioni il programmatore moderno deve★ comprendere la gerarchia di memoria

★ fare l’uso piu’ efficiente del parallelismo

• In termini piu’ semplici deve conoscere l’organizzazione del calcolatore

Page 16: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Obbiettivi del Corso

• Alla fine del corso, sapremo:★ Quali sono le componenti di base che permettono a un

calcolatore di operare?

★ Come vengono tradotti i programmi in modo che il calcolatore possa eseguirli?

★ Qual’e’ l’interfaccia HW/SW tramite la quale il programmatore puo’ far fare all’HW cio’ che richiede?

★ Cosa influenza le prestazioni di un programma e come puo’ un programmatore migliorarle?

★ Cosa puo’ fare il progettista HW per migliorare le prestazione e perche’ ricorre sempre di piu’ al multicore?

Page 17: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Livelli di Astrazione

• Per passare da un’applicazione formulata in un linguaggio ad alto livello alla sua concreta esecuzione e’ un’applicazione complessa che richiede diversi livelli di astrazione

Software di Sistema• Compilatore• Sistema Operativo

Page 18: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Software di Sistema

• Sistema operativo★ Gestisce le operazioni di I/O

★ Alloca la memoria

★ Consente la multiprogrammazione

• Compilatore★ traduce da linguaggio ad alto livello a linguaggio macchina

Page 19: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Linguaggio Macchina• Il componente base di un calcolatore sono le porte

logiche, che corrispondono a interruttori

• L’unita’ base di informazione e’ il bit: un interruttore che vale 1 se acceso e 0 se spento

• Anche un’istruzione di linguaggio macchina deve dunque essere codificata come una stringa (una sequenza) di bit.Ad esempio

1000110010100000

Page 20: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Programmazione Assembler

• Programmare tramite sequenze di bit e’ estremamente difficile

• Per questo motivo, e’ stato introdotto un linguaggio mnemonico (assembly language) che viene tradotto un stringhe di bit da un traduttore (assembler)

• Ad esempio.....

add A, BIl programmatore

scrive questa istruzione (somma A a B)

add A, BIl programmatore

scrive questa istruzione (somma A a B)

add A, BIl programmatore

scrive questa istruzione (somma A a B)

add A, BIl programmatore

scrive questa istruzione (somma A a B)

00000000000010001000100001000000L’assemblatore traduce l’istruzione

in una sequenza di bit

Page 21: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Il Flusso completo

Molti compilatori saltano questa fase

Page 22: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Prestazioni

Componente HW/SW Perche’ influenza Dove e’ trattato?

AlgoritmiDetermina il numero di

istruzioni di alto livello e di operazioni di IO

Altri corsi

Linguaggi di programmazione, compilatori e architetture

Determina il numero di istruzioni macchina per ogni

istruzione di basso livelloCap. 2, 3

Processore e sistema di memoria

Determinano quanto velocemente e’ possibile

eseguire ciascuna istruzioneCap. 4,5, e 7

Sistema di I/O (HW e sistema operative)

Determina quanto velocemente possono essere eseguite le

istruzioniCap. 6

Page 23: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Componenti delCalcolatore

I dispositivi di input (tastiera, mouse, ...)e quelli di output

(video, stampanti, ...)Permettono di scambiareinformazioni con l’esterno

Le elaborazioni deidati sono effettuate

dal Processore (diviso in una parte operativa e

una di controllo)

I dati vengono memorizza-ti nelle unita’ di memoria

Page 24: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Esempi di IO:il mouse

• Il mouse e’ stato inventato nel 1967 da Doug Engelbart nei famosi laboratori della Xerox

• La versione piu’ moderna usa una tecnologia ottica★ Alcuni led illuminano il piano ed elaborano l’immagine

★ Facendo la differenza tra immagini successive si scopre in che direzione si e’ spostato il mouse

Page 25: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Esempi di IO:lo schermo LCD

• Gli schermi (Liquid Crystal Display) LCD sono attualmente diffusissimi sia nei PC sia nei telefonini e in altri dispositivi embedded★ Alcuni cristalli galleggiano in un fluido.

★ Ciacun cristallo e’ associato a un punto (Pixel)

★ Tramite un campo elettrico (applicato a ciascun cristallo) si riesce a far ruotare di 90 gradi il cristallo, che lascia passare o blocca la luce

Page 26: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Frame Buffer

• L’immagne si compone di un insieme di Pixel (es. 640X480,1440X900 ecc.)

• Ciascun Pixel e’ associato tipicamente a tre byte, ciascuno associato a una delle tre componenti fondamentali Rosso (R) Verde (G) e Blue (B)

• L’immagine viene memorizzato in una matrice (frame buffer), che e’ essenzialmente una velocissima RAm che viene aggiornato molte volte al secondo (da 50 a 100)

Page 27: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Dentro il PC

La scheda madre e’ una piastrasu cui sono montati i vari circuiti

integrati (chip)

La memoria volatilee’ costituita da vari

banchi di (tipicamente) 8chip di RAM dinamica

La memoria permanentee’ costituita da hard-disk

e CD/DVD ROM

Page 28: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Le DRAM

Page 29: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Il processore• Il processore e’ la parte attiva di ogni calcolatore. Si

compone di:★ Datapath: esegue le operazioni aritmetiche sui dati

★ Parte di controllo: indica al datapath, alla memoria, e alle componenti di IO cosa fare sulla base di quanto stabilito nel programma

Questa unita’ sicompone di quattro CPU

(core)

Una memoria RAM

aggiuntiva (cache)all’interno della CPU migliora

sostanzialmentele prestazioni

Page 30: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Astrazioni• Come abbiamo visto, nel mondo dell’informatica si lavora

molto con le astrazioni che permettono di gestire un progetto di grande complessita’ nascondendo i dettagli

• Il processore viene “nascosto” nei suoi dettagli esportando come interfaccia l’insieme delle istruzioni macchina che il processore offre (Instruction Set Architecture)

• Insieme all’interfaccia del sistema operativo, l’ISA costituisce l’interfaccia binaria delle applicazioni (Application Binary Interface)

• Una volta definita una ABI, lo sviluppatore e’ svincolato da come queste cose sono implementate.

Page 31: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

La memoria• La memoria si distingue in due tipi:★ volatile (dominata dalle DRAM)

★ non volatile (dominata, fino ad ora dai dischi rigidi)

• La memoria volatile viene usata per memorizzare dati e programmi mentre questi vengono eseguiti. Per questo motivo viene detta memoria principale★ Allo spegnimento i dati vengono persi

• La memoria non volatile (o persistente) viene usata per memorizzare dati e programmi tra esecuzioni diverse. ★ Vista la quantita’ enorme di dati memorizzati si parla di

memoria di massa

Page 32: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Memorie di massa

• Attualmente abbiamo essenzialmente tre tipi di memorie di massa★ Memorie Flash

★ Dischi rigidi

★ CD/DVD

• Le memorie Flash sono molto simili a memorie RAM. L’idea e’ di memorizzare il data intrappolando una carica elettrica. Il fenomeno fisico usato dalle Flash consente alla carica di essere intrappolata in maniera permanente

Page 33: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Memorie di Massa

• Hard Disk: il principio difunzionamento e’ di magnetizzare delle particelle metalliche distibuite su un substrato

★ I dischi sono organizzati in strutture sovrapposte (cilindri)

★ Le particelle vengono lette da dispositivo meccanico (testina) che si sposta radialmente su un braccetto (in grado di fare movimenti angolari).

★ Questa componente rallenta i tempi di accesso ma aumenta al densita’ di memorizzazione (e’ possibile arrivare facilmente ai terabyte)

Page 34: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Dischi Ottici

• I dischi ottici funzionano sulla base di un semplice principio: la riflessione della luce

• Viene emesso un raggio laser che viene riflesso dai rilievi (bit 1) e assorbito dalle buche

• Nei dischi riscrivibili, un particolare substrato consente (tramite riscaldamento) di ritornare alla situazione originale “spianando le buche”

Page 35: Corso di Architettura degli Elaboratori - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect1.pdf · Calcolatori •I calcolatori elettronici sono il prodotto di una tecnologia

Interconnessione

• Gli sviluppi piu’ significativi degli ultimi anni hanno coinciso con lo sviluppo impetuoso della rete

• I calcolatori esprimono ormai la maggior parte del loro potenziale quando sono interconnessi★ Local Area Network: condivisione di risorse (dischi,

stampanti)

★ Wide Area Network: condivisione di contenuti