Ein programmierbares Gerät ist jedes Gerät, dessen Funktionalität durch Ändern seiner internen Anweisungen oder der Konfiguration geändert werden kann. Dies steht im Gegensatz zu einem fest verdrahteten Gerät, bei dem die Funktionalität festgelegt ist und nicht leicht verändert werden kann. Das "Programm" kann alles von einer einfachen Folge von Anweisungen bis hin zu einer komplexen Softwareanwendung sein.
Hier ist eine Aufschlüsselung dessen, was etwas programmierbares macht:
* Anweisungen: Es muss in der Lage sein, eine Reihe von Anweisungen oder ein Programm zu speichern und auszuführen. Dieses Programm bestimmt das Verhalten des Geräts.
* Speicher: Es braucht eine Art Speicher, um diese Anweisungen zu speichern. Dies kann ROM (schreibgeschützter Speicher), RAM (Random Access Memory) oder andere Formen des anhaltenden oder flüchtigen Speichers sein.
* Prozessor (oft): Obwohl nicht immer explizit vorhanden ist (z. B. einfache programmierbare Logikgeräte), haben die meisten programmierbaren Geräte eine Art Bearbeitungseinheit, unabhängig davon, ob es sich um einen Mikroprozessor, ein Mikrocontroller oder ein programmierbares Logikarray handelt, das die im Speicher gespeicherten Anweisungen interpretiert und ausführt.
Beispiele für programmierbare Geräte sind:
* Computer: Von Desktop -PCs bis hin zu Smartphones sind dies Hauptbeispiele, die komplexe Betriebssysteme und Anwendungen ausführen.
* Mikrocontroller: Kleine, kostengünstige Computer auf einem einzigen Chip in vielen eingebetteten Systemen (z. B. Waschmaschinen, Autos).
* programmierbare Logiksteuerungen (SPS): Wird für die industrielle Automatisierung, die Kontrolle von Maschinen und Prozessen verwendet.
* Feldprogrammierbare Gate-Arrays (FPGAs): Chips, deren Logikschaltungen nach der Herstellung neu konfiguriert werden können, ermöglichen kundenspezifische Hardwaredesigns.
* Smartphones: Dies sind im Wesentlichen ausgefeilte programmierbare Computer.
* Smart TVS: Diese verfügen über Prozessoren und Software, die Updates und neue App -Installationen ermöglichen.
* Einige Taschenrechner: Fortgeschrittene Taschenrechner ermöglichen die Programmierung einfacher Routinen.
* Robotik: Roboter verlassen sich oft auf programmierbare Controller oder eingebettete Systeme, um ihre Bewegungen und Handlungen zu regeln.
Die Hauptunterscheidung ist die Fähigkeit, das Verhalten des Geräts zu ändern, ohne seine Hardware physisch zu ändern. Sie ändern die Software oder Konfiguration und die Aktionen des Geräts ändern sich entsprechend.