Ok, das ist nur meine zweite Frage, und es ist ziemlich doof. Es ist für einen Schulauftrag, aber niemand (einschließlich der TAs) scheint mir helfen zu können. Es ist eine große Sache, aber ich bin mir nicht sicher, wohin ich mich sonst wenden soll.
Im Wesentlichen bestand die Aufgabe darin, einen Cache-Simulator zu erstellen. Diese Version ist direktes Mapping und ist eigentlich nur ein kleiner Teil des gesamten Projekts, aber wenn ich das nicht mal durchkriegen kann, habe ich bei anderen Assoziationen keine Chance. Ich poste meinen gesamten Code, weil ich keine Annahmen über das Problem machen möchte.
Dies ist der Testfall: Ссылка
Und Sie führen den folgenden Befehl aus:
./sims 512 direkt 32 fifo wt pinatrace.out
Sie sollten bekommen:
%Vor%Aber ich verstehe:
%Vor%Wenn jemand mir wenigstens in die richtige Richtung zeigen könnte, würde ich es sehr schätzen. Ich bin seit ungefähr 12 Stunden drangeblieben.
%Vor% Sie haben zwei Probleme. Erstens, Scott Wales hat Recht bezüglich Ihrer Funktion hex2bin()
- Sie haben 'x'
, wobei Sie '4'
meinen.
Zweitens zählen Sie einen Cache-Fehltreffer nicht richtig, wenn Sie einen ungültigen Cache-Slot erreichen. Sie können einfach "ungültig" mit genau denselben Codepfad verwenden, den Sie für einen Fehlversuch verwenden:
%Vor%Tags und Links c