Sei sulla pagina 1di 63

Calcolatori Elettronici

Parte V: Microprocessori e Bus


Prof. Riccardo Torlone
Universita di Roma Tre
Anno Accademico 2011/2012
Riccardo Torlone - Corso di Calcolatori Elettronici 2
Pinout Logico di un Micro-Processore
Riccardo Torlone - Corso di Calcolatori Elettronici 3
Architettura a pi Bus
Diversi bus, interni ed esterni al chip
Soddisfano diverse esigenze:
Velocit di trasferimento
Numero di linee
Compatibilit allindietro
Negli attuali PC almeno tre bus esterni
Riccardo Torlone - Corso di Calcolatori Elettronici 4
Comunicazione sul Bus
La comunicazione sul bus regolata da un protocollo di bus
In ciascun ciclo comunicano due soli dispositivi il master e lo
slave
Lo stesso dispositivo pu avere ruoli diversi a seconda dei casi
I dispositivi sono connessi al bus tramite un bus transceiver
La connessione al bus o avviene tramite dispositivi a tre stati
oppure di tipo open collector
Riccardo Torlone - Corso di Calcolatori Elettronici 5
Larghezza del Bus
Larghezza = numero di linee
Linee indirizzo: dimensione dello spazio (di memoria) indirizzabile,
2
n
locazioni con n bit di indirizzo
Linee dati + velocit di trasmissione: banda di trasferimento
Condivisione di pi segnali sulla stessa linea per diminuire i costi
Problema: al crescere della velocit del bus aumenta il bus skew
(differenza nella velocit di propagazione dei segnali su linee
diverse)
Riccardo Torlone - Corso di Calcolatori Elettronici 6
Segnali asseriti e negati
In alcuni casi (a seconda delle scelte di progetto) un segnale
provoca lazione corrispondente quando la sua tensione
alta (1), in altri quando bassa (0).
Per evitare confusione si parla di:
Segnale asserito: quando assume il valore (alto o basso)
che provoca lazione
Segnale negato: altrimenti
Si adotta la seguente notazione:
S: segnale che asserito alto
S: segnale che asserito basso
Ulteriore notazione (usata da Intel):
S: segnale che asserito alto
S#: segnale che asserito basso
(adatta al set di caratteri ASCII)
Riccardo Torlone - Corso di Calcolatori Elettronici 7
Bus Sincroni: ciclo di lettura
T=10 nsec
Riccardo Torlone - Corso di Calcolatori Elettronici 8
Bus Sincrono: Temporizzazione
ES
Frequenza 100 MHz, periodo 10 nsec.
primo vincolo: tempo a disposizione della memoria fra:
a) la comparsa dellindirizzo sul Bus
b) la disponibilit dei dati sul Bus

1
= 2.5 T T
AD
T
DS
= 25 3 3 = 19 nsec
(una memoria da 10 nsec ce la fa di sicuro)
secondo vincolo: tempo a disposizione della memoria fra:
a) lasserzione di MREQ e RD
b) la disponibilit dei dati sul Bus

2
= 2 T T
M
T
DS
= 20 3 2 = 15 nsec
Se il chip di memoria non soddisfa questi requisiti mantiene
asserito il segnale di WAIT per introdurre stati di wait, cio
cicli di bus addizionali.
Riccardo Torlone - Corso di Calcolatori Elettronici 9
Bus Asincrono: ciclo di lettura
Accoppiamento di dispositivi con velocit diverse
Gli eventi avvengono in risposta ad altri eventi
Full handshake:
a) MSYN asserito
b) SSYN asserito in risposta a MSYN
c) MSYN negato in risposta a SSYN
d) SSYN negato in risposta alla negazione di MSYN
Riccardo Torlone - Corso di Calcolatori Elettronici 10
Arbitraggio del Bus
Permette di decidere quale dispositivo sar il prossimo Bus
Master risolvendo eventuali conflitti
Spesso larbitro nel chip del P
Linea di richiesta condivisa
Il Bus grant propagato dallarbitro prima dellinizio del ciclo
Viene intercettato dal futuro master
NB: Favoriti i dispositivi situati vicino allarbitro
Riccardo Torlone - Corso di Calcolatori Elettronici 11
Livelli Multipli di priorit
Diverse linee di richiesta associate a diversi livelli di priorit
In caso di conflitto favorite le catene a priorit pi alta
Allinterno di ciascuna catena vale la posizione
In genere se c un solo bus con anche la memoria, la CPU ha
priorit pi bassa dei dispositivi di I/O (e.g. dischi)
Riccardo Torlone - Corso di Calcolatori Elettronici 12
Arbitraggio Decentralizzato
Quando nessun dispositivo vuole il Bus, la linea di arbitraggio
asserita con propagazione a tutti i dispositivi
Quando un dispositivo vuole il Bus:
invia una richiesta di bus
verifica se il bus libero
se In asserito diventa master, nega Out e asserisce Busy
se In non asserito non diventa master e nega Out
Non necessita di arbitro, pi semplice e pi veloce
Riccardo Torlone - Corso di Calcolatori Elettronici 13
Block Transfers
Usato per trasferire blocchi di dati
Numero di parole specificato durante T
1
Dopo la prima viene trasferita una parola ogni ciclo (invece di
una ogni tre cicli)
Per leggere quattro parole occorrono 6 cicli invece di 12
Il segnale BLOCK viene asserito per chiedere un block transfer
Riccardo Torlone - Corso di Calcolatori Elettronici 14
Gestione delle Interruzioni
Chip controllore di interruzioni
Gestisce 8 linee di interrupt
INT: interruzione inviata alla CPU
INTA: acknowledge della CPU
Numero del dispositivo sul bus
Il numero viene usato come indice di un vettore di interrupt
IR0-IR7: linee di interrupt
Il vettore di interrupt usato dalla CPU per invocare la relativa procedura
Registri allinterno del chip scrivibili dalla CPU per programmare il
controller
Riccardo Torlone - Corso di Calcolatori Elettronici 15
Il Pentium IV
55 milioni di transistor, integrazione: 0.09 micron
Architettura a 32 bit compatibile con i predecessori
Aritmetica Floating-point IEEE 754
Bus di memoria a 64 bit
Architettura: NetBurst (superscalare + pipeline)
Cache 1
o
livello 8KB dati + 12KB istruzioni
Cache 2
o
livello da 256 KB a 1 MB nella scheda
EE ha anche cache 3
o
livello da 2 MB
Scheda con 478 pin (diversa dai predecessori)
Dissipa da 63 a 85W
Riccardo Torlone - Corso di Calcolatori Elettronici 16
Pentium II: Pinout Logico
Riccardo Torlone - Corso di Calcolatori Elettronici 17
Pentium II: Pinout Logico (2)
478 piedini
198 per i segnali (alcuni duplicati, 56 in tutto)
85 connessioni di alimentazione
180 connessioni di massa
15 per uso futuro
Indirizzi a 36 bit (64 GB), ma sempre in blocchi di 8 byte (solo
33 bit di indirizzo)
64 linee dati; segnali: D# (dati), DRDY# (data ready), DBSY#
(data busy)
Segnali di Snoop per la coerenza di cache
Gestione delle interruzioni sia come l8088 che con APIC
(Advanced Programmable Interrupt Controller)
VID: per la scelta della tensione
Power Management: permette di mettere la CPU in stato di
sleep e deep sleep (5 stati in tutto)
11 linee di diagnosi secondo lo standard IEEE 1149.1 JTAG
Riccardo Torlone - Corso di Calcolatori Elettronici 18
Pentium II: Memory Bus
Bus gestito con pipelining: possibile sovrapporre pi transazioni
Fasi di una transazione (usano gruppi di linee indipendenti):
1) Bus arbitration phase (non mostrata)
2) Request phase
3) Error reporting phase
4) Snoop phase
5) Response phase
6) Data phase
Non sempre si usano tutte le fasi
Riccardo Torlone - Corso di Calcolatori Elettronici 19
Sun Ultra Sparc III
Architettura RISC a 64 bit (SPARC V9)
Superscalare e pipelined
Target: sistemi multiprocessore a
memoria condivisa
Compatibile con SPARC V8 a 32 bit
Fino a 29 milioni di transistor
Integrazione: 0,13 micron
Frequenze fino a 1.2 GHz
Scheda con 1368 piedini
Cache L1 interna 32 KB + 64 KB
Cache L2 esterna (off chip) da 1 a 8 MB
Connessione con cache L2 a 256 bit
Memory bus di 128 bit a 150 Mhz
Indirizzi da 43 bit (fino a 8TB di
memoria)
Riccardo Torlone - Corso di Calcolatori Elettronici 20
Sun Ultra Sparc III
Riccardo Torlone - Corso di Calcolatori Elettronici 21
Ultra Sparc III: gestione di cache
Blocchi di cache da 64 byte: in tutto 256+256 blocchi nelle due
cache L1
Su una cache L1 miss la CPU cerca in L2
Altri blocchi di cache sono conservati anche nella parte data della
cache L2
La parte tag permette alla CPU di sapere se un certo blocco e in
cache L2, e dove
Occorrono 4 cicli per trasferire un blocco (64 byte = 512 bit) da
L2 a L1 (128 linee dati = trasferimenti da 16 byte)
Se c una cache miss anche in L2 allora viene avviata dalla CPU
una lettura tramite UPA (Ultra Port Architecture)
La UPA gestisce due code di transazioni indipendenti (letture e
scritture)
La UDBII (Ultra Sparc Data Buffer) consente di disaccoppiare
CPU e momoria
Prevista la gestione della coerenza di cache nel caso di CPU
multiple
Riccardo Torlone - Corso di Calcolatori Elettronici 22
8051
Per applicazioni embedded
60.000 transistor
Frequenze <100 Mhz
ROM da 4-8KB
Memoria esterna opzionale
Riccardo Torlone - Corso di Calcolatori Elettronici 23
8051
Scheda con 40 pin:
16 per gli indirizzi
64KB di memoria
8 per i dati
5 per il controllo dei
trasferimenti CPU/
memoria
32 per lI/O
2 per timer
2 per le interruzioni
2 per comunicazioni
seriali
1 per il reset
Riccardo Torlone - Corso di Calcolatori Elettronici 24
Il Bus ISA del PC/AT
ISA (Industry Standard Architecture) derivato dal bus del PC/AT
Compatibile con il bus del PC a 62 linee
62+36 linee: 16 dati e 24 indirizzi
Edge Connectors (molto economici)
Tutt'oggi presente in tutti i PC per luso di schede legacy
Estensione EISA di poco successo
Sincrono a 8.33 MHz: 16.7 MB/sec
Riccardo Torlone - Corso di Calcolatori Elettronici 25
Il Bus PCI: architettura complessiva
Riccardo Torlone - Corso di Calcolatori Elettronici 26
Bus PCI con Pentium IV
Riccardo Torlone - Corso di Calcolatori Elettronici 27
BUS AGP
AGP (Accelerated Graphic Port): nuovo bus espressamente
dedicato per le schede grafiche;
Il bus prevede la presenza di un nuovo slot con un
connettore diverso da quello PCI sulla scheda madre;
Il protocollo prevede la presenza di un solo dispositivo;
A differenza del PCI, adotta una tecnica di pipeling;
Funzionamento:
modalit 1x (AGP 1.0): 66 MHz, banda 264 Mbyte/s.
modalit 2x: sfrutta sia il fronte di salita del ciclo di
clock, che quella di discesa; frequenza virtuale di 133
MHz e banda di 532 Mbyte/s.
modalit 8x (AGP 3.0): 2.1 GB/sec
Le schede AGP adottano il sistema Direct Memory Execute
(DIME) che consente al controller di svolgere elaborazioni
usando la memoria principale
Riccardo Torlone - Corso di Calcolatori Elettronici 28
Schede e slot PCI
Riccardo Torlone - Corso di Calcolatori Elettronici 29
Il Bus PCI: specifiche
PCI (Peripheral Component Interconnect)
Introdotto da Intel per applicazioni video
Video 10247683 Byte a 30 frame/sec richiede una banda di
almeno 67.5 MB/sec
Standard non proprietario, adottato da molti
Versione base a 32 bit, 33 MHz: 133 MB/sec
Estensione a 64 bit e 66 MHz: 528 MB/sec
Memory Bus separati (pi veloci)
Connessione tramite chip PCI bridge
Varie opzioni di tensione (5 V e 3.3 V)
Schede con 120 e 120+64 contatti
Bridge ISA (include doppio controller IDE)
Controllori addizionali SCSI e USB
Bus sincrono, transazioni tra initiator e target
Linee indirizzo e dati condivise
Riccardo Torlone - Corso di Calcolatori Elettronici 30
Il Bus PCI: arbitraggio
Arbitraggio centralizzato (nel Bridge)
Ogni PCI device ha due linee dedicate
Il dispositivo fa la richiesta tramite REQ#
Il grant viene concesso tramite GNT#
Diversi algoritmi di arbitraggio:
Round Robin
Priorit
Altro
Transazioni su pi cicli separate da cicli di idle
Riccardo Torlone - Corso di Calcolatori Elettronici 31
Il Bus PCI: Segnali Obbligatori
Riccardo Torlone - Corso di Calcolatori Elettronici 32
Il Bus PCI: Segnali Opzionali
Riccardo Torlone - Corso di Calcolatori Elettronici 33
Bus PCI: Segnali
Bus a 120 o 180 linee
Oltre ai segnali sono distribuiti anche alimentazioni e
masse
32(+32) linee AD condivise tra dati e indirizzo con 1(+1)
bit di parit PAR
C/BE# (in cicli diversi) invia comandi e specifica quanti e
quali byte sono validi
FRAME# e IRDY (lettura) usati dal master
DEVSEL# e TRDY# usati dallo slave
IDSEL indirizza lo spazio di configurazione di un dispositivo
invece che la memoria (usato per gestire il Plug and Play)
STOP# e PERR# segnalano errori
RST# induce un reset nella CPU e in tutti i device sul bus
SBO e SDONE segnali di cache snooping
Riccardo Torlone - Corso di Calcolatori Elettronici 34
Bus PCI: Transazioni
In T1 il master invia lindirizzo su AD e il comando su C/BE#
Poi asserisce FRAME# e poi IRDY#
In T2 C/BE# specifica quali byte leggere
In T3 lo slave asserisce DEVSEL# e quando i dati sono su AD asserisce
TRDY#
Tra due transazioni c un ciclo di idle
La transazione di scrittura pi compatta
Riccardo Torlone - Corso di Calcolatori Elettronici 35
PCI express
Linea di tendenza nei bus:
bypassare il bus PCI nel caso di periferiche veloci
usare slot pi piccole
Soluzione: PCI express
Connessione punto-a-punto
Riccardo Torlone - Corso di Calcolatori Elettronici 36
Caratteristiche PCI express
Trasmissione seriale
Trasferimenti come in una rete di computer:
dati in pacchetti (header + payload + CRC)
maggiore lunghezza dei cavi
plug-and-play
connettori pi piccoli
Banda: attualmente 8 Gbps (ver. 3.0)
Controllo del flusso sulla base delle dimensioni dei buffer
4 spazi di indirizzamento:
Memoria
I/O
Configurazione
Messaggi
Riccardo Torlone - Corso di Calcolatori Elettronici 37
PCI Express Protocol Stack
Trasmissione basata su protocollo multi-layer lungo coppie
di corsie (lane)
Codifica: 8b/10b
Un meccanismo di acknowledgment garantisce maggiore
affidabilit
Il software layer garantisce:
la gestione dei pacchetti
la compatibilit con il passato
Riccardo Torlone - Corso di Calcolatori Elettronici 38
Bus USB (Universal Serial Bus)
Bus economico concordato da varie aziende per la gestione
di dispositivi di I/O a bassa velocit (~ 1995)
Obiettivi:
1) Evitare switch, jumpers
2) Installazione di tipo esterno
3) Cavo di connessione unificato
4) Alimentazione fornita dal cavo
5) Fino a 127 dispositivi collegabili
6) Supporto di dispositivi real-time
7) Installazione a PC acceso
8) Reboot non necessario
9) Bus e dispositivi economici
Tutti gli obiettivi sono di fatto rispettati
Riccardo Torlone - Corso di Calcolatori Elettronici 39
USB: Specifiche Fondamentali
Banda complessiva
USB 1.x: 1.5 12 Mb/sec
USB 2.0: 480 Mb/sec
USB 3.0: 5 Gb/sec
Interfacce: UHCI, OHCI, EHCI
Root hub di connessione al bus PCI
Connessione di dispositivi e di altri hub
Struttura complessiva ad albero
Connettori ai capi del cavo diversi
Cavo a 4 fili: +5V, GND, 2 di segnale
Alla connessione di un dispositivo:
Interrupt: intervento del SO
Richiesta di banda
Assegnazione di indirizzo
Indirizzo 0 usato per inizializzazione
Logicamente: connessione dedicata tra root hub e ciascun device
Competitor: FireWire IEEE 1394 serial bus (400 Mb/sec)
Riccardo Torlone - Corso di Calcolatori Elettronici 40
USB: Struttura dei Frame
Frame emessi ogni 1.000.05 msec
Idle frame se non c comunicazione
Contenuto del frame:
SOF: Start of Frame
IN / OUT: richiesta in lettura/scrittura
DATA: payload fino a 64 byte pi controllo e codice di errore
ACK / NACK: acknowledge o errore
Polling usato invece delle interruzioni
Riccardo Torlone - Corso di Calcolatori Elettronici 41
Chip di I/O: UART, USART e PIO
UART (Univ. Async. Rec. Transm.)
USART ( Sync. Async. )
Usati in interfacce parallelo/seriale
PIO (Parallel Input/Output)
Configurabile dalla CPU
3 porte indipendenti da 8 bit con latch
La CPU legge e scrive direttamente nelle porte
Possibile gestire anche semplici protocolli di handshaking CPU-device
Per gestire dispositivi TTL-compatibili
Riccardo Torlone - Corso di Calcolatori Elettronici 42
Decodifica degli Indirizzi
Spazio separato di I/O, oppure unico spazio (Memory-
Mapped I/O)
Alcuni indirizzi riservati alle porte di I/O
Problema: ricavare i segnali di chip select
ES
EPROM: 0-2K 0000 0000 0000 0000
0000 0111 1111 1111
RAM: 32K-34K 1000 0000 0000 0000
1000 0111 1111 1111
PIO: FFFC-FFFF 1111 1111 1111 1100
1111 1111 1111 1111
Riccardo Torlone - Corso di Calcolatori Elettronici 43
Decodifica Completa
Riccardo Torlone - Corso di Calcolatori Elettronici 44
Decodifica Parziale
Riccardo Torlone - Corso di Calcolatori Elettronici 45
Architettura, pittura, arte,
Riccardo Torlone - Corso di Calcolatori Elettronici 46
Tocca a voi
Esercizio su BUS
Con riferimento al funzionamento dei bus di un calcolatore:
tracciare e illustrare il diagramma di temporizzazione di un
bus sincrono a 40 Mhz con linee condivise per dati e
indirizzi e segnali di MREQ, RD e WAIT, per una lettura da
una memoria con un tempo di risposta di 40 nsec dal
momento in cui gli indirizzi sono disponibili
tracciare e illustrare il diagramma di temporizzazione di un
di bus asincrono con linee separate per dati e indirizzi e
segnali di MREQ, RD, MSYN e SSYN, per una lettura da
una memoria con un tempo di risposta di 50 nsec dal
momento in cui gli indirizzi sono disponibili
Si assuma in entrambi i casi di lavorare in condizioni ideali
(nessun ritardo nell'asserimento dei segnali)
Soluzione esercizio su BUS sincrono
MREQ
AD
RD
T1 T2 T3 T4 T5
Turnaround
Address Data
WAIT
(25 nsec)
Soluzione esercizio su BUS asincrono
50 nsec
ADDRESS
MREQ
RD
MSYN
DATA
SSYN
Indirizzo
Dati
Esercizio su BUS
Con riferimento al funzionamento dei bus di un calcolatore:
tracciare e illustrare il diagramma di temporizzazione di un
bus sincrono che lavora alla frequenza di 50 Mhz, per una
lettura da una dispositivo I/O con un tempo di risposta di
100 nsec;
tracciare e illustrare il diagramma di temporizzazione di un
bus asincrono per una scrittura in una memoria con un
tempo di risposta di 30 nsec;
indicare brevemente (mezza pagina al massimo) le
differenze principali tra bus PCI e bus PCI express.
Riccardo Torlone - Corso di Calcolatori Elettronici 50
Esercizio su BUS
Si consideri un bus di memoria per una CPU a 32 bit che
lavora a 500Mhz e funziona in pipeline.
individuare una ragionevole decomposizione di una
transazione (trasferimento di dati tra CPU e memoria)
facendo riferimento alle relative linee del BUS;
indicare mediante un diagramma la temporizzazione dei
segnali sul BUS secondo le scelte fatte al punto
precedente;
dire in che cosa consiste il problema del bus skew e come
possibile ovviare a questo problema.
Esercizio sullarbitraggio di bus
Riferendosi agli schemi di arbitraggio dei bus discussi a lezione,
indicare le affermazioni esatte tra le seguenti.
Nell'arbitraggio decentralizzato non necessaria la linea che
segnala l'occupazione del bus.
Nell'arbitraggio centralizzato possibile cambiare i livelli di
priorit via software.
Nell'arbitraggio centralizzato non possibile che due dispositivi
si prenotino contemporaneamente asserendo la linea di request.
Nell'arbitraggio decentralizzato ai fini delle attese la posizione
fisica dei dispositivi comunque ininfluente.
Nell'arbitraggio centralizzato a pi livelli di priorit un dispositivo
pu dover attendere un tempo indefinitamente lungo.
Per motivi di imparzialit l'arbitro sempre un dispositivo
diverso ed esterno al microprocessore.
La priorit dei dispositivi di I/O generalmente pi alta della
CPU.
FALSO
VERO
FALSO
FALSO
FALSO
VERO
FALSO
Esercizio sullarbitraggio di bus
Riferendosi agli schemi di arbitraggio dei bus discussi a lezione,
indicare le affermazioni esatte tra le seguenti.
@NO Nell'arbitraggio decentralizzato non necessaria la linea che
segnala l'occupazione del bus.
@NO Nell'arbitraggio centralizzato possibile cambiare i livelli di
priorit via software.
@NO Nell'arbitraggio centralizzato non possibile che due
dispositivi si prenotino contemporaneamente asserendo la linea di
request.
@NO Nell'arbitraggio decentralizzato ai fini delle attese la posizione
fisica dei dispositivi comunque ininfluente.
@SI Nell'arbitraggio centralizzato a pi livelli di priorit un
dispositivo pu dover attendere un tempo indefinitamente lungo.
@NO Per motivi di imparzialit l'arbitro sempre un dispositivo
diverso ed esterno al microprocessore.
@SI La priorit dei dispositivi di I/O generalmente pi
alta della CPU.
Esercizio sui protocolli di bus
Considerando i protocolli di bus discussi a lezione, indicare le
affermazioni esatte tra le seguenti.
Nel protocollo sincrono, il trasferimento dei dati tra ogni coppia
master-slave avviene sempre in un prestabilito ciclo di clock.
In una operazione di lettura da memoria in un bus sincrono, il
segnale di memory request asserito dal master.
Nel protocollo sincrono non possibile che le linee dati e indirizzi
siano condivise.
I block transfer aumentano la banda del bus perch consentono
di trasmettere dati tra lo stesso master e pi slave.
Nel protocollo asincrono il segnale di master synchronization
viene negato in risposta a slave synchronization, dopo la lettura
dei dati.
Nel protocollo asincrono il segnale di slave synchronization viene
negato in risposta all'asserzione di master synchronization.
Un segnale asserito basso negato quando a V
cc
.
FALSO
VERO
VERO
FALSO
FALSO
VERO
FALSO
Esercizio sui protocolli di bus
Considerando i protocolli di bus discussi a lezione, indicare le
affermazioni esatte tra le seguenti.
@NO Nel protocollo sincrono, il trasferimento dei dati tra ogni
coppia master-slave avviene sempre in un prestabilito ciclo di clock.
@SI In una operazione di lettura da memoria in un bus sincrono, il
segnale di memory request asserito dal master.
@NO Nel protocollo sincrono non possibile che le linee dati e
indirizzi siano condivise.
@NO I block transfer aumentano la banda del bus perch
consentono di trasmettere dati tra lo stesso master e pi slave.
@SI Nel protocollo asincrono il segnale di master synchronization
viene negato in risposta a slave synchronization, dopo la lettura dei
dati.
@NO Nel protocollo asincrono il segale di slave synchronization
viene negato in risposta all'asserzione di master synchronization.
@SI Un segnale asserito basso negato quando a V
cc
.
Esercizio sullarbitraggio di bus
Con riferimento agli schemi di arbitraggio dei bus, indicare se le
seguenti affermazioni sono vere o false.
Nell'arbitraggio decentralizzato non possibile introdurre un
meccanismo di priorit.
Nell'arbitraggio centralizzato l'arbitro conosce di volta in volta
quanti dispositivi richiedono l'uso del bus.
Un arbitraggio centralizzato con una sola linea di richiesta non
pu gestire priorit.
Nell'arbitraggio decentralizzato la priorit non dipende dalla
posizione fisica dei dispositivi.
Nell'arbitraggio centralizzato non necessaria la linea busy che
segnala che il bus impegnato.
Un arbitraggio decentralizzato non richiede un dispositivo
dedicato di arbitraggio.
Nell'arbitraggio centralizzato pu succedere che un dispositivo
che non ha richiesto il bus riceva il segnale di grant.
La priorit della CPU nell'uso del bus sempre pi alta di quella
dei dispositivi di I/O.
FALSO
VERO
FALSO
VERO
FALSO
VERO
VERO
VERO
Esercizio sullarbitraggio di bus
Con riferimento agli schemi di arbitraggio dei bus, indicare se le seguenti
affermazioni sono vere o false.
@SI Nell'arbitraggio decentralizzato non possibile introdurre un
meccanismo di priorit.
@NO Nell'arbitraggio centralizzato l'arbitro conosce di volta in volta quanti
dispositivi richiedono l'uso del bus.
@SI Un arbitraggio centralizzato con una sola linea di richiesta non pu
gestire priorit.
@NO Nell'arbitraggio decentralizzato la priorit non dipende dalla posizione
fisica dei dispositivi.
@SI Nell'arbitraggio centralizzato non necessaria la linea busy che
segnala che il bus impegnato.
@SI Un arbitraggio decentralizzato non richiede un dispositivo dedicato di
arbitraggio.
@SI Nell'arbitraggio centralizzato pu succedere che un dispositivo che non
ha richiesto il bus riceva il segnale di grant.
@NO La priorit della CPU nell'uso del bus sempre pi alta di quella dei
dispositivi di I/O.
Esercizio
Si vuole realizzare un piccolo calcolatore embedded a 16 bit
dotato di una ROM di 4KB, una RAM di 8KB e un dispositivo di
I/O memory mapped a cui interfacciarsi tramite una PIO
Definire gli spazi di indirizzamento dei vari dispositivi a
disposizione supponendo di poter utilizzare 16 bit per
specificare gli indirizzi;
Indicare come possibile ottenere con porte logiche i
corretti segnali di chip select a partire dalle linee del bus
degli indirizzi;
Indicare come possibile semplificare i circuiti determinati
al punto B con una decodifica parziale degli indirizzi.
Una soluzione
ROM: 4K (2
12
) indirizzi
Scelta:
da 0000 0000 0000 0000
a 0000 1111 1111 1111
Distinguibile da i primi 4 bit a 0000
RAM: 8K (2
13
) indirizzi
Scelta:
da 1000 0000 0000 0000
a 1001 1111 1111 1111
Distinguibile da i primi 3 bit a 100
PIO: 4 indirizzi
Scelta:
da 1111 1111 1111 1100
a 1111 1111 1111 1111
Distinguibile da i primi 14 bit tutti a 1
Decodifica completa
A0
A15
Address bus
CS CS CS
4K
ROM
8K
RAM
PI0
Decodifica parziale
A0
A15
Address bus
CS CS CS
4K
EPROM
8K
RAM
PI0
Esercizio
Si vuole realizzare un piccolo calcolatore embedded a 16 bit
dotato di una ROM di 8KB, una RAM di 16KB e un dispositivo
di I/O memory mapped a cui interfacciarsi tramite una PIO
(dotato di 4 porte indirizzabili).
definire gli spazi di indirizzamento dei vari dispositivi a
disposizione supponendo di poter utilizzare tutti i 16 bit
per specificare gli indirizzi;
indicare come possibile ottenere con porte logiche i
corretti segnali di chip select a partire dalle linee del bus
degli indirizzi;
indicare come possibile semplificare i circuiti determinati
al punto B con una decodifica parziale degli indirizzi.
Esercizio
Un microprocessore embedded a 8 bit deve comunicare
mediante un bus parallelo con una ROM di 64B e, facendo
uso di due schede PIO, con 6 dispositivi di I/O memory
mapped (3 per scheda).
definire gli spazi di indirizzamento dei vari dispositivi a
disposizione supponendo di poter utilizzare tutti gli 8 bit
per specificare gli indirizzi;
indicare come possibile ottenere con porte logiche i
corretti segnali di chip select a partire dalle linee del bus
degli indirizzi;
indicare come possibile semplificare i circuiti determinati
al punto B con una decodifica parziale degli indirizzi.
Riccardo Torlone - Corso di Calcolatori Elettronici 63