IACK# als Input in Speicherbaustein?

Benutzeravatar
Rodent Bait
Mausschubser
Mausschubser
Beiträge: 91
Registriert: 26. Apr 2005 14:50
Wohnort: Darmstadt
Kontaktdaten:

IACK# als Input in Speicherbaustein?

Beitrag von Rodent Bait » 14. Dez 2006 18:28

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.

Herrzattacke
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 143
Registriert: 20. Nov 2004 16:04

Beitrag von Herrzattacke » 14. Dez 2006 19:14

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.
Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht.

Benutzeravatar
Rodent Bait
Mausschubser
Mausschubser
Beiträge: 91
Registriert: 26. Apr 2005 14:50
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Rodent Bait » 14. Dez 2006 19:28

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!

Herrzattacke
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 143
Registriert: 20. Nov 2004 16:04

Beitrag von Herrzattacke » 14. Dez 2006 23:05

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.

Herrzattacke
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 143
Registriert: 20. Nov 2004 16:04

Beitrag von Herrzattacke » 14. Dez 2006 23:20

habs gefunden ... Filk seite 334 Grafik 5.38
Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht.

Benutzeravatar
Rodent Bait
Mausschubser
Mausschubser
Beiträge: 91
Registriert: 26. Apr 2005 14:50
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Rodent Bait » 15. Dez 2006 09:52

Ahja, danke. Im Grunde wird also der Adressbus doppelt verwendet, einmal als Adressbus und einmal (die niederwertigsten Bits) als Interruptnummernleitung. Ist ja auch nicht die feine englische Art ;-)

patriquito
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 29. Apr 2005 23:09

Beitrag von patriquito » 15. Dez 2006 10:19

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.

Benutzeravatar
Rodent Bait
Mausschubser
Mausschubser
Beiträge: 91
Registriert: 26. Apr 2005 14:50
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von Rodent Bait » 15. Dez 2006 10:23

>Im Adressraum sind also die letzten 8 Wörter betroffen.
OK, das erklärt, warum das in den Übungsaufgaben nie berücksichtigt wurde, da waren die letzten 8 Wörter sowieso nie mit Speicherbausteinen verbunden.

Antworten

Zurück zu „Archiv“