Prozessoren

Gast #268726
Lesenswert?
• ▲
▼
Hi, kann mir jemand erklären wie ein Prozesser mit den Daten und
Adressleitungen arbeitet:

Wenn ich z.B einen Befehl wie den ausführer (ich kenn mich leider fast
garnicht mir Assembler aus):

in register, adresse
out adresse, register

Dann muss der Prozessor doch über die Daten und Adressleitungen 2
Befehle leesen, 1 Wert einlesen und 1 Wert ausgeben,

Wie läuft das nun genau ab?
Persönliche Seite #268727
Lesenswert?
• ▲
▼
Mal für einen willkürlichen 8-Bit-Prozessor:

1. Opcode "in register" lesen
   Inhalt von PC an Adressleitungen anlegen,
   MEMRD aktivieren
   Lesezugriff auf Datenbus durchführen
   MEMRD deaktivieren

   (Ich nehme hier mal einen µP an, bei dem es für jedes
   Register einen eigenen "in register, xxx"-Opcode gibt)

2. Argument "adresse" lesen (8 Bit)
   Inhalt von PC+1 an Adressleitungen anlegen
   MEMRD aktivieren
   Lesezugriff auf Datenbus durchführen
   MEMRD deaktivieren

3. Argument "adresse" lesen (weitere 8 Bit)
   Inhalt von PC+2 an Adressleitungen anlegen
   MEMRD aktivieren
   Lesezugriff auf Datenbus durchführen
   MEMRD deaktivieren

   (Hier nehme ich an, daß "adresse" ein 16-Bit-Wert ist)

4. Operation ausführen
   "adresse" an Adressleitungen anlegen
   IORD aktivieren
   Lesezugriff auf Datenbus durchführen
   IORD deaktivieren

Intern ist jetzt der PC aktualisiert

5. Opcode "out xxx, register" lesen
   Inhalt von PC an Adressleitungen anlegen,
   MEMRD aktivieren
   Lesezugriff auf Datenbus durchführen
   MEMRD deaktivieren

6. Argument "adresse" lesen (8 Bit)
   Inhalt von PC+1 an Adressleitungen anlegen
   MEMRD aktivieren
   Lesezugriff auf Datenbus durchführen
   MEMRD deaktivieren

7. Argument "adresse" lesen (weitere 8 Bit)
   Inhalt von PC+2 an Adressleitungen anlegen
   MEMRD aktivieren
   Lesezugriff auf Datenbus durchführen
   MEMRD deaktivieren

8. Operation ausführen
   "adresse" an Adressleitungen anlegen
   IOWR aktivieren
   Schreibzugriff auf Datenbus durchführen
   IOWR deaktivieren

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren