4 - Logica Digitale

annuncio pubblicitario
Parte III
Logica Digitale, Memorie,
Microprocessori e Bus
Calcolatori Elettronici (5 crediti)
Prof. G. Cosentino
III.1
Ma in fondo quali sono i
mattoncini che
compongono un
calcolatore elettronico ?
Porte
And, Or, Nand, Nor, Not
Circuiti
Multiplexer, Codif, Shifter, ALU
Aritmetica
Sommatori
Memorie
Latch, Flip Flop
Bus
Sincroni clk, Asincroni M/slave
I/O
Chip paralleli
Calcolatori Elettronici (5 crediti)
Prof. G. Cosentino
III.2
Circuiti Digitali
i1
INGRESSI
in
CIRCUITO
DIGITALE
o1
USCITE
om
• Circuiti elettronici i cui ingressi e le
cui uscite assumono solo due livelli
• Al circuito sono associate le funzioni
che calcolano le uscite a partire dagli
ingressi
o1 = f1(i1,….,in )
..
.
om = fm(i1,….,in )
III.3
Funzioni Logiche (Booleane)
y,x1,…,xn ∈{ 0,1}
y = f(x1,…,xn)
f { 0,1}
{ 0,1} →
n
• Variabili con due soli valori possibili:
{ 0,1}
FALSO
VERO
{F,T}
FALSE
TRUE
Tavola di verità
x1
0
0
..
.
1
x2 …… x n-1 xn
0 …….. 0 0
0 …….. 0 1
..
.. ..
.
. .
1 …….. 1 1
f
0
1
..
.
0
• 2n combinazioni di ingresso
n
2
• 2 funzioni distinte di n variabili
III.4
Funzioni Booleane (Esempi)
• Con n=1 si hanno 4 funzioni:
x1
0
1
f0
0
0
f1
0
1
f2 f3
1 1
0 1
• La funzione f2 è detta NOT
• Con n=2 si hanno 16 funzioni, tra cui:
x1
0
0
1
1
x2
0
1
0
1
f0
0
0
0
0
f1
0
0
0
1
f2
0
0
1
0
f3
0
0
1
1
f4
0
1
0
0
f5
0
1
0
1
f6
0
1
1
0
• La funzione f1 è nota come AND
• La funzione f7 è nota come OR
III.5
f7
0
1
1
1
Algebra Circuitale (Booleana)
• È una struttura algebrica (insieme
più operatori)
• Reticolo distributivo complementato
Insieme: I = { 0,1 }
Operatori: AND, OR
Complementazione: NOT
Notazione
• Se x e y sono due variabili booleane:
– L’ AND di x e y si indica con x·y
– L’ OR di x e y si indica con x + y
– Il NOT di x si indica con x
III.6
Porte NAND e NOR
È possibile simulare AND, OR e NOT, e
quindi realizzare qualsiasi circuito, usando
soli NAND oppure soli NOR che richiedono
meno transistors.
0,0
1
1,1
Simulazione AND
III.7
Porte XOR
• Calcola la funzione OR Esclusivo (diverso da
OR): dà uscita 1 (vero) quando uno solo degli
ingressi (ma non entrambi) vale 1
• Facilmente realizzabile con porte AND, OR e
NAND
0
0
0
0
1
1
0
0
1
0
1
III.8
Riepilogo
Operatore
NOT
Simbolo
y=x
Proprietà
y=1 se e solo se x=0
AND
y=x1x2
y=1 se e solo se
x1=x2=1
OR
y=x1+x2
y=0 se e solo se
x1=x2=0
NAND
y=x1/x2
y=0 se e solo se
x1=x2=1
NOR
y= x↓x2
y=1 se e solo se
x1=x2=0
XOR
y = x1⊕x2
y=1 se e solo se x1≠x2
XNOR
y= x1≡x2
y=1 se e solo se x1=x2
III.9
Porte universali
•Con l’insieme delle tre porte
(NOT, AND, OR) può essere
realizzata qualunque funzione
(insieme completo); non è
minimo: l’operatore AND
(oppure OR) è ridondante
•Le porte NAND ed NOR sono le
(uniche) porte universali poiché
mediante esse può essere
realizzata qualunque funzione
binaria
III.10
Espressioni Algebriche
Teor.: ogni funzione booleana è
algebrica, cioè rappresentabile
con un’espressione dell’algebra
Prima Forma Canonica
f = Σj=1..m
Π
i=1..n
xij*
• xij* vale xi oppure xi
• f è espressa come OR delle combinazioni per cui la funzione è vera
(somma di mintermini)
Qualsiasi funzione booleana può
essere messa in questa forma
III.11
Funzioni Booleane (Esempio)
ES
• Tre variabili booleane A, B, C
• Funzione di maggioranza M: è vera
solo se almeno due delle tre variabili
sono vere
D0
D1
D2
D3
D4
D5
ABC
D6
ABC
D7
ABC
ABC
M = ABC + ABC + ABC + ABC
111
111
111
111
D3
D5
D6
D7
III.12
Funzioni Booleane (Esempio)
ES
•Tre variabili booleane A, B, C
•Funzione di maggioranza M:
Consente di operare la sintesi di una
qualsiasi funzione logica con una
tecnica a due livelli, un primo livello
di porte AND ai cui ingressi
pervengono le variabili di ingresso
(dirette o negate) ed un secondo
livello di OR a cui pervengono le
uscite delle porte AND del primo
livello.
M = ABC + ABC + ABC + ABC
III.13
Circuiti Logici
• Porte Logiche: circuiti elementari che
realizzano gli operatori dell’algebra
Qualsiasi funzione booleana può essere
calcolata con un circuito realizzato
con sole porte AND, OR e NOT
• Le porte logiche vengono realizzate
con circuiti elettronici:
NOT
NAND
NOR
III.14
Circuiti Logici
•Una porta logica e’ un dispositivo con
N ingressi ed una uscita che realizza un
legame tra il valore logico presente
all’uscita e quelli presenti all’ingresso,
esprimibile tramite una funzione logica
elementare
NOT
NAND
NOR
III.15
Circuiti Logici
•La porta AND con
due ingressi e’
particolarmente
importante perchè
consente di
controllare il
trasferimento dei bit
di informazione: ad
esempio scegliendo
di affidare questa
funzione
all’ingresso B, si
può affermare che
l’uscita Y assume lo
stesso valore
dell’ingresso A
quando B vale 1.
A
B
Y
0
0
0
0
1
0
1
0
0
1
1
1
III.16
Circuiti Logici: (Esempio)
(Funzione di Maggioranza)
M = ABC + ABC + ABC + ABC
III.17
Circuiti Logici: (Esempio)
(Funzione di Maggioranza)
Invia alla sua unica uscita il valore logico presente
nell’i-esimo dei suoi 2n ingressi selezionato dal
valore i codificato in N ulteriori ingressi di
controllo
III.18
Circuiti Logici: (Esercizio)
1)Data una rappresentazione delle cifre decimali
(0...9)
in cui 0 è codificato come 0000, 1 come 0001, 2
come 0010 ,..., 9 come 1001,
scrivere la tabella di verità della funzione di
commutazione
che è vera quando la cifra è compresa tra 4 e 6,
estremi inclusi.
Fornire il circuito logico che la calcola come
somma di mintermini.
III.19
Circuiti Integrati
• Molte porte realizzate sulla stessa
piastrina di silicio (chip)
• Contenitori da 14 a 68 piedini
• Vari livelli di integrazione:
– SSI (Small Scale)
1-10 porte
– MSI (Medium Scale) 10-100 ”
– LSI (Large Scale)
102-105 ”
– VLSI (Very Large Sc.) > 105 ”
• Tempi di commutazione 1-20 nsec
III.20
Circuiti Integrati
• Quattro porte realizzate sulla stessa
piastrina di silicio (chip)
• Contenitori da 14 piedini: due input e
un output per porta, una alimentazione
e una terra
• livello di integrazione:
– SSI (Small Scale)
1-10 porte
– il notch identifica l’orientamento
III.21
Introduzione
•Circuiti combinatori (o reti
combinatorie)
– Il valore dell’ uscita in un
determinato istante dipende
unicamente dal valore degli
ingressi in quello stesso
istante
III.22
Introduzione
•Circuiti sequenziali (reti sequenziali)
– Il valore dell’ uscita in un
determinato istante dipende sia dal
valore degli ingressi in
quell’istante, sia dal valore degli
ingressi in istanti precedenti
• Reti sincrone, asincrone…
– Per definire il comportamento di
un circuito sequenziale è necessario
tenere conto della storia passata
degli ingressi
III.23
Circuiti Combinatori
Circuiti in cui l’uscita dipende solo dagli
ingressi, e non dallo stato cioè dalla
storia passata, per esempio come nella
Funzione di Maggioranza
ES
2n INGRESSI CONTROLLATI
n INGRESSI DI
CONTROLLO
….
…………...
MULTIPLEXER
UNA USCITA
• Gli ingressi di controllo selezionano
quale degli ingressi controllati viene
mandato in uscita
III.24
Multiplexer (circuito)
Invia alla sua unica uscita il valore
logico presente nell’i-esimo dei suoi
2n ingressi selezionato dal valore i
codificato in N ulteriori ingressi di
controllo
III.25
Funzione Maggioranza
come multiplexer
• Tre variabili booleane A, B, C
• Funzione di maggioranza M: è vera
solo se almeno due delle tre variabili
sono vere
Riga 3
ABC
Riga 5
ABC
Riga 6
Riga 7
ABC
ABC
Le tre linee di controllo A,B,C
compongono un numero a tre bit che
specifica quale delle otto linee di ingresso
devono essere inviate all’OR e quindi alla
porta di uscita
III.26
Decodificatore
•Circuito a n ingressi e 2n uscite
•Una ed una sola delle 2n uscite assume valore
vero in corrispondenza a ciascuna delle 2n
configurazioni di ingresso
•La sua funzione e’ di attivare l’i-esima di 2n
uscite in funzione del valore i codificato negli
N ingressi
III.27
Decodificatore
• Esempio: in base al contenuto del registro
istruzione (cioè a seconda della istruzione da
eseguire) attivano le appropriate linee di
comando delle altre unità ed organi del
calcolatore, D0 da ABC, D1 da ABC e cosi via
III.28
Comparatore
0
0
0
0
1
0
0
0
0
0
0
0
NOR gate
0
Semplice 4-bit comparatore Word A Word B.
Se tutti e quattro i bit sono uguali, al NOR
arrivano quattro zero,in uscita avrò zero, faccio
NOR cosi da avere 1 se le word sono uguali
Calcolatori Elettronici Prof. Gregorio Cosentino
Semiaddizionatore
(Half Adder)
AND gate
• Circuito a 2 ingressi e 2 uscite: somma e
riporto (carry)
• Non può essere usato per la somma di
numerali a più bit, dove occorre sommare
anche il riporto della cifra precedente
III.30
ALU a 1 bit (bit slice)
• A e B sono bit omologhi degli operandi
• F0 e F1 segnali di controllo selezionano la funzione (00:
AND), (01: OR), (10: NOT), (11: SUM) del decoder ( 00
passa linea 0,etc)
• La linea passata = 1 abilita un solo and della logical unit
oppure il sommatore;uscita su OR semplice
• ENA ed ENB sono segnali di enable
• INVA permette di negare A
• Default ENA=ENB=1 e INVA=0 per non modificare in
questo caso il valore di A e B, servono per altre funzioni
III.31
ALU a 1 bit (bit slice)
• Per realizzare una ALU ad 8 bit non
devo fare altro che mettere in serie 8
ALU a 1 bit
III.32
Arithmetic Logic Units (2)
Otto 1-bit ALU connessi per realizzare un 8-bit ALU.
I segnali di Enables e Invert non sono riportati per
semplicità grafica.
Il segnale INC è utile per effettuare addizioni: esso
incrementa ( INC ) di 1 il risultato, rendendo possibili
operazioni tipo A+1 e A+B+1 molto utili in tutti i
programmi software
III.33
Circuiti Sequenziali
Circuiti in cui i valori delle uscite sono
determinati oltre che dai valori presenti
agli ingressi anche dallo STATO in cui il
sistema si trova.
Il concetto di STATO di una rete logica
e’legato alla esistenza di ELEMENTI DI
MEMORIA (Latch e Flip Flop)
Y1
X1
S1,S2,S3
X2
Y2
III.34
Circuiti Sequenziali
Registri
• Un Registro è un elemento in grado di
memorizzare, cioè di conservare nel tempo,
un valore logico
• Esso ammette due ( e solo due ) stati stabili
che possono essere fatti corrispondere ai
valori 0 ed 1
• Circuiti elettronici che realizzano questa
funzione sono i Flip Flop e i Latch
• Un registro da 16 bit è costituito da 16
Latch o Flip Flop
• Per indicare il numero di bit contenuti in un
registro si usa parlare della sua lunghezza
a)
b)
III.35
Flip-Flop
Vcc
Rc
+
Vu
-
Il terminale di uscita U si trova a potenziale
zero quando l’interruttore e’chiuso.
A potenziale Vcc quando è aperto.
Il circuito conserva lo stato zero finchè non
viene azionato dall’esterno l’interruttore.
Esso ricorda quello che si chiama “ bit “
III.36
Clocks
(a) A clock.(b) The timing diagram for the clock.(c) Generation of an asymmetric clock.
Ilclock è un circuito che emette una serie di
impulsi con una precisa ampiezza e un preciso
intervallo tra impulsi consecutivi,
praticamente da il tempo in modo che due o
più eventi “ digitali “ siano sincronizzati.
Il delay produce una serie in ritardo, aumento il
numero di impulsi ( b )
Se metto A in AND con B aumento ancora il
numero di impulsi
III.37
Latch e Flip-Flop
a)
b)
• I Latch commutano sui livelli del
clock a)alto, b)basso
a)
b)
• I Flip-Flop commutano sui fronti
del clock:
a) Commuta sul fronte di salita
b) Commuta sul fronte di discesa
III.38
Registri
• I Flip-Flop sono gli elementi base di
memorizzazione nel computer
• Molti Flip-Flop possono essere messi su
un unico chip
• Occorrono in genere da 6 a 10 transistor
per ogni Flip-Flop
III.39
Chip di Memoria
CS
n× m
OE
…….
CHIP DI MEMORIA
log2 n
LINEE
INDIRIZZO
WE
…….
m
LINEE DATI IN/OUT
• Chip da n × m bit complessivi
• m linee dati bidirezionali
• log2 n linee di indirizzo
• Segnali di controllo:
– CS (Chip Select)
– OE (Output Enable)
– WE (Write Enable)
Problema: numero limitato di piedini
del contenitore
III.40
Organizzazione della memoria
• SIMM (Single Inline Memory Module)
– 72 piedini, 32 bit, 8-16 chip, 32 MByte
– A coppie nel Pentium (bus dati 64 bit)
• DIMM (Double Inline Memory Module)
– 168 piedini, 64 bit, 16 chip, 128 MByte
• Il controller gestisce più SIMM (o DIMM)
• Ogni SIMM informa il controller della sua
dimensione (segnali su certi piedini)
• Il controller determina al momento del boot
il tipo di RAM.
• Dall’indirizzo e dalla configurazione il
controller calcola a quale SIMM mandare il
segnale di Chip Select
III.41
Tassonomia delle RAM e ROM
•
•
•
•
SRAM (Static RAM):
a Flip-Flop, molto veloce (~5nsec)
si mantengono stabili nel tempo
molto usate come cache di secondo
livello
• DRAM (Dynamic RAM):
• basata su capacità parassite; richiede
refresh, alta densità, basso costo, poco
veloce (~20 nsec)
• La memorizzazione del bit è affidata
invece alla presenza o meno di una
quantità di carica elettrica in un
condensatore
• Usano meno componenti
• Usate per le memorie centrali
III.42
Tassonomia delle RAM
Memorie volatili
Il contenuto rimane in memoria
sino a quando c’è alimentazione
elettrica
•RAM (Random Access Memory)
•SRAM (Static RAM): a Flip-Flop,
molto veloce (~5nsec)
•DRAM (Dynamic RAM): basata su
capacità parassite ( condensatori );
richiede refresh, alta densità, basso
costo, ma lenta (~20 nsec)
•SDRAM (Synchronous DRAM)
– Sincrona, comandata dal clock
principale e non dai segnali di
controllo, velocizza lo scambio dati
tra memoria e CPU
•DDR RAM (Double Data Rate Ram)
– velocizza le SDRAM perchè lavora
sia sui fronti di salita che di discesa
del clock
III.43
Memorie non volatili
Il contenuto rimane in memoria
anche in assenza di
alimentazione elettrica
•ROM (Read Only Memory, i dati sono
inseriti in memoria direttamente dal
produttore,non si possono cambiare- per es.
firmware- )
•PROM (Programmable ROM, come le Rom,
solo che può essere riprogrammata)
•EPROM (Erasable PROM, può essere sia
riprogrammata che cancellata per essere
riusata) raggi UV
•EEPROM: come la EPROM ma cancellabile
elettricamente, invece che inserirla nella
camera di esposizione UV
•Flash Memory: tipo di EEPROM, ciclo
100nsec, max 100.000 riscritture
III.44
Nonvolatile Memory Chips
Sommario dei vari tipi di memoria
III.45
Esempio di SRAM
Ingresso
Indirizzi
Uscita
Controllo
III.46
SDRAM
SIMM
DDR
III.47
Pinout Logico del µP
Significato dei vari Pin
• Indirizzamento
• Dati
• Controllo
– Controllo del ciclo di bus
– Gestione delle interruzioni
– Arbitraggio del bus
– Gestione del coprocessore
– Segnalazione di stato
– Vari (alimentazione etc.)
III.48
Pinout Logico del µP
Significato dei vari Pin
• due dei parametri chiave che
determinano le performance della
CPU sono il numero degli address pin
e dei data pin
• un chip con m address pin può
indirizzare 2m locazioni di memoria
•Un chip con n data pin può leggere e
scrivere una n-bit word in una singola
operazione ( se n=8 faccio 4 operazioni per leggere
una word di 32 bit )
•Oggi sia m che n valgono 32 o 64
III.49
Bus
• Il trasferimento dei bit di informazione
tra le varie parti di un calcolatore
avviene tramite collegamenti elettrici
chiamati BUS, caratterizzati da
diverse larghezze, clock, arbitraggio e
modalità
operative
(non
solo
Read/Write, per semplificare )
III.50
Architettura a più Bus
• Diversi bus, interni ed esterni al chip
• Soddisfano diverse esigenze:
– Velocità di trasferimento
– Numero di linee
– Più trasferimenti paralleli
– Compatibilità all’indietro
• Nei primi PC c’era un unico bus
• Negli attuali PC almeno tre bus esterni
III.51
‘Larghezza’ del Bus
• Larghezza = numero di linee su cui
trasmetto in parallelo i bit
• Linee dati: banda di trasferimento
• Linee indirizzo: dimensione dello spazio (di
memoria) indirizzabile, 2n locazioni con n bit
di indirizzo
Problema: al crescere del numero di linee
aumenta il bus skew (differenza nella
velocità di propagazione dei segnali sulle
diverse linee del bus); più il bus è veloce più
il problema diventa serio
Soluzione: multiplexamento di più segnali
(indirizzi e dati ) sulla stessa linea, riduco il
numero di linee ma rallento il sistema
III.52
Utilizzo del BUS
•Bisogna stabilire un insieme di regole
(protocollo) per regolamentare la
transazioni
•Uno dei due partner di una transazione
si chiama master del bus, mentre
l’altro slave
•Il master inizia una transazione mentre
lo slave esegue gli ordini forniti dal
master Ex: la CPU (master) ordina la
lettura di un dato dalla memoria
(slave)
•Lo stesso dispositivo può svolgere il
ruolo sia di master che di slave (in
cicli differenti)
•Se più di un dispositivo collegato al
bus può svolgere funzione di master,
allora è richiesto un ulteriore
protocollo (arbitraggio del bus) per
assegnare in modo esclusivo la
funzione di master per coordinare la
III.53
transazione
Comunicazione sul Bus
• La comunicazione sul bus è regolata
da
un
protocollo
di
bus,
fondamentale per chi costruisce
schede o periferiche
• 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 ( bus
driver per il master e bus receiver
per lo slave )
III.54
Arbitraggio del Bus
•Permette di decidere quale dispositivo sarà il
prossimo Bus Master risolvendo eventuali
conflitti (cosa succede se due o più dispositivi
vogliono
diventare
Master
del
bus
contemporaneamente?)
•Spesso l’arbitro è nel chip del µP
•Linea di richiesta condivisa
•Il Bus grant = concessione è propagato
dall’arbitro in una daisy chain
•Viene intercettato dal futuro master
NB: Favoriti i dispositivi situati vicino
all’arbitro
III.55
Arbitraggio del BUS daisy
chain
•Server per decidere il master della
nuova transazione
•Deve risolvere i conflitti nel caso di
richieste contemporanee da parte di
più dispositivi per diventare master
•Una tecnica comune è daisy chain: si
interrogano i dispositivi in ordine a
partire da 1 (poi 2, 3, ...)
•Il dispositivo i è avvantaggiato
rispetto ad i+1
III.56
Gestione delle Interruzioni
• Quando la CPU invia un ordine ad un
dispositivo di I/O, solitamente si
aspetta un INTERRUPT quando il
lavoro è terminato.
• La segnalazione di interrupt richiede
il bus.
• Esistono dei chip standard che
realizzano il “controllore” degli
interrupt, tipo INTEL 8259 A per i
PC
III.57
Gestione delle Interruzioni
• Chip controllore di interruzioni Intel
8259A usato dal PC IBM e successori
• Gestisce 8 linee di interrupt
– INT: interruzione inviata alla CPU
– INTA: aknowledge della CPU
– Vettore di Interrupt passato sul Bus
– IR0-IR7: linee di interrupt sul Bus
• Il vettore di interrupt è usato dalla
CPU per saltare alla relativa routine
che dovrà gestire lo specifico interrupt
• Registri all’interno del chip scrivibili
dalla CPU per programmare lo 8259A
III.58
Gestione delle Interruzioni
• Nei vecchi sistemi la memoria stava
sullo stesso bus degli I/O, e quindi
anche la CPU doveva “ competere “.
• Alla CPU veniva assegnata la più
bassa priorità, perché per esempio un
disco con alta velocità di rotazione non
poteva aspettare
• Come soluzione la memoria è
connessa alla CPU su un bus diverso
degli I/O
III.59
Il Bus ISA del PC/AT
o
X
L
dT
N
A
E
T
w
• ISA (Industry Standard Architecture) derivato
dal bus del PC/AT, ma in contrasto a IBM
• 16 bit, compatibile con il bus del PC /AT di
IBM a 62 linee
• 62+36 linee: 16 dati e 24 indirizzi
• Edge Connectors (molto economici)
• Tutt’oggi presente in tutti i PC per l’uso di
carte legacy
• Sincrono a 8.33 MHz: 16.7 MB/sec,
fortemente insufficiente per la grafica
• Estensione EISA 32 bit di poco successo
III.60
Il Bus PCI: specifiche
• PCI (Peripheral Component Interconnect)
• Introdotto da Intel per applicazioni video,
successore di ISA
• Video 1024×768×3 Byte a 30 frame/sec
richiede una banda di 67.5 MB/sec
• Standard non proprietario, adottato da molti,
(ma Intel vende i chip di gestione…)
• Versione base a 32 bit, 33 MHz: 133 MB/sec
• Estensione a 64 bit e 66 MHz: 528 MB/sec
• E NONOSTANTE QUESTA BANDA SI
DIMOSTRO’ INSUFFICIENTE COME BUS
PER LE SEMPRE PIU’ VELOCI
MEMORIE
• E POI RIMANEVA IL PROBLEMA
DELLA
COMPATIBILITA’
ALL’INDIETRO CON ISA !!!!!
III.61
Il Bus PCI: specifiche
• E NONOSTANTE QUESTA BANDA SI DIMOSTRO’
INSUFFICIENTE COME BUS PER LE SEMPRE PIU’
VELOCI MEMORIE
• E POI RIMANEVA IL PROBLEMA DELLA
COMPATIBILITA’ ALL’INDIETRO CON ISA !!!!!
• Local Bus e Memory Bus separati (più veloci)
• Connessione tramite chip Intel PCI bridge, che collega
CPU, MEM e BUS PCI
• ISA Bridge, chip Intel che collega il bus PCI al Bus
ISA e include doppio controller IDE
• Controllori addizionali SCSI e USB
• Varie opzioni di tensione (5 V e 3.3 V)
• Carte con 120 e 120+64 contatti
• Linee indirizzo e dati multiplexate
• AGP bus Accellerated Graphics Port bus
• Le velocità non bastano mai, arriva PCI Express
III.62
Esempio di bus in un PC
BUS ADAPTER
MEMORIA
SCHEDA GRAFICA
DISCHI
BUS ADAPTER
III.63
PCI Bus 1
Back Side Bus
Front Side Bus
Architettura dei primi sistemi Pentium.
I bus più spessi indicano maggiore ampiezza di banda, ma
non sono in scala. Si noti la cache bus.
Calcolatori Elettronici Prof. Gregorio Cosentino
Il Bus PCI: arbitraggio
•
•
•
•
•
Arbitraggio centralizzato (nel Bridge)
Ogni PCI device ha due linee dedicate
Il device fa la richiesta tramite REQ#
Il grant viene concesso tramite GNT#
Diversi algoritmi di arbitraggio:
– Round Robin, con una lista dove il primo
servito passa poi ultimo della lista, e cosi
via
– Priorità
– Altro
• Transazioni su più cicli separate da cicli di
idle
III.65
PCI Bus 2
Struttura del Bus per un moderno Pentium 4.
Sparita la cache bus, appare AGP bus.
Calcolatori Elettronici Prof. Gregorio Cosentino
PCI Express
Un tipico sistema con PCI Express.
Il Bridge lavora come per PCI.
Il concetto di switch è quello delle reti locali LAN
Calcolatori Elettronici Prof. Gregorio Cosentino
BUS
Esercizio
Nelle architetture odierne dei personal computer
si trovano più bus.
Illustrare i principali bus utilizzati e motivare
l’effettiva necessità di essi.
Riportare un disegno esplicativo.
Calcolatori Elettronici Prof. Gregorio Cosentino
Bus USB (Universal Serial Bus)
• Bus economico concordato da varie
aziende per la gestione di device 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
III.69
USB: Specifiche Fondamentali
• Banda complessiva 1.5 Mb/sec (1.0)
– 1.1 12 Mb/sec
– 2.0 480 Mb/sec ( Vs IEEE 1394
Firewire 400Mb/sec)
• Root hub di connessione al bus PCI
• Connessione di dispositivi e di altri hub
• Struttura complessiva ad albero con
massima ramificazione di 16
• Connettori ai capi del cavo diversi
• Cavo a 4 fili: +5V, GND, 2 di segnale
• Alla connessione di un dispositivo:
– Interrupt: intervento del Sistema Op.
– Richiesta di banda
– Assegnazione di indirizzo ( 0-127)
• Indirizzo 0 usato per inizializzazione
III.70
Chip di I/O: UART, USART e PIO
•UART (Univ. Async. Receiver. Transm.)
•USART (… Sync. Async. ……)
•Usati in interfacce parallelo/seriale
•PIO (Parallel Input/Output) Intel 8255A
– Configurabile dalla CPU
– 3 Porti indipendenti da 8 bit con latch
– La CPU legge e scrive nei porti
– Possibile gestire anche semplici
protocolli di handshaking CPU-device
– Per gestire device TTY-compatible
III.71
Il Pentium II
• Architettura a 32 bit completamente
compatibile con i predecessori
• Aritmetica Floating-point IEEE 754
• Bus di memoria a 64 bit
• Cache 1o livello 16KB dati +16KB istr.
• Cache 2o livello 512 KB nel package (a
metà della frequenza della CPU)
• SEC (Single Edge Cartridge) a 242
pin
• Dissipa oltre 55W!
III.72
Scarica