Wo finde ich die Befehlssätze für Intel- oder AMD-Mikroprozessoren? [geschlossen]


0

Es tut mir leid, wenn dies dumme Fragen sind oder sich nicht auf diese Website beziehen. Ich weiß nicht wirklich, wo ich das sonst fragen könnte.

Okay, zunächst einmal verstehe ich nicht wirklich, wie Befehlssätze auf Mikroprozessoren funktionieren. Werden sie durch eine Assemblersprache implementiert? Verwendet Intel die gleichen Befehlssätze für alle Mikroprozessoren einer Reihe von CPUs wie Haswell oder Ivy Bridge oder unterscheidet sich jeder spezifische Mikroprozessor? Ich dachte immer, dass Mikroarchitektur das gleiche ist wie der Befehlssatz, aber anscheinend ist es nicht. Kann mir das auch jemand erklären? Und eine letzte Sache: Gibt es einen Ort, an dem man die Befehlssätze von Intel- oder AMD-Mikroprozessoren einsehen kann?

Vielen Dank im Voraus.


1
Ich gehe davon aus, dass dies bald geschlossen sein wird. Keine Abstimmung von mir.
Xavierjazz

Ich bin sehr verwirrt über den Grund für den Schluss. Ich sehe in dieser Frage nichts, was nach "Fehlern in Pre-Release / Beta-Software oder Prototyp-Hardware" fragt. Oder eine der oben einzeln für diese Angelegenheit.
Jamie Hanrahan

Antworten:


5

Wenn Sie eine Liste von Anweisungen für eine CPU benötigen, benötigen Sie im Allgemeinen die Referenz zum Befehlssatz dieser CPU oder die Referenzanleitung für Programmierer.

Intel: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

AMD: http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/ (Handbuch für Architekturprogrammierer)

Intel verfügt über mehrere Prozessorarchitekturen, wobei x86 seine (und die) beliebteste ist. x86 wurde (und wird) im Laufe der Zeit erweitert, im Allgemeinen sind spätere Versionen mit früheren Versionen abwärtskompatibel. Der erste x86-Architekturprozessor von Intel war beispielsweise der 8088. Dann kam der 80286 heraus. Es erweitert den 8088-Befehlssatz. 80286 versteht alle 8088 Montage. Und so weiter in 80386, 80486, Pentium, der Core-Serie und der i-Serie.

Ich dachte immer, dass Mikroarchitektur das gleiche ist wie der Befehlssatz

Nein. Die Mikroarchitektur ist "unter" und implementiert die Hauptarchitektur. In diesem Fall verfügt Intel über viele Mikroarchitekturen, die verschiedene Revisionen des x86-Befehlssatzes implementieren. Die Mikroarchitektur ist nichts, worüber Sie sich Gedanken machen müssen, um Assembler-Programmierung zu lernen. Sie müssen wissen, welche x86- Revision (oder Architektur, nicht Mikroarchitektur ) Sie verwenden, da z. B. Pentium Anweisungen hat, die 80386-Prozessoren nicht verwenden. Vielleicht möchten Sie mit einem Buch beginnen oder etwas, das Ihnen das Programmieren eines 8088 lehrt, da es einfacher ist und spätere Architekturrevisionen (286, 386 usw.) darauf aufbauen.

Okay, zunächst einmal verstehe ich nicht wirklich, wie Befehlssätze auf Mikroprozessoren funktionieren. Werden sie durch eine Assemblersprache implementiert?

Mithilfe der Assemblersprache können Sie als Programmierer Maschinensprachen schreiben, die einem für Menschen lesbaren Text ähneln. In der Regel können Sie Beschriftungen verwenden, anstatt sich unformatierten Arbeitsspeicher oder E / A-Adressen zu merken. Die Alternative wäre, die Operationscodes jedes Befehls manuell einzugeben, was angesichts der Anzahl der Befehle und der Adressierungsmodi, die x86 hat, eine sehr mühsame Aufgabe ist.

Jede Anweisung wird durch eine Mnemonik dargestellt und in eine einzelne Maschinensprachenanweisung übersetzt. Ein Assembler nimmt Ihren Assembler-Code (in einer Textdatei) und setzt ihn zu einem Binär-Image zusammen (NICHT kompilieren), das die CPU ausführen kann.

AMD kopierte Intels Befehlssatz, begann jedoch mit SSE-Befehlen, VMM-Befehlen und möglicherweise anderen Dingen zu divergieren. Das meiste, was Sie für Intel Assembly lernen, wird jedoch angewendet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.