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

Testo completo

(1)

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

Architetture degli Elaboratori 2

Connessioni di una CPU Connessioni di una CPU

Linee di controllo Linee dati

Linee indirizzi

Architetture degli Elaboratori 3

Connessioni di una CPU Connessioni 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

Architetture degli Elaboratori 4

Connessioni al bus Connessioni al bus

I dispositivi hanno connessioni diverse a seconda della loro natura

(2)

Architetture degli Elaboratori 5

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 -> 66 MHz, standard ISA, 8.33 MHz)

Architetture degli Elaboratori 6

Gerarchie di bus Gerarchie di bus

Gestire un elevato numero di periferiche con diverse prestazioni ed

caratteristiche

Bus dedicati a seconda dei dispositivi connessi

Architetture degli Elaboratori 7

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!

Architetture degli Elaboratori 8

Dispositivi attivi e passivi Dispositivi attivi e passivi

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

(3)

Architetture degli Elaboratori 9

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”

Architetture degli Elaboratori 10

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

Architetture degli Elaboratori 11

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

Architetture degli Elaboratori 12

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

(4)

Architetture degli Elaboratori 13

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

Architetture degli Elaboratori 14

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

Architetture degli Elaboratori 15

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)

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.

Hit Rate (tasso di successo): numero di accessi a memoria che trovano il dato nel livello superiore sul numero totale di accessi Hit Time (tempo di successo): tempo per accedere

•  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