bonjour a tous, voila je veux savoir comment calculer la taile mémoire maximale adressable par un microprocesseur (en generale)
et dans mon example processeur de 16 bits, ayant 20 ligne d'adresse et 10 ligne de controle comment faire merci
bonjour a tous, voila je veux savoir comment calculer la taile mémoire maximale adressable par un microprocesseur (en generale)
et dans mon example processeur de 16 bits, ayant 20 ligne d'adresse et 10 ligne de controle comment faire merci
Bonjour
Une adresse représente un chiffre comme le numéro dans une rue.
Exemple le numéro 1 de l'avenue toto ou le 2 de la rue tata.
Donc avec 20 bits comme un bit peut avoir 2 états bit = 1 ou bit = 0 il s'agit de puissance de deux il y aura donc :
2 puissance 20 (2^20) numéro d'adresse
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2^19 + 2^18 + 2^17 + 2^16 + 2^15 + 2^14 + 2^13 + 2^12 + 2^11 + 2^10 + 2^9 + 2^8 + 2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 2^20
524288+262144+131072+65536+32768+16384+8192+4096+2048+1024+512+256+128+64+32+16+8+4+2+1 = 10485576 adresses
10485576/1024 = 1024 Kilo adresses 1024/1024 = 1 Méga adresses
Ce qui fait un million d'adresses possibles
Donc un processeur qui adresse sur 20 bits peut adresser 1 million d'adresse mémoire donc une mémoire de 1 méga.
Mais comme il y a aussi de la mémoire utilisée pour le système, le DOS pour les processeur 16 bits qui utilisé un bus mémoire de 20 bits, comme le Intel 8086 adressait en réalité 640 Ko de mémoire RAM utile et 384 Ko de mémoire système dite Mémoire étendue pour les pilotes et le système.
Regarde (ICI) une petite explication
merci pour votre reponse mais j'ai pas bien compris si il nya pas 20 ligne d'adresse ou si le change le processeur de 32 par exemple vous pouvez donner une explication generale merci a vous
Oui excuse c'est une erreur d'inattention.
Je modifie
Merci Sevyc64
S'il y a 32 bits d'adressage c'est 2 puissance 32 (2^32) 64 bits d'adressage c'est 2 puissance 64 (2^64)
2 puissance 32 c'est du 4 Gigaoctets de mémoire pour le 64 bits 16 exbioctets ainsi de suite
Images de Wikipédia sur la quantité d'octet en binaire.
vous pouvez expliquer si il nya pas 20 ligne d'adresse juste processeur 16 bits ou 32 bits merci
Je ne comprends pas ce que tu veux.
merci jml pour votre reponse moi je veux les chose en generale et puis un exemple pour comprendre ;comment calculer la taille memoire maximale d'un microprocesseur puis donner les exemple comme mon premier il ya 20 ligne d'adresse etc....
et pour l'occasion je cherche
en assembleur la difference entre directive et instruction
mercci a vous
Bonjour
Je ne peux pas répondre.
En assembleur une instruction est une commande ou un contrôle symbolisé par un code comme l'instruction "jmp" qui veux dire faire un saut inconditionnel faire un jump en Anglais.
Une directive sert à l'assemblage du programme c'est à dire que lors de la compilation le compilateur saura ce qu'il faut faire.
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Instruction : 0000:000A jmp 0000:0010 0000:000B add 0000:000C jnz 0000:000D mov 0000:000E mov 0000:000F int 0000:0010 mov ax:bx c'est une instruction qui veut dire faire un saut à l'adresse 0000:0010 qui contient l'instruction mov ax:bx Directive d'assemblage : saut1: mov ax:bx mov add jnz jmp saut1: C'est une directive d'assemblage qui veut dire faire un saut à l'étiquette saut1: qui représente une adresse mémoire qui contient l'instruction mov ax:bx et qui sera calculé lors de l'assemblage du programme
Si tu as X lignes d'adresse, tu as un espace d'adressage de 2^X adresses.
Ensuite il faut regarder les caractéristiques de chaque processeur pour savoir comment est géré cet espace d'adressage.
Pour certains c'est un espace absolu, il est donc à partager entre la mémoire morte, la ram, les périphériques, etc ...
Certains font la différence entre périphériques et mémoire, d'autres encore différencie même les mémoires ram et rom. Ainsi tu as l'espace d'adressage complet pour chaque élément et non plus à partager.
Tu peux aussi avoir un adressage par système de pages avec ton 2^X multiplié par le nombre de pages gérées.
Il existe aussi les systèmes en ligne/colonne ou les lignes d'adresses indiquent tour à tour la ligne et la colonne choisie. Là tu te retrouve avec un espace d'adressage de 2^(X*X).
Il n'y a donc pas de généralité. Il faut connaitre le mode de gestion des adresses du processeur en question.
merci pour votre reponse et excusez moi pour la derniere fois j'ai un probleme de calcule le timer par example pour 130ms et un quartz de 8mhz le timer egale a 217 mais comment fait le calcule parce que j'ai essayer pour 60ms sue un quartz de 4mhz et 8 mhz j'ai pas trouve merci
merci a vous il me reste que la communication serie pour pic
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager