Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1101 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  [Architecture de l'ordi] Taille bus d'adresses, (Résolu)

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Architecture de l'ordi] Taille bus d'adresses, (Résolu)

n°1520266
bad___day
Posté le 26-02-2007 à 16:27:52  profilanswer
 

Salut,
Je voudrais savoir est ce que c'est possible de trouvé la taille du bus d'adresse si on connais la taille de la memoire centrale ?
y a t il une relation ?
 
merci


Message édité par bad___day le 01-03-2007 à 16:39:07
mood
Publicité
Posté le 26-02-2007 à 16:27:52  profilanswer
 

n°1520267
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-02-2007 à 16:29:44  profilanswer
 

aucune relation

n°1520274
bad___day
Posté le 26-02-2007 à 16:39:51  profilanswer
 

Harkonnen a écrit :

aucune relation


J'ai pourtant trouvé des questions de ce genre sur des sujet d'examen, sur le net !

 

EDIT: cf:
http://www-gtr.iutv.univ-paris13.f [...] ture/Exams
 Correction CC1 (2eme liens) par exemple.

 


Message édité par bad___day le 26-02-2007 à 16:57:40
n°1520278
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-02-2007 à 16:44:36  profilanswer
 

ton lien est foireux... quant au rapport entre la taille du bus d'adresses et la quantité de mémoire présente, je serais curieux de le connaitre (ou plutot de lire les arguments de ceux qui disent qu'il y en a un)

n°1520282
bad___day
Posté le 26-02-2007 à 16:47:29  profilanswer
 

voila, j'ai édité le lien.

 

Sinon je remet la question du lien directement ici:
Quelle doit être la taille du bus d'adresses d'un processeur 16 bit, pour qu'il puisse accéder à une mémoire de 8ko ?

  


En suivant ce que j'ai trouvé en cherchant sur google:
http://fr.wikipedia.org/wiki/Chip_ [...] pplication

Citation :

Suivant le nombre de fils que possède le bus d'adresse d'un microprocesseur, on peut déterminer la taille mémoire maximum qu'il peut adresser.

 

eig.unige.ch/~abdennad/education/sye/gestion-memoire/cours-gm.pdf

Citation :

taille du bus d%u2019adresse indique la taille de la mémoire centrale que le processeur peut. adresser. Il est, par exemple, inutile d%u2019avoir une mémoire supérieur à 32 octet si le bus d'adresses est inférieur à 32 bit

 

Il y a bien une relation donc... Mais je n'arrive pas à bien comprendre le truc !

 


Message édité par bad___day le 26-02-2007 à 17:42:59
n°1520301
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-02-2007 à 17:08:22  profilanswer
 

il y a une relation avec la taille mémoire maximum, mais pas avec la taille de la mémoire physiquement présente sur la machine.
tu peux très bien avoir un processeur 32 bits (donc en théorie capable d'adresser 4 Go de mémoire maximum) et n'avoir que 32 Mo de RAM sur ta machine.

Message cité 1 fois
Message édité par Harkonnen le 26-02-2007 à 17:25:23
n°1520313
bad___day
Posté le 26-02-2007 à 17:20:03  profilanswer
 

Arréte moi si je me trempe, mais,
Si on à un bus de taille de 16 ligne, ( dans une architecture 8086 par exemple ),
il y auras 2 puissance 16 possibilité de représenté des adresse différente ! . donc la mémoire centrale sera adresser de 0 à (2 puissance 16)-1
donc la taille de la mémoire centrale sera de 2 puissance 16 octets !

 

Non ?

 


Message édité par bad___day le 26-02-2007 à 17:25:03
n°1520315
Taz
bisounours-codeur
Posté le 26-02-2007 à 17:23:35  profilanswer
 

dépend de la taille de la plus petite unité adressable.

n°1520319
bad___day
Posté le 26-02-2007 à 17:27:31  profilanswer
 

Taz a écrit :

dépend de la taille de la plus petite unité adressable.


2 octet par exemple.
( la mémoire centrale sera donc divisé en deux bonks. un d'adresse paire et autre d'adresse impaire  ) dans notre exemple.

 

Alors ?

 

Message cité 1 fois
Message édité par bad___day le 27-02-2007 à 17:54:12
n°1520321
Taz
bisounours-codeur
Posté le 26-02-2007 à 17:29:12  profilanswer
 

Vas-y c'est intéressant ce que tu racontes. Et si c'est 36bits, tu nous refais le coup des paires/impaires ?

mood
Publicité
Posté le 26-02-2007 à 17:29:12  profilanswer
 

n°1520326
tbp
Posté le 26-02-2007 à 17:31:12  profilanswer
 

Sauf qu'il y a tjs la vielle astuce de l'adressage par banque, cf le C=64 ou plus récement dans le même genre PAE, ou l'on peut adresser une memoire physique plus importante que ce que permet le bus d'adresse du processeur (et ou on bascule entre les différentes banques par un mécanisme ad hoc).
 
edit: http://sta.c64.org/cbm64mem.html $0001 / Bits #0-#2


Message édité par tbp le 26-02-2007 à 17:37:10
n°1520338
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-02-2007 à 17:35:20  profilanswer
 

tiens, j'ai failli encore me faire griller, j'allais effectivement parler de la mémoire paginée

n°1520345
bad___day
Posté le 26-02-2007 à 17:39:26  profilanswer
 

Taz a écrit :

Vas-y c'est intéressant ce que tu racontes. Et si c'est 36bits, tu nous refais le coup des paires/impaires ?


Oué oué je sais , mais là je ne donnais qu'un exemple... enfin bref.
 
ok, donc tu voulais dire quoi par: trouvé la taille du bus d'adresse si on connais la taille de la mémoire, dépend de la taille de la plus petite unité adressable ?
Comment ça ? peut tu m'expliquer stp ?


Message édité par bad___day le 26-02-2007 à 17:54:34
n°1520362
tbp
Posté le 26-02-2007 à 17:47:48  profilanswer
 

Harkonnen a écrit :

tiens, j'ai failli encore me faire griller, j'allais effectivement parler de la mémoire paginée


Hmm. La pagination c'est autre chose; mais vu que je ne suis pas certain de la terminologie (surtout en français) pour l'adressage par banque, je ne vais pas faire le pénible.
 
edit: finalement si, je vais faire mon pénible.
http://en.wikipedia.org/wiki/Bank_switching
http://en.wikipedia.org/wiki/Paging


Message édité par tbp le 26-02-2007 à 17:50:51
n°1520421
bad___day
Posté le 26-02-2007 à 18:34:01  profilanswer
 

Harkonnen a écrit :

tu peux très bien avoir un processeur 32 bits (donc en théorie capable d'adresser 4 Go de mémoire maximum) et n'avoir que 32 Mo de RAM sur ta machine.


Mais dans ce cas il y auras des lignes du bus d'adresses qui ne vont servir à rien , (c'est inutile!).
 

n°1520676
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 27-02-2007 à 09:00:18  profilanswer
 

bad___day a écrit :

Mais dans ce cas il y auras des lignes du bus d'adresses qui ne vont servir à rien , (c'est inutile!).


réflechis un peu :sarcastic:

n°1521057
bad___day
Posté le 27-02-2007 à 16:00:09  profilanswer
 

Harkonnen a écrit :

réflechis un peu :sarcastic:


pour trouvé que ... ?
 

n°1521074
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 27-02-2007 à 16:18:38  profilanswer
 

déjà ce ne sont pas "des lignes du bus d'adresses qui ne serviront à rien". ça n'a aucun sens de dire ça. que ta machine possède 32 Mo ou 4 Go, les adresses restent en 32 bits.
si je suis ta logique, ça veut dire qu'avec mes 32 Mo de RAM, je n'aurais que 15 lignes d'utilisées, donc que mes adresses mémoires seront codées en 15 bits. autant te dire que rien ne tournera sur ma machine....
baisser la taille de la RAM ne restreint juste que le nombre d'adresses disponibles, pas la largeur du bus

n°1521089
bad___day
Posté le 27-02-2007 à 16:41:28  profilanswer
 

Harkonnen a écrit :

déjà ce ne sont pas "des lignes du bus d'adresses qui ne serviront à rien". ça n'a aucun sens de dire ça. que ta machine possède 32 Mo ou 4 Go, les adresses restent en 32 bits.
si je suis ta logique, ça veut dire qu'avec mes 32 Mo de RAM, je n'aurais que 15 lignes d'utilisées, donc que mes adresses mémoires seront codées en 15 bits. autant te dire que rien ne tournera sur ma machine....
baisser la taille de la RAM ne restreint juste que le nombre d'adresses disponibles, pas la largeur du bus


Non !, en suivant ma logique,
Avec 15 ligne tu peut t'auras 32 Ko de RAM, et pas 32 Mo !
2 puissance 15 ==> 32768 octet.

Message cité 1 fois
Message édité par bad___day le 27-02-2007 à 16:45:37
n°1521093
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 27-02-2007 à 16:47:15  profilanswer
 

bad___day a écrit :

Non !, en suivant ma logique,
Avec 15 ligne tu peut t'auras 32 Ko de RAM, et pas 32 Mo !
2 puissance 15 ==> 32768 octet.


oui je me suis planté, je voulais dire 25 lignes, et pas 15. mais le raisonnement est identique.
de toutes façons, comme t'as dit Taz, ça dépend de la plus petite unité adressable. ici je pars du principe que c'est l'octet.

n°1521097
bad___day
Posté le 27-02-2007 à 16:52:10  profilanswer
 

Quand on dit "un processeur 32 bits", ou "un processeur 16 bits" ou .... ,
ca veut dire quoi exactement (concrètement).

 


Message édité par bad___day le 27-02-2007 à 16:53:43
n°1521100
Taz
bisounours-codeur
Posté le 27-02-2007 à 16:52:52  profilanswer
 

taille de registre

n°1521106
bad___day
Posté le 27-02-2007 à 16:57:26  profilanswer
 

Si on nous pose une question de ce genre:
Quelle doit être la taille du bus d'adresses d'un processeur, pour qu'il puisse accéder à une mémoire de 8ko ?
Comment peut on répondre, alors ?
 

n°1521121
tbp
Posté le 27-02-2007 à 17:07:35  profilanswer
 

Question imprécise, il pourrait très bien ne pas avoir de bus d'adresse et pourtant accéder à 8k de mémoire (par un port ou n'importe quel mécanisme). On aurait vu plus étrange.
 
La taille maximale de bus d'adresse requise pour adresser 8k est 13.
edit: oups, oublié de parler d'octets.


Message édité par tbp le 27-02-2007 à 17:09:38
n°1521123
Taz
bisounours-codeur
Posté le 27-02-2007 à 17:07:53  profilanswer
 

si la mémoire est adressable octet par octet alors il y 2**13 adresses différentes donc il faut 13bits d'adresse.

n°1521143
bad___day
Posté le 27-02-2007 à 17:17:52  profilanswer
 

bad___day a écrit :

Si on nous pose une question de ce genre:
Quelle doit être la taille du bus d'adresses d'un processeur, pour qu'il puisse accéder à une mémoire de 8ko ?
Comment peut on répondre, alors ?


et si on plus on sais que c'est un processeur 16 bit ?
(donc la taille maximal d'un registre est de 2octet..)

 

Message cité 1 fois
Message édité par bad___day le 27-02-2007 à 17:23:39
n°1521147
ixemul
Nan mais sans blague ! ⚡
Posté le 27-02-2007 à 17:21:36  profilanswer
 

Taz a écrit :

si la mémoire est adressable octet par octet alors il y 2**13 adresses différentes donc il faut 13bits d'adresse.


 
Pour être précis, il faut 13Bits d'adresses Minimum [:aloy]


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
n°1521148
Taz
bisounours-codeur
Posté le 27-02-2007 à 17:21:49  profilanswer
 

bad___day a écrit :

et si on plus on sais que c'est un processeur 16 bit ?
(donc la taille maximal d'un registre est de 2octet..)


ah que c'est pas lié q

n°1521153
Taz
bisounours-codeur
Posté le 27-02-2007 à 17:25:12  profilanswer
 

ixemul a écrit :

Pour être précis, il faut 13Bits d'adresses Minimum [:aloy]


Il me semble que c'est un peu le sens du verbe falloir, sinon on pourrait préciser "en moyenne" ou "au maximum".


Message édité par Taz le 27-02-2007 à 17:26:03
n°1521171
bad___day
Posté le 27-02-2007 à 17:31:35  profilanswer
 

Ok, donc il faut 13 bits d'adresses (13 bit, taille du bus d'adresse ?) Minimum, si la mémoire est adressable octet par octet.

 
Taz a écrit :

ah que c'est pas lié q


Je ne comprend pas le sens de ta réponse !  :heink:  ,
je disais donc, qu'elle doit être la taille du bus d'adresses d'un processeur 16 bit, pour qu'il puisse accéder à une mémoire de 8ko ?
ce n'ai pas la même chose que tout à l'heur non?

 

Message cité 1 fois
Message édité par bad___day le 27-02-2007 à 17:34:49
n°1521194
red factio​n
Posté le 27-02-2007 à 17:49:50  profilanswer
 

1. c pas parce que l'on rajoute un systeme de memory banks que l'on alonge la qté de memoire adressable
c comme si on rajoutait directement des fils au bus. ( c juste un supercherie pour pallier aux limites du 16 bits )
 
ex:  on a un bus d'adresse de  16 bit (64kb max) , on rajoute 4 fils qui permette de selectionner 16 banks
 
ca nous fait donc (64k * 16) ce qui donne 1Mo adressable
 
un bus de 20 bit aurait fait la meme chose 2^20 = 1Mo tout pareil
 
2. les adresse sont toujours formulées d'apres le nombre de bit du bus, peu importe le nombre de memoire dispo sur la machine
c pas parce que il n'y a que 4mo sur un 386 que seuls 22 fils seront utilisé , les autres seront simplement a zero ^^
 
3. comme ca  ete dit precedement la taille de la memoire max depent de la maniere dont le systeme accede aux données (taille de la plus petite unité)
 
en principe c 8 bit mais on pourrait imagine une machine qui accede directement par word.... (donc 2x plus de memoire adressable, par contre un gaspillage monstre...)
 
 
EDIT : (a verifier)
memoire max adressable = (2^( taille du bus en bits + taille des autre fils eventuels (bank switching par ex) )) *(taille de la plus petite unité/8)
ex : bus 16 bit , plus petite unité = 1 word = 16 bits
(2^16)* (16/8)= 131072 octets= 128kb accessible

Message cité 1 fois
Message édité par red faction le 27-02-2007 à 18:03:59
n°1521204
Taz
bisounours-codeur
Posté le 27-02-2007 à 17:58:26  profilanswer
 

bad___day a écrit :

Ok, donc il faut 13 bits d'adresses (13 bit, taille du bus d'adresse ?) Minimum, si la mémoire est adressable octet par octet.
 
 
Je ne comprend pas le sens de ta réponse !  :heink:  ,
je disais donc, qu'elle doit être la taille du bus d'adresses d'un processeur 16 bit, pour qu'il puisse accéder à une mémoire de 8ko ?
ce n'ai pas la même chose que tout à l'heur non?


c'est pas lié au processeur. Tu trouves sans problème aujourd'hui des machines avec des processeurs 64bits et des bus 48bits par exemple.

n°1521205
Taz
bisounours-codeur
Posté le 27-02-2007 à 17:59:13  profilanswer
 

red faction a écrit :


3. comme ca  ete dit precedement la taille de la memoire max depent de la maniere dont le systeme accede au données (taille de la plus petite unité)
 
en principe c 8 bit mais on pourrait imagine une machine qui accede directement par word.... (donc 2x plus de memoire adressable, par contre un gaspillage monstre...)


historiquement c'était pas du tout le principe.

n°1521207
red factio​n
Posté le 27-02-2007 à 18:03:16  profilanswer
 

Taz a écrit :

historiquement c'était pas du tout le principe.


tu veut dire quoi par la?

n°1521210
bad___day
Posté le 27-02-2007 à 18:06:34  profilanswer
 

Taz a écrit :

ah que c'est pas lié q


Donc selon toi, celui qui a fait la 2eme question de l'exercice 2 de cet examen:
http://www-gtr.iutv.univ-paris13.f [...] ection.pdf
est un goret,
ou quoi ?
 

n°1521236
Taz
bisounours-codeur
Posté le 27-02-2007 à 18:59:46  profilanswer
 

red faction a écrit :

tu veut dire quoi par la?


bah que 12 ou 36 étaient des valeurs possibles que ce n'est qu'a pres un peu de réflexion que l'idée d'utiliser octet == 1 caractere n'est apparu.

n°1521237
Taz
bisounours-codeur
Posté le 27-02-2007 à 19:03:37  profilanswer
 

bah il a tout mélangeait. Dans sa réponse, on voit bien que la plus petite unité adressable est 16bits.

n°1521270
bad___day
Posté le 27-02-2007 à 20:43:20  profilanswer
 

Citation :

c'est pas parce que il n'y a que 4mo sur un 80386 que seuls 22 fils seront utilisé , les autres seront simplement a zéro ^^


Donc toujours mis à 0 ^^, (c%u2019est comme s'il ne seront pas utiliser, quoi).

 
Citation :

c'est pas lié au processeur


Corrigez moi si je dis des bêtises,
Pour moi c'est lié au processeur:
Quand on a un "processeur 16 bit", donc la taille de registres et de 2 octet, et donc une variable en mémoire centrale est codé sur 2 octet maximum
( MOV AX,Z  ; AX est de 2octet ---> Z est codé sur 2octet ), donc le bus d'adresse est de 16 ligne minimum pour pouvoir représenté une adresse sur 2octet !

 
Citation :

Tu trouves sans problème aujourd'hui des machines avec des processeurs
64bits et des bus 48bits par exemple.


Oui c'est vrai. Mais comment ça ce fait !? À quoi va servir une aussi grande taille de registre alors que le bus d%u2019adresse est de 48 bits ?
Si la taille des registres du processeur sont de 64bits, c'est bien pour contenir des adresse de variables qui peuvent allez jusqu'à 64bits ! (8octet) maximum !! (Je sais que c'est pas possible, mais en théorie je ne vois pas trop comment l%u2019expliqué).

 

Bon je sais que dans tout ça j'ai du dire des bêtises alors corrigé moi si c%u2019est le cas. (Vos mieux avoir les idées plus claire dés maintenant :) ).

  


Message édité par bad___day le 27-02-2007 à 20:43:54
n°1521296
db__
spécialiste de l'à peu près
Posté le 27-02-2007 à 22:02:12  profilanswer
 

Citation :

Quand on a un "processeur 16 bit", donc la taille de registres et de 2 octet, et donc une variable en mémoire centrale est codé sur 2 octet maximum


pas nécessairement. cas du 8086
processeur 16 bits  adressage mémoire 20 bits
80286 processeur 16 bits adressage mémoire 24 bits.
pour palier à l'étroitesse des registres 16 bits, on y a accolé des registres segments pour former une adresse 20 bits ou un déplacement 16 bits dans une mémoire virtuelle.

Citation :

Oui c'est vrai. Mais comment ça ce fait !? À quoi va servir une aussi grande taille de registre alors que le bus d%u2019adresse est de 48 bits ?
Si la taille des registres du processeur sont de 64bits, c'est bien pour contenir des adresse de variables qui peuvent allez jusqu'à 64bits ! (8octet) maximum !! (Je sais que c'est pas possible, mais en théorie je ne vois pas trop comment l%u2019expliqué).


un registre ne sert pas qu'à faire de l'adressage mémoire. cela sert aussi à faire des calculs.
donc on peut très bien limiter l'adressage à 48 fils mais manipuler des données de 64 bits.
du temps du Z80 (processeur 8 bits) il était tout à fait possible de manipuler des données de 16 bits.
de même sur un AMD64 il est possible de traiter des données de 8 bits comme des données de 64 bits.
en gros on peut dire que pour caractériser un processeur, il faut
une taille registre
une taille de bus de données
une taille de bus d'adresses
une taille d'unité d'adressage (en général un octet)
exemple
Z80 : 8 8 16 8
8088 : 16 8 20 8
8086 : 16 16 20 8
80286 : 16 16 24 8
80386 : 32 32 32 8
80386SX : 32 16 24 8 (je n'en suis pas absolument sur)
68008 : 32 8 24 8
68000 : 32 16 24 8
68020 : 32 32 32 8
l'art est de combiner tout ça pour en sortir un processeur capable de faire ce que l'on veut à moindre coût et compatible si possible avec la génération précédante.
 
edit : histoire de rendre la chose plus confuse, j'avais oublié un détail
le 8080 processeur "8bits" utilisait 2 registres B+C ou D+E ou H+L pour former une adresse 16 bits.
le Z80 qui en est une évolution était considéré comme "8bits" mais avait 2 registres 16 bits IX & IY
on pourait donc dire que c'est la taille de l'accumulateur qui défini le type de processeur mais dans ce cas, le 680xx n'a pas d'accumulateur.  
conclusion : la dénomination d'un processeur en catégorie 8, 16, 32 ou 64 bits dépend de la taille maximum des registres accessibles en assembleur capable de faire les opérations logique et, ou inclusif, ou exclusif.


Message édité par db__ le 28-02-2007 à 13:26:23
n°1521321
Taz
bisounours-codeur
Posté le 27-02-2007 à 22:59:30  profilanswer
 

merci pour ces chouettes détails.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  [Architecture de l'ordi] Taille bus d'adresses, (Résolu)

 

Sujets relatifs
[Résolu] [VBS] Mappage réseaux selon le groupe de l'utilisateur ADLogiciel de programmation en paire - Résolu
[Résolu][VBA ACCESS] LIKE + * ou % ?[resolu]ID qui s'incrémente +2
Impossible de compiler des shaders en cg! [RESOLU][C/GTK] taille d'un GTK_ENTRY
[RESOLU] 1 erreur de validation (x)HTML 1.0 TransitionalRESOLU : PHP afficher un gif animé qui s'anime
[PHP] [Résolu] Construire une variable avec une autre variable ?Aide pour batch de renommage
Plus de sujets relatifs à : [Architecture de l'ordi] Taille bus d'adresses, (Résolu)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR