Hallo,
ich habe eine Frage zur Kombination von Speicherbausteinen und Vektorinterrupts: Wenn ein Vektorinterrupt ausgelöst wird, dann legt laut Flik S. 333 der Prozessor den Vektorcode auf A[2:0], damit der Interruptquellbaustein, mittels IACK#=0 benachrichtigt, die Vektornummer auf den Datenbus legen kann.
Muss dann nicht dafür gesorgt werden, dass bei einer Adresse zwischen 0 und 7 der an dieser Adresse angeschlossene Speicherbaustein (idR das ROM) nicht reagiert, um einen Kurzschluss auf dem Datenbus zu vermeiden, also in die Ansteuerlogik des ROM zusätzlich IACK#=1 als Bedingung z.B. für OE aufgenommen werden?
Viele Grüße,
Heiko.
IACK# als Input in Speicherbaustein?
- Rodent Bait
- Mausschubser
- Beiträge: 91
- Registriert: 26. Apr 2005 14:50
- Wohnort: Darmstadt
- Kontaktdaten:
-
- BASIC-Programmierer
- Beiträge: 143
- Registriert: 20. Nov 2004 16:04
kommt drauf an, wie du das OE# deines Roms realisierst. Wenn du z.B. OE# = BE# machst, dann kann es ja sein, das die CPU kein BE# setzt. was da allerdings genau passiert, würde mich dann wohl nur interessieren, wenn ich wirklich ein solches System bauen müsste.
bzw. für den Interrupvorgang brauchst du kein VA#, ohne das deine ROM Bausteine nicht anfangen sollte zu arbeiten.
bzw. für den Interrupvorgang brauchst du kein VA#, ohne das deine ROM Bausteine nicht anfangen sollte zu arbeiten.
Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht.
- Rodent Bait
- Mausschubser
- Beiträge: 91
- Registriert: 26. Apr 2005 14:50
- Wohnort: Darmstadt
- Kontaktdaten:
Im Flik ist nur der asynchrone Fall beschrieben - und da steht, dass der Prozessor immerhin das AS#-Signal setzt, das ist ja ähnlich dem VA#-Signal im synchronen Fall. Aber das BE#-Signal könnte in der Tat der Schlüssel sein.
Mir fällt im Übrigen gerade auf, dass es die Leitungen A[2:0], die im Flik angesprochen sind, im Modellprozessor auch gar nicht gibt... Verwirrung über Verwirrung!
Mir fällt im Übrigen gerade auf, dass es die Leitungen A[2:0], die im Flik angesprochen sind, im Modellprozessor auch gar nicht gibt... Verwirrung über Verwirrung!
-
- BASIC-Programmierer
- Beiträge: 143
- Registriert: 20. Nov 2004 16:04
Die Leitungen A[1:0] gibt es tatsächlich nicht, aber das hab ich vorhin irgendwo (Flik oder Folien) gesehen, dass die Leitungen am Interupt-Controler A[2:0] genannt werden. Diese werden dann mit CPU.A[4:2] verbunden.
Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht.
-
- BASIC-Programmierer
- Beiträge: 143
- Registriert: 20. Nov 2004 16:04
- Rodent Bait
- Mausschubser
- Beiträge: 91
- Registriert: 26. Apr 2005 14:50
- Wohnort: Darmstadt
- Kontaktdaten:
-
- BASIC-Programmierer
- Beiträge: 102
- Registriert: 29. Apr 2005 23:09
Der Interrupt Level wird tatsächlich auf die Adressbits A[4] bis A[2] gelegt. Dabei ist zu beachten, dass die Bits nicht invertiert sind, wie bei den IL-Eingängen. Ein Interrupt Level 7 generiert also 111 auf A[4] bis A[2]. Die höherwertigen Adressbits werden alle auf 1 gesetzt. Im Adressraum sind also die letzten 8 Wörter betroffen.
Abhängig von der Dekodierungslogik zwischen CPU, Speicher und Interruptquellen kann man aber die Adressräume vervielfachen. Das geht z.B. über die Leitung P/D, d.h. es kann einen Adressraum für Programmspeicher und einen weiteren für Datenspeicher geben. Genauso kann man auch mit dem IACK-Signal verfahren. Dann gibt es einen Adressraum für Speicher und einen für Interruptquellen.
Abhängig von der Dekodierungslogik zwischen CPU, Speicher und Interruptquellen kann man aber die Adressräume vervielfachen. Das geht z.B. über die Leitung P/D, d.h. es kann einen Adressraum für Programmspeicher und einen weiteren für Datenspeicher geben. Genauso kann man auch mit dem IACK-Signal verfahren. Dann gibt es einen Adressraum für Speicher und einen für Interruptquellen.
- Rodent Bait
- Mausschubser
- Beiträge: 91
- Registriert: 26. Apr 2005 14:50
- Wohnort: Darmstadt
- Kontaktdaten: