Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Mikroprozessoren

Frühe Pioniere der Informatik wie Alan Turing und John von Neumann postulierten, dass ein Computer, um wirklich nützlich zu sein, nicht nur in der Lage sein muss, bestimmte Ausgaben gemäß programmierter Anweisungen zu erzeugen, sondern auch in der Lage sein muss, Daten zu schreiben speichern und später auf diese Daten reagieren können.

Sowohl die Programmschritte als auch die verarbeiteten Daten sollten in einem gemeinsamen Speicher-„Pool“ gespeichert werden, was dem Etikett des speicherprogrammierten Computers Platz machte . Turings theoretische Maschine verwendet ein Band mit sequenziellem Zugriff, das Daten zum Lesen durch eine Steuerschaltung speichert, die Steuerschaltung Daten auf das Band neu schreibt und/oder das Band an eine neue Position bewegt, um mehr Daten zu lesen.

Moderne Computer verwenden Speichergeräte mit wahlfreiem Zugriff anstelle von Bändern mit sequenziellem Zugriff, um im Wesentlichen dasselbe zu erreichen, jedoch mit größerer Leistungsfähigkeit.

Ein hilfreiches Beispiel ist das der frühen Steuerungstechnik für automatische Werkzeugmaschinen. Genannt Open-Loop , oder manchmal nur NC (numerische Steuerung) würden diese Steuersysteme die Bewegung einer Werkzeugmaschine wie einer Drehmaschine oder einer Mühle durch Befolgen von Anweisungen, die als Löcher in Papierstreifen programmiert wurden, steuern.

Das Band würde in einer Richtung durch einen „Lese“-Mechanismus laufen, und die Maschine würde den Anweisungen auf dem Band ohne Rücksicht auf andere Bedingungen blind folgen. Während diese Geräte die Last beseitigten, dass ein menschlicher Maschinist jede Bewegung der Werkzeugmaschine steuern musste, war ihr Nutzen jedoch begrenzt.

Da die Maschine für die reale Welt blind war und nur den Anweisungen auf dem Band folgte, konnte sie sich ändernde Bedingungen wie Ausdehnung des Metalls oder Verschleiß der Mechanismen nicht ausgleichen.

Außerdem musste der Bandprogrammierer die Reihenfolge der vorherigen Anweisungen im Programm der Maschine genau kennen, um störende Umstände zu vermeiden (z. da das Gerät außer dem Band selbst keinen Speicher hatte, der schreibgeschützt war.

Die Aufrüstung von einem einfachen Bandleser zu einem Finite-State-Steuerungsdesign gab dem Gerät eine Art Speicher, der verwendet werden konnte, um zu verfolgen, was es bereits getan hatte (durch Rückkopplung einiger Datenbits in die Adressbits), also zumindest Der Programmierer könnte entscheiden, dass die Schaltung „Zustände“ speichert, in denen sich die Werkzeugmaschine befinden könnte (wie „Kühlmittel an“ oder Werkzeugposition). Es gab jedoch noch Raum für Verbesserungen.

Der ultimative Ansatz besteht darin, das Programm Anweisungen geben zu lassen, die das Schreiben neuer Daten in einen Lese-/Schreibspeicher (RAM) umfassen, die das Programm leicht abrufen und verarbeiten könnte. Auf diese Weise konnte das Steuerungssystem seine Aktivitäten und alle sensorisch erfassbaren Prozessänderungen aufzeichnen, ähnlich wie ein menschlicher Maschinist Notizen oder Messungen auf einem Notizblock notieren könnte, um später bei seiner Arbeit darauf zurückgreifen zu können. Dies wird als CNC oder Closed-Loop Numerical Control bezeichnet .

Ingenieure und Informatiker freuten sich auf die Möglichkeit, digitale Geräte zu bauen, die ihre eigene Programmierung modifizieren könnten, ähnlich wie das menschliche Gehirn die Stärke der interneuralen Verbindungen abhängig von Umwelterfahrungen anpasst (aus diesem Grund verbessert sich die Gedächtnisleistung bei wiederholtem Lernen, und Verhalten wird durch konsequentes Feedback verändert).

Nur wenn das Programm des Computers in demselben beschreibbaren Speicherpool wie die Daten gespeichert wäre, wäre dies praktisch. Es ist interessant festzustellen, dass die Idee eines sich selbst modifizierenden Programms immer noch als Vorreiter der Informatik gilt.

Die meisten Computerprogramme basieren auf ziemlich festen Befehlsfolgen, wobei ein separates Datenfeld die einzige Information ist, die geändert wird.

Um den Ansatz mit gespeicherten Programmen zu erleichtern, benötigen wir ein Gerät, das viel komplexer ist als das einfache FSM, obwohl viele der gleichen Prinzipien gelten. Zuerst brauchen wir einen Lese-/Schreibspeicher, auf den leicht zugegriffen werden kann:Dies ist einfach zu bewerkstelligen.

Statische oder dynamische RAM-Chips machen die Arbeit gut und sind kostengünstig. Zweitens benötigen wir eine Art Logik, um die im Speicher gespeicherten Daten zu verarbeiten. Da Standard- und Boolesche arithmetische Funktionen so nützlich sind, können wir eine Arithmetic Logic Unit (ALU) verwenden, wie das zuvor untersuchte Beispiel für das Lookup-Table-ROM.

Schließlich brauchen wir ein Gerät, das steuert, wie und wo Daten zwischen dem Speicher, der ALU und der Außenwelt fließen. Diese sogenannte Steuereinheit ist das bisher mysteriöseste Stück des Puzzles und besteht aus Tri-State-Puffer (um Daten zu und von Bussen zu leiten) und Decodierlogik, die bestimmte Binärcodes als auszuführende Anweisungen interpretiert.

Beispielanweisungen könnten etwa sein:„Addiere die an der Speicheradresse 0010 gespeicherte Zahl mit der an der Speicheradresse 1101 gespeicherten Zahl“ oder „bestimme die Parität der Daten in der Speicheradresse 0111“. Die Wahl, welche Binärcodes welche Befehle für die Steuereinheit zum Decodieren darstellen, ist weitgehend willkürlich, ebenso wie die Wahl der Binärcodes zur Darstellung der Buchstaben des Alphabets im ASCII-Standard weitgehend willkürlich war.

ASCII ist jedoch mittlerweile ein international anerkannter Standard, während Steuergeräte-Befehlscodes fast immer herstellerspezifisch sind.

Das Zusammenfügen dieser Komponenten (Lese-/Schreibspeicher, ALU und Steuereinheit) ergibt ein digitales Gerät, das normalerweise als Prozessor bezeichnet wird . Wenn minimaler Speicher verwendet wird und alle notwendigen Komponenten auf einem einzigen integrierten Schaltkreis enthalten sind, wird er als Mikroprozessor bezeichnet . In Kombination mit den notwendigen Schaltkreisen zur Unterstützung der Bussteuerung wird sie als Zentraleinheit bezeichnet , oder CPU.

Die CPU-Operation wird im sogenannten Fetch/Execute-Zyklus zusammengefasst . Abholen bedeutet, eine Anweisung aus dem Speicher zu lesen, damit die Steuereinheit sie dekodieren kann. Ein kleiner Binärzähler in der CPU (bekannt als Programmzähler oder Anweisungszeiger ) enthält den Adresswert, an dem der nächste Befehl im Hauptspeicher gespeichert wird.

Die Control Unit sendet diesen binären Adresswert an die Adressleitungen des Hauptspeichers, und die Datenausgabe des Speichers wird von der Control Unit gelesen, um sie an ein anderes Halteregister zu senden. Wenn die abgerufene Anweisung das Lesen weiterer Daten aus dem Speicher erfordert (zum Beispiel müssen wir beim Addieren von zwei Zahlen beide Zahlen, die addiert werden sollen, aus dem Hauptspeicher oder aus einer anderen Quelle lesen), adressiert die Steuereinheit entsprechend die Position von die angeforderten Daten und leitet die Datenausgabe an ALU-Register.

Als nächstes würde die Steuereinheit die Anweisung ausführen, indem sie der ALU signalisierte, mit den beiden Zahlen alles zu tun, was angefordert wurde, und das Ergebnis an ein anderes Register namens Akku weiterleiten . Die Anweisung wurde nun „geholt“ und „ausgeführt“, sodass die Steuereinheit jetzt den Programmzähler inkrementiert, um zur nächsten Anweisung zu gelangen, und der Zyklus wiederholt sich.

Mikroprozessor (CPU) -------------------------------------- | ** Programmzähler ** | | (erhöht den an | . gesendeten Adresswert | externe(r) Speicherchip(s) zum Abrufen |==========> Adressbus | die nächste Anweisung) | (zum RAM-Speicher) -------------------------------------- | ** Steuereinheit ** |<=========> Steuerbus | (dekodiert Anweisungen, die von | (für alle Geräte, die gemeinsam genutzt werden) gelesen werden | Programm im Speicher, ermöglicht Fluss | Adress- und/oder Datenbusse; | von Daten zu und von ALU, intern | vermittelt alle Buskom- | Register und externe Geräte) | Kationen) -------------------------------------- | ** Arithmetische Logikeinheit (ALU) ** | | (führt alle mathematischen | | Berechnungen und Boolean | | Funktionen) | -------------------------------------- | ** Registriert ** | | (kleine Schreib-/Lesespeicher für |<=========> Datenbus | Befehlscodes halten, | (aus RAM-Speicher und anderen | Fehlercodes, ALU-Daten usw.; | Externe Geräte) | enthält den "Akku") | --------------------------------------

Wie man sich vorstellen kann, ist das Ausführen selbst einfacher Anweisungen ein mühsamer Prozess. Mehrere Schritte sind erforderlich, damit die Steuereinheit die einfachsten mathematischen Verfahren ausführen kann.

Dies gilt insbesondere für arithmetische Verfahren wie Exponenten, die wiederholte Ausführungen („Iterationen“) einfacherer Funktionen beinhalten. Stellen Sie sich nur die Menge an Schritten vor, die innerhalb der CPU erforderlich sind, um die Informationen für die grafische Anzeige eines Flugsimulatorspiels zu aktualisieren!

Das einzige, was einen so mühsamen Prozess praktisch macht, ist die Tatsache, dass Mikroprozessorschaltungen in der Lage sind, den Abruf-/Ausführungszyklus mit hoher Geschwindigkeit zu wiederholen.

In einigen Mikroprozessor-Designs gibt es minimale Programme, die in einem speziellen ROM-Speicher intern im Gerät gespeichert sind (genannt Mikrocode ), die alle zur Durchführung komplexerer mathematischer Operationen erforderlichen Unterschritte verarbeiten. Auf diese Weise muss nur eine einzige Anweisung aus dem Programm-RAM gelesen werden, um die Aufgabe zu erledigen, und der Programmierer muss sich nicht darum kümmern, dem Mikroprozessor jeden einzelnen Schritt vorzugeben. Im Wesentlichen ist es ein Prozessor innerhalb eines Prozessors; ein Programm, das innerhalb eines Programms läuft.


Industrietechnik

  1. Netzwerkprotokolle
  2. Warum digital?
  3. Begriffe und Konzepte des digitalen Speichers
  4. Nur-Lese-Speicher (ROM)
  5. Op-Amp-Daten
  6. Python-Datentypen
  7. Datengesteuerte Fertigung ist da
  8. C - Datentypen
  9. C - Gewerkschaften
  10. C - Speicherverwaltung