Come fa la CPU a sapere quando ha ricevuto dati e istruzioni RAM?

3

Bene, il titolo è praticamente auto esplicativo, ma lo esporrò un po 'e dirò l'origine della mia domanda.

Quindi, mi sono chiesto come la CPU sa quando ha ricevuto la RAM. Sono abbastanza sicuro che non OPPURE le uscite RAM insieme, perché 0x00 è ancora un numero, eppure ORing dice che la RAM non ha prodotto nulla. La RAM ha una sorta di linea "richiesta di conferma"? Beh, il mio amico stava facendo una CPU MC, e ha usato gli interrupt per la lettura della RAM, quindi è da lì che ho avuto questa idea.

Comunque, l'origine del mio problema è probabilmente quando pensavo alla memoria virtuale. Nella memoria virtuale, devi recuperare dal disco e dalla RAM. Come si compensa il divario tra le velocità? Possa anche questa risposta?

    
posta Myrl 17.11.2013 - 02:43
fonte

1 risposta

11

Sì, c'è un segnale di conferma dati. Asserisce che i dati sono stati collocati sul bus di memoria ed è disponibile per il processore per la lettura.

In breve, il ciclo di lettura della memoria funziona così :

  1. Il processore avvia un ciclo di bus di lettura facendo fluttuare l'indirizzo della posizione di memoria sulle linee di indirizzo.
  2. Una volta che le linee di indirizzo sono stabili, il processore asserisce il segnale di strobe dell'indirizzo sul bus. Lo strobe dell'indirizzo segnala la validità delle linee di indirizzo.
  3. Il processore imposta quindi il segnale di lettura / scrittura su alto, ovvero leggi
  4. Ora il processore asserisce il segnale di strobe dei dati. Questo segnala alla memoria che il processore è pronto per leggere i dati.
  5. Il sottosistema di memoria decodifica l'indirizzo e posiziona i dati sulle linee dati.
  6. Il sottosistema di memoria quindi asserisce il segnale di conferma dati. Questo segnala al processore che i dati validi possono ora essere bloccati in.
  7. Il processore si aggancia ai dati e annulla lo strobo dei dati. Questo segnala alla memoria che i dati sono stati bloccati dal processore. Il processore nega anche il segnale di strobe dell'indirizzo.
  8. Il sottosistema di memoria ora annulla il segnale di conferma dei dati. Questo segnala la fine del ciclo del bus di lettura.

Il segnale di riconoscimento dati è affermato al punto 6.

I processori compensano il tempo necessario per leggere la memoria imponendo Wait States . Tuttavia, la memoria virtuale è una funzione del sistema operativo, quindi il sistema operativo gestisce il tempo necessario per leggere i dati dall'hard disk e scambiarli in memoria, dove la CPU può leggerli nel solito modo.

In termini semplici, la CPU attende semplicemente un ciclo finché i dati non sono disponibili.

    
risposta data 17.11.2013 - 03:49
fonte

Leggi altre domande sui tag