human
Comment les ordinateurs lisent-ils et « produisent-ils » les 1 et 0 qu'ils utilisent pour envoyer des commandes ? Je comprends qu'ils utilisent des 1 et des 0, mais d'où viennent-ils et que sont-ils exactement ? Explique comme si j'avais cinq ans.
gpt
Les ordinateurs ne « produisent » pas nécessairement des 1 et des 0 dans le sens où ils ne les fabriquent pas. Au lieu de cela, ils "présentent" des états matériels qui sont interprétés comme des nombres. Par état, je ne veux pas dire un état comme le Texas, je veux dire une condition particulière dans laquelle se trouve une pièce de matériel à un moment précis. Par exemple, pensez à un interrupteur d'éclairage. Il peut être dans deux états : haut ou bas. Pour les besoins de cet exemple, considérez haut comme activé et bas comme désactivé. L'état (ou la condition) du commutateur est déterminé par la position physique du commutateur. Maintenant, basculer l'interrupteur ne produit pas de 1 et de 0, mais nous pouvons interpréter la position de l'interrupteur de telle sorte que on=1 et off=0. Un élément qui ne peut avoir que deux états peut être considéré comme binaire. Dans les ordinateurs, une seule unité binaire est appelée un bit. Plusieurs bits peuvent être regroupés pour stocker des nombres supérieurs à 1 . Lorsque cela se produit, nous utilisons le comptage en base deux (binaire). Lorsque vous comptez avec vos doigts, vous utilisez essentiellement le comptage en base 10 (décimal) que vous connaissez bien. Maintenant , pensez à un mur avec un de ces panneaux qui ont deux interrupteurs . Encore une fois , basculer les commutateurs ne produit pas de 1 ou de 0 , mais nous allons interpréter la position de chaque commutateur comme représentant un 1 ou un 0 . Avec deux interrupteurs , il y a quatre combinaisons possibles ou 2 X 2 = 4 ou , plus précisément , 2 ^ 2 = 4 : * Interrupteur 1 : marche ou arrêt * Interrupteur 2 : marche ou arrêt Bien que nous ayons 4 états possibles , nous considérons généralement le état avec tout désactivé comme 0 . * Etat 1 : interrupteur 1 éteint et interrupteur 2 éteint = 0 * Etat 2 : interrupteur 1 allumé et interrupteur 2 éteint = 1 * Etat 3 : interrupteur 1 éteint et interrupteur 2 allumé = 2 * Etat 4 : interrupteur 1 allumé et interrupteur 2 allumé = 3 Dans les ordinateurs, un groupe de 8 bits (pensez aux commutateurs) est appelé un octet. Avec un octet, nous pouvons avoir jusqu'à 256 états possibles puisque nous pouvons avoir jusqu'à 256 combinaisons possibles différentes de bits activés ou désactivés. Il existe de nombreux types de matériel différents pour stocker des données binaires, mais ils peuvent tous être considérés comme des machines avec beaucoup, beaucoup, beaucoup de minuscules commutateurs. En informatique, tout est basé sur des nombres binaires. Afin que tout reste un nombre déroutant géant, nous réservons des groupes de bits à des fins différentes. Pour expliquer cela, j'utiliserai une métaphore de la ville. N'hésitez pas à dessiner des choses sur une feuille de papier au fur et à mesure que vous suivez. Imaginez que vous vous tenez à l' extérieur d' un bâtiment à un étage , la nuit , avec 8 fenêtres alignées . Si la lumière d'une pièce est allumée, la pièce s'allumera. Pensez à chaque pièce comme un peu. Si vous le voyez allumé , vous l' interprétez comme un 1 . S'il fait sombre , vous l' interprétez comme 0 . Puisque vous avez 8 bits, le bâtiment représente effectivement un octet de données. Imaginez maintenant le même bâtiment , mais avec 2 étages au lieu de 1 . Vous avez 2 rangées de 8 fenêtres , chaque fenêtre représentant un bit . Rappelez-vous comment j'ai dit plus tôt que vous pouvez avoir 256 combinaisons possibles avec 8 bits ? Nous avons maintenant 2 rangées de 8 bits, soit 16 bits. Avec 16 bits, nous pouvons avoir 2 ^ 16 = 65 536 combinaisons possibles, ce qui est également la valeur maximale que nous pouvons stocker (tous les bits sont activés). Désignons ce bâtiment comme " Stockage 1 " . Maintenant , imaginez un bâtiment identique de 2 étages juste à côté appelé " Stockage 2 " . Nous avons maintenant 2 bâtiments de 16 bits, soit 32 bits au total. Cependant , nous avons effectivement réservé chaque groupe de 16 bits dans des groupes séparés . Ensuite , nous avons un 3ème bâtiment d' un étage de 2 fenêtres , ou 2 bits , appelé " op_code " et un 4ème bâtiment de 4 étages de 8 fenêtres . Ce bâtiment unique contient effectivement 32 bits à lui seul. Nous appellerons celui-ci « résultat ». Le résultat est différent des stockages 1 et 2 et de l'op-code en ce sens qu'il est en lecture seule. Imaginez que le bâtiment est verrouillé et que vous n'avez pas la clé pour entrer. Par conséquent, vous ne pouvez pas régler vous-même les interrupteurs pour allumer et éteindre les lumières, vous pouvez seulement les regarder. Enfin , nous aurons un petit bâtiment carré sans fenêtres . Nous appellerons celui-ci "calculer". À l'intérieur, il y a des interrupteurs spéciaux appelés portes logiques. Les portes logiques prennent 1 ou plusieurs commutateurs d'entrée et ont généralement un seul commutateur de sortie qui est en lecture seule. Cela signifie effectivement que même si vous pouvez régler le ou les commutateurs d'entrée, vous ne pouvez pas régler le commutateur de sortie, regardez-le simplement. N'hésitez pas à rechercher vous-même les différents types de portes logiques. Pour l'instant, il suffit de dire que les portes logiques peuvent être combinées et disposées de différentes manières pour effectuer des opérations mathématiques. Pour rappel : deux bâtiments identiques de 2 étages contenant chacun 16 fenêtres appelés stockage 1 et stockage 2 , un bâtiment de 4 étages contenant 32 fenêtres à lui seul appelé résultat , un petit bâtiment carré appelé calcul , et enfin un bâtiment de plain - pied avec 2 fenêtres dans un ligne , appelée op_code . Vous pouvez considérer chacun de ces bâtiments comme une représentation d'un type de puce informatique. Les ordinateurs modernes utilisent des puces spéciales appelées « système sur puce », ce qui signifie qu'une seule puce contient plusieurs « puces » internes. Chacun de ces "systèmes sur puces" est comme une ville électronique en soi. Cependant , les puces informatiques n'ont pas d' yeux et ne peuvent pas " voir " les bits . Au lieu de cela, ils sont câblés ensemble de sorte que lorsqu'un bit est activé, l'électricité le traverse. Imaginez que chaque fenêtre du stockage 1 et du stockage 2 ait une rallonge la reliant au bâtiment de calcul. Les 16 fils de chaque bâtiment de stockage sont branchés sur un seul côté du bâtiment de calcul. Le stockage 1 est branché sur le côté 1 du bâtiment de calcul et le stockage 2 est branché sur le côté 2 du bâtiment de calcul . Si vous deviez allumer une lumière dans l'un des bâtiments de stockage, cela enverrait également de l'électricité via la rallonge de cette pièce au bâtiment informatique. Maintenant , imaginez que le bâtiment op - code a 2 fils ( un pour chaque fenêtre ) reliés au troisième côté du bâtiment de calcul . Enfin, le 4ème côté du bâtiment de calcul est relié au bâtiment de résultat. Puisque l'op-code a 2 fenêtres, nous avons 4 combinaisons possibles. Nous allons laisser chaque combinaison représenter une commande : * 1 : off - off ( 00 ) est ne rien faire * 2 : off - on ( 01 ) est ajouter le stockage 1 et le stockage 2 * 3 : on - off ( 10 ) est soustrayez le stockage 2 du stockage 1 * 4 : et on - on ( 11 ) multiplie le stockage 1 et le stockage 2 . Toutes les opérations sauf off-off font en sorte que les voyants du bâtiment de résultat reflètent le résultat binaire de l'opération. Par exemple , l' utilisation de l' add op - code ( off - on ) fait que les voyants du résultat indiquent la somme du stockage 1 et du stockage 2 . A titre d'exemple, imaginez que vous courez autour de cette ville imaginaire. Vous allumez les lumières dans le stockage un et le stockage deux de sorte que les fenêtres ressemblent à ceci ( 1 est allumé ): * Stockage 1 : * 00000000 * 00000011 * Stockage 2 : * 00000000 * 00000001 Ensuite, vous courez vers le bâtiment du code opérationnel et retournez les interrupteurs d' éclairage pour qu'il ait la valeur binaire suivante : 01 Rappelez - vous , 01 est à additionner . À votre insu, 01 a permis à l'alimentation du stockage 1 et du stockage 2 d'être acheminée vers les portes logiques utilisées pour l'addition dans le bâtiment de calcul. Par conséquent , les fenêtres sur le bâtiment de résultat ressemblent à ceci : * 00000000 * 00000000 * 00000000 * 00000100 En procédant ainsi , vous avez effectivement ajouté 11 ( binaire pour 3 ) et 1 ( binaire pour 1 ) , ce qui donne 100 ( binaire pour 4 ) . Vous devriez maintenant avoir une compréhension très basique du fonctionnement des ordinateurs. De nombreux bits, dont des groupes sont réservés à différentes choses, sont câblés ensemble de sorte que d'autres groupes de bits agissent comme des commandes pour effectuer des calculs. Si vous voulez comprendre comment le texte et d'autres éléments sont représentés, regardez un tableau ASCII. En effet, un octet est utilisé pour un seul caractère. Chaque combinaison possible de bits dans l'octet est réservée pour représenter un caractère différent. Ce sont toujours des nombres binaires, c'est juste que lorsque les gens conçoivent des ordinateurs pour qu'ils soient compatibles les uns avec les autres, ils acceptent de lier leurs conceptions pour qu'elles soient conformes à des normes comme l'ASCII. Edit : mise en forme et clarté