Ombrescure2
Ominide
1 min. di lettura
Vota 3 / 5

Concetti Chiave

  • Il polling è una modalità dove la CPU verifica ciclicamente la disponibilità delle periferiche per lo scambio di dati.
  • Nel polling, la CPU utilizza un bit specifico per determinare se una periferica è occupata o disponibile.
  • Il processo di fend shake nel polling avviene prima dello scambio, assicurando che entrambi i dispositivi siano pronti.
  • Il Direct Memory Access (DMA) utilizza un controller dedicato per gestire il trasferimento dei dati senza l'intervento della CPU.
  • Il controller DMA impiega registri per specificare l'indirizzo di memoria e il numero di byte da trasferire.

Le modalità di scambio fra CPU e periferiche sono tre. In questo appunto analizzeremo le prime due modalità: il (I) polling e DMA (II)
(I) sarà il processore a verificare la disponibilità di una periferica, attraverso un bit che indicherà quando è a 0, la periferica è disponibile a uno scambio, se è a 1 è occupata. Nel caso in cui la trova disponibile prima di iniziare il trasferimento compie una azione di fend shake che consiste nel stabilire se entrambi sono pronti allo scambio attraverso dei segnali specifici. La comunicazione inizia quando entrambi sono pronti. Nel momento dello scambio il bit di busy viene posto a 1 x indicare che la periferica è occupata. Il booling viene eseguito dalla CPU secondo un ordine prestabilito in modo ciclico. Questa tecnica ha lo svantaggio di sprecare tempo per la CPU per interrogare tutti i dispositivi, anche quando quello disponibile è quello della lista. E' adatta a periferiche come il mouse che viene interrogato 30 volte in un secondo.

(II) Per trasferire i dati con le memoria di massa il PC è dotato di un circuito chiamato controller DMA che si occupa del trasferimento dei gruppi di byte evitando che la CPU interferisca durante lo scambio di ciascun dato. Questo circuito è dotato di due registri:
- uno per indicare l'indirizzo della cella di memoria (RAM) in cui andare a leggere o scrivere il dato, questo registro viene impostato inizialmente dalla CPU.
- indica il numero di byte da scambiare con la periferica.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community