web-dev-qa-db-fra.com

Combien de bits est un "mot"?

Ceci est tiré du livre Assembly Language, étape par étape , Jeff Duntemann:

Voici le tour rapide: Un bit est un seul chiffre binaire, 0 ou 1. Un octet est de 8 bits côte à côte. Un mot est 2 octets côte à côte. Un double mot est 2 mots côte à côte. Un mot quad est constitué de 2 mots doubles côte à côte.

Et ceci est extrait du livre Principes d'organisation de l'ordinateur et du langage d'assemblage: Utilisation de la machine virtuelle Java , Patrick Juola:

Pour plus de commodité, 8 bits sont généralement regroupés dans un seul bloc, conventionnellement appelé un octet. Le bloc de bits nommé suivant le plus grand est un mot. La définition et la taille d'un mot ne sont pas absolues, mais varient d'ordinateur à ordinateur. Un mot est la taille de la plus pratique bloc de données pour l'ordinateur à traiter.

Donc, un mot de 2 octets (16 bits), ou est-ce le bloc de données le plus pratique pour l’ordinateur? (Je ne suis pas sûr de savoir ce que cela signifie ..)

23
Koray Tugay

Je ne connais aucun de ces livres, mais le second est plus proche de la réalité actuelle. Le premier peut être discuter d'un processeur spécifique.

Les processeurs ont été conçus avec une grande variété de tailles de Word, pas toujours un multiple de 8.

Les processeurs 8086 et 8087 utilisaient des mots de 16 bits et il s'agit probablement de la machine sur laquelle le premier auteur a écrit. 

Les processeurs plus récents utilisent couramment des mots de 32 ou 64 bits.

Dans les années 50 et 60, il y avait des machines avec des tailles de mots qui nous paraissaient assez étranges, telles que 4, 9 et 36. Depuis les années 70 environ, la taille de Word est généralement une puissance de 2 et un multiple de 8.

15
Don Roby

La deuxième citation est correcte, la taille d'un mot varie d'un ordinateur à l'autre. L'architecture ARM NEON est un exemple d'architecture avec des mots de 32 bits, les quantités de 64 bits étant appelées «mots doubles» et les quantités de 128 bits, les «mots quad»:

Un opérande NEON peut être un vecteur ou un scalaire. Un vecteur NEON peut être un vecteur double mot 64 bits ou un vecteur quadword 128 bits.

Normalement, les mots 16 bits ne se trouvent que sur les systèmes 16 bits, comme l'Amiga 500.

2
samgak

Outre les autres réponses, un autre exemple de la variabilité de la taille de Word (d'un système à l'autre) est présenté dans le document Smashing The Stack For Fun And Profit par Aleph One:

Nous devons nous rappeler que la mémoire ne peut être adressée que par multiples du Taille de mot. Dans notre cas, un mot est de 4 octets, ou 32 bits. Donc, notre tampon de 5 octets va vraiment prendre 8 octets (2 mots) de mémoire, et notre tampon de 10 octets va prendre 12 octets (3 mots) de mémoire. 

1
Astrophe

Ceci est tiré du livre Hackers: les héros de la révolution informatique de Steven Levy.

.. la mémoire avait été réduite à 4096 "mots" de dix-huit bits chacun . (Un "bit" est un chiffre binaire, 1 ou 0. Une série de nombres binaires Est appelée un "mot").

Comme le suggèrent les autres réponses, un "mot" ne semble pas avoir une longueur fixe.

1
Koray Tugay