Dal collo di bottiglia di Neumann

Il collo di bottiglia di von Neumann è una limitazione della velocità di trasmissione causata dall'architettura standard dei personal computer.

Il termine prende il nome da John von Neumann, che ha sviluppato la teoria alla base dell'architettura dei computer moderni. I primi computer ricevevano programmi e dati da elaborare mentre erano in esecuzione. Von Neumann ha avuto l'idea alla base del computer con programma memorizzato, il nostro modello standard, noto anche come dall'architettura Neumann. Nell'architettura von Neumann, programmi e dati sono tenuti in memoria; il processore e la memoria sono separati ei dati si spostano tra i due. In quella configurazione, la latenza è inevitabile.

Inoltre, negli ultimi anni, le velocità del processore sono aumentate in modo significativo. I miglioramenti della memoria, d'altra parte, sono stati principalmente nella densità - la capacità di memorizzare più dati in meno spazio - piuttosto che nelle velocità di trasferimento. Con l'aumentare della velocità, il processore ha trascorso una quantità crescente di tempo inattivo, in attesa che i dati venissero recuperati dalla memoria. Non importa quanto velocemente possa funzionare un dato processore, in effetti è limitato alla velocità di trasferimento consentita dal collo di bottiglia. Spesso, un processore più veloce significa semplicemente che passerà più tempo inattivo.

Il collo di bottiglia di von Neumann è stato spesso considerato un problema che può essere superato solo attraverso modifiche significative alle architetture dei computer o dei processori.

Gli approcci per superare il collo di bottiglia di von Neumann includono:

  • Caching: l'archiviazione dei dati utilizzati di frequente in un'area speciale (solitamente RAM), in modo che sia più facilmente accessibile rispetto a se fosse archiviata nella memoria principale.
  • Precaricamento: spostamento di alcuni dati nella cache prima che venga richiesto per accelerare l'accesso in caso di richiesta.
  • Multithreading: gestione di più richieste contemporaneamente in thread separati.
  • Nuovi tipi di RAM (memoria ad accesso casuale), ad esempio, DDR SDRAM, che attiva l'output sia sul fronte di salita che su quello di discesa del clock di sistema anziché solo sul fronte di salita, per potenzialmente raddoppiare l'output.
  • RAMBUS - un sottosistema di memoria costituito dalla RAM, dal controller RAM e dal bus (percorso) che collega la RAM al microprocessore e ai dispositivi nel computer che la utilizzano.
  • Processing in memory (PIM), che integra un processore e una memoria in un unico microchip.

 Vedi anche: velocità di trasferimento dati, larghezza di banda, disco rigido, istruzioni, ingresso / uscita (I / O), memoria di sola lettura (ROM), Guida rapida alla RAM