web-dev-qa-db-fra.com

Un octet est-il toujours 8 bits?

Je travaille sur Les éléments des systèmes informatiques lorsque je lis l'extrait suivant:

L'ordinateur Hack comprend un écran noir et blanc organisé en 256 rangées de 512 pixels par rangée. Le contenu de l'écran est représenté par un mappage de mémoire 8K commençant à RAM à l'adresse 16384 (0x400). Chaque rangée dans l'écran physique, en partant du coin supérieur gauche de l'écran, est représenté dans RAM par 32 mots de 16 bits consécutifs. Ainsi, le pixel à la ligne r du haut et la colonne c de la gauche sont mappées sur le c% 16 bit (de LSB à MSB) du mot situé dans la RAM [16384 + r * 32 + c% 16]. Pour écrire ou lire un pixel de l’écran physique, l’un lit ou écrit le bit correspondant dans la mappe de mémoire résidant dans la RAM (1 = noir, 0 = blanc).

Donc, si l'écran est constitué de 256 lignes de 512 pixels et que chaque pixel est un bit unique, comment est-ce une carte mémoire de 8K pour tout l'écran?

256 lignes * 512 bits = 131072/8 bits par octet/1024 octets par K = 16 Ko

Ne serait-ce pas une carte mémoire de 16K?

La seule chose à laquelle je peux penser est que, parce que la taille de Word est de 16 bits, peut-être que cela joue un facteur? J'ai toujours su que «octet» voulait dire 8 bits, mais si sa définition dépend de la taille de Word de l'ordinateur, cela résoudrait peut-être ce mystère. Quelqu'un peut-il m'expliquer comment l'écran décrit dans ce paragraphe est représenté avec une carte mémoire de 8K et non de 16K?

19
user1861499

Oui, un octet est toujours de 8 bits dans l'informatique moderne. 

Le livre utilise des mots, pas des octets

Dans le livre, le mot et la taille du mot sont explicitement mentionnés, alors qu'il n'y a pas de mot (haha) concernant les octets. Regardez la phrase ..is represented in RAM by 32 consecutive 16-bit words.. La taille totale est exprimée en mots (16 bits) plutôt qu'en octets.

Par conséquent, 8K fait référence à 8 Kilowords. 8 kilo-octets seraient officiellement écrits en 8 Ko, si cette notation est utilisée dans ce livre.

Les mots jouent un rôle important dans l'architecture du processeur. Dans les langages de programmation, les mots ont généralement 2 octets (ou 16 bits), mais dans l'architecture du processeur, ils peuvent également être de 8 ou 32 bits. Ils font référence à la taille naturelle des unités de données avec lesquelles le processeur fonctionne. Il est donc logique que le livre utilise des mots plutôt que des octets, car le texte semble très orienté matériel.

Pour voir comment les octets et les mots sont liés, veuillez lire cette réponse .

Différentes tailles d'octets

Wikipedia décrit comment un octet était à l'origine (années 1960) en fonction de la taille des informations qu'il devait contenir. Un octet de 6 bits pouvait donc être utilisé pour les caractères (anglais), tandis que des octets d'une autre taille seraient utilisés pour un nombre différent. formats. Au départ, il s'agissait de 6 bits pour les caractères anglais, de 7 bits pour prendre en charge l'ASCII et, finalement, la popularité du système IBM System/360 8 bits a entraîné l'acceptation globale des octets 8 bits.

Un octet est une unité logicielle représentant une quantité de données, tandis qu'un mot est davantage lié à l'architecture processeur/mémoire et représente les unités de travail (registres) du processeur et les unités adressables en mémoire. De nos jours, un octet est toujours considéré comme 8 bits et les mots sont un multiple de celui-ci. Il existe encore des processeurs qui ont une taille de Word différente, mais ce sont des processeurs à usage spécifique. Le matériel normal, des ordinateurs aux téléphones et aux consoles de jeu, respecte la norme.

15
GolezTrol

En termes modernes, il y a toujours 8 bits par octet. Cela a été depuis 1993 IIRC. ISO/CEI 2382-1: 1993.

Cependant, il existe également des systèmes avec des décomptes de bits allant jusqu'à un octet. 6 bits/7 bits ont été courants. Il existe cependant d'autres plus obscures.

À la fin de la journée, je pense qu'il serait rare de trouver une machine aujourd'hui qui ne soit pas basée sur 8 bits par octet. 

0
Greg Young