8086/8088: l'interfaccia verso il bus - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

8086/8088: l'interfaccia verso il bus

Description:

M. Mezzalama - M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica Ciclo di Bus la sequenza di eventi attraverso la quale la CPU ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 27
Provided by: Mauriz
Category:

less

Transcript and Presenter's Notes

Title: 8086/8088: l'interfaccia verso il bus


1
BUS DI CPU
M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
Politecnico di Torino Dip. di Automatica e
Informatica
2
Ciclo di Bus
  • È la sequenza di eventi attraverso la quale la
    CPU comunica con la memoria, con un dispositivo
    di I/O, con lInterrupt Controller.
  • In funzione dei processori può essere costituito
    da 2 o 4 cicli di clock di sistema.
  • Internamente esistono sempre 4 periodi
  • Si compone di almeno 4 fasi, denominate T1, T2,
    T3, T4.
  • T1 sulladdress bus viene scritto lindirizzo
  • T2, T3, T4 sul data bus viene messo il dato.
  • Se la CPU non deve accedere allesterno, i
    segnali di controllo del bus sono inattivi ed i
    relativi piedini sono in alta impedenza.
  • Se nessun altro dispositivo utilizza il bus,
    questo si trova allora nello stato di idle.

3
Ciclo di Bus
  • Nel 8086 il ciclo interno (4 CLK) è identico al
    ciclo esterno di bus
  • Nei processori tipo pentium o nei bus di sistema
    (es. PCI) il ciclo di bus è di 2 CLK
  • Ad esempio nel bus del pentium (host bus o memory
    bus) a 100MHz il trasferimento avviene in 2 CLK,
    cioè in 20ns.
  • In generale si indica la capacità di
    trasferimento del bus espressa in MBps (Mega Byte
    per secondo)
  • Esempio pentium con DBUS a 64 bit e 100MHz si
    ha
  • (64/8)100M/2 400MBps
  • Essendo 2 i periodi di clock per ciclo di bus

4
PCI CLK 66MHz, 32 bit DBUS AGPx4 MHz x 4
5
Ciclo di Lettura
  • T1 sulladdress bus viene scritto lindirizzo
  • T2 la CPU forza sul data bus il valore Z
  • T3, T4 la memoria scrive il dato sul data bus.

6
Ciclo di Scrittura
  • T1 sulladdress bus viene scritto lindirizzo
  • T2 la CPU scrive il dato sul data bus
  • T3, T4 la memoria legge il dato dal data bus.

7
Cicli di Idle
  • Vengono inseriti dalla CPU quando necessario,
    ossia quando
  • la CPU non necessita di nuovi dati e
  • la coda interna delle istruzioni è piena, e non
    può essere eseguita alcuna fase di prefetch.

8
Cicli di Wait
  • Se la memoria non è sufficientemente veloce, lo
    segnala alla CPU, e questa inserisce tra T3 e T4
    una serie di stati di attesa (wait states) fino a
    che la memoria risponde.
  • Per comunicare all'8086 la necessità di uno o più
    cicli di wait, la memoria esterna invia un
    segnale sul pin READY.

9
Ciclo di Bus
T1
T2
T3
T4
T1
T2
T3
T4
Bus Cycle
Address
Data
Address
Data
Buffer
Buffer
10
Connessione Maximum-Mode
8289 Bus Arbiter
Segnali di Controllo Bus Multibus
8288 Bus Controller
8086
S2
S1
S0
D0-D15
BHE
RD
Ready
11
Segnali di stato
  • S0 S1 S2
  • 0 0 0 Interrupt Acknowledge
  • 0 0 1 Read I/O Port
  • 0 1 0 Write I/O Port
  • 0 1 1 Halt
  • 1 0 0 Instruction Fetch
  • 1 0 1 Read Memory
  • 1 1 0 Write Memory
  • 1 1 1 Inactive - Passive

12
Segnali di Controllo (I)
  • ALE il fronte di salita segnala durante T1 che
    sulladdress bus è pronto un indirizzo.
  • IO/M indica se il ciclo di bus fa riferimento
    alla memoria o a un dispositivo di I/O questo
    segnale è complementato nell'8088.
  • DT/R indica se si tratta di un ciclo di lettura
    o scrittura.

13
Segnali di Controllo (III)
  • RD e WR segnalano la direzione del
    trasferimento e forniscono le relative
    informazioni temporali.
  • WR segnala che il dato è pronto sul data bus e
    può essere prelevato dalla memoria.
  • DEN (Data Enable) segnala al dispositivo esterno
    che può mettere sul data bus il dato durante le
    operazioni di lettura.

14
HOLD e HLDA
  • Costituiscono linterfaccia verso il controllore
    di DMA.
  • Quando un dispositivo desidera acquisire il
    controllo del bus, porta a 1 il segnale HOLD.
  • A questo punto il processore, terminato il
    corrente ciclo di bus, pone in alta impedenza i
    segnali AD0-AD7, A8-A15, A16/S3-A19/S6, SS0,
    IO/M, DT/R, RD, WR, DEN e INTR e forza a 1
    il segnale HLDA.
  • Quando il dispositivo rilascia il bus, riporta a
    0 il segnale HOLD.

15
Segnali di Interrupt
  • Sono
  • INTR (input) richiesta di interrupt da parte di
    un dispositivo esterno
  • INTA (output) accettazione della richiesta da
    parte della CPU, e temporizzazione del
    trasferimento del codice di interrupt
  • NMI (input) richiesta di interrupt non
    mascherabile.

16
READY
  • READY rappresenta un segnale di sincronizzazione
    con l'esterno.
  • All'esecuzione dell'istruzione WAIT, il
    processore testa il segnale READY e, se vale 1,
    inizia ad eseguire dei cicli di idle quando
    READY torna a 0, il processore esegue
    l'istruzione successiva alla WAIT.

17
BHE
  • Nell8086 il segnale BHE (Bank Enable High)
    durante T1 determina, insieme con A0, la
    dimensione e lallineamento del tipo trasferito
  • BHE A0
  • 0 0 Parola Intera
  • 0 1 Byte superiore da/per indirizzo dispari
  • 1 0 Byte inferiore da/per indirizzo pari
  • 1 1 Nulla

18
Segnali di Stato della Coda
  • I segnali QS0 e QS1 segnalano allesterno che
    tipo di dato è stato appena estratto dalla coda
  • QS0 QS1
  • 0 0 Nulla
  • 0 1 Primo Byte
  • 1 0 Coda Vuota (istruz. di salto)
  • 1 1 Byte successivo al primo

19
LOCK
  • Indica che unistruzione con il prefisso LOCK e
    in corso di esecuzione e conseguentemente il bus
    non puo essere utilizzato da un altro potenziale
    master.

20
Request/Grant
  • Nei sistemi multiprocessore, sono utilizzati per
    eseguire il passaggio del controllo del bus da un
    processore ad un altro.

21
PENTIUM
ABUS (A31-A3, BE7-BE0)
DMA
INTERRUPT
DBUS (64 bit)
BIT PARITA (DP/-DP0)
L1/L2 cache Control (MESI)
ADS
Stato (D/C, W/R,M/IO)
MULTIPROC. SYNCR
READY
22
(No Transcript)
23
PENTIUM BUS CYCLE
  • Nel pentium esistono due tipi di cicli
  • single transfert trasferimento di un solo dato
  • Burst cycle trasferimento di 464 bit (32 byte)
    effettuato per aggiornamento della L1 cache nei
    casi di cache miss

24
CICLO DI BUS CON DATA BUS A 32 BIT (ciclo lettura)
Con bus a 32 bit, ABUS è costituito dai seguenti
segnali A31-A2 BE3-BE0 (4 byte)
25
CICLO DI BUS CON DATA BUS A 32 BIT (ciclo
scrittura)
26
CICLO DI BUS CON DATA BUS A 32 BIT (ciclo
scrittura con wait)
Write a Comment
User Comments (0)
About PowerShow.com