Akku- und Speichermaschine |
04.01.2016, 22:20 | Auf diesen Beitrag antworten » | ||
Shizmo | Akku- und Speichermaschine So, eine habe ich noch
Schritt für Schritt. Erstmal nur die Akku-Maschine. SHL ist soweit ich weiß Shift-Left, was kann ich damit bewirken? Kann ich damit die "Zahlen" aufteilen oder so? LG |
||
|
|||
05.01.2016, 07:20 | Auf diesen Beitrag antworten » | ||
eulerscheZahl | Wenn du eine Zahl um 16 nach links shiftest, ist das das selbe wie sie mit zu multiplizieren. |
||
05.01.2016, 22:12 | Auf diesen Beitrag antworten » | ||
Shizmo | Aha Was bringt mir das? |
||
06.01.2016, 06:40 | Auf diesen Beitrag antworten » | ||
eulerscheZahl | LOAD A LOAD C MULT //A*C SHL 32 //A*C*2^32 - das ist der erste Summand von E |
||
Anzeige | |||
|
|||
06.01.2016, 23:29 | Auf diesen Beitrag antworten » | ||
Shizmo | Ah okay, Großartig - Aber laut meinen Unterlagen würde bei dir A durch C überschrieben werden, da man nur einmal loaden darf, aber ich denke so dürfte dass dann hinkommen oder? LOAD A MULT C SHL 32 STORE F LOAD B MULT C STORE G LOAD A MULT D ADD G SHL 16 STORE G LOAD B MULT D ADD G ADD F STORE F Anzahl der Instruktionen wären es 17 und Speicherzugriffe 4. Also das wäre jetzt - für was brauche ich Z1 und Z2?? |
||
07.01.2016, 06:57 | Auf diesen Beitrag antworten » | ||
eulerscheZahl | Sieht gut aus. Z1 und Z2 ist die Eingabe, darüber musst du dir keine Gedanken machen. Je nach Kosten für Addition und Multiplikation kannst du es auch mit 3 Multiplikationen lösen. Siehe Karatsuba. |
||
09.01.2016, 20:38 | Auf diesen Beitrag antworten » | ||
Shizmo | Okay super, morgen mach ich weiter mit der Speichermaschine. Wieso steht Z1 und Z2 dann überhaupt in der Angabe? Also wir müssen solche Aufgaben immer an der Tafel vortragen und dann auch erklären, deshalb die Frage |
||
10.01.2016, 09:23 | Auf diesen Beitrag antworten » | ||
eulerscheZahl | Stelle dir einfach vor, du hast 32Bit große Zahlen, aber der Prozessor kann nur 16Bit auf einmal rechnen. Da musst du die Rechnung aufteilen. |
||
10.01.2016, 10:53 | Auf diesen Beitrag antworten » | ||
Shizmo | Alles klar okay danke, ich habs jetzt mal aufgeteilt und Z1 mit Z2 multipliziert und spare mir dadurch 8 Instruktionen, so sollte es doch auch passen oder? (Immer noch Akkumaschine) LOAD A SHL 16 ADD B STORE F LOAD C SHL 16 ADD D MULT F STORE F Wären dann nur 9 Instruktionen und 2 Speicherzugriffe. |
||
10.01.2016, 13:20 | Auf diesen Beitrag antworten » | ||
eulerscheZahl | Bleibt eben die Frage, ob deine Zielarchitektur die Multiplikation zweier 32Bit Zahlen unterstützt. Wenn sie das tut, geht das. |
||
10.01.2016, 17:24 | Auf diesen Beitrag antworten » | ||
Shizmo | So jetzt musst du mir aber trotzdem noch helfen mit der Speicher-Maschine. Also da ich da ja keinen LOAD und STORE befehl habe, brauche ich es nicht laden und die Speicher-Maschine kann es wahrscheinlich zwischenspeichern. Aber wie gehe ich da vor? |
||
10.01.2016, 17:34 | Auf diesen Beitrag antworten » | ||
eulerscheZahl | Da bin ich raus, mit dem Begriff Speichermaschine kann ich gar nichts anfangen. |
||
10.01.2016, 17:36 | Auf diesen Beitrag antworten » | ||
Shizmo | Okay, vielen Dank trotzdem für deinen Einsatz!! |
||
12.01.2016, 13:07 | Auf diesen Beitrag antworten » | ||
Shizmo | Noch als Ergänzung, mit Speichermaschine ist eine Register-Register Maschine gemeint. Also: SHL E A 16 ADD F E B SHL E C 16 ADD G E D MULT E F G LG |
|