• Non ci sono risultati.

Architettura degli Elaboratori Architettura degli Elaboratori

N/A
N/A
Protected

Academic year: 2022

Condividi "Architettura degli Elaboratori Architettura degli Elaboratori"

Copied!
6
0
0

Testo completo

(1)

1 Anno Accademico 2003-2004 Architetture degli Elaboratori

Corso di Corso di

Architettura degli Elaboratori Architettura degli Elaboratori

Il livello logico digitale:

CPU e Bus

2 Anno Accademico 2003-2004 Architetture degli Elaboratori

Connessioni di una CPU Connessioni di una CPU

Linee di controllo Linee dati Linee indirizzi

Connessioni di una CPU Connessioni di una CPU

 Indirizzo: n piedini corrispondono a 2n locazioni di memoria indirizzabili (valori tipici n =16, 20, 32, 64)

 Dati: n piedini permettono di leggere/scrivere una parola di n bit con una sola operazione (valori tipici n = 8, 16, 32, 36, 64)

 Controllo: regolano il flusso e la scansione dei dati verso e dal chip. Categorie principali:

 controllo del bus

 interrupt

 arbitraggio del bus

 segnali del coprocessore

 stato

 varie

Bus (I) Bus (I)

Collegamento elettrico tra molti dispositivi Diversi bus:



Bus di sistema (Memory bus, I/O bus,CPU bus)



Bus interni al chip



Bus locali

Regole di funzionamento: protocollo del bus

CPU bus

(2)

5 Anno Accademico 2003-2004 Architetture degli Elaboratori

Bus (II) Bus (II)

Caratterizzato da linee di dati, di indirizzo e di controllo



Linee di dati: l’insieme delle linee è detto data bus. Il numero di linee (larghezza del data bus) determina il numero di bit che possono essere trasmessi alla volta: ha un impatto sulle prestazioni del sistema.



Linee di indirizzo: permettono di individuare la sorgente/

destinazione dei dati trasmessi sul data bus.



Linee di controllo: controllano l’accesso e l’utilizzo delle linee di dati e di indirizzo

6 Anno Accademico 2003-2004 Architetture degli Elaboratori

Connessioni al bus Connessioni al bus

I dispositivi hanno connessioni diverse a seconda della loro natura

Bus (II) Bus (II)

I dispositivi collegati ad un bus si dividono in



attivi (master): possono decidere di iniziare un

trasferimento, in genere sono collegati al bus per mezzo di un bus driver



passivi (slave): rimangono in attesa di richieste, in genere sono collegati per mezzo di un bus receiver



i dispositivi che si comportano sia come master che come slave (es. la CPU) sono collegati attraverso il bus

transceiver

Wired-OR: OR booleano dei segnali contemporanei di richiesta di utilizzo del bus su una singola linea

Larghezza del bus Larghezza del bus



Bus “larghi” sono più costosi di quelli stretti ma offrono una banda più larga e quindi maggiore velocità di trasferimento



Maggiore velocità si ottiene aumentando la banda (più bit/trasferimento) o diminuendo il ciclo di bus (più bit/secondo)



Es. bus CPU-memoria “dual channel”

(3)

9 Anno Accademico 2003-2004 Architetture degli Elaboratori

Un esempio di Bus: PCI Un esempio di Bus: PCI

Bus PCI per la connessione dei dispositivi nei desktop 64 linee dati

66 Mhz 528 Mbyte/s Economico!

10 Anno Accademico 2003-2004 Architetture degli Elaboratori

Gerarchie di bus Gerarchie di bus

Gestire un elevato numero di periferiche con diverse prestazioni ed caratteristiche

Bus dedicati a seconda dei dispositivi connessi

Bus sincrono (I) Bus sincrono (I)

 Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli

 La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile

Bus sincrono (II) Bus sincrono (II)

 Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli

 La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile

 Vengono attivati i segnali di richiesta di accesso alla memoria e il segnale di lettura

(4)

13 Anno Accademico 2003-2004 Architetture degli Elaboratori

Bus sincrono (III) Bus sincrono (III)

 Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli

 La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile

 Vengono attivati i segnali di richiesta di accesso alla memoria e il segnale di lettura

 Segnale di attesa dei dati

14 Anno Accademico 2003-2004 Architetture degli Elaboratori

Bus sincrono (IV) Bus sincrono (IV)

 Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli

 La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile

 Vengono attivati i segnali di richiesta di accesso alla memoria e il segnale di lettura

 Segnale di attesa dei dati

 La memoria nega il wait quando i segnali sono disponibili

 Vincolo temporale per la produzione dei dati da parte della memoria:

Tmax

Tmax = T1+T2+T3/2 – TDS- TAD

Bus sincrono (V) Bus sincrono (V)

 Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli

 La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile

 Vengono attivati i segnali di richiesta di accesso alla memoria e il segnale di lettura

 Segnale di attesa dei dati

 La memoria nega il wait quando i segnali sono disponibili

 I dati sono disponibili nel terzo ciclo

Bus asincrono (I) Bus asincrono (I)

 Il bus sincrono deve adattarsi al dispositivo più lento

 Attivati i segnali di accesso alla memoria e lettura, il master attiva il segnale Master SYNchronization

(5)

17 Anno Accademico 2003-2004 Architetture degli Elaboratori

Bus asincrono (II) Bus asincrono (II)

 Il bus sincrono deve adattarsi al dispositivo più lento

 Attivati i segnali di accesso alla memoria e lettura, il master attiva il segnale Master SYNchronization

 Lo slave esegue il suo lavoro all'attivazione del segnale e quindi terminatolo attiva il segnale di Slave SYNchronization

18 Anno Accademico 2003-2004 Architetture degli Elaboratori

Bus asincrono (III) Bus asincrono (III)

 Il bus sincrono deve adattarsi al dispositivo più lento

 Attivati i segnali di accesso alla memoria e lettura, il master attiva il segnale Master SYNchronization

 Lo slave esegue il suo lavoro all'attivazione del segnale e quindi terminatolo attiva il segnale di Slave SINchronization

 I dati vengono memorizzati dal master che nega i segnali di accesso alla memoria, lettura e Master SYNchronization

Bus asincrono (IV) Bus asincrono (IV)

 Il bus sincrono deve adattarsi al dispositivo più lento

 Attivati i segnali di accesso alla memoria e lettura, il master attiva il segnale Master SYNchronization

 Lo slave esegue il suo lavoro all'attivazione del segnale e quindi terminatolo attiva il segnale di Slave SINchronization

 I dati vengono memorizzati dal master che nega i segnali di accesso alla memoria, lettura e Master SYNchronization

 Lo slave dopo aver visto la negazione del segnale di Master SYNchronization, nega a sua volta il segnale di Slave SYNchronization

Arbitraggio del bus Arbitraggio del bus

Cosa succede se più di un dispositivo richiede l'utilizzo del bus contemporaneamente?

È necessario un meccanismo di arbitraggio del bus per evitare ambiguità delle informazioni immesse sul bus stesso, sono possibili due strade:



arbitraggio centralizzato



arbitraggio decentralizzato

Meccanismo del grant

(6)

21 Anno Accademico 2003-2004 Architetture degli Elaboratori

Arbitraggio del bus Arbitraggio del bus

Arbitro centralizzato

Daisy chaining: il grant viene trasmesso lungo la linea bus grant finché un dispositivo non accetta

l'assegnamento

Vince il dispositivo più vicino

22 Anno Accademico 2003-2004 Architetture degli Elaboratori

Arbitraggio del bus Arbitraggio del bus



Due (o più) livelli di priorità



L'assegnamento segue lo stesso meccanismo del daisy chaining ma di dispositivi con priorità più alta hanno precedenza nell'assegnamento del grant da parte dell'arbitro



Linea di acknowledge



Scelta attenta delle priorità tra i vari dispositivi

Arbitraggio del bus Arbitraggio del bus



Arbitro decentralizzato



Tante linee quanti dispositivi, ogni dispositivo osserva le linee prima di effettuare la richiesta (soluzione poco flessibile ma risparmia il costo dell'arbitro)



Soluzione con tre linee, bus request, busy e linea di

arbitraggio



Più economico e più veloce del daisy chaining centralizzato

Riferimenti

Documenti correlati

Per evitare confusione (ADA è un nome, ma può essere anche un numero esadecimale; oppure: 139 potrebbe esprimere un numero in base 10 oppure 16) si usano delle

ai programmatori umani viene più naturale scrivere programmi sequenziali: una sola sequenza di istruzioni da eseguire in fila (sequenzialità = il contrario di parallelismo)

Segnali di controllo per i registri EPC, Cause, BadVAddr, e Status Possibilità di caricare PC con l’indirizzo della routine di gestione delle eccezioni. Possibilità di decrementare

case particolare: come convertire fra base 2 e base 8 o 16 Tutti i comuni algoritmi per effettuare operazioni fra numeri scritti in base 10 sono generalizzabili a base qualunque.

•  NOTA: ciascuna somma vale 0 solo per quella data combinazione degli addendi (dei valori delle variabili in input)... Dalle forme canoniche ai circuiti

  VLSI (Very Large Scale Integrated): > 100.000 porte!. Con tecnologia SSI, gli IC contenevano poche porte, direttamente collegate ai

•  Set deve essere ridiretto verso la 1-bit ALU che fornirà in output il bit meno significativo del risultato!. Il blocco che controlla lʼoverflow lo fa sulla

  ogni passo da eseguire in un ciclo di clock (ciclo più corto rispetto alla CPU a ciclo singolo)!..   importante il bilanciamento della quantità di