Okay, ich verstehe, wie die Übertragung in "Isolated I/O" differenziert wird, indem verschiedene Steuerleitungen für I/O und Speicherübertragung verwendet werden. Aber wie unterscheiden wir die Übertragung in Memory mapped I/O teilen sie die gleichen Steuerleitungen. und auch sagen, welche Art von Bus-Architektur moderne Systeme verwenden (wie der heutige Core i3 oder wie diese Prozessoren) ???Wie unterscheidet Speicher-E/A zwischen Speicher und E/A-Transfer?
Dank
okay, passiert es so in 8086 Mikroprozessor: wenn die letzten 4 Bits eines 16-Bit-Befehls (der im Adreßbus ist) gleich der Binärfolge "1 1 1 1" ist, dann ist es ein I/O-Befehl (was bedeutet, dass die Daten im Datenbus für E/A sind) und wenn es gleich der binären Sequenz 0 1 0 1 (1 oder 0 und irgendein 3 Bit kleiner als 1 1 1) ist, dann ist es ein Speicherbefehl (was Daten in Datenbus bedeutet ist für die Erinnerung) ??? –
@Ahti MMIO und isolierte IO sind verschiedene Dinge. Ansonsten kann ich deine Folgefrage nicht wirklich verstehen. Wenn Sie Google für "Intel Manual 2" aufrufen, finden Sie die Referenz für alle Anweisungen, einschließlich des Maschinencodes. Ich habe mir nicht die Mühe gemacht zu sehen, ob der ursprüngliche 8086-Befehl ein einfaches Dekodierungsschema für IO/mem-Befehle hatte. Der Opcode-Raum ist oktal sinnvoll, Sie können diesen Ansatz ausprobieren. –