Ungültige Instruktionen auf dem P1

Allgemeine Themen rund um den Propeller Mikrocontroller und Elektronik
Antworten
thiloa
Beiträge: 37
Registriert: So 6. Okt 2019, 21:06

Ungültige Instruktionen auf dem P1

Beitrag von thiloa »

Hallo,

auf dem Propeller 1 gibt es ja mindestens 4 nicht definierte Instruktionen, mit den Instruktionscodes 4-7 (mit Instruktionscode meine ich Bits 31:26 der Instruktion).

Den Verilogdateien nach scheint der Propeller da wie bei den Instruktionen 0-3 (rdbyte,rdword,rdlong,hubop) vom Hub zu lesen, aber vorher den entsprechenden Cog nicht in den Wait State zu wechseln. Man kann damit quasi den aktuellen Wert des Hubs lesen ohne vorher zu warten.

Hat jemand mal das Verhalten dieser Instruktionen auf der Hardware untersucht? Stimmt das so?

Dieses Verhalten ist für meinen Simulator leider etwas ärgerlich... :roll:
Benutzeravatar
Wuerfel_21
Beiträge: 57
Registriert: Di 21. Jan 2020, 19:20

Re: Ungültige Instruktionen auf dem P1

Beitrag von Wuerfel_21 »

Dass die ungenutzen opcodes ALU-seitig den Hub-Instruktionen entsprechen ist mir auch mal aufgefallen, das mit dem Waitstate aber nicht.

Das sollte tatsächlich mal untersucht werden, was da eigentlich passiert. Könnte evtl. sogar nützlich sein? Wenn man solch eine Instruktion wo hin setzt, wo das hubfenster sicher da ist, würde das dann ein Speicherzugriff in 4 Takten sein?

Sollte für deinen Simulator aber eigentlich nicht von Bedeutung sein, hab noch kein existentes Programm gesehen, das diese Instruktionen benutzt. (WRxxxx mit WZ ist da sicherlich die häufigere Quelle von undefiniertem Verhalten).
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Ungültige Instruktionen auf dem P1

Beitrag von PIC18F2550 »

Wenn ich mich richtig erinnere ist die innere Strucktur des P1 nicht für paralleles hub lesen gebaut.
Mann wird da was lesen aber die Wahrscheinlichkeit das der Wert falsch ist ist durch Adress vermischung in hub zwar gering aber warscheinlich.
Bei verwendung nur eines COGs steht da nichts im wege, aber sobald ein anderer mitmischt fangen die Probleme an. :SCHREIEN
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten