Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » HALT Befehl » Themenansicht

Autor Thread - Seiten: -1-
000
25.08.2025, 18:21 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo,

der HALT Befehl braucht 4Takte und erteugt die Refresh Adresse.

Meine Frage ist: reagiert er auch auf den WAIT Eingang?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
25.08.2025, 19:44 Uhr
Larsimsurex

Avatar von Larsimsurex

Aus der z80 Dokumentation:

"... While in the HALT state, the processor executes NOPs to maintain memory refresh logic."

Die Antwort lautet also ja, da er weiterhin ganz normale Befehle ausführt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
25.08.2025, 20:04 Uhr
ambrosius



Lt. Reihe Automatisierungstechnik, Heft 192 "Programmierung des Mikrorechnersystems U880-K1520:

"... Der Halt-Befehl schließlich befördert den Mikroprozessor U880 in den HALT-Zustand, aus dem er nur durch einen Systemreset oder einem Interrupt wieder zu befreien ist. ..."
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
25.08.2025, 20:14 Uhr
Enrico
Default Group and Edit


Das würde aber nicht ausschließen, dass er auf Wait reagiert, und die Zugriffe verlängert.
Logisch betrachtet muss das ja gehen, da die RAMs langsamer sein können als
die CPU-Zyklen, und das bei Halt keinen Unterschied für die RAMs macht.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
26.08.2025, 15:29 Uhr
kaiOr

Avatar von kaiOr

Ja, /RFSH setzt auch im HALT für die Dauer von /WAIT aus.

...und jetzt weiß ich, dass das Display von meinem LC80 kaputt ist.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
27.08.2025, 13:19 Uhr
PIC18F2550

Avatar von PIC18F2550

In der Doku hab ich für Aktionen nur bei IORQ und MERQ gefunden.
Bei RFSH ist der WAIT Status immer egal.

Im HALT Status würde das HALT daher keinen Sinn machen, da es keine R/W Zugiffe auf Speicher oder Ports gibt.

Wenn der OP-Befehl (HALT) gelesen wird ist WAIT möglich.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
27.08.2025, 15:08 Uhr
kaiOr

Avatar von kaiOr

Wir hatten das Thema schon mal irgendwie.

Intern verharrt der U880 zwar im HALT, er ist von den Ports her aber schon einen Schritt weiter und holt in Dauerschleife den Nachfolgebefehl von HALT ran. Also der PC steht schon längst auf +1.

Meine Messung nochmal ausführlich:
Wenn /HALT aktiv Low (nach HALT-Befehl) und /WAIT wird aktiv Low, dann
/RFSH -> dauerhaft inaktiv (High)
/M1, /MREQ und /RD -> dauerhaft aktiv (Low)
A0..A15 -> fest auf der Nachfolgeadresse vom HALT-Befehl
D0..D7 -> fest das nächste Byte im RAM

Grüße,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
27.08.2025, 16:10 Uhr
Early8Bitz

Avatar von Early8Bitz


Zitat:
PIC18F2550 schrieb
In der Doku hab ich für Aktionen nur bei IORQ und MERQ gefunden.
Bei RFSH ist der WAIT Status immer egal.


Man darf das nicht getrennt sehen.
Solange /HALT aktiv ist, führt die CPU Instruction Fetch Zyklen (M1-Zyklen aus).
Diese bestehen aus dem Memory Read in den Takten T1 und T2 und dem Refresh in T3 und T4.
Wird nun /WAIT aktiv, werden solange WAIT-Taktzyklen (Tw) zwischen T2 und T3 eingeschoben,
bis die /WAIT-Leitung wieder inaktiv wird. D.h. in dem betroffenen M1-Zyklus wird das
Speicherlesen so lange 'gestreckt', wie die /WAIT-Leitung aktiv ist und der Refresh-Part
des M1-Zyklus (T3, T4) nach hinten geschoben.
Ausfallen tut das Refresh nicht wirklich.

Aus der Sicht eines DRAM verlängert sich dadurch 'nur' der Abstand zwischen zwei Refresh-Zyklen, bis hin zum Datenverlust, wenn das /WAIT ungebührlich lange aktiv bleibt.
--
Gruß
Ralf

Ist ein alter Schaltkreis ein Schaltgreis?

Dieser Beitrag wurde am 27.08.2025 um 16:12 Uhr von Early8Bitz editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek