combien de mémoire peut-on Accéder à une machine 32 bits?

qu'entend-on par machine 32 bits ou 64 bits?

c'est l'architecture du processeur...une machine 32 bits peut lire et écrire des données 32 bits de la même manière avec une machine 64 bits....

Quelle est la mémoire maximale à laquelle une machine 32 bits peut accéder?

C'est 2^32=4Gb (4Gigabit = 0.5 gigaoctet)

cela signifie 4 Go de ram?

si je considère la même façon pour une machine 64 bits alors je peux avoir une ram de 16ExbiBytes ..est-ce que possible?

Est-ce que mes concepts sont justes?

45
demandé sur JerryGoyal 2012-01-15 16:19:40

7 réponses

Oui, une architecture 32 bits se limite à traiter un maximum de 4 gigaoctets de mémoire. Selon le système d'exploitation, ce nombre peut être réduit encore davantage grâce à réservés espace d'adressage.

cette limitation peut être supprimée sur certaines architectures 32 bits via l'utilisation de PAE (Physical Address Extension), mais il doit être supporté par le processeur. PAE permet au processeur d'accéder à plus de 4 Go de mémoire, mais cela ne change pas la quantité de espace d'adresse Disponible pour un seul processus-chaque processus serait encore limité à un maximum de 4 Go d'espace d'adresse.

et oui, théoriquement une architecture 64 bits peut traiter 16,8 millions de teraoctets de mémoire, soit 2^64 octets. Mais je ne crois pas que les implémentations populaires actuelles le supportent totalement; par exemple, L'architecture AMD64 ne peut traiter que jusqu'à 1 téraoctet de mémoire. En outre, votre système d'exploitation mettra également des limites sur la quantité de, de mémoire adressable. De nombreuses versions de Windows (en particulier les versions conçues pour une utilisation à domicile ou en dehors du serveur) sont arbitrairement limitées.

38
répondu Cody Gray 2012-01-15 12:31:18

ce que l'on entend généralement par machine 32-bit ou 64-bit est la taille des registres integer externes visibles ("architecturés") à usage général.

Cela a très peu à voir avec la façon dont le matériel est construit mais. Par exemple, considérons le (depuis longtemps obsolète) Intel Pentium Pro. Il est normalement considéré comme un processeur "32 bits", même s'il supporte jusqu'à 36 adresses physiques, a un bus de données 64 bits de large, et les calculs internes sur tous les types d'opérande pris en charge sont réalisé en un seul ensemble de registres (qui sont donc 80 bits de large, pour soutenir le plus grand type de point flottant).

au moins dans le cas des processeurs Intel, même si plus gros physique l'adressage est disponible depuis longtemps, la plus grande quantité de mémoire directement visible dans l'espace d'adressage d'un processus sur un processeur 32 bits est également limitée à 4 gigaoctets (adressage 32 bits). L'adressage physique à 36 bits permet d'adresser jusqu'à 64 gigaoctets de RAM, mais seulement 4 gigaoctets peuvent être directement visibles à tout moment.

le passage à des machines 64 bits implique surtout de changer ce qui est rendu visible à l'utilisateur (ou de coder au niveau du langage assembleur). Encore une fois, ce que vous voyez est rarement identique à ce qui est réel. Par exemple, la plupart des codes 64 bits voient les pointeurs/adresses comme étant 64 bits, mais les processeurs actuels ne supportent pas cette taille d'adresses. Les CPU actuels prennent en charge les adresses virtuelles de 48 bits, et (au moins dans la mesure où comme je l'ai remarqué) un maximum de 40 bits d'adressage physique. D'un autre côté, ils sont conçus de sorte que dans l'avenir, quand une plus grande mémoire devient pratique, ils peuvent étendre l'adressage physique à 48 bits sans affecter le logiciel du tout. Même lorsqu'ils augmentent l'adressage virtuel de 48 bits, dans un cas typique, cela n'affectera qu'une petite partie du noyau du système d'exploitation (le code normal n'est pas affecté, car il suppose déjà que les adresses sont de 64 bits).

donc, non: un 64-bit la machine ne vraiment en charge jusqu'à 64 bits d'adressage physique, mais la plupart des logiciels 64 bits typiques doivent rester compatibles avec un futur processeur qui supporte directement l'adressage de cette quantité de mémoire vive.

18
répondu Jerry Coffin 2014-01-06 08:30:44

pour revenir à une idée très basique, nous avons 32 bits pour nos adresses mémoire. Cela équivaut à 2^32 combinaisons uniques d'adresses. Par convention, chaque adresse renvoie à un octet de données. Par conséquent, nous pouvons accéder à un total de 2^32 octets de données.

dans un OS 32 bits, chaque registre stocke 32 bits ou 4 octets. 32 bits (1 mot) d'information sont traités par cycle d'horloge. Si vous voulez accéder à un octet particulier, conceptuellement, nous pouvons "extraire" les octets individuels (par ex. octet 0, octet 1 octet 2, octet 3 etc.) en effectuant des opérations logiques en bits.

6
répondu Kevin Lee 2014-11-26 14:22:36

en gros, l'architecture 32bit peut traiter 4GB comme prévu. Il existe certaines techniques qui permettent au processeur d'adresser plus de données comme AWE ou PAE.

5
répondu rkosegi 2012-01-15 12:25:30

Oui, sur une machine 32 bits, la quantité maximale de mémoire utilisable est d'environ 4 Go. En fait, selon le système D'exploitation, cela pourrait être moins dû au fait que certaines parties de l'espace d'adresse sont réservées: sur Windows, vous ne pouvez utiliser que 3,5 Go par exemple.

sur 64bit vous pouvez en effet adresser 2^64 octets de mémoire. Non pas que vous aurez jamais ces - mais encore une fois, il ya longtemps la même chose a été dit à propos de jamais besoin de plus de 640kb de mémoire...

4
répondu ThiefMaster 2012-01-15 12:24:09

non vos concepts ne sont pas justes. Et de la mettre à droite vous avez besoin de la réponse à la question que vous avez une réponse incorrecte:

qu'entend-on par machine 32 bits ou 64 bits?

la réponse à la question est "quelque chose d'important dans le CPU est 32 bits ou 64 bits". La question est donc de savoir ce que cela signifie? Beaucoup de gens disent la largeur de bus de données qui déterminent si la machine est 32bit ou 64 bits. Mais aucun des les derniers processeurs 32 bits ont des bus de données 32 bits ou 64 bits de large. la plupart des systèmes 32 bits auront 36 bits au moins pour supporter plus de RAM. La plupart des processeurs 64 bits n'ont pas plus de 48bit large bus de données parce que c'est déjà beaucoup de mémoire.

donc selon moi une machine 32 bits ou 64 bits est déterminée par la taille de ses registres à usage général utilisés dans le calcul ou "la taille du mot naturel" utilisé par l'ordinateur.

notez qu'un OS 32 bits est une chose différente. Vous pouvez avoir un OS 32 bits tournant sur un ordinateur 64 bits. De plus, vous pouvez avoir une application 32 bits tournant sur OS 64 bits. Si vous ne comprenez pas la différence, postez une autre question.

donc la quantité maximale de RAM qu'un processeur peut traiter est de 2^(largeur du bus de données en bits), étant donné que le mode d'adressage approprié est activé dans le processeur.

autre remarque, rien n'empêche quelqu'un d'introduire un multiplex entre le Bus de données et les banques de mémoire, qui sélectionneront une banque puis adresseront la mémoire vive (en deux étapes). De cette façon, vous pouvez adresser encore plus de RAM. Mais c'est peu pratique et très inefficace.

2
répondu Saurabh 2012-01-18 10:28:12

en gros, le terme "machine X-bit" ne dépend pas de votre machine. C'est pourquoi nous n'avons pas besoin de changer nos sous-traitants ou d'autres matériels afin de migrer d'un système 32 bits à 64 bits (ou l'inverse).

32bit et 64bit représente la capacité d'adressage du système d'exploitation sur votre machine.

cependant, cela ne signifie pas qu'un système d'exploitation x-bit est capable d'adresser la mémoire 2^x GB. Parce que le "B" dans "GB" signifie "byte"et non "bit". Un byte égale 8 bits.

en fait un système 32bit ne peut même pas adresser 2^32/8 = 2^29 GB d'espace mémoire alors qu'il devrait y avoir une certaine mémoire réservée à L'OS.

c'est quelque chose juste en dessous de 3 Go.

-3
répondu antonio 2013-10-27 02:12:43