2010-02-15 Aufgaben: 1b, 3b, 4

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

2010-02-15 Aufgaben: 1b, 3b, 4
1)

Ich weiss nicht genau was ich hier schreiben soll, glaube meine Antwort passt eher zu SP:

Wird ein Interrupt oder eine Exception ausgeloest, so wird der aktuelle Befehlszaehler auf dem Stack gespeichert, und danach dem Befehlszaehler die Adresse fuer die Behandlungsroutine gegeben. Alle Register, welche von der Routine verwendet werden, werden ebenfalls gespeichert, bevor dann die Routine ablaeuft. Ist ihr eigentlicher Job erledigt, stellt sie die gespeicherten Register wieder her, und beendet sich. Der Programmzaehler wird wieder vom Stack geladen, und der Prozess kann fortgesetzt werden.

Littel: 1 0000 0000
Big: 0000 0000 1000

Stimmt Big so?

Kann mir jmd die Kontroll-Leitungen naher bringen? Werd da auch nicht aus dem Wikipedia eintrag schlauer :frowning:
Sind das zusaetzliche Leitungen, welche die anderen beiden Leitungen ueberwachen, z.b. in dem sie schaun, ob geschrieben oder gelesen wird?

2^30 - das ist der maximal ansprechbare Speicher, oder?


Kontrollleitungen sind „Steuerleitungen“, die z.B sagen ob die ALU addieren oder multiplizieren soll.


  1. Es gibt in dieser Hinsicht einen kleinen Unterschied zwischen Interrupts und Exceptions: Bei Interrupts wird nach dem Rücksprung mit der nächsten Instruktion weitergemacht - bei Exceptions wird die auslösende Instruktion erneut ausgeführt. Effektiv bedeutet das: Bei Interrupts wird der Programmzähler normal weitergezählt, bei Exceptions nicht.

  2. Hm nein, das stimmt so hinten und vorne nicht. Das muss so aussehen:

  • 1:
    00000000 00000001 (Big-Endian)
    00000001 00000000 (Little-Endian)
  • 256:
    00000001 00000000 (Big-Endian)
    00000000 00000001 (Little-Endian)
    Merkregel: Big-Endian ist die intuitive Binärschreibweise, bei Little-Endian sind die Bytes vertauscht.
  1. Hier geht es um Busse, also sind mit Kontrollleitungen MR, MW, IOR und IOW gemeint.

Mit 30 Adressleitungen kann man 2^30 Datenwörter adressieren. Bei 32 Datenleitungen ist jedes Datenwort ist 32 Bits groß, also 4 Bytes. Insgesamt sind also 2^30 * 4 Bytes = 2^32 Bytes adressierbar.


Gehoert mein Teil der Antwort, naemlich, wie so eine Abfangroutine ablaeuft, auch mit zur Loesung? Oder reicht deine Antwort in der Klausur?

Danke schonmal =)


Ich denke, dein Teil der Antwort gehört auch dazu. Ich hab nur ergänzt. :slight_smile:


zu 1): wie heißt es so schön in pulp fiction „too much information“ ( von der eigentlich bedeutung sei hier abzusehen)
gefragt ist ja nur nach dem zusammenhang zum URA: reicht es nicht zu sagen das die Befehlsholphase zusätzlich einen Exception/Intrerrupt Handling beinhaltet. ?!
zu Litttle und Big: gestalte ich mir das hin und herschreiben in hex nicht einfacher?


Vermutlich schon


Soll das Exception nicht eher Trap heissen?


Definitionssache - die einen nennen es so, die anderen anders.
Auf der sicheren Seite sind wir, wenn wir nicht von Interrupts und Traps/Exceptions reden, sondern von asynchronen und synchronen Programmunterbrechungen.