Multi Core in der Automation

21. November 2007, 12:35 Uhr | Ramon Barth, Sebastian Richter
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Autoren:

Ramon Barth ist Leiter der Grundlagenentwicklung bei Beckhoff Automation, Deutschland.
Sebastian Richter ist Field Application Engineer bei Intel, Deutschland.

Beckhoff nutzt mit seinem TwinCAT-System die Eigenschaften der unterschiedlichenCore-Systeme folgendermaßen:

Single-Core: Auf Single-Core-Systemen werden die Echtzeit-Funktionen quasi parallel mit höchster Priorität deterministisch ausgeführt. Dank eines patentierten Umschaltverfahrens zwischen Windows- und Echtzeit-Anwendung werden zeitkritische Windows-Funktionen rechtzeitig im Zeitraster des Echtzeit-Systems bearbeitet. Allerdings geht ein zusätzlicher Rechenleistungsbedarf der Echtzeit-Anwendungen zu Lasten der Leistungsfähigkeit der Windows-Anwendungen. Die Kommunikation zwischen beiden Welten erfolgt durch das nachrichtenbasierte TwinCAT-ADS-Kommunikationssystem; der ADS-Router synchronisiert hierbei die Prozesskommunikation (Bild1).

Dual Core: Dual-Core-Systeme erkennt TwinCAT automatisch; einer der beiden Cores (Bild 2) wird von der Echtzeit-Funktionalität belegt, wobei die vom Echtzeit-Kern nicht genutzte Rechenzeit des Core für Windows zur Verfügung steht. Für die Synchronisierung zwischen Windows-Applikation und Echtzeit-Anwendungen – wie SPS oder NC – ist wiederum das ADS-Nachrichtensystem zuständig.

CA711-14-Bild1_tm_04.jpg
Das Single-Core-System: Alle Funktionen laufen auf einer CPU; Echtzeit-Funktionen werden mit höchster Priorität abgearbeitet.

Zur optimalen Nutzung der Dual-Core-CPUs wurden das Echtzeit-System sowie der ADS-Router – unter Wahrung der Kompatibilität zu den Vorgängerversionen – erweitert. Da beide CPU-Cores auf denselben Speicher und den gemeinsamen L2-Cache zugreifen, musste der ADS-Router nur um die Multiprozessor-Synchronisierung ergänzt werden, um die ADS-Nachrichten sicher an die angemeldeten Prozesse zu verteilen. Das Resultat für den Anwender besteht in einer höheren Rechenleistung für die Gesamtanwendung bei minimalem Migrationsaufwand.

CA711-14-Bild2_tm_04.jpg
Das Dual-Core-System: Die Echtzeit-Funktionalität wird auf einen Core gelegt, der bei Nichtauslastung zusätzlich Windows-Aufgaben mit abarbeiten kann.

  1. Multi Core in der Automation
  2. Microarchitecture: Die Neuerungen
  3. Autoren:
  4. Von Dual- zu Multi-Core

Jetzt kostenfreie Newsletter bestellen!