Propeller Cog RAM – Grundlagen

Das Cog RAM ist der Speicher, den jeder Cog für sich alleine hat. Es besteht auf 496 x 32 Bits der für Code und Daten verwendet werden kann. Ferner befinden sich noch 16 spezial Register im RAM. Der USER Speicherbereich geht von $000 bis $1EF und die Spezialregister gehen von $1F0 bis $1FF. Die meisten Befehle beeinflussen alle 32 Bits  einer Adresse. Eine Ausnahme stellen Code selbstmodifizierende Befehle wie MOVS, MOVD, MOVI und der CALL sowie JMPRET dar.

  • MOVS beeinflusst die unteren 9 Bits (B8 bis B0) einer Cog Speicheradresse ohne die anderen Bits zu verändern
  • MOVD macht das selbe mit den nächsten 9 Bits (B17 bis B9) ohne die anderen Bits zu verändern
  • MOVI verändert nur die MSB (Most Significant Bits) B31-B23
  • CALL und JMPRET beeinflussen ebenfalls die unteren 9 Bits (B8 bis B0) des RET Befehls um die Rückkehr aus einer Assembler Subroutine zu vereinfachen
B31 – B23 B22 – B18 B17 – B9 B8 – B0
Befehl Ziel Quelle
MOVI MOVD MOVS, CALL,
or JMPRET

Spezial Register

Addr.

Name

Typ

Funktion

$1F0 PAR Read-Only Boot parameter
$1F1 CNT Read-Only System Counter
$1F2 INA Read-Only Input states for P31-P0
$1F3 INB Read-Only Input states for P63-P32*
$1F4 OUTA Read/Write Output States for P31-P0
$1F5 OUTB Read/Write Output states for P63-P32*
$1F6 DIRA Read/Write Direction States for P31-P0
$1F7 DIRB Read/Write Direction States for P63-P32*
$1F8 CTRA Read/Write Counter A Control
$1F9 CTRB Read/Write Counter B Control
$1FA FRQA Read/Write Counter A Frequency
$1FB FRQB Read/Write Counter B Frequency
$1FC PHSA Read/Write Counter A Phase
$1FD PHSB Read/Write Counter B Phase
$1FE VCFG Read/Write Video Configuration
$1FF VSCL Read/Write Video Scale

* nicht vorhanden im P8X32 Propeller Chip

Schreibe einen Kommentar