Computer-Architektur Hausaufgabe Lösung

Als ich am 03 Oktober 2016 mein Promotionstudium angefangen habe, hat mir sehr viel Spaß gemacht den Fach Computer-Architektur für 2 Gruppen Bachelor Studenten im dritten Semester im Laborator von Politehnica Universität in Timisoara, Rumänien zu lehren. Mit  Unterstüzung von Prof.em.dr.ing. Mircea Vlăduțiu und Prof.dr.ing. Flavius Oprițoiu recherchiere ich zur Zeit Hardware-Implementierungen von Deep Learning Algorithmen.

Ein paar Tagen vorher, ein ex Student von mir hat mich nach Vorschlägen gefragt was eine Hausaufgabe betrifft. Ich werde Sie kurzlich unten presentieren, auf Englisch:

Dazu noch das Kommentar für den Punkt b):

Hier auch die andere Aufgabe:

Er hat mir auch 2 Links als Referenz für diese Hausaufgabe gegeben und zwar:

http://www.microchip.com/mplab/mplab-x-ide

https://www.edumips.org/

Meine Lösung vorschlagen  waren:

Exercise 2

Part a)
Descriptions of instructions
Add: add r1, r2, r3
Add the values of two registers r2 and r3 and store the result in r1.

Subtract: sub r1, r2, r3
Subtract the values of two registers r2 and r3 and store the result in r1.

Xor: xor r1, r2, r3
Xor the values of two register r2 and r3 and store the result in r1.

Or: or r1, r2, r3
Or the values of two register r2 and r3 and store the result in r1.

And: and r1, r2, r3
And the values of two register r2 and r3 and store the result in r1.

Load: lb r1, constant(r2)
Add constant and r2 to get the memory address and save data from that
memory address to r1.

Store: sb r1, constant(r2)
Add constant and r2 to get the memory address and save data from r1 to that memory address.

Part b)
Data Path.

Part c)
Clear contents of memory location X.

Sub r1, r1, r1 ; make register r1 zero
Sb r1, X ; store zero to X memory location

Exercise 3

Optimized Code.
.data
var1: .word 0,0
.code

addi r0,r0,0
addi r6,r6,8
addi r3,r3,1
addi r2,r2,5

lb r4, var1(r0)
lb r5, var1(r6)

loopy:
addi r4,r4,1
addi r5,r5,2
sub r2,r2,r3
bgez r2,loopy

sb r4, var1(r0)
sb r5, var1(r6)
syscall 0 ; exits

Stats:

56 Cycles
33 Instructions
1.696 CPI
13 Stalls

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .