2012-09-02 2 views
0

Je lisais à propos du tableau de bits et cette question me vient à l'esprit. Pourquoi la plupart des machines ne peuvent-elles pas traiter des bits individuels? Est-ce à cause du DMA et parce que ça serait trop cher (mémoire/circuits) de garder une adresse pour chaque bit?Pourquoi la plupart des machines ne peuvent-elles pas traiter des bits individuels?

+1

pas un dma chose, dma n'aime même pas adresser les octets. La réponse est qu'il n'y a aucune valeur, les lignes d'adresse supplémentaires pour quelque chose qui n'est relativement jamais utilisé. La mémoire adressable octet est assez coûteuse. Les bus de mémoire sont maintenant dans la gamme de 32 à 64 bits, tout ce qui est plus petit que la largeur du bus est coûteux. Il est même préférable de déplacer les données dans des multiples de lignes de cache complètes. Les processeurs fournissent des instructions (décalage, et, etc.) pour l'échantillonnage des bits si nécessaire. –

Répondre

1

Un bit est la plus petite unité de stockage en mémoire.
Un octet est le plus petit adressable unité de stockage en mémoire.
Il n'a pas de sens de faire la adressable bits car il ne peut contenir un 1 ou 0 dire true ou false informations contrairement à un octet qui peut transporter des informations meaningfull (vous pouvez encoder un jeu de caractères basé sur un octet par exemple ASCII).
Ceci est juste une explication intuitive. Je suppose qu'il existe d'autres raisons techniques de bas niveau, par ex. cela n'a pas de sens d'accéder à la mémoire pour seulement 1 bit (trop cher), c'est-à-dire faire un bus mémoire de 1 bit au lieu de 8-16 bits ou plus

0

Depuis, si vous enregistrez l'adresse juste pour les octets, la longueur de l'adresse est plus petite en 3 bits.

+1

Merci pour la réponse, pourriez-vous m'en dire plus à ce sujet? –

Questions connexes