Meilleure réponse
Imaginez un gros programme informatique, par exemple un fichier de 100 Mo de long.
Imaginez maintenant un petit correctif, par exemple, un correctif qui ne change que quelques octets dans ces 100 Mo.
Remplacer le fichier programme de 100 Mo est un gaspillage de bande passante. Le téléchargement prend beaucoup de temps et utilise inutilement beaucoup despace.
À la place, vous pouvez lancer un petit programme dont le seul but est de localiser le fichier original de 100 Mo sur lordinateur du client, puis changer les quelques octets qui constituent le correctif. Ce serait un correctif.
Bien sûr, le mot « correctif » de nos jours est utilisé de manière plutôt informelle pour décrire toute réédition mineure dun logiciel, quelle quen soit la forme la réédition prend; cela peut être sous la forme dun correctif comme je lai décrit ci-dessus, ou il peut simplement sagir dun ensemble de fichiers de remplacement ou même dun nouveau package dinstallation, il est encore souvent appelé un « patch » si le but du paquet est juste pour corriger quelques bugs ou implémenter dautres changements mineurs.
Réponse
Eh bien, au niveau le plus bas, une puce informatique est faite de transistors. Ce sont des patchs minuscules de silicium, avec des impuretés délibérées pour les rendre capables dagir comme de minuscules commutateurs.
Les transistors sont construits en circuits en ajoutant une couche de petits fils pour les connecter.
Les transistors sont intégrés dans des «portes logiques» qui peuvent effectuer des opérations logiques très simples:
- ET – si deux signaux dentrée sont tous les deux présents, générer un signal de sortie.
- OU – si lun des deux signaux dentrée ou les deux sont présents, générer un signal de sortie.
- XOR – si un seul des signaux dentrée est présent, mais pas lautre, générer une sortie.
- NOT – qui na quune seule entrée – et ne génère une sortie que sil ny a pas de signal sur lentrée.
Chacune de ces portes logiques est juste un couple de transistors.
Les portes logiques peuvent ensuite être assemblées pour créer des éléments tels que des «flip flops» qui contiennent une seule valeur vrai / faux et sen souviennent – ou des «additionneurs dun bit» qui peuvent ajouter deux chiffres binaires ensemble et produire une sortie et un bit carry.
Activé Les additionneurs de bits peuvent être combinés pour créer des morceaux de circuits qui peuvent ajouter deux nombres plus grands ensemble (ou les soustraire en utilisant une astuce appelée «arithmétique du complément à deux).
Nous pouvons également construire des choses appelées« décaleurs »qui peuvent multipliez un nombre par deux, quatre, huit, seize, etc.
Un tas de bascules peut être assemblé pour construire un morceau de circuit qui peut stocker un nombre entier – et un tas de CES morceaux peut créer un bloc de mémoire RAM qui peut contenir de très nombreux nombres.
À partir de ces blocs additionneurs et décaleurs, vous pouvez construire des circuits qui se multiplient et se divisent… et à partir de ceux-ci, nous pouvons créer des circuits qui calculent des choses comme sinus et cosinus et racines carrées. Nous pouvons également faire des circuits qui comparent deux nombres en soustrayant lun de lautre et en voyant si le résultat est positif, nul ou négatif.
Ensuite, il y a tout un tas de logique de contrôle – qui peut dire à ces autres de gros morceaux de circuit pour déplacer un nombre dun endroit de la RAM à un autre – ou pour ajouter deux nombres pris de la RAM ensemble et les réécrire dans un autre endroit de la RAM.
La dernière étape consiste à utiliser un nombre stocké dans la RAM pour indiquer à la logique de commande ce quil faut faire… donc CE numéro est un code qui représente une instruction dans un programme informatique. Alors peut-être que le nombre «1» signifie «déplacer un nombre d’un endroit à un autre» et «2» signifie «ajouter deux nombres» et «3» signifie «comparer deux nombres». Une fois que chaque instruction a été exécutée, le circuit récupère linstruction suivante et lexécute également. Si vous faites une comparaison, vous pouvez dire à ce bloc de logique de commencer à prendre linstruction suivante ailleurs.
Cest donc un ordinateur TRÈS simple – mais tout à fait utilisable … mais les choses sont devenues SAUVEMENT plus complexes que cela.
Lorsque tous ces circuits logiques de plus en plus compliqués sont combinés – nous pourrions nous retrouver avec une puce avec plus dun milliard de ces minuscules transistors!
Nous appelons cela le «CPU « Puce.
Ensuite, nous obtenons les autres puces qui composent lordinateur entier – notamment, il y a les » puces RAM « qui stockent des nombres tout comme notre bascule – mais en utilisant une méthode plus économe en espace . Ces puces utilisent des condensateurs au lieu de transistors – et en chargeant un condensateur (ou non) stockent un seul bit dinformation dans moins despace quune bascule. Ces puces RAM ne sont plus ou moins juste une vaste mer de condensateurs et de logique de contrôle. Des milliards dentre eux sur une seule puce.
Ensuite, nous avons également des puces qui font des choses comme envoyer le contenu dun morceau de RAM à un écran pour faire un affichage. Les nombres dans la RAM sont regroupés en ensembles de trois qui représentent la luminosité des couleurs rouge, verte et bleue à un seul pixel de lécran. Des millions de nombres sont utilisés pour décrire limage que vous voyez – et lordinateur change ces couleurs à chaque pixel en écrivant des nombres dans cette mémoire RAM.
La machine qui en résulte est la chose la plus complexe que les humains aient fabriquée – par FAR. Un téléphone portable ou un ordinateur portable pourrait pousser vers un billion de transistors et de condensateurs.
En tant quingénieur logiciel de 62 ans, je trouve assez étonnant que tout cela soit devenu possible de mon vivant. Quand jai commencé à faire cela, les ordinateurs étaient toujours fabriqués de la même manière – mais un transistor était quelque chose de la taille dun tic-tac menthe – et maintenant ils sont plus petits que la longueur donde de la lumière!
Mais aussi incroyable que toute cette complexité est – ce qui métonne totalement, cest à quel point tout cela est incroyablement fiable.
Votre voiture est peut-être composée de 10 000 pièces – dont certaines font des choses quelques milliers de fois par seconde. Après quelques années (ce qui représente peut-être quelques milliers dheures de fonctionnement), certaines de ces pièces vont mal tourner et doivent être remplacées.
Mon ordinateur est constitué dun billion de pièces – dont la plupart font des choses quelques milliards de fois par seconde. Son matériel fonctionnera parfaitement pendant une décennie – ce qui représente quelques centaines de milliers d’heures d’opérations – mais un quintillion d’opérations individuelles – dont chacune s’est parfaitement déroulée.
Les ordinateurs sont des choses vraiment incroyables.