• 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!
3
0
0

Testo completo

(1)

Matteo Baldoni Architetture degli Elaboratori 1

Corso di Corso di

Architettura degli Elaboratori Architettura degli Elaboratori

Il livello logico digitale:

CPU e Bus

Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 – I-10149 Torino [email protected] http://www.di.unito.it/ ~baldoni

Matteo Baldoni Architetture degli Elaboratori 2

Esempio di una CPU Esempio di una CPU

Indirizzo: n piedini

corrispondono a 2n locazioni di memoria indirizzabili (valore tipico: 16, 20, 32, 64)

Dati: n piedini corrispondono a n dati letti/scritti in una sola operazione (8, 16, 32, 36, 64) Controllo:

 controllo del bus

 interrupt

 arbitraggio del bus

 segnali del coprocessore

 stato

 varie

Matteo Baldoni Architetture degli Elaboratori 3

Bus Bus

 Per portare i dati da e verso l'ALU (bus interno)

 Per collegare la CPU alla memoria centrale e ai dispositivi di I/O (bus esterno):

 Attualmente un bus dedicato tra CPU e memoria (desktop attuali: 400 MHz) e

 un bus dedicato solo per collegare i dispositivi (es. standard PCI, 33 MHz, standard ISA, 8.33 MHz)

Matteo Baldoni Architetture degli Elaboratori 4

Bus Bus

 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 tranceiver

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

(2)

Matteo Baldoni Architetture degli Elaboratori 5

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”

Matteo Baldoni Architetture degli Elaboratori 6

Bus sincrono Bus sincrono

 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

I dati sono disponibile nel terzo ciclo 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 dati sono disponibili

Matteo Baldoni Architetture degli Elaboratori 7

Bus asincrono Bus asincrono

 Il bus sincrono deve adattarsi al dispositivo più lento

Attivati i segnali di accesso alla memoria e lettura, 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 maser synchronization

Lo slave dopo aver visto la negazione del segnale di master synchronization, nega a sua volta il segnale di slave synchronization

Matteo Baldoni Architetture degli Elaboratori 8

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

(3)

Matteo Baldoni Architetture degli Elaboratori 9

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

Matteo Baldoni Architetture degli Elaboratori 10

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

Matteo Baldoni Architetture degli Elaboratori 11

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

sono sempre fra parole di 32 bit, con risultato a 32 bits (non ci sono op che scrivono solo su una parte di un registro) (ci sono op che scrivono due registri insieme: HI e LO)

•  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