human
Qu'est-ce qu'un microprocesseur ? Comment ça marche ? Comment a-t-il été inventé ? Ma nièce de 7 ans me pose ces questions parce qu'elle a vu le mot quelque part et quelqu'un lui a dit que c'est ce que son iPad utilise pour fonctionner. Explique comme si j'avais cinq ans.
gpt
Le microprocesseur le plus simple a besoin de trois choses : un emplacement pour stocker des données (mémoire) ; un ensemble d'instructions à exécuter sur les données ; et une zone de travail dans laquelle exécuter les instructions . C'est ça . * * data * * Les données sont toujours représentées par un nombre . Donc même les lettres et les instructions sont des nombres mais nous stockons d'autres données ailleurs qui permettent à l'ordinateur de savoir (j'utilise ce terme vaguement) quelle lettre ou instruction est représentée par un nombre en les gardant dans une table ailleurs. Tous les nombres d'un ordinateur sont représentés en binaire. Le binaire est la série de uns et de zéros que vous avez probablement déjà vue. 01101001 . Nous n'avons pas besoin d'un tableau pour rechercher la signification de ces nombres car vous pouvez utiliser les mathématiques pour passer de l'un à l'autre (question ELI5 distincte : comment fonctionne le binaire). Nous utilisons le binaire parce que la plupart des microprocesseurs représentent des uns et des zéros en utilisant un changement de tension électrique. De plus, 5 volts et 0 volts sont courants, mais vous pouvez utiliser deux tensions à condition que votre équipement puisse faire la différence entre les deux. Chaque relevé de tension électrique est appelé un bit . Toutes les données du microprocesseur sont stockées sous forme de tensions électriques par groupes de 8 bits appelés octets. Des microprocesseurs plus complexes traitent des ensembles d'octets plus longs, mais pour cet exemple, nous n'utiliserons que 8 bits, 1 octet. * * programme en mémoire * * Un programme est lu en mémoire et y est stocké. Vous pouvez considérer le programme comme une bande contenant une série d'instructions et entre toutes les instructions se trouvent des données. Vous commencez à une extrémité de la bande et continuez jusqu'à l'autre extrémité à moins qu'une instruction sur la bande ne vous dise de sauter en avant ou en arrière le long de la bande. La bande peut faire référence à des emplacements de mémoire. Il existe de nombreux emplacements de mémoire différents dans les processeurs modernes, mais tout ce que vous devez savoir, c'est que nous pouvons les adresser individuellement. * * instructions * * L'ensemble d'instructions le plus simple serait les opérateurs mathématiques standard (comme ajouter, soustraire, diviser et multiplier) et quelques instructions pour sauter à une partie particulière de la bande après qu'une condition soit remplie. * * exemple * * Nous écrivons un programme pour soustraire 1 de 10 jusqu'à ce que la valeur atteigne 0 . En pratique, quelque chose comme cela peut être utilisé comme compteur pour une autre instruction exécutée 10 fois. Le langage que j'utilise ici est un langage d'assemblage réduit d'un jeu informatique appelé TIS-100 . C'est un excellent moyen d'apprendre le fonctionnement d'un processeur. C'est peut-être un peu avancé pour votre enfant de sept ans, mais s'il semble comprendre les concepts de base, cela vaut la peine d'essayer le jeu avec lui. Je suis sûr que j'ai commencé à écrire de l'assembleur vers cet âge, je programmais certainement à ce moment-là. ACC est la " * * zone de travail * * " dont nous avons parlé précédemment . C'est la bande MOV 10 ACC ( mettre la valeur 10 dans la zone de travail ) LOOP1 : ( cela peut être appelé n'importe quoi mais c'est un nom utilisé pour sauter dans le code ) SUB 1 ( soustraire 1 de la valeur actuelle dans ACC ) JNZ LOOP1 (si la valeur actuelle de ACC n'est pas zéro revenir en boucle sinon faire l'instruction suivante) * Instruction suivante * fin de la bande. En mémoire, cela ressemble à ceci : (les chiffres sur le côté montrent qu'ils avancent dans le temps) Contenu de l'ACC 00 : 00001010 (numéro 10) 01 : 00001001 (numéro 9) 02 : 00001000 (numéro 8) 03 : 00000111 (numéro 7) 04 : 00000110 (numéro 6) 05 : 00000101 (numéro 5) 06 : 00000100 (numéro 4) 07 : 00000011 (numéro 3) 08 : 00000010 (numéro 2) 09 : 00000001 (numéro 1) 10 : 00000000 (numéro 0) s'asseoir . C'est aussi simple que ça . La raison pour laquelle tout semble compliqué est que l'ordinateur peut exécuter des millions de millions de ces instructions chaque seconde et lorsque vous les assemblez toutes, elles peuvent afficher une vidéo ou jouer de la musique. C'est assez incroyable.