In meinem Kurs über eingebettete Systeme wird erklärt, dass Speichereingänge von I/O-Eingängen getrennt werden können, indem ein "Modusbit" für den Adressdecoder verwendet wird. Der offensichtlichste Vorteil davon ist, dass die Menge der zu decodierenden Adresszeilen reduziert werden kann, wenn Sie ein separates Adressierungssystem für Ihren Speicher und Ihre E/A haben. Gibt es zusätzliche Vorteile? Hat diese logische Trennung weitere Vorteile, wie die Möglichkeit, unterschiedliche Taktraten oder Übertragungslogiken zu verwenden?
Meine Interpretation dessen, was Sie beschreiben, besteht darin, den Adressraum einfach in zwei Hälften zu unterteilen - eine Hälfte für IO und eine Hälfte für den Speicher. Sie erstellen dort nicht zwei separate Busse, sondern nur einen, der für zwei logisch unterschiedliche Aufgaben verwendet wird.
Während dies die Decodierung des Adressbusses vereinfachen kann, verbessert es die Leistung überhaupt nicht.
Viele eingebettete Mikrocontroller verwenden eine Architektur, die als modifizierte Harvard-Architektur bekannt ist. Dabei haben Sie eine Reihe verschiedener physikalischer Busse, jeder mit seinem eigenen Zweck - einer für RAM, einer für ROM, vielleicht einer für IO. Diese haben den großen Vorteil, dass gleichzeitig auf verschiedene Dinge zugegriffen werden kann, was mit einem einzelnen unterteilten Bus nicht möglich ist. Es macht die Programmierung jedoch komplexer.
Dies macht die X86-Architektur mit IN/OUT-Befehlen, die eher Peripheriegeräte als Speicher adressieren.
Eine andere Übertragungslogik kann nützlich sein. Zum Beispiel den Zugriff auf Peripheriegeräte nicht zwischenspeichern. Oder mit unterschiedlichem Verhalten für nicht ausgerichtete Lesevorgänge. Es gibt Ihnen auch ein "freies" 17. Bit in einer 16-Bit-Architektur, als die Technik eingeführt wurde. Die Taktrate muss gleich bleiben, aber möglicherweise können Sie eine andere Anzahl von "Wartezuständen" haben.
Heutzutage wird es jedoch als besser angesehen, die MMU einfach intelligenter zu machen und ihr zu erlauben, mit diesen Effekten umzugehen.
Laut meinem Ausbilder gibt es viele potenzielle Vorteile, weil die Buskonstruktion auf diese Weise völlig andere Setup-Parameter zulässt. Dies bedeutet, dass Sie unterschiedliche Daten-/Adressbreiten sowie unterschiedliche Taktraten haben können.
Austin