Anzahl der Processkerne in Assembler zu bestimmen und parallele assembler-threads

o4kareg

Grünschnabel
Normalerweise werden assembler - kommande in einem Thread ausgeführt und Processkern wird von OS gegeben. Wie ist es möglich ohne OS API's wirklich von assembler kode direct paralele Programme zu schreiben ( also bestimmen ob der CPU multicore ist und auf jedem Kern ein Thread zu starten)
 

sheel

I love Asm
Hi

Wenn du deinen Asm-Code nicht komplett frei, sondern als Windows-Prozess
ausführst, kannst du ohne die API keine weiteren Threads machen.
Dein Programm wird nach wie vor vom Scheduler verwaltet.

Wenn du "nur" mehrere Sachen gleichzeitig ausführen willst,
könntest du das selbst mit Jumps realisieren, quasi einen eigenen kleinen Scheduler
ins Programm einbauen. Aber aus Sicht von Windows ist das dann trotzdem
nur ein Thread und geht nicht auf mehrere Kerne.
 

Linuxfriend

Mitglied
Irgendwie ist das einer der FAQs die ich von Leuten höre, die gerade ins OSdev einsteigen.
Wenn ich mit meiner Vermutung falsch liege das du nix mit dem OSdev zu tun hast das lösche ich diesen Kommentar wieder.
Wenn es dich interessiert wie man mit ASM herausfindet wie viele Cores ein Prozessor hat, dann schau mal hier und hier vorbei.
Mit ASM Multithreading unter Windows oder Linux kenne ich mich leider nicht aus.
LG
Linux best Friend