Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di...

55
IV.1 Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 Parte IV Bus e microprocessori

Transcript of Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di...

Page 1: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.1Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Parte IV

Bus e microprocessori

Page 2: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.2Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Comunicazione nell’elaboratore

La struttura di interconnessione assicura la comunicazione fra le diverse componenti dell’elaboratore

CPU-Memoria: fetch di istruzioni e load e store dei dati

Dischi-Memoria: letture e scritture su memoria di massa

Periferiche-Memoria: operazioni di I/O

STRUTTURA

DI

INTERCONNESSIONE

P

PP PERIFERICHE

M DISCO

DISCO

N.B. La memoria è coinvolta in tutti i trasferimenti

Page 3: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.3Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Architettura a bus

• L’idea di bus nasce con il minicomputer, e viene adottata dal PC

• Linee di controllo e dati condivise da più dispositivi

• Una sola comunicazione per volta

• Condivisione gestita a livello hardware e firmware

• Struttura semplice ed economica

• La banda passante limita la scalabilità

• Le architetture più recenti prevedono più di un bus

M

CONT CONT

I/OμP M

CONT CONTCONT

I/O

Page 4: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.4Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Comunicazione sul bus

• Tutti i dispositivi sono sempre in ascolto

• Il bus è condiviso a livello di intervalli temporali detti ciclo

• In ciascun ciclo il bus è utilizzato da una coppia di dispositivi

per trasferire una determinata quantità di informazione

– Master: dispositivo che svolge un ruolo attivo

– Slave: dispositivo che svolge un ruolo passivo

• L’accesso al bus è regolato da un rigido protocollo, che

stabilisce tempi e modi della comunicazione

• I dispositivi si prenotano e si accodano per l’uso del bus

L’assegnazione del bus è regolata da un arbitro:

Discipline: come scegliere la prossima coppia

Priorità: Modificano l’ordine di assegnazione

Page 5: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.5Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Tipologie di bus

• In base alle modalità di trasferimento:

Seriale: viene trasmesso un bit per volta su un’unica

coppia di linee

Parallelo: vengono trasmessi molti bit (byte) utilizzando

una molteplicità di linee dati

• In base alla temporizzazione del ciclo:

Sincrono: la temporizzazione è regolata da un clock, la

durata di un ciclo è costante

Asincrono: la temporizzazione è regolata da segnali che

i dispositivi si scambiano

N.B. Nei bus asincroni la velocità del bus dipende dalla

velocità dei dispositivi

Page 6: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.6Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Prestazioni dei bus

• Frequenza: è la frequenza del clock che determina nei bus

sincroni la durata del ciclo

• Banda: è la quantità di informazione trasferita nell’unità di

tempo, dipende da due fattori:

– Frequenza: numero di cicli al secondo

– Parallelismo: numero di bit (byte) trasferiti per ciclo

Esempio

Bus con 64 linee dati che lavora a 100 MHz (ciclo 10 ns):

– Ogni ciclo vengono trasferiti 8 byte

– 100 milioni di cicli al secondo

– Banda 800 MB/sec

Page 7: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.7Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Bus paralleli o seriali?

• Il parametro di prestazione che interessa è la banda

• Apparentemente più interessanti i bus paralleli

• Vero, ma a parità di frequenza

• Nei bus paralleli la frequenza è limitata da due fattori

– Lunghezza (e quindi numero di dispositivi collegati)

– Bus skew: differenza nei tempi di propagazione delle

linee parallele

Il trend evolutivo è oggi in riflusso verso bus seriali, o

meglio verso collegamenti seriali. Si sta riaffermando

un’architettura basata su connessioni punto-punto.

Esempio: Serial ATA e SAS

Un ritorno al passato?

Page 8: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.8Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Standardizzazione dei bus

• Elemento fondamentale per l’evoluzione dei sistemi e la crescita

del mercato

• Standard emessi da organizzazioni (IEEE, ACM etc.) o da appositi

consorzi (USB, SATA, SCSI)

• Lo standard definisce tutto quanto concerne bus e dispositivi:

– Cavi e connettori (con relative tolleranze)

– Segnali elettrici

– Protocolli e temporizzazioni (con tolleranze)

• La standardizzazione consente la progettazione e la realizzazione

di dispositivi compatibili da parte di produttori senza che essi

debbano comunicare tra loro

Tentativi ‘protezionistici’ di definire standard proprietari

hanno portato a fallimenti clamorosi e miserabili

Es. Microchannel di IBM

Page 9: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.9Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Architettura a più bus

• Diversi bus, interni ed esterni al chip

• Soddisfano diverse esigenze:

– Velocità di trasferimento

– Numero di linee

– Più trasferimenti paralleli

– Compatibilità all’indietro

Page 10: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.10Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Protocolli di bus

• La comunicazione sui bus è regolata da rigidi protocolli

• I protocolli sono definiti dagli standard e specificano i segnali

applicati alle linee del bus e la loro temporizzazione

• Esaminiamo la struttura fondamentale dei protocollo per le

due grandi tipologie di bus:

– Bus sincroni

– Bus asincroni

Un protocollo di bus è una serie di regole alle quali devono attenersi i dispositivi che condividono il bus e lo usano per comunicare tra di loro

Page 11: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.11Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Segnali asseriti e negati

• In alcuni casi un segnale provoca l’azione corrispondente quando la sua tensione è alta, in altri quando è bassa

• Per evitare confusione si parla di:

– Segnale asserito: quando assume il valore che provoca l’azione

– Segnale negato: altrimenti

• Si adotta la seguente notazione:

– S: segnale che è asserito alto

– S: segnale che è asserito basso

• Ulteriore notazione (usata da Intel):

– S: segnale che è asserito alto

– S#: segnale che è asserito basso

Page 12: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.12Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Bus sincroni: ciclo di lettura

• Tutte le azioni avvengono sui fronti del clock

• Se la memoria mantiene asserito WAIT il ciclo si prolunga

Page 13: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.13Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Bus sincroni: temporizzazione

• Lo standard di un bus sincrono definisce anche le tolleranze sui tempi relativi alle varie fasi del ciclo (T = 25 ns)

• Diversi fabbricanti fanno riferimento indipendentemente allo standard, e producono dispositivi sicuramente compatibili

Page 14: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.14Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Bus asincroni: ciclo di lettura

• Accoppiamento di dispositivi con velocità diverse

• Sincronismo tramite segnali di controllo

• Gli eventi avvengono in risposta ad altri eventi (rapporto di causa ed effetto)

Page 15: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.15Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

• Protocollo di sincronizzazione su bus asincroni

• Full hanshake: stretta di mano completa

• I dispositivi master e slave si scambiano i segnali

– MSYN (Master Synchronization)

– SSYN (Slave Synchronization)

1. MSYN asserito: indirizzi e segnali di controllo sono sul bus

2. SSYN asserito in risposta a MSYN: i dati sono sul bus

3. MSYN negato in risposta a SSYN: i dati sono stati letti

4. SSYN negato in risposta a MSYN negato: il bus è libero

Protocollo di Full Handshake

Il protocollo di Full Handshake è più complesso di quello dei bus sincroni, poiché manca il riferimento costituito dai

fronti del clock

Page 16: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.16Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Arbitraggio del bus

• Determina quale dispositivo sarà il prossimo Bus Master

risolvendo eventuali conflitti

• Spesso l’arbitro è nel chip del P

• Linea di richiesta condivisa

• Bus grant propagato dall’arbitro poco prima dell’inizio del ciclo

• Vince il primo che intercetta il bus grant

NB Sono favoriti i dispositivi situati vicino all’arbitro

Page 17: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.17Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Block transfers

• Permette di leggere più parole consecutive

• Usato per trasferire blocchi di cache

• Numero di parole specificato durante T1

• Dopo la prima viene trasferita una word ogni ciclo (invece di una ogni tre cicli)

• Per leggere quattro word occorrono 6 cicli invece di 12

• Il segnale BLOCK viene asserito per chiedere un block transfer

Page 18: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.18Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Il microprocessore

• Il microprocessore è costituito da un unico chip in cui sono integrate tutte le funzioni fondamentali di elaborazione

• Contiene al suo interno diversi componenti fondamentali

– ALU (Aritmetic Logical Unit)

– Unità Floating-point (per i calcoli in virgola mobile)

– Unità di controllo

– Registri

– Cache di primo livello

• Comunica con il resto della struttura tramite una serie di piedini

• La struttura interna del microprocessore sarà discussa nella parte V

Page 19: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.19Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Pinout logico del P

• Il microprocessore comunica col mondo esterno tramite un numero alto, ma comunque limitato di piedini

• Scambia dati, indirizzi e segnali di controllo di vario tipo

• Lo stesso piedino fisico è usato spesso per più segnali logici

Page 20: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.20Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

L’architettura Intel

• La stragrande maggioranza dei PC sono oggi basati sulla

cosiddetta piattaforma Intel

• Questa comprende:

– Il microprocessore (8086, 386, .. , Pentium, .. , Pentium 4,

Core i7)

– Una serie di bus di interconnessione tra μP, memoria e

periferiche di I/O (inclusi dischi)

– Il chipset, costituito ad un insieme di chip che gestiscono la

piattaforma

• Altri costruttori (AMD) commercializzano μP funzionalmente

equivalenti, cioè che eseguono le stesse istruzioni

• I chipset più recenti includono anche funzionalità aggiuntive

(es. connettività ethernet, wireless, bluetooth)

Page 21: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.21Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Pentium 4

• Architettura a 32 bit poi a 64 bit, domina il mercato fino all’avvento

dei chip multicore della serie Intel Core

• Trasferimenti interni a 64 bit

• Architettura superscalare: unità funzionali multiple

• Oltre 100 milioni di transistor, clock a oltre 3 GHz

• Aritmetica intera e Floating-Point IEEE 754

• Bus di memoria a 64 bit

• Cache 1o

livello 8K+8K

• Cache 2o

livello da 256 KB a 2 MB a seconda dei tipi

• Cache 3°livello nel tipo Extreme (L2=512 KB, L3=2 MB)

• Front side bus a 800 MHz

• Dissipa tra i 50 e i 100W!

• Speed-step: varia frequenza e tensione per risparmiare energia

Page 22: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.22Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Architetture multi core

• Sullo stesso chip vengono messe più CPU (core=‘nucleo’)

• Die (piastrina) monolitico: unica architettura integrata (Itanium 2)

• Die singolo: più CPU indipendenti sulla stessa piastrina

• Die multiplo: più piastrine nello stesso contenitore

Page 23: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.23Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Architetture multi core: il chip

Layout del chip Core i7 Extreme Edition

Page 24: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.24Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Architetture multi core: pro e contro

Vantaggi

– Maggiore potenza di elaborazione dovuta al parallelismo

– Frequenze più basse: si riduce la dissipazione

– Si sfruttano moduli di CPU esistenti e collaudati

– Semplifica la gestione della coerenza di cache

Problemi

– Occorre che il carico abbia il necessario parallelismo

– Le connessioni con l’esterno diventano collo di bottiglia

– Banda con la memoria condivisa da più CPU

Gestione della cache

– Cache L2 separate: necessari trasferimenti interni

– Cache L2 unica condivisa: soluzione più efficiente,

possibile solo nel caso di die singolo

Page 25: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.25Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Intel Core

• Introdotto nel 2008 e basato sull’architettura Nehalem poi Sandy

Bridge, poi Ivy Bridge (nomi da fiumi dell’Oregon)

• Architettura a 64 bit: X86-64 (nota anche come Intel 64)

• Da 2 a 8 core fisici su unico die: 1.5 – 2 miliardi di transistor

• Da 4 a 16 core logici considerando hyperthreading

• Core i3 (low-end), Core i5 (mid-range), Core i7 (high-end)

• Cache L1 di primo livello 64 KB per core

• Cache L2 di secondo livello 256 KB per core

• Cache L3 di terzo livello da 1 MB a 15 MB condivisa

• Multithreading: più programmi (in genere due) eseguiti sullo stesso

core simultaneamente

• Processore grafico (GPU) integrato (supporta Direct 3D e Open GL)

• Dissipa fino a 150 W

Page 26: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.26Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Core i7: chip e zoccolo

• Il chip ha una serie di contatti piani (pad) che combaciano con

piedini a molla (pin) presenti sullo zozzolo

• 1155 piedini fisici (vari piedini logici per molti di essi)

• 286 piedini di alimentazione (varie tensioni e vari punti)

• 360 piedini di massa per ridurre i disturbi

Page 27: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.27Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Core i7: lo zozzolo

Page 28: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.28Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Core i7: dissipatore e ventola

Page 29: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.29Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Intel Core: pinout logico

• Il pinout definisce come il μp comunica con il mondo esterno

• Allo stesso piedino fisico possono corrispondere più piedini logici

Page 30: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.30Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Intel Core: pinout logico (2)

• Due canali di memoria per SDRAM DDR3 dual channel,

lavorano a 666 MHz per una banda complessiva di oltre 20 GB/s

• Un canale PCIe (PCI express vedi dopo) per gestire I/O con banda

complessiva di 16 GB/s

• Un canale DMI (Direct Media Interface) per interfacciarsi con il

chipset (vedi dopo)

• Un canale FDI (Flexible Display Interface) usato dalla GPU interna

per comunicare con i display

• Un segnale di clock: molti diversi clock sono generati all’interno

• 18 piedini per la diagnostica (standard IEEE 1199.1 e JTAG)

• 4 piedini per la gestione termica

• 10 piedini per gestione energetica e rilevamento di potenza

• 24 piedini per i segnali di configurazione 12 per segnali miscellanei

• 286 piedini di alimentazione e 360 di terra

Page 31: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.31Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Architettura classica della piattaforma Intel

Page 32: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.32Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Bus della piattaforma “classica” Intel

• L’architettura tradizionale era basata su 4 bus funzionanti a

frequenze diverse

• PCI bus (Peripheral Component Interconnect)

− Introdotto nel 1994, costituisce il riferimento per la gestione

dell’I/O fino al 2004: poi sostituito da PCI Express (vedi dopo)

− Bus parallelo sincrono a 32 (poi 64) linee dati

− Frequenza iniziale a 33 MHz, poi 33 MHz

− Banda iniziale di 133 MB/s sale fino a 533 MB/s

− Sopravvive (a volte) oggi come bus legacy

• Local bus: parallelo tra μp e chipset

• Memory bus: tra chipset e memoria

• AGP bus (Accel. Graphics Port): tra chipset e scheda grafica

Page 33: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.33Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Bus PCI Express (PCIe)

• Il PCI ha il suo limite nell’essere un bus condiviso e diventa un collo di bottiglia, all’aumentare dei dispositivi interconnessi

• Per ottenere una banda maggiore occorre passare ad una architettura a switch che smista pacchetti, come nelle reti

• Topologia punto-punto: ciascun dispositivo ha un canale di comunicazione dedicato

• I dispositivi comunicano scambiandosi pacchetti di dati

La banda cresce al crescere del numero di dispositivi

Page 34: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.34Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

PCI Express: topologia di interconnessione

Page 35: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.35Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Organizzazione del PCI Express

• Ogni dispositivo ha una sua connessione punto-punto

• Ciascun dispositivo è connesso tramite una coppia di canali unidirezionali

• Ogni canale è seriale: costituito da una coppia di conduttori

• Per gestire dispositivi con bande diverse si possono avere connessioni con più coppie di canali (lane)

• Possibile avere 2, 4, 16 e 32 lane

• Ciascuna connessione ha una banda tra 2.5 GB/s e 10 GB/s

• Scambi di dati a pacchetti, come in una rete

• Struttura espandibile: a uno switch possono essere connessi altri switch

Page 36: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.36Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Connettori PCI Express

Dall’alto: PCIe x 4, PCIe x 16, PCIe x 1, PCIe x 16, vecchio PCI a 32 bit

Page 37: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.37Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Nuova piattaforma Intel: Core i3 – i7

Page 38: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.38Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Nuova piattaforma Intel: Core i3 – i7

• Connessione diretta tra μp e memoria DDR3 dual port con

banda 20 GB/s

• Connessione PCIe per la gestione dell’I/O direttamente sul μp

a 16 lane (oppure 8+8) con banda complessiva di 16 GB/s

• Collegamento tra μp e chipset tramite il bus DMI con banda di

20 Gbit/s (2.5 GB/s)

• Altre connessioni sul chipset P67

− 6 connessioni per dischi Serial ATA

− 14 porte USB2 High Speed (vedi seguito)

− connessione di rete Ethernet Gigabit (1 Gb/s)

− 8 connessioni PCIe a 1 lane da 5 Gb/s ciascuna

− connessione per sintetizzatore audio

Page 39: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.39Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Scheda madre basata su chipset P-67

SDRAM

DDR3

Core i7

PCIe 16 lane

SATA

USB e rete

PCI

PCIe 1 lane

batteria

Page 40: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.40Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB Universal Serial Bus

• Bus economico concordato da varie aziende per la gestione di

device di I/O a bassa velocità (~ 1995)

• Consorzio comprendente tutti i maggiori player

• Standard pubblico ed aperto (scaricabile da Internet)

• Obiettivi:

– Evitare switch, jumpers

– Installazione di tipo esterno

– Cavo unificatodi connessione

– Alimentazione fornita dal cavo

– Fino a 127 dispositivi collegabili

– Supporto di dispositivi real-time

– Installazione a caldo (PC acceso)

– Bus e dispositivi economici

Page 41: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.41Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB 1: specifiche fondamentali

• Banda complessiva 1.5 Mb/s (USB 1.0) (low speed), limitata

per ragioni di costo, sale in USB 1.1 a 12 Mb/s (full speed)

• Root hub di connessione al bus PCI o PCIe

• Connessione di dispositivi e di altri hub

• Struttura ad albero con massima ramificazione di 16

• Cavo a 4 conduttori: +5V, GND, 2 di segnale

• Connessione di un dispositivo:

– Il root hub genera un interruzione: intervento del SO

– Il dispositivo specifica la banda richiesta

– Il SO assegna al dispositivo un indirizzo da 1 a 128

• L’indirizzo 0 è riservato all’inizializzazione

• Si crea una connessione logica tra root hub e ciascun device

cui corrisponde una bit pipe dedicata

Page 42: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.42Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB: connessione dei dispositivi

Page 43: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.43Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB: comunicazione con i dispositivi

• Il tempo è diviso in frame di durata fissa, scanditi dall’host:

– SOF (Start of Frame): specifica il dispositivo interessato

– IN / OUT: specifica la direzione della comunicazione

– DATA: payload più controllo e codice di errore

– ACK/NACK: acknowledge o segnalazione di errore

• Idle frame se non c’è comunicazione

N.B. Non ci sono interruzioni: comunicazione basata sul polling

Page 44: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.44Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB 2.0: evoluzione dello standard

• Lo standard USB ha avuto grande successo

• Estensione per consentire la connessione di dispositivi che

richiedono una banda maggiore (high speed)

• USB 2.0 introdotto nel 2000 è completamente compatibile all’indietro

• Lo host controller determina il tipo di dispositivo, e lo gestisce di

conseguenza

• Tre categorie di dispositivi:

– high speed: fino a 480 Mb/s (60 MB/s)

– full speed: 12 Mb/s (1.5 MB/s)

– low speed: 1.5 Mb/s

L’evoluzione corrente è verso la semplificazione e la

presenza nei PC di sole interfacce USB e Firewire

Page 45: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.45Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB 3: ulteriore evoluzione

• USB 3.0 (2008) costituisce al seconda revisione maggiore

• Introduce la nuova modalità Super-speed aumentando la banda

di un fattore 10 e portandola a 5 Gb/s

• E’ in realtà un’architettura a doppio bus:

− Il bus tradizionale USB 2.0 per compatibilità all’indietro

− Un secondo bus per la modalità Super-speed:

− 2 connessioni unidirezionali

− Estensione dei protocolli: notifiche dei dispositivi

• Garantita anche la compatibilità in avanti:

− Un dispositivo USB 3.0 può connettersi a una porta USB 2.0

• Di fatto i cavi devono avere lunghezza inferiore a 3 m

• USB 3.1 (2013) con modalità Super-speed+ e banda 10 Gb/s

Page 46: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.46Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Connettori USB

Page 47: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.47Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Connettori USB

• Stessi connettori per USB 1 e USB 2

• 2 contatti di alimentazione (+ e -) e 2 di segnale (D+ e D-)

• Vari tipi di connettori: per ciascuno una coppia maschio femmina

• Standard-A: connessione downstream (es. da mouse a PC)

• Standard-B: connessione upstream (es. stampante)

• Varie dimensioni: Standard, Mini e micro

• Per un maschio sono previsti 1500 cicli

• Connettori USB 3: hanno 5 contatti in più per il secondo bus

USB 3

Page 48: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.48Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

USB 3: contatti e compatibilità

Connettore maschio USB 3

• In basso contatti USB 2

• Sopra contatti USB 3

Connettori maschio e femmina USB 3

• Il connettere è bipartito

• Questo assicura la compatibilità

Page 49: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.49Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

E ora finalmente USB tipo C !

• Finalmente è reversibile!

• Come il lightning di Apple

• Non dobbiamo più impazzire per

scegliere da che parte metterlo

• 12 + 12 piedini

• Adottato per prima da Apple

Page 50: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.50Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Raffronto fra i tipi di bus

Page 51: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.51Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Gestione dell’I/O

• I dispositi di I/O comprendono sia le periferiche di ingresso e uscita vere e proprie che i dispositivi di memoria di massa

• Ciascun dispositivo è gestito direttamente da un hardware specifico denominato controllore (in genere include un μP)

• La CPU può leggere e scrivere nei registri dei controllori, indirizzandoli come se fossero celle di memoria

• La comunicazione fra CPU e controllori avviene con due modalità distinte:

POLLING: il controllore è passivo e la CPU lo interroga periodicamente per vedere se ha bisogno di attenzione

INTURRUZIONI: il controllore invia alla CPU appositi segnali (interruzioni) quando ha bisogno di attenzione

Page 52: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.52Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

I/O con interrupt

• I dispositivi inviano alla CPU segnali di interruzione utilizzando

apposite linee del bus

• La CPU interrompe l’elaborazione corrente e interagisce con il

dispositivo che la ha interrotta per gestire l’operazione di I/O

Eempio: Lettura da disco

– La CPU avvia l’operazione di I/O scrivendo le informazioni

opportune nelle porte del controller

– La CPU passa all’elaborazione di un altro task

– Il controller avvia e sovraintende allo svolgimento dell’operazione

di I/O (posizionamento delle testine ecc.)

– Quando i dati sono disponibili il controller interrompe la CPU

– La CPU è direttamente coinvolta nel trasferimento dei dati tra

controller, essa legge i dati e li copia in memoria

Page 53: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.53Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Numeri di interruzione in Windows (IRQ)

Page 54: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.54Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Indirizzi di I/O in Windows

Page 55: Parte IV Bus e microprocessori - uniroma1.itsalza/AE/Teoria-IV-16-17.pdf · Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017 IV.3 Architettura

IV.55Fondamenti di Informatica - Architetture di Elaborazione - prof. Silvio Salza - a.a. 2016-2017

Controllore delle interruzioni

• Chip Intel 8259A usato dal PC IBM e successori

• Gestisce 8 linee di interrupt

– INT: interruzione inviata alla CPU

– INTA: aknowledge della CPU

– Vettore di Interrupt passato sul bus

– IR0-IR7: linee di interrupt sul bus

• Il vettore di interrupt consente di saltare alla relativa routine

• Registri all’interno del chip scrivibili dalla CPU per programmare lo 8259A