Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Microprocesseurs

Les premiers pionniers de l'informatique tels que Alan Turing et John Von Neumann ont postulé que pour qu'un appareil informatique soit vraiment utile, il devait non seulement être capable de générer des sorties spécifiques telles que dictées par des instructions programmées, mais il devait également être capable d'écrire des données. en mémoire et pouvoir agir sur ces données plus tard.

Les étapes du programme et les données traitées devaient résider dans un « pool » de mémoire commun, cédant ainsi la place à l'étiquette de l'ordinateur à programme enregistré . La machine théorique de Turing utilisait une bande à accès séquentiel, qui stockait des données pour un circuit de contrôle à lire, le circuit de contrôle réécrivant les données sur la bande et/ou déplaçant la bande vers une nouvelle position pour lire plus de données.

Les ordinateurs modernes utilisent des dispositifs de mémoire à accès aléatoire au lieu de bandes à accès séquentiel pour accomplir essentiellement la même chose, sauf avec une plus grande capacité.

Une illustration utile est celle des premières technologies de commande automatique des machines-outils. Appelé boucle ouverte , ou parfois simplement NC (contrôle numérique), ces systèmes de contrôle dirigeraient le mouvement d'une machine-outil telle qu'un tour ou une fraiseuse en suivant des instructions programmées sous forme de trous dans du ruban de papier.

La bande passerait dans une direction à travers un mécanisme de « lecture », et la machine suivrait aveuglément les instructions sur la bande sans tenir compte de toute autre condition. Bien que ces dispositifs éliminaient le fardeau d'avoir un machiniste humain pour diriger chaque mouvement de la machine-outil, leur utilité était limitée.

Parce que la machine était aveugle au monde réel, ne suivant que les instructions écrites sur la bande, elle ne pouvait pas compenser les conditions changeantes telles que l'expansion du métal ou l'usure des mécanismes.

En outre, le programmeur de bande devait être parfaitement conscient de la séquence des instructions précédentes dans le programme de la machine pour éviter des circonstances gênantes (comme dire à la machine-outil de déplacer le foret latéralement alors qu'il est encore inséré dans un trou de la pièce), puisque l'appareil n'avait pas de mémoire autre que la bande elle-même, qui était en lecture seule.

La mise à niveau d'un simple lecteur de bande vers une conception de contrôle à l'état fini a donné à l'appareil une sorte de mémoire qui pouvait être utilisée pour garder une trace de ce qu'il avait déjà fait (grâce au retour de certains des bits de données aux bits d'adresse), donc au moins le programmeur pourrait décider que le circuit se souvienne des « états » dans lesquels la machine-outil pourrait se trouver (comme « liquide de refroidissement activé » ou la position de l'outil). Cependant, il y avait encore place à l'amélioration.

L'approche ultime consiste à faire en sorte que le programme donne des instructions qui incluraient l'écriture de nouvelles données dans une mémoire à lecture/écriture (RAM), que le programme pourrait facilement rappeler et traiter. De cette façon, le système de contrôle pourrait enregistrer ce qu'il avait fait et tout changement de processus détectable par capteur, de la même manière qu'un machiniste humain pourrait prendre des notes ou des mesures sur un bloc-notes pour référence future dans son travail. C'est ce que l'on appelle la CNC, ou Commande numérique en boucle fermée .

Les ingénieurs et les informaticiens attendaient avec impatience la possibilité de construire des appareils numériques qui pourraient modifier leur propre programmation, de la même manière que le cerveau humain adapte la force des connexions interneurales en fonction des expériences environnementales (c'est pourquoi la rétention de la mémoire s'améliore avec des études répétées, et le comportement est modifié par la rétroaction consécutive).

Ce n'est que si le programme de l'ordinateur était stocké dans le même « pool » de mémoire inscriptible que les données que cela serait pratique. Il est intéressant de noter que la notion de programme auto-modifiable est toujours considérée comme à la pointe de l'informatique.

La plupart des programmes informatiques reposent sur des séquences d'instructions plutôt fixes, un champ de données distinct étant la seule information qui soit modifiée.

Pour faciliter l'approche par programme stocké, nous avons besoin d'un dispositif beaucoup plus complexe que le simple FSM, bien que bon nombre des mêmes principes s'appliquent. Premièrement, nous avons besoin d'une mémoire en lecture/écriture facilement accessible :c'est assez facile à faire.

Les puces RAM statiques ou dynamiques font bien le travail et sont peu coûteuses. Deuxièmement, nous avons besoin d'une certaine forme de logique pour traiter les données stockées en mémoire. Parce que les fonctions arithmétiques standard et booléennes sont si utiles, nous pouvons utiliser une unité logique arithmétique (ALU) telle que l'exemple de ROM de table de recherche exploré plus tôt.

Enfin, nous avons besoin d'un appareil qui contrôle comment et où les données circulent entre la mémoire, l'ALU et le monde extérieur. Cette soi-disant Unité de contrôle est la pièce la plus mystérieuse du puzzle à ce jour, étant composée de tampons à trois états (pour diriger les données vers et depuis les bus) et d'une logique de décodage qui interprète certains codes binaires comme des instructions à exécuter.

Des exemples d'instructions peuvent être quelque chose comme :« ajouter le nombre stocké à l'adresse mémoire 0010 avec le nombre stocké à l'adresse mémoire 1101 » ou « déterminer la parité des données dans l'adresse mémoire 0111 ». Le choix des codes binaires représentant les instructions que l'unité de contrôle doit décoder est largement arbitraire, tout comme le choix des codes binaires à utiliser pour représenter les lettres de l'alphabet dans la norme ASCII était largement arbitraire.

L'ASCII, cependant, est désormais une norme internationalement reconnue, alors que les codes d'instructions de l'unité de contrôle sont presque toujours spécifiques au fabricant.

L'assemblage de ces composants (mémoire de lecture/écriture, ALU et unité de contrôle) donne un appareil numérique généralement appelé processeur . Si une mémoire minimale est utilisée et que tous les composants nécessaires sont contenus sur un seul circuit intégré, cela s'appelle un microprocesseur . Lorsqu'il est combiné avec les circuits de support de contrôle de bus nécessaires, il est connu sous le nom d'Unité de traitement centrale , ou CPU.

Le fonctionnement du processeur est résumé dans le soi-disant cycle d'extraction/exécution . Récupérer signifie lire une instruction de la mémoire pour que l'unité de contrôle la décode. Un petit compteur binaire dans la CPU (connu sous le nom de compteur de programme ou pointeur d'instruction ) contient la valeur de l'adresse où l'instruction suivante est stockée dans la mémoire principale.

L'unité de contrôle envoie cette valeur d'adresse binaire aux lignes d'adresse de la mémoire principale, et la sortie de données de la mémoire est lue par l'unité de contrôle pour être envoyée à un autre registre de maintien. Si l'instruction récupérée nécessite la lecture de plus de données de la mémoire (par exemple, en additionnant deux nombres ensemble, nous devons lire à la fois les nombres qui doivent être ajoutés à partir de la mémoire principale ou d'une autre source), l'unité de contrôle adresse de manière appropriée l'emplacement de les données demandées et dirige la sortie des données vers les registres ALU.

Ensuite, l'unité de contrôle exécuterait l'instruction en signalant à l'ALU de faire tout ce qui était demandé avec les deux nombres et dirigerait le résultat vers un autre registre appelé accumulateur . L'instruction a maintenant été "récupérée" et "exécutée", donc l'unité de contrôle incrémente maintenant le compteur de programme pour pas à pas l'instruction suivante, et le cycle se répète.

Microprocesseur (CPU) ---------------------------------------------------- | ** Compteur de programmes ** | | (incrémente la valeur de l'adresse envoyée à | | puce(s) de mémoire externe à récupérer |==========> Bus d'adresse | l'instruction suivante) | (vers la mémoire RAM) ---------------------------------------------------- | ** Unité de contrôle ** |<=========> Bus de contrôle | (décode les instructions lues depuis | (vers tous les appareils partageant | programme en mémoire, active le flux | bus d'adresses et/ou de données ; | de données vers et depuis ALU, interne | arbitre toutes les communications de bus | registres et périphériques externes) | cations) ---------------------------------------------------- | ** Unité arithmétique et logique (ALU) ** | | (exécute toutes les | | calculs et booléens | | fonctions) | ---------------------------------------------------- | ** Registres ** | | (petites mémoires lecture/écriture pour |<=========> Bus de données | contenant des codes d'instructions, | (à partir de la mémoire RAM et d'autres | codes d'erreur, données ALU, etc. ; | périphériques externes) | comprend "l'accumulateur") | ----------------------------------------------------

Comme on peut le deviner, exécuter même des instructions simples est un processus fastidieux. Plusieurs étapes sont nécessaires pour que l'unité de contrôle exécute les procédures mathématiques les plus simples.

Cela est particulièrement vrai pour les procédures arithmétiques telles que les exposants, qui impliquent des exécutions répétées (« itérations ») de fonctions plus simples. Imaginez simplement la quantité d'étapes nécessaires au sein du processeur pour mettre à jour les bits d'information pour l'affichage graphique d'un jeu de simulation de vol !

La seule chose qui rend un processus aussi fastidieux pratique est le fait que les circuits à microprocesseur sont capables de répéter le cycle d'extraction/exécution à grande vitesse.

Dans certaines conceptions de microprocesseurs, il existe un minimum de programmes stockés dans une mémoire ROM spéciale interne à l'appareil (appelée microcode ) qui gèrent toutes les sous-étapes nécessaires pour effectuer des opérations mathématiques plus complexes. De cette façon, une seule instruction doit être lue dans la RAM du programme pour effectuer la tâche, et le programmeur n'a pas à essayer de dire au microprocesseur comment faire chaque étape minute. Essentiellement, c'est un processeur à l'intérieur d'un processeur ; un programme exécuté à l'intérieur d'un programme.


Technologie industrielle

  1. Protocoles réseau
  2. Pourquoi le numérique ?
  3. Termes et concepts de la mémoire numérique
  4. Mémoire en lecture seule (ROM)
  5. Données d'amplificateur opérationnel
  6. Types de données Python
  7. La fabrication basée sur les données est arrivée
  8. C - Types de données
  9. C - Syndicats