Atomarer Zugriff mit PPC405 Multicore

Gast #2550884
Hallo zusammen,

ich versuche, mit dem IBM PowerPC Multicore Instruction Set Simulator 
(version 2.04) einen PowerPC 405 Multicore zu simulieren und Software 
dafür zu entwickeln.
Dabei tritt ein Problem beim atomaren Zugriff auf eine Speicherstelle 
auf. Ich verwende dazu die lwarx/stwcx Instruktionen:

loop:    lwarx    r4,0,r3
    cmpi    cr0,r4,0x0000
    bne    ..loop
    addi    r4,r4,0x0001
    stwcx.    r4,0,r3
    bne     loop

Beim steppen durch den Code (mit RiscWatch (Version 7.1.21) gelangen nun 
beide Cores in den kritischen Abschnitt.

Weiß jemand, wie die lwarx/stwcx Instruktionen beim PPC405 implementiert 
sind? Kann das überhaupt funktionieren? Hat schon mal jemand einen 
Multicore PP405 in irgend einer Form ausprobiert?

Ich hatte erwartet, dass der IBM ISS das mit dem PPC405 hinbekommt, der 
Simulator heißt schließlich Multicore, nicht Multiprozessor.

Ich bin für jeden Hinweis dankbar.
Viele Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.