Traditionnellement, un "mot" dans les architectures informatiques était généralement la plus petite unité d'adressage de la mémoire. Et traditionnellement, cela correspondait à la taille du registre général de la machine.
Cependant, depuis que l'adressage par octets est devenu populaire, le concept s'est dilué. (On peut probablement remercier IBM System/360 et le PDP-11 du côté des mini-ordinateurs pour cela.)
En termes d'adressage mémoire tel que défini par l'architecture CPU - c'est-à-dire, comment les programmeurs voient la machine - le concept de "mot" n'existe pas sur x86/x64, à moins que vous ne le considériez comme synonyme d'octets. Chaque octet de mémoire a sa propre adresse, et l'adresse d'un octet est également l'adresse de toute région plus grande qui commence à cet octet (s'étendant vers des adresses de plus grand nombre). Nous pouvons bien sûr déplacer un, deux, quatre, ou (sur x64) huit octets à la fois entre le registre et la RAM - ou beaucoup plus, de mémoire à mémoire, avec les instructions REP - mais l'adresse que nous invoquons est toujours celle d'un octet. Nous pouvons réaliser des opérations arithmétiques sur des mots de toutes ces tailles. (Et d'autres.)
Si vous pensez en termes de registres, la "taille du mot" d'une machine est normalement supposée être la même que celle de ses registres généraux. Cela serait de 32 bits sur x86, 64 bits sur x64. Sur la plupart des architectures, la taille des registres généraux est la taille de l'entier le plus grand sur lequel le CPU peut effectuer des opérations arithmétiques simples avec une seule instruction.
Maintenant, introduisons plus de confusion... !
En termes de plateforme (carte mère, modules de RAM et puces, etc.), sur toutes les machines utilisant des processeurs et des chipsets Intel et AMD "commodités", la RAM est adressée en morceaux de 64 bits - je suppose que vous pourriez les appeler des mots. Vous pouvez le voir très clairement sur les anciens processeurs qui avaient des broches séparées pour l'adresse et les données : La broche d'adresse la moins significative est appelée A3, et non A0! Les bits d'adresse physique A0, A1, et A2 ne quittent jamais le processeur. Mais les programmeurs ne voient jamais de telles adresses.
Et enfin, il y a le concept de la "ligne de cache". Une ligne de cache est un morceau de RAM physiquement continu qui occupe une entrée dans la cache L1/L2/L3. Les lignes de cache dans le monde Intel/AMD ont été de 64 octets de large depuis un certain temps déjà. Donc lorsque vous accédez à une adresse mémoire qui n'est pas actuellement dans votre cache, le CPU récupère huit de ces morceaux de RAM de 8 octets. Autrement dit, les adresses qui sont stockées dans la cache excluent les six bits moins significatifs. Donc peut-être qu'un mot dans la cache est vraiment de 64 octets ou 512 bits! (Mais un accès mémoire qui contourne la cache peut toujours lire ou écrire juste 8 octets à la fois ; dans les plages d'adresses physiques décodées par des dispositifs d'E/S mappée en mémoire, les octets individuels peuvent être adressés ; cela dépend du bus. Et bien sûr nous ne pouvons pas réaliser d'opérations arithmétiques sur des entiers de 512 bits.)
Dans les environnements de programmation dérivés de Microsoft C, un "mot" est de 16 bits - cela a été ainsi depuis longtemps avant Microsoft, et le nom et la définition du type de données ont été conservés pour la compatibilité dans les environnements 32- et 64-bits. Un "double mot" (ou DWORD ou LONG, pour "long mot", terme courant sur le VAX) est de 32 bits. Les entiers de 64 bits sont appelés "quadwords" dans l'architecture mais ont généralement des noms plus spécifiques en C, comme UINT64 (entier sur 64 bits, sans signe).
Donc, cela dépend de où vous êtes dans le système et de ce que vous regardez. Nous ne pensons généralement plus du tout à la "taille du mot" de nos jours, mais plutôt à la "taille du registre général".