Unterscheidet sich das Betriebssystem je nach ISA oder je nach Mikroarchitektur?

Unterscheidet sich das Betriebssystem je nach ISA oder je nach Mikroarchitektur?

Wenn ein Betriebssystem entwickelt wird, beispielsweise „Linux“, wird es dann bei Bedarf für unterschiedliche Mikroarchitekturen (Intel Pentium und AMD Athlon) etwas anders geschrieben (profiliert)?

Ich sehe aus einem der Stack-Exchange-Threads, dass die Linux-Binärdatei für AMDs x64 auch auf der Intel x64-Architektur ausgeführt werden kann Linkbeschreibung hier eingeben

Sollte es für Intel Pentium und AMD Athlon nicht unterschiedliche Linux-Quellcodes geben, obwohl sie dieselbe ISA (x86) verwenden? Der Grund dafür ist, dass ihre ISA-Implementierung unterschiedlich wäre und unterschiedliche Steuer- und Datenregister verwenden würde!

Antwort1

Ich konnte den Kern des Konzepts nicht erfassen, habe jedoch genügend Informationen gesammelt, um mich davon zu überzeugen, dass sich Betriebssysteme auf Grundlage von ISA (z. B. x86 und x64) und nicht auf Grundlage der Mikroarchitektur (Intel Pentium und AMD Athlon) unterscheiden.

Eine einfache Analogie ist -

IST EINist wieC Sprache; „ein Standard“, der befolgt werden muss, um etwas zu tun.

wohingegenMikroarchitekturist wieC-Compiler; „eine Implementierung“, um diese Regeln oder Standards durchzusetzen.

Auszug aus dem Wiki -Mikroarchitektur

Eine bestimmte ISA kann mit unterschiedlichen Mikroarchitekturen implementiert werden. Die Implementierungen können aufgrund unterschiedlicher Ziele eines bestimmten Designs oder aufgrund von Technologieänderungen variieren.

Die ISA entspricht in etwa dem Programmiermodell eines Prozessors aus der Sicht eines Assemblerprogrammierers oder Compilerautors.Die ISA umfasst unter anderem das Ausführungsmodell, Prozessorregister, Adress- und Datenformate.Die Mikroarchitektur umfasst die Bestandteile des Prozessors und wie diese miteinander verbunden sind und zusammenarbeiten, um die ISA zu implementieren.

Maschinen mit unterschiedlicher Mikroarchitektur können über dieselbe Befehlssatzarchitektur verfügen und daher in der Lage sein, dieselben Programme auszuführen.Neue Mikroarchitekturen und/oder Schaltungslösungen sowie Fortschritte in der Halbleiterfertigung ermöglichen es neueren Prozessorgenerationen, bei gleicher ISA eine höhere Leistung zu erzielen.

Die Faktoren, die verschiedene Mikroarchitekturen unterscheiden, aber dennoch dieselbe ISA implementieren, sind:

Ausführungseinheiten sind für die Mikroarchitektur ebenfalls von wesentlicher Bedeutung. Zu den Ausführungseinheiten gehören Rechenwerke (ALU), Gleitkommaeinheiten (FPU), Lade-/Speichereinheiten, Verzweigungsvorhersage und SIMD. Diese Einheiten führen die Operationen oder Berechnungen des Prozessors aus. Die Wahl der Anzahl der Ausführungseinheiten, ihrer Latenz und ihres Durchsatzes ist eine zentrale Aufgabe des Mikroarchitektur-Designs. Größe, Latenz, Durchsatz und Konnektivität der Speicher innerhalb des Systems sind ebenfalls mikroarchitektonische Entscheidungen.

Designentscheidungen auf Systemebene, beispielsweise ob Peripheriegeräte wie Speichercontroller integriert werden sollen oder nicht, können als Teil des mikroarchitektonischen Designprozesses betrachtet werden. Dazu gehören Entscheidungen über das Leistungsniveau und die Konnektivität dieser Peripheriegeräte.

verwandte Informationen