Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 7
Politecnicodi Milano
Impianto d i elaborazioneImpianto d i elaborazionedell ’informazionedell ’informazione• Con il termine “ impianto di elaborazione
dell ’informazione” (o “ sistema informativo” ) ci siriferisce a sistemi molto diversi– Che vanno dal palmtop...
– ... ad una rete geografica con milioni di nodi
• Studiare l’architettura di un siffatto sistema significaindividuarne i componenti e le loro relazioni
• Ciò si realizza attraverso la creazione di un insieme dimodell i
• I l nostro studio procederà identificando i diversi stratiche identificano la macchina virtuale “ sistemainformativo” a partire dall ’HW di base
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 8
Politecnicodi Milano
Il concetto d i modelloIl concetto d i modello
• Modello = Astrazione di una certa realtà
• Astrazione →→ trascurare concett i i rr ilevanti alfine della comprensione del problema...
• ... per concentrarsi sugli aspetti maggiormentecritici
• Esempi– I l progetto di una nuova autovettura– Un organigramma aziendale– La descrizione di un processo di produzione– Una formula chimica
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 9
Politecnicodi Milano
Il concetto d i macchina virtualeIl concetto d i macchina virtuale
• Macchina virtuale = Esecutore “ virtuale”di algoritmi
• Con il termine “ virtuale” si identifica lacaratteristica non reale– Nel qual caso si parla anche di “ modello”
• O non “ fisica” della macchina• Esempi
– La macchina virtuale “ Esecutore C”
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 10
Politecnicodi Milano
Gli “ strati” che compongon oGli “ strati” che compongon oun sistema informativoun sistema informativo
hardware
Software di base (S.O.)
Software applicativo
hardware hardwarehardware
rete
S.O. S.O.
S.O. di rete + middleware
Software applicativo
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 11
Politecnicodi Milano
Tipo logie di calcolatori - 1Tipo logie di calcolatori - 1
• Esistono diversi tipi di calcolatori– Handheld computer
• Di dimensioni molto limitate
• Usualmente privi di memorie di massa
– Personal computer• Dotati di monitor e tastiera separati dall ’unità
centrale• Dotati di diversi dispositivi di memoria di massa
interni o esterni all’unità centrale
– Notebook• Versione portatile del personal computer
• Usualmente dotata di caratteristiche inferiori intermini di potenza di calcolo e memorizzazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 12
Politecnicodi Milano
Tipo logie di calcolatori - 2Tipo logie di calcolatori - 2
– Workstation• Versione “ potente” dei personal computer
• Dotate di monitor di dimensioni superiori
• Per lo più orientate alle applicazioni graficheo di CAD
• Spesso condivise da più utenti (nonnecessariamente in contemporanea)
– Mainframe• Calcolatori di elevata potenza di calcolo e
memorizzazione
• Orientati all ’elaborazione di dati per l’interaazienda
• Condivisibili da più utenti in contemporanea
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 13
Politecnicodi Milano
Tipo logie di S.O.Tipo logie di S.O.
• Negli anni diversi S.O. hanno visto la luce– I primi calcolatori non avevano un vero e proprio
S.O. ma solo un sott ile strato di sw di base chegestiva l’accesso all ’hw
• Tipologie di S.O.– Monoutente vs. multiutente
– Single tasking vs. multi tasking
• Principali S.O. oggi presenti sul mercato:– DOS, Windows 9x, Windows NT, Unix (nei suoi
cento dialetti), OS/ 2, MacOS
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 14
Politecnicodi Milano
Tipo logie applicativeTipo logie applicative
• Applicazioni numeriche
• Applicazioni gestionali
• Applicazioni per l’automazione d’ufficio
• Applicazioni telematiche– Applicazioni di workgroup
• Applicazioni di automazione industriale– CAD, CAM
• Applicazioni multimediali e di intrattenimento
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 15
Politecnicodi Milano
Architettura del calcolatore: il modelloArchitettura del calcolatore: il modellodidi Von Neumann Von Neumann
• Tutte le diverse tipologie di calcolatori sonoaccomunati dalla medesima architettura logica
• Schematizzata dal modello di Von N eumanndel calcolatore
Processore(CPU)
Memor iacentrale
Interfacciadelle
perifer iche
Bus di sistema
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 16
Politecnicodi Milano
Funzionamento della macchina diFunzionamento della macchina di Von VonNeumannNeumann
• I l processore estrae le istruzioni dalla memoria e leesegue– Le istruzioni possono comportare operazioni di manipolazione
dei dati
– Oppure operazioni di trasferimento dei dati
• I trasferimenti di dati attraverso elementi funzionalidiversi avvengono attraverso il bus di sistema
• Le fasi di elaborazione si susseguono in modo sincronorispetto ad un orologio di sistema
• Durante ogni intervallo di tempo l’unità di controllo(parte del processore) stabilisce la funzione da svolgere
• L’intera macchina opera in maniera sequenziale
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 17
Politecnicodi Milano
Il process ore: schemaIl process ore: schema architetturale architetturale
ALU
Registro di stato
APC
RnUnità di
controllo (UC)
BRegistro Istruz.Corrente
Registro interr.
Registro dati Registro indir izzi
Ro
.....
segnali di controllo
clock
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 18
Politecnicodi Milano
Il process ore: descrizione degliIl process ore: descrizione deglielementi principali - 1elementi principali - 1
• Unità di controllo (UC) : decodifica le istruzioni econtrolla il funzionamento del sistema attraversoopportuni segnali
• Unità aritmetico logica (ALU) : esegue le operazioniaritmetiche
• Clock : sincronizza il funzionamento dei diversielementi
• Bus della CPU : collega i diversi elementi della CPU (danon confondere con il bus di sistema)
• Program Counter (PC) : mantiene l’indirizzo dellaprossima istruzione da eseguire
• Registro istruzione corrente : mantiene l’istruzioneattualmente in fase di esecuzione
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 19
Politecnicodi Milano
Il process ore: descrizione degliIl process ore: descrizione deglielementi principali - 2elementi principali - 2
• Registro delle interruzioni : indica l’avvenuta richiestadi una interruzione
• Registro di stato : indica lo stato dell ’ultima istruzioneeseguita dalla ALU
• Registro indirizzi : contiene l’indirizzo del prossimodato da leggere/ scrivere in memoria
• Registro dati : contiene l’ultimo dato letto o il prossimodato da scrivere in memoria
• Registri A e B : registri contenenti i dati su cui opera laALU
• Registri R0, ..., Rn : registri di uso generale
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 20
Politecnicodi Milano
Il processore: funzionamento - 1Il processore: funzionamento - 1
• L’esecuzione di un programma ha inizio con ilcaricamento della locazione della prima istruzione nelPC
• La UC manda un segnale di controllo affinché ilcontenuto del PC sia spostato nel registro degli indirizzi
• Viene inviato un segnale di controllo (read) allamemoria per effettuare la lettura del dato postoall ’indirizzo specificato nel registro indirizzi
• In conseguenza del passo precedente il dato viene resodisponibile nel registro dati (la UC attende finoall ’arrivo del segnale MFC - memory functioncompleted)
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 21
Politecnicodi Milano
Il processore: funzionamento - 2Il processore: funzionamento - 2
• La UC manda un segnale di controllo affinché ilcontenuto del registro dati sia spostato nelregistro istruzione corrente
• La UC decodifica l’istruzione corrente
• La UC genera la sequenza di segnali dicontrollo necessari ad eseguire l’istruzione– Esempio:
caricamento di un dato presente in memoria nelregistro A• I l valore del PC incrementato di 1 viene spostato nel registro
indirizzi
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 22
Politecnicodi Milano
Il processore: funzionamento - 3Il processore: funzionamento - 3
– Esempio (continua)• Viene inviato un segnale di controllo (read) alla memoria
per effettuare la lettura del dato posto all ’indirizzospecificato nel registro indirizzi
• In conseguenza del passo precedente il dato viene resodisponibile nel registro dati (la UC attende il segnale MFC)
• La UC manda un segnale di controllo affinché il contenutodel registro dati sia spostato nel registro A
• I l PC viene incrementato al fine di puntare allaprossima istruzione
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 23
Politecnicodi Milano
Il process ore: t ipolog ia di i struzioniIl process ore: t ipolog ia di i struzionieseguibilieseguibili
• Le istruzioni eseguite dal processorepossono essere classificate in trecategorie principali:– I struzioni aritmetiche
• Somme, sottrazioni, moltiplicazioni, divisioni,shift ecc.
– I struzioni di salto condizionale
– I struzioni di trasferimento dei dati• Da un registro all ’altro
• Da uno dei registri alla memoria o viceversa
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 24
Politecnicodi Milano
Il processore: le interruzion iIl processore: le interruzion i
• Al fine di gestire richieste provenienti dalle periferichepuò essere necessario interrompere la normaleesecuzione di un programma
• La periferica segnala sue particolari necessità attraversouna interruzione
• Ad ogni passo di esecuzione la UC verifica lo stato delregistro delle interruzioni
• Se si è verificata una interruzione:– Lo stato del processore (registri) viene salvato in memoria– Viene att ivata una speciale procedura di gestione delle
interruzioni– Quando la procedura di gestione delle interruzioni termina lo
stato del processore viene ripristinato ed il programma vieneripreso
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 25
Politecnicodi Milano
La memoria centrale - 1La memoria centrale - 1
• La memoria centrale è destinata ad accogliere dati eprogrammi sui quali opera il calcolatore
• Concettualmente è composta da una sequenza di celleognuna delle quali contiene una parola (word)– Ogni cella può essere acceduta direttamente (specificandone
l’indirizzo) per leggere o scrivere (in un unico passo) il valoreivi contenuto
– Una parola è composta da un numero di bit che dipende dallamacchina• Esempio: Pentium: 32, 80286: 16, PowerPC: 32, Ultra SPARC: 64
– Le memorie in uso nei calcolatori moderni permettonol’indirizzamento di un singolo byte oltre che di un’intera parola(memorie byte-addressable)• Un apposita linea di controllo del bus indica alla memoria se si
voglia accedere ad un’intera parola o ad un singolo byte
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 26
Politecnicodi Milano
La memoria centrale - 2La memoria centrale - 2
• I l numero di bit che costituiscono l’indirizzo di un byteall ’interno della memoria è caratteristico delmicroprocessore e identifica lo spazio di indirizzamentodel microprocessore– Esempio: Pentium 32 bit– Avendo a disposizione k bit è possibile indirizzare 2k byte– Si ricorda che:
210 byte = 1 Kilo Byte220 byte = 1 Mega Byte230 byte = 1 Giga Byte240 byte = 1 Tera Byte
• Nell ’accesso ad una parola, il sistema di gestione dellememorie byte-addressable considera solo i k-n bit piùsignificativi - dove n=sqrt(lungh. parola in byte)
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 27
Politecnicodi Milano
La memoria centrale - 3La memoria centrale - 3
• La memoria centrale si chiama usualmente ram omemoria ad accesso casuale– Viene cosi detta una memoria il cui tempo di accesso sia
indipendente dall ’indirizzo della parola alla quale si vuoleaccedere
– Si tratta di una memoria volatile
• Altri tipi di memoria presenti in un calcolatore sono lerom– Hanno caratteristiche generali simili alle ram– Un tempo di accesso notevolmente maggiore– Si tratta di memorie permanenti– Sono tipicamente utilizzate per memorizzare quei dati e
programmi che servono al momento dell ’accensionedell ’elaboratore, prima del caricamento del S.O.
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 28
Politecnicodi Milano
Il bus di sistemaIl bus di sistema
• I l bus di sistema collega tra loro i vari elementi delcalcolatore
• In ogni istante il bus è dedicato a collegare due unità,una trasmette ed una riceve– I l processore seleziona la connessione da att ivare e indica
l’operazione da svolgere (bus mastering)
• I l bus è suddiviso in tre insiemi di linee:– Bus dati– Bus indirizzi– Linee di controllo: trasportano informazioni relative alla
modali tà di trasferimento e alla temporizzazione
• Esempio di uso del bus scrittura di un dato presente inun registro del processore in memoria
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 29
Politecnicodi Milano
Bus sincroni e asincroniBus sincroni e asincroni
• Bus sincrono:– Le linee di controllo includono una linea di clock– Periferica, memoria e processore operano sul bus in maniera
sincrona rispetto a tale “orologio” comune• Durante ogni ciclo di bus può avvenire un singolo trasferimento
dati
• Bus asincrono– Basato su handshake– Le linee di controllo includono una linea ready ed una linea
accept• La linea ready indica la richiesta di una operazione da parte
dell’unità master (processore) e viene tenuta a 1 fino alcompletamento dell ’operazione da parte dell’unità master
• La linea accept indica il completamento dell ’operazione richiestada parte dell ’unità slave e viene tenuta ad 1 fino a quando l’unitàslave non vede la transizione da 1 a 0 del segnale ready
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 30
Politecnicodi Milano
L’interfaccia delle perifericheL’interfaccia delle periferiche
• Concettualmente si occupa della gestione dello scambiodi dati tra processore e periferiche
• In generale contiene:– Un registro dati della periferica (RDP)
– Un registro di comando della periferica (RCP)
– Un registro di stato• Talvolta collegato al registro delle interruzioni del processore
• A seconda del processore, i registri delle periferichepossono:– Condividere lo spazio di indirizzi della memoria (memory
mapped I / O)
– Adottare uno spazio di indirizzi distinti
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 31
Politecnicodi Milano
L’interfacc ia delle periferiche:L’interfacc ia delle periferiche:schematizzazione graficaschematizzazione grafica
Linee degli indirizzi
Linee dei dati
Linee di controllo
BUS
Decodificatoredegli indirizzi
Circuiti dicontrollo
Registri dei datie di stato
Periferica
Interfaccia di I / O
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 32
Politecnicodi Milano
Interfacce Interfacce standardstandard
• E’ possibile avere una interfaccia diversa per ogniperiferica– ma è più logico avere delle interfacce standard per periferiche
simili
• Esempi di interfacce standard:– Interfaccia seriale RS-232-C
– Interfaccia PS2
– Interfaccia USB (Universal Serial Bus)
– Interfaccia parallela Centronix
– Interfaccia ISA
– Interfaccia SCSI
– Interfaccia EIDE
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 33
Politecnicodi Milano
Gestione delle periferiche da parte delGestione delle periferiche da parte delprocess ore - 1process ore - 1
• I moderni processori operano a velocità notevolmentemaggiori di ogni altra periferica– Sorge la necessità di sincronizzare le operazioni di processore e
periferiche
• Due approcci possibili: a controllo di programma(poll ing) o mediante interrupt
• La gestione a poll ing: un esempio di lettura da memoriadi massa– I l processore invia sul bus il comando di lettura e si pone in
attesa che il dato sia disponibile sul registro dati della periferica– Durante l’attesa il processore esegue un ciclo verificando il
valore del registro di stato della periferica– Appena il dato è pronto il processore lo trasferisce dal registro
dati della periferica in uno dei suoi registri interni e da qui inmemoria
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 34
Politecnicodi Milano
Gestione delle periferiche daGestione delle periferiche daparte del processore - 2parte del processore - 2• Difetti dell ’approccio a poll ing
– I l processore resta impegnato in un ciclo in attesa del dato
• La gestione a interrupt: un esempio di lettura damemoria di massa– I l processore invia sul bus il comando di lettura e procede nelle
sue operazioni– Quando il dato è disponibile la periferica “solleva” un
interruzione– I l processore interrompe le sue operazioni, salva il proprio stato
ed esegue una opportuna routine di gestione delle interruzioni(parte del S.O.)
– La routine di gestione delle interruzioni verifica che un dato èdisponibile sulla periferica e lo trasferisce dal registro dati dellaperiferica in uno dei registri interni del processore e da qui inmemoria
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 35
Politecnicodi Milano
Periferiche: memorie di massaPeriferiche: memorie di massa
• Con il termine memoria di massa ci si riferisce ad un dispositivo dimemorizzazione permanente capace di contenere grosse quantitàdi dati
• Esiste un numero grandissimo di dispositivi di tale tipo• Possibil i categorizzazioni
– Dispositivi ad accesso sequenziale o casuale– Dispositivi in sola lettura (RO), in lettura e scrittura (RW) o WORM
(Write Once Read Many)– Dispositivi magnetici, ottici o magneto-ottici
• Dimensioni tipiche delle principali memorie di massa odierne– FDD: 1.44 MB– CD: 650 MB– DVD: 4 GB– H ard-Disk: 4÷÷30 GB– N astri: QIC80: 350 MB, DAT 4÷÷20+ GB
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 36
Politecnicodi Milano
Memorie di massa: HD - 1Memorie di massa: HD - 1
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 37
Politecnicodi Milano
Memorie di massa: HD - 2Memorie di massa: HD - 2
• Schema di memorizzazione(creato in fase di formattazionedi basso livello)– Ogni superficie è divisa in
tracce concentriche• In ogni traccia i dati sono
memorizzati in manierasequenziale
– Ogni traccia è divisa in settori– L’insieme delle tracce omologhe
poste sulle diverse facce è dettocil indro
• Esempio: il disco IBM Deskstar25GP– 5 dischi, 10 testine, 15.302
cil indri (utente), 512 byte persettore
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 38
Politecnicodi Milano
Memorie di massa: HD - 3Memorie di massa: HD - 3
• Caratteristiche prestazionali di un HD– Tempo di posizionamento (seek time): il tempo necessario a
posizionare le testine sulla traccia richiesta• N ell ’ordine di 8-10 ms
– Tempo di latenza o di rotazione (latency time): il tempoaffinché il settore richiesto “ passi” sotto la testina (dipendedalla velocità di rotazione del disco)• N ell ’ordine di 2-4 ms
– Tempo di trasferimento: il tempo per trasferire i dati dal discoalla memoria• I n genere trascurabile
– Tempo di accesso (la somma dei tre tempi precedenti)
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 39
Politecnicodi Milano
Memorie di massa: HD - 4Memorie di massa: HD - 4
• Esempi:– I l disco IBM Deskstar 25GP (EIDE)
• Caratteristiche costrutt ive: 25 GB disposti su 5 dischi (10testine) suddivisi in 15.302 cilindri (utente) con 512 byte persettore. 5400 rpm
• Caratteristiche prestazionali :– Tempo di posizionamento: 9.0 ms (2.2 ms track-to-track)– Tempo di latenza: 5.56 ms
– I l disco Seagate Cheetah ST118202LW (UW SCSI 2)• Caratteristiche costrutt ive: 18 GB disposti su 12 dischi (24
testine) con 512 byte per settore. 10000 rpm• Caratteristiche prestazionali :
– Tempo di posizionamento: 5.2 ms– Tempo di latenza: 2.99 ms
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 40
Politecnicodi Milano
Memorie di massa: gli Memorie di massa: gli array array dididischidischi• Per aumentare le prestazioni dei sistemi a disco
è possibile raggruppare più dischi in un sistemaRAID (Redundant Array of Inexpensive Disks)
• I l sistema RAID suddivide ogni file in blocchiregistrati su dischi diversi per aumentare leprestazioni (data striping)
• I l sistema RAID viene anche utilizzato perincrementare l'affidabilità dei sistemi a discoattraverso un meccanismo di ridondanza
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 41
Politecnicodi Milano
Periferiche: terminaliPeriferiche: terminali
• Caratterizzati da una tastiera, un video e,talvolta, un mouse o altri dispositivi dipuntamento simili
• Nei PC e nelle workstation tali dispositivi sonointegrati nello stesso calcolatore
• Video: caratteristiche salienti– Dimensione: misura della diagonale in poll ici– Risoluzione: dimensione in pixel x pixel– Dot pitch: dimensione del singolo punto in mm– Frequenza di refresh ad una certa risoluzione:
misurata in hz
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 42
Politecnicodi Milano
Periferiche: stampantiPeriferiche: stampanti
• Permettono di stampare su carta i dati prodott ial calcolatore
• Caratteristiche salienti:– Velocità: in ppm
– Risoluzione: in punti per poll ice (DPI )
• Principali tipi di stampanti:– A margherita (solo testo)
– Ad aghi
– A getto di inchiostro
– Laser
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 43
Politecnicodi Milano
Estension i alla macchina diEstension i alla macchina diVon NeumannVon Neumann• Uso di processori dedicati• Uso di meccanismi di pipelining per
parallelizzare le attività all’interno delsingolo processore
• Uso di gerarchie di memorie• Uso di canali di DMA per la gestione
dell’I / O• Uso di bus multipli
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 44
Politecnicodi Milano
I processori dedicatiI processori dedicati
• All ’interno di un moderno calcolatore esistono, in realtà,numerosi processori che svolgono funzioni specifiche:– Processori per la gestione dei canali di I / O– Processori grafici
• 2D e 3D
– Processori per la sintesi e l’acquisizione di suoni
• Taluni di questi processori possono essere anche moltocomplessi– I l chip grafico 3dfx I II è composto da 8.2 milioni di transistor
(il Pentium I I ne ha 7.5)
• I diversi processori operano sotto il controllo delprocessore centrale con il quale “ competono” perl’accesso alla memoria e al bus
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 45
Politecnicodi Milano
Le Le pipeline pipeline - 1- 1
• I l principio della catena di montaggio:– Decomporre una att ività complessa che si debba ripetere
sempre eguale in più att ività semplici...
– ... e parallelizzare tali att ività semplici
• Applicazioni ai processori:– L’esecuzione di una istruzione può essere decomposta in un
certo numero di att ività più semplici
– Da eseguire in parallelo per le diverse istruzioni checompongono il programma
– Ogni stadio della pipeline esegue una di queste att ivitàelementari
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 46
Politecnicodi Milano
LeLe pipeline pipeline - 2 - 2
• I l problema dei salti– Nel caso di salti condizionali non esiste un unica sequenza di
istruzioni
– Soluzione: la branch prediction
• I l problema della dipendenza dei valori– L’esecuzione di un’istruzione può dipendere dal risultato della
precedente, ciò riduce la possibilità di eseguire le due istruzioniin parallelo
– Soluzione: l’esecuzione fuori ordine
• Un esempio: il processore PowerPC 620– Due pipeline distinte per operazioni intere e in virgola mobile
• Formate da 4 stadi la prima e 6 la seconda
– Fino ad un massimo di 4 istruzioni per ciclo di clock
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 47
Politecnicodi Milano
Le memorie cacheLe memorie cache
• I l problema:– Le memorie non reggono più la velocità dei moderni processori
• Una memoria PC100 ha un tempo di accesso dell’ordine dei 7 ns,insufficiente per processori moderni (500 Mhz)
– E’ possibile costruire memorie più veloci ma a costi molto alti(memorie statiche)
• La soluzione:– Una gerarchia di memorie via via meno veloci e più capienti
processore
cache internaal processore (L1)
bus
cache di secondolivello (L2)
Memoriaprincipale
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 48
Politecnicodi Milano
Memoria cache: un esempio praticoMemoria cache: un esempio pratico
• Un caso pratico: un moderno PC con PentiumII 400– Cache L1:
• 32 Kb interna al processore
• Operante a piena frequenza (400 Mhz)
– Cache L2• 512 Kb sulla scheda che ospita il processore
• Operante a frequenza pari alla metà del processore (200Mhz)
– Memoria:• 32-512 Mb sulla scheda madre
• Operante alla frequenza del bus esterno alla CPU (100 Mhz)
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 49
Politecnicodi Milano
I canali DMA - 1I canali DMA - 1
• Problema:eseguire le operazioni di I / O sotto lo stretto controllo delprocessore richiede risorse di calcolo– I l processore deve richiedere il dato (singola parola) all’interfaccia
delle periferiche, attendere la disponibil ità del dato, leggerlo espostarlo in memoria
– I l problema viene in parte risolto attraverso l’uso di interrupt, maancora la lettura è svolta un dato per volta
• Soluzione:i controllori DMA integrati nelle interfacce delle periferiche– I l controllore DMA integrato nell ’interfaccia si occupa di trasferire in
maniera autonoma i dati richiesti dal processore in memoria (ablocchi)
– I l processore viene informato quando tutti i dati richiesti sono statitrasferiti (att raverso un’interrupt)
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 50
Politecnicodi Milano
I canali DMA - 2I canali DMA - 2
• Effetto dell’uso del DMA– Diversi dispositivi possono accedere
autonomamente al bus• I l processore
• I controllori DMA
– Di conseguenza si possono manifestare deiconflitti nell’uso del bus
– Tali conflitti vengono risolti attraverso unmeccanismo di arbitraggio del bus
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 51
Politecnicodi Milano
Le architetture a bus multipliLe architetture a bus multipli
• I moderni calcolatori contengono spesso più bus– Uno o più bus del processore (il caso del Pentium I I )
– Uno o più bus al quale collegare schede di espansione (es. ISA,PCI, AGP)
– Uno o più bus delle periferiche (Es. EIDE, SCSI, USB)
• I diversi bus operano spesso a frequenze diverse sotto ilcontrollo del processore– Concettualmente si tratta sempre di un unico bus ma suddiviso
in più “ tratt i” operanti a velocità differente
• Opportuni processori di controllo (Es. chipset dellascheda madre) si occupano di gestire i passaggi di datitra i diversi bus
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 52
Politecnicodi Milano
Un moderno PC x86: schemaUn moderno PC x86: schemaarchitetturalearchitetturale
cache L1
bus esterno
cache L2bus AGP
scheda video
RAMvideo
bus PCI
controller dischi
(EI DE o SCSI)
bus dischi
H D1 H Dn CD...
scheda PCI
bus ISA
scheda I SA
controllerperiferiche
processore
RAM
processorevideo
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 53
Politecnicodi Milano
Una scheda madre Una scheda madre socket socket 77
chipset
ZIF socket 7
slot PCI
slot ISA
cache L2
slot AGP
bus EIDE
ROM BIOS
slotDIMM
slotSIMM
alimentazione
presatastiera
batteria tampone
bus fdd
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 54
Politecnicodi Milano
Una scheda madre slot 1Una scheda madre slot 1
slot 1
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 55
Politecnicodi Milano
Una scheda madre Una scheda madre dual dual slot 1slot 1
slot 1
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 56
Politecnicodi Milano
Alcuni processori x86Alcuni processori x86
PI I 400
Celeron 400slot 1
Celeron 400socket 370
Gianpaolo Cugola - Impianti di Elaborazione dell' Informazione
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 57
Politecnicodi Milano
Caratteristiche Caratteristiche architetturaliarchitetturali di dialcuni processori x86 - 1alcuni processori x86 - 1• I ntel 486
– 8 registri interni a 32 bit
– 8 kbyte cache L1 unificata
– 1 istruzione per ciclo di clock
– Clock interno: 33, 66 e 100 Mhz
– Bus esterno 33 Mhz
– 1.2 - 1.8 (DX4) mili oni ditransistor
– 1 - 0.8 micron
• I ntel Pentium MMX– 8 registri interni a 32 bit
– 16+16 kbyte cache L1
– 2 istruzioni per ciclo di clock
– Clock interno: fino a 300 Mhz
– Bus esterno 66 Mhz
– 3.5 milioni di transistor (0.35 µµ)
• I ntel Pentium II– registri interni a 32 bit
– 16+16 kbyte cache L1
– 3 istruzioni per ciclo di clock
– Clock interno: fino a 450 Mhz
– Cache L2 integrata nel package(512 Kbyte operanti alla metàdella frequenza del clock interno)
– Bus esterno 100 Mhz
– 7.5 milioni di transistor (0.25 µµ)
• I ntel Celeron “ mendocino”– Come sopra ma con 128 Kbyte di
cache L2 “ on die” operanti apiena frequenza...
– ... e bus esterno a 66 Mhz
– Disponibile in versione slot 1 osocket 370
Gianpaolo Cugola - Impianti di Elaborazione dell 'Informazione 58
Politecnicodi Milano
CaratteristicheCaratteristiche architetturali architetturali di dialcuni processori x86 - 2alcuni processori x86 - 2• Intel Pentium I II
– Come Pentium I I ma conun set esteso di istruzione(KNI )
– Annunciato anche intecnologia 0.18 µµ e busesterno a 133 Mhz
• AMD K6-2– registri interni a 32 bit
– 32+32 kbyte cache L1
– 3 istruzioni per ciclo di clock
– Clock interno: fino a 450 Mhz
– Bus esterno 100 Mhz
– 9.300.000 transistor (0.25 µµ)
– Dispone di un set di istruzionisupplementare (3DN ow!)
• IBM PowerPC 750– architettura RISC
– registri interni a 32 bit
– 32+32 Kbyte cache L1
– 4 istruzioni per ciclo di clock
– Clock interno fino a 400 Mhz
– Bus cache L2 operante allametà della velocità delprocessore (fino a 1 MB)
– 6.350.000 transistor (0.22 µµ)