Metodo di arbitraggio
|
|
|
- Luisa Bianchi
- 9 anni fa
- Visualizzazioni
Transcript
1 Metodo di arbitraggio Se un sistema ha solo un master (il processore) allora non c è necessità di arbitraggio: l accesso al bus è sempre garantito al processore che pilota lo slave con cui correntemente effettua la transazione, che ovviamente avviene senza conflitto (secondo il protocollo specificato dal bus) Problema di questo approccio: le comunicazioni passano tutte per il processore. P.es. lettura di un blocco da disco: - il processore (master) legge una parola dal disco (slave) - il processore (master) scrive la parola in memoria (slave) - e così per ogni parola del blocco Introduzione di più dispositivi attivi in grado di agire da master (DMA) Possibile conflitto per la risorsa bus: più dispositivi possono in uno stesso momento fare richiesta di accesso al bus Necessità di un meccanismo di arbitraggio: risolve i conflitti decidendo chi ha accesso al bus, evitando accessi contemporanei 37
2 Parametri per giudicare un meccanismo di arbitraggio Tradeoff - Priorità: possibilità di suddividere i dispositivi in categorie con priorità diversa, accordando il bus ai dispositivi con priorità più alta - Equità (fairness): garantire a tutti i dispositivi la possibilità di accedere al bus - Latenza: tempo dedicato all arbitraggio più basso possibile (e possibilimente sovrapposto con il tempo di trasferimento sul bus) - Complessità di realizzazione e costo Due categorie di meccanismi di arbitraggio - Centralizzato: dispositivo hardware che riceve tutte le richieste e decide chi ha l accesso - Distribuito: dispositivi collegati al bus, esiste un protocollo per cui si scambiano informazioni e ciascuno decide se è il suo turno 38
3 Vediamo: - Meccanismo centralizzato usando daisy chain - Meccanismo centralizzato usando livelli + daisy chain - Meccanismo completamente centralizzato parallelo - Meccanismo decentralizzato (e cenni a possibili varianti) 39
4 Meccanismo centralizzato usando daisy chain (già visto a proposito di interrupt) Richiesta del bus Arbitro concessione IN OUT n Idea: concessione bloccata da un dispositivo più vicino all arbitro Se si vuole garantire che dispositivo a più alta priorità non interrompa l accesso, occorre rendere dispositivi sensibili ai fronti 40
5 Per effettuare arbitraggio durante il trasferimento per risparmiare tempo, si può usare una linea aggiuntiva che permette di tenere occupato il bus Rilascio del bus Arbitro concessione Richiesta del bus IN OUT n - L arbitraggio si svolge già mentre un dispositivo ha accesso al bus, ma il dispositivo che ha la concessione del bus (e vi sta accedendo) non rilascia il bus finchè non ha finito. - Appena rilasciato il bus, l accesso avviene immediatamente da parte del dispositivo che lo ha conquistato 41
6 Valutazione meccanismo con daisy chain - priorità: legata alla posizione fisica (vince il più vicino) - equità: i dispositivi a bassa priorità possono non essere mai serviti se dispositivi a più alta priorità continuano a richiedere il bus - latenza: il tempo dedicato all arbitraggio (request-grant) dipende dalla posizione del dispositivo (tempo di propagazione segnali) limitazione velocità in funzione della lunghezza - complessità & costo: semplice da realizzare, di basso costo 42
7 Meccanismo centralizzato usando daisy chain + livelli (già visto a proposito di interrupt) Richiesta del bus livello1 Richiesta del bus livello2 Livello 1 ha priorità maggiore Arbitro Concessione liv. 1 Concessione liv n In questo caso la priorità è, nell ordine: 1, 2, 4, 3, n NB: una linea di concessione potrebbe attraversare solo i dispositivi collegati alla relativa linea di richiesta, ma è più semplice realizzare il collegamento come in figura [dal punto di vista logico, è come avere linee separate] Esercizio possibile (banale): dato lo schema ordinare i dispositivi secondo la priorità 43
8 Meccanismo centralizzato parallelo Arbitro Concessione 1 Richiesta 1 del bus n I dispositivi richiedono il bus, ciascuno con la propria linea L arbitro centralizzato sceglie uno dei richiedenti, concedendogli il bus mediante la relativa linea di concessione V A L U T A Z I O N E Vantaggio: - può utilizzare diversi algoritmi per la concessione del bus (es. priorità, round robin, ecc.) garantendo un buon compromesso tra priorità ed equità Svantaggio: - più costoso rispetto a daisy chain - può costituire il collo di bottiglia 44
9 NB: Il bus PCI utilizza un arbitraggio centralizzato: ogni dispositivo ha una linea di richiesta e di concessione. Il protocollo non specifica l algoritmo secondo cui l arbitro decide! 45
10 Un Meccanismo decentralizzato BUSY +5V Richiesta del bus IN OUT n Il pretendente master controlla IN e BUSY (Occupato): se IN non asserito: bus occupato da dispositivo a maggior priorità: il dispositivo non può diventare master, disasserisce OUT [cfr. daisy chain] se IN asserito e BUSY asserito: bus occupato da unità con minor priorità. Disasserisce OUT e questo provocherà a valle il disasserimento di IN-OUT se IN asserito e BUSY non asserito (bus libero): disasserisce OUT, asserisce BUSY e OUT, e inizia il trasferimento. E possibile vedere che alla fine si arriva ad uno stato stabile in cui un dispositivo accede al bus (quello che ha IN asserito e OUT non asserito) 46
11 Il meccanismo precedente è molto simile a daisy chain: - non equo (il più vicino vince sempre) -ma: senza arbitro: economico, più veloce, evita fallimenti dell arbitro Esistono anche altri meccanismi decentralizzati: - Es: ciascun dispositivo scrive sul bus un codice; dalla combinazione risultante, letta da ciascun dispositivo, ciascuno è in grado di sapere se è il richiedente con priorità più elevata - Es: arbitraggio distribuito con rilevamento delle collisioni (vedi rete Ethernet) 47
12 Tipi di operazioni dati Oltre ai cicli di bus ordinari (trasferimento di parola) il protocollo può prevedere diverse altre possibilità Indirizzo Indirizzo Indirizzo Operazioni con multiplexing Dati Tempo di accesso Tempo di accesso Dati lettura D scrittura D tempo Scrittura Lettura Operazioni combinate Senza multiplexing Indirizzo Dati Indirizzo Dati Master: dati in linea appena indirizzi stabili nello steso ciclo Slave: dati in linea appena indirizzi stabili e device li ha forniti Indirizzo Dati Dati Dati Trasferimento di blocco Ulteriori ritardi per arbitraggi 48
13 Vediamo un tipo di operazione Trasferimento di un blocco di parole su bus sincrono Esempio: esiste la cache e c è la necessità di prelevare un intero blocco di parole Il trasferimento riguarda 1 blocco piuttosto che una singola parola Quando inizia una lettura (o scrittura) del blocco il master del bus comunica allo slave del bus il numero di parole che devono essere trasferite Questo numero può essere ad esempio posto sulla linea dei dati Nel caso sincrono, lo slave trasferirà (o riceverà) una parola durante ogni ciclo di clock 49
14 Bus sincrono: lettura di un blocco di 4 parole [impiega 6 cicli invece di 12] T 1 T 2 T 3 T 4 T 5 T 6 T 7 CLOCK ADDR DATA COUNT INDIRIZZO DATI DATI DATI DATI MREQ RD WAIT BLOCK 50
15 Note sul trasferimento di blocchi Contemporaneamente all indirizzo viene inserito il dato count (numero di parole) sulle linee di dati Così lo slave, invece di ritornare una parola, ritorna una parola ad ogni ciclo di clock finchè non viene raggiunto il valore di count Il segnale BLOCK viene asserito per indicare che viene richiesto un trasferimento di blocco ESERCIZIO TIPICO: DIAGRAMMA A STATI (P.ES. DEL MASTER) 51
16 Nessuna Richiesta I/O Esempio di macchina a stati finiti (master) per trasferimento blocchi di 2 o 4 parole Richiesta I/O T1 - T1 + T2 -, T2 +, T3 - WAIT=0 AddrW; DataW (per Count) AddrW; DataW; MREQ; RD; BLOCK AddrW; MREQ; RD; BLOCK Count = 2 DataR T4 + T4 - WAIT=1 DataR Count = 4 DataR BLOCK T3 + DataR 52
17 Prestazioni dei sistemi di I/O Le prestazioni dei sistemi di I/O dipendono dalla velocità di trasferimento dei dati Questa velocità è espressa in MB/sec (ampiezza di banda) Nei sistemi di I/O i MB sono misurati usando la base 10 (1 MB = 10 6 byte) Ricordare che quando si parla di memoria 1 MB = 2 20 byte Ad esempio, avendo un bus a 100 MB/s, il tempo necessario per trasferire 100 MB 2 (100 MB di memoria) è: (100* bytes) / (100 *10 6 bytes/s) = 1, s [differenza spesso trascurabile] 53
18 Prefissi Promemoria Varie T Tera , G Giga M Mega K Kilo h Etto 10 1 da Deca 10 0 unità d Deci 10-2 c Centi 10-3 m Milli 10-6 µ Micro 10-9 n Nano p Pico 1 byte=8bit 2 11 = K=
19 Esercizio Si consideri il bus sincrono illustrato in precedenza, assumendo di disporre di 32 bit per le linee dati e di un clock di 200 MHz Si assuma di poter effettuare (secondo le modalità viste) tre tipi di trasferimento: - singola parola - blocchi di 2 parole - blocchi di 4 parole Tra un trasferimento e il successivo, è necessario 1 ciclo di clock di attesa Si consideri il trasferimento di 256 parole (di 32 bit): Si calcoli, per ciascuna delle tre modalità di trasferimento, il tempo di trasferimento e l ampiezza di banda (in bytes/s) raggiunta dal sistema memoria-bus Si assuma di poter disporre di una memoria arbitrariamente veloce. Trovare nello stesso caso considerato le massime prestazioni raggiungibili [in termini di tempo di trasferimento e ampiezza di banda] 55
20 Soluzione -F bus = 200 MHz T bus = 5 ns [1/(2*10 8 ) = 10/2 * 10-9 = 5 * 10-9 ] - In ogni caso, vengono trasferiti 256*4 bytes = 1024 bytes A questo punto, dal diagramma temporale si ricavano i cicli necessari per ciascun tipo di trasferimento, consentendo di ricavare i dati richiesti Trasferimento a parole: 1 parola (4 bytes) richiede 3 cicli di clock + 1 di attesa Totale: 256* 4 = 1024 cicli T trasf = 1024*5 ns = 5120 ns Larghezza di banda = (1024/5120*10-9 ) = 200 MB/s 56
21 Trasferimento a blocchi di due parole: E necessario trasferire 256/2 = 128 blocchi 1 blocco (2 parole) richiede 4 cicli di clock + 1 di attesa Totale: 128* 5 = 640 cicli T trasf = 640*5 ns = 3200 ns Larghezza di banda = (1024/3200*10-9 ) = 320 MB/s Trasferimento a blocchi di quattro parole: E necessario trasferire 256/4 = 64 blocchi 1 blocco (4 parole) richiede 6 cicli di clock + 1 di attesa Totale: 64* 7 = 448 cicli T trasf = 448*5 ns = 2240 ns Larghezza di banda = (1024/2240*10-9 ) = 457 MB/s 57
22 Se si dispone di una memoria arbitrariamente veloce, scompare nel diagramma temporale il ciclo di WAIT, quindi ciascun tipo di trasferimento richiede un ciclo in meno Si possono rifare tutti i calcoli con i nuovi numeri di cicli richiesti 58
Input/Output. bus, interfacce, periferiche
Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Lo scopo del BUS è quello d effettuare tutti i trasferimenti d informazioni tra le unità funzionali del calcolatore:
ACSO Architettura dei Calcolatori e Sistemi Operativi Struttura e funzionamento del bus Corso ACSO prof. Cristina SILVANO Politecnico di Milano Il BUS del calcolatore Il calcolatore è composto da unità
Confronto fra bus sincrono e bus asincrono: esempio.
Banda massima di trasmissione la quantità di dati che può essere trasferita in una unità di tempo oppure il numero di operazioni di I/O che possono essere eseguite in una unità di tempo Confronto fra bus
Comunicazione di I/O
Corso di Informatica 2 Prof. Sciuto Comunicazione di I/O Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano May 12th 2004 1 Nota sui termini Nelle slide che seguono
ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino
ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo G: Interfacciamento e interconnessioni Lezione n. 34 - G - 5: Protocollo a livello transazione Esempi di bus reali Interconnessioni 3
Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)
Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Capitolo 7: Input/Output Capitolo 7 Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio
ISA Input / Output (I/O) Data register Controller
ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),
Corso di Calcolatori Elettronici I
Corso di Calcolatori Elettronici I Il sistema di Input-Output Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2014-2015 Roberto Canonico Corso di Calcolatori Elettronici I A.A. 2014-2015
La gestione dell I/O (Cap. 5, Tanenbaum)
La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità
Componenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms
Esercitazioni I/O Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un elaborazione su questi, e quindi li riscrive su disco. Le tre fasi non hanno sovrapposizioni.
Il Sottosistema di Memoria
Il Sottosistema di Memoria Classificazione delle memorie Funzionalità Memoria di sola lettura (ROM) Memoria di lettura/scrittura Tecnologia Memoria a semiconduttori Memoria magnetica Memoria ottica Modalità
Architettura del calcolatore (Seconda parte)
Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly
Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)
Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Architettura degli Elaboratori (Prima Unità) [email protected] www.dit.unitn.it/~locigno/didattica/archit/02-03/index.html
La memoria - tecnologie
Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/21 Sommario!
Architettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
Un semplice commutatore a pacchetto
Realizzazione di commutatori a pacchetto: cosa c e dentro un router IP? Prof. Ing. Carla Raffaelli Un semplice commutatore a pacchetto Una workstation con schede di rete e software per ricevere pacchetti
Architettura di un elaboratore. Il modello di von Neumann
Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM
La Misura Esercizi guida con soluzioni
La misura Esercizi guida (UbiMath) - 1 La Misura Esercizi guida con soluzioni Grandezze e sistema metrico decimale Scrivi in forma di numerica e come potenza di dieci i seguenti prefissi SI. 1. mega- =
Criteri di caratterizzazione di una memoria
La memoria Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile; Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità
Architettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
LEZIONE 2 Il processore e la memoria centrale
Informatica per Igienisti Dentali LEZIONE 2 Il processore e la memoria centrale 1 Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio
La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni
La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso, misurata in base al tempo impiegato dal processore per accedere ad uno specificato indirizzo
Input/Output (Cap. 7, Stallings)
Input/Output (Cap. 7, Stallings) Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi Tutti più lenti della CPU e della RAM Necessità di avere moduli
Memoria Virtuale e I/O
Memoria Virtuale e I/O Paolo Baldan [email protected] Introduzione CPU - progettazione - prestazioni ideali Le prestazioni reali sono influenzate (pesantemente) da memoria e I/O. Memoria - gerarchie
Architettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
Livelli del sottosistema di I/O
Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente
Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario
Sistemi RAID 1 Motivazioni Concetti di base Livelli RAID Sommario 2 1 Motivazione L evoluzione tecnologica ha permesso di avere dischi sempre più piccoli e meno costosi E facile equipaggiare un sistema
Architetture dei Calcolatori Il Bus
Architetture dei Calcolatori Il Bus Ingegneria dell Automazione A.A. 2011/12 Anna Lina Ruscelli Sommario Il bus Il bus asincrono Il bus sincrono Il bus semisincrono Arbitraggio del bus Set di operazioni
Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus
Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data
