devilheart
Tutti i processori x86 (dall'8086 con 20 bit di indirizzi ad un ivy bridge) utilizzano il memory mapped I/O per accedere alla memoria locale di qualsiasi altro componente (scheda video, scheda audio, scheda di rete, porta seriale,...). Questo significa che la la memoria di un componente è mappata nello spazio d'indirizzamento (i famosi 32 bit d'indirizzamente) di ogni processo del sistema. Ai tempi del DOS, lo spazio di memoria compreso tra i primi 640K e il primo mega serviva proprio a questo. Un accesso RAM a questi indirizzi in realtà corrisponde ad un accesso alla memoria al di fuori della ram. Questo significa che parte degli indirizzi virtuali (quelli che vede il software) non sarà utilizzabile per indirizzare la RAM, ed è il motivo per cui le utility riportano una quantità totale di memoria così inferiore rispetto al totale fisico. Gli indirizzi mappati sono visibili nella pagina delle risorse di ogni componente in Gestione Dispositivi (non ricordo come si chiama sui windows italiani).
Importante: questo NON signfica che il componente sta usando la RAM centrale come una sua memoria locale (ed è quello che fanno le schede video integrate)