View
898
Download
1
Category
Preview:
Citation preview
Insegnamento di Informatica – a.a. 2015-16
Il Microprocessore
INSEGNAMENTO DI INFORMATICA – A.A. 2015-16
Francesco Ciclosi
Macerata, 6 ottobre 2015
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
L’unità centrale di elaborazione
La CPU (Central Processing Unit) è il cuore
nevralgico del computer
È costituita da un microprocessore (nei
microcomputer)
È ricavata da sottili lamine di silicio (chip)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Chip
Ogni chip contiene milioni di transistor, ovvero
dei piccolissimi interruttori acceso/spento
I transistor sono collegati tra di loro da
sottilissime tracce di alluminio
I transistor e le tracce di collegamento formano i
circuiti
I circuiti si occupano dell’elaborazione dei dati
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Catalogazione dei chip
I microprocessori possono essere catalogati in
famiglie, ovvero una serie di chip compatibili tra
di loro
Solitamente i chip prodotti da aziende diverse
sono incompatibili
• hanno un’architettura differente
• non consentono l’esecuzione di programmi scritti
per l’esecuzione su altri chip
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Attenzione alla compatibilità
Un programma che sfrutta le innovazioni
dell’ultimo processore di una data famiglia
potrebbe non funzionare correttamente con i
chip precedenti
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il termine multicore
Indica delle CPU composte da due o più «core»
Un core è un nucleo di un processore fisico
montato nello stesso involucro in modo da
comporre un unico elemento
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
CPU multicore: definizione
Una CPU multicore è un insieme di unità
processanti e autonome montate in un unico chip
che condividono delle risorse (cache, bus e
memoria centrale)
I core possono condividere la cache oppure avere
delle cache proprie (scelta architetturale)
È un esempio di calcolatore parallelo a memoria
condivisa
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Esempi di architetture multicore
IBM Power7 (2010) AMD Opteron (2010)
Core = 12, Cache L1 = 12x32 kB
Cache L2 = 12x1 kB, Cache L3 = 2x6 MB
Core = 8, Cache L1 = 8x32 kB
Cache L2 = 8x256 kB, Cache L3 = 32 MB
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
La tecnologia Hyper-Threading di Intel
Introdotta da Intel sulle
CPU Pentium 4 nel 2002
con lo scopo di migliorare
le prestazioni
Consente di raddoppiare a
livello logico il numero dei
core
Il miglioramento ottenibile
è solo del 10%
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Funzionamento di HT (1/2)
Normalmente la CPU accetta un solo thread (0) alla
volta per core fisico
Con la tecnologia HT attiva, la CPU accetta due
thread alla volta per core fisico (thread 0 e thread 1)
• ogni thread in ingresso viene suddiviso in due “semi-thread”,
che vengono uniti formando un “thread condiviso”
• il thread così formato viene elaborato sul core fisico della CPU
• in uscita il thread condiviso si scompone in semi-thread e
questi ultimi riformano i thread originari
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Funzionamento di HT (2/2)
Visto che la CPU HT accetta 2 thread alla volta, il
sistema operativo vedrà questa CPU dotata di due
core “logici”
ATTENZIONE
A livello di capacità elaborativa la differenza tra core
logico e core fisico è abissale
Il miglioramento reale ottenibile è di solo il 10%
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Comparazione tra CPU multicore Tipologia CPU N.° core fisici N.° core logici Famiglia CPU
single core senza
HT
1 core fisico 1 core logico (Intel Pentium 3)
single core con HT 1 core fisico 2 core logici (Intel Pentium 4
HT)
dual-core senza HT 2 core fisici 2 core logici (Intel Pentium D,
AMD Athlon X2)
dual-core con HT 2 core fisici 4 core logici (Intel Core i3)
quad-core senza HT 4 core fisici 4 core logici (Intel Core i5)
quad-core con HT 4 core fisici 8 core logici (Intel Core i7)
octa-core senza HT 8 core fisici 8 core logici (AMD FX-8100 o
superiori)
octa-core con HT 8 core fisici 16 core logici (Intel Xeon E5)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I coprocessori
Sono dei processori particolari che agiscono
sotto il diretto controllo della CPU
Vengono utilizzati per sgravare la CPU da parte
del suo carico elaborativo
CPU
Coprocessore
Memoria di
sistema
Sistema di
I/O
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I processori paralleli
Sono processori che operano indipendentemente
l’uno dall’altro
Condividono alla pari le risorse del sistema
La loro attività è coordinata dal sistema operativo
CPU 1
CPU 2
Memoria
di sistema
Sistema
di I/O
Cache
Cache
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Architetture multi CPU
Scheda madre a singola CPU Scheda madre a doppia CPU
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Anatomia di una CPU
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
La lunghezza (o dimensione) di parola
Indica la quantità di dati che un computer può
trasmettere ed elaborare
È misurata dal numero di bit utilizzabili
contemporaneamente
Può variare dagli 8 bit dei primi computer ai 128
bit degli elaboratori più recenti e potenti
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Word lenght Sistema Operativo Architettura CPU
8 bit Atari OS e Atari DOS Intel 8080 (1973)
Intel 8085 (1977)
16 bit MS-DOS
Intel 8086 (1978)
Intel 80286 (1982)
32 bit Windows 95, 98, 98SE, ME
Windows 2000, XP, Vista
Windows NT 3.1, 3.5, 3.51, 4.0
Windows 2000 Server
Windows Server 2003/2003 R2
Windows Server 2008
x86 Intel 80386 (1986)
Intel 80486 (1989)
Intel Pentium (1993)
AMD Athlon
64 bit Windows XP, Vista, 7.0, 8.0, 8.1, 10
Windows Server 2003/2003 R2
Windows Server 2008/2008 R2
Windows Server 2012
Intel EM64T
AMD AMD64
Intel IA-64
Intel Pentium D (2005)
AMD Opteron, AMD
Athlon64
Intel i3, i5, i7
128 bit Non esistono processori general-purpose che utilizzano word a 128 bit
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il clock (1/2)
Il clock è l’orologio incorporato nel
microprocessore
Determina la velocità di ogni operazione svolta
dal computer
La sua velocità si misura in (MHz) milioni di
cicli al secondo
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il clock (2/2)
Poiché non tutti i microprocessori utilizzano lo
stesso numero di cicli per elaborare le istruzioni
Il clock è un indicatore della velocità di una CPU
solo all’interno della stessa famiglia
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il set di istruzioni delle CPU
Ogni elaboratore è programmato per svolgere vari
compiti utilizzando una serie di semplici istruzioni
(insieme di istruzioni del microprocessore)
Più l’insieme di istruzioni è grande, più il
microprocessore può svolgere varie funzioni
Esistono differenti architetture, ma due sono le
più diffuse
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
CISC e RISC: architetture a confronto
CISC (Complex Instruction Set Chips)
• Utilizza un insieme di istruzioni particolarmente
complesso
• Le istruzioni sono più di 300
RISC (Reduced Instruction Set Chips)
• Utilizza un insieme di istruzioni ridotto
• Le istruzioni sono meno di 200
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
CISC - RISC: differenze (1/2) L’architettura interna dei microprocessori RISC:
1. Consente l’esecuzione di più istruzioni in un unico
ciclo elaborativo
2. Contiene molti meno elementi di quella CISC
3. È più economica e semplice da progettare rispetto
a quella CISC
1. L’architettura interna dei microprocessori
CISC consente di svolgere più operazioni
rispetto a quelle consentite da quella RISC
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
CISC - RISC: differenze (2/2) A volte l’architettura RISC è più veloce poiché il
set ridotto di istruzioni che utilizza è sufficiente a
svolgere circa l’80% delle operazioni
Attualmente i processori CISC hanno quasi
raggiunto la potenza dei microprocessori RISC
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le prestazioni della CPU
In generale è possibile migliorare le prestazioni
di un sistema in tre modi:
• Espanderne la capacità
• Aumentarne la velocità
• Migliorarne l’efficienza
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
La legge di Joy
La velocità del computer è misurata in MIPS,
ovvero milioni di istruzioni eseguibili al secondo
Nel 1984 William Joy ipotizzò che le prestazioni
degli elaboratori sarebbero aumentate secondo
un indice prevedibile
𝑴𝑰𝑷𝑺 = 𝟐(𝒂𝒏𝒏𝒐 −𝟏𝟗𝟖𝟒)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Andamento della legge di Joy
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I benchmark
Sono programmi eseguibili su differenti tipi di
elaboratori e utilizzati per effettuare raffronti
reali sui sistemi
Ma il metodo non funziona bene
• Risente dell’ottimizzazione del microprocessore
verso l’ambito del calcolo di numeri interi oppure
verso quello delle operazioni in virgola mobile
• I risultati possono essere «drogati» considerando
opportunamente l’area che si vuole evidenziare
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I miei contatti linkedin
http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/
https://www.facebook.com/francesco.ciclosi
@francyciclosi
www
http://www.francescociclosi.it
Recommended