Einchipmikrorechner und Signalprozessoren/Testfragen
Zur Navigation springen
Zur Suche springen
Warum gibt es beim DSP mehrere Befehle und beim EµR nur einen Befehl zum Vergleichen?
Eigenschaften | EµR | DSP |
---|---|---|
Vergleichsarten: |
CMP A, B |
CMPEQ A, B, Ziel CMPLT A, B, Ziel CMPGT A, B, Ziel |
Warum gibt es beim DSP nur eine Möglichkeit Sprünge zu bedingen, während es beim EµR mehrere Möglichkeiten gibt?
Eigenschaften | EµR | DSP |
---|---|---|
Sprungarten: |
JMP cc_EQ, Label JMP cc_SLT, Label JMP cc_SGT, Label |
[A] B Label |
Interrupt Abfrage beim EµR
Durch
xxIC.IR ; Interrupt Request
kann man abfragen, ob ein Interrupt ausgelöst wurde. z.B.
JB T6IC.IR, Label ; Bit = 1 wenn Timer T6 seinen Interrupt auslöst
Problem:
Wenn ein Interrupt ausgelöst wird, wird das IR-Bit gesetzt. Vor dem Ausführen des nächsten Befehls werden die IR-Bits überprüft und im nächsten Befehl sofort die zugehörige ISR aufgerufen. Nach deren Abarbeitung der ISR ist das IR-Bit wieder zurückgesetzt.
Frage:
Was bringt eine Abfrage des IR-Bit im Hauptprogramm, wenn es eh immer 0 ist?
Sprünge beim DSP
- Wann wird von wo nach wo gesprungen?
1: B m0 2: NOP 3: B m1 4: m0: NOP 5: NOP 6: NOP 7: NOP 8: NOP 9: m1: NOP 10: NOP
- Warum haben Sprünge die theoretisch schon nach einem Takt abgearbeitet seinen können fünf Delay-Slots?
Parallelität beim DSP
- Ist follgende Parallelisierung möglich?
[A1] .L1 ADD A1, A1, A1 || [!A1] .L1 SUB A1, A1, A1
- Wieviel Befehle können maximal parallel ausgeführt werden? Wodurch werden sie begrenzt?
- Wieviel Befehle passen in ein VLIW?