
ERA Tut W4
Quiz
•
Computers
•
University
•
Hard
Fichte Hiro
Used 7+ times
FREE Resource
9 questions
Show all answers
1.
MULTIPLE SELECT QUESTION
30 sec • 1 pt
Wir springen innerhalb eines Unterprogramms zum Label success, um ein Ergebnis ins Register a0 zu schreiben und anschließend zurückzuspringen. Welche Befehle eignen sich dafür am besten?
jal success
jal zero, success
j success
jalr zero, success
Answer explanation
Da wir innerhalb einer Funktion springen und direkt im Anschluss returnen, wollen wir hier keine Nebeneffekt (z.B. Überschreiben von ra). jal zero, label und j label überschreiben ra nicht und sind korrekte Befehle.
2.
FILL IN THE BLANK QUESTION
1 min • 2 pts
Gegeben sei eine RISC-V Implementierung folgender C-Funktion mit den üblichen Zahlengrößen:
int facit(long a, long long b, byte c, short d)
Wie viele Register werden für die Übergabe der Parameter benötigt?
Answer explanation
long-Werte sind standardmäßig 64-Bit, brauchen also 2 Register. Long-long Werte sind üblicherweise länger, werden also als Pointer in einem Register übergeben. Alle Werte mit Größe <=32 werden in einem einzelnen Register übergeben. Darum ergeben sich hier 5 Register.
3.
MULTIPLE SELECT QUESTION
30 sec • 1 pt
Was ist der Vorteil von Endrekursion?
Der Befehl tail kann benutzt werden
Die Funktion rechnet schneller
Es gibt weniger Speicherzugriffe
Die Funktion terminiert immer
Answer explanation
Dadurch, dass man ra nicht auf dem Stack speichern muss, verringert sich die Speichernutzung.
tail darf zudem benutzt werden.
4.
MULTIPLE CHOICE QUESTION
20 sec • 1 pt
Gegeben sei eine rekursive Funktion func (nicht endrekursiv). Welche Befehlsfolge führt zu einem korrekten Sprung, wobei die Calling Convention eingehalten wird?
addi sp, sp, -4
sw ra, 0(sp)
jal func
addi sp, sp, 16
sw ra, 0(sp)
jal func
addi sp, sp, -16
sw sp, 0(ra)
jal func
addi sp, sp, -16
sw ra, 0(sp)
jal func
Answer explanation
Der Stack-Pointer muss 16-Bit aligned sein. Wir speichern dann die Return-Adresse und springen rekursiv.
5.
MULTIPLE SELECT QUESTION
1 min • 3 pts
Gegeben sei folgende Funktion. Welche Aussagen treffen zu?
Die Funktion gibt 81 in a0 zurück
Die Funktion terminiert nicht
Die Funktion ist endrekursiv
Die Funktion hält die Calling Convention ein
Answer explanation
Die Funktion berechnet 3^i. Da nach der Abbruchbedingung noch den Stack hochgewandert wird und man in jedem Schritt mit 3 multipliziert, ist die Funktion nicht tailrekursiv. Wegen "addi sp, sp, -4" hält die Funktion die Calling Convention nicht ein.
6.
MULTIPLE SELECT QUESTION
1 min • 2 pts
Gegeben sei folgende Funktion. Welche Aussagen treffen zu?
Die Funktion gibt 2 in a0 zurück
Die Funktion terminiert nicht
Die Funktion ist endrekursiv
Die Funktion gibt 1 in a0 zurück
Answer explanation
lui setzt die unteren 12-Bit des Werts im Register auf 0. Damit ist der Wert in a0 nach jedem Durchgang -1. Damit wird die Abbruchbedingung nie erreicht, womit die Funktion nicht terminiert. Endrekursiv ist die Funktion aber, da nach dem rekursiven Aufruf nichts zusätzlich gemacht wird auf einer Ebene.
7.
MULTIPLE SELECT QUESTION
45 sec • 3 pts
Ein Entwickler veröffentlicht eine Mathe-Library für RISC-V, welche nützliche Funktionen für rechenlästige Anwendungen anbietet. Er hält sich aber nicht an die Calling Convention. Welche Folgen kann dies für die Nutzer haben?
Ihre Programme stürzen ab
Es werden Daten überschrieben
Die Library-Funktionen geben falsche Ergebnisse aus
Es kommt zu Problemen bei Speicherzugriffen (sog. Segmentation Faults)
Answer explanation
Wenn die Return-Adresse überschrieben wird, kann es sein, dass man zu einer Adresse springt, wo keine gültige Instruktion ist, womit das Programm irgendwann abstürzt. Ohne die Calling Convention können die Library-Funktionen auch s-Register überschrieben, womit dort gespeicherte Daten überschrieben werden könnten. Bei Veränderung vom Stack-Pointer durch die Library-Funktion kann es zu Speicherzugriffen auf ungültige Adressen kommen (SegFaults). Die Korrektheit der Ergebnisse der Funktionen haben aber nichts mit der Calling Convention zu tun, sofern die Funktion richtig programmiert wurde.
8.
MULTIPLE SELECT QUESTION
1 min • 2 pts
Die ERA-ÜL entschiedet sich, für die Klausur ein rekursives RISC-V Programm zu entwickeln, welches die Anzahl der Antwortmöglichkeiten bei den Multiple-Choice-Fragen ausrechnet. Blöderweise haben sie vergessen, den Stack nach der Abbruchbedingung nach jedem Schritt nach oben freizugeben. Was kann dies zur Folge haben?
Das Programm terminiert nicht
Das Programm stürzt nach Erreichen der Abbruchsbedingung ab
Keine, obwohl die Calling Convention dadurch nicht eingehalten wird
Das Programm gibt einen falschen Wert zurück
Answer explanation
Es wird beim ersten Schritt nach oben immer an dieselbe Return-Adresse gesprungen. Dadurch kommt das Programm nicht weiter und terminiert nicht.
9.
MULTIPLE SELECT QUESTION
30 sec • 1 pt
risc-v
besser als pgdp
wird bei der klausur geskippt
ja
mag ich nicht
Answer explanation
nice
Similar Resources on Wayground
10 questions
Field Development Project 20212022
Quiz
•
University
8 questions
Raid
Quiz
•
10th Grade - Professi...
11 questions
Marvel Future Fight
Quiz
•
KG - Professional Dev...
10 questions
Registros de propósito específico
Quiz
•
University
8 questions
DES- Encryption
Quiz
•
University
13 questions
docker advance
Quiz
•
University
10 questions
Datentypen, Variablen & Eingabe in Python
Quiz
•
University
10 questions
Stringmethoden in Python
Quiz
•
University
Popular Resources on Wayground
10 questions
Ice Breaker Trivia: Food from Around the World
Quiz
•
3rd - 12th Grade
20 questions
Halloween Trivia
Quiz
•
6th - 8th Grade
25 questions
Multiplication Facts
Quiz
•
5th Grade
4 questions
Activity set 10/24
Lesson
•
6th - 8th Grade
22 questions
Adding Integers
Quiz
•
6th Grade
10 questions
How to Email your Teacher
Quiz
•
Professional Development
15 questions
Order of Operations
Quiz
•
5th Grade
30 questions
October: Math Fluency: Multiply and Divide
Quiz
•
7th Grade
Discover more resources for Computers
10 questions
Halloween Movies Trivia
Quiz
•
5th Grade - University
7 questions
Central Idea of Informational Text
Interactive video
•
4th Grade - University
7 questions
Review for You: Using Commas
Interactive video
•
4th Grade - University
5 questions
Using Context Clues
Interactive video
•
4th Grade - University
20 questions
Definite and Indefinite Articles in Spanish (Avancemos)
Quiz
•
8th Grade - University
7 questions
Force and Motion
Interactive video
•
4th Grade - University
14 questions
Eat Healthy,Be Healty
Quiz
•
4th Grade - University
7 questions
Safari Scholar: Searching for Subject-Verb Agreement
Interactive video
•
4th Grade - University
