Herunterladen Inhalt Inhalt Diese Seite drucken

Stapelprozessor; Systemschnittstelle - Conrad C-Control II Unit Handbuch

Kompakter steuerungscomputer
Inhaltsverzeichnis

Werbung

C-Control II Unit

4.4.6 Stapelprozessor

Die virtuelle Maschine der C-Control II Unit arbeitet als Stapelprozessor. Sie implementiert
nicht wie viele Mikrocontroller und Mikroprozessoren spezielle Rechenregister oder einen
Akkumulator. Statt dessen werden alle Operanden auf einen Stapel (Stack) geladen. Die
Operationen des virtuellen Prozessors manipulieren stets den obersten Wert auf dem
Stapel oder verknüpfen die zwei obersten Werte zu einem Ergebnis. Speicheroperationen
nehmen einen Wert vom Stapel und legen ihn an einer Adresse im Datenspeicher ab.
Der Stapelprozessor der C-Control II Unit unterstützt Rechenoperationen mit vorzeichen-
behafteten 16bit- und 32bit-Integerwerten sowie mit 64bit-Fließkommazahlen. Bytes wer-
den immer als 16bit-Integer verarbeitet.
Der Stapel dient auch als Zwischenspeicher für lokale Variablen von Threads und
Unterfunktionen sowie zur Übergabe von Parametern und Rückgabewerten beim Aufruf
von Unterfunktionen. Außerdem werden Rücksprungadresse und Speicherkontext (BP) vor
einem Funktionsaufruf auf dem Stapel gesichert und beim Rücksprung wiederhergestellt.
Jeder Thread des Anwenderprogramms verfügt über einen eigenen Stapel. Der für den
Stapel eines Threads zur Verfügung stehende Speicherplatz beträgt theoretisch 64kB. Eine
Limitierung ist jedoch dadurch gegeben, daß sich der Stapel das 64kB große SRAM-
Segment mit einigen Daten des Betriebssystems, den globalen Variablen des
Anwenderprogramms und weiteren Stapeln anderer Threads teilen muß.
Die Adressierung von Daten auf dem Stapel erfolgt relativ zu einem 16bit-Basepointer (BP).
Ein 16bit-Stackpointer (SP) zeigt auf das obere Ende des Stapels. Jeder Thread hat sein
eigenes Paar von Base- und Stackpointern.

4.4.7 Systemschnittstelle

Die virtuelle Maschine der C-Control II Unit verfügt über spezielle Befehlscodes als
Schnittstelle zu den Hardwareressourcen und Funktionen des Betriebssystems. Damit unter-
scheidet sie sich vom zugrundeliegenden Mikrocontroller C164CI, der die Hardware-
ressourcen als Register in einen bestimmten Speicheradreßbereich legt (Special Function
Register - "SFR"). Die Umwandlung von Systemoperationen der virtuellen Maschine in
konkrete Hardwarezugriffe, z.B. auf Register in den SFR, erfolgt im Betriebssystem der
C-Control II Unit. Damit sind die virtuelle Maschine selbst sowie die dafür compilierten
Anwenderprogramme relativ einfach auf andere Computersysteme portierbar.
Die Befehlscodes zum Zugriff auf Hardwareressourcen werden den Anwender-
programmen über inline-Funktionen in den C2-Systemmodulen zur Verfügung gestellt.
42

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis