Est-ce qu'un octet est toujours 8 bits?

je suis en train de travailler par le biais de Les Éléments de Systèmes Informatiques quand j'ai lu l'extrait suivant:

L'ordinateur de piratage comprend un écran noir et blanc organisé comme 256 les lignes de 512 pixels par ligne. Le contenu de l'écran est représenté par 8K de mémoire de la carte qui commence à L'adresse RAM 16384 (0x400). Chaque ligne dans l'écran physique, à partir du coin supérieur gauche de l'écran, est représenté en RAM par 32 mots consécutifs de 16 bits. Ainsi le pixel à ligne r du haut et la colonne c de la gauche est mappé sur le c%16 bit (counting from LSB to MSB) du mot situé à la RAM[16384 + r * 32 + C%16]. Pour écrire ou lire un pixel de l'écran physique, un lit ou écrit le bit correspondant dans la mémoire RAM-Carte résidente (1 = noir, 0 = blanc).

donc, si l'écran est de 256 lignes de 512 pixels, et chaque pixel est un seul bit, comment est-ce une carte mémoire de 8K pour l'ensemble écran?

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

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

la seule chose à laquelle je peux penser est que parce que la taille du mot est de 16 bits, peut-être cela joue un facteur? J'ai toujours su que "byte" signifiait 8 bits, mais si sa définition dépend de la taille du mot de l'ordinateur, peut-être que cela résoudrait ce mystère pour moi. 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
demandé sur user1861499 2012-11-29 02:43:24

2 réponses

Oui, un octet est toujours 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) sur les octets. Regardez l'expression ..is represented in RAM by 32 consecutive 16-bit words.. La taille entière est exprimée en mots (16 bits) plutôt qu'en octets.

par conséquent, 8K se réfère à 8 Kilowords. 8 kilooctets seraient formellement écrits comme 8KB, si cette notation est utilisée à tous dans ce livre.

les Mots sont très importants quand il s'agit de l'architecture du processeur. Les mots dans les langages de programmation sont généralement 2 octets (ou 16 bits), mais dans l'architecture du processeur ils peuvent être 8 ou 32 bits aussi bien, et ils se réfèrent à la taille naturelle des unités de données avec lesquelles un processeur fonctionne, il est donc logique que le livre utilise des mots plutôt que des octets, puisque le texte semble très orienté matériel.

Pour voir comment les octets et les mots sont liés, veuillez lire ce répondre à.

tailles différentes des octets

Wikipédia décrit comment un octet était à l'origine (1960) basé sur la taille de l'information qu'il devait contenir, de sorte qu'un octet de 6 bits pourrait être utilisé pour les caractères (anglais), tandis que les octets d'autres tailles seraient utilisés pour différents formats de nombres. Il a commencé par 6 bits pour les caractères anglais, a augmenté à 7 bits pour soutenir ASCII, et finalement la popularité du système IBM 8 bits / 360 a causé la acceptation des octets 8 bits.

un octet est une unité logicielle représentant une quantité de données, tandis qu'un mot est plus lié à l'architecture processeur/mémoire et représente les unités de travail (registres) dans le 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 cela. Il y a encore des processeurs qui ont une taille de mot différente, mais ce sont des processeurs Spéciaux. Matériel Normal, des PC aux téléphones et les consoles de jeux suivent le standard.

16
répondu GolezTrol 2017-05-23 11:33:26

à L'exception peut-être d'une brève période Après sa fabrication, un octet a toujours été de huit bits.

l'expression 'un kilo' a été popularisée comme 'un kilo par huit', dans le sens où vous auriez un kilo-mot (1024 pièces adressables) de mémoire qui était huit bits 'large', dans que chaque pièce adressable était huit bits.

Le mot n'était pas toujours huit bits, mais quand il n'était pas, il n'a jamais été dénommé "par huit", il était "par quatre" ou "seize", soit dans la exemple flagrant de quelques machines comptables Burroughs "par cent vingt-huit". À l'autre extrême, les machines Honeywell étaient à l'origine organisées de telle sorte que chaque bit de mémoire stocké avait une adresse unique, de sorte qu'elles avaient tellement de paquets mémoire "kilo par un".

dans le cas de la machine dont vous parlez, elle aurait" 8 kilo par 16 " de mémoire, donc une carte mémoire de 8K, spécifiquement 8Kx16, où il n'y a que 8192 adresses, et chacune est de 16 bits large.

il était le moins cher, étant donné ASCII et EBCDIC, d'avoir des limites d'adresse de huit bits, pour un traitement de texte efficace, même lorsque les registres de votre machine étaient plus larges. Les Machines avec des registres plus étroits ont tout simplement disparu.

donc, oui un octet est toujours de huit bits, et l'a presque toujours été.

-5
répondu Jon Jay Obermark 2014-08-27 15:38:35