Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Technische Informatik » Mehrzyklenimplementierung erweitern » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 3 Beiträge
deppensido

ich habe nochmal nachgedacht und hab mir überlegt, dass der Wort-Offset von imm in der ALU mit der Sprungadresse verechnet werden muss. Demnach steht register im RS-Feld (Bits 25-21) und das RT-Feld (Bits 20-16) wird don't care. Demnach braucht der Multiplexer IordD nicht erweitert werden, da dieser einfach auf 1 gesetzt werden muss. Im Datenpfad müsste dann nur der Multiplexer PCSource um einen dritten Eingang erweitert werden und dieser mit der Leitung von Memory Data Register verbunden werden (siehe Anhang).

Für den Controller habe ich entsprechend für die Execution-Phase die Signale: ALUSource = 1, ALUSourceB=10 und ALUOp = 00 gesetzt. Für die Memory-Access-Phasse: MemRead = 1, IordD = 1 und PCSource = 11 gesetzt. Demnach hat ji einen CPI von 4.

Ist das jetzt alles korrekt?

deppensido hat dieses Bild (verkleinerte Version) angehängt:
Datenpfad.png

deppensido

ich hab jetzt mal meine Ideen im Datenpfad umgesetzt (siehe Anhang). Die Bits für register und imm habe ich dabei in den Adress Eingang des Memory Registers geleitet und das Ergebnis vom Memory Data Register an den Multiplexer vor dem PC geleitet. Unsicher bin ich mir noch, ob ich vom imm-Teil erst das signExtend durchlaufen muss oder nicht, in meinem Fall hab ich das jetzt gemacht, bin mir aber da unsicher. Schaut das sonst so gut aus?

deppensido hat dieses Bild (verkleinerte Version) angehängt:
Loesung.jpg

deppensido Mehrzyklenimplementierung erweitern

hallo,

bei folgender Aufgabe soll man die Mehrzyklenimplementierung um den Befehl: ji imm(register) (für jump indirect) erweitern. Irgendwie komme ich überhaupt nicht voran, weil ich nicht richtig verstehe, was genau bei diesem Befehl passiert. Soweit ich das bisher verstanden habe, steht die Sprungadresse im Register register und ein Offset im imm-Feld, was eine immediate Variable sein dürfte. Dementsprechend habe ich als Instruktionsformat I-Type gewählt, wobei das Feld RS (Bits 25-21) ein don't care Feld ist, RT für das register-Feld (Bits 20 -16) und imm im Immediate-Feld (Bits 15-0). Stimmt das soweit schon mal?

Meine Idee um den Datenpfad zu erweitern: Die Bits 20-16, sowie die Bits 15-0 an den Write Data Eingang vom Memory-Register verbinden und den Ausgang MemData mit der Leitung für den PC verbinden.

Ist dies so schon mal richtig gedacht oder habe ich irgendwo einen Denkfehler?
Vielen dank schon mal.

deppensido hat diese Bilder (verkleinerte Versionen) angehängt:
aufgabem.jpg Datenpfad.png