Moon Knight (Ex-Member)
Rookie
Messaggi: 47
Iscritto: 07/12/2009
|
Avevo dei dubbi sull'architettura dei processori presenti (e passati): quando si parla di processori a 32 bit si intende che vi sono 32 bit che possono essere usati per codificare l'istruzione da effettuare. Cioè se l'istruzione WRITE ha come codice 0001, si presenterebbe così al processore:
0000000..0001 01011 0101011101010101 -> totale 32 bit
^istruzione ^tip. ^dati/indicazione dati
indirizzamento
per i dati
(immediato, registro, ...)
Invece cosa vuol dire quando si parla di "sistemi operativi a x bit"? (se esiste questo concetto)
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Per processore a 32 bit si intende un processore che utilizza 32 bit per "lo spazio degli indirizzi".
Un sistema operativo a 32 bit presuppone l'utilizzo di 32 bit per lo spazio degli indirizzi ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
Moon Knight (Ex-Member)
Rookie
Messaggi: 47
Iscritto: 07/12/2009
|
cosa intendi per lo spazio di indirizzi? riuscire a prelevare un dato in memoria sfruttando 32 bit?
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Postato originariamente da Moon Knight:
cosa intendi per lo spazio di indirizzi? riuscire a prelevare un dato in memoria sfruttando 32 bit? |
Non c'e' un "mio modo" di intendere lo "spazio degli indirizzi" ... è lo spazio disponibile ai processi (siano di tipo kernel che user) che la CPU può gestire ...
Per intenderci ... un "puntatore" per una CPU a 32 bit puo' essere, al massimo, di 32 bit ... :-) Ultima modifica effettuata da nessuno il 21/01/2010 alle 15:27
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
Ci sono alcune eccezioni importanti di cui tener conto:
sui processori x86 a 32 bit, con PAE attivo, un puntatore può essere di 36 bit, ma solo in modalità kernel e solo tramite uno scomodo sistema di indirizzamento. Questo meccanismo viene usato da Solaris, FreeBSD, da Linux, MacOSX e alcune versioni (server) di Windows, nei sistemi server per gestire fino a 64GB di ram al posto dei teorici 4GB.
Poi, sui vecchi processori ARM, nonostante l'architettura sia interamente a 32 bit, gli indirizzi erano a 26 bit (di cui 24 espliciti, e i 2 bit meno significativi sempre posti a zero), con uno spazio di indirizzi quindi di 64MB. E c'era anche l'intel 8080, con spazio di indirizzi a 16bit ma processore interamente (bus, registri e ALU) a 8 bit...
Poi c'erano i PowerPC con Altivec, coprocessore vettoriale a 128bit ma con spazio di indirizzi a 32. Ed esistono numerosi altri esempi del genere...
insomma quella dei bit è più una questione di marketing che di tecnologia vera e propria, fanno la gara a chi ce l'ha più lungo... XD
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Postato originariamente da TheKaneB:
sui processori x86 a 32 bit, con PAE attivo, un puntatore può essere di 36 bit, ma solo in modalità kernel e solo tramite uno scomodo sistema di indirizzamento. Questo meccanismo viene usato da Solaris, FreeBSD, da Linux, MacOSX e alcune versioni (server) di Windows, nei sistemi server per gestire fino a 64GB di ram al posto dei teorici 4GB.
|
Nel caso di PAE, nessun processo può "vedere" tutti e 64 GB. Gli indirizzi sono sempre a 32 bit e ogni processo ha il classico spazio di indirizzi da 4 GB. Il sistema si occupa di "paginare" i 4 GB all'interno dei 64 GB.
Insomma, è una normale architettura a 32 bit con il "trucco" ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|
TheKaneB (Member)
Guru^2
Messaggi: 1792
Iscritto: 26/06/2009
|
beh, non volevo entrare in tecnicismi, ma visto che ormai ci siamo...
con "scomoda modalità di indirizzamento" intendo il setup della Page Table, fattibile solo con istruzioni in Ring 0 (quindi solo in modalità kernel). Ma da un punto di vista hardware i bit del bus degli indirizzi (a valle della MMU, che comunque è integrata nello stesso die della CPU) sono realmente 36, anche se a monte il Program Counter della CPU resta a 32 bit (e quindi anche il virtual address space).
Il succo è comunque che può indirizzare 64GB di memoria, come spazio di memoria fisica, nonostante sia un'architettura a 32bit... quindi rientra tra gli esempi di architetture a N bit, ma con spazio degli indirizzi ad M bit. Se la mia memoria non fa cilecca, nella versione originale di questa ISA (quindi nel vecchio 386 e fino al 486), non c'era il PAE, il "trucco" l'hanno messo in seguito, mi pare con i 686, quindi pentium II / pentium-pro a seguire... e comunque solo nelle cpu di fascia alta, ad esempio mi pare di ricordare che gli atom e alcuni tipi di celeron mobile non abbiano avuto mai il PAE...
|
|
nessuno (Normal User)
Guru^2
Messaggi: 6402
Iscritto: 03/01/2010
|
Postato originariamente da TheKaneB:
Il succo è comunque che può indirizzare 64GB di memoria, come spazio di memoria fisica, nonostante sia un'architettura a 32bit... |
Certo ... fisicamente erano presenti nella CPU ... mai detto il contrario ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |
|