architettura dei calcolatori - moreno marzolla home page · architettura dei calcolatori ......

36
Architettura dei calcolatori Architettura dei calcolatori Moreno Marzolla http://www.moreno.marzolla.name/

Upload: tranthuy

Post on 19-Feb-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Architettura dei calcolatoriArchitettura dei calcolatori

Moreno Marzollahttp://www.moreno.marzolla.name/

Architettura dei Calcolatori 2

Copyright Gianluca Palermohttp://home.dei.polimi.it/gpalermo/courses.htmCopyright Susanna PelagattiCopyright © 2011, Moreno Marzollahttp://www.moreno.marzolla.name/teaching/LabInf2011/

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 (CC BY-SA 3.0) License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

Architettura dei Calcolatori 3

Conoscenza

● Dichiarativa– Consiste nella descrizione

di fatti o proprietà

● Imperativa– Consiste nella descrizione

di regole o procedure che consentono di ottenere determinati risultati

“La radice quadrata di x è il numero non negativo y tale che y2 = x”

Trova una stima G della radice quadrata di xRipeti Se G2 ≈ x allora il risultato è G; stop altrimenti G ← (G + x/G) / 2

Architettura dei Calcolatori 4

Cosa è l'informatica?

● L'informatica è lo studio dei fondamenti teorici dell'informazione, della sua computazione a livello logico e delle tecniche pratiche per la loro implementazione e applicazione in sistemi elettronici automatizzati detti quindi sistemi informatici.

Architettura dei Calcolatori 5

Cosa à un computer?

● Un computer è un dispositivo programmabile in grado di svolgere in modo automatico una sequenza di operazioni aritmetiche o logiche

● In altre parole, è uno strumento per la rappresentazione, memorizzazione ed elaborazione di informazioni

Architettura dei Calcolatori 6

Informatica e Computer

“Computer Science is no more about computers than astronomy is about

telescopes, biology is about microscopes or chemistry is about beakers and test tubes.”

Michael R. Fellows and Ian ParberryComputing Research News, vol. 5, n. 1, 1993

Architettura dei Calcolatori 7

Conoscenza Imperativa

● Come possiamo descrivere la conoscenza imperativa?● Fixed program computer

– Dispositivi specializzati per risolvere un tipo specifico di problema

● Stored program computer– Dispositivi che ricevono in ingresso (ed eseguono) una

sequenza di istruzioni che descrivono i passi da eseguire per ottenere un certo risultato

– Tali dispositivi possono risolvere problemi diversi, semplicemente ricevendo sequenze diverse di istruzioni

– Esistono molti linguaggi di programmazione che possono essere usati per descrivere le istruzioni da eseguire

Architettura dei Calcolatori 8

Informatica

● Costruzione di calcolatori efficienti

● Definizione di algoritmi efficienti per risolvere problemi complessi

● Studio dei limiti teorici della risoluzione meccanica di problemi

– Tutti i problemi sono risolubili “algoritmicamente”?

– Esistono problemi “troppo difficili” per essere risolti meccanicamente?

Lin

guag

gi d

ipr

ogra

mm

a zio

ne

Alg

ori tm

i

Fon

dam

enti

teor

ici

dell'

info

rma t

ica

Har

dwar

e

Informatica

Architettura dei Calcolatori 9

Breve storia dei calcolatori

Architettura dei Calcolatori 10

La macchina di Antikythera(circa 100-150 A.C.)

Architettura dei Calcolatori 11

Charles Babbage (1791–1871)e la Macchina Analitica

Architettura dei Calcolatori 12

Konrad Zuse (1910—1995)e la Z1

Architettura dei Calcolatori 13

Atanasoff-Berry Computer (ABC, 1939)Il primo computer digitale totalmente elettronico

Fixed program computer in grado di risolvere sistemi di equazioni lineari

Architettura dei Calcolatori 14

Semi-Automatic Ground Environment (SAGE, 1956)

Architettura dei Calcolatori 15

Calcolatrice Elettronica Pisana (CEP, 1957)

Architettura dei Calcolatori 16

PDP-11 (1972)con Dennis Ritchie e Ken Thompson

Architettura dei Calcolatori 17

Verso i giorni nostri...

Xerox Alto (1970) Altair 8800 (1975)

Architettura dei Calcolatori 18

Verso i giorni nostri...

Apple II (1976) IBM 5150 (1981)

Architettura dei Calcolatori 19

Verso i giorni nostri...

Apple Macintosh (1984)Commodore 64 (1982)

Architettura dei Calcolatori 20

Verso i giorni nostri...

Amiga 1000 (1985)

Architettura dei Calcolatori 21

...il resto è cronaca

Architettura dei Calcolatori 22

Tipi di calcolatori

● Handheld / PDA / Smartphone / Tablet– Dimensioni molto contenute, potenza di calcolo limitata,

memoria/spazio disco limitati, ottimizzati per limitare il consumo energetico

Architettura dei Calcolatori 23

Tipi di calcolatori

● Portatili / Notebook / Netbook– Dimensioni contenute per essere facilmente trasportati,

limitata possibilità di espansione

Architettura dei Calcolatori 24

Tipi di calcolatori

● Desktop– Prestazioni elevate, consumi energetici elevati, buona

espandibilità (schede di espansione)

Architettura dei Calcolatori 25

Tipi di calcolatori

● Supercomputer– Costo estremamente elevato, l'installazione richiede locali

appositamente predisposti, prestazioni molto elevate per il calcolo scientifico

Architettura dei Calcolatori 26

Ricordiamo...

Processore(CPU)

MemoriaSottosistemadi interfaccia

(I/O)

Bus di sistema● Architettura di Von Neumann (che avete già visto nel

modulo del prof. Ferretti)

Architettura dei Calcolatori 27

CPU

ALU

R0

R1

Rn

PC

PSW

IR

MemoriaMemoria

BusControllo

DatiIndirizzi

Controllo

Architettura dei Calcolatori 28

Ciclo Fetch-Decode-Execute

● Eseguito in continuazione dalla CPU● Fetch

– Preleva dalla memoria l'istruzione da eseguire; l'istruzione viene prelevato dall'indirizzo di memoria che si trova in PC; il contenuto di tale cella di memoria viene posto in IR

● Decode– Esamina l'istruzione che si trova memorizzata in IR per

decidere cosa fare● Execute

– Esegue l'istruzione memorizzata in IR, incluso il recupero dalla memoria degli eventuali parametri necessari ad eseguirla, e deposito del risultato

Architettura dei Calcolatori 29

Nei calcolatori moderni...

● Vengono utilizzati diversi livelli di memoria cache (molto veloce) per mantenere i dati più frequentemente usati “vicini” alla CPU– Riduce gli accessi alla memoria tramite il bus di sistema

CPU

MemoriaSottosistemadi interfaccia

(I/O)

Bus di sistema

L1 cache

L2 cache

Architettura dei Calcolatori 30

Nei calcolatori moderni...

MemoriaSottosistemadi interfaccia

(I/O)

Bus di sistema● CPU multi-core: all'interno di un singolo processore

sono presenti più unità di calcolo indipendenti (di fatto, più CPU) che possono operare in parallelo, indipendentemente l'una dall'altra

L1 cache

L2 cache

Architettura dei Calcolatori 31

Esempi

Intel core i7 AMD “Istanbul”

Architettura dei Calcolatori 32

Esempi

Cell Broadband Engine

Architettura dei Calcolatori 33

Nei calcolatori moderni...

● Calcolatori paralleli a memoria distribuita: sono composti da nodi di calcolo indipendenti (ciascuno dotato di una propria CPU e memoria) collegati tra loro da una rete di comunicazione ad alte prestazioni

Architettura dei Calcolatori 34

Esempio

IBM BlueGene

73728 nodes (294912 cores)Overall peak performance: 1 PetaflopsMain memory: 144 TB

Power Consumption: 2.2 - 2.5 MW + 20% for cooling Power cables: total 2.5 km Foot print: 130 m²Weight per rack: 770-900 kg Cables: 4352 datacables (23 km copper), 288 x 1GigE cables (7.5 km copper),600 x 10GigE cables (21 km fibre optics), total ca. 50 km Air Cooling: 60.000 m³/h, temperature: 16°C, fans per rack: 69 (total 4968) Water Cooling: 300m tubes, ca. 360 m³/h

Architettura dei Calcolatori 35

Scoprire le caratteristiche del proprio PC (WinXP)

Architettura dei Calcolatori 36

Scoprire le caratteristiche del proprio PC (WinXP)