· 

Der Mikroprozessor

EVA-Prinzip

Der Mikroprozessor

In der neuen Serie technischer Fortschritt möchte ich aufzeigen, wie innovative Fortschritte in Wissenschaft und Technik dazu beitragen das Klima zu schützen und unseren Wohlstand wie auch unsere Wohlfahrt zu erhöhen. 

Ich möchte damit aufzeigen, dass es für einen wirksamen Klimaschutz keine generellen Verbote braucht, sondern Investitionen in neue, saubere Technologie. 
Den grundsätzlich gilt: Alles was wenig Ressourcen verschwendet, ist effizient und alles, was effizient ist, ist auch wirtschaftlich sinnvoll. 
In meinen Augen gibt es somit keinen Grund unsere liberalen Werte über Bord zu werfen. 

EVA steht für Eingabe, Verarbeitung und Ausgabe. Auf dem EVA-Prinzip bauen nahezu alle Maschinen, Computer, Smartphones und Roboter auf. Ein technisches Geräte nimmt mit Hilfe von Sensoren, Tastaturen, Datenspeichern (Diskette, CD) Daten auf, danach verarbeitet sie diese Daten (verändern, überwachen, bearbeiten etc.) und gibt die Daten danach in irgend einer Form wieder zurück (Lampe, Monitor, Drucker, Datenspeicher (Diskette, CD). 

Vielleicht kommen Sie jetzt auf die Idee, dass eine künstliche Intelligenz, ja gar ein Mensch, im Prinzip auch nach dem EVA-Prinzip arbeitet. Dies stimmt aber nur teilweise. Der Mensch und, möglicherweise in Zukunft, eine "richtige" künstliche Intelligenz (KI) können tatsächlich auch nach dem EVA-Prinzip arbeiten, so kann fragt der Lehrer den Schüler was den 2 + 6 ergebe, der Schüler hört zu, rechnet anschliessend die beiden Zahlen zusammen und antwortet schlussendlich mit "8". Ein Mensch ist im Gegensatz zur Maschine nicht stur ans EVA-Prinzip gebunden, sondern der Mensch ist in der Lage noch viel weiterzugehen. Dies verdankt der Mensch seinem kreativen Denken. Ein Mensch ist grundsätzlich in der Lage Problemstellungen kreativ zu lösen, so kann er die "2 + 6 = 8" auch von den Fingern abzählen, er kann Steine zur Hilfe nehmen und gar ein eigenes Zahlensystem entwickeln. Aktuell können künstliche Intelligenzen dies noch nicht wirklich, aber wer weiss wie lange es noch dauern wird. Wer hierzu noch mehr lesen will:
Googlen Sie die Begriffe "Chinesisches Zimmer" und "Alan Turing - Turing Test" und, falls sie etwa 5 Stunden Zeit und etwas Kleingeld auf der Seite haben, spielen Sie das Game "The Turing Test". 
Oder folgen Sie den folgenden Links:
https://de.wikipedia.org/wiki/Turing-Test


https://de.wikipedia.org/wiki/Chinesisches_Zimmer


https://de.wikipedia.org/wiki/The_Turing_Test

Speicherarchitekturen

Es existieren zwei Arten von Speicherarchitekturen, zum einen die "von Neumann Architektur" und zum anderen die "Harvard Architektur".

Während bei der "von Neumann Architektur" Programm und Daten den gleichen Speicher teilen, werden bei der "Harvard Architektur" die beiden Speicher sauber getrennt. Diese Trennung der Speicher führt dazu, dass es zwei verschiedene Datenbusse braucht. Somit ist die "von Neumann Architektur" zwar einfacher aufgebaut, aber gleichzeitig auch anfälliger für Viren.

Speichertypen

  1. RAM (Random Access Memory)
    Schreib- und lese-Speicher.
    Für schnellen Datenzugriff geeignet.
    VORSICHT, Daten gehen beim einem Spannungsausfall verloren, es handelt sich also um einen flüchtigen Speicher (volatile memory).
  2. SRAM (Static Random Access Memory)
    SRAM ist ein statischer Halbleiterspeicher, sprich der Speicherinhalt wird mittels Flip-Flops gespeichert. Der Stromverbrauch ist zwar sehr hoch, aber der SRAM arbeitet auch sehr schnell. Aufgrund seines hohen Preises und des großen Stromverbrauchs wird SRAM nur als Cache- oder Pufferspeicher mit geringen Kapazitäten verwendet.
    Haupteinsatzgebiet: Als Cache (Sowohl als L1-, L2- und L3-Cache).
  3. DRAM (Dynamic Random Access Memory)
    DRAM ist der einfachste und billigste Speicher. Heute ist der SDRAM der am weitesten verbreitete Halbleiterspeicher in der Computertechnik. Es gibt zwar auch noch andere Typen, wie zum Beispiel FRAM oder MRAM, die in der Computertechnik aber nur eine geringe Rolle spielen. Eine DRAM-Speicherzelle besteht aus einem Transistor und einem Kondensator (1T1C), der das eigentliche Speicherelement ist. In einer DRAM-Speicherzelle wird ein Bit durch die Ladung des Kondensators gespeichert. Die Messung der Spannung am Speicherkondensator (Lesen) und dessen anschließende Aufladung (Schreiben) benötigen eine gewisse Zeit. Ein DRAM ist zwar langsam, benötigt dafür aber auch nur wenig Strom.
    Haupteinsatzgebiet: Als Arbeitsspeicher oder Hauptspeicher.
  4. ROM (Read Only Memory)
    Nur Lese-Speicher.
    Daten werden beim Herstellen fest in den Speicher geschrieben.
    Daten können nicht gelöscht werden und werden deshalb nur für Programmspeicher verwendet.
  5. PROM (Programmable Read Only Memory)
    Nur Lese-Speicher.
    Daten können, mit einem speziellen Gerät, einmal in den Speicher geschrieben werden. Daten können danach aber auch nicht mehr gelöscht werden und werden deshalb ebenfalls nur für Programmspeicher verwendet.
  6. EPROM (Erasable Programmable Read Only Memory)
    Nur Lese-Speicher.
    Daten können, mit einem EPROM-Brenner, mehrmals in den Speicher geschrieben werden und danach auch wieder mit UV-Licht gelöscht werden. Auch der EPROM wird nur für Programmspeicher verwendet.
  7. EEPROM (Electrically Erasable Programmable Read Only Memory)
    Schreib- und Lesespeicher.
    Daten können, mit normalen Programmbefehlen, mehrmals in den Speicher geschrieben werden und der Speicher kann auch wieder mit normalen Programmbefehlen gelöscht werden. Daten gehen beim Spannungsausfall nicht verloren (non volatile memory). Sie werden für Daten- und Programmspeicher verwendet.
  8. Flash-EEPROM
    Gleiches Prinzip wie EEPROM, aber das Schreiben und Lesen geht 10 - 100x schneller vonstatten. Werden ebenfalls sowohl für Datenspeicher als auch für Programmspeicher verwendet. 

Programmierung

Mikrocontroller werden meistens in den Programmiersprachen Assembler, C oder C++ programmiert. Andere Sprachen wie BASIC, Pascal, Forth oder Ada können ebenfalls eingesetzt werden. 

Wie üblich hängt die eingesetzte Programmiersprache mit von der Plattform (Hardware / Betriebssystem), vom Anwendungsziel und den Anforderungen ab. Für das Programmieren einer 4-Bit-Architektur wird praktisch ausschliesslich Assembler verwendet, da nur die wenigsten Compiler die knappen Ressourcen dieser kleinsten Mikrocontroller sinnvoll nutzen können. Auch bei den 8-Bit-Architekturen wird häufig Assembler eingesetzt. Hingegen werden 16- und 32-Bit-Architekturen überwiegend in Hochsprachen programmiert.

 

Die am häufigsten eingesetzte Hochsprache für Mikrocontroller ist C, da hier eine sehr hardwarenahe und vielseitige Programmierung möglich ist. Forth hatte in den 1980er Jahren eine gewisse Bedeutung, da es einen sehr kompakten und schnellen Code erlaubt. Forth hat aber eine sehr gewöhnungsbedürftige Syntax und hat deshalb in den letzten Jahrzehnten stark an Bedeutung verloren. Programmiersprache Ada hingegen wird hauptsächlich in militärischen Anwendungen und anderen sicherheitskritischen Bereichen mit hohen Anforderungen an die Sicherheit und das Laufzeitverhalten von Software eingesetzt.

Auswirkungen auf die Politik

Gewissen IT-Fachpersonen behauptet, der Mikroprozessor sei das Herz eines jeden Computers. Das ist zwar sicher nett gemeint, stimmt aber so nicht ganz. Das Herz eines Computers wäre wohl eher die Spannungsversorgung, also das Netzteil. Den das Herz sorgt im Körper dafür, dass alle anderen Körperfunktionen (Hirn, Lunge etc.) mit Saft (Blut) versorgt werden. Das Gleiche macht auch das Netzteil, es versorgt die einzelnen Komponenten (Festplatte, Grafikkarte etc.) mit Saft (elektrische Energie). Zugegen eine grosse Ähnlichkeit haben aber Herz und Mikroprozessor, beide arbeiten mit einem gewissen Takt. Ein normales Herz schlägt zwischen 35 (Ruhepuls eines Leistungssportlers) und 200 Mal (erster Marathon :D ) pro Minute. Eine moderne CPU arbeitet mit Taktraten bis zu rund 3.5 GHz (also 3.5 Milliarden "Schläge" pro Sekunde), das ist etwas schneller als ein menschliches Herz. Aber wie gesagt, ein Mikroprozessor ist nicht das Herz eines Computers, sondern vielmehr zusammen mit Arbeitsspeicher und Festplatte das Gehirn des Computers. 

Genau hier liegt auch das Potenzial des Mikroprozessors. Natürlich kann man einen Mikroprozessor auch für eher einfache Lage, Steuer- und Regelaufgaben zu übernehmen, sowie das die Industrie seit Jahrzehnten macht. Im häufiger werden aber Prozessoren auch für komplexere Aufgabe eingesetzt, beispielsweise zur Datenverarbeitung im grossen Stil oder für komplexeste Berechnungen in Supercomputern. Sie wissen wohl schon auf was ich hinaus will: Der Mikroprozessor ist das Gehirn einer jeden künstlichen Intelligenz.

Mooresches Gesetz

Dass ein Mikroprozessor solch gigantische Leistungen erbringen kann, liegt vor allem an der kontinuierlichen Steigerung der Leistungsdichte (Anzahl der Schaltkreiskomponenten pro Flächeneinheit) der Prozessoren. Das mooresche Gesetz besagt, dass sich die Leistungsdichte integrierter Schaltkreise regelmässig verdoppelt: Je nach Quelle alle 12, 18 oder 24 Monate.

Diese Gesetzmässigkeit ist nach Gordon Moore benannt, der das Gesetz 1965 formulierte. Diese technische Entwicklung bildet eine wesentliche Grundlage der Digitalisierung und der Automatisierung. Jedoch wird dieses Gesetz seit einigen Jahren infrage gestellt. 

Unterschied zwischen Mikrocontroller und Single Board Computer (beispielsweise Raspberry Pi)

Single Board Computer (SBC) sind in ihrem Aufbau vollwertige Computer, die auf nur einem einzigen Board sämtliche elementaren Komponenten wie Mikroprozessor samt Chipsatz, Taktgeber und Cache, Arbeitsspeicher, Grafikprozessor und Grafikausgabe integriert haben. Dazu gehören auch Schnittstellen, Kartenslots, WLAN, Bluetooth und teils Steckplätze für andere Erweiterungen. Logischerweise ist ein Raspberry Pi weniger leistungsfähig als ein Gaming-Desktop-PC. Für viele Anwendungen reicht die Leistung eines SBC aus. Beispielsweise habe auch ich bei meiner Diplomarbeit ein Testsystem mit Kontrast-Sensor und Drehgebern auf Basis eines Raspberry Pi aufgebaut und programmiert. 

 

Bei SBC kommen Betriebssysteme wie beispielsweise Windows oder Linux zum Einsatz. Will man hingegen einen Mikrocontroller direkt programmieren, so muss erst mit dem gewünschten Programm eine spezielle Anwendung programmiert werden.

Neben dem Mikrocontroller (MCU) ist hier lediglich eine Schnittstelle zur Programmierung vorhanden sowie, je nach Ausführung, weitere Interfaces in Form von I²C, USB, Ethernet und gegebenenfalls AD-Wandler, PWM-Ausgänge oder LCD-Controller.

Unterschied zwischen CPU und GPU

CPU bedeutet "Central Processing Unit", die Abkürzung GPU steht ausgeschrieben für "Graphics Processing Unit". Eine GPU ist vom Prinzip her ebenfalls ein Prozessor wie die CPU, allerdings ist er optimiert für die Grafik-Berechnung bei PCs, Konsolen, Smartphones etc. 

Für den Grafikprozessor gelten aber völlig andere Herausforderungen als für die CPU. Während die CPU nur wenige Prozesse gleichzeitig verarbeitet, muss eine GPU hunderte oder sogar tausende Pixelberechnungen gleichzeitig durchführend. Dafür sind die Pixelberechnungen der CPU auch deutlich einfacher als die äusserst komplexen Berechnungen, welche die CPU anstellt. Deshalb braucht eine CPU auch eine massiv höhere Taktrate und grössere Caches. Die GPU besteht hingegen aus vielen primitiven Prozessoren mit einem eingeschränkten Befehlssatz. Gegenwärtig werden GPUs immer häufiger für Aufgaben wie Deep Learning und künstliche Intelligenz genutzt. 

Kühlung

Die passive Kühlung des Prozessors erfolgt über Kühlplatten (aus einem wärmeleitenden Material) und damit verbundenen Heatpipes. Die Heatpipes wiederum werden über ein Metallprofil, die Kühlrippen, gekühlt. Dabei ist wichtig, dass die Kühlfläche gross genug für den Prozessor ist. Durch die natürliche Luftzirkulation und die Kühllamellen des Profils wird die warme Luft dann abtransportiert. Die passive Kühlung hat drei grosse Vorteile: Sie ist günstig, lautlos und braucht keine zusätzliche Energie (z.B. Strom). Man muss aber damit leben, dass eine passive Kühlung nur sehr wenig Kühlleistung erbringen kann. Vor allem leistungsfähige CPUs und GPUs benötigen zwingend eine aktive Kühlung, da sie ansonsten innerhalb kürzester Zeit überhitzen. 


Bei einer aktiven Kühlung wird die Wärmeenergie von der zu kühlenden Komponente mithilfe eines Lüfters oder einer Pumpe abtransportiert. Sie ist der passiven Kühlung leistungsmässig weit überlegen.

Das Kühlmittel kann aus Luft, Wasser oder einer speziellen Kühlflüssigkeit bestehen, je nachdem sorgt die Kühlflüssigkeit auch gleich für die Schmierung der Bauteile.

Gewisse Kühllösungen wie zum Beispiel der auf dem Bild gezeigt Radiallüfter sind zwar billig und erzielen eine gute Kühlleitung, aber ein Lüfter verursacht einen nicht zu unterschätzenden Lärm. 

Quellen

Alle Bilder von https://commons.wikimedia.org/wiki/Main_Page

Inhalt war alles Schulstoff an der Inovatech, Höhere Fachschule für Technik in Zofingen AG, Schweiz. 

Kommentar schreiben

Kommentare: 0