# Warum geht das bei einem Double-Core-CPU nicht?



## osion (29. Jun 2022)

Hallo

Ich muss zugeben, dass ich die Situation nicht beurteilen kann, weil ich nicht verstehe, welches Problem dabei entsteht.
Ich hoffe mir kann jemand erklären, welches Problem genau auftritt und warum.


----------



## mihe7 (29. Jun 2022)

"Das Setzen der Priorität geschieht durch Setzen eines Bits im Kontrollregister *der jeweiligen CPU*"

Das müsste bei einem Mehrkernprozessor zeitgleich in allen Kernen passieren.


----------



## osion (29. Jun 2022)

mihe7 hat gesagt.:


> "Das Setzen der Priorität geschieht durch Setzen eines Bits im Kontrollregister *der jeweiligen CPU*"
> 
> Das müsste bei einem Mehrkernprozessor zeitgleich in allen Kernen passieren.


Ah ok...das habe ich gar nicht bedacht. Es wird nur in einem Register von einem CPU gesetzt, d. h. der andere CPU weis nichts davon.
Warum setzt man dafür alle Interrupts aus?


----------



## mihe7 (29. Jun 2022)

Damit die Semaphore-Operation nicht unterbrochen wird.


----------



## osion (29. Jun 2022)

mihe7 hat gesagt.:


> Damit die Semaphore-Operation nicht unterbrochen wird.



Wird das so in der Praxis gemacht?


----------



## mihe7 (29. Jun 2022)

Das kann ich pauschal nicht beantworten. Es ist jedenfalls eine Möglichkeit, ein Semaphore zu realisieren. Andererseits haben Prozessoren heute in der Regel Befehle wie Test and Set, die atomar ausgeführt werden.


----------

