Die MIPS, die Sie gelernt haben, sind zweifellos eine pädagogische aus den Lehrbüchern (Patterson und Hennessey). Die realen MIPS-Kerne sowie die ARM-Kerne können/können von Kern zu Kern variieren, Sie können mehrere armv7-m-Kerne haben, die eine andere Implementierung in Bezug auf die Pipeline-Stufen haben. Hinweis: ARM und MIPS und RISC sind im Allgemeinen nicht mikrocodiert. Sie können nicht zulassen, dass x86-Implementierungen Ihr Verständnis beeinflussen.
So gibt es keine eine Antwort auf diese, und es gibt keine eine Antwort auf welche Datenpfade tun MIPS-Prozessoren verwenden, was Datenpfade tun ARM-Prozessoren in Bezug verwenden zu holen, zu dekodieren, auszuführen, Writeback, ...
Die KONZEPTE holen, dekodieren, ausführen, ...werden von allen RISC-Prozessoren verwendet oder nicht, wie und wann sie dies tun, sie können diese Schritte in kleinere Schritte aufteilen und diese in einer längeren Pipeline implementieren oder sie parallel ausführen und eine breitere Pipeline haben.
Für MIPS etwas MIPS gehen und ihre Dokumentation herunterladen. Für Arm zu Arm möchten Sie das architektonische Referenzhandbuch und das technische Referenzhandbuch für eine bestimmte Architekturfamilie und einen spezifischen Kern, an dem Sie interessiert sind. Sie haben einige neue Programmiererhandbuch oder Entwicklerhandbuch, überspringen das oder verstehen es die obigen zwei Handbücher mit Löchern darin. Sie können auch die amba/AXI-Dokumentation zu bekommen, um zu verstehen, wie die Busse arbeiten, könnten Sie einen Arm mit einem anderen Bus-Design, aber es ist lehrreich, wenn Sie die traditionelle Adresse bidirektionale Daten gelehrt wurden, schreibt Strobe, lesen Strobe, Chip-Freigabe Typ Bus (der immer noch in Querlenker ein beliebter Bus in offenen Kernen und anderen Orten lebt, ein wenig komplizierter, aber viel näher an den alten Schulbus).
ARM und MIPS können sowohl mit unterschiedlichen Mikroarchitekturen implementiert werden (und sie waren), so gibt es etwa so viele Unterschiede, wie Sie wollen, je nachdem, welches Paar von Implementierungen Sie vergleichen. – harold
Ein wichtiger Unterschied ist, dass ARM viele bedingte Ausführungen hat, während MIPS Verzögerungs-Slots hat. Außerdem hat ARM ein Condition-Register, das speziell für eine anständige Performance behandelt werden muss. ARM hat auch ziemlich komplizierte Adressierung, vorverschobene arithmetische Operationen und sequentielle Lade-/Speicheroperationen. OTOH, MIPS hat eine schreckliche Multiplikations-/Divisionseinheit, die ein spezielles Gehäuse benötigt. – EOF
@EOF Würden Sie mir bitte einen Link geben, von dem ich über den ARM-Datenpfad erfahren kann? Ich habe viel versucht, konnte aber kein hilfreiches Material finden. –