Gast
#1002519
Hallo, Leider habe ich nicht viel Ahnung von Elektronik, deswegen brauche ich eure Hilfe. Ich versuche zu verstehen wie die Kommunikation zwischen dem Hauptprozessor und dem Soundprozessor in alten Arcade-Automaten auf Hardwareebene funktioniert. In meinem konkreten Fall ist der Hauptprozessor ein Motorola 68000 und der Soundprozessor ein Zilog Z80. Ich habe mir den MAME (Multiple Arcade Machine Emulator) Source Code angesehen: Wenn der Hauptprozessor einen Befehl an den Soundprozessor schicken möchte dann schreibt er ein Byte an die Speicherstelle 0x1111. Der Soundprozessor kann dieses Byte auslesen in dem er die Speicherstelle 0x2222 ausliest. In der angehängten Grafik habe ich gezeichnet wie ich die Kommunikation auf Hardwarebene implementieren würde. Also mein Grundgedanke ist, dass 0x1111 und 0x2222 in Wirklichkeit dieselbe Speicherstelle sind, weil sonst würde das Ganze meiner Meinung nach nicht funktionieren. Könnte man das so implementieren wie in meiner Grafik oder ist das totaler Blödsinn? Erklärung zur Grafik: Ausgangssituation ist, dass CPU1 einen Befehl an CPU2 übermitteln möchte. Dies geschieht wie oben geschrieben über die Speicherstelle 0x1111. Also kommt die Adresse 0x1111 auf den Addressbus und das Befehlsbyte auf den Datenbus. Der Memory Controller für CPU1 erhält beides und leitet das Befehlsbyte in einen Zwischenspeicher bestehend aus 8 Flip-Flops. Das RAM der CPU1 wird also überhaupt nicht angesprochen. CPU2 kann das Befehlsbyte auslesen in dem es wie oben geschrieben die Speicherstelle 0x2222 ausliest. Also kommt die Adresse 0x2222 auf den Addressbus von CPU2. Der Memory Controller für CPU2 erhält die Adresse. Dann leitet er die 8 Bits die im Flip-Flop gespeichert sind über den Datenbus an die CPU2 weiter. Auch hier wird das RAM von CPU2 gar nicht verwendet. Was haltet ihr davon? Ich weiss es ist eine totale Anfängerfrage, aber mich würde wirklich interessieren ob ich das so bauen könnte. lg Georg
