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

Testo completo

(1)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Corso

Corso di di

Architettura degli Elaboratori Architettura degli Elaboratori

a.a. 2005/2006 a.a. 2005/2006

Il bus

Matteo Baldoni (con modifiche di Susanna Donatelli) Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 – I-10149 Torino Baldoni/susi@di.unito.it http://www.di.unito.it/~baldoni(~susi)

(2)

Connessioni

Connessioni di di una una CPU CPU

Linee di controllo Linee dati

Linee indirizzi

(3)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Connessioni

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

(4)

Bus Bus

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

(5)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Bus Bus

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)

Connessioni

Connessioni al bus al bus

I dispositivi hanno

connessioni diverse a

seconda della loro natura

ATTENZIONE: le

connessioni in figura sono logiche e non fisiche

(7)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Dispositivi attivi

Dispositivi attivi e e passivi 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

(8)

Ampiezza del bus

Bus clocking

Arbitraggio

(9)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Larghezza

Larghezza del bus 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”

(10)

Bus Bus sincrono 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

(11)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Bus Bus sincrono 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

Vengono attivati i segnali di

richiesta di accesso alla memoria e il segnale di lettura

(12)

Bus Bus sincrono 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

Vengono attivati i segnali di

richiesta di accesso alla memoria e il segnale di lettura

Segnale di attesa dei dati

(13)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Bus Bus sincrono 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

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

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

la produzione dei dati da parte della memoria

Tmax

(14)

Bus Bus sincrono 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

(15)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Bus Bus asincrono asincrono

Il bus sincrono deve

adattarsi al dispositivo più lento

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

(16)

Bus Bus asincrono 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

(17)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Bus Bus asincrono 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 Master SYNchronization

(18)

Bus Bus asincrono 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 Master SYNchronization

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

(19)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Arbitraggio

Arbitraggio del bus 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

(20)

Arbitraggio

Arbitraggio del bus del bus

Arbitro centralizzato

Daisy chaining: (collegamento a festone) il grant viene trasmesso lungo la linea bus grant finché un dispositivo non accetta l'assegnamento

Vince il dispositivo più vicino

(21)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Arbitraggio

Arbitraggio del bus 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 Scelta attenta delle priorità tra i vari dispositivi: spesso non dipende dalla loro velocita’, ma dalla possibilita’ o meno che il dispositivo aspetti

(22)

Arbitraggio

Arbitraggio del bus del bus

Arbitro decentralizzato (acquisizione: se Busy e’ negato e IN e’

asserito, si nega OUT e si asserisce Busy e OUT e si inizia il trasferimento;

rilascio: si nega busy e si copia il valore IN in OUT)

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

(23)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Interruzioni Interruzioni

Quando un dispositivo termina la lettura/scrittura, chiede l’attenzione della cpu “alzando” un interruzione

Se ci sono molti dispositivi le linee di interruzione del bus non bastano Æ uso di chip di interrupt controller

(24)

Indirizzamento dei dispositivi Indirizzamento dei dispositivi

Dispositivi indirizzabili:

EPROM o ROM per il programma (2K x 8 byte)

RAM (2K x 8 byte)

Chip di I/O parallelo (devo indirizzare tre porte

Posso indirizzare:

esplicitamente il dispositivo (usando una linea di bus dedicata)

oppure assegno al dispositivo un indirizzo analogo a quelli della memoria (I/O mappato in memoria)

8000H = 1000 0000 0000 0000 = 100000K

FFFCH = ultimi 4 indirizzi (FFFCH, FFFDH, FFFEH, FFFFH)

(25)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Decodifica

Decodifica totale totale dell dell ’ ’ indirizzo indirizzo

(26)

Decodifica

Decodifica parziale parziale

dell dell ’ ’ indirizzo indirizzo

(27)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Il bus ISA Il bus ISA

( ( Industry Standard Architecture) Industry Standard Architecture)

(28)

Un Un esempio esempio di bus: PCI di bus: PCI

Bus PCI per la connessione dei

dispositivi nei desktop 64 linee dati

66 Mhz

528 Mbyte/s Economico!

(29)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Organizzazione recente dei

Organizzazione recente dei bus bus

Gerarchia di bus collegati tra di loro da bridge per soddisfare diverse necessità di velocità di trasferimento e compatibilità con gli standard

North bridge e South bridge (bridge PCI-ISA)

AGP (accelerated graphics port), PCI (peripheral

componet interconnect,

periferiche ad alta velocità), EIDE (enhanced integrated device electronics), USB (universal serial bus)

(30)

AGP (

AGP ( Accelerated Graphics Port Accelerated Graphics Port ) bus ) bus

La maggior parte delle periferiche di un elaboratore si è appoggiato sino ad ora al bus di tipo PCI (1992)

Le richieste di trasferimento di grandi quantitativi di dati per l'elaborazione da parte di applicazioni 3D (giochi, elaborazioni video, etc.) ha reso presto obsoleto il PCI soprattutto per il

collegamento di schede video con grassa capacità di calcolo Intel introduce (2000) il bus AGP (in realtà un collegamento dedicato punto a punto) liberando il bus PCI del compito di

gestire la scheda video e responsabile della maggior parte del carico

(31)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Gerarchie

Gerarchie di bus di bus

Gestire un elevato numero di periferiche con diverse prestazioni ed caratteristiche

Bus dedicati a seconda dei dispositivi connessi

Architettura di uno dei primi Pentium.

I bus piu’

spessi hanno piu’ banda (ma la figura non e’

in scala)

(32)

Gerarchie

Gerarchie di bus (II) di bus (II)

Architettura a bus

del Pentium 4

(33)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Da Da bus bus paralleli paralleli a a seriali seriali

AGP, come tutti i bus precedentemente sviluppati (ISA, EISA, PCI), sono basati sulla trasmissione parallela dei bit che compongono una unità informatica (es. parola di 32 bit)

La trasmissione parallela è comunemente accettata come il modo più semplice di rendere veloce una trasmissione di dati, soprattutto se paragonata alla trasmissione seriale (1 bit alla volta)

Recentemente si stanno però affermando standard di trasmissioni basati sul trasferimento seriale (USB, USB 2.0, Serial ATA, PCI Express)

(34)

PCI Express PCI Express

PCI Express bus è

destinato a sostituire i bus PCI e AGP

Basato sul trasferimento seriale dei dati (1 bit alla

volta) piuttosto che parallelo come sui bus PCI e AGP

Trasferimenti di 250 MB/s (x1) fino a oltre 8000 MB/s (x32) contro 133 MB/s del PCI e 2133 MB/s dell'AGP (8x)

Collegamento punto a punto (point to point) e a pacchetti (come reti a stella)

(35)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Tipica configurazione

Tipica configurazione PCI PCI - - express

express

(36)

Da Da bus bus paralleli paralleli a a seriali seriali

La progettazione e la

realizzazione di cavi per la trasmissione parallela è più complessa come la loro installazione

all'interno di un elaboratore

Un cavo seriale è più

semplice da realizzare e non ostruisce la

ventilazione interna

(37)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Da Da bus bus paralleli paralleli a a seriali seriali

Problemi per i bus parelleli:

Interferenza

elettromagnetica: i collegamenti si comportano come

antenne che catturano il rumore dell'ambiente

Ritardo della

propagazione dei segnali:

i bit, sebbene trasmessi contemporaneamente non arrivano nello stesso

momento

(38)

Da Da bus bus paralleli paralleli a a seriali seriali

Nella trasmissione seriale Interferenza

elettromagnetica: è

relativamente semplice schermare in modo

adeguato una coppia di fili (collegamento più terra) ancichè 32 o più

Ritardo della

propagazione dei segnali:

non esiste necessità di sincronizzazione

Più facile progettare connessione con alte

(39)

Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori

Da Da bus bus paralleli paralleli a a seriali seriali

Half-duplex vs Full-duplex La comunicazione

parallela è in generale

half-duplex mentre quella seriale full-duplex

Poichè servono solo una coppia di collegamenti per la seriale è estremamente conveniente e semplice

collegare dispositivi con 4 collegamenti perchè si possa trasmettere e

ricevere contemporanea- mente

(40)

Serial ATA (SATA) Serial ATA (SATA)

Nuovo standard seriale (in realtà del 2000) per la

connessione di dispositivi hard disk alla scheda

madre anzichè la

convenzionale IDE/EIDE parallela

Permette di raggiungere anche 300 MB/s contro i 133 MB/s delle più recenti IDE/EIDE

Riferimenti

Documenti correlati

•  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

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)