gleicher code auf unterschiedlicher hardware



  • AP0LL0 schrieb:

    Siehe es doch ein, der Grund warum Programme die auf Windows Kompiliert wurden auf allen Prozessor-Architekturen läuft ist die HAL und der Microkernel.

    Wahnsinn, was so ein HAL und Microkernel für Kräfte bei einem Compiler freisetzen. In Zukunft werd ich einfach mal meine VC++ Solutions, die mit x86 builden, locker flockig auf 'ner RISC-Möhre laufen lassen 🙂



  • Vorher aber HAL 2000 installieren und gut ist.



  • Habe mir jetzt nicht jeden einzelnen Beitrag durch gelesen. Und ich bin auch kein x86-Kenner. Aber ich kenne mich mit ARM und RISC OS aus. Und da weiß ich, das es das gibt, was Apollo beschreibt.

    ARM CPUs haben z.B. selten eine FPU. Wenn ich auf einem non-FPU ARM eine FP-Instruction nutze, wird auf dem ARM erstmal eine Exception geworfen und eine bestimmte Speicherstelle aufgerufen, auf der man vorher einen Vektor verbiegen kann. Und dann kann man z.B. einen FPU-Emulator anspringen lassen. Den Rest kann sich jeder selber denken.

    Jedenfalls kann ich so auf ARM Prozessoren jede nicht in Hardware implementierte Instruktion auf in Software implementierte Instruktionen umbiegen lassen. Und da man einen Treiber jeder zeit austauschen kann, kann ich auch fehlende Prozessor-Features emulieren.

    Das ist jedenfalls die Erfahrung die ich mit ARM und RISC OS gemacht habe, und diese Kombination gibt es schon seit 1987! Wie es mit x86 und NT läuft weiß ich nicht. Aber ich kann mir nicht vorstellen, das ein x86 sowas nicht kennt. Und so wird es wohl auch mit SSE & Co. laufen. Voraus gesetzt der Treiber ist wirklich vorhanden.

    Was natürlich blödsinnig ist, ist komplett inkompatible Befehle ausführen zu wollen. Aber in dem Thread geht es ja um optionale Features, wie FPU, VFP, MMX, SSE, 3D Now usw.



  • ihr lasst euch hier aber von dem trollen 😃



  • moment mal

    für deine theorie, dass die programme wegen dem HAL auf allen architekturen laufen, müsste doch erstmal ein HAL für eben diese architekturen gegeben sein, oder nicht?!?

    aber versuch windows mal auf meiner waschmaschine zu installieren und zum laufen zu bekommen...
    wenn du das geschafft hast dann sollte es kein problem darstellen, dass deine programme dann auch auf ihr laufen...
    (wobei mir persönlich in dem fall egal wäre ob per HAL oder direkt programmiert)



  • Skym0sh0 schrieb:

    wenn du das geschafft hast dann sollte es kein problem darstellen, dass deine programme dann auch auf ihr laufen...

    eben doch...

    Artchi schrieb:

    ...

    Sowas kann man über entsprechende Exception Handler auch auf x86 implementieren. Das wär eben nur wahnsinnig langsam und hat jetzt schon weder mit dem HAL (der selbst schon nichts mit der Frage zu tun hatte) noch mit der usprünglichen Frage was zu tun...



  • Skym0sh0 schrieb:

    moment mal

    für deine theorie, dass die programme wegen dem HAL auf allen architekturen laufen, müsste doch erstmal ein HAL für eben diese architekturen gegeben sein, oder nicht?!?

    aber versuch windows mal auf meiner waschmaschine zu installieren und zum laufen zu bekommen...
    wenn du das geschafft hast dann sollte es kein problem darstellen, dass deine programme dann auch auf ihr laufen...
    (wobei mir persönlich in dem fall egal wäre ob per HAL oder direkt programmiert)

    Ich habe nie behauptet dass die HAL alle Möglichkeiten an Architekturen deckt.



  • AP0LL0 schrieb:

    Ich habe nie behauptet dass die HAL alle Möglichkeiten an Architekturen deckt.

    AP0LL0 schrieb:

    Siehe es doch ein, der Grund warum Programme die auf Windows Kompiliert wurden auf allen Prozessor-Architekturen läuft ist die HAL und der Microkernel.

    Deine Aussagen bleiben aber unabhängig davon nach wie vor Schwachsinn.



  • AP0LL0 schrieb:

    HAL

    Die Hardwareabstraktionsschicht bietet eine einheitliche Schnittstelle zur Hardware, kann jedoch den Maschinencode nicht abstrahieren. Der wird vom Prozessor "nackt", also so wie er ist ausgeführt, NICHT vom Kernel.
    http://de.wikipedia.org/wiki/Prozessor_(Hardware)

    Eventuell verwechselst du die Hardwareabstraktionsschicht mit virtuellen Maschinen.
    http://de.wikipedia.org/wiki/Virtuelle_Maschine



  • dot schrieb:

    Skym0sh0 schrieb:

    wenn du das geschafft hast dann sollte es kein problem darstellen, dass deine programme dann auch auf ihr laufen...

    eben doch...

    nein ich meine: wenn er so toll und cool ist, dass er das macht und schafft, kann er die programme auch direkt dafür schreiben...


Anmelden zum Antworten