106 votes

À quoi se réfèrent en fait les termes 8 bits / 16 bits ?

Lorsqu'on parle de jeux rétro, des termes comme "musique 8 bits" ou "graphismes 16 bits" reviennent souvent. J'utilise moi-même souvent ces termes, mais je ne sais pas exactement à quoi ils font référence. Que signifient-ils ?

0 votes

Je réalise que les exemples que j'ai donnés sont deux contextes différents ; j'aimerais connaître les deux :)

82 votes

C'est drôle que votre question à 8 bits soit Arqade numéro de poste 8008 en l'honneur du légendaire 8 bits Intel 8008 processeur

0 votes

Woah 1k vues en 5min

80voto

Paul Wicks Points 13205

8 bits et 16 bits, pour les jeux vidéo, font spécifiquement référence aux processeurs utilisés dans la console. Le nombre fait référence à la taille des mots de données utilisés par chaque processeur. La génération de consoles 8 bits (à partir de la Famicom de Nintendo, également appelée Nintendo Entertainment System) utilisait des processeurs 8 bits ; la génération 16 bits (à partir du PC Engine de NEC/Hudson, également appelé TurboGrafx-16) utilisait un processeur graphique 16 bits. Cela affecte la qualité et la variété des graphismes et de la musique en affectant la quantité de données pouvant être utilisées en même temps ; Réponse de Oak détaille les spécificités du graphisme.

Si vous ne savez pas ce qu'est un bit d'ordinateur, voici l'article de Wikipedia sur les bits : http://en.wikipedia.org/wiki/Bit dont je cite la première phrase qui est tout ce qu'il faut savoir.

Un bit ou chiffre binaire est l'unité de base de l'information en informatique et en télécommunications ; c'est la quantité d'information qui peut être stockée par un dispositif numérique ou un autre système physique qui ne peut généralement exister que dans deux états distincts.

Notez qu'à l'époque moderne, des choses comme la "musique 8 bits" et les "graphiques 16 bits" n'ont pas nécessairement à voir avec les processeurs ou la taille des données, car la plupart des machines ne fonctionnent plus à cette échelle. Ils peuvent plutôt se référer spécifiquement au style de musique ou de graphisme utilisé dans les jeux de ces générations, en hommage à la nostalgie. La musique 8 bits est le genre de musique chiptune standard ; les graphismes étaient simplistes en termes de couleurs. La musique 16 bits est de meilleure qualité mais conserve souvent une touche électronique distincte, tandis que les graphismes sont beaucoup plus complexes mais restent largement bidimensionnels et de résolution 240p.

1 votes

Un exemple de cette "rétro intentionnelle" : megaman.capcom.com/10

3 votes

Pour donner une idée de la situation actuelle, les consoles de jeux utilisent des processeurs 64 bits depuis l'Atari Jaguar et la Nintendo 64. La XBox 360 est équipée de 3 processeurs 64 bits. Les processeurs 64 bits pour PC sont enfin populaires (vous verrez la version 64 bits de Windows Seven, par exemple).

9 votes

Plus précisément, il s'agit de la taille des registre d'accumulateur . Cependant, ne vous fiez pas à ce chiffre pour en savoir plus - 90 % des programmes ne verront que peu ou pas d'avantages à passer d'un processeur 32 à 64 bits. Les exceptions sont les programmes qui doivent effectuer des calculs complexes sur de grands ensembles de données, comme l'encodage vidéo.

32voto

TheWellington Points 2139

8-bits, 16-bits, 32-bits et 64-bits font tous référence à la taille du processeur. taille des mots . Dans le langage du processeur, un "mot" désigne la taille native de l'information qu'il peut placer dans un registre et traiter sans instructions spéciales. Il s'agit également de la taille de l'espace d'adressage de la mémoire. La taille des mots d'une puce est l'aspect le plus déterminant de sa conception. Il y a plusieurs raisons pour lesquelles elle est si importante :

  • Tout d'abord, la valeur maximale que vous pouvez détenir. Un entier de 8 bits peut contenir une valeur allant jusqu'à 255. Un entier de 16 bits peut avoir une valeur allant jusqu'à 65 535.
  • Adressage de la mémoire : Avec des nombres plus grands, vous pouvez gérer plus d'espace d'adressage (c'est une simplification excessive, mais c'est vrai).
  • Des mots doubles et des mots quadruples. Dans certains cas, vous souhaitez utiliser un mot plus grand pour une variable. Un mot double n'est que deux mots, donc une variable de 32 bits sur une machine de 16 bits ou une variable de 16 bits sur une machine de 8 bits.
  • Instructions. Encore une fois, avec un nombre plus élevé, vous pouvez avoir plus d'opcodes (les instructions machine réelles). Même si l'addition de deux nombres entiers semble simple, au niveau matériel, même cette opération est assez compliquée. Par exemple, une machine peut avoir des instructions MOV distinctes pour charger un nibble (demi-octet), un octet, un mot, un double mot ou un quadruple mot dans un registre. À partir de là, vous devrez l'ajouter à un autre registre ou l'ajouter à partir d'une variable en mémoire, ce qui constitue un autre ensemble d'instructions possibles. Les instructions en virgule flottante constituent également un ensemble d'instructions complètement distinct.
    • Outre le fait qu'elle n'a pas de mémoire, une machine 8 bits possède généralement un processeur distinct pour gérer les calculs en virgule flottante sur le matériel. Les machines 16 bits ont généralement une unité de virgule flottante intégrée pour gérer cela.
    • Avec une taille de mot plus importante, vous pouvez intégrer des instructions plus spécialisées, comme l'accès matériel direct spécialisé, les fonctions intégrées (traitement graphique matériel par exemple), la gestion de la mémoire matérielle, etc.
  • Gestion de la mémoire : Avec un mot plus grand vient la possibilité de pouvoir adresser plus de mémoire. De nombreuses machines de 8 et 16 bits utilisaient une variété de schémas pour pouvoir adresser autant de mémoire que possible, dépassant souvent les limites de leur taille de mot. Les unités centrales de traitement de vos ordinateurs personnels 32 et 64 bits utilisent des registres de mémoire dont la taille est égale à celle de leur mot, ce qui leur donne accès à 4 294 967 296 et 18 446 744 073 709 551 616 octets, respectivement.

TL;DR

La différence de taille des mots a un impact considérable sur les capacités et les performances d'une puce donnée. Une fois que l'on passe à 32 bits, les différences deviennent principalement celles du raffinement (à moins que vous n'exécutiez une très grosse application, comme une analyse génétique ou le comptage de toutes les étoiles de la grande galaxie).

J'espère que cette réponse décousue vous sera utile.

Autres lectures

4 votes

Concernant le premier point : Un entier de 8 bits peut contenir des valeurs jusqu'à 255 s'il est unsigned . Même chose pour le 16 bits, sauf que ce n'est pas 65 536, mais 65 535. C'est 65 536 différent valeurs (y compris le zéro, donc 65 535 est le maximum).

0 votes

@VictorZamanian J'obtiens toujours le maximum de l'int de 16 bits par 1. Je ne vais pas non plus entrer dans le débat signé versus non signé dans cette déclaration.

2 votes

C'est d'ailleurs la raison pour laquelle vous ne pouvez obtenir que 255 roupies dans Legend of Zelda, et pourquoi 255/254 est souvent le plafond (apparemment aléatoire) des valeurs dans les jeux 8 bits.

23voto

Mike Stone Points 21293

L'expression "graphique 8 bits" signifie littéralement que chaque pixel utilise 8 bits pour stocker la valeur de la couleur - donc seulement 256 possibilités. Les systèmes modernes utilisent 8 bits pour stocker chaque canal de couleur, de sorte que chaque pixel utilise généralement 24 bits.

Rien n'empêche les jeux modernes de se limiter à une palette de couleurs 8 bits plus stricte, mais le terme est souvent utilisé pour décrire des jeux anciens dans lesquels l'utilisation de 8 bits par pixel était nécessaire.

4 votes

Plus précisément, la couleur 8 bits donne une palette de 256 couleurs, la couleur 16 bits serait de 64k couleurs, et la palette moderne 24 bits supporte 16 millions de couleurs.

3 votes

@Wikwocket : Parfois, vous entendrez parler de graphiques 32 bits, qui ne sont que des graphiques 24 bits avec un paramètre de transparence de 8 bits.

10 votes

Mais le type de graphisme généralement appelé "8 bits" est celui associé aux jeux de l'ère NES, où chaque tuile n'utilisait que quatre couleurs (ou trois+transparentes pour les sprites) sélectionnées à partir d'une plus grande palette - les graphismes eux-mêmes n'étaient pas "8 bits" dans aucun sens.

9voto

ESRogs Points 1381

En plus de la réponse d'Oak, les 8 bits pour le graphique limitent non seulement 1 la palette de couleurs, mais aussi la résolution de l'écran jusqu'à un maximum de 256 dans chaque direction (par exemple, le NES a 256x240 pixels dont 256x224 sont généralement visibles). Pour graphiques de sprites vous devez diviser ces 8 bits, par exemple pour obtenir 32 = 2 positions x différentes et 16 = 2 positions y différentes, il vous reste 8x16 (2³x2) pixels pour la résolution d'un sprite. C'est pourquoi vous obtenez cet aspect typique des pixels.

Il en va de même pour la musique, 8 bits signifiant un maximum de 256 niveaux de votre niveau de sortie sonore (par échantillon, la résolution temporelle est un autre problème), ce qui est trop grossier pour fournir des sons qui font no son Chiptune (ou bruyant, si vous essayez encore PCM son) à l'oreille humaine. 16 bits par échantillon est ce que le CD standard utilise, d'ailleurs. Mais la musique 16 bits fait plutôt référence à Tracker dont les limites sont similaires à celles des consoles de jeux populaires dotées d'un processeur 16 bits.

Un autre point intéressant est qu'un périphérique d'entrée de 8 bits est limité 1 à 8 états de boutons booléens répartis dans les quatre directions du D-pad plus quatre boutons. Ou un joystick à 2 boutons avec 3 bits (seulement 8 niveaux, y compris le signe !) restants pour les axes x et y.

Ainsi, pour les jeux anciens, 8 bits / 16 bits peuvent être considérés comme faisant référence aux capacités du système (mais considérez que Le point de vue de Grace sur l'incohérence de l'étiquette "8 bits"). Pour un jeu rétro, on peut se demander s'il serait théoriquement possible d'obéir aux contraintes mentionnées (en négligeant les effets de shader tels que Bloom ), bien que vous deviez autoriser une certaine "tricherie" - je considérerais qu'un jeu basé sur des sprites utilisant des sprites de 8x16 carrés est toujours en 8 bits même si les sprites peuvent être flottants à n'importe quelle position en résolution HD et que les carrés sont de 16x16 pixels chacun...


1) Il est évident que l'on peut utiliser 2 fois 8 bits pour contourner cette limite, mais en tant que BlueRaja fait remarquer dans un commentaire en La réponse de Grace Si l'on considère que le registre de l'accumulateur n'est que de 8 bits, cela entraînerait une perte de performance. De plus, cela reviendrait à tricher pour passer à 16 bits.

7voto

carlos Points 69

À l'époque, la taille des bits d'une unité centrale était une référence à la largeur des registres du processeur. Un processeur possède généralement plusieurs registres dans lesquels vous pouvez déplacer des données et effectuer des opérations sur celles-ci. Par exemple, vous pouvez additionner deux nombres et stocker le résultat dans un autre registre. À l'ère du 8 bits, les registres avaient une largeur de 8 bits et si vous aviez un grand nombre comme 4000, il ne tiendrait pas dans un seul registre, vous devriez donc effectuer deux opérations pour simuler une opération de 16 bits. Par exemple, si vous avez 10 000 pièces d'or, vous devez utiliser deux instructions d'addition pour les additionner. Une pour gérer les 8 bits inférieurs et une autre pour ajouter les 8 bits supérieurs (en tenant compte du report). Alors qu'un système 16 bits aurait pu le faire en une seule opération. Vous vous souvenez peut-être que dans la légende de Zelda, vous pouviez atteindre 255 roupies car c'est le plus grand nombre 8 bits non signé possible.

De nos jours, les registres d'une unité centrale sont de tailles très différentes, ce qui ne constitue plus une bonne mesure. Par exemple, les registres SSE des processeurs amd64 d'aujourd'hui ont une largeur de 256 bits (pour de vrai) mais les processeurs sont toujours considérés comme 64 bits. Ces derniers temps, la plupart des gens pensent à la taille d'adressage que le CPU est capable de supporter. Il semble que la taille en bits d'une machine soit vraiment basée sur les tendances actuelles du matériel du moment. Mais pour ma part, je considère toujours la taille d'un registre entier natif, ce qui semble correct même aujourd'hui et correspond également à la taille d'adressage du CPU. Ce qui est logique puisque la taille entière native d'un registre est généralement la même que celle d'un pointeur mémoire.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X