human
Comment fonctionne réellement un ordinateur ? Par exemple, comment transfère-t-il, lit-il et affiche-t-il des données et des objets ? Quelque chose que je me suis personnellement toujours demandé. S'il vous plaît, expliquez-moi comme si j'avais cinq ans.
gpt
Plongeons directement dans le pays magique des données. Quel est le symbole du cinq ? 5 . Quel est le symbole du dix ? dix . Mais attendez, n'est-ce pas le symbole du un et du zéro ? Bon, donc dans notre système de numérotation, quand nous arrivons au nombre dix, nous écrivons le symbole pour un et zéro. Il n'y a pas de symbole pour dix, nous recyclons simplement ceux que nous avons déjà. Pour cette raison , nous appelons notre système de numérotation « base dix » , ou « décimal » . « Uns et zéros », « vrai et faux », et « marche ou arrêt » sont tous des termes que vous avez probablement déjà entendus. Ce à quoi tout cela fait référence est un type *différent* de système de numérotation. Pour notre système décimal , nous écrivons un ' 10 ' lorsque nous arrivons à dix , mais pour le binaire , nous écrivons un ' 10 ' lorsque nous arrivons à deux . Il n'y a pas de symbole pour deux en binaire, exactement comme il n'y a pas de symbole pour dix en décimal. « On » ou « off » fait simplement référence à ' 1 ' ou ' 0 ' en binaire . Juste pour s'assurer que cela a du sens (car c'est super important): 01 = un ; 10 = deux ; 11 = trois ; Faire sens ? Cool (sinon google "binaire"). Ok, maintenant pour quelque chose de complètement différent, mais lié. Il existe quelque chose dans la théorie informatique qui s'appelle une « porte logique ». C'est un appareil. Il a deux entrées et une sortie. La seule entrée qu'il accepte est " on " ou " off " , et la sortie est la même , " on " ou " off " . Vous pourriez voir la relation avec binary . Une sortie de porte logique est basée sur son entrée. Un exemple de porte logique est une porte « ET ». Lorsque les deux entrées sont activées, la sortie est activée. Sinon, la sortie est désactivée. Tu es toujours avec moi ? Ne vous inquiétez pas, les trucs sympas arrivent bientôt. Une autre porte logique est la porte « NON ». La porte NOT a une entrée. Si l'entrée est désactivée, la sortie est activée et vice versa. La sortie n'est * pas * l'entrée. Trouver ? Maintenant, si nous mettons l'entrée d'une porte NON sur la sortie d'une porte ET, nous obtenons une porte NAND. Créatif, je sais. Nous, les nerds, ne sortons pas beaucoup. Quoi qu'il en soit, essayez de déterminer quelle serait la sortie pour les quatre différentes combinaisons possibles des deux entrées pour la porte NAND. [ Quoi qu'il en soit , voici à quoi ressemble une porte NAND dessinée . ] ( URL_1 ) Maintenant , vous avez probablement entendu parler de mémoire d' ordinateur , n'est - ce pas ? [ * * ta da ! * * ] ( URL_2 ) Cela n'aura pas de sens au premier abord , mais ce diagramme montre un machin - porteur de mémoire . Regardez-le pendant un moment et essayez de comprendre ce qu'il fait. Fondamentalement, il contient un "peu" de mémoire. On pourrait dire qu'un bit est comme un chiffre d'un nombre binaire. Vous en alignez plusieurs à la suite et vous pouvez commencer à tenir des numéros. Mais que faites-vous * de ces chiffres ? C'est là que ça devient cool. Vous faites des calculs avec ces chiffres. Ce périphérique suivant est appelé un " [ * adder * ] ( URL_3 ) " . La porte du dessus est appelée porte XOR, sa sortie est allumée si une seule de ses entrées est allumée. Si les deux sont allumés ou éteints, la sortie est désactivée. Maintenant , rendez - le [ un peu plus complexe ] ( URL_0 ) et vous pourrez ajouter plusieurs bits en même temps , en liant les derniers " Cout " aux suivants " Cin " . Cool , nous avons maintenant une calculatrice de base . Comment pouvons-nous monter cela jusqu'à 11 et faire un ordinateur ? Code . Maintenant, vous savez ce que sont les données, et le code est donc facile à expliquer. C'est juste des données. C'est tout ce que c'est. Vraiment . La raison pour laquelle ses données sont différentes des autres est que le processeur les interprète comme des instructions * . * Si nous voulions faire des maths par exemple, et que nous devions décider des définitions d'instructions, nous pourrions utiliser un système comme ; 00000001 = * ajoute * un nombre à un autre nombre ; 00000010 = * soustraire * un nombre d'un autre nombre ; Avec cela, nous pouvons définir quelles portes logiques sont utilisées en fonction des données. Maintenant , très rapidement , la mémoire est organisée sur un ordinateur par ce qu'on appelle des adresses mémoire , en gros elles permettent juste au CPU de demander de la mémoire à un emplacement spécifique . D'une manière générale, les adresses sont dimensionnées par "octets", qui est juste un autre mot pour "huit bits". Donc, si nous voulions accéder à l'emplacement de mémoire cinq ou quoi que ce soit, nous pourrions le stocker sous le nom « 00000101 ». Revenons en arrière et ajoutons un peu plus à notre table ; 00000011 = déplacer ces données dans un endroit ; Cool , maintenant nous pouvons dire quelque chose comme : " ajouter le numéro à l' emplacement # 5 en mémoire à l' autre numéro à l' emplacement # 7 en mémoire . " En le décomposant en : ( ajouter ) ( adresse mémoire # 5 ) ( adresse mémoire # 7 ) Qui est vraiment juste 00000001 00000101 00000111 Assez mignon non ? Mais attendez, comment le CPU sait-il où trouver ses instructions ? Sur le processeur , il y a une petite quantité de mémoire , il fait diverses choses , comme contenir quelque chose appelé " pointeur d' instruction " . Le pointeur d'instruction contient l'adresse de l'instruction suivante et s'incrémente après chaque instruction. Donc, fondamentalement, le processeur lit le pointeur d'instruction, récupère l'instruction suivante, le fait, en ajoute un au pointeur d'instruction, puis revient à la première étape. Mais que se passe-t-il lorsqu'il manque d'instructions ? Revenons à notre table. La dernière fois , je promets : 00000100 = définir le pointeur d' instruction sur l' adresse Fondamentalement , tout ce que fait cette instruction est de définir le pointeur d' instruction sur un nombre . Vous êtes-vous déjà demandé ce qu'est une boucle infinie sur un ordinateur ? C'est ce qui se passe lorsqu'un pointeur d'instruction est défini sur des instructions qui lui demandent de se définir sur le même ensemble d'instructions. C'est l'informatique en un mot. * * tl;dr * * J'ai besoin de me faire baiser.