La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Mezzalama - M. Rebaudengo - M. Sonza Reorda BUS DI.

Presentazioni simili


Presentazione sul tema: "1 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Mezzalama - M. Rebaudengo - M. Sonza Reorda BUS DI."— Transcript della presentazione:

1 1 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Mezzalama - M. Rebaudengo - M. Sonza Reorda BUS DI CPU

2 2 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 T 1, T 2, T 3, T 4. T 1 : sulladdress bus viene scritto lindirizzo T 2, T 3, T 4 : 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 3 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 4 M.MezzalamaM. Rebaudengo, M. Sonza Reorda PCI CLK = 66MHz, 32 bit DBUS AGPx4 = &&MHz x 4

5 5 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Ciclo di Lettura T 1 : sulladdress bus viene scritto lindirizzo T 2 : la CPU forza sul data bus il valore Z T 3, T 4 : la memoria scrive il dato sul data bus.

6 6 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Ciclo di Scrittura T 1 : sulladdress bus viene scritto lindirizzo T 2 : la CPU scrive il dato sul data bus T 3, T 4 : la memoria legge il dato dal data bus.

7 7 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 8 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Cicli di Wait Se la memoria non è sufficientemente veloce, lo segnala alla CPU, e questa inserisce tra T 3 e T 4 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 9 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Ciclo di Bus Bus Cycle T1T1 T2T2 T3T3 T4T4 T1T1 T2T2 T3T3 T4T4 Address Buffer DataAddress Buffer Data

10 10 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Connessione Maximum-Mode Bus Arbiter 8288 Bus Controller QS1, QS0 Ready RD* BHE* D0-D15 A0-A19 ALE DT/R* DEN S0 S1 S2 Segnali di Controllo Bus Multibus

11 11 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Segnali di stato S0*S1*S2* 000Interrupt Acknowledge 001Read I/O Port 010Write I/O Port 011Halt 100Instruction Fetch 101Read Memory 110Write Memory 111Inactive - Passive

12 12 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Segnali di Controllo (I) ALE: il fronte di salita segnala durante T 1 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 13 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 14 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 AD 0 -AD 7, A 8 -A 15, A 16 /S 3 -A 19 /S 6, 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 15 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 16 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 17 M.MezzalamaM. Rebaudengo, M. Sonza Reorda BHE Nell8086 il segnale BHE* (Bank Enable High) durante T 1 determina, insieme con A 0, la dimensione e lallineamento del tipo trasferito: BHE*A 0 00Parola Intera 01Byte superiore da/per indirizzo dispari 10Byte inferiore da/per indirizzo pari 11Nulla

18 18 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Segnali di Stato della Coda I segnali QS 0 e QS 1 segnalano allesterno che tipo di dato è stato appena estratto dalla coda: QS 0 QS 1 00Nulla 01Primo Byte 10Coda Vuota (istruz. di salto) 11Byte successivo al primo

19 19 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 20 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Request/Grant Nei sistemi multiprocessore, sono utilizzati per eseguire il passaggio del controllo del bus da un processore ad un altro.

21 21 M.MezzalamaM. Rebaudengo, M. Sonza Reorda PENTIUM ABUS (A31-A3, BE7-BE0) DBUS (64 bit) ADS Stato (D/C, W/R,M/IO) READY BIT PARITA (DP/-DP0) DMA INTERRUPT L1/L2 cache Control (MESI) MULTIPROC. SYNCR

22 22 M.MezzalamaM. Rebaudengo, M. Sonza Reorda

23 23 M.MezzalamaM. Rebaudengo, M. Sonza Reorda PENTIUM BUS CYCLE Nel pentium esistono due tipi di cicli: single transfert: trasferimento di un solo dato Burst cycle: trasferimento di 4*64 bit (32 byte) effettuato per aggiornamento della L1 cache nei casi di cache miss

24 24 M.MezzalamaM. Rebaudengo, M. Sonza Reorda 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 25 M.MezzalamaM. Rebaudengo, M. Sonza Reorda CICLO DI BUS CON DATA BUS A 32 BIT (ciclo scrittura)

26 26 M.MezzalamaM. Rebaudengo, M. Sonza Reorda CICLO DI BUS CON DATA BUS A 32 BIT (ciclo scrittura con wait)


Scaricare ppt "1 M.MezzalamaM. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Mezzalama - M. Rebaudengo - M. Sonza Reorda BUS DI."

Presentazioni simili


Annunci Google