Der MIPS M5150 kann in vier Bereiche oder Quadranten unterteilt werden, basierend auf zwei Achsen. Dies steht im Gegensatz zum herkömmlichen einachsigen Betrieb des User- und Kernel-Bereichs. Die User- und Kernel-Bereiche sind in Root- und Gast-Kontexte unterteilt.
Sowohl der Gast-User als auch der Gast-Kernel können repliziert werden, um mehrere isolierte Domänen zu schaffen. Bild 3 beschreibt die vier Quadranten, die erforderlich sind, um Sicherheit durch Trennung und eine vertrauenswürdige Umgebung herzustellen. Die Gast-Kontexte werden in parallele Domänen oder Umgebungen vervielfältigt, die jeweils durch einen Hardware-Mechanismus isoliert werden. Beim M5150 lassen sich bis zu sieben Gast-Kontexte aufbauen, was die Gesamtzahl der Kontexte auf acht erhöht.
Der Root-Kontext führt einen privilegierten Status im M5150 aus. Damit lassen sich privilegierte Befehle, Software-Routinen, Interrupts und Ausnahmen innerhalb dieses Kontexts ausführen, was Steuerung, Verwaltung und Beendigung von Gast-Diensten nach Bedarf ermöglicht. Zugriffe von jedem Gast auf die Root-Ressourcen können durch Hardware untersagt werden. Der Root-Kontext kann jedoch als Proxy fungieren, um indirekten Zugriff auf beschränkte oder geschützte Ressourcen zu gewähren.
Der Root-Kontext kann einen isolierten Zustand beibehalten – um jedoch Vertrauen aufzubauen und zu erhalten, kann eine Root of Trust (RoT) implementiert werden, um das System nach dem Einschalten in einen bekannten Zustand zu versetzen. Die Komplexität der RoT kann sich von Anwendung zu Anwendung unterscheiden und ist eine Funktion des Angriffs- und Schutzprofils.
Dual-Core-Funktionen auf einem Single-Core-Chip
Neben einer Basis für Sicherheit durch Trennung bietet die Hardware-Virtualisierung weitere wichtige Vorteile. In einem Embedded-System verringert sie den CPU-Overhead, weist dynamisch CPU-Bandbreite pro Anwendung zu, erhöht die Hardware-Ausnutzung und bietet ein flexibleres Systemmanagement. Bei vielen industriellen sowie vernetzten Home- und Fahrzeuganwendungen lassen sich Kosten einsparen, indem mehrere CPU-Cores durch einen einzigen Core ersetzt werden.
Dual-Core-Mikrocontroller eignen sich ideal für Anwendungen, die mehrere Funktionen steuern. Ein Core mit niedrigerer Performance deckt die Funktionen auf unterer Ebene ab, z.B. die Steuerung von Sensoren, während ein anderer hochleistungsfähiger Core komplexere Aufgaben wie die Audioverarbeitung oder andere Multimedia-Anwendungen übernimmt. Diese Art von Konfiguration findet sich in vielen Wearables, IoT- und Embedded-Anwendungen.
Ein Single-Core ermöglicht die Verwaltung der Aufgaben mit getrennten Ressourcen – sowohl im Speicher als auch hinsichtlich der I/Os. Damit ist eine Aufgabentrennung möglich, ohne komplexe Dual-Cores verwenden zu müssen (Bild 4). Die zusätzliche Performance bietet auch mehr Flexibilität, um neue Anwendungen ohne die festen Grenzen der Dual-Core-Partition skalieren zu können. Im Vergleich zu anderen Dual-Core-Embedded-CPUs bietet der Single-Core MIPS M5150 eine Leistungssteigerung von bis zu 35 %, während der Platzbedarf um bis zu 10 % geringer ausfällt – was letztendlich zu einem effizienteren Betrieb führt. Das virtualisierte Single-Core-Design verringert die Komplexität, den Interconnect-Aufwand und die Debug-Zeit und verbessert sowohl Sicherheit als auch Flexibilität.