<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>RETI - f [2:0]</title>
        <description> Hallo,
Mich plagt auch noch eine Frage, die mir heute beim Lernen nochmal in den Kopf gekommen ist:
Bei Aufgabe 14 gab es doch die 3a), in der man zeigen sollte, wie /f[0]..  /f[2] definiert sind.
Nun ist ja die Lösung 

/f[0] =/I31*/I30*/I26       
/f[1] =/I31*/I30*/I27      
/f[2] =I31+I30+/I28     

Was ich aber nicht verstehe, ist die Tatsache, dass /f[2] invertiert ist. Was ist dafür der genaue Grund?
Grüße</description>
        <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3223#msg-3223</link>
        <lastBuildDate>Tue, 17 Dec 2024 10:32:41 +0100</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3231#msg-3231</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3231#msg-3231</link>
            <description><![CDATA[ Danke für die sehr gute Erklärung =). Ist füt mich jetzt echt verständlich geworden.<br />
MIt freundlichen Grüßen<br />
David Zügel]]></description>
            <dc:creator>David Zügel</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sun, 07 Mar 2010 13:05:50 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3230#msg-3230</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3230#msg-3230</link>
            <description><![CDATA[ ok... sehe die Probleme... daher muss ich doch weiter ausholen:<br />
<br />
was will ich denn mit den f[2:0] erreichen? Ich will, dass die ALU immer richtig eingestellt wird, wenn ich was rechnen will  - nicht nur bei Addition, sondern immer - also auch bei OR, XOR, SUB, usw. <br />
Wie kriege ich das hin? Ich muss dafür sorgen, dass die select-Eingänge der ALU immer korrekt gesetzt sind, den Rest übernimmt dann die ALU. <br />
Wir haben es uns einfach gemacht und gesagt: die Kodierung für die select-Eingänge der ALU entspricht genau der Kodierung der Bits I[28:26] im Befehlswort. <br />
Ein Problem bleibt: diese Bits zeigen nicht immer an, was die ALU machen soll. Z.B. beim MOVE stehen im I[28:26] irgendwelche Registerkodierungen, wenn ich die der ALU gebe, macht die irgendwas - das will ich aber nicht, da auch beim MOVE Datenwörter durch die ALU geschleust werden sollen und &quot;irgendwas&quot; macht diese Wörter unter Umständen kaputt.<br />
<br />
Ich muss also zunächst unterscheiden zwischen: 1) &quot;ich will irgendwas rechnen. Was, das steht in I[28:26]&quot; und 2) &quot;alles andere&quot;.<br />
<br />
zu 1): Also z.B. für f[0]: <br />
&quot;Bei Compute Befehlen (ich will was rechnen)&quot; ( I31 UND I30 müssen gleich &quot;0&quot; sein)<br />
UND &quot;dann soll f[0] gleich I[26] sein&quot; ( also einfach I26 dazu)<br />
Damit: f[0] = /I31 * /I30 * I26<br />
<br />
und auch für die anderen:<br />
<br />
 f[1] = /I31 * /I30 * I27<br />
 f[2] = /I31 * /I30 * I28<br />
<br />
reicht aber nicht, da 2) noch behandelt werden muss.<br />
Wenn ich die Gleichungen so nehme wie oben, würde bei allen anderen Befehlen gelten f[2:0] = [000] (da bei allen anderen Befehlen nicht gleichzeitig I31 und I 30 gleich &quot;0&quot; sind). Das würde bedeuten, dass ich bei allen anderen Befehlen eine Konstante 0 aus der ALU gebe (Siehe Signalkodierung der ALU in Kapitel 10.2). Aber wie oben gesagt: auch bei anderen Befehlen müssen Datenwörter durch die ALU - sollte also nicht Konstant 0 rauskommen.<br />
Was soll die ALU machen, wenn sie nicht &quot;rechnen&quot; soll? Schaut man sich die anderen Befehle und Datenpfade an, erkennt man: sie soll sonst immer addieren - will ich jetzt nicht im Detail ausführen, muss man sich mal kurz anschauen, dann sieht man, dass das gilt.<br />
Addition der ALU heißt: f[2:0] = [011].<br />
Heißt also: f[2] soll nur aktiv (also &quot;1&quot;) sein, bei Compute Befehlen und wenn I28 auch &quot;1&quot; ist und sonst soll es &quot;0&quot; sein. Damit macht die Gleichung aus 1) schon das Gewünschte.<br />
f[1] und f[0] sollen beim &quot;rechnen&quot; I[27:26] ensprechen und bei allen anderen Befehlen soll es aktiv (also &quot;1&quot;) sein. Sie sind also aktiv bei 1) ODER wenn I31 = &quot;1&quot; ODER I30 = &quot;1&quot;<br />
<br />
Also: <br />
f[0] = /I31 * /I30 * I26 + I31 + I30<br />
f[1] = /I31 * /I30 * I27 + I31 + I30<br />
f[2] = /I31 * /I30 * I28<br />
<br />
Und ich behaupte jetzt mal ganz dreist, dass dies genau der Lösung in der Lösungsskizze entspricht.]]></description>
            <dc:creator>Sven Reimer</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sun, 07 Mar 2010 12:40:29 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3229#msg-3229</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3229#msg-3229</link>
            <description><![CDATA[ Ok ^^, bin bissel langsam heute..<br />
Also nach meiner Vorstellung müsste es sich ja an den ADDI Befehl orientieren, was dann so nach meiner Meinug sein müsste:<br />
<br />
ADDI: 000011<br />
<br />
f[0] = /I31+/I30+I26<br />
f[1] = /I31+/I30+I27<br />
f[2] = /I31+/I30+/I28<br />
<br />
/f[0] = I31*I30*/I26<br />
/f[1] = I31*I30*/I27<br />
/f[2] = I31*I30*I28<br />
<br />
Leider stimmt das halt leider nicht mit der Lösung überein... Ist der Ansatz mit ADD falsch?]]></description>
            <dc:creator>David Zügel</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sun, 07 Mar 2010 12:03:13 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3228#msg-3228</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3228#msg-3228</link>
            <description><![CDATA[ Ja .. ist klar, dass  f[0]=I31+I30+I26 invertiert /f[0] = /I31*/I30*/I26 ergibt... das meine ich nicht.<br />
<br />
Die Frage ist, wie DEINE Lösung zu dieser Aufgabe aussehen würde.<br />
Lösungsskizze ausgeblendet, wie sollte f[2:0] deiner Meinung nach aussehen? Auch wenn&#039;s falsch ist, ist ja erstmal egal...]]></description>
            <dc:creator>Sven Reimer</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sun, 07 Mar 2010 11:35:40 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3227#msg-3227</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3227#msg-3227</link>
            <description><![CDATA[ Meine nicht invertierte Lösung wäre ja dann einfach:<br />
<br />
f[0]=I31+I30+I26       <br />
f[1]=I31+I30+I27       <br />
f[2]=/I31*/I30*I28       <br />
<br />
Ich verstehe ja auch, wie f und I im Zusammenhang stehen. Mir ist nur nicht klar, warum bei f[2] genau das Gegenteil als Lösung steht.]]></description>
            <dc:creator>David Zügel</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sun, 07 Mar 2010 11:10:26 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3226#msg-3226</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3226#msg-3226</link>
            <description><![CDATA[ Mal so:<br />
<br />
wie wäre denn deine Lösung für f[2:0] (nicht invertiert)? Und wie sieht dann die/deine Lösung aus für /f[2], /f[1] und /f[0] aus - also mit der obligatorischen PAL-Invertierung? kurze erläuterung, warum deine lösung so aussieht kann auch nicht schaden.<br />
<br />
nur mal soviel... die herausgegebene Lösungsskizze ist da schon korrekt - auch die der *hüstel* fach- *prust* schafts- *räusper* seite.]]></description>
            <dc:creator>Sven Reimer</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sun, 07 Mar 2010 10:43:11 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3225#msg-3225</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3225#msg-3225</link>
            <description><![CDATA[ Naja, habe mir auch die Lösung auf der Fachschaftseite angeschaut und da war das auch so das endgültige Ergbnis... Das irritiert ja auch so.. =/]]></description>
            <dc:creator>David Zügel</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sat, 06 Mar 2010 20:00:05 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3224#msg-3224</guid>
            <title>Re: RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3224#msg-3224</link>
            <description><![CDATA[ David Zügel schrieb:<br />
-------------------------------------------------------<br />
&gt; Hallo,<br />
&gt; Mich plagt auch noch eine Frage, die mir heute<br />
&gt; beim Lernen nochmal in den Kopf gekommen ist:<br />
&gt; Bei Aufgabe 14 gab es doch die 3a), in der man<br />
&gt; zeigen sollte, wie /f[0]..  /f[2] definiert sind.<br />
&gt; Nun ist ja die Lösung <br />
&gt; <br />
&gt; /f[0] =/I31*/I30*/I26       <br />
&gt; /f[1] =/I31*/I30*/I27      <br />
&gt; /f[2] =I31+I30+/I28     <br />
&gt; <br />
&gt; Was ich aber nicht verstehe, ist die Tatsache,<br />
&gt; dass /f[2] invertiert ist. Was ist dafür der<br />
&gt; genaue Grund?<br />
&gt; Grüße<br />
<br />
<br />
Soweit ich weiß , muss nicht nur /f[2] invertiert werden sondern auch f 1 und f2 sind zu invertieren, weil eben eine eigenschaft von pals gleichungen ist.]]></description>
            <dc:creator>Baldini</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sat, 06 Mar 2010 19:53:49 +0100</pubDate>
        </item>
        <item>
            <guid>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3223#msg-3223</guid>
            <title>RETI - f [2:0]</title>
            <link>https://ira.informatik.uni-freiburg.de/phorum/read.php?56,3223,3223#msg-3223</link>
            <description><![CDATA[ Hallo,<br />
Mich plagt auch noch eine Frage, die mir heute beim Lernen nochmal in den Kopf gekommen ist:<br />
Bei Aufgabe 14 gab es doch die 3a), in der man zeigen sollte, wie /f[0]..  /f[2] definiert sind.<br />
Nun ist ja die Lösung <br />
<br />
/f[0] =/I31*/I30*/I26       <br />
/f[1] =/I31*/I30*/I27      <br />
/f[2] =I31+I30+/I28     <br />
<br />
Was ich aber nicht verstehe, ist die Tatsache, dass /f[2] invertiert ist. Was ist dafür der genaue Grund?<br />
Grüße]]></description>
            <dc:creator>David Zügel</dc:creator>
            <category>Technische Informatik WS 2009/10</category>
            <pubDate>Sat, 06 Mar 2010 18:26:48 +0100</pubDate>
        </item>
    </channel>
</rss>
