human
Ordinateurs : Comment passer d'un tas de 1 et de 0 à tout ce que nous pouvons faire ? Par « tout ce que nous pouvons faire », je veux dire parcourir Reddit, jouer à des jeux vidéo, regarder des films, écrire des articles, etc. Explique comme si j'avais cinq ans.
gpt
Au niveau le plus bas (presque), il tourne sous l'action des transistors. Les transistors des circuits logiques numériques sont principalement utilisés comme commutateurs. Vous voulez que les transistors soient complètement éteints (pas de courant) ou complètement allumés (beaucoup de courant). Et vous pouvez utiliser la sortie d'un transistor pour contrôler l'entrée d'autres transistors, vous pouvez donc construire un circuit compliqué en les câblant de certaines manières. En utilisant seulement quelques transistors, vous pouvez construire des circuits logiques très simples pour implémenter la logique numérique binaire (appelée logique « booléenne » du nom de celui qui l'a inventée). Par exemple, imaginez une ampoule connectée à une batterie via un interrupteur. Allumez, allumez ; éteindre, éteindre la lumière. Imaginez maintenant qu'il y a deux interrupteurs dans une rangée, A et B. La lumière n'est allumée que si A et B sont tous les deux en position marche. C'est ce que fait une porte ET logique numérique ! Si vous raccordez les interrupteurs différemment, vous pouvez tout aussi bien faire une porte OU (A OU B allume la lumière). Étiquetez un commutateur à l'envers et vous avez une porte NOT. Il s'avère que vous pouvez créer n'importe quelle fonction logique numérique avec une combinaison de quelques types de circuits simples, tels que ET/OU/NON (vous pouvez en fait tout faire avec un seul, mais personne ne le fait vraiment). En combinant ces circuits simples , des circuits plus compliqués peuvent être réalisés ( comme un additionneur , un multiplexeur , etc . ) . Vous pouvez utiliser ces circuits pour en faire des circuits encore plus compliqués. Comme un processeur. C'est comme si vous aviez un tas de petits blocs Lego, et que vous pouviez les utiliser pour faire des blocs Lego plus grands, et vous pourriez ensuite les utiliser pour faire des blocs Lego encore plus grands, et ainsi de suite. Les circuits intégrés d'aujourd'hui utilisent plus d'un milliard de transistors pour créer quelque chose de très complexe, mais qui est construit à partir de choses très simples. Les transistors sont parfaits pour construire ces choses parce qu'ils sont petits, rapides, fiables, bon marché et n'utilisent pas beaucoup d'énergie. Ce sont toutes des propriétés importantes lorsque vous essayez de créer quelque chose qui utilise un milliard d'appareils ou plus. Après avoir construit un tas de puces différentes et les avoir mises dans des « packages », vous soudez ces packages sur une carte de circuit imprimé (telle qu'une carte mère de PC). Le circuit imprimé comporte des traces de cuivre qui agissent comme des fils plats pour connecter les éléments entre eux. (Il est moins cher, plus simple, plus performant et plus fiable d'utiliser un PCB pour ce faire plutôt qu'un tas de fils individuels.) Il a même de nombreuses couches et des vias de connexion entre les couches ou dégagés de l'autre côté du PCB. . Alors maintenant, vous pouvez connecter différentes puces qui remplissent différentes fonctions, comme le processeur, la mémoire, les graphiques, etc. Ils " parlent " entre eux via les traces sur le PCB selon certaines règles prédéterminées , appelées " protocoles " . Un peu comme les circuits, ces protocoles sont construits en couches, le protocole de niveau le plus bas définissant quels signaux signifient « 0 » et quels signaux signifient « 1 ». Ces protocoles deviennent assez compliqués et permettent aux différents composants de transmettre des informations très complexes dans les deux sens. Les différentes parties du PC ont des fonctions différentes, le CPU agissant en quelque sorte comme le cerveau principal et le centre de contrôle. Il reçoit les instructions du programme et les données envoyées du disque dur à la mémoire, puis à celle-ci, manipule les données comme dicté par le flux d'instructions et envoie les données là où elles sont nécessaires. Mais le CPU fait ce qu'il fait selon la logique numérique qui y a été intégrée. Maintenant que tout peut transmettre des informations binaires et faire des choses avec, il ne reste plus que des façons de représenter l'information et de décrire comment faire des choses avec. C'est dans ce dernier cas que la programmation entre en jeu... les programmes décrivent, éventuellement au niveau binaire, comment manipuler des informations sous forme numérique. Et à peu près tout peut être numérisé, plus ou moins. Un son peut être mesuré très très rapidement, transformant sa forme d'onde en une série de nombres. Une image peut être représentée comme plusieurs rangées et colonnes de points minuscules, chacun ayant une couleur et une intensité, et chacune de ces couleurs et intensités représentées par des nombres. Et les nombres peuvent être représentés en binaire pour que la logique numérique puisse en faire des choses... le transformer, le transmettre, etc.