Ad un certo punto questo si pone sulla questione di ciò che conta anche come "RAM". Esistono molte CPU e microcontrollori che dispongono di molta memoria su chip per eseguire piccoli sistemi operativi senza chip RAM separati collegati. In realtà, questo è in realtà relativamente comune nel mondo dei sistemi embedded. Quindi, se ti riferisci semplicemente a non avere chip RAM separati collegati, allora sì, puoi farlo con molti chip attuali, specialmente quelli progettati per il mondo embedded. L'ho fatto da solo al lavoro. Tuttavia, poiché l'unica vera differenza tra memoria su chip indirizzabile e chip RAM separati è solo la posizione (e, ovviamente, la latenza), è perfettamente ragionevole considerare la memoria su chip come RAM. Se lo conti come RAM, allora il numero di corrente,
Se ti riferisci a un normale PC, no, non puoi eseguirlo senza RAM stick separate collegate, ma questo è solo perché il BIOS è progettato per non tentare di avviarsi senza RAM installata (che è, a sua volta, perché tutto i moderni sistemi operativi per PC richiedono l'esecuzione della RAM, soprattutto perché le macchine x86 in genere non consentono di indirizzare direttamente la memoria su chip; viene utilizzata esclusivamente come cache.)
Infine, come ha detto Zeiss, non esiste alcun motivo teorico che non si possa progettare un computer per funzionare senza alcuna RAM, a parte un paio di registri. La RAM esiste solo perché è più economica della memoria su chip e molto più veloce dei dischi. I computer moderni hanno una gerarchia di ricordi che vanno da grandi, ma lenti a molto veloci, ma piccoli. La gerarchia normale è qualcosa del genere:
- Registri: molto veloci (possono essere gestiti direttamente dalle istruzioni della CPU, generalmente senza latenza aggiuntiva), ma di solito molto piccoli (i core del processore x86 a 64 bit hanno solo 16 registri di uso generale, ad esempio, ognuno dei quali è in grado di memorizzare un numero singolo a 64 bit.) Le dimensioni dei registri sono generalmente ridotte perché i registri sono molto costosi per byte.
- Cache CPU: ancora molto veloci (spesso con una latenza di 1-2 cicli) e significativamente più grandi dei registri, ma comunque molto più piccole (e molto più veloci) della normale DRAM. La cache della CPU è anche molto più costosa per byte della DRAM, motivo per cui è in genere molto più piccola. Inoltre, molte CPU hanno gerarchie anche all'interno della cache. Di solito hanno cache più piccole e più veloci (L1 e L2) oltre a cache più grandi e più lente (L3.)
- DRAM (quella che la maggior parte delle persone definisce "RAM") - Molto più lenta della cache (la latenza di accesso tende a essere decine a centinaia di cicli di clock), ma molto più economica per byte e, quindi, in genere molto più grande della cache. La DRAM è comunque, molte volte più veloce dell'accesso al disco (di solito da centinaia a migliaia di volte più veloce).
- Dischi: sono di nuovo molto più lenti della DRAM, ma generalmente anche molto più economici per byte e, quindi, molto più grandi. Inoltre, i dischi sono in genere non volatili, il che significa che consentono il salvataggio dei dati anche dopo la fine di un processo (nonché dopo il riavvio del computer).
Si noti che l'intero motivo delle gerarchie di memoria è semplicemente l'economia. Non vi è alcuna ragione teorica (almeno non nell'ambito dell'informatica) per cui non potremmo avere un terabyte di registri non volatili su un dado CPU. Il problema è che sarebbe follemente difficile e costoso da costruire. Avere gerarchie che vanno da piccole quantità di memoria molto costosa a grandi quantità di memoria economica ci consente di mantenere velocità elevate con costi ragionevoli.