Question

Je viens de commencer la programmation en langage Assembly et lors du premier cours, notre professeur nous a parlé d'Intel 8080 et d'Intel 8085 et il a dit qu'il y avait 64 Ko de mémoire avec ces processeurs.

Maintenant, je veux savoir comment trouver cette quantité de mémoire avec un processeur spécifique, par exemple, j'ai un processeur de 1,8 Ghz, maintenant comment puis-je connaître la quantité de mémoire qui peut être utilisée avec ce processeur.

ce que j'essaie de demander, c'est de me dire la méthode par laquelle nous pouvons connaître cette quantité de mémoire ?

Était-ce utile?

La solution

Il dépend du nombre de bits (physique) traitant les supports de CPU, le nombre de bits d'adresse est typiquement <= le nombre de bits dans un registre d'adresse, par exemple.

8085/Z80 - 16 bit address registers - 16 bit addressing - 64 kB address space
68008 - 32 bit address registers - 20 bit addressing - 1 MB address space
68000 - 32 bit address registers - 24 bit addressing - 16 MB address space
68020 - 32 bit address registers - 32 bit addressing - 4 GB address space

Notez que de nombreux généralement prennent en charge que les processeurs 64 bits quelque chose comme un espace d'adressage 40 bits, à savoir 1 To.

Autres conseils

Habituellement, les processeurs sont conçus de sorte qu'un seul registre entier peut stocker l'adresse d'un emplacement mémoire. Par conséquent, la « quantité maximale de mémoire » est déterminée par la quantité de bits d'un registre (ou processeur). 32 bits est égal à 4 Go. 64 bits est égal à 16 exaoctets de RAM.

Cela dépend de l'architecture, mais un processeur sera limité par le nombre de lignes d'adresse dont il dispose.Avec un ancien processeur Pentium Pro 32 bits, 36 lignes d'adresse étaient prises en charge et le processeur pouvait donc prendre en charge jusqu'à 64 Go.Un processeur plus récent tel que le i7-860, qui est un processeur 64 bits, ne prend également en charge que 36 adresses physiques et est donc également limité à 64 Go.La quantité d'espace d'adressage physique peut être trouvée à l'aide du code d'instruction CPUID, d'autres processeurs peuvent utiliser des techniques différentes ou nécessiter la lecture de la fiche technique.On dirait que vous étudiez x86, donc dans ce cas, CPUID est ce que vous voulez si votre processeur le prend en charge.

Qu'est-ce que vous pointant vers en se référant à la « mémoire » de la mémoire virtuelle ou physique? En cas de mémoire virtuelle, il est de 4 Go pour les processeurs 32 bits, bien que vous ne pourriez pas obtenir tous à utiliser comme le système d'exploitation utilise une partie de celui-ci. A noter également la PAE (Extension d'adresse physique) pour votre CPU et si le système d'exploitation est en cours d'exécution d'un noyau PAE. Cela vous donnera plus de 4 Go de mémoire physique pour être installé et utilisé, mais l'espace d'adressage virtuel reste encore 4 Go. S'il vous plaît consulter:

http://en.wikipedia.org/wiki/Physical_Address_Extension

http://msdn.microsoft. com / fr-fr / bibliothèque / aa366796 (v = vs.85) .aspx

http://msdn.microsoft.com/en-us/windows/ matériel / gg487503

Eh bien, cela dépend de certaines variables.

Par exemple, un processeur 8 bits a des valeurs allant jusqu'à 255, qui a été figuré par la prise 2 à la huitième puissance, et en soustrayant la valeur d'une unité. Ce chiffre, 255, est le nombre d'octets de la CPU peut gérer, et la RAM ne peut pas dépasser ce montant.

Maintenant, l'étape d'un peu (pas de jeux de mots destinés). Un processeur 16 il a des valeurs jusqu'à 65535, et qui a été une fois de plus a compris en prenant 2 à la puissance seizième, puis soustrait par un (je suis sûr que vous obtenez maintenant la grande image). Cela signifie que nous pouvons avoir 65.535 octets de RAM ou 65.535 kilo-octets. Si tout va bien, cela commence à faire sens.

Un processeur 32 bits a des valeurs jusqu'à 4.294.967.295 (ces chiffres sont assez gros obtiennent). C'est 4,294,967,295 octets, ou 4.294967295 gigaoctets de RAM. Cette technologie a commencé à être utilisé beaucoup dans les années 90, et il reste encore aujourd'hui semi-populaire.

Mais, bien sûr, nous savons tous comment les changements technologiques rapidement et souvent, donc oui, il y a aussi des ordinateurs 64 bits, aussi bien que la technologie 32 bits est. Ceci est en fait le type de processeur le plus courant de nos jours. Ainsi, ils peuvent prendre en charge les valeurs de 18.446.744.073.709.551.615. Oui, et c'est aussi le nombre d'octets qu'il peut contenir, qui est égale à 18.446744073709551615 exaoctets.

Et, même si il n'y a actuellement aucun processeur qui peut contenir ce montant, il y a aussi des processeurs 128 bits. Ils peuvent contenir jusqu'à 340,282,366,920,938,463,463,374,607,431,768,211,455 octets de données, ce qui est aussi égal à 340,282366920938463463374607431768211455 ... euh ... eh bien, une mesure d'octets, qui se trouve être plus grand que yottaoctets, et pour autant que je sache, il n'y a pas d'unités de mesure d'octets au-delà. Mais, bon, ce que vous dit un processeur 128 bits peut gérer beaucoup, et nous pourrions être les voir dans un avenir lointain. Si les gens disent 128 bits, 64 bits, 32 bits, 16 bits ou 8 bits est parce qu'il est beaucoup plus facile que d'essayer de se rappeler tous les ceux que les grands nombres que chacun d'eux représente.

Alors, j'espère que cela aide. Je ne suis pas sûr que le 8 bits est le bon, parce que je sais que le NDA a 2 kilo-octets de RAM, ce qui dépasse 255 octets, mais je sais que tout le reste est correct. Si ce n'est pas correct, vous pouvez faire des recherches sur votre nom ainsi;).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top