Lucidi - Ingegneria elettrica ed elettronica

Scopi del Corso
Calcolatori Elettronici
Prof. Ing. Gian Luca Marcialis
• Il corso si occupa dei concetti fondamentali relativi
alla struttura ed al funzionamento dei calcolatori
elettronici
http://www.diee.unica.it/~marcialis/CE
Corso di Laurea in Ingegneria Elettronica
— Significa che cercheremo di capire quali sono le metodiche di
progetto, le tecnologie, ecc., di validità generale. Cercheremo
cioè di capire quali sono i concetti che sono rimasti validi, e
molto probabilmente lo resteranno almeno per i prossimi anni,
nonostante i cambiamenti rapidissimi della tecnologia
Capitolo 1
Introduzione
• Ci occuperemo soprattutto di Organizzazione ed
Architettura dei calcolatori
Fonte Principale: Stallings, W., "Architettura e organizzazione dei
calcolatori, progetto e prestazioni", Pearson Education Italia Srl,
2004 (ISBN: 88-7192-201-8), Capp. 1 e 2
— Cercando di analizzarle, dove possibile in questo corso,
nell’ottica del paradigma costo/prestazioni che sta alla base
della progettazione di un calcolatore
• Esemplificheremo alcuni concetti con riferimento alle
attuali architetture di calcolatore
Calcolatori Elettronici
Ancora due parole sugli scopi del corso
Scopo principale: studiare gli
aspetti relativi all’organizzazione ed
architettura del calcolatore che sono
rimasti
validi,
e
molto
probabilmente lo resteranno almeno
per i prossimi anni, nonostante i
cambiamenti
rapidissimi
della
tecnologia
Calcolatori Elettronici
Cercheremo sostanzialmente
di imparare bene quei concetti
senza i quali si rischia, pur
diventando degli “esperti”, di
non essere in grado di
governare le tecnologie e
l’innovazione
Introduzione Prof. Gian Luca Marcialis
2
Perché studiare Calcolatori Elettronici?
In questo corso non impareremo né ad
installare un dispositivo, hw o sw, né a
utilizzare
un
calcolatore
per
“programmare” l’impianto di irrigazione
del giardino…..cose utilissime…ma che
un ingegnere può e deve imparare dopo
aver
imparato
come
funziona
l’indirizzamento della memoria “cache”
Non spiegheremo come funziona e perché si
deve usare il “deframmentatore” di
Windows….ma cercheremo di capire come
mai
il
disco
si
“frammenta”
(http://www.disi.unige.it/person/MoggiE/dicos
mo.html)….per capire se e come lo si potrebbe
evitare
Introduzione Prof. Gian Luca Marcialis
3
• Per poter scrivere programmi efficienti
—Architetture multi-processore
—Controllori elettronici (sistemi di sicurezza, centraline)
• Per essere in grado di valutare i compromessi
tra elementi quali, ad esempio, velocità della
CPU e dimensione della memoria
• Per poter capire meglio il supporto architetturale
fornito ai linguaggi di programmazione ed ai
servizi del sistema operativo
—Cose studiate a Fondamenti di Informatica 1-2, e che
studierete in Ingegneria del Software e Sistemi
Operativi, e Linguaggi orientati agli oggetti
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
4
Contenuti Fondamentali del Corso
Obiettivi del Corso
1.
2.
3.
4.
5.
6.
7.
• Alla fine del corso l’allievo deve conoscere:
Introduzione
Reti Logiche
Unità di Memoria
CPU – Set di Istruzioni
Linguaggio Assembly del MIPS
CPU – ALU
Unità di I/O
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
— Le metodiche di base per l’analisi e la sintesi delle reti logiche
combinatorie e sequenziali
— I concetti e le tecniche fondamentali relativi alla organizzazione e
all’architettura di un moderno calcolatore
— I concetti di base del linguaggio assembly MIPS
• Alla fine del corso l’allievo deve saper fare:
— Risolvere esercizi di media complessità sulla analisi e sintesi di reti
logiche
— Risolvere esercizi di media complessità sulla analisi e progetto dei
moduli fondamentali di un calcolatore (CPU, Memoria, Unità I/O), e
sulla organizzazione e funzionamento di un calcolatore
— Scrivere e/o leggere semplici procedure in assembly MIPS
5
6
Testo di riferimento (http://williamstallings.com/COA6e.html)
• Prova scritta obbligatoria
— Sostenibile durante i normali appelli di esame
— Oppure mediante due prove intermedie in corso di semestre
• Prova orale facoltativa se voto prova scritta è maggiore od uguale
a 21/30
• Voto finale = 70% Prova Scritta, 30% Prova Orale
N.B. Durante i normali appelli d’esame, gli allievi che, avendo consegnato la
prova scritta dopo la correzione degli esercizi d’esame, conseguiranno un
punteggio minore di 16/30 non potranno presentarsi al successivo appello
d’esame
N.B. In sede di prova scritta viene anche fissata la data per la comunicazione
degli esiti, per la registrazione dei voti e per gli orali. Chiunque non si presenti
in tale data senza una motivata e ben documentata ragione perderà il diritto di
fare l’orale e comunque, per registrare l’esame ove possibile, dovrà presentare
una motivata giustificazione dell’assenza.
Introduzione Prof. Gian Luca Marcialis
Introduzione Prof. Gian Luca Marcialis
Materiale didattico: http://www.diee.unica.it/calcolatori
Valutazione dell’Apprendimento
Calcolatori Elettronici
Calcolatori Elettronici
7
•
Stallings, W., "Architettura e organizzazione dei calcolatori, progetto e prestazioni",
Pearson Education Italia Srl, 2004 (ISBN: 88-7192-201-8)
Altri testi
Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori
elettronici", Jackson Libri, Collana Università, 2000 (ISBN:8825615175)
Tanenbaum, A., "Architettura dei computer: un approccio strutturato” Quarta
edizione", UTET Libreria, 2000 (ISBN: 8877505931)
I lucidi utilizzati a lezione dal docente, testi d’esame, esercitazioni, ecc. sono
disponibili in rete al link: http://www.diee.unica.it/~marcialis/CE
NOTA BENE: Gli allievi non possono prepararsi all'esame soltanto con i lucidi,
che non sono dispense e pertanto presentano gli argomenti in modo sintetico. I lucidi
vanno integrati con gli appunti presi a lezione e/o con lo studio dei testi di riferimento.
Raccomandiamo di consultare i testi di riferimento, disponibili in Biblioteca, per
chiarimenti ed approfondimenti. Per ogni capitolo del programma sono indicati sui
lucidi del docente i principali testi di riferimento e di approfondimento .
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
8
Concetti di Architettura e Organizzazione
Concetti di Struttura e Funzione
• Architettura: tutti gli aspetti di un calcolatore che sono
“visibili” al programmatore
• Organizzazione: unità funzionali ed interconnessioni che
realizzano l’architettura (non visibili al programmatore)
• Un calcolatore elettronico è un sistema “complesso”
costituito da tanti “moduli” e sotto moduli.
— Es. Aspetto architetturale: disponibilità di una istruzione “macchina”
per moltiplicazione in virgola mobile
— Es. Aspetto organizzativo: come la moltiplicazione in virgola mobile è
realizzata
• Tutti i calcolatori della famiglia Intel x86 hanno la stessa
architettura base, ma diversi calcolatori hanno diverse
organizzazioni
• Pari architettura, diversità di organizzazione
—Diversi livelli di “astrazione”: approccio “top-down”
• Struttura
—il modo in cui i diversi moduli sono interconnessi fra di
loro
• Funzione
—il funzionamento di ciascun modulo nell’ambito dell’intero
sistema di elaborazione
— Architettura lato software (portabilità)
— Organizzazione lato hardware (performance)
— Cambi radicali dell’organizzazione possono influire sull’architettura
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
9
Calcolatori Elettronici
Peripherals
di
10
La Struttura di un Calcolatore
Le Funzioni di un Calcolatore
•Le
funzioni
calcolatore sono:
Introduzione Prof. Gian Luca Marcialis
un
Computer
Central
Processing
Unit
—Elaborazione dati
Computer
—Memorizzazione dati
Main
Memory
Systems
Interconnection
—Trasferimento dati
Input
Output
—Controllo
Communication
lines
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
11
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
12
Calcolatore come macchina “virtuale” – Livelli di Astrazione
Struttura – La CPU
Corso di
Fondamenti di
Informatica
CPU
Computer
Arithmetic
and
Login Unit
Registers
I/O
System
Bus
A.S. Tanenbaum
Structured Computer
Organization
CPU
Memory
Internal CPU
Interconnection
Corso di Sistemi
Operativi
Prentice Hall 2001
Control
Unit
Elettronica dei Sistemi Digitali
Elettronica dello Stato solido
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
13
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
Quattro livelli di descrizione di un calcolatore
Breve Storia dei Calcolatori
1. Livello Gobale (Capp. 3, 7)
• Processore
• Memoria
• Unità I/O.
2. Livello del Processore
• Set Istruzioni Macchina (Capp. 4, 5)
• Rappresentazione dei dati (Cap. 6)
3. Livello Registri
• Elaborazione di insiemi di bit (“word”) (Cap. 6)
4. Livello Porte Logiche
• Elaborazione a livello di bit (Cap. 2)
L’Era “Meccanica”
14
Blaise Pascal (1642), Gottfried Liebniz (1673), George Boole
(1847), etc., fino alla seconda guerra mondiale
Velocità di elaborazione limitata dall’inerzia meccanica
Difficoltà d’uso, scarsamente affidabili e molto costosi.
L’Era Elettronica
ENIAC (Electronic Numerical Integrator And Computer), Eckert
and Mauchly, Univ. of Pennsylvania, 1943-1946
John Von Neumann introduce, parallelamente ad Alan Turing, il
concetto di programma memorizzato e realizza il calcolatore IAS
EDVAC (Elec. Discrete Variable Computer)
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
15
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
16
ENIAC
Architettura di von Neumann
•Decimale (non binario)
•20 accumulatori da 10 cifre
•Programmato “manualmente”
•18.000 tubi a vuoto
•30 tonnellate di peso
•140 kW di potenza consumata
•5.000 addizioni per secondo
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
17
•
Von Neumann, 1952
•
1000 x 40 bit “words”
— Numeri binari
— Istruzioni da 2 x 20 bit
Set di registri della CPU
— Memory Buffer Register
— Memory Address Register
— Instruction Register
— Instruction Buffer Register
— Program Counter
— Accumulatore
— Moltiplicatore/Quoziente
18
2^ Generazione
• Cambio di tecnologia –Transistor
• Aritmetica in virgola mobile
• Linguaggi di alto livello
3^ Generazione (1964 – 1974)
• Circuiti Integrati
• Memorie a Semiconduttore
• Microprogrammazione / Multiprogrammazione
4^ Generazione (1974 – oggi)
• LSI / VLSI
• Calcolatori Paralleli, Embedded systems, etc.
5^ Generazione (? – ?)
• ULSI, PDA, Tablet PC
• “Intelligenza” Artificiale
Conteneva la maggior
parte dei concetti
fondamentali, tutt’oggi
usati !!
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
Generazioni di Calcolatori
Calcolatore IAS
•
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
19
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
20
Legge di Moore
Crescita del numero di transistor
Gordon Moore – uno dei creatori di Intel
Il numero di transistors su chip raddoppierà ogni anno
• Dal 1970 questo incremento è stato quasi rispettato
— Raddoppio ogni 18 mesi
• Il costo di un chip è rimasto quasi lo stesso
• L’aumento del numero di transistor su chip (“densità” di
integrazione) significa aumento delle prestazioni
• Riduzione del consumo di potenza
• Aumento affidabilità
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
21
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
22
Misura delle Prestazioni
Misura delle Prestazioni: Analogia - Homework
Problema estremamente complesso !
Consider the problem of leaving West Virginia or civilization in
Virginia. Assume that you must walk out of the mountains and
that portion of the trip takes 20 hours. Once in Virginia, 200
miles are traversed in one of several modes of travel.
In questo corso vedremo solo gli aspetti più semplici
Es. Quanto conta la frequenza di clock della CPU ?
In assoluto sapere che ho comprato un Pentium X da Y GHz non
vuol dire nulla. Se almeno non ho un’idea sulla ampiezza di
banda della memoria, e non ho chiaro cosa ne voglio fare.
Compute the total travel time for each mode and the speedup
compared to walking the entire trip.
Modes:
» Walk at 4 MPH
Amdahl's Law
» Ride a bike at 10 MPH
The performance improvement to be gained from using some
faster mode of execution is limited by the fraction of time the
faster mode can be used
» Drive a Honda Excel at 50 MPH
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
23
» Drive a Ferrari at 120 MPH
» Drive a rocket car at 600 MPH
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
24
Misura delle prestazioni
Per saperne di più
MIPS (Millions of instructions per second)
• Per la storia dei calcolatori vedi il sito del
Charles Babbage Institute (www.cbi.umn.edu)
Apparentemente più sono meglio è…..ma i MIPS non servono
per confrontare macchine che hanno set di istruzioni diversi
MFLOPS (Millions of floating point operations per second)
• Produttori di Calcolatori
• http://www.intel.com/
Anche in questo caso le operazioni FP possono essere diverse
Programmi di Benchmark
• http://www.ibm.com
Altri parametri: Costo, Affidabilità, Portabilità del SW, etc
• http://www.dec.com
Cosa ne devo fare del calcolatore….
• http://e-www.motorola.com
Per saperne di più: J. L. Hennessy, D. A. Patterson, Architetture
dei Calcolatori: Metodi di Valutazione e di Progetto, Zanichelli
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
25
http://williamstallings.com/COA6e.html
(sito del
libro di riferimento)
Calcolatori Elettronici
Introduzione Prof. Gian Luca Marcialis
26